From c7315700320d23b3a982d44c0fafe737fda567af Mon Sep 17 00:00:00 2001 From: Arsen Mirzaev Tatyano-Muradovich Date: Thu, 10 Jul 2025 04:35:51 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D1=81=D0=BB=D0=B5=D0=B4=D0=BD?= =?UTF-8?q?=D1=8F=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D1=81=20?= =?UTF-8?q?=D1=81=D0=B5=D1=80=D0=B2=D0=B5=D1=80=D0=B0=20=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=88=D0=BB=D0=BE=D0=B3=D0=BE=20=D1=80=D0=B0=D0=B7=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=87=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 66 + .eslintignore | 2 + .eslintrc.js | 58 + .gitattributes | 5 + .gitignore | 42 + .php-cs-fixer.dist.php | 21 + .styleci.yml | 13 + README.md | 62 + app/Console/Commands/AutoSubscribeApp.php | 92 + .../Commands/AutoSubscribePaidUsers.php | 182 + app/Console/Kernel.php | 43 + app/Domain/Comments/Models/Comment.php | 45 + .../Observers/NovaCommentObserver.php | 20 + .../Complaints/Models/CommentComplaint.php | 32 + app/Domain/Complaints/Models/Complaint.php | 36 + app/Domain/Complaints/Models/Reason.php | 10 + .../Observers/ComplaintObserver.php | 14 + app/Domain/Feeds/Action/CreateFeedAction.php | 29 + .../Feeds/DataTransferObjects/FeedData.php | 136 + .../FeedDataCollection.php | 12 + .../Feeds/Enums/CollectionMediaEnum.php | 21 + app/Domain/Feeds/Enums/StatusEnum.php | 23 + app/Domain/Feeds/Models/Feed.php | 76 + app/Domain/Feeds/Observers/FeedObserver.php | 40 + .../Feeds/Observers/NovaFeedAdsObserver.php | 19 + .../Feeds/Observers/NovaFeedObserver.php | 61 + app/Domain/Feeds/Queries/FeedQueryBuilder.php | 262 + .../Feeds/Service/FeedMediaTransform.php | 139 + app/Domain/Feeds/Service/LiveFeed.php | 38 + app/Domain/Feeds/ToFeedAction.php | 8 + .../Images/Action/CreateImageAction.php | 40 + .../Images/Action/UpdateImageAction.php | 68 + .../Images/DataTransferObjects/ImageData.php | 41 + app/Domain/Images/Models/Image.php | 32 + app/Domain/Medias/Models/TeaserMedia.php | 17 + app/Domain/Messenger/Models/ChatRoom.php | 25 + app/Domain/Messenger/Models/Message.php | 24 + .../Musics/Action/CreateMusicAction.php | 70 + .../Musics/Action/UpdateMusicAction.php | 95 + .../Musics/DataTransferObjects/MusicData.php | 51 + app/Domain/Musics/Models/Music.php | 32 + .../Models/PaymentGatewayOrder.php | 70 + .../Services/InterkassaService.php | 25 + .../PaymentGateway/Services/QiwiService.php | 27 + .../Services/UnitpayService.php | 66 + .../Services/YookassaService.php | 65 + app/Domain/Payments/Models/BankRequisites.php | 19 + app/Domain/Payments/Models/Requisites.php | 19 + app/Domain/Payments/Models/Withdrawal.php | 63 + .../Payments/Observers/WithdrawalObserver.php | 24 + app/Domain/Points/Enums/DirectionEnum.php | 21 + app/Domain/Points/Models/Point.php | 14 + app/Domain/Subscriptions/Models/Package.php | 10 + .../Subscriptions/Models/Subscription.php | 23 + .../Service/SubscriptionService.php | 106 + app/Domain/Tags/Action/CreateTagAction.php | 39 + app/Domain/Tags/Models/Tag.php | 16 + .../Users/DataTransferObjects/UserData.php | 34 + app/Domain/Users/Models/UserPackage.php | 11 + app/Domain/Users/Observers/UserObserver.php | 54 + .../Users/Service/ProfileDataService.php | 56 + .../Videos/Action/CreateVideoAction.php | 52 + .../Videos/Action/UpdateVideoAction.php | 74 + .../Videos/DataTransferObjects/VideoData.php | 46 + app/Domain/Videos/Models/Video.php | 30 + app/Domain/Votes/Models/Vote.php | 14 + app/Domain/Votes/Observers/VoteObserver.php | 22 + app/Domain/Votes/Services/VoteService.php | 180 + app/Domain/Votes/Services/VoteServiceOld.php | 155 + app/Events/FeedAddProcessed.php | 40 + app/Events/FeedRemoveProcessed.php | 40 + app/Events/FeedUpdateProcessed.php | 40 + app/Exceptions/Handler.php | 51 + .../Auth/AuthenticatedSessionController.php | 54 + .../EmailVerificationPromptController.php | 25 + .../Auth/NewPasswordController.php | 66 + .../Auth/PasswordResetLinkController.php | 43 + .../Auth/RegisteredUserController.php | 60 + .../Auth/VerifyEmailController.php | 34 + app/Http/Controllers/CommentController.php | 151 + app/Http/Controllers/ComplaintController.php | 101 + app/Http/Controllers/Controller.php | 13 + app/Http/Controllers/DashboardController.php | 92 + app/Http/Controllers/FeedsController.php | 234 + app/Http/Controllers/ImagesController.php | 165 + app/Http/Controllers/MessengerController.php | 331 + app/Http/Controllers/MoneyController.php | 326 + app/Http/Controllers/MusicsController.php | 221 + app/Http/Controllers/ProfileController.php | 266 + app/Http/Controllers/PurchaseController.php | 98 + app/Http/Controllers/RequisitesController.php | 32 + app/Http/Controllers/SettingController.php | 376 + app/Http/Controllers/StaticController.php | 134 + app/Http/Controllers/TagController.php | 136 + .../Controllers/UserPackageController.php | 101 + app/Http/Controllers/UsersController.php | 494 + app/Http/Controllers/VideosController.php | 172 + app/Http/Kernel.php | 71 + app/Http/Middleware/Authenticate.php | 21 + app/Http/Middleware/CheckSubscribeUser.php | 43 + app/Http/Middleware/EncryptCookies.php | 17 + app/Http/Middleware/EnsureEmailIsVerified.php | 34 + app/Http/Middleware/HandleInertiaRequests.php | 117 + .../PreventRequestsDuringMaintenance.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 31 + app/Http/Middleware/TrimStrings.php | 18 + app/Http/Middleware/TrustHosts.php | 20 + app/Http/Middleware/TrustProxies.php | 23 + app/Http/Middleware/VerifyCsrfToken.php | 17 + app/Http/Requests/Auth/LoginRequest.php | 93 + app/Http/Requests/ImageFormRequest.php | 43 + app/Http/Requests/MusicFormRequest.php | 45 + app/Http/Requests/TextFormRequest.php | 31 + app/Http/Requests/VideoFormRequest.php | 44 + app/Listeners/AddFeedUsers.php | 56 + app/Listeners/RemoveFeedUsers.php | 31 + app/Listeners/UpdateFeedUsers.php | 31 + app/Mail/AfterReigsterToAdmin.php | 36 + app/Mail/FeedbackToAdmin.php | 37 + app/Models/Model.php | 20 + app/Models/User.php | 226 + app/Notifications/BannedMessageFeed.php | 50 + app/Notifications/CommentAdded.php | 47 + app/Notifications/LeaderChoice.php | 49 + app/Notifications/LikeAdded.php | 47 + app/Notifications/PurchaseAdded.php | 50 + app/Notifications/RemoveFeed.php | 45 + app/Notifications/Subscribed.php | 49 + .../UserCustomPaidSubscription.php | 49 + app/Notifications/urchaseChoice.php | 61 + app/Nova/Comment.php | 106 + app/Nova/Complaint.php | 140 + app/Nova/ComplaintComment.php | 124 + app/Nova/Feed.php | 150 + app/Nova/FeedAds.php | 126 + app/Nova/FeedApproved.php | 177 + app/Nova/Filters/StatusWithdrawalFilter.php | 54 + app/Nova/Filters/SubscriptionStatusFilter.php | 73 + app/Nova/Package.php | 102 + app/Nova/Point.php | 110 + app/Nova/Reason.php | 94 + app/Nova/Resource.php | 59 + app/Nova/User.php | 172 + app/Nova/Vote.php | 124 + app/Nova/Withdrawal.php | 167 + app/Policies/CommentComplaintPolicy.php | 107 + app/Policies/CommentPolicy.php | 114 + app/Policies/ComplaintPolicy.php | 107 + app/Policies/FeedPolicy.php | 118 + app/Policies/PackagePolicy.php | 103 + app/Policies/PermissionPolicy.php | 103 + app/Policies/PointPolicy.php | 108 + app/Policies/ReasonPolicy.php | 104 + app/Policies/RolePolicy.php | 102 + app/Policies/UserPolicy.php | 101 + app/Policies/VotePolicy.php | 106 + app/Policies/WithdrawalPolicy.php | 108 + app/Providers/AppServiceProvider.php | 33 + app/Providers/AuthServiceProvider.php | 30 + app/Providers/BroadcastServiceProvider.php | 21 + app/Providers/EloquentServiceProvider.php | 42 + app/Providers/EventServiceProvider.php | 51 + app/Providers/NovaServiceProvider.php | 136 + app/Providers/RouteServiceProvider.php | 52 + app/Rules/LoadedMedia.php | 58 + app/Support/Sms/SmsApi.php | 9 + app/Support/Sms/SmsRu.php | 39 + app/Support/helpers.php | 13 + artisan | 53 + bootstrap/app.php | 55 + bootstrap/cache/.gitignore | 2 + composer.json | 94 + composer.lock | 10836 +++++++++++ config/app.php | 238 + config/auth.php | 117 + config/broadcasting.php | 64 + config/cache.php | 110 + config/cors.php | 34 + config/database.php | 147 + config/debugbar.php | 233 + config/filesystems.php | 73 + config/hashing.php | 52 + config/logging.php | 105 + config/mail.php | 110 + config/media-library.php | 189 + config/nova-media-library.php | 5 + config/nova.php | 150 + config/permission.php | 143 + config/queue.php | 93 + config/services.php | 33 + config/session.php | 201 + config/view.php | 36 + database/.gitignore | 1 + database/factories/UserFactory.php | 47 + .../2014_10_12_000000_create_users_table.php | 47 + ...12_100000_create_password_resets_table.php | 32 + ..._08_19_000000_create_failed_jobs_table.php | 36 + .../2021_04_23_092024_create_videos_table.php | 32 + .../2021_04_23_094732_create_images_table.php | 32 + .../2021_04_23_095123_create_feeds_table.php | 34 + ...021_04_23_122918_create_comments_table.php | 34 + ..._04_27_142502_create_subscribers_table.php | 38 + .../2021_05_03_074535_create_musics_table.php | 32 + ...1_05_07_155337_create_сomplaints_table.php | 37 + ...2021_05_07_193737_create_reasons_table.php | 32 + .../2021_05_11_155804_create_points_table.php | 42 + ...021_05_13_101854_create_packages_table.php | 34 + ...5_13_101959_create_subscriptions_table.php | 40 + .../2021_05_14_074644_create_votes_table.php | 35 + ...21_05_14_074725_create_vote_user_table.php | 37 + ...152547_create_table_user_feed_purchase.php | 38 + .../2021_06_30_051702_create_media_table.php | 32 + ..._06_30_051819_create_permission_tables.php | 114 + ...21_07_01_095338_create_feed_like_table.php | 34 + ...7_01_140940_create_feed_comments_table.php | 35 + ...1_09_01_113740_add_column_user_private.php | 32 + ..._02_120041_add_column_comments_to_user.php | 32 + ...9_06_061125_create_notifications_table.php | 37 + .../2021_09_08_043014_create_tags_table.php | 33 + ...21_09_08_043720_create_feed_tags_table.php | 35 + .../2021_09_10_102256_add_columns_feed.php | 44 + ...5_080713_create_table_users_live_feeds.php | 37 + ...1_09_23_062309_create_user_audio_table.php | 37 + ...1_09_26_071548_modify_complaints_table.php | 40 + ...021_11_17_080502_create_messages_table.php | 37 + ...1_11_17_080625_create_chat_rooms_table.php | 33 + ..._17_082203_create_user_chat_room_table.php | 34 + ..._12_29_105004_create_user_banned_table.php | 34 + ...2_29_125607_add_column_room_chat_table.php | 32 + ...06_create_payment_gateway_orders_table.php | 37 + ...2_01_19_091929_create_requisites_table.php | 35 + ..._01_19_092213_create_withdrawals_table.php | 41 + ...19_093845_create_bank_requisites_table.php | 35 + ...5_083847_update_feed_table_soft_delete.php | 32 + ...022_02_11_085749_update_comments_table.php | 36 + ...2_02_11_131605_update_complaints_table.php | 34 + ...161952_create_comment_complaints_table.php | 42 + .../2022_11_01_140050_add_order_number.php | 32 + ...1_01_172349_create_user_packages_table.php | 36 + ...2_create_users_package_customers_table.php | 41 + .../2022_11_01_173444_update_points_table.php | 33 + ...22_11_01_173933_add_column_users_table.php | 34 + ...22_12_30_061120_add_column_feeds_table.php | 32 + ...4_26_082840_add_validation_users_table.php | 38 + ...23_09_12_055733_add_status_feeds_table.php | 34 + ..._10_071036_create_feed_user_view_table.php | 34 + .../2024_06_10_071255_add_feed_view_count.php | 32 + .../2024_06_10_103252_add_feed_is_ads.php | 32 + .../2024_07_11_115133_add_user_table_inn.php | 36 + ...025_02_25_075757_add_user_type_columns.php | 32 + database/schema/pgsql-schema.dump | Bin 0 -> 55995 bytes database/seeders/DatabaseSeeder.php | 18 + docker-compose.yml | 44 + docker/8.0/Dockerfile | 70 + docker/8.0/php.ini | 5 + docker/8.0/start-container | 26 + docker/8.0/supervisord.conf | 14 + docker/8.1/Dockerfile | 69 + docker/8.1/Dockerfile:Zone.Identifier | 0 docker/8.1/php.ini | 5 + docker/8.1/php.ini:Zone.Identifier | 0 docker/8.1/start-container | 26 + docker/8.1/start-container:Zone.Identifier | 0 docker/8.1/supervisord.conf | 14 + docker/8.1/supervisord.conf:Zone.Identifier | 0 docker/8.2/Dockerfile | 70 + docker/8.2/Dockerfile:Zone.Identifier | 0 docker/8.2/php.ini | 5 + docker/8.2/php.ini:Zone.Identifier | 0 docker/8.2/start-container | 26 + docker/8.2/start-container:Zone.Identifier | 0 docker/8.2/supervisord.conf | 14 + docker/8.2/supervisord.conf:Zone.Identifier | 0 docker/8.3/Dockerfile | 71 + docker/8.3/Dockerfile:Zone.Identifier | 0 docker/8.3/php.ini | 5 + docker/8.3/php.ini:Zone.Identifier | 0 docker/8.3/start-container | 26 + docker/8.3/start-container:Zone.Identifier | 0 docker/8.3/supervisord.conf | 14 + docker/8.3/supervisord.conf:Zone.Identifier | 0 docker/8.4/Dockerfile | 72 + docker/8.4/Dockerfile:Zone.Identifier | 0 docker/8.4/php.ini | 5 + docker/8.4/php.ini:Zone.Identifier | 0 docker/8.4/start-container | 26 + docker/8.4/start-container:Zone.Identifier | 0 docker/8.4/supervisord.conf | 14 + docker/8.4/supervisord.conf:Zone.Identifier | 0 docker/mariadb/create-testing-database.sh | 6 + ...create-testing-database.sh:Zone.Identifier | 0 docker/mysql/create-testing-database.sh | 6 + ...create-testing-database.sh:Zone.Identifier | 0 docker/pgsql/create-testing-database.sql | 2 + ...reate-testing-database.sql:Zone.Identifier | 0 jsconfig.json | 28 + nova-components/NovaLeader/.gitignore | 2 + nova-components/NovaLeader/composer.json | 29 + nova-components/NovaLeader/package-lock.json | 15100 ++++++++++++++++ nova-components/NovaLeader/package.json | 19 + .../NovaLeader/resources/js/card.js | 3 + .../resources/js/components/Card.vue | 54 + .../NovaLeader/resources/sass/card.scss | 1 + nova-components/NovaLeader/routes/api.php | 19 + .../NovaLeader/src/CardServiceProvider.php | 54 + nova-components/NovaLeader/src/NovaLeader.php | 52 + nova-components/NovaLeader/webpack.mix.js | 6 + nova/.babelrc | 14 + nova/.env.dusk.example | 47 + nova/.eslintrc | 28 + nova/.prettierrc | 22 + nova/composer.json | 88 + nova/config/nova.php | 150 + ...1_01_000000_create_action_events_table.php | 46 + ...0000_add_fields_to_action_events_table.php | 33 + nova/mix-manifest.json | 3 + nova/package.json | 63 + nova/phpunit.dusk.xml.dist | 22 + nova/public/app.css | 1 + nova/public/app.js | 1 + nova/public/manifest.js | 1 + nova/public/mix-manifest.json | 6 + nova/public/vendor.js | 1 + nova/readme.md | 10 + nova/resources/css/app.css | 1002 + nova/resources/js/Nova.js | 226 + .../js/__tests__/ActionSelector.spec.js | 30 + .../__snapshots__/ActionSelector.spec.js.snap | 24 + .../__tests__/fields/BelongsToField.spec.js | 349 + .../js/__tests__/fields/MorphToField.spec.js | 603 + .../js/__tests__/views/ResourceIndex.spec.js | 66 + .../js/__tests__/views/UpdateAttached.spec.js | 46 + .../__snapshots__/ResourceIndex.spec.js.snap | 3 + .../__snapshots__/UpdateAttached.spec.js.snap | 3 + nova/resources/js/app.js | 42 + nova/resources/js/components.js | 204 + .../js/components/ActionSelector.vue | 124 + nova/resources/js/components/Badge.vue | 24 + .../resources/js/components/BooleanOption.vue | 53 + nova/resources/js/components/Card.vue | 3 + nova/resources/js/components/CardWrapper.vue | 78 + nova/resources/js/components/Cards.vue | 62 + .../js/components/Cards/HelpCard.vue | 225 + .../js/components/CheckboxWithLabel.vue | 25 + .../js/components/Controls/SelectControl.vue | 68 + nova/resources/js/components/CreateForm.vue | 374 + .../js/components/CreateResourceButton.vue | 96 + .../js/components/CustomAttachHeader.vue | 9 + .../js/components/CustomCreateHeader.vue | 9 + .../js/components/CustomDashboardHeader.vue | 9 + .../js/components/CustomDetailHeader.vue | 9 + .../js/components/CustomDetailToolbar.vue | 9 + .../js/components/CustomIndexHeader.vue | 9 + .../js/components/CustomIndexToolbar.vue | 9 + .../js/components/CustomLensHeader.vue | 9 + .../components/CustomUpdateAttachedHeader.vue | 9 + .../js/components/CustomUpdateHeader.vue | 9 + .../js/components/DateTimePicker.vue | 107 + nova/resources/js/components/DeleteButton.vue | 16 + nova/resources/js/components/DeleteMenu.vue | 231 + .../js/components/Detail/BadgeField.vue | 23 + .../js/components/Detail/BelongsToField.vue | 27 + .../components/Detail/BelongsToManyField.vue | 29 + .../js/components/Detail/BooleanField.vue | 34 + .../components/Detail/BooleanGroupField.vue | 55 + .../js/components/Detail/CodeField.vue | 121 + .../js/components/Detail/CurrencyField.vue | 9 + .../js/components/Detail/DateField.vue | 24 + .../js/components/Detail/DateTimeField.vue | 27 + .../js/components/Detail/FileField.vue | 101 + .../js/components/Detail/HasManyField.vue | 29 + .../components/Detail/HasManyThroughField.vue | 29 + .../js/components/Detail/HasOneField.vue | 29 + .../components/Detail/HasOneThroughField.vue | 29 + .../js/components/Detail/HeadingField.vue | 40 + .../js/components/Detail/HiddenField.vue | 9 + .../js/components/Detail/KeyValueField.vue | 46 + .../js/components/Detail/MarkdownField.vue | 21 + .../Detail/MorphToActionTargetField.vue | 32 + .../js/components/Detail/MorphToField.vue | 32 + .../js/components/Detail/MorphToManyField.vue | 29 + nova/resources/js/components/Detail/Panel.vue | 89 + .../js/components/Detail/PasswordField.vue | 13 + .../components/Detail/RelationshipPanel.vue | 24 + .../js/components/Detail/SparklineField.vue | 91 + .../js/components/Detail/StackField.vue | 34 + .../js/components/Detail/StatusField.vue | 38 + .../js/components/Detail/TextField.vue | 9 + .../js/components/Detail/TextareaField.vue | 17 + .../js/components/Detail/TrixField.vue | 13 + nova/resources/js/components/Dropdown.vue | 62 + nova/resources/js/components/DropdownMenu.vue | 37 + .../js/components/DropdownTrigger.vue | 42 + nova/resources/js/components/Excerpt.vue | 64 + .../js/components/FadeTransition.vue | 3 + nova/resources/js/components/FilterMenu.vue | 210 + .../js/components/Filters/BooleanFilter.vue | 56 + .../js/components/Filters/DateFilter.vue | 77 + .../js/components/Filters/SelectFilter.vue | 59 + .../js/components/Form/BelongsToField.vue | 396 + .../js/components/Form/BooleanField.vue | 50 + .../js/components/Form/BooleanGroupField.vue | 76 + .../js/components/Form/CancelButton.vue | 15 + .../js/components/Form/CodeField.vue | 141 + .../components/Form/CreateRelationButton.vue | 16 + .../js/components/Form/CurrencyField.vue | 60 + .../js/components/Form/DateField.vue | 82 + .../js/components/Form/DateTimeField.vue | 106 + .../js/components/Form/DefaultField.vue | 74 + .../js/components/Form/FieldWrapper.vue | 12 + .../js/components/Form/FileField.vue | 339 + .../js/components/Form/HeadingField.vue | 42 + .../resources/js/components/Form/HelpText.vue | 7 + .../js/components/Form/HiddenField.vue | 13 + .../Form/KeyValueField/KeyValueField.vue | 155 + .../Form/KeyValueField/KeyValueHeader.vue | 28 + .../Form/KeyValueField/KeyValueItem.vue | 109 + .../Form/KeyValueField/KeyValueTable.vue | 23 + nova/resources/js/components/Form/Label.vue | 15 + .../js/components/Form/MarkdownField.vue | 382 + .../js/components/Form/MorphToField.vue | 472 + nova/resources/js/components/Form/Panel.vue | 95 + .../js/components/Form/PasswordField.vue | 25 + .../js/components/Form/PlaceField.vue | 394 + .../js/components/Form/SelectField.vue | 146 + .../js/components/Form/SlugField.vue | 84 + .../js/components/Form/StatusField.vue | 43 + .../js/components/Form/TextField.vue | 61 + .../js/components/Form/TextareaField.vue | 46 + .../js/components/Form/TrixField.vue | 166 + nova/resources/js/components/GlobalSearch.vue | 332 + nova/resources/js/components/Heading.vue | 24 + nova/resources/js/components/Icons/Add.vue | 5 + .../js/components/Icons/BooleanIcon.vue | 41 + .../js/components/Icons/CheckCircle.vue | 5 + nova/resources/js/components/Icons/Delete.vue | 6 + .../js/components/Icons/Download.vue | 5 + nova/resources/js/components/Icons/Edit.vue | 5 + .../js/components/Icons/Editor/Bold.vue | 7 + .../js/components/Icons/Editor/FullScreen.vue | 7 + .../js/components/Icons/Editor/Image.vue | 7 + .../js/components/Icons/Editor/Italic.vue | 5 + .../js/components/Icons/Editor/Link.vue | 7 + nova/resources/js/components/Icons/Filter.vue | 6 + .../js/components/Icons/ForceDelete.vue | 6 + nova/resources/js/components/Icons/Help.vue | 9 + nova/resources/js/components/Icons/Icon.vue | 42 + nova/resources/js/components/Icons/Loader.vue | 95 + nova/resources/js/components/Icons/Menu.vue | 5 + nova/resources/js/components/Icons/More.vue | 5 + nova/resources/js/components/Icons/Play.vue | 6 + .../resources/js/components/Icons/Refresh.vue | 5 + .../resources/js/components/Icons/Restore.vue | 5 + nova/resources/js/components/Icons/Search.vue | 6 + nova/resources/js/components/Icons/View.vue | 5 + .../resources/js/components/Icons/XCircle.vue | 5 + nova/resources/js/components/ImageLoader.vue | 95 + .../js/components/Index/BadgeField.vue | 15 + .../js/components/Index/BelongsToField.vue | 28 + .../js/components/Index/BooleanField.vue | 11 + .../js/components/Index/BooleanGroupField.vue | 61 + .../js/components/Index/Checkbox.vue | 24 + .../js/components/Index/CurrencyField.vue | 24 + .../js/components/Index/DateField.vue | 24 + .../js/components/Index/DateTimeField.vue | 27 + .../js/components/Index/FakeCheckbox.vue | 13 + .../js/components/Index/FileField.vue | 27 + .../js/components/Index/HeadingField.vue | 9 + .../js/components/Index/HiddenField.vue | 9 + .../resources/js/components/Index/IdField.vue | 33 + .../components/Index/InlineActionSelector.vue | 95 + .../js/components/Index/LineField.vue | 26 + .../Index/MorphToActionTargetField.vue | 38 + .../js/components/Index/MorphToField.vue | 30 + .../js/components/Index/PasswordField.vue | 13 + .../js/components/Index/ResourceTableRow.vue | 250 + .../js/components/Index/SortableIcon.vue | 131 + .../js/components/Index/SparklineField.vue | 88 + .../js/components/Index/StackField.vue | 32 + .../js/components/Index/StatusField.vue | 17 + .../js/components/Index/TextField.vue | 24 + nova/resources/js/components/LensSelector.vue | 22 + nova/resources/js/components/Loading.vue | 103 + nova/resources/js/components/LoadingCard.vue | 38 + nova/resources/js/components/LoadingView.vue | 24 + .../Metrics/Base/PartitionMetric.vue | 198 + .../components/Metrics/Base/TrendMetric.vue | 211 + .../components/Metrics/Base/ValueMetric.vue | 202 + .../js/components/Metrics/MetricBehavior.js | 16 + .../js/components/Metrics/PartitionMetric.vue | 89 + .../js/components/Metrics/TrendMetric.vue | 162 + .../js/components/Metrics/ValueMetric.vue | 152 + nova/resources/js/components/Modal.vue | 82 + .../components/Modals/ConfirmActionModal.vue | 134 + .../Modals/ConfirmUploadRemovalModal.vue | 63 + .../components/Modals/CreateRelationModal.vue | 67 + .../components/Modals/DeleteResourceModal.vue | 86 + .../Modals/RestoreResourceModal.vue | 65 + .../components/Pagination/PaginationLinks.vue | 175 + .../Pagination/PaginationLoadMore.vue | 82 + .../Pagination/PaginationSimple.vue | 108 + nova/resources/js/components/PanelItem.vue | 57 + .../js/components/ProgressButton.vue | 34 + .../js/components/ResourcePollingButton.vue | 53 + .../resources/js/components/ResourceTable.vue | 184 + nova/resources/js/components/ScrollWrap.vue | 24 + nova/resources/js/components/SearchInput.vue | 294 + nova/resources/js/components/Tooltip.vue | 64 + .../js/components/TooltipContent.vue | 23 + nova/resources/js/components/Trix.vue | 59 + .../js/components/ValidationErrors.vue | 24 + nova/resources/js/fields.js | 313 + nova/resources/js/mixins/HandlesActions.js | 248 + nova/resources/js/mixins/HandlesUploads.js | 25 + nova/resources/js/mixins/HasActions.js | 59 + nova/resources/js/mixins/Localization.js | 44 + nova/resources/js/mixins/ThemingClasses.js | 7 + nova/resources/js/plugins/axios.js | 3 + nova/resources/js/plugins/index.js | 3 + nova/resources/js/plugins/lodash.js | 6 + nova/resources/js/plugins/moment.js | 6 + nova/resources/js/polyfills/composedPath.js | 54 + nova/resources/js/router/index.js | 108 + nova/resources/js/router/routes.js | 121 + .../js/storage/BelongsToFieldStorage.js | 12 + .../js/storage/MorphToFieldStorage.js | 13 + .../__mocks__/BelongsToFieldStorage.js | 40 + .../storage/__mocks__/MorphToFieldStorage.js | 47 + nova/resources/js/store/index.js | 6 + nova/resources/js/store/resources.js | 186 + nova/resources/js/test-setup/bootstrap.js | 10 + nova/resources/js/util/axios.js | 44 + nova/resources/js/util/empty.js | 1 + nova/resources/js/util/escapeUnicode.js | 6 + nova/resources/js/util/numbro.js | 22 + nova/resources/js/util/slugify.js | 8 + nova/resources/js/views/403.vue | 3 + nova/resources/js/views/404.vue | 3 + nova/resources/js/views/Attach.vue | 562 + nova/resources/js/views/Create.vue | 56 + nova/resources/js/views/Dashboard.vue | 100 + nova/resources/js/views/Detail.vue | 548 + nova/resources/js/views/Error403.vue | 287 + nova/resources/js/views/Error404.vue | 334 + nova/resources/js/views/Index.vue | 1283 ++ nova/resources/js/views/Lens.vue | 994 + nova/resources/js/views/Update.vue | 357 + nova/resources/js/views/UpdateAttached.vue | 541 + nova/resources/lang/en.json | 426 + nova/resources/lang/en/validation.php | 19 + nova/resources/views/auth/layout.blade.php | 31 + nova/resources/views/auth/login.blade.php | 58 + .../views/auth/partials/errors.blade.php | 9 + .../views/auth/partials/header.blade.php | 3 + .../views/auth/partials/heading.blade.php | 4 + .../views/auth/partials/logo.blade.php | 1 + .../views/auth/passwords/email.blade.php | 35 + .../views/auth/passwords/reset.blade.php | 41 + nova/resources/views/dashboard.blade.php | 5 + .../views/dashboard/navigation.blade.php | 30 + nova/resources/views/layout.blade.php | 102 + .../resources/views/partials/footer.blade.php | 7 + nova/resources/views/partials/logo.blade.php | 9 + nova/resources/views/partials/meta.blade.php | 1 + nova/resources/views/partials/user.blade.php | 22 + .../views/resources/navigation.blade.php | 30 + nova/resources/views/router.blade.php | 12 + nova/routes/api.php | 87 + nova/src/Actions/Action.php | 767 + nova/src/Actions/ActionEvent.php | 451 + nova/src/Actions/ActionMethod.php | 22 + nova/src/Actions/ActionModelCollection.php | 55 + nova/src/Actions/ActionResource.php | 165 + nova/src/Actions/Actionable.php | 18 + nova/src/Actions/CallQueuedAction.php | 94 + nova/src/Actions/CallsQueuedActions.php | 84 + nova/src/Actions/DestructiveAction.php | 8 + nova/src/Actions/DispatchAction.php | 100 + nova/src/Actions/Transaction.php | 40 + nova/src/Authorizable.php | 295 + nova/src/AuthorizedToSee.php | 40 + nova/src/AuthorizesRequests.php | 39 + nova/src/Card.php | 38 + nova/src/Cards/Help.php | 25 + nova/src/Concerns/InteractsWithEvents.php | 56 + nova/src/Console/ActionCommand.php | 69 + nova/src/Console/AssetCommand.php | 278 + nova/src/Console/BaseResourceCommand.php | 69 + nova/src/Console/CardCommand.php | 303 + .../Console/Concerns/AcceptsNameAndVendor.php | 26 + nova/src/Console/CustomFilterCommand.php | 321 + nova/src/Console/DashboardCommand.php | 68 + nova/src/Console/FieldCommand.php | 280 + nova/src/Console/FilterCommand.php | 72 + nova/src/Console/InstallCommand.php | 103 + nova/src/Console/LensCommand.php | 68 + nova/src/Console/PartitionCommand.php | 68 + nova/src/Console/PublishCommand.php | 52 + nova/src/Console/RenamesStubs.php | 20 + nova/src/Console/ResolvesStubPath.php | 19 + nova/src/Console/ResourceCommand.php | 150 + nova/src/Console/ResourceToolCommand.php | 321 + nova/src/Console/StubPublishCommand.php | 59 + nova/src/Console/ThemeCommand.php | 225 + nova/src/Console/ToolCommand.php | 317 + nova/src/Console/TranslateCommand.php | 41 + nova/src/Console/TrendCommand.php | 68 + nova/src/Console/UserCommand.php | 35 + nova/src/Console/ValueCommand.php | 68 + nova/src/Console/asset-stubs/composer.json | 29 + nova/src/Console/asset-stubs/package.json | 19 + .../Console/asset-stubs/resources/js/asset.js | 1 + .../asset-stubs/resources/sass/asset.scss | 1 + .../asset-stubs/src/AssetServiceProvider.stub | 33 + nova/src/Console/asset-stubs/webpack.mix.js | 6 + nova/src/Console/card-stubs/composer.json | 29 + nova/src/Console/card-stubs/package.json | 19 + .../Console/card-stubs/resources/js/card.js | 3 + .../resources/js/components/Card.vue | 24 + .../card-stubs/resources/sass/card.scss | 1 + nova/src/Console/card-stubs/routes/api.stub | 19 + nova/src/Console/card-stubs/src/Card.stub | 25 + .../card-stubs/src/CardServiceProvider.stub | 54 + nova/src/Console/card-stubs/webpack.mix.js | 6 + nova/src/Console/field-stubs/composer.json | 29 + nova/src/Console/field-stubs/package.json | 20 + .../resources/js/components/DetailField.vue | 9 + .../resources/js/components/FormField.vue | 40 + .../resources/js/components/IndexField.vue | 9 + .../Console/field-stubs/resources/js/field.js | 5 + .../field-stubs/resources/sass/field.scss | 1 + nova/src/Console/field-stubs/src/Field.stub | 15 + .../field-stubs/src/FieldServiceProvider.stub | 33 + nova/src/Console/field-stubs/webpack.mix.js | 6 + nova/src/Console/filter-stubs/composer.json | 29 + nova/src/Console/filter-stubs/package.json | 19 + .../resources/js/components/Filter.vue | 60 + .../filter-stubs/resources/js/filter.js | 3 + .../filter-stubs/resources/sass/filter.scss | 1 + nova/src/Console/filter-stubs/src/Filter.stub | 40 + .../src/FilterServiceProvider.stub | 33 + nova/src/Console/filter-stubs/webpack.mix.js | 6 + .../Console/resource-tool-stubs/composer.json | 29 + .../Console/resource-tool-stubs/package.json | 19 + .../resources/js/components/Tool.vue | 13 + .../resource-tool-stubs/resources/js/tool.js | 3 + .../resources/sass/tool.scss | 1 + .../resource-tool-stubs/routes/api.stub | 19 + .../Console/resource-tool-stubs/src/Tool.stub | 28 + .../src/ToolServiceProvider.stub | 54 + .../resource-tool-stubs/webpack.mix.js | 6 + .../Console/stubs/NovaServiceProvider.stub | 92 + nova/src/Console/stubs/action.stub | 37 + nova/src/Console/stubs/base-resource.stub | 59 + nova/src/Console/stubs/boolean-filter.stub | 33 + nova/src/Console/stubs/dashboard.stub | 30 + nova/src/Console/stubs/date-filter.stub | 25 + .../src/Console/stubs/destructive-action.stub | 38 + nova/src/Console/stubs/filter.stub | 40 + nova/src/Console/stubs/lens.stub | 82 + nova/src/Console/stubs/partition.stub | 40 + nova/src/Console/stubs/resource.stub | 90 + nova/src/Console/stubs/trend.stub | 54 + nova/src/Console/stubs/user-resource.stub | 109 + nova/src/Console/stubs/value.stub | 58 + nova/src/Console/theme-stubs/composer.json | 29 + .../theme-stubs/resources/css/theme.css | 26 + .../theme-stubs/src/ThemeServiceProvider.stub | 35 + nova/src/Console/tool-stubs/composer.json | 29 + nova/src/Console/tool-stubs/package.json | 19 + .../resources/js/components/Tool.vue | 51 + .../Console/tool-stubs/resources/js/tool.js | 9 + .../tool-stubs/resources/sass/tool.scss | 1 + .../resources/views/navigation.blade.php | 6 + nova/src/Console/tool-stubs/routes/api.stub | 19 + .../src/Http/Middleware/Authorize.stub | 34 + nova/src/Console/tool-stubs/src/Tool.stub | 30 + .../tool-stubs/src/ToolServiceProvider.stub | 56 + nova/src/Console/tool-stubs/webpack.mix.js | 6 + nova/src/Contracts/Cover.php | 13 + nova/src/Contracts/Deletable.php | 37 + nova/src/Contracts/Filter.php | 33 + nova/src/Contracts/ListableField.php | 8 + nova/src/Contracts/PivotableField.php | 8 + nova/src/Contracts/RelatableField.php | 8 + nova/src/Contracts/Resolvable.php | 15 + nova/src/Contracts/Storable.php | 27 + nova/src/Dashboard.php | 33 + nova/src/DeleteField.php | 45 + nova/src/Element.php | 86 + .../Events/NovaServiceProviderRegistered.php | 10 + nova/src/Events/ServingNova.php | 29 + .../Exceptions/AuthenticationException.php | 42 + nova/src/Exceptions/LensCountException.php | 10 + .../MissingActionHandlerException.php | 20 + nova/src/Exceptions/NovaExceptionHandler.php | 49 + nova/src/Fields/AcceptsTypes.php | 26 + nova/src/Fields/ActionFields.php | 8 + nova/src/Fields/Avatar.php | 24 + nova/src/Fields/Badge.php | 178 + nova/src/Fields/BelongsTo.php | 412 + nova/src/Fields/BelongsToMany.php | 326 + nova/src/Fields/Boolean.php | 118 + nova/src/Fields/BooleanGroup.php | 139 + nova/src/Fields/Code.php | 169 + nova/src/Fields/Country.php | 272 + nova/src/Fields/Currency.php | 280 + nova/src/Fields/Date.php | 106 + nova/src/Fields/DateTime.php | 106 + nova/src/Fields/Deletable.php | 76 + nova/src/Fields/DetachesPivotModels.php | 40 + .../DeterminesIfCreateRelationCanBeShown.php | 56 + nova/src/Fields/Downloadable.php | 7 + nova/src/Fields/Expandable.php | 61 + nova/src/Fields/Field.php | 816 + nova/src/Fields/FieldCollection.php | 135 + nova/src/Fields/FieldElement.php | 297 + nova/src/Fields/File.php | 372 + .../Fields/FormatsRelatableDisplayValues.php | 46 + nova/src/Fields/Gravatar.php | 41 + nova/src/Fields/HasDownload.php | 65 + nova/src/Fields/HasMany.php | 117 + nova/src/Fields/HasManyThrough.php | 54 + nova/src/Fields/HasOne.php | 167 + nova/src/Fields/HasOneThrough.php | 165 + nova/src/Fields/HasPreview.php | 43 + nova/src/Fields/HasThumbnail.php | 36 + nova/src/Fields/Heading.php | 40 + nova/src/Fields/Hidden.php | 28 + nova/src/Fields/ID.php | 148 + nova/src/Fields/Image.php | 49 + nova/src/Fields/KeyValue.php | 186 + nova/src/Fields/Line.php | 150 + nova/src/Fields/ManyToManyCreationRules.php | 72 + nova/src/Fields/Markdown.php | 34 + nova/src/Fields/MorphMany.php | 8 + nova/src/Fields/MorphOne.php | 8 + nova/src/Fields/MorphTo.php | 590 + nova/src/Fields/MorphToActionTarget.php | 48 + nova/src/Fields/MorphToMany.php | 313 + nova/src/Fields/MorphedByMany.php | 8 + nova/src/Fields/Number.php | 54 + nova/src/Fields/Password.php | 45 + nova/src/Fields/PasswordConfirmation.php | 44 + nova/src/Fields/Place.php | 170 + nova/src/Fields/PresentsImages.php | 90 + nova/src/Fields/ResolvedFields.php | 40 + nova/src/Fields/ResolvesReverseRelation.php | 87 + .../Fields/ResourceRelationshipGuesser.php | 32 + nova/src/Fields/Searchable.php | 65 + nova/src/Fields/Select.php | 84 + nova/src/Fields/Slug.php | 99 + nova/src/Fields/Sparkline.php | 136 + nova/src/Fields/Stack.php | 118 + nova/src/Fields/Status.php | 49 + nova/src/Fields/Storable.php | 78 + nova/src/Fields/Text.php | 81 + nova/src/Fields/Textarea.php | 69 + nova/src/Fields/Timezone.php | 25 + nova/src/Fields/Trix.php | 198 + nova/src/Fields/VaporFile.php | 274 + nova/src/Fields/VaporImage.php | 48 + nova/src/FillsFields.php | 89 + nova/src/FilterDecoder.php | 84 + nova/src/Filters/BooleanFilter.php | 30 + nova/src/Filters/DateFilter.php | 37 + nova/src/Filters/Filter.php | 110 + nova/src/GlobalSearch.php | 94 + .../src/Http/Controllers/ActionController.php | 69 + .../Controllers/AssociatableController.php | 69 + .../Http/Controllers/AttachableController.php | 73 + .../AttachedResourceUpdateController.php | 129 + nova/src/Http/Controllers/CardController.php | 20 + .../Controllers/CreationFieldController.php | 27 + .../CreationPivotFieldController.php | 31 + .../Controllers/DashboardCardController.php | 21 + .../Http/Controllers/DashboardController.php | 29 + .../Controllers/DashboardMetricController.php | 33 + nova/src/Http/Controllers/DeletesFields.php | 44 + .../Controllers/DetailMetricController.php | 22 + nova/src/Http/Controllers/FieldController.php | 30 + .../Controllers/FieldDestroyController.php | 40 + .../Controllers/FieldDownloadController.php | 28 + .../src/Http/Controllers/FilterController.php | 20 + .../Controllers/ForgotPasswordController.php | 65 + .../Controllers/HandlesCustomRelationKeys.php | 43 + .../Http/Controllers/LensActionController.php | 40 + .../Http/Controllers/LensCardController.php | 22 + nova/src/Http/Controllers/LensController.php | 50 + .../Http/Controllers/LensFilterController.php | 26 + .../Http/Controllers/LensMetricController.php | 35 + .../LensResourceCountController.php | 20 + .../LensResourceDestroyController.php | 42 + .../LensResourceForceDeleteController.php | 42 + .../LensResourceRestoreController.php | 33 + nova/src/Http/Controllers/LoginController.php | 81 + .../src/Http/Controllers/MetricController.php | 33 + .../Http/Controllers/MorphableController.php | 72 + .../MorphedResourceAttachController.php | 38 + .../PivotFieldDestroyController.php | 31 + .../RelatableAuthorizationController.php | 32 + .../Controllers/ResetPasswordController.php | 84 + .../Controllers/ResourceAttachController.php | 126 + .../Controllers/ResourceCountController.php | 20 + .../Controllers/ResourceDestroyController.php | 51 + .../Controllers/ResourceDetachController.php | 92 + .../ResourceForceDeleteController.php | 42 + .../Controllers/ResourceIndexController.php | 33 + .../Controllers/ResourceRestoreController.php | 33 + .../Controllers/ResourceShowController.php | 31 + .../Controllers/ResourceStoreController.php | 76 + .../Controllers/ResourceUpdateController.php | 76 + .../src/Http/Controllers/RouterController.php | 21 + .../src/Http/Controllers/ScriptController.php | 35 + .../src/Http/Controllers/SearchController.php | 24 + .../SoftDeleteStatusController.php | 22 + nova/src/Http/Controllers/StyleController.php | 35 + .../Controllers/TrixAttachmentController.php | 66 + .../Controllers/UpdateFieldController.php | 28 + .../UpdatePivotFieldController.php | 47 + nova/src/Http/Middleware/Authenticate.php | 36 + nova/src/Http/Middleware/Authorize.php | 20 + nova/src/Http/Middleware/BootTools.php | 22 + .../Middleware/DispatchServingNovaEvent.php | 22 + .../Middleware/RedirectIfAuthenticated.php | 27 + nova/src/Http/Middleware/ServeNova.php | 59 + nova/src/Http/Requests/ActionRequest.php | 264 + nova/src/Http/Requests/CardRequest.php | 16 + nova/src/Http/Requests/CountsResources.php | 31 + .../Http/Requests/CreateResourceRequest.php | 8 + .../Http/Requests/DashboardCardRequest.php | 28 + .../Http/Requests/DashboardMetricRequest.php | 31 + nova/src/Http/Requests/DashboardRequest.php | 28 + nova/src/Http/Requests/DecodesFilters.php | 28 + .../Requests/DeleteLensResourceRequest.php | 37 + .../Http/Requests/DeleteResourceRequest.php | 47 + nova/src/Http/Requests/DeletionRequest.php | 57 + .../Http/Requests/DetachResourceRequest.php | 45 + .../ForceDeleteLensResourceRequest.php | 37 + .../Requests/ForceDeleteResourceRequest.php | 37 + .../src/Http/Requests/GlobalSearchRequest.php | 8 + .../src/Http/Requests/InteractsWithLenses.php | 40 + .../InteractsWithRelatedResources.php | 169 + .../Http/Requests/InteractsWithResources.php | 153 + nova/src/Http/Requests/LensActionRequest.php | 37 + nova/src/Http/Requests/LensCardRequest.php | 18 + nova/src/Http/Requests/LensCountRequest.php | 37 + nova/src/Http/Requests/LensMetricRequest.php | 21 + nova/src/Http/Requests/LensRequest.php | 156 + .../Requests/LensResourceDeletionRequest.php | 71 + nova/src/Http/Requests/MetricRequest.php | 31 + nova/src/Http/Requests/NovaRequest.php | 74 + .../Requests/PivotFieldDestroyRequest.php | 88 + nova/src/Http/Requests/QueriesResources.php | 83 + .../Http/Requests/ResourceDetailRequest.php | 8 + .../Http/Requests/ResourceIndexRequest.php | 57 + .../Requests/RestoreLensResourceRequest.php | 49 + .../Http/Requests/RestoreResourceRequest.php | 49 + .../Http/Requests/UpdateResourceRequest.php | 8 + nova/src/Lenses/Lens.php | 176 + nova/src/Listeners/BootNova.php | 64 + nova/src/Macros/FirstDayOfPreviousQuarter.php | 30 + nova/src/Macros/FirstDayOfQuarter.php | 32 + nova/src/Makeable.php | 16 + nova/src/MemoizesMethods.php | 13 + nova/src/Metable.php | 36 + nova/src/Metrics/HasHelpText.php | 66 + nova/src/Metrics/Metric.php | 148 + nova/src/Metrics/MySqlTrendDateExpression.php | 37 + nova/src/Metrics/Partition.php | 157 + nova/src/Metrics/PartitionColors.php | 57 + nova/src/Metrics/PartitionResult.php | 92 + .../Metrics/PostgresTrendDateExpression.php | 37 + nova/src/Metrics/RangedMetric.php | 59 + .../src/Metrics/SqlSrvTrendDateExpression.php | 42 + .../src/Metrics/SqliteTrendDateExpression.php | 41 + nova/src/Metrics/Trend.php | 753 + nova/src/Metrics/TrendDateExpression.php | 89 + .../Metrics/TrendDateExpressionFactory.php | 44 + nova/src/Metrics/TrendResult.php | 205 + nova/src/Metrics/Value.php | 269 + nova/src/Metrics/ValueResult.php | 195 + nova/src/Nova.php | 1052 ++ nova/src/NovaApplicationServiceProvider.php | 134 + nova/src/NovaCoreServiceProvider.php | 74 + nova/src/NovaServiceProvider.php | 185 + nova/src/Panel.php | 210 + nova/src/PendingRouteRegistration.php | 109 + nova/src/PerformsQueries.php | 225 + nova/src/PerformsValidation.php | 338 + nova/src/ProxiesCanSeeToGate.php | 28 + nova/src/Query/ApplyFilter.php | 51 + nova/src/Query/ApplySoftDeleteConstraint.php | 26 + nova/src/Query/Builder.php | 271 + nova/src/ResolvesActions.php | 119 + nova/src/ResolvesCards.php | 42 + nova/src/ResolvesFields.php | 807 + nova/src/ResolvesFilters.php | 42 + nova/src/ResolvesLenses.php | 42 + nova/src/Resource.php | 643 + nova/src/ResourceCollection.php | 70 + nova/src/ResourceTool.php | 105 + nova/src/ResourceToolElement.php | 21 + nova/src/Rules/NotAttached.php | 62 + nova/src/Rules/NotExactlyAttached.php | 77 + nova/src/Rules/Relatable.php | 122 + nova/src/Rules/RelatableAttachment.php | 28 + .../Browser/Components/DetailComponent.php | 58 + .../Browser/Components/IndexComponent.php | 466 + .../Browser/Components/LensComponent.php | 31 + nova/src/Testing/Browser/Pages/Attach.php | 85 + nova/src/Testing/Browser/Pages/Create.php | 122 + nova/src/Testing/Browser/Pages/Dashboard.php | 53 + nova/src/Testing/Browser/Pages/Detail.php | 186 + .../Browser/Pages/HasSearchableRelations.php | 93 + nova/src/Testing/Browser/Pages/HomePage.php | 41 + nova/src/Testing/Browser/Pages/Index.php | 53 + nova/src/Testing/Browser/Pages/Lens.php | 45 + nova/src/Testing/Browser/Pages/Page.php | 18 + nova/src/Testing/Browser/Pages/Update.php | 121 + .../Testing/Browser/Pages/UpdateAttached.php | 87 + nova/src/Testing/Browser/Pages/UserIndex.php | 16 + nova/src/Tool.php | 53 + nova/src/Tools/Dashboard.php | 18 + nova/src/Tools/ResourceManager.php | 41 + nova/src/TrashedStatus.php | 15 + nova/src/Trix/Attachment.php | 35 + nova/src/Trix/DeleteAttachments.php | 44 + nova/src/Trix/DetachAttachment.php | 22 + nova/src/Trix/DiscardPendingAttachments.php | 22 + nova/src/Trix/PendingAttachment.php | 71 + nova/src/Trix/PruneStaleAttachments.php | 20 + nova/src/Trix/StorePendingAttachment.php | 45 + nova/src/Util.php | 23 + nova/tailwind.js | 381 + nova/testbench.yaml | 1 + nova/webpack.mix.js.dist | 52 + nova/yarn.lock | 10721 +++++++++++ package-lock.json | 7895 ++++++++ package.json | 41 + phpunit.xml | 31 + postcss.config.js | 7 + public/.htaccess | 21 + public/docs/company.pdf | Bin 0 -> 53052 bytes public/docs/offer_authors.pdf | Bin 0 -> 212078 bytes public/docs/offer_paid_subscription.pdf | Bin 0 -> 221267 bytes public/docs/personal_data.pdf | Bin 0 -> 116298 bytes public/docs/privacy_policy.pdf | Bin 0 -> 219783 bytes public/docs/security_policy.pdf | Bin 0 -> 84492 bytes public/docs/terms_use.pdf | Bin 0 -> 343996 bytes public/favicon.ico | 0 public/favicon.svg | 1 + public/image/201123-Banana.jpeg | Bin 0 -> 37643 bytes public/image/auth-bg.jpg | Bin 0 -> 1042200 bytes public/image/bg-home.jpg | Bin 0 -> 323179 bytes public/image/card1.jpg | Bin 0 -> 113048 bytes public/image/card3.jpg | Bin 0 -> 18154 bytes public/image/card4.jpg | Bin 0 -> 114634 bytes public/image/card6.jpg | Bin 0 -> 68558 bytes public/image/check.svg | 1 + public/image/default-placeholder.jpg | Bin 0 -> 21535 bytes public/image/film.svg | 1 + public/image/fire 3.svg | 1 + public/image/image.svg | 1 + public/image/layout.svg | 1 + public/image/logotype.svg | 1 + public/image/logotype2.svg | 1 + public/image/modalimg1.jpg | Bin 0 -> 627964 bytes public/image/music.svg | 1 + public/image/orange-auth.jpg | Bin 0 -> 15617 bytes public/image/profile_bg.jpg | Bin 0 -> 469833 bytes public/image/search.svg | 1 + .../tommaso-teloni-LXSOa2kPB6I-unsplash.jpg | Bin 0 -> 1117227 bytes public/image/user_card.jpg | Bin 0 -> 114328 bytes public/image/user_card2.png | Bin 0 -> 167033 bytes public/index.php | 55 + public/library/simplebar.css | 211 + public/library/simplebar.min.js | 10 + public/robots.txt | 2 + public/vendor/nova/app.css | 1 + public/vendor/nova/app.js | 1 + public/vendor/nova/manifest.js | 1 + public/vendor/nova/mix-manifest.json | 6 + public/vendor/nova/vendor.js | 1 + public/web.config | 28 + resources/css/app.css | 3 + resources/css/common.css | 206 + resources/js/Pages/Auth/Feedback.vue | 178 + resources/js/Pages/Auth/ForgotPassword.vue | 139 + resources/js/Pages/Auth/Login.vue | 196 + resources/js/Pages/Auth/Register.vue | 219 + resources/js/Pages/Auth/ResetPassword.vue | 203 + resources/js/Pages/Auth/VerifyEmail.vue | 62 + resources/js/Pages/Complaint/Index.vue | 130 + resources/js/Pages/Complaint/IndexComment.vue | 100 + resources/js/Pages/Dashboard/Index.vue | 206 + resources/js/Pages/Feed/Index.vue | 113 + resources/js/Pages/Image/Create.vue | 171 + resources/js/Pages/Image/Edit.vue | 313 + resources/js/Pages/Image/Index.vue | 151 + resources/js/Pages/Image/Show.vue | 78 + resources/js/Pages/Messenger/Index.vue | 263 + resources/js/Pages/Music/Create.vue | 243 + resources/js/Pages/Music/Edit.vue | 416 + resources/js/Pages/Music/Feed.vue | 139 + resources/js/Pages/Music/Show.vue | 78 + resources/js/Pages/Profile/Index.vue | 116 + resources/js/Pages/Profile/Readers.vue | 232 + resources/js/Pages/Profile/Subs.vue | 204 + .../js/Pages/Settings/SettingsDocuments.vue | 79 + resources/js/Pages/Settings/SettingsLikes.vue | 40 + resources/js/Pages/Settings/SettingsMoney.vue | 196 + .../js/Pages/Settings/SettingsNotify.vue | 105 + .../js/Pages/Settings/SettingsPacket.vue | 174 + .../js/Pages/Settings/SettingsPayouts.vue | 198 + .../js/Pages/Settings/SettingsProfile.vue | 358 + .../js/Pages/Settings/SettingsPurchases.vue | 96 + .../Pages/Settings/SettingsPurchasesFile.vue | 106 + resources/js/Pages/Settings/SettingsTarif.vue | 115 + .../Pages/Settings/SettingsVerification.vue | 178 + .../js/Pages/Settings/SettingsWriteToUs.vue | 90 + resources/js/Pages/Tag/Feed.vue | 144 + resources/js/Pages/User/Index.vue | 175 + resources/js/Pages/Video/Create.vue | 180 + resources/js/Pages/Video/Edit.vue | 356 + resources/js/Pages/Video/Feed.vue | 152 + resources/js/Pages/Video/Show.vue | 79 + resources/js/Shared/AudioPlayer.vue | 315 + resources/js/Shared/Edit/CreatedMediaItem.vue | 68 + resources/js/Shared/Feed/Adults.vue | 24 + resources/js/Shared/Feed/Feed.vue | 97 + resources/js/Shared/Feed/FeedNode.vue | 95 + resources/js/Shared/Feed/FeedPreview.vue | 32 + resources/js/Shared/Feed/FooterBanned.vue | 26 + resources/js/Shared/Feed/FooterMisc.vue | 68 + resources/js/Shared/Feed/HeaderMisc.vue | 24 + resources/js/Shared/Feed/Images.vue | 53 + resources/js/Shared/Feed/Musics.vue | 126 + resources/js/Shared/Feed/Prohibited.vue | 31 + resources/js/Shared/Feed/Videos.vue | 47 + resources/js/Shared/FeedList/Adults.vue | 23 + resources/js/Shared/FeedList/FeedFooter.vue | 47 + resources/js/Shared/FeedList/FeedHeader.vue | 80 + resources/js/Shared/FeedList/FeedList.vue | 115 + resources/js/Shared/FeedList/FeedListNode.vue | 86 + .../js/Shared/FeedList/FeedMusicBody.vue | 109 + .../js/Shared/FeedList/FeedPaidBlock.vue | 104 + resources/js/Shared/FeedList/Images.vue | 101 + resources/js/Shared/FeedList/Musics.vue | 90 + resources/js/Shared/FeedList/Prohibited.vue | 29 + resources/js/Shared/FeedList/Videos.vue | 118 + resources/js/Shared/Form/Dropdown.vue | 71 + resources/js/Shared/Form/DropdownMenu.vue | 26 + .../js/Shared/Form/DropdownMenuPoint.vue | 27 + resources/js/Shared/Form/FileInput.vue | 69 + .../js/Shared/Form/FileInputMultiple.vue | 104 + .../Shared/Form/FileInputMultipleDecode.vue | 120 + resources/js/Shared/Form/LoadingButton.vue | 14 + resources/js/Shared/Form/SearchFilter.vue | 57 + resources/js/Shared/Form/TagInput.vue | 190 + resources/js/Shared/Form/TextInput.vue | 45 + resources/js/Shared/Form/TextareaInput.vue | 30 + resources/js/Shared/Form/Toggle.vue | 50 + resources/js/Shared/Layout.vue | 149 + .../js/Shared/LayoutParts/HeaderAuth.vue | 19 + resources/js/Shared/LayoutParts/HeaderBar.vue | 250 + .../js/Shared/LayoutParts/SettingsMenu.vue | 107 + resources/js/Shared/LayoutParts/Sidebar.vue | 148 + .../Shared/LayoutParts/SidebarSecondary.vue | 45 + .../js/Shared/Messanger/BoardFriendList.vue | 61 + .../js/Shared/Messanger/BoardMessage.vue | 285 + .../js/Shared/Messanger/BoardMessageItem.vue | 63 + .../js/Shared/Messanger/BoardRoomList.vue | 81 + resources/js/Shared/Messanger/BoardTop.vue | 56 + .../js/Shared/Messanger/MessangerModal.vue | 187 + resources/js/Shared/MetaHead.vue | 18 + resources/js/Shared/Misc/CommentCount.vue | 20 + resources/js/Shared/Misc/FeedTags.vue | 19 + resources/js/Shared/Misc/FeedTagsButtons.vue | 25 + resources/js/Shared/Misc/FlashMessages.vue | 76 + resources/js/Shared/Misc/InfinityScroll.vue | 126 + .../js/Shared/Misc/InfinityScrollRender.vue | 24 + resources/js/Shared/Misc/LikeCount.vue | 32 + resources/js/Shared/Misc/LinkBack.vue | 13 + resources/js/Shared/Misc/MusicAddCount.vue | 25 + resources/js/Shared/Misc/ShareCount.vue | 20 + resources/js/Shared/Misc/TogglePlayButton.vue | 32 + resources/js/Shared/Misc/UserAvatar.vue | 34 + resources/js/Shared/Misc/UserBanner.vue | 28 + resources/js/Shared/Misc/ViewCount.vue | 22 + resources/js/Shared/Misc/WarningText.vue | 6 + .../js/Shared/Notification/NotifyText.vue | 44 + .../NotifyTextBannedMessageFeed.vue | 28 + .../Shared/Notification/NotifyTextComment.vue | 10 + .../Notification/NotifyTextCustomPaidSubs.vue | 3 + .../Shared/Notification/NotifyTextLeader.vue | 3 + .../js/Shared/Notification/NotifyTextLike.vue | 3 + .../Notification/NotifyTextPurchase.vue | 12 + .../Notification/NotifyTextRemoveFeed.vue | 4 + .../js/Shared/Notification/NotifyTextSubs.vue | 3 + resources/js/Shared/Overlay/ModalFeed.vue | 150 + resources/js/Shared/Overlay/ModalFeedBody.vue | 361 + .../js/Shared/Overlay/ModalFeedMedia.vue | 38 + .../Shared/Overlay/ModalFeedMediaImages.vue | 33 + .../Shared/Overlay/ModalFeedMediaMusics.vue | 110 + .../Shared/Overlay/ModalFeedMediaVideos.vue | 32 + resources/js/Shared/Overlay/ModalShare.vue | 175 + resources/js/Shared/Overlay/ModalWarning.vue | 98 + .../js/Shared/Partials/ProfileHeader.vue | 161 + resources/js/Shared/Partials/ProfileMenu.vue | 98 + resources/js/Shared/Partials/UserComment.vue | 153 + .../Shared/Partials/UserCommentChildren.vue | 92 + .../js/Shared/Partials/UserCommentRemove.vue | 37 + .../js/Shared/Purchase/PurchaseImages.vue | 38 + .../js/Shared/Purchase/PurchaseMusics.vue | 38 + .../js/Shared/Purchase/PurchaseVideos.vue | 35 + resources/js/Shared/Search/SearchHeader.vue | 238 + resources/js/Shared/Tabs/AudioTabFavorite.vue | 142 + resources/js/Shared/Tabs/AudioTabLoaded.vue | 113 + resources/js/Shared/Tabs/AudioTabNow.vue | 71 + resources/js/Shared/Tabs/ItemMusic.vue | 47 + resources/js/app.js | 61 + resources/js/includes/composables/index.js | 3 + resources/js/includes/composables/useApi.js | 22 + .../composables/useAutoresizeTextarea.js | 17 + .../includes/composables/useInfinityScroll.js | 97 + .../composables/useIntersectionObserver.js | 43 + resources/js/includes/helper.js | 24 + resources/js/store/index.js | 9 + resources/js/store/modules/index.js | 18 + resources/js/store/modules/player.js | 427 + resources/lang/en/auth.php | 19 + resources/lang/en/pagination.php | 19 + resources/lang/en/passwords.php | 22 + resources/lang/en/validation.php | 149 + resources/lang/ru.json | 1151 ++ resources/lang/ru/passwords.php | 23 + resources/lang/vendor/nova/en.json | 426 + resources/lang/vendor/nova/en/validation.php | 19 + resources/views/app.blade.php | 39 + resources/views/company.blade.php | 76 + resources/views/cookies.blade.php | 121 + .../views/emails/admin/feedback.blade.php | 22 + .../views/emails/admin/registered.blade.php | 9 + resources/views/offer.blade.php | 233 + resources/views/privacypolicy.blade.php | 178 + resources/views/terms-payment.blade.php | 118 + resources/views/terms-service.blade.php | 341 + .../vendor/nova/partials/footer.blade.php | 7 + .../views/vendor/nova/partials/logo.blade.php | 9 + .../views/vendor/nova/partials/meta.blade.php | 1 + .../views/vendor/nova/partials/user.blade.php | 22 + routes/api.php | 19 + routes/channels.php | 18 + routes/console.php | 19 + routes/web.php | 425 + server.php | 21 + storage/app/.gitignore | 3 + storage/app/public/.gitignore | 2 + storage/debugbar/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/cache/data/.gitignore | 2 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + stylelint.config.js | 51 + tailwind.config.js | 65 + tests/CreatesApplication.php | 22 + tests/Feature/ExampleTest.php | 21 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 18 + vite.config.js | 62 + 1174 files changed, 134314 insertions(+) create mode 100755 .env.example create mode 100755 .eslintignore create mode 100755 .eslintrc.js create mode 100755 .gitattributes create mode 100755 .gitignore create mode 100755 .php-cs-fixer.dist.php create mode 100755 .styleci.yml create mode 100755 README.md create mode 100755 app/Console/Commands/AutoSubscribeApp.php create mode 100755 app/Console/Commands/AutoSubscribePaidUsers.php create mode 100755 app/Console/Kernel.php create mode 100755 app/Domain/Comments/Models/Comment.php create mode 100755 app/Domain/Comments/Observers/NovaCommentObserver.php create mode 100755 app/Domain/Complaints/Models/CommentComplaint.php create mode 100755 app/Domain/Complaints/Models/Complaint.php create mode 100755 app/Domain/Complaints/Models/Reason.php create mode 100755 app/Domain/Complaints/Observers/ComplaintObserver.php create mode 100755 app/Domain/Feeds/Action/CreateFeedAction.php create mode 100755 app/Domain/Feeds/DataTransferObjects/FeedData.php create mode 100755 app/Domain/Feeds/DataTransferObjects/FeedDataCollection.php create mode 100755 app/Domain/Feeds/Enums/CollectionMediaEnum.php create mode 100755 app/Domain/Feeds/Enums/StatusEnum.php create mode 100755 app/Domain/Feeds/Models/Feed.php create mode 100755 app/Domain/Feeds/Observers/FeedObserver.php create mode 100755 app/Domain/Feeds/Observers/NovaFeedAdsObserver.php create mode 100755 app/Domain/Feeds/Observers/NovaFeedObserver.php create mode 100755 app/Domain/Feeds/Queries/FeedQueryBuilder.php create mode 100755 app/Domain/Feeds/Service/FeedMediaTransform.php create mode 100755 app/Domain/Feeds/Service/LiveFeed.php create mode 100755 app/Domain/Feeds/ToFeedAction.php create mode 100755 app/Domain/Images/Action/CreateImageAction.php create mode 100755 app/Domain/Images/Action/UpdateImageAction.php create mode 100755 app/Domain/Images/DataTransferObjects/ImageData.php create mode 100755 app/Domain/Images/Models/Image.php create mode 100755 app/Domain/Medias/Models/TeaserMedia.php create mode 100755 app/Domain/Messenger/Models/ChatRoom.php create mode 100755 app/Domain/Messenger/Models/Message.php create mode 100755 app/Domain/Musics/Action/CreateMusicAction.php create mode 100755 app/Domain/Musics/Action/UpdateMusicAction.php create mode 100755 app/Domain/Musics/DataTransferObjects/MusicData.php create mode 100755 app/Domain/Musics/Models/Music.php create mode 100755 app/Domain/PaymentGateway/Models/PaymentGatewayOrder.php create mode 100755 app/Domain/PaymentGateway/Services/InterkassaService.php create mode 100755 app/Domain/PaymentGateway/Services/QiwiService.php create mode 100755 app/Domain/PaymentGateway/Services/UnitpayService.php create mode 100755 app/Domain/PaymentGateway/Services/YookassaService.php create mode 100755 app/Domain/Payments/Models/BankRequisites.php create mode 100755 app/Domain/Payments/Models/Requisites.php create mode 100755 app/Domain/Payments/Models/Withdrawal.php create mode 100755 app/Domain/Payments/Observers/WithdrawalObserver.php create mode 100755 app/Domain/Points/Enums/DirectionEnum.php create mode 100755 app/Domain/Points/Models/Point.php create mode 100755 app/Domain/Subscriptions/Models/Package.php create mode 100755 app/Domain/Subscriptions/Models/Subscription.php create mode 100755 app/Domain/Subscriptions/Service/SubscriptionService.php create mode 100755 app/Domain/Tags/Action/CreateTagAction.php create mode 100755 app/Domain/Tags/Models/Tag.php create mode 100755 app/Domain/Users/DataTransferObjects/UserData.php create mode 100755 app/Domain/Users/Models/UserPackage.php create mode 100755 app/Domain/Users/Observers/UserObserver.php create mode 100755 app/Domain/Users/Service/ProfileDataService.php create mode 100755 app/Domain/Videos/Action/CreateVideoAction.php create mode 100755 app/Domain/Videos/Action/UpdateVideoAction.php create mode 100755 app/Domain/Videos/DataTransferObjects/VideoData.php create mode 100755 app/Domain/Videos/Models/Video.php create mode 100755 app/Domain/Votes/Models/Vote.php create mode 100755 app/Domain/Votes/Observers/VoteObserver.php create mode 100755 app/Domain/Votes/Services/VoteService.php create mode 100755 app/Domain/Votes/Services/VoteServiceOld.php create mode 100755 app/Events/FeedAddProcessed.php create mode 100755 app/Events/FeedRemoveProcessed.php create mode 100755 app/Events/FeedUpdateProcessed.php create mode 100755 app/Exceptions/Handler.php create mode 100755 app/Http/Controllers/Auth/AuthenticatedSessionController.php create mode 100755 app/Http/Controllers/Auth/EmailVerificationPromptController.php create mode 100755 app/Http/Controllers/Auth/NewPasswordController.php create mode 100755 app/Http/Controllers/Auth/PasswordResetLinkController.php create mode 100755 app/Http/Controllers/Auth/RegisteredUserController.php create mode 100755 app/Http/Controllers/Auth/VerifyEmailController.php create mode 100755 app/Http/Controllers/CommentController.php create mode 100755 app/Http/Controllers/ComplaintController.php create mode 100755 app/Http/Controllers/Controller.php create mode 100755 app/Http/Controllers/DashboardController.php create mode 100755 app/Http/Controllers/FeedsController.php create mode 100755 app/Http/Controllers/ImagesController.php create mode 100755 app/Http/Controllers/MessengerController.php create mode 100755 app/Http/Controllers/MoneyController.php create mode 100755 app/Http/Controllers/MusicsController.php create mode 100755 app/Http/Controllers/ProfileController.php create mode 100755 app/Http/Controllers/PurchaseController.php create mode 100755 app/Http/Controllers/RequisitesController.php create mode 100755 app/Http/Controllers/SettingController.php create mode 100755 app/Http/Controllers/StaticController.php create mode 100755 app/Http/Controllers/TagController.php create mode 100755 app/Http/Controllers/UserPackageController.php create mode 100755 app/Http/Controllers/UsersController.php create mode 100755 app/Http/Controllers/VideosController.php create mode 100755 app/Http/Kernel.php create mode 100755 app/Http/Middleware/Authenticate.php create mode 100755 app/Http/Middleware/CheckSubscribeUser.php create mode 100755 app/Http/Middleware/EncryptCookies.php create mode 100755 app/Http/Middleware/EnsureEmailIsVerified.php create mode 100755 app/Http/Middleware/HandleInertiaRequests.php create mode 100755 app/Http/Middleware/PreventRequestsDuringMaintenance.php create mode 100755 app/Http/Middleware/RedirectIfAuthenticated.php create mode 100755 app/Http/Middleware/TrimStrings.php create mode 100755 app/Http/Middleware/TrustHosts.php create mode 100755 app/Http/Middleware/TrustProxies.php create mode 100755 app/Http/Middleware/VerifyCsrfToken.php create mode 100755 app/Http/Requests/Auth/LoginRequest.php create mode 100755 app/Http/Requests/ImageFormRequest.php create mode 100755 app/Http/Requests/MusicFormRequest.php create mode 100755 app/Http/Requests/TextFormRequest.php create mode 100755 app/Http/Requests/VideoFormRequest.php create mode 100755 app/Listeners/AddFeedUsers.php create mode 100755 app/Listeners/RemoveFeedUsers.php create mode 100755 app/Listeners/UpdateFeedUsers.php create mode 100755 app/Mail/AfterReigsterToAdmin.php create mode 100755 app/Mail/FeedbackToAdmin.php create mode 100755 app/Models/Model.php create mode 100755 app/Models/User.php create mode 100755 app/Notifications/BannedMessageFeed.php create mode 100755 app/Notifications/CommentAdded.php create mode 100755 app/Notifications/LeaderChoice.php create mode 100755 app/Notifications/LikeAdded.php create mode 100755 app/Notifications/PurchaseAdded.php create mode 100755 app/Notifications/RemoveFeed.php create mode 100755 app/Notifications/Subscribed.php create mode 100755 app/Notifications/UserCustomPaidSubscription.php create mode 100755 app/Notifications/urchaseChoice.php create mode 100755 app/Nova/Comment.php create mode 100755 app/Nova/Complaint.php create mode 100755 app/Nova/ComplaintComment.php create mode 100755 app/Nova/Feed.php create mode 100755 app/Nova/FeedAds.php create mode 100755 app/Nova/FeedApproved.php create mode 100755 app/Nova/Filters/StatusWithdrawalFilter.php create mode 100755 app/Nova/Filters/SubscriptionStatusFilter.php create mode 100755 app/Nova/Package.php create mode 100755 app/Nova/Point.php create mode 100755 app/Nova/Reason.php create mode 100755 app/Nova/Resource.php create mode 100755 app/Nova/User.php create mode 100755 app/Nova/Vote.php create mode 100755 app/Nova/Withdrawal.php create mode 100755 app/Policies/CommentComplaintPolicy.php create mode 100755 app/Policies/CommentPolicy.php create mode 100755 app/Policies/ComplaintPolicy.php create mode 100755 app/Policies/FeedPolicy.php create mode 100755 app/Policies/PackagePolicy.php create mode 100755 app/Policies/PermissionPolicy.php create mode 100755 app/Policies/PointPolicy.php create mode 100755 app/Policies/ReasonPolicy.php create mode 100755 app/Policies/RolePolicy.php create mode 100755 app/Policies/UserPolicy.php create mode 100755 app/Policies/VotePolicy.php create mode 100755 app/Policies/WithdrawalPolicy.php create mode 100755 app/Providers/AppServiceProvider.php create mode 100755 app/Providers/AuthServiceProvider.php create mode 100755 app/Providers/BroadcastServiceProvider.php create mode 100755 app/Providers/EloquentServiceProvider.php create mode 100755 app/Providers/EventServiceProvider.php create mode 100755 app/Providers/NovaServiceProvider.php create mode 100755 app/Providers/RouteServiceProvider.php create mode 100755 app/Rules/LoadedMedia.php create mode 100755 app/Support/Sms/SmsApi.php create mode 100755 app/Support/Sms/SmsRu.php create mode 100755 app/Support/helpers.php create mode 100755 artisan create mode 100755 bootstrap/app.php create mode 100755 bootstrap/cache/.gitignore create mode 100755 composer.json create mode 100755 composer.lock create mode 100755 config/app.php create mode 100755 config/auth.php create mode 100755 config/broadcasting.php create mode 100755 config/cache.php create mode 100755 config/cors.php create mode 100755 config/database.php create mode 100755 config/debugbar.php create mode 100755 config/filesystems.php create mode 100755 config/hashing.php create mode 100755 config/logging.php create mode 100755 config/mail.php create mode 100755 config/media-library.php create mode 100755 config/nova-media-library.php create mode 100755 config/nova.php create mode 100755 config/permission.php create mode 100755 config/queue.php create mode 100755 config/services.php create mode 100755 config/session.php create mode 100755 config/view.php create mode 100755 database/.gitignore create mode 100755 database/factories/UserFactory.php create mode 100755 database/migrations/2014_10_12_000000_create_users_table.php create mode 100755 database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100755 database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100755 database/migrations/2021_04_23_092024_create_videos_table.php create mode 100755 database/migrations/2021_04_23_094732_create_images_table.php create mode 100755 database/migrations/2021_04_23_095123_create_feeds_table.php create mode 100755 database/migrations/2021_04_23_122918_create_comments_table.php create mode 100755 database/migrations/2021_04_27_142502_create_subscribers_table.php create mode 100755 database/migrations/2021_05_03_074535_create_musics_table.php create mode 100755 database/migrations/2021_05_07_155337_create_сomplaints_table.php create mode 100755 database/migrations/2021_05_07_193737_create_reasons_table.php create mode 100755 database/migrations/2021_05_11_155804_create_points_table.php create mode 100755 database/migrations/2021_05_13_101854_create_packages_table.php create mode 100755 database/migrations/2021_05_13_101959_create_subscriptions_table.php create mode 100755 database/migrations/2021_05_14_074644_create_votes_table.php create mode 100755 database/migrations/2021_05_14_074725_create_vote_user_table.php create mode 100755 database/migrations/2021_05_15_152547_create_table_user_feed_purchase.php create mode 100755 database/migrations/2021_06_30_051702_create_media_table.php create mode 100755 database/migrations/2021_06_30_051819_create_permission_tables.php create mode 100755 database/migrations/2021_07_01_095338_create_feed_like_table.php create mode 100755 database/migrations/2021_07_01_140940_create_feed_comments_table.php create mode 100755 database/migrations/2021_09_01_113740_add_column_user_private.php create mode 100755 database/migrations/2021_09_02_120041_add_column_comments_to_user.php create mode 100755 database/migrations/2021_09_06_061125_create_notifications_table.php create mode 100755 database/migrations/2021_09_08_043014_create_tags_table.php create mode 100755 database/migrations/2021_09_08_043720_create_feed_tags_table.php create mode 100755 database/migrations/2021_09_10_102256_add_columns_feed.php create mode 100755 database/migrations/2021_09_15_080713_create_table_users_live_feeds.php create mode 100755 database/migrations/2021_09_23_062309_create_user_audio_table.php create mode 100755 database/migrations/2021_09_26_071548_modify_complaints_table.php create mode 100755 database/migrations/2021_11_17_080502_create_messages_table.php create mode 100755 database/migrations/2021_11_17_080625_create_chat_rooms_table.php create mode 100755 database/migrations/2021_11_17_082203_create_user_chat_room_table.php create mode 100755 database/migrations/2021_12_29_105004_create_user_banned_table.php create mode 100755 database/migrations/2021_12_29_125607_add_column_room_chat_table.php create mode 100755 database/migrations/2022_01_12_121506_create_payment_gateway_orders_table.php create mode 100755 database/migrations/2022_01_19_091929_create_requisites_table.php create mode 100755 database/migrations/2022_01_19_092213_create_withdrawals_table.php create mode 100755 database/migrations/2022_01_19_093845_create_bank_requisites_table.php create mode 100755 database/migrations/2022_01_25_083847_update_feed_table_soft_delete.php create mode 100755 database/migrations/2022_02_11_085749_update_comments_table.php create mode 100755 database/migrations/2022_02_11_131605_update_complaints_table.php create mode 100755 database/migrations/2022_02_11_161952_create_comment_complaints_table.php create mode 100755 database/migrations/2022_11_01_140050_add_order_number.php create mode 100755 database/migrations/2022_11_01_172349_create_user_packages_table.php create mode 100755 database/migrations/2022_11_01_172422_create_users_package_customers_table.php create mode 100755 database/migrations/2022_11_01_173444_update_points_table.php create mode 100755 database/migrations/2022_11_01_173933_add_column_users_table.php create mode 100755 database/migrations/2022_12_30_061120_add_column_feeds_table.php create mode 100755 database/migrations/2023_04_26_082840_add_validation_users_table.php create mode 100755 database/migrations/2023_09_12_055733_add_status_feeds_table.php create mode 100755 database/migrations/2024_06_10_071036_create_feed_user_view_table.php create mode 100755 database/migrations/2024_06_10_071255_add_feed_view_count.php create mode 100755 database/migrations/2024_06_10_103252_add_feed_is_ads.php create mode 100755 database/migrations/2024_07_11_115133_add_user_table_inn.php create mode 100755 database/migrations/2025_02_25_075757_add_user_type_columns.php create mode 100755 database/schema/pgsql-schema.dump create mode 100755 database/seeders/DatabaseSeeder.php create mode 100755 docker-compose.yml create mode 100755 docker/8.0/Dockerfile create mode 100755 docker/8.0/php.ini create mode 100755 docker/8.0/start-container create mode 100755 docker/8.0/supervisord.conf create mode 100755 docker/8.1/Dockerfile create mode 100755 docker/8.1/Dockerfile:Zone.Identifier create mode 100755 docker/8.1/php.ini create mode 100755 docker/8.1/php.ini:Zone.Identifier create mode 100755 docker/8.1/start-container create mode 100755 docker/8.1/start-container:Zone.Identifier create mode 100755 docker/8.1/supervisord.conf create mode 100755 docker/8.1/supervisord.conf:Zone.Identifier create mode 100755 docker/8.2/Dockerfile create mode 100755 docker/8.2/Dockerfile:Zone.Identifier create mode 100755 docker/8.2/php.ini create mode 100755 docker/8.2/php.ini:Zone.Identifier create mode 100755 docker/8.2/start-container create mode 100755 docker/8.2/start-container:Zone.Identifier create mode 100755 docker/8.2/supervisord.conf create mode 100755 docker/8.2/supervisord.conf:Zone.Identifier create mode 100755 docker/8.3/Dockerfile create mode 100755 docker/8.3/Dockerfile:Zone.Identifier create mode 100755 docker/8.3/php.ini create mode 100755 docker/8.3/php.ini:Zone.Identifier create mode 100755 docker/8.3/start-container create mode 100755 docker/8.3/start-container:Zone.Identifier create mode 100755 docker/8.3/supervisord.conf create mode 100755 docker/8.3/supervisord.conf:Zone.Identifier create mode 100755 docker/8.4/Dockerfile create mode 100755 docker/8.4/Dockerfile:Zone.Identifier create mode 100755 docker/8.4/php.ini create mode 100755 docker/8.4/php.ini:Zone.Identifier create mode 100755 docker/8.4/start-container create mode 100755 docker/8.4/start-container:Zone.Identifier create mode 100755 docker/8.4/supervisord.conf create mode 100755 docker/8.4/supervisord.conf:Zone.Identifier create mode 100755 docker/mariadb/create-testing-database.sh create mode 100755 docker/mariadb/create-testing-database.sh:Zone.Identifier create mode 100755 docker/mysql/create-testing-database.sh create mode 100755 docker/mysql/create-testing-database.sh:Zone.Identifier create mode 100755 docker/pgsql/create-testing-database.sql create mode 100755 docker/pgsql/create-testing-database.sql:Zone.Identifier create mode 100755 jsconfig.json create mode 100755 nova-components/NovaLeader/.gitignore create mode 100755 nova-components/NovaLeader/composer.json create mode 100755 nova-components/NovaLeader/package-lock.json create mode 100755 nova-components/NovaLeader/package.json create mode 100755 nova-components/NovaLeader/resources/js/card.js create mode 100755 nova-components/NovaLeader/resources/js/components/Card.vue create mode 100755 nova-components/NovaLeader/resources/sass/card.scss create mode 100755 nova-components/NovaLeader/routes/api.php create mode 100755 nova-components/NovaLeader/src/CardServiceProvider.php create mode 100755 nova-components/NovaLeader/src/NovaLeader.php create mode 100755 nova-components/NovaLeader/webpack.mix.js create mode 100755 nova/.babelrc create mode 100755 nova/.env.dusk.example create mode 100755 nova/.eslintrc create mode 100755 nova/.prettierrc create mode 100755 nova/composer.json create mode 100755 nova/config/nova.php create mode 100755 nova/database/migrations/2018_01_01_000000_create_action_events_table.php create mode 100755 nova/database/migrations/2019_05_10_000000_add_fields_to_action_events_table.php create mode 100755 nova/mix-manifest.json create mode 100755 nova/package.json create mode 100755 nova/phpunit.dusk.xml.dist create mode 100755 nova/public/app.css create mode 100755 nova/public/app.js create mode 100755 nova/public/manifest.js create mode 100755 nova/public/mix-manifest.json create mode 100755 nova/public/vendor.js create mode 100755 nova/readme.md create mode 100755 nova/resources/css/app.css create mode 100755 nova/resources/js/Nova.js create mode 100755 nova/resources/js/__tests__/ActionSelector.spec.js create mode 100755 nova/resources/js/__tests__/__snapshots__/ActionSelector.spec.js.snap create mode 100755 nova/resources/js/__tests__/fields/BelongsToField.spec.js create mode 100755 nova/resources/js/__tests__/fields/MorphToField.spec.js create mode 100755 nova/resources/js/__tests__/views/ResourceIndex.spec.js create mode 100755 nova/resources/js/__tests__/views/UpdateAttached.spec.js create mode 100755 nova/resources/js/__tests__/views/__snapshots__/ResourceIndex.spec.js.snap create mode 100755 nova/resources/js/__tests__/views/__snapshots__/UpdateAttached.spec.js.snap create mode 100755 nova/resources/js/app.js create mode 100755 nova/resources/js/components.js create mode 100755 nova/resources/js/components/ActionSelector.vue create mode 100755 nova/resources/js/components/Badge.vue create mode 100755 nova/resources/js/components/BooleanOption.vue create mode 100755 nova/resources/js/components/Card.vue create mode 100755 nova/resources/js/components/CardWrapper.vue create mode 100755 nova/resources/js/components/Cards.vue create mode 100755 nova/resources/js/components/Cards/HelpCard.vue create mode 100755 nova/resources/js/components/CheckboxWithLabel.vue create mode 100755 nova/resources/js/components/Controls/SelectControl.vue create mode 100755 nova/resources/js/components/CreateForm.vue create mode 100755 nova/resources/js/components/CreateResourceButton.vue create mode 100755 nova/resources/js/components/CustomAttachHeader.vue create mode 100755 nova/resources/js/components/CustomCreateHeader.vue create mode 100755 nova/resources/js/components/CustomDashboardHeader.vue create mode 100755 nova/resources/js/components/CustomDetailHeader.vue create mode 100755 nova/resources/js/components/CustomDetailToolbar.vue create mode 100755 nova/resources/js/components/CustomIndexHeader.vue create mode 100755 nova/resources/js/components/CustomIndexToolbar.vue create mode 100755 nova/resources/js/components/CustomLensHeader.vue create mode 100755 nova/resources/js/components/CustomUpdateAttachedHeader.vue create mode 100755 nova/resources/js/components/CustomUpdateHeader.vue create mode 100755 nova/resources/js/components/DateTimePicker.vue create mode 100755 nova/resources/js/components/DeleteButton.vue create mode 100755 nova/resources/js/components/DeleteMenu.vue create mode 100755 nova/resources/js/components/Detail/BadgeField.vue create mode 100755 nova/resources/js/components/Detail/BelongsToField.vue create mode 100755 nova/resources/js/components/Detail/BelongsToManyField.vue create mode 100755 nova/resources/js/components/Detail/BooleanField.vue create mode 100755 nova/resources/js/components/Detail/BooleanGroupField.vue create mode 100755 nova/resources/js/components/Detail/CodeField.vue create mode 100755 nova/resources/js/components/Detail/CurrencyField.vue create mode 100755 nova/resources/js/components/Detail/DateField.vue create mode 100755 nova/resources/js/components/Detail/DateTimeField.vue create mode 100755 nova/resources/js/components/Detail/FileField.vue create mode 100755 nova/resources/js/components/Detail/HasManyField.vue create mode 100755 nova/resources/js/components/Detail/HasManyThroughField.vue create mode 100755 nova/resources/js/components/Detail/HasOneField.vue create mode 100755 nova/resources/js/components/Detail/HasOneThroughField.vue create mode 100755 nova/resources/js/components/Detail/HeadingField.vue create mode 100755 nova/resources/js/components/Detail/HiddenField.vue create mode 100755 nova/resources/js/components/Detail/KeyValueField.vue create mode 100755 nova/resources/js/components/Detail/MarkdownField.vue create mode 100755 nova/resources/js/components/Detail/MorphToActionTargetField.vue create mode 100755 nova/resources/js/components/Detail/MorphToField.vue create mode 100755 nova/resources/js/components/Detail/MorphToManyField.vue create mode 100755 nova/resources/js/components/Detail/Panel.vue create mode 100755 nova/resources/js/components/Detail/PasswordField.vue create mode 100755 nova/resources/js/components/Detail/RelationshipPanel.vue create mode 100755 nova/resources/js/components/Detail/SparklineField.vue create mode 100755 nova/resources/js/components/Detail/StackField.vue create mode 100755 nova/resources/js/components/Detail/StatusField.vue create mode 100755 nova/resources/js/components/Detail/TextField.vue create mode 100755 nova/resources/js/components/Detail/TextareaField.vue create mode 100755 nova/resources/js/components/Detail/TrixField.vue create mode 100755 nova/resources/js/components/Dropdown.vue create mode 100755 nova/resources/js/components/DropdownMenu.vue create mode 100755 nova/resources/js/components/DropdownTrigger.vue create mode 100755 nova/resources/js/components/Excerpt.vue create mode 100755 nova/resources/js/components/FadeTransition.vue create mode 100755 nova/resources/js/components/FilterMenu.vue create mode 100755 nova/resources/js/components/Filters/BooleanFilter.vue create mode 100755 nova/resources/js/components/Filters/DateFilter.vue create mode 100755 nova/resources/js/components/Filters/SelectFilter.vue create mode 100755 nova/resources/js/components/Form/BelongsToField.vue create mode 100755 nova/resources/js/components/Form/BooleanField.vue create mode 100755 nova/resources/js/components/Form/BooleanGroupField.vue create mode 100755 nova/resources/js/components/Form/CancelButton.vue create mode 100755 nova/resources/js/components/Form/CodeField.vue create mode 100755 nova/resources/js/components/Form/CreateRelationButton.vue create mode 100755 nova/resources/js/components/Form/CurrencyField.vue create mode 100755 nova/resources/js/components/Form/DateField.vue create mode 100755 nova/resources/js/components/Form/DateTimeField.vue create mode 100755 nova/resources/js/components/Form/DefaultField.vue create mode 100755 nova/resources/js/components/Form/FieldWrapper.vue create mode 100755 nova/resources/js/components/Form/FileField.vue create mode 100755 nova/resources/js/components/Form/HeadingField.vue create mode 100755 nova/resources/js/components/Form/HelpText.vue create mode 100755 nova/resources/js/components/Form/HiddenField.vue create mode 100755 nova/resources/js/components/Form/KeyValueField/KeyValueField.vue create mode 100755 nova/resources/js/components/Form/KeyValueField/KeyValueHeader.vue create mode 100755 nova/resources/js/components/Form/KeyValueField/KeyValueItem.vue create mode 100755 nova/resources/js/components/Form/KeyValueField/KeyValueTable.vue create mode 100755 nova/resources/js/components/Form/Label.vue create mode 100755 nova/resources/js/components/Form/MarkdownField.vue create mode 100755 nova/resources/js/components/Form/MorphToField.vue create mode 100755 nova/resources/js/components/Form/Panel.vue create mode 100755 nova/resources/js/components/Form/PasswordField.vue create mode 100755 nova/resources/js/components/Form/PlaceField.vue create mode 100755 nova/resources/js/components/Form/SelectField.vue create mode 100755 nova/resources/js/components/Form/SlugField.vue create mode 100755 nova/resources/js/components/Form/StatusField.vue create mode 100755 nova/resources/js/components/Form/TextField.vue create mode 100755 nova/resources/js/components/Form/TextareaField.vue create mode 100755 nova/resources/js/components/Form/TrixField.vue create mode 100755 nova/resources/js/components/GlobalSearch.vue create mode 100755 nova/resources/js/components/Heading.vue create mode 100755 nova/resources/js/components/Icons/Add.vue create mode 100755 nova/resources/js/components/Icons/BooleanIcon.vue create mode 100755 nova/resources/js/components/Icons/CheckCircle.vue create mode 100755 nova/resources/js/components/Icons/Delete.vue create mode 100755 nova/resources/js/components/Icons/Download.vue create mode 100755 nova/resources/js/components/Icons/Edit.vue create mode 100755 nova/resources/js/components/Icons/Editor/Bold.vue create mode 100755 nova/resources/js/components/Icons/Editor/FullScreen.vue create mode 100755 nova/resources/js/components/Icons/Editor/Image.vue create mode 100755 nova/resources/js/components/Icons/Editor/Italic.vue create mode 100755 nova/resources/js/components/Icons/Editor/Link.vue create mode 100755 nova/resources/js/components/Icons/Filter.vue create mode 100755 nova/resources/js/components/Icons/ForceDelete.vue create mode 100755 nova/resources/js/components/Icons/Help.vue create mode 100755 nova/resources/js/components/Icons/Icon.vue create mode 100755 nova/resources/js/components/Icons/Loader.vue create mode 100755 nova/resources/js/components/Icons/Menu.vue create mode 100755 nova/resources/js/components/Icons/More.vue create mode 100755 nova/resources/js/components/Icons/Play.vue create mode 100755 nova/resources/js/components/Icons/Refresh.vue create mode 100755 nova/resources/js/components/Icons/Restore.vue create mode 100755 nova/resources/js/components/Icons/Search.vue create mode 100755 nova/resources/js/components/Icons/View.vue create mode 100755 nova/resources/js/components/Icons/XCircle.vue create mode 100755 nova/resources/js/components/ImageLoader.vue create mode 100755 nova/resources/js/components/Index/BadgeField.vue create mode 100755 nova/resources/js/components/Index/BelongsToField.vue create mode 100755 nova/resources/js/components/Index/BooleanField.vue create mode 100755 nova/resources/js/components/Index/BooleanGroupField.vue create mode 100755 nova/resources/js/components/Index/Checkbox.vue create mode 100755 nova/resources/js/components/Index/CurrencyField.vue create mode 100755 nova/resources/js/components/Index/DateField.vue create mode 100755 nova/resources/js/components/Index/DateTimeField.vue create mode 100755 nova/resources/js/components/Index/FakeCheckbox.vue create mode 100755 nova/resources/js/components/Index/FileField.vue create mode 100755 nova/resources/js/components/Index/HeadingField.vue create mode 100755 nova/resources/js/components/Index/HiddenField.vue create mode 100755 nova/resources/js/components/Index/IdField.vue create mode 100755 nova/resources/js/components/Index/InlineActionSelector.vue create mode 100755 nova/resources/js/components/Index/LineField.vue create mode 100755 nova/resources/js/components/Index/MorphToActionTargetField.vue create mode 100755 nova/resources/js/components/Index/MorphToField.vue create mode 100755 nova/resources/js/components/Index/PasswordField.vue create mode 100755 nova/resources/js/components/Index/ResourceTableRow.vue create mode 100755 nova/resources/js/components/Index/SortableIcon.vue create mode 100755 nova/resources/js/components/Index/SparklineField.vue create mode 100755 nova/resources/js/components/Index/StackField.vue create mode 100755 nova/resources/js/components/Index/StatusField.vue create mode 100755 nova/resources/js/components/Index/TextField.vue create mode 100755 nova/resources/js/components/LensSelector.vue create mode 100755 nova/resources/js/components/Loading.vue create mode 100755 nova/resources/js/components/LoadingCard.vue create mode 100755 nova/resources/js/components/LoadingView.vue create mode 100755 nova/resources/js/components/Metrics/Base/PartitionMetric.vue create mode 100755 nova/resources/js/components/Metrics/Base/TrendMetric.vue create mode 100755 nova/resources/js/components/Metrics/Base/ValueMetric.vue create mode 100755 nova/resources/js/components/Metrics/MetricBehavior.js create mode 100755 nova/resources/js/components/Metrics/PartitionMetric.vue create mode 100755 nova/resources/js/components/Metrics/TrendMetric.vue create mode 100755 nova/resources/js/components/Metrics/ValueMetric.vue create mode 100755 nova/resources/js/components/Modal.vue create mode 100755 nova/resources/js/components/Modals/ConfirmActionModal.vue create mode 100755 nova/resources/js/components/Modals/ConfirmUploadRemovalModal.vue create mode 100755 nova/resources/js/components/Modals/CreateRelationModal.vue create mode 100755 nova/resources/js/components/Modals/DeleteResourceModal.vue create mode 100755 nova/resources/js/components/Modals/RestoreResourceModal.vue create mode 100755 nova/resources/js/components/Pagination/PaginationLinks.vue create mode 100755 nova/resources/js/components/Pagination/PaginationLoadMore.vue create mode 100755 nova/resources/js/components/Pagination/PaginationSimple.vue create mode 100755 nova/resources/js/components/PanelItem.vue create mode 100755 nova/resources/js/components/ProgressButton.vue create mode 100755 nova/resources/js/components/ResourcePollingButton.vue create mode 100755 nova/resources/js/components/ResourceTable.vue create mode 100755 nova/resources/js/components/ScrollWrap.vue create mode 100755 nova/resources/js/components/SearchInput.vue create mode 100755 nova/resources/js/components/Tooltip.vue create mode 100755 nova/resources/js/components/TooltipContent.vue create mode 100755 nova/resources/js/components/Trix.vue create mode 100755 nova/resources/js/components/ValidationErrors.vue create mode 100755 nova/resources/js/fields.js create mode 100755 nova/resources/js/mixins/HandlesActions.js create mode 100755 nova/resources/js/mixins/HandlesUploads.js create mode 100755 nova/resources/js/mixins/HasActions.js create mode 100755 nova/resources/js/mixins/Localization.js create mode 100755 nova/resources/js/mixins/ThemingClasses.js create mode 100755 nova/resources/js/plugins/axios.js create mode 100755 nova/resources/js/plugins/index.js create mode 100755 nova/resources/js/plugins/lodash.js create mode 100755 nova/resources/js/plugins/moment.js create mode 100755 nova/resources/js/polyfills/composedPath.js create mode 100755 nova/resources/js/router/index.js create mode 100755 nova/resources/js/router/routes.js create mode 100755 nova/resources/js/storage/BelongsToFieldStorage.js create mode 100755 nova/resources/js/storage/MorphToFieldStorage.js create mode 100755 nova/resources/js/storage/__mocks__/BelongsToFieldStorage.js create mode 100755 nova/resources/js/storage/__mocks__/MorphToFieldStorage.js create mode 100755 nova/resources/js/store/index.js create mode 100755 nova/resources/js/store/resources.js create mode 100755 nova/resources/js/test-setup/bootstrap.js create mode 100755 nova/resources/js/util/axios.js create mode 100755 nova/resources/js/util/empty.js create mode 100755 nova/resources/js/util/escapeUnicode.js create mode 100755 nova/resources/js/util/numbro.js create mode 100755 nova/resources/js/util/slugify.js create mode 100755 nova/resources/js/views/403.vue create mode 100755 nova/resources/js/views/404.vue create mode 100755 nova/resources/js/views/Attach.vue create mode 100755 nova/resources/js/views/Create.vue create mode 100755 nova/resources/js/views/Dashboard.vue create mode 100755 nova/resources/js/views/Detail.vue create mode 100755 nova/resources/js/views/Error403.vue create mode 100755 nova/resources/js/views/Error404.vue create mode 100755 nova/resources/js/views/Index.vue create mode 100755 nova/resources/js/views/Lens.vue create mode 100755 nova/resources/js/views/Update.vue create mode 100755 nova/resources/js/views/UpdateAttached.vue create mode 100755 nova/resources/lang/en.json create mode 100755 nova/resources/lang/en/validation.php create mode 100755 nova/resources/views/auth/layout.blade.php create mode 100755 nova/resources/views/auth/login.blade.php create mode 100755 nova/resources/views/auth/partials/errors.blade.php create mode 100755 nova/resources/views/auth/partials/header.blade.php create mode 100755 nova/resources/views/auth/partials/heading.blade.php create mode 100755 nova/resources/views/auth/partials/logo.blade.php create mode 100755 nova/resources/views/auth/passwords/email.blade.php create mode 100755 nova/resources/views/auth/passwords/reset.blade.php create mode 100755 nova/resources/views/dashboard.blade.php create mode 100755 nova/resources/views/dashboard/navigation.blade.php create mode 100755 nova/resources/views/layout.blade.php create mode 100755 nova/resources/views/partials/footer.blade.php create mode 100755 nova/resources/views/partials/logo.blade.php create mode 100755 nova/resources/views/partials/meta.blade.php create mode 100755 nova/resources/views/partials/user.blade.php create mode 100755 nova/resources/views/resources/navigation.blade.php create mode 100755 nova/resources/views/router.blade.php create mode 100755 nova/routes/api.php create mode 100755 nova/src/Actions/Action.php create mode 100755 nova/src/Actions/ActionEvent.php create mode 100755 nova/src/Actions/ActionMethod.php create mode 100755 nova/src/Actions/ActionModelCollection.php create mode 100755 nova/src/Actions/ActionResource.php create mode 100755 nova/src/Actions/Actionable.php create mode 100755 nova/src/Actions/CallQueuedAction.php create mode 100755 nova/src/Actions/CallsQueuedActions.php create mode 100755 nova/src/Actions/DestructiveAction.php create mode 100755 nova/src/Actions/DispatchAction.php create mode 100755 nova/src/Actions/Transaction.php create mode 100755 nova/src/Authorizable.php create mode 100755 nova/src/AuthorizedToSee.php create mode 100755 nova/src/AuthorizesRequests.php create mode 100755 nova/src/Card.php create mode 100755 nova/src/Cards/Help.php create mode 100755 nova/src/Concerns/InteractsWithEvents.php create mode 100755 nova/src/Console/ActionCommand.php create mode 100755 nova/src/Console/AssetCommand.php create mode 100755 nova/src/Console/BaseResourceCommand.php create mode 100755 nova/src/Console/CardCommand.php create mode 100755 nova/src/Console/Concerns/AcceptsNameAndVendor.php create mode 100755 nova/src/Console/CustomFilterCommand.php create mode 100755 nova/src/Console/DashboardCommand.php create mode 100755 nova/src/Console/FieldCommand.php create mode 100755 nova/src/Console/FilterCommand.php create mode 100755 nova/src/Console/InstallCommand.php create mode 100755 nova/src/Console/LensCommand.php create mode 100755 nova/src/Console/PartitionCommand.php create mode 100755 nova/src/Console/PublishCommand.php create mode 100755 nova/src/Console/RenamesStubs.php create mode 100755 nova/src/Console/ResolvesStubPath.php create mode 100755 nova/src/Console/ResourceCommand.php create mode 100755 nova/src/Console/ResourceToolCommand.php create mode 100755 nova/src/Console/StubPublishCommand.php create mode 100755 nova/src/Console/ThemeCommand.php create mode 100755 nova/src/Console/ToolCommand.php create mode 100755 nova/src/Console/TranslateCommand.php create mode 100755 nova/src/Console/TrendCommand.php create mode 100755 nova/src/Console/UserCommand.php create mode 100755 nova/src/Console/ValueCommand.php create mode 100755 nova/src/Console/asset-stubs/composer.json create mode 100755 nova/src/Console/asset-stubs/package.json create mode 100755 nova/src/Console/asset-stubs/resources/js/asset.js create mode 100755 nova/src/Console/asset-stubs/resources/sass/asset.scss create mode 100755 nova/src/Console/asset-stubs/src/AssetServiceProvider.stub create mode 100755 nova/src/Console/asset-stubs/webpack.mix.js create mode 100755 nova/src/Console/card-stubs/composer.json create mode 100755 nova/src/Console/card-stubs/package.json create mode 100755 nova/src/Console/card-stubs/resources/js/card.js create mode 100755 nova/src/Console/card-stubs/resources/js/components/Card.vue create mode 100755 nova/src/Console/card-stubs/resources/sass/card.scss create mode 100755 nova/src/Console/card-stubs/routes/api.stub create mode 100755 nova/src/Console/card-stubs/src/Card.stub create mode 100755 nova/src/Console/card-stubs/src/CardServiceProvider.stub create mode 100755 nova/src/Console/card-stubs/webpack.mix.js create mode 100755 nova/src/Console/field-stubs/composer.json create mode 100755 nova/src/Console/field-stubs/package.json create mode 100755 nova/src/Console/field-stubs/resources/js/components/DetailField.vue create mode 100755 nova/src/Console/field-stubs/resources/js/components/FormField.vue create mode 100755 nova/src/Console/field-stubs/resources/js/components/IndexField.vue create mode 100755 nova/src/Console/field-stubs/resources/js/field.js create mode 100755 nova/src/Console/field-stubs/resources/sass/field.scss create mode 100755 nova/src/Console/field-stubs/src/Field.stub create mode 100755 nova/src/Console/field-stubs/src/FieldServiceProvider.stub create mode 100755 nova/src/Console/field-stubs/webpack.mix.js create mode 100755 nova/src/Console/filter-stubs/composer.json create mode 100755 nova/src/Console/filter-stubs/package.json create mode 100755 nova/src/Console/filter-stubs/resources/js/components/Filter.vue create mode 100755 nova/src/Console/filter-stubs/resources/js/filter.js create mode 100755 nova/src/Console/filter-stubs/resources/sass/filter.scss create mode 100755 nova/src/Console/filter-stubs/src/Filter.stub create mode 100755 nova/src/Console/filter-stubs/src/FilterServiceProvider.stub create mode 100755 nova/src/Console/filter-stubs/webpack.mix.js create mode 100755 nova/src/Console/resource-tool-stubs/composer.json create mode 100755 nova/src/Console/resource-tool-stubs/package.json create mode 100755 nova/src/Console/resource-tool-stubs/resources/js/components/Tool.vue create mode 100755 nova/src/Console/resource-tool-stubs/resources/js/tool.js create mode 100755 nova/src/Console/resource-tool-stubs/resources/sass/tool.scss create mode 100755 nova/src/Console/resource-tool-stubs/routes/api.stub create mode 100755 nova/src/Console/resource-tool-stubs/src/Tool.stub create mode 100755 nova/src/Console/resource-tool-stubs/src/ToolServiceProvider.stub create mode 100755 nova/src/Console/resource-tool-stubs/webpack.mix.js create mode 100755 nova/src/Console/stubs/NovaServiceProvider.stub create mode 100755 nova/src/Console/stubs/action.stub create mode 100755 nova/src/Console/stubs/base-resource.stub create mode 100755 nova/src/Console/stubs/boolean-filter.stub create mode 100755 nova/src/Console/stubs/dashboard.stub create mode 100755 nova/src/Console/stubs/date-filter.stub create mode 100755 nova/src/Console/stubs/destructive-action.stub create mode 100755 nova/src/Console/stubs/filter.stub create mode 100755 nova/src/Console/stubs/lens.stub create mode 100755 nova/src/Console/stubs/partition.stub create mode 100755 nova/src/Console/stubs/resource.stub create mode 100755 nova/src/Console/stubs/trend.stub create mode 100755 nova/src/Console/stubs/user-resource.stub create mode 100755 nova/src/Console/stubs/value.stub create mode 100755 nova/src/Console/theme-stubs/composer.json create mode 100755 nova/src/Console/theme-stubs/resources/css/theme.css create mode 100755 nova/src/Console/theme-stubs/src/ThemeServiceProvider.stub create mode 100755 nova/src/Console/tool-stubs/composer.json create mode 100755 nova/src/Console/tool-stubs/package.json create mode 100755 nova/src/Console/tool-stubs/resources/js/components/Tool.vue create mode 100755 nova/src/Console/tool-stubs/resources/js/tool.js create mode 100755 nova/src/Console/tool-stubs/resources/sass/tool.scss create mode 100755 nova/src/Console/tool-stubs/resources/views/navigation.blade.php create mode 100755 nova/src/Console/tool-stubs/routes/api.stub create mode 100755 nova/src/Console/tool-stubs/src/Http/Middleware/Authorize.stub create mode 100755 nova/src/Console/tool-stubs/src/Tool.stub create mode 100755 nova/src/Console/tool-stubs/src/ToolServiceProvider.stub create mode 100755 nova/src/Console/tool-stubs/webpack.mix.js create mode 100755 nova/src/Contracts/Cover.php create mode 100755 nova/src/Contracts/Deletable.php create mode 100755 nova/src/Contracts/Filter.php create mode 100755 nova/src/Contracts/ListableField.php create mode 100755 nova/src/Contracts/PivotableField.php create mode 100755 nova/src/Contracts/RelatableField.php create mode 100755 nova/src/Contracts/Resolvable.php create mode 100755 nova/src/Contracts/Storable.php create mode 100755 nova/src/Dashboard.php create mode 100755 nova/src/DeleteField.php create mode 100755 nova/src/Element.php create mode 100755 nova/src/Events/NovaServiceProviderRegistered.php create mode 100755 nova/src/Events/ServingNova.php create mode 100755 nova/src/Exceptions/AuthenticationException.php create mode 100755 nova/src/Exceptions/LensCountException.php create mode 100755 nova/src/Exceptions/MissingActionHandlerException.php create mode 100755 nova/src/Exceptions/NovaExceptionHandler.php create mode 100755 nova/src/Fields/AcceptsTypes.php create mode 100755 nova/src/Fields/ActionFields.php create mode 100755 nova/src/Fields/Avatar.php create mode 100755 nova/src/Fields/Badge.php create mode 100755 nova/src/Fields/BelongsTo.php create mode 100755 nova/src/Fields/BelongsToMany.php create mode 100755 nova/src/Fields/Boolean.php create mode 100755 nova/src/Fields/BooleanGroup.php create mode 100755 nova/src/Fields/Code.php create mode 100755 nova/src/Fields/Country.php create mode 100755 nova/src/Fields/Currency.php create mode 100755 nova/src/Fields/Date.php create mode 100755 nova/src/Fields/DateTime.php create mode 100755 nova/src/Fields/Deletable.php create mode 100755 nova/src/Fields/DetachesPivotModels.php create mode 100755 nova/src/Fields/DeterminesIfCreateRelationCanBeShown.php create mode 100755 nova/src/Fields/Downloadable.php create mode 100755 nova/src/Fields/Expandable.php create mode 100755 nova/src/Fields/Field.php create mode 100755 nova/src/Fields/FieldCollection.php create mode 100755 nova/src/Fields/FieldElement.php create mode 100755 nova/src/Fields/File.php create mode 100755 nova/src/Fields/FormatsRelatableDisplayValues.php create mode 100755 nova/src/Fields/Gravatar.php create mode 100755 nova/src/Fields/HasDownload.php create mode 100755 nova/src/Fields/HasMany.php create mode 100755 nova/src/Fields/HasManyThrough.php create mode 100755 nova/src/Fields/HasOne.php create mode 100755 nova/src/Fields/HasOneThrough.php create mode 100755 nova/src/Fields/HasPreview.php create mode 100755 nova/src/Fields/HasThumbnail.php create mode 100755 nova/src/Fields/Heading.php create mode 100755 nova/src/Fields/Hidden.php create mode 100755 nova/src/Fields/ID.php create mode 100755 nova/src/Fields/Image.php create mode 100755 nova/src/Fields/KeyValue.php create mode 100755 nova/src/Fields/Line.php create mode 100755 nova/src/Fields/ManyToManyCreationRules.php create mode 100755 nova/src/Fields/Markdown.php create mode 100755 nova/src/Fields/MorphMany.php create mode 100755 nova/src/Fields/MorphOne.php create mode 100755 nova/src/Fields/MorphTo.php create mode 100755 nova/src/Fields/MorphToActionTarget.php create mode 100755 nova/src/Fields/MorphToMany.php create mode 100755 nova/src/Fields/MorphedByMany.php create mode 100755 nova/src/Fields/Number.php create mode 100755 nova/src/Fields/Password.php create mode 100755 nova/src/Fields/PasswordConfirmation.php create mode 100755 nova/src/Fields/Place.php create mode 100755 nova/src/Fields/PresentsImages.php create mode 100755 nova/src/Fields/ResolvedFields.php create mode 100755 nova/src/Fields/ResolvesReverseRelation.php create mode 100755 nova/src/Fields/ResourceRelationshipGuesser.php create mode 100755 nova/src/Fields/Searchable.php create mode 100755 nova/src/Fields/Select.php create mode 100755 nova/src/Fields/Slug.php create mode 100755 nova/src/Fields/Sparkline.php create mode 100755 nova/src/Fields/Stack.php create mode 100755 nova/src/Fields/Status.php create mode 100755 nova/src/Fields/Storable.php create mode 100755 nova/src/Fields/Text.php create mode 100755 nova/src/Fields/Textarea.php create mode 100755 nova/src/Fields/Timezone.php create mode 100755 nova/src/Fields/Trix.php create mode 100755 nova/src/Fields/VaporFile.php create mode 100755 nova/src/Fields/VaporImage.php create mode 100755 nova/src/FillsFields.php create mode 100755 nova/src/FilterDecoder.php create mode 100755 nova/src/Filters/BooleanFilter.php create mode 100755 nova/src/Filters/DateFilter.php create mode 100755 nova/src/Filters/Filter.php create mode 100755 nova/src/GlobalSearch.php create mode 100755 nova/src/Http/Controllers/ActionController.php create mode 100755 nova/src/Http/Controllers/AssociatableController.php create mode 100755 nova/src/Http/Controllers/AttachableController.php create mode 100755 nova/src/Http/Controllers/AttachedResourceUpdateController.php create mode 100755 nova/src/Http/Controllers/CardController.php create mode 100755 nova/src/Http/Controllers/CreationFieldController.php create mode 100755 nova/src/Http/Controllers/CreationPivotFieldController.php create mode 100755 nova/src/Http/Controllers/DashboardCardController.php create mode 100755 nova/src/Http/Controllers/DashboardController.php create mode 100755 nova/src/Http/Controllers/DashboardMetricController.php create mode 100755 nova/src/Http/Controllers/DeletesFields.php create mode 100755 nova/src/Http/Controllers/DetailMetricController.php create mode 100755 nova/src/Http/Controllers/FieldController.php create mode 100755 nova/src/Http/Controllers/FieldDestroyController.php create mode 100755 nova/src/Http/Controllers/FieldDownloadController.php create mode 100755 nova/src/Http/Controllers/FilterController.php create mode 100755 nova/src/Http/Controllers/ForgotPasswordController.php create mode 100755 nova/src/Http/Controllers/HandlesCustomRelationKeys.php create mode 100755 nova/src/Http/Controllers/LensActionController.php create mode 100755 nova/src/Http/Controllers/LensCardController.php create mode 100755 nova/src/Http/Controllers/LensController.php create mode 100755 nova/src/Http/Controllers/LensFilterController.php create mode 100755 nova/src/Http/Controllers/LensMetricController.php create mode 100755 nova/src/Http/Controllers/LensResourceCountController.php create mode 100755 nova/src/Http/Controllers/LensResourceDestroyController.php create mode 100755 nova/src/Http/Controllers/LensResourceForceDeleteController.php create mode 100755 nova/src/Http/Controllers/LensResourceRestoreController.php create mode 100755 nova/src/Http/Controllers/LoginController.php create mode 100755 nova/src/Http/Controllers/MetricController.php create mode 100755 nova/src/Http/Controllers/MorphableController.php create mode 100755 nova/src/Http/Controllers/MorphedResourceAttachController.php create mode 100755 nova/src/Http/Controllers/PivotFieldDestroyController.php create mode 100755 nova/src/Http/Controllers/RelatableAuthorizationController.php create mode 100755 nova/src/Http/Controllers/ResetPasswordController.php create mode 100755 nova/src/Http/Controllers/ResourceAttachController.php create mode 100755 nova/src/Http/Controllers/ResourceCountController.php create mode 100755 nova/src/Http/Controllers/ResourceDestroyController.php create mode 100755 nova/src/Http/Controllers/ResourceDetachController.php create mode 100755 nova/src/Http/Controllers/ResourceForceDeleteController.php create mode 100755 nova/src/Http/Controllers/ResourceIndexController.php create mode 100755 nova/src/Http/Controllers/ResourceRestoreController.php create mode 100755 nova/src/Http/Controllers/ResourceShowController.php create mode 100755 nova/src/Http/Controllers/ResourceStoreController.php create mode 100755 nova/src/Http/Controllers/ResourceUpdateController.php create mode 100755 nova/src/Http/Controllers/RouterController.php create mode 100755 nova/src/Http/Controllers/ScriptController.php create mode 100755 nova/src/Http/Controllers/SearchController.php create mode 100755 nova/src/Http/Controllers/SoftDeleteStatusController.php create mode 100755 nova/src/Http/Controllers/StyleController.php create mode 100755 nova/src/Http/Controllers/TrixAttachmentController.php create mode 100755 nova/src/Http/Controllers/UpdateFieldController.php create mode 100755 nova/src/Http/Controllers/UpdatePivotFieldController.php create mode 100755 nova/src/Http/Middleware/Authenticate.php create mode 100755 nova/src/Http/Middleware/Authorize.php create mode 100755 nova/src/Http/Middleware/BootTools.php create mode 100755 nova/src/Http/Middleware/DispatchServingNovaEvent.php create mode 100755 nova/src/Http/Middleware/RedirectIfAuthenticated.php create mode 100755 nova/src/Http/Middleware/ServeNova.php create mode 100755 nova/src/Http/Requests/ActionRequest.php create mode 100755 nova/src/Http/Requests/CardRequest.php create mode 100755 nova/src/Http/Requests/CountsResources.php create mode 100755 nova/src/Http/Requests/CreateResourceRequest.php create mode 100755 nova/src/Http/Requests/DashboardCardRequest.php create mode 100755 nova/src/Http/Requests/DashboardMetricRequest.php create mode 100755 nova/src/Http/Requests/DashboardRequest.php create mode 100755 nova/src/Http/Requests/DecodesFilters.php create mode 100755 nova/src/Http/Requests/DeleteLensResourceRequest.php create mode 100755 nova/src/Http/Requests/DeleteResourceRequest.php create mode 100755 nova/src/Http/Requests/DeletionRequest.php create mode 100755 nova/src/Http/Requests/DetachResourceRequest.php create mode 100755 nova/src/Http/Requests/ForceDeleteLensResourceRequest.php create mode 100755 nova/src/Http/Requests/ForceDeleteResourceRequest.php create mode 100755 nova/src/Http/Requests/GlobalSearchRequest.php create mode 100755 nova/src/Http/Requests/InteractsWithLenses.php create mode 100755 nova/src/Http/Requests/InteractsWithRelatedResources.php create mode 100755 nova/src/Http/Requests/InteractsWithResources.php create mode 100755 nova/src/Http/Requests/LensActionRequest.php create mode 100755 nova/src/Http/Requests/LensCardRequest.php create mode 100755 nova/src/Http/Requests/LensCountRequest.php create mode 100755 nova/src/Http/Requests/LensMetricRequest.php create mode 100755 nova/src/Http/Requests/LensRequest.php create mode 100755 nova/src/Http/Requests/LensResourceDeletionRequest.php create mode 100755 nova/src/Http/Requests/MetricRequest.php create mode 100755 nova/src/Http/Requests/NovaRequest.php create mode 100755 nova/src/Http/Requests/PivotFieldDestroyRequest.php create mode 100755 nova/src/Http/Requests/QueriesResources.php create mode 100755 nova/src/Http/Requests/ResourceDetailRequest.php create mode 100755 nova/src/Http/Requests/ResourceIndexRequest.php create mode 100755 nova/src/Http/Requests/RestoreLensResourceRequest.php create mode 100755 nova/src/Http/Requests/RestoreResourceRequest.php create mode 100755 nova/src/Http/Requests/UpdateResourceRequest.php create mode 100755 nova/src/Lenses/Lens.php create mode 100755 nova/src/Listeners/BootNova.php create mode 100755 nova/src/Macros/FirstDayOfPreviousQuarter.php create mode 100755 nova/src/Macros/FirstDayOfQuarter.php create mode 100755 nova/src/Makeable.php create mode 100755 nova/src/MemoizesMethods.php create mode 100755 nova/src/Metable.php create mode 100755 nova/src/Metrics/HasHelpText.php create mode 100755 nova/src/Metrics/Metric.php create mode 100755 nova/src/Metrics/MySqlTrendDateExpression.php create mode 100755 nova/src/Metrics/Partition.php create mode 100755 nova/src/Metrics/PartitionColors.php create mode 100755 nova/src/Metrics/PartitionResult.php create mode 100755 nova/src/Metrics/PostgresTrendDateExpression.php create mode 100755 nova/src/Metrics/RangedMetric.php create mode 100755 nova/src/Metrics/SqlSrvTrendDateExpression.php create mode 100755 nova/src/Metrics/SqliteTrendDateExpression.php create mode 100755 nova/src/Metrics/Trend.php create mode 100755 nova/src/Metrics/TrendDateExpression.php create mode 100755 nova/src/Metrics/TrendDateExpressionFactory.php create mode 100755 nova/src/Metrics/TrendResult.php create mode 100755 nova/src/Metrics/Value.php create mode 100755 nova/src/Metrics/ValueResult.php create mode 100755 nova/src/Nova.php create mode 100755 nova/src/NovaApplicationServiceProvider.php create mode 100755 nova/src/NovaCoreServiceProvider.php create mode 100755 nova/src/NovaServiceProvider.php create mode 100755 nova/src/Panel.php create mode 100755 nova/src/PendingRouteRegistration.php create mode 100755 nova/src/PerformsQueries.php create mode 100755 nova/src/PerformsValidation.php create mode 100755 nova/src/ProxiesCanSeeToGate.php create mode 100755 nova/src/Query/ApplyFilter.php create mode 100755 nova/src/Query/ApplySoftDeleteConstraint.php create mode 100755 nova/src/Query/Builder.php create mode 100755 nova/src/ResolvesActions.php create mode 100755 nova/src/ResolvesCards.php create mode 100755 nova/src/ResolvesFields.php create mode 100755 nova/src/ResolvesFilters.php create mode 100755 nova/src/ResolvesLenses.php create mode 100755 nova/src/Resource.php create mode 100755 nova/src/ResourceCollection.php create mode 100755 nova/src/ResourceTool.php create mode 100755 nova/src/ResourceToolElement.php create mode 100755 nova/src/Rules/NotAttached.php create mode 100755 nova/src/Rules/NotExactlyAttached.php create mode 100755 nova/src/Rules/Relatable.php create mode 100755 nova/src/Rules/RelatableAttachment.php create mode 100755 nova/src/Testing/Browser/Components/DetailComponent.php create mode 100755 nova/src/Testing/Browser/Components/IndexComponent.php create mode 100755 nova/src/Testing/Browser/Components/LensComponent.php create mode 100755 nova/src/Testing/Browser/Pages/Attach.php create mode 100755 nova/src/Testing/Browser/Pages/Create.php create mode 100755 nova/src/Testing/Browser/Pages/Dashboard.php create mode 100755 nova/src/Testing/Browser/Pages/Detail.php create mode 100755 nova/src/Testing/Browser/Pages/HasSearchableRelations.php create mode 100755 nova/src/Testing/Browser/Pages/HomePage.php create mode 100755 nova/src/Testing/Browser/Pages/Index.php create mode 100755 nova/src/Testing/Browser/Pages/Lens.php create mode 100755 nova/src/Testing/Browser/Pages/Page.php create mode 100755 nova/src/Testing/Browser/Pages/Update.php create mode 100755 nova/src/Testing/Browser/Pages/UpdateAttached.php create mode 100755 nova/src/Testing/Browser/Pages/UserIndex.php create mode 100755 nova/src/Tool.php create mode 100755 nova/src/Tools/Dashboard.php create mode 100755 nova/src/Tools/ResourceManager.php create mode 100755 nova/src/TrashedStatus.php create mode 100755 nova/src/Trix/Attachment.php create mode 100755 nova/src/Trix/DeleteAttachments.php create mode 100755 nova/src/Trix/DetachAttachment.php create mode 100755 nova/src/Trix/DiscardPendingAttachments.php create mode 100755 nova/src/Trix/PendingAttachment.php create mode 100755 nova/src/Trix/PruneStaleAttachments.php create mode 100755 nova/src/Trix/StorePendingAttachment.php create mode 100755 nova/src/Util.php create mode 100755 nova/tailwind.js create mode 100755 nova/testbench.yaml create mode 100755 nova/webpack.mix.js.dist create mode 100755 nova/yarn.lock create mode 100755 package-lock.json create mode 100755 package.json create mode 100755 phpunit.xml create mode 100755 postcss.config.js create mode 100755 public/.htaccess create mode 100755 public/docs/company.pdf create mode 100755 public/docs/offer_authors.pdf create mode 100755 public/docs/offer_paid_subscription.pdf create mode 100755 public/docs/personal_data.pdf create mode 100755 public/docs/privacy_policy.pdf create mode 100755 public/docs/security_policy.pdf create mode 100755 public/docs/terms_use.pdf create mode 100755 public/favicon.ico create mode 100755 public/favicon.svg create mode 100755 public/image/201123-Banana.jpeg create mode 100755 public/image/auth-bg.jpg create mode 100755 public/image/bg-home.jpg create mode 100755 public/image/card1.jpg create mode 100755 public/image/card3.jpg create mode 100755 public/image/card4.jpg create mode 100755 public/image/card6.jpg create mode 100755 public/image/check.svg create mode 100755 public/image/default-placeholder.jpg create mode 100755 public/image/film.svg create mode 100755 public/image/fire 3.svg create mode 100755 public/image/image.svg create mode 100755 public/image/layout.svg create mode 100755 public/image/logotype.svg create mode 100755 public/image/logotype2.svg create mode 100755 public/image/modalimg1.jpg create mode 100755 public/image/music.svg create mode 100755 public/image/orange-auth.jpg create mode 100755 public/image/profile_bg.jpg create mode 100755 public/image/search.svg create mode 100755 public/image/tommaso-teloni-LXSOa2kPB6I-unsplash.jpg create mode 100755 public/image/user_card.jpg create mode 100755 public/image/user_card2.png create mode 100755 public/index.php create mode 100755 public/library/simplebar.css create mode 100755 public/library/simplebar.min.js create mode 100755 public/robots.txt create mode 100755 public/vendor/nova/app.css create mode 100755 public/vendor/nova/app.js create mode 100755 public/vendor/nova/manifest.js create mode 100755 public/vendor/nova/mix-manifest.json create mode 100755 public/vendor/nova/vendor.js create mode 100755 public/web.config create mode 100755 resources/css/app.css create mode 100755 resources/css/common.css create mode 100755 resources/js/Pages/Auth/Feedback.vue create mode 100755 resources/js/Pages/Auth/ForgotPassword.vue create mode 100755 resources/js/Pages/Auth/Login.vue create mode 100755 resources/js/Pages/Auth/Register.vue create mode 100755 resources/js/Pages/Auth/ResetPassword.vue create mode 100755 resources/js/Pages/Auth/VerifyEmail.vue create mode 100755 resources/js/Pages/Complaint/Index.vue create mode 100755 resources/js/Pages/Complaint/IndexComment.vue create mode 100755 resources/js/Pages/Dashboard/Index.vue create mode 100755 resources/js/Pages/Feed/Index.vue create mode 100755 resources/js/Pages/Image/Create.vue create mode 100755 resources/js/Pages/Image/Edit.vue create mode 100755 resources/js/Pages/Image/Index.vue create mode 100755 resources/js/Pages/Image/Show.vue create mode 100755 resources/js/Pages/Messenger/Index.vue create mode 100755 resources/js/Pages/Music/Create.vue create mode 100755 resources/js/Pages/Music/Edit.vue create mode 100755 resources/js/Pages/Music/Feed.vue create mode 100755 resources/js/Pages/Music/Show.vue create mode 100755 resources/js/Pages/Profile/Index.vue create mode 100755 resources/js/Pages/Profile/Readers.vue create mode 100755 resources/js/Pages/Profile/Subs.vue create mode 100755 resources/js/Pages/Settings/SettingsDocuments.vue create mode 100755 resources/js/Pages/Settings/SettingsLikes.vue create mode 100755 resources/js/Pages/Settings/SettingsMoney.vue create mode 100755 resources/js/Pages/Settings/SettingsNotify.vue create mode 100755 resources/js/Pages/Settings/SettingsPacket.vue create mode 100755 resources/js/Pages/Settings/SettingsPayouts.vue create mode 100755 resources/js/Pages/Settings/SettingsProfile.vue create mode 100755 resources/js/Pages/Settings/SettingsPurchases.vue create mode 100755 resources/js/Pages/Settings/SettingsPurchasesFile.vue create mode 100755 resources/js/Pages/Settings/SettingsTarif.vue create mode 100755 resources/js/Pages/Settings/SettingsVerification.vue create mode 100755 resources/js/Pages/Settings/SettingsWriteToUs.vue create mode 100755 resources/js/Pages/Tag/Feed.vue create mode 100755 resources/js/Pages/User/Index.vue create mode 100755 resources/js/Pages/Video/Create.vue create mode 100755 resources/js/Pages/Video/Edit.vue create mode 100755 resources/js/Pages/Video/Feed.vue create mode 100755 resources/js/Pages/Video/Show.vue create mode 100755 resources/js/Shared/AudioPlayer.vue create mode 100755 resources/js/Shared/Edit/CreatedMediaItem.vue create mode 100755 resources/js/Shared/Feed/Adults.vue create mode 100755 resources/js/Shared/Feed/Feed.vue create mode 100755 resources/js/Shared/Feed/FeedNode.vue create mode 100755 resources/js/Shared/Feed/FeedPreview.vue create mode 100755 resources/js/Shared/Feed/FooterBanned.vue create mode 100755 resources/js/Shared/Feed/FooterMisc.vue create mode 100755 resources/js/Shared/Feed/HeaderMisc.vue create mode 100755 resources/js/Shared/Feed/Images.vue create mode 100755 resources/js/Shared/Feed/Musics.vue create mode 100755 resources/js/Shared/Feed/Prohibited.vue create mode 100755 resources/js/Shared/Feed/Videos.vue create mode 100755 resources/js/Shared/FeedList/Adults.vue create mode 100755 resources/js/Shared/FeedList/FeedFooter.vue create mode 100755 resources/js/Shared/FeedList/FeedHeader.vue create mode 100755 resources/js/Shared/FeedList/FeedList.vue create mode 100755 resources/js/Shared/FeedList/FeedListNode.vue create mode 100755 resources/js/Shared/FeedList/FeedMusicBody.vue create mode 100755 resources/js/Shared/FeedList/FeedPaidBlock.vue create mode 100755 resources/js/Shared/FeedList/Images.vue create mode 100755 resources/js/Shared/FeedList/Musics.vue create mode 100755 resources/js/Shared/FeedList/Prohibited.vue create mode 100755 resources/js/Shared/FeedList/Videos.vue create mode 100755 resources/js/Shared/Form/Dropdown.vue create mode 100755 resources/js/Shared/Form/DropdownMenu.vue create mode 100755 resources/js/Shared/Form/DropdownMenuPoint.vue create mode 100755 resources/js/Shared/Form/FileInput.vue create mode 100755 resources/js/Shared/Form/FileInputMultiple.vue create mode 100755 resources/js/Shared/Form/FileInputMultipleDecode.vue create mode 100755 resources/js/Shared/Form/LoadingButton.vue create mode 100755 resources/js/Shared/Form/SearchFilter.vue create mode 100755 resources/js/Shared/Form/TagInput.vue create mode 100755 resources/js/Shared/Form/TextInput.vue create mode 100755 resources/js/Shared/Form/TextareaInput.vue create mode 100755 resources/js/Shared/Form/Toggle.vue create mode 100755 resources/js/Shared/Layout.vue create mode 100755 resources/js/Shared/LayoutParts/HeaderAuth.vue create mode 100755 resources/js/Shared/LayoutParts/HeaderBar.vue create mode 100755 resources/js/Shared/LayoutParts/SettingsMenu.vue create mode 100755 resources/js/Shared/LayoutParts/Sidebar.vue create mode 100755 resources/js/Shared/LayoutParts/SidebarSecondary.vue create mode 100755 resources/js/Shared/Messanger/BoardFriendList.vue create mode 100755 resources/js/Shared/Messanger/BoardMessage.vue create mode 100755 resources/js/Shared/Messanger/BoardMessageItem.vue create mode 100755 resources/js/Shared/Messanger/BoardRoomList.vue create mode 100755 resources/js/Shared/Messanger/BoardTop.vue create mode 100755 resources/js/Shared/Messanger/MessangerModal.vue create mode 100755 resources/js/Shared/MetaHead.vue create mode 100755 resources/js/Shared/Misc/CommentCount.vue create mode 100755 resources/js/Shared/Misc/FeedTags.vue create mode 100755 resources/js/Shared/Misc/FeedTagsButtons.vue create mode 100755 resources/js/Shared/Misc/FlashMessages.vue create mode 100755 resources/js/Shared/Misc/InfinityScroll.vue create mode 100755 resources/js/Shared/Misc/InfinityScrollRender.vue create mode 100755 resources/js/Shared/Misc/LikeCount.vue create mode 100755 resources/js/Shared/Misc/LinkBack.vue create mode 100755 resources/js/Shared/Misc/MusicAddCount.vue create mode 100755 resources/js/Shared/Misc/ShareCount.vue create mode 100755 resources/js/Shared/Misc/TogglePlayButton.vue create mode 100755 resources/js/Shared/Misc/UserAvatar.vue create mode 100755 resources/js/Shared/Misc/UserBanner.vue create mode 100755 resources/js/Shared/Misc/ViewCount.vue create mode 100755 resources/js/Shared/Misc/WarningText.vue create mode 100755 resources/js/Shared/Notification/NotifyText.vue create mode 100755 resources/js/Shared/Notification/NotifyTextBannedMessageFeed.vue create mode 100755 resources/js/Shared/Notification/NotifyTextComment.vue create mode 100755 resources/js/Shared/Notification/NotifyTextCustomPaidSubs.vue create mode 100755 resources/js/Shared/Notification/NotifyTextLeader.vue create mode 100755 resources/js/Shared/Notification/NotifyTextLike.vue create mode 100755 resources/js/Shared/Notification/NotifyTextPurchase.vue create mode 100755 resources/js/Shared/Notification/NotifyTextRemoveFeed.vue create mode 100755 resources/js/Shared/Notification/NotifyTextSubs.vue create mode 100755 resources/js/Shared/Overlay/ModalFeed.vue create mode 100755 resources/js/Shared/Overlay/ModalFeedBody.vue create mode 100755 resources/js/Shared/Overlay/ModalFeedMedia.vue create mode 100755 resources/js/Shared/Overlay/ModalFeedMediaImages.vue create mode 100755 resources/js/Shared/Overlay/ModalFeedMediaMusics.vue create mode 100755 resources/js/Shared/Overlay/ModalFeedMediaVideos.vue create mode 100755 resources/js/Shared/Overlay/ModalShare.vue create mode 100755 resources/js/Shared/Overlay/ModalWarning.vue create mode 100755 resources/js/Shared/Partials/ProfileHeader.vue create mode 100755 resources/js/Shared/Partials/ProfileMenu.vue create mode 100755 resources/js/Shared/Partials/UserComment.vue create mode 100755 resources/js/Shared/Partials/UserCommentChildren.vue create mode 100755 resources/js/Shared/Partials/UserCommentRemove.vue create mode 100755 resources/js/Shared/Purchase/PurchaseImages.vue create mode 100755 resources/js/Shared/Purchase/PurchaseMusics.vue create mode 100755 resources/js/Shared/Purchase/PurchaseVideos.vue create mode 100755 resources/js/Shared/Search/SearchHeader.vue create mode 100755 resources/js/Shared/Tabs/AudioTabFavorite.vue create mode 100755 resources/js/Shared/Tabs/AudioTabLoaded.vue create mode 100755 resources/js/Shared/Tabs/AudioTabNow.vue create mode 100755 resources/js/Shared/Tabs/ItemMusic.vue create mode 100755 resources/js/app.js create mode 100755 resources/js/includes/composables/index.js create mode 100755 resources/js/includes/composables/useApi.js create mode 100755 resources/js/includes/composables/useAutoresizeTextarea.js create mode 100755 resources/js/includes/composables/useInfinityScroll.js create mode 100755 resources/js/includes/composables/useIntersectionObserver.js create mode 100755 resources/js/includes/helper.js create mode 100755 resources/js/store/index.js create mode 100755 resources/js/store/modules/index.js create mode 100755 resources/js/store/modules/player.js create mode 100755 resources/lang/en/auth.php create mode 100755 resources/lang/en/pagination.php create mode 100755 resources/lang/en/passwords.php create mode 100755 resources/lang/en/validation.php create mode 100755 resources/lang/ru.json create mode 100755 resources/lang/ru/passwords.php create mode 100755 resources/lang/vendor/nova/en.json create mode 100755 resources/lang/vendor/nova/en/validation.php create mode 100755 resources/views/app.blade.php create mode 100755 resources/views/company.blade.php create mode 100755 resources/views/cookies.blade.php create mode 100755 resources/views/emails/admin/feedback.blade.php create mode 100755 resources/views/emails/admin/registered.blade.php create mode 100755 resources/views/offer.blade.php create mode 100755 resources/views/privacypolicy.blade.php create mode 100755 resources/views/terms-payment.blade.php create mode 100755 resources/views/terms-service.blade.php create mode 100755 resources/views/vendor/nova/partials/footer.blade.php create mode 100755 resources/views/vendor/nova/partials/logo.blade.php create mode 100755 resources/views/vendor/nova/partials/meta.blade.php create mode 100755 resources/views/vendor/nova/partials/user.blade.php create mode 100755 routes/api.php create mode 100755 routes/channels.php create mode 100755 routes/console.php create mode 100755 routes/web.php create mode 100755 server.php create mode 100755 storage/app/.gitignore create mode 100755 storage/app/public/.gitignore create mode 100755 storage/debugbar/.gitignore create mode 100755 storage/framework/.gitignore create mode 100755 storage/framework/cache/.gitignore create mode 100755 storage/framework/cache/data/.gitignore create mode 100755 storage/framework/sessions/.gitignore create mode 100755 storage/framework/testing/.gitignore create mode 100755 storage/framework/views/.gitignore create mode 100755 storage/logs/.gitignore create mode 100755 stylelint.config.js create mode 100755 tailwind.config.js create mode 100755 tests/CreatesApplication.php create mode 100755 tests/Feature/ExampleTest.php create mode 100755 tests/TestCase.php create mode 100755 tests/Unit/ExampleTest.php create mode 100755 vite.config.js diff --git a/.env.example b/.env.example new file mode 100755 index 00000000..c5131835 --- /dev/null +++ b/.env.example @@ -0,0 +1,66 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost +FRONTEND_URL=https://dev.teeaseer.com + +WWWGROUP=1000 +WWWUSER=1000 + +LOG_CHANNEL=stack + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +QUEUE_CONNECTION=sync +SESSION_DRIVER=file +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +FILESYSTEM_DRIVER=public + +MAIL_MAILER=smtp +MAIL_HOST=mailhog +MAIL_PORT=1025 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS=null +MAIL_FROM_NAME="${APP_NAME}" + +MAIL_ADMIN_EMAIL=mail@4teaser.com + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" + +INTERKASSA_AUTH_KEY= +INTERKASSA_ACCOUNT_ID= + +INTERKASSA_SECRET_KEY= +INTERKASSA_ID= + +QIWI_PUBLIC= +QIWI_SECRET= + +YOOKASSA_SHOP_ID= +YOOKASSA_KEY= diff --git a/.eslintignore b/.eslintignore new file mode 100755 index 00000000..6cd69e0b --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +dist +public diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100755 index 00000000..e469547e --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,58 @@ +module.exports = { + 'globals': { + 'defineProps': 'readonly', + 'defineEmits': 'readonly', + 'defineExpose': 'readonly', + 'withDefaults': 'readonly' + }, + + 'env': { + 'browser': true, + 'node': true, + 'es2021': true + }, + 'extends': [ + 'eslint:recommended', + 'plugin:vue/vue3-recommended' + ], + 'parserOptions': { + 'ecmaVersion': 13, + 'sourceType': 'module' + }, + 'plugins': [ + 'vue' + ], + 'rules': { + 'indent': [ + 'error', + 4 + ], + 'linebreak-style': [ + 'error', + 'windows' + ], + 'quotes': [ + 'error', + 'single' + ], + 'semi': [ + 'error', + 'never' + ], + // 'no-unused-vars': 'off', + 'no-undef': 'off', + + 'vue/html-self-closing': 'off', + 'vue/no-v-html': 'off', + 'vue/max-attributes-per-line': ['error', { + 'singleline': { + 'max': 2, + 'allowFirstLine': true + }, + 'multiline': { + 'max': 2, + 'allowFirstLine': true + } + }] + } +} diff --git a/.gitattributes b/.gitattributes new file mode 100755 index 00000000..967315dd --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +* text=auto +*.css linguist-vendored +*.scss linguist-vendored +*.js linguist-vendored +CHANGELOG.md export-ignore diff --git a/.gitignore b/.gitignore new file mode 100755 index 00000000..ae40e359 --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +/node_modules +/public/css +/public/hot +/public/js +/public/mix-manifest.json +/public/storage +/public/dist +/storage/*.key +.DS_Store +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +note.md +*.log +.DS_Store +.env.backup +.env.production +.phpactor.json +.phpunit.result.cache +/.fleet +/.idea +/.nova +/.phpunit.cache +/.vscode +/.zed +/auth.json +/node_modules +/public/build +/public/hot +/public/storage +/storage/*.key +/storage/pail +/vendor +Homestead.json +Homestead.yaml +Thumbs.db + +# что за хуйня здесь происходит? +# то что выше переделать потом +.env diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100755 index 00000000..0c58ce36 --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,21 @@ +setUsingCache(false) + ->setRiskyAllowed(true) + ->setRules([ + '@PHP70Migration' => true, + '@PHP71Migration' => true, + '@PSR2' => true, + // '@Symfony' => true, + 'array_syntax' => ['syntax' => 'short'], + 'increment_style' => ['style' => 'post'], + 'no_multiline_whitespace_before_semicolons' => true, + 'not_operator_with_successor_space' => true, + 'ordered_imports' => ['sortAlgorithm' => 'alpha'], + 'semicolon_after_instruction' => false, + 'strict_comparison' => true, + 'yoda_style' => false, + ]); diff --git a/.styleci.yml b/.styleci.yml new file mode 100755 index 00000000..9231873a --- /dev/null +++ b/.styleci.yml @@ -0,0 +1,13 @@ +php: + preset: laravel + disabled: + - no_unused_imports + finder: + not-name: + - index.php + - server.php +js: + finder: + not-name: + - webpack.mix.js +css: true diff --git a/README.md b/README.md new file mode 100755 index 00000000..ceb6ac0a --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +

+ +

+Build Status +Total Downloads +Latest Stable Version +License +

+ +## About Laravel + +Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: + +- [Simple, fast routing engine](https://laravel.com/docs/routing). +- [Powerful dependency injection container](https://laravel.com/docs/container). +- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage. +- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent). +- Database agnostic [schema migrations](https://laravel.com/docs/migrations). +- [Robust background job processing](https://laravel.com/docs/queues). +- [Real-time event broadcasting](https://laravel.com/docs/broadcasting). + +Laravel is accessible, powerful, and provides tools required for large, robust applications. + +## Learning Laravel + +Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. + +If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. + +## Laravel Sponsors + +We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell). + +### Premium Partners + +- **[Vehikl](https://vehikl.com/)** +- **[Tighten Co.](https://tighten.co)** +- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)** +- **[64 Robots](https://64robots.com)** +- **[Cubet Techno Labs](https://cubettech.com)** +- **[Cyber-Duck](https://cyber-duck.co.uk)** +- **[Many](https://www.many.co.uk)** +- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)** +- **[DevSquad](https://devsquad.com)** +- **[Curotec](https://www.curotec.com/services/technologies/laravel/)** +- **[OP.GG](https://op.gg)** + +## Contributing + +Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions). + +## Code of Conduct + +In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct). + +## Security Vulnerabilities + +If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed. + +## License + +The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). diff --git a/app/Console/Commands/AutoSubscribeApp.php b/app/Console/Commands/AutoSubscribeApp.php new file mode 100755 index 00000000..fb4ca6cb --- /dev/null +++ b/app/Console/Commands/AutoSubscribeApp.php @@ -0,0 +1,92 @@ +price; + + $lists = DB::table('subscriptions') + ->join('users', 'subscriptions.user_id', '=', 'users.id') + ->selectRaw('subscriptions.user_id, MAX(subscriptions.ends_at) as last_time, users.autosubscription_site') + ->groupBy('subscriptions.user_id', 'users.autosubscription_site') + ->havingRaw('MAX(subscriptions.ends_at) <= ?', [now()]) + ->having('users.autosubscription_site', true) + ->get(); + + foreach($lists as $list){ + $balance = SubscriptionService::calculate($list->user_id); + $ends_at = Carbon::now()->addMonths(); + + if ($price > $balance) { + echo 'Недостаточно средств ' . $list->user_id . PHP_EOL; + + DB::table('users') + ->where('id', $list->user_id) + ->update(['autosubscription_site' => false]); + continue; + } + + $sub = new Subscription; + $sub->user_id = $list->user_id; + $sub->package_id = $plan->id; + $sub->price = $price; + $sub->ends_at = $ends_at; + $sub->status = 'complete'; //YSV ENUM! + $sub->save(); + + $point = new Point; + $point->user_id =$list->user_id; + $point->point = $price; + $point->type = 'Оплата за подписку'; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + } + + + + return 0; + } +} diff --git a/app/Console/Commands/AutoSubscribePaidUsers.php b/app/Console/Commands/AutoSubscribePaidUsers.php new file mode 100755 index 00000000..747ef411 --- /dev/null +++ b/app/Console/Commands/AutoSubscribePaidUsers.php @@ -0,0 +1,182 @@ +join('users_subscribers', 'users_package_customers.customer_id', '=', 'users_subscribers.subscriber_id') + ->join('users_subscribers', function ($join) { + $join + ->on('users_package_customers.user_id', '=', 'users_subscribers.subscriber_id') + ->where('users_subscribers.autosubscription', true); + }) + //->select('users_package_customers.*', 'users_subscribers.user_id as userId', 'users_subscribers.subscriber_id as subscriberId', 'users_subscribers.autosubscription') + ->select(DB::raw('MAX(users_package_customers.time_end) as last_time,users_package_customers.customer_id,users_package_customers.package_id','users_subscribers.autosubscription')) + ->groupBy('users_package_customers.customer_id', 'users_package_customers.package_id', 'users_subscribers.autosubscription') + ->havingRaw('MAX(users_package_customers.time_end) <= ?', [now()]) + ->get(); + + + foreach ($users_package_customers as $user_package_customers) { + $userCustomer = User::find($user_package_customers->customer_id); + $userPackage = UserPackage::find($user_package_customers->package_id); + $userHeadPackage = User::find($userPackage->user_id); + $balance = SubscriptionService::calculate($userCustomer->id); + + if ($userPackage->price > $balance) { + DB::table('users_subscribers') + ->where('user_id', $userCustomer->id) + ->where('subscriber_id', $userHeadPackage->id) + ->update(['autosubscription' => DB::raw('NOT autosubscription')]); + continue; + } + + + DB::table('users_package_customers')->insert([ + 'user_id' => $userHeadPackage->id, + 'customer_id' => $userCustomer->id, + 'package_id' => $userPackage->id, + 'price' => $userPackage->price, + 'time_end' => now()->addMonths(), + //'time_end' => now()->addMinutes(10), + 'created_at' => now(), + ]); + + + $point = new Point; + $point->user_id = $userCustomer->id; + $point->point = $userPackage->price; + $point->type = 'Оформлена подписка на пользователя: ' . $userHeadPackage->name . ' (' . $userHeadPackage->username . ')'; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + $point = new Point; + $point->user_id = $userHeadPackage->id; + $point->point = $userPackage->price; + $point->type = 'Пользователь оформил платную подписку: ' . $userCustomer->name . ' (' . $userCustomer->username . ')'; //YSV ENUM! + $point->direction = DirectionEnum::COMING(); + $point->save(); + + + $message = [ + 'user_id' => $userCustomer->id, + 'node_id' => null, + ]; + $userHeadPackage->notify(new UserCustomPaidSubscription($message)); + + + } + + \DB::commit(); + // dd($users_package_customers); + + return 0; + // max + // $users_package_customers = DB::table('users_package_customers') + // ->select(DB::raw('max(time_end) as last_time, avg(attempt_auto_paid) as attempt_auto_paid_avg,customer_id,package_id')) + // ->groupBy('customer_id', 'package_id') + // ->havingRaw('MAX(time_end) <= ?', [now()]) + // ->havingRaw('AVG(attempt_auto_paid) < ?', [3]) + // ->get(); + + + // foreach ($users_package_customers as $users_package_customer) { + // $userCustomer = User::find($users_package_customer->customer_id); + + // $userPackage = UserPackage::find($users_package_customer->package_id); + // $userHeadPackage = User::find($userPackage->user_id); + + // $balance = SubscriptionService::calculate($userCustomer->id); + + // if ($userPackage->price > $balance) { + // DB::table('users_package_customers') + // ->where('customer_id', $users_package_customer->customer_id) + // ->where('package_id', $users_package_customer->package_id) + // ->increment('attempt_auto_paid'); + // continue; + // } + + + // DB::table('users_package_customers')->insert([ + // 'user_id' => $userHeadPackage->id, + // 'customer_id' => $userCustomer->id, + // 'package_id' => $userPackage->id, + // 'price' => $userPackage->price, + // // 'time_end' => now()->addMonths(), + // 'time_end' => now()->addMinutes(10), + // 'created_at' => now(), + // ]); + + + // $point = new Point; + // $point->user_id = $userCustomer->id; + // $point->point = $userPackage->price; + // $point->type = 'Оформлена подписка на пользователя: ' . $userHeadPackage->username; //YSV ENUM! + // $point->direction = DirectionEnum::EXPENSE(); + // $point->save(); + + // $point = new Point; + // $point->user_id = $userHeadPackage->id; + // $point->point = $userPackage->price; + // $point->type = 'Пользователь оформил платную подписку: ' . $userCustomer->username; //YSV ENUM! + // $point->direction = DirectionEnum::COMING(); + // $point->save(); + + + // $message = [ + // 'user_id' => $userCustomer->id, + // 'node_id' => null, + // ]; + // $userHeadPackage->notify(new UserCustomPaidSubscription($message)); + + // } + + + + // return 0; + + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php new file mode 100755 index 00000000..35014ab4 --- /dev/null +++ b/app/Console/Kernel.php @@ -0,0 +1,43 @@ +command('teaser:user-auto-subs')->weekly(); + + $schedule->command('teaser:auto-subs-app')->weekly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/app/Domain/Comments/Models/Comment.php b/app/Domain/Comments/Models/Comment.php new file mode 100755 index 00000000..fc1612e4 --- /dev/null +++ b/app/Domain/Comments/Models/Comment.php @@ -0,0 +1,45 @@ +belongsTo(Feed::class); + } + + public function user() + { + return $this->belongsTo(User::class); + } + + public function answer_to() + { + return $this->belongsTo(User::class, 'to_user_id'); + } + + public function parent() + { + return $this->belongsTo(Comment::class, 'parent_id'); + } + public function children() + { + return $this->hasMany(Comment::class, 'parent_id'); + } + + + public function complaints() + { + return $this->hasMany(CommentComplaint::class); + } + +} diff --git a/app/Domain/Comments/Observers/NovaCommentObserver.php b/app/Domain/Comments/Observers/NovaCommentObserver.php new file mode 100755 index 00000000..3fd9a648 --- /dev/null +++ b/app/Domain/Comments/Observers/NovaCommentObserver.php @@ -0,0 +1,20 @@ +trashed()){ + $complaints = $comment->complaints; + foreach ($complaints as $complaint) { + $complaint->status = 'reviewed_bad'; + $complaint->moderator_checking_id = auth()->id(); + $complaint->save(); + } + } + } +} diff --git a/app/Domain/Complaints/Models/CommentComplaint.php b/app/Domain/Complaints/Models/CommentComplaint.php new file mode 100755 index 00000000..43a77dc6 --- /dev/null +++ b/app/Domain/Complaints/Models/CommentComplaint.php @@ -0,0 +1,32 @@ +belongsTo(User::class); + } + + public function moderator() + { + return $this->belongsTo(User::class, 'moderator_checking_id'); + } + + public function reason() + { + return $this->belongsTo(Reason::class); + } + + public function comment() + { + return $this->belongsTo(Comment::class); + } +} diff --git a/app/Domain/Complaints/Models/Complaint.php b/app/Domain/Complaints/Models/Complaint.php new file mode 100755 index 00000000..66ef5d07 --- /dev/null +++ b/app/Domain/Complaints/Models/Complaint.php @@ -0,0 +1,36 @@ +belongsTo(User::class); + } + + public function moderator() + { + return $this->belongsTo(User::class, 'moderator_checking_id'); + } + + public function reason() + { + return $this->belongsTo(Reason::class); + } + + public function feed() + { + return $this->belongsTo(Feed::class); + } + +} diff --git a/app/Domain/Complaints/Models/Reason.php b/app/Domain/Complaints/Models/Reason.php new file mode 100755 index 00000000..a2665c2b --- /dev/null +++ b/app/Domain/Complaints/Models/Reason.php @@ -0,0 +1,10 @@ +moderator_checking_id)) { + $complaint->moderator_checking_id = auth()->user()->id; + } + } +} diff --git a/app/Domain/Feeds/Action/CreateFeedAction.php b/app/Domain/Feeds/Action/CreateFeedAction.php new file mode 100755 index 00000000..bed645dc --- /dev/null +++ b/app/Domain/Feeds/Action/CreateFeedAction.php @@ -0,0 +1,29 @@ +tooFeedAction = $tooFeedAction; + $this->tagAction = $tagAction; + } + + public function __invoke($dataFeed) + { + + $feed = ($this->tooFeedAction)($dataFeed); + + if(count($dataFeed->tags)){ + $idsTag = ($this->tagAction)($dataFeed->tags); + $feed->tags()->sync($idsTag); + } + } +} diff --git a/app/Domain/Feeds/DataTransferObjects/FeedData.php b/app/Domain/Feeds/DataTransferObjects/FeedData.php new file mode 100755 index 00000000..99f3efe2 --- /dev/null +++ b/app/Domain/Feeds/DataTransferObjects/FeedData.php @@ -0,0 +1,136 @@ +id = 999999; + $user->name = 'Реклама'; + $user->username = 'Реклама'; + $user->color = '#795541'; + $user->user_char = 'AD'; + + return [ + 'id' => $feed->id, + 'type' => $feed->type, + 'user' => (array)$user, + 'entity' => self::fromDataAds($feed, CollectionMediaEnum::COMMON()), + ]; + } + + + public static function fromDataAds($feed, $collection_media_name) + { + $entity = (object) []; + $entity->title = $feed->title; + $entity->body = nl2br($feed->body); + $entity->views_count = $feed->views_count; + $entity->slug = $feed->slug; + $entity->type = $feed->type; + $entity->created_at_humans = $feed->created_at->diffForHumans(); + $mediaTransform = (new FeedMediaTransform($feed)) + ->addCollectionMediaName($collection_media_name) + ->spot(); + $entity->preview = $mediaTransform['preview']; + $entity->collection_medias = $mediaTransform['medias']; + + $entity->is_ads = true; + $entity->is_repost = false; + $entity->price = null; + $entity->is_paid = 0; + $entity->likes = 0; + $entity->liked = false; + $entity->tags = []; + $entity->status = 1; + $entity->comments = 0; + + return $entity; + } + + + public static function fromDataBaseWithUser($feed, $purchased_subscriptions_by_users = []) + { + $feed_is_restrict = false; + $feed_is_restrict_name = ''; + + $feed_user_id = $feed->user_id; + + $is_my_feed = false; + if(auth()->user()){ + $is_my_feed = auth()->user()->id === $feed_user_id; + } + + + $feed_is_semi_paid = $feed->is_paid === 2; + + // $is_adult_feed = false; + // $is_my_settings_adult_restrict = auth()->user()->allow_adult_content; + $restrict_feed_adult = false; + + // if(($is_my_settings_adult_restrict === false && $is_adult_feed) && $is_my_feed === false){ + // $feed_is_restrict_name = 'adults'; + // $restrict_feed_adult = true; + // } + + $private_user_feed = $feed->user->private; + $restrict_feed_private_account = false; + if(($feed_is_semi_paid && $private_user_feed && !in_array($feed_user_id, $purchased_subscriptions_by_users)) && $is_my_feed === false){ + $feed_is_restrict_name = 'prohibited'; + $restrict_feed_private_account = true; + } + + + if($restrict_feed_adult || $restrict_feed_private_account){ + $feed_is_restrict = true; + } + + $user = $feed->user->only('id', 'name', 'username', 'photo_path', 'color', 'user_char', 'private'); + return [ + 'id' => $feed->id, + 'type' => $feed_is_restrict ? $feed_is_restrict_name : $feed->type, + 'user' => $user, + 'entity' => $feed_is_restrict ? null : self::fromData($feed, CollectionMediaEnum::COMMON()), + ]; + } + + + + public static function fromData($feed, $collection_media_name) + { + $entity = (object) []; + $entity->title = $feed->title; + $entity->body = $feed->body; + $entity->views_count = $feed->views_count; + $entity->price = $feed->price; + $entity->is_paid = $feed->is_paid; + $entity->is_ads = false; + // $entity->is_adult = $feed->is_adult; + $entity->slug = $feed->slug; + $entity->type = $feed->type; + $entity->is_repost = $feed->is_repost; + + $entity->likes = $feed->likes_count; + $entity->liked = $feed->liked ?? false; + $entity->tags = $feed->tags; + $entity->status = $feed->status; + $entity->comments = $feed->comments_count; + $entity->created_at_humans = $feed->created_at->diffForHumans(); + + $mediaTransform = (new FeedMediaTransform($feed)) + ->addCollectionMediaName($collection_media_name) + ->spot(); + + + $entity->preview = $mediaTransform['preview']; + $entity->collection_medias = $mediaTransform['medias']; + + return $entity; + } +} diff --git a/app/Domain/Feeds/DataTransferObjects/FeedDataCollection.php b/app/Domain/Feeds/DataTransferObjects/FeedDataCollection.php new file mode 100755 index 00000000..b41f2d2e --- /dev/null +++ b/app/Domain/Feeds/DataTransferObjects/FeedDataCollection.php @@ -0,0 +1,12 @@ + 'preview', + 'PAID' => 'paid', + 'COMMON' => 'common', + ]; + } +} diff --git a/app/Domain/Feeds/Enums/StatusEnum.php b/app/Domain/Feeds/Enums/StatusEnum.php new file mode 100755 index 00000000..7fd98d17 --- /dev/null +++ b/app/Domain/Feeds/Enums/StatusEnum.php @@ -0,0 +1,23 @@ + 0, + 'APPROVED' => 1, + 'BANNED' => 2, + 'EDITABLE' => 3, + ]; + } +} diff --git a/app/Domain/Feeds/Models/Feed.php b/app/Domain/Feeds/Models/Feed.php new file mode 100755 index 00000000..8d28c45e --- /dev/null +++ b/app/Domain/Feeds/Models/Feed.php @@ -0,0 +1,76 @@ +user->type; + } + + protected $casts = [ + 'is_paid' => 'integer', + 'is_ads' => 'boolean', + 'status' => StatusEnum::class, + ]; + + protected static function boot() + { + parent::boot(); + + self::observe(FeedObserver::class); + } + + public function feedable() + { + return $this->morphTo(); + } + + public function tags() + { + return $this->belongsToMany(Tag::class, 'feed_tags'); + } + + public function comments() + { + return $this->hasMany(Comment::class); + } + + public function views() + { + return $this->belongsToMany(User::class, 'users_feeds_view'); + } + + public function likes() + { + return $this->belongsToMany(User::class, 'users_feeds_like'); + } + + public function user() + { + return $this->belongsTo(User::class); + } + + public function who_boughts() + { + return $this->belongsToMany(User::class, 'user_feed_purchase')->withPivot('amount')->withTimestamps(); + } + + public function complaints() + { + return $this->hasMany(Complaint::class); + } +} diff --git a/app/Domain/Feeds/Observers/FeedObserver.php b/app/Domain/Feeds/Observers/FeedObserver.php new file mode 100755 index 00000000..ef88299e --- /dev/null +++ b/app/Domain/Feeds/Observers/FeedObserver.php @@ -0,0 +1,40 @@ +slug = $uuid . '_' . $feed->type; + } + + + public function created(Feed $feed) + { + FeedAddProcessed::dispatch($feed); + } + + public function deleted(Feed $feed) + { + FeedRemoveProcessed::dispatch($feed); + } + + // public function forceDeleted(Feed $feed) + // { + // dd('forceDeleted'); + // } + + public function updated(Feed $feed) + { + FeedUpdateProcessed::dispatch($feed); + } + +} diff --git a/app/Domain/Feeds/Observers/NovaFeedAdsObserver.php b/app/Domain/Feeds/Observers/NovaFeedAdsObserver.php new file mode 100755 index 00000000..3a153100 --- /dev/null +++ b/app/Domain/Feeds/Observers/NovaFeedAdsObserver.php @@ -0,0 +1,19 @@ +getPathInfo(), '/nova-api/feed-ads')){ + $user = User::system(); + $feed->user_id = $user->id; + $feed->is_ads = true; + $feed->created_at = now(); + $feed->updated_at = now(); + } + } +} diff --git a/app/Domain/Feeds/Observers/NovaFeedObserver.php b/app/Domain/Feeds/Observers/NovaFeedObserver.php new file mode 100755 index 00000000..3a0721c7 --- /dev/null +++ b/app/Domain/Feeds/Observers/NovaFeedObserver.php @@ -0,0 +1,61 @@ +getOriginal('status'); + $newStatus = $feed->status; + + if(($oldStatus === StatusEnum::PENDING() || $oldStatus === StatusEnum::EDITABLE()) && $newStatus === StatusEnum::BANNED()){ + $user = $feed->user; + $message = [ + 'user_id' => $user->id, + 'node_id' => $feed->id, + 'text' => $feed->status_note, + 'success' => false + ]; + $user->notify(new BannedMessageFeed($message)); + } + + if(($oldStatus === StatusEnum::PENDING() || $oldStatus === StatusEnum::EDITABLE()) && $newStatus === StatusEnum::APPROVED()){ + $user = $feed->user; + $message = [ + 'user_id' => $user->id, + 'node_id' => $feed->id, + 'text' => $feed->status_note, + 'success' => true + ]; + $user->notify(new BannedMessageFeed($message)); + $feed->status_note = ''; + } + + } + + public function deleting(Feed $feed) + { + + if(!$feed->trashed()){ + $complaints = $feed->complaints; + foreach ($complaints as $complaint) { + $complaint->status = 'reviewed_bad'; + $complaint->moderator_checking_id = auth()->id(); + $complaint->save(); + } + + $user = $feed->user; + $message = [ + 'user_id' => $user->id, + 'node_id' => $feed->id, + ]; + $user->notify(new RemoveFeed($message)); + } + } +} diff --git a/app/Domain/Feeds/Queries/FeedQueryBuilder.php b/app/Domain/Feeds/Queries/FeedQueryBuilder.php new file mode 100755 index 00000000..ef7fe202 --- /dev/null +++ b/app/Domain/Feeds/Queries/FeedQueryBuilder.php @@ -0,0 +1,262 @@ +feed = $query; + }else{ + $this->feed = Feed::query(); + } + + } + public function enableAdvertising() + { + $this->is_ads = true; + return $this; + } + + public function search($filters) + { + $this->feed->when($filters['search'] ?? null, function ($query, $search) { + $query->where(function ($query) use ($search) { + $query->where('title', 'ilike', '%'.$search.'%') + ->orWhere('body', 'ilike', '%'.$search.'%'); + }); + }); + return $this; + } + + public function addTags($tags) + { + $this->feed->whereHas('tags', function (Builder $query) use($tags) { + $query->whereIn('id', $tags); + }); + return $this; + } + + public function addType($type) + { + if($type == 'image'){ + //$this->feed->whereHasMorph('feedable', [Image::class]); + $this->feed->where('type', 'images'); + } + if($type == 'video'){ + // $this->feed->whereHasMorph('feedable', [Video::class]); + $this->feed->where('type', 'videos'); + } + if($type == 'music'){ + //$this->feed->whereHasMorph('feedable', [Music::class]); + $this->feed->where('type', 'musics'); + } + return $this; + } + + public function filter($filter = null) + { + if($filter === 'hot'){ + return $this->order('likes_count'); + } + return $this->order(); + } + + public function order($by = null) + { + if($by){ + $this->feed->orderBy($by, 'desc'); + }else{ + $this->feed->orderBy('id', 'desc'); + } + return $this; + + } + + public function selectBy($where, $by) + { + $this->feed->where($where, $by); + return $this; + } + + public function selectByIds($ids) + { + if(is_array($ids)){ + $this->feed->whereIn('id', $ids); + }else{ + $this->feed->where('id', $ids); + } + return $this; + } + + public function withTrashed() { + $this->feed->withTrashed(); + return $this; + } + + public function disableActiveFeed() + { + $this->onlyActiveFeed = false; + return $this; + } + + public function disablePaginate() + { + $this->pagination = false; + return $this; + } + + public function getData() + { + if($this->onlyActiveFeed){ + $this->feed = $this->feed->where('status', StatusEnum::APPROVED()); + } + $this->feed = $this->feed->withCount([ + 'comments', + 'likes', + ]); + + if(auth()->user()){ + $this->feed = $this->feed + ->withCount(['likes as liked' => function (Builder $query) { + $query->where('user_id', auth()->user()->id); + }]) + ->withCasts(['liked' => 'boolean']); + } + if($this->pagination){ + $this->feed = $this->feed->cursorPaginate(self::PAGINATION_COUNT); + $this->getCursorHash(); + }else{ + $this->feed = $this->feed->get(); + } + + return $this; + } + + protected function getCursorHash() + { + $this->hasPages = $this->feed->hasMorePages(); + $this->nextCursor = get_cursor_hash($this->feed); + } + + public function withTags() + { + $this->feed->with('tags:id,name,slug'); + return $this; + } + + public function withUser() + { + $this->feed->with('user:id,first_name,last_name,username,photo_path,color,user_char,private'); + return $this; + } + + public function withFeedable() + { + + // $this->feed->with('media'); + // :id,model_type,model_id,name,file_name,collection_name,custom_properties + + if(auth()->user()){ + $this->feed->withCount('media') + ->with(['media' => function($query){ + // withCount('likes')->withCasts(['likes_count' => 'boolean']); + $query->withCount(['likes' => function (Builder $query) { + $query->where('user_id', auth()->user()->id); + }])->withCasts(['likes_count' => 'boolean']); + }]); + }else{ + $this->feed->with('media'); + } + + + return $this; + + // $this->feed->with('feedable', function (MorphTo $morphTo) { + // $morphTo->morphWith([ + // Image::class => ['media'], + // Video::class => ['media'], + // Music::class => ['media'], + // ]); + // }); + // return $this; + } + + public function transformData() + { + $feed_collect = collect(); + + if(auth()->user()){ + $purchased_subscriptions_by_users = \DB::table('users_package_customers') + ->where('customer_id', auth()->user()->id) + ->where('time_end', '>', now()) + ->pluck('user_id')->toArray(); + }else{ + $purchased_subscriptions_by_users = []; + } + + foreach ($this->feed as $feed) { + $feed = FeedData::fromDataBaseWithUser($feed, $purchased_subscriptions_by_users); + if($feed['entity']){ + $feed['entity']->tags->transform(function ($item) { + return [ + 'id' => $item->id, + 'name' => $item->name, + 'slug' => $item->slug, + ]; + }); + } + + $feed_collect[] = $feed; + } + + if(auth()->check()){ + $subscription_purchased = SubscriptionService::activeSubscription(); + if($subscription_purchased == false){ + $adsMedia = Feed::where('is_ads', true)->with('media')->inRandomOrder()->first(); + if($adsMedia && $this->is_ads){ + $adsMediaData = FeedData::fromAds($adsMedia); + $feed_collect->splice(4, 0, [$adsMediaData]); + } + } + } + return $feed_collect; + } + + public function build() + { + $this + ->withFeedable() + ->withUser() + ->withTags() + ->getData(); + return $this; + } + + public function transformGet() + { + + return $this + ->withFeedable() + ->withUser() + ->withTags() + ->getData()->transformData(); + } + +} diff --git a/app/Domain/Feeds/Service/FeedMediaTransform.php b/app/Domain/Feeds/Service/FeedMediaTransform.php new file mode 100755 index 00000000..3b22c09e --- /dev/null +++ b/app/Domain/Feeds/Service/FeedMediaTransform.php @@ -0,0 +1,139 @@ +feed = $feed; + $this->type = $feed->type; + } + + public function getFullPath() + { + $this->typeUrl = 'disk'; + return $this; + } + + public function paid() + { + return $this->addCollectionMediaName(CollectionMediaEnum::PAID()); + } + + public function default() + { + return $this->addCollectionMediaName(CollectionMediaEnum::COMMON()); + } + + public function addCollectionMediaName($collection_name) + { + $this->collection_name = $collection_name; + return $this; + } + + public function spot() + { + if($this->type === 'images'){ + return $this->images(); + } + + if($this->type === 'videos'){ + return $this->videos(); + } + + if($this->type === 'musics'){ + return $this->musics(); + } + + } + + public function videos() + { + $collection = []; + $medias = $this->feed->getMedia($this->collection_name); + $medias->each(function ($item) use (&$collection) { + $collection[] = [ + 'url' => $this->typeUrl === 'web' ? $item->getFullUrl() : $item->getPath(), + 'id' => $item->id, + ]; + }); + return [ + 'preview' => $this->getPreview(), + 'medias' => $collection, + ]; + } + public function images() + { + + $collection = []; + $medias = $this->feed->getMedia($this->collection_name); + $medias->each(function ($item) use (&$collection) { + $collection[] = [ + 'url' => $this->typeUrl === 'web' ? $item->getFullUrl() : $item->getPath(), + 'id' => $item->id, + ]; + }); + return [ + 'preview' => $this->getPreview(), + 'medias' => $collection, + ]; + } + + public function musics() + { + $collection = []; + $medias = $this->feed->getMedia($this->collection_name); + + $medias->each(function ($item) use (&$collection) { + $collection[] = [ + 'url' => $this->typeUrl === 'web' ? $item->getFullUrl() : $item->getPath(), + 'name' => $item->name, + 'playing' => false, + 'liked' => $item->likes_count ?? false, + 'time' => $item->getCustomProperty('time'), + 'id' => $item->id, + ]; + }); + return [ + 'preview' => $this->getPreview(), + 'medias' => $collection, + ]; + } + + public function getPreview($type = 0) + { + if($this->type === 'images'){ + $img_preview = $this->feed->getMedia($this->collection_name)->first(); + if($img_preview){ + if($type){ + return $img_preview; + } + return $img_preview->getFullUrl(); + } + } + + $preview = $this->feed->getMedia(CollectionMediaEnum::PREVIEW()); + if($type){ + return $preview->count() ? $preview->first() : null; + } + + return $preview->count() ? $preview->first()->getFullUrl() : null; + } + + public function getPreviewObject() + { + $preview = $this->getPreview(1); + if($preview){ + return [ 'id'=> $preview->id, 'url' => $preview->getFullUrl() ]; + } + return null; + } +} diff --git a/app/Domain/Feeds/Service/LiveFeed.php b/app/Domain/Feeds/Service/LiveFeed.php new file mode 100755 index 00000000..e1a94be4 --- /dev/null +++ b/app/Domain/Feeds/Service/LiveFeed.php @@ -0,0 +1,38 @@ +id; + $userFeeds = $user->feeds()->pluck('created_at', 'id')->transform(function ($item) { + return ['times' => $item->getTimestamp()]; + })->toArray(); + $add_posts = []; + + foreach ($userFeeds as $feedID => $userFeed) { + $add_posts[] = [ + 'feed_id' => $feedID, + 'user_id' => auth()->user()->id, + 'home_user_id' => $userID, + 'times' => $userFeed['times'], + ]; + } + DB::table('users_live_feeds')->insertOrIgnore($add_posts); + + + } + + public static function removeBySub($user) + { + $userID = $user->id; + DB::table('users_live_feeds') + ->where('home_user_id', $userID) + ->where('user_id', auth()->user()->id) + ->delete(); + } +} diff --git a/app/Domain/Feeds/ToFeedAction.php b/app/Domain/Feeds/ToFeedAction.php new file mode 100755 index 00000000..30fe41a5 --- /dev/null +++ b/app/Domain/Feeds/ToFeedAction.php @@ -0,0 +1,8 @@ + $imageData->title, + 'body' => $imageData->body, + 'price' => $imageData->price, + 'is_paid' => $imageData->is_paid, + 'user_id' => $imageData->user->id, + 'is_ads' => false, + 'type' => 'images', + ]); + + foreach ($imageData->photos as $photo) { + $imageFeed->addMedia($photo)->toMediaCollection('common'); + } + + if($imageData->is_loaded_photos_paid){ + foreach ($imageData->photos_paid as $photo) { + $imageFeed->addMedia($photo)->toMediaCollection('paid'); + } + } + + DB::commit(); + + return $imageFeed; + } +} diff --git a/app/Domain/Images/Action/UpdateImageAction.php b/app/Domain/Images/Action/UpdateImageAction.php new file mode 100755 index 00000000..6ffd03ae --- /dev/null +++ b/app/Domain/Images/Action/UpdateImageAction.php @@ -0,0 +1,68 @@ +imageFeed = $imageFeed; + } + + public function __invoke(ImageData $imageData) + { + + $status = $this->imageFeed->status; + if($status === StatusEnum::BANNED()){ + $status = StatusEnum::EDITABLE(); + } + if($status === StatusEnum::APPROVED()){ + $status = StatusEnum::EDITABLE(); + } + + DB::beginTransaction(); + + $this->imageFeed->fill([ + 'title' => $imageData->title, + 'body' => $imageData->body, + 'price' => $imageData->price, + 'is_paid' => $imageData->is_paid, + 'status' => $status, + 'is_ads' => false, + ])->save(); + + if($imageData->is_loaded_photos){ + foreach ($imageData->photos as $photo) { + $this->imageFeed->addMedia($photo)->toMediaCollection('common'); + } + } + + if($imageData->is_loaded_photos_paid){ + foreach ($imageData->photos_paid as $photo) { + $this->imageFeed->addMedia($photo)->toMediaCollection('paid'); + } + } + + if(count($imageData->removedItems)){ + foreach ($imageData->removedItems as $removedItem) { + if($media = Media::find($removedItem)){ + $media->delete(); + } + } + } + + DB::commit(); + + return $this->imageFeed->refresh(); + } +} diff --git a/app/Domain/Images/DataTransferObjects/ImageData.php b/app/Domain/Images/DataTransferObjects/ImageData.php new file mode 100755 index 00000000..4bf12992 --- /dev/null +++ b/app/Domain/Images/DataTransferObjects/ImageData.php @@ -0,0 +1,41 @@ + $request->input('title'), + 'body' => $request->input('body'), + 'price' => $request->input('price'), + 'is_paid' => $request->input('is_paid'), + 'user' => auth()->user(), + 'tags' => $request->input('tags') ?? [], + + 'photos' => $request->file('photos'), + 'is_loaded_photos' => $request->hasFile('photos'), + + 'photos_paid' => $request->file('photos_paid'), + 'is_loaded_photos_paid' => $request->hasFile('photos_paid'), + + 'removedItems' => $request->input('removedItems') ?? [], + ]); + } +} diff --git a/app/Domain/Images/Models/Image.php b/app/Domain/Images/Models/Image.php new file mode 100755 index 00000000..efbdd7c7 --- /dev/null +++ b/app/Domain/Images/Models/Image.php @@ -0,0 +1,32 @@ +morphOne(Feed::class, 'feedable'); + } + + public function complaints() + { + return $this->morphMany(Complaint::class, 'complaintable'); + } + + public function user() + { + return $this->belongsTo(User::class); + } + + +} diff --git a/app/Domain/Medias/Models/TeaserMedia.php b/app/Domain/Medias/Models/TeaserMedia.php new file mode 100755 index 00000000..37e19533 --- /dev/null +++ b/app/Domain/Medias/Models/TeaserMedia.php @@ -0,0 +1,17 @@ +belongsToMany(\App\Models\User::class, 'user_audio_like', 'media_id', 'user_id'); + } + +} diff --git a/app/Domain/Messenger/Models/ChatRoom.php b/app/Domain/Messenger/Models/ChatRoom.php new file mode 100755 index 00000000..84ff1c9b --- /dev/null +++ b/app/Domain/Messenger/Models/ChatRoom.php @@ -0,0 +1,25 @@ +hasMany(Message::class)->orderBy('created_at', 'desc'); + } + + public function latestMessage() + { + return $this->hasOne(Message::class)->latestOfMany(); + } + + public function users() + { + return $this->belongsToMany(User::class, 'user_chat_room'); + } +} diff --git a/app/Domain/Messenger/Models/Message.php b/app/Domain/Messenger/Models/Message.php new file mode 100755 index 00000000..fdd9caf7 --- /dev/null +++ b/app/Domain/Messenger/Models/Message.php @@ -0,0 +1,24 @@ +belongsTo(User::class); + } + + public function room() + { + return $this->belongsTo(ChatRoom::class, 'chat_room_id'); + } + +} diff --git a/app/Domain/Musics/Action/CreateMusicAction.php b/app/Domain/Musics/Action/CreateMusicAction.php new file mode 100755 index 00000000..3e721d8a --- /dev/null +++ b/app/Domain/Musics/Action/CreateMusicAction.php @@ -0,0 +1,70 @@ +title)){ + $file_count = count($musicData->musics); + $first_file = $musicData->musics[0]->getClientOriginalName(); + $filename = pathinfo($first_file, PATHINFO_FILENAME); + $musicData->title = $filename . ' (' . $file_count . ')'; + } + + $musicFeed = Feed::create([ + 'title' => $musicData->title, + 'body' => $musicData->body, + 'price' => $musicData->price, + 'is_paid' => $musicData->is_paid, + 'user_id' => $musicData->user->id, + 'is_ads' => false, + 'type' => 'musics', + ]); + + $result_time_common = $this->calcTimeFile($musicData->times); + + foreach ($musicData->musics as $music) { + $name = $music->getClientOriginalName(); + $time = @$result_time_common[$name]; + $musicFeed->addMedia($music) + ->withCustomProperties(['time' => $time]) + ->toMediaCollection('common'); + } + if($musicData->is_loaded_preview){ + $musicFeed->addMedia($musicData->preview)->toMediaCollection('preview'); + } + + if($musicData->is_loaded_paid_music){ + $result_time_paids = $this->calcTimeFile($musicData->times_paid); + + foreach ($musicData->musics_paid as $music) { + $name = $music->getClientOriginalName(); + $time = @$result_time_paids[$name]; + $musicFeed->addMedia($music) + ->withCustomProperties(['time' => $time]) + ->toMediaCollection('paid'); + } + } + + DB::commit(); + + return $musicFeed; + } + + protected function calcTimeFile($time_musics) + { + $times = array_map(function($line){ + $line = explode(',', $line); + return [$line[0] => $line[1]]; + }, $time_musics); + return array_merge(...$times); + } +} diff --git a/app/Domain/Musics/Action/UpdateMusicAction.php b/app/Domain/Musics/Action/UpdateMusicAction.php new file mode 100755 index 00000000..d254f49c --- /dev/null +++ b/app/Domain/Musics/Action/UpdateMusicAction.php @@ -0,0 +1,95 @@ +musicFeed = $musicFeed; + } + + public function __invoke(MusicData $musicData) + { + + $status = $this->musicFeed->status; + if($status === StatusEnum::BANNED()){ + $status = StatusEnum::EDITABLE(); + } + if($status === StatusEnum::APPROVED()){ + $status = StatusEnum::EDITABLE(); + } + + DB::beginTransaction(); + $this->musicFeed->fill([ + 'title' => $musicData->title, + 'body' => $musicData->body, + 'price' => $musicData->price, + 'is_paid' => $musicData->is_paid, + 'is_ads' => false, + 'status' => $status, + ])->save(); + + if($musicData->is_loaded_preview){ + if($existPreview = $this->musicFeed->getMedia('preview')->first()){ + $existPreview->delete(); + } + $this->musicFeed->addMedia($musicData->preview)->toMediaCollection('preview'); + } + + if($musicData->is_loaded_music){ + $result_time_common = $this->calcTimeFile($musicData->times); + + foreach ($musicData->musics as $music) { + $name = $music->getClientOriginalName(); + $time = @$result_time_common[$name]; + $this->musicFeed->addMedia($music) + ->withCustomProperties(['time' => $time]) + ->toMediaCollection('common'); + } + } + + + if($musicData->is_loaded_paid_music){ + $result_time_paids = $this->calcTimeFile($musicData->times_paid); + + foreach ($musicData->musics_paid as $music) { + $name = $music->getClientOriginalName(); + $time = @$result_time_paids[$name]; + $this->musicFeed->addMedia($music) + ->withCustomProperties(['time' => $time]) + ->toMediaCollection('paid'); + } + } + + if(count($musicData->removedItems)){ + foreach ($musicData->removedItems as $removedItem) { + if($media = Media::find($removedItem)){ + $media->delete(); + } + } + } + + DB::commit(); + + return $this->musicFeed->refresh(); + } + + protected function calcTimeFile($time_musics) + { + $times = array_map(function($line){ + $line = explode(',', $line); + return [$line[0] => $line[1]]; + }, $time_musics); + return array_merge(...$times); + } +} diff --git a/app/Domain/Musics/DataTransferObjects/MusicData.php b/app/Domain/Musics/DataTransferObjects/MusicData.php new file mode 100755 index 00000000..4a2a6538 --- /dev/null +++ b/app/Domain/Musics/DataTransferObjects/MusicData.php @@ -0,0 +1,51 @@ + $request->input('title'), + 'body' => $request->input('body'), + 'price' => $request->input('price'), + 'is_paid' => $request->input('is_paid'), + 'user' => auth()->user(), + 'tags' => $request->input('tags') ?? [], + + + 'preview' => $request->file('preview'), + 'is_loaded_preview' => $request->hasFile('preview'), + + 'musics' => $request->file('musics'), + 'is_loaded_music' => $request->hasFile('musics'), + + 'musics_paid' => $request->file('musics_paid'), + 'is_loaded_paid_music' => $request->hasFile('musics_paid'), + + 'times' => $request->input('times'), + 'times_paid' => $request->input('times_paid'), + + 'removedItems' => $request->input('removedItems') ?? [], + ]); + } +} diff --git a/app/Domain/Musics/Models/Music.php b/app/Domain/Musics/Models/Music.php new file mode 100755 index 00000000..3fd5c11a --- /dev/null +++ b/app/Domain/Musics/Models/Music.php @@ -0,0 +1,32 @@ +morphMany(Complaint::class, 'complaintable'); + } + + public function feed() + { + return $this->morphOne(Feed::class, 'feedable'); + } + public function user() + { + return $this->belongsTo(User::class); + } +} diff --git a/app/Domain/PaymentGateway/Models/PaymentGatewayOrder.php b/app/Domain/PaymentGateway/Models/PaymentGatewayOrder.php new file mode 100755 index 00000000..79c56e4e --- /dev/null +++ b/app/Domain/PaymentGateway/Models/PaymentGatewayOrder.php @@ -0,0 +1,70 @@ +belongsTo(User::class); + } + + public static function interkassa($amount) + { + $paymentGatewayOrder = new PaymentGatewayOrder; + $paymentGatewayOrder->user_id = auth()->user()->id; + $paymentGatewayOrder->amount = $amount; + $paymentGatewayOrder->status = 0; // 0 - created/ 1- success/ 2-error/ 3-pending + $paymentGatewayOrder->type = self::TYPE_INTERKASSA_NAME; + $paymentGatewayOrder->save(); + + return $paymentGatewayOrder; + } + + public static function unitpay($amount) + { + $paymentGatewayOrder = new PaymentGatewayOrder; + $paymentGatewayOrder->user_id = auth()->user()->id; + $paymentGatewayOrder->amount = $amount; + $paymentGatewayOrder->status = 0; // 0 - created/ 1- success/ 2-error/ 3-pending + $paymentGatewayOrder->type = self::TYPE_UNITPAY_NAME; + $paymentGatewayOrder->save(); + + return $paymentGatewayOrder; + } + + public static function qiwi($amount) + { + $paymentGatewayOrder = new PaymentGatewayOrder; + $paymentGatewayOrder->user_id = auth()->user()->id; + $paymentGatewayOrder->amount = $amount; + $paymentGatewayOrder->number = (string) Str::uuid(); + $paymentGatewayOrder->status = 0; // 0 - created/ 1- success/ 2-error/ 3-pending + $paymentGatewayOrder->type = self::TYPE_QIWI_NAME; + $paymentGatewayOrder->save(); + + return $paymentGatewayOrder; + } + + public static function yookassa($amount) + { + $paymentGatewayOrder = new PaymentGatewayOrder; + $paymentGatewayOrder->user_id = auth()->user()->id; + $paymentGatewayOrder->amount = $amount; + $paymentGatewayOrder->number = (string) Str::uuid(); + $paymentGatewayOrder->status = 0; // 0 - created/ 1- success/ 2-error/ 3-pending + $paymentGatewayOrder->type = self::TYPE_YOO_NAME; + $paymentGatewayOrder->save(); + + return $paymentGatewayOrder; + } + +} diff --git a/app/Domain/PaymentGateway/Services/InterkassaService.php b/app/Domain/PaymentGateway/Services/InterkassaService.php new file mode 100755 index 00000000..d0b32595 --- /dev/null +++ b/app/Domain/PaymentGateway/Services/InterkassaService.php @@ -0,0 +1,25 @@ +setCheckoutSecretKey(env('INTERKASSA_SECRET_KEY')); + $configuration->setAuthorizationKey(env('INTERKASSA_AUTH_KEY')); + $configuration->setAccountId(env('INTERKASSA_ACCOUNT_ID')); + $SDKClient = new \Interkassa\Interkassa($configuration); + + $invoiceRequest = new \Interkassa\Request\GetInvoiceRequest(); + $invoiceRequest + ->setCheckoutId(env('INTERKASSA_ID')) + ->setPaymentNumber($order_id) + ->setAmount($amount) + ->setCurrency('RUB') + ->setDescription('Пополнение баланса'); + + return $SDKClient->makeInvoiceSciLink($invoiceRequest); + } +} diff --git a/app/Domain/PaymentGateway/Services/QiwiService.php b/app/Domain/PaymentGateway/Services/QiwiService.php new file mode 100755 index 00000000..f7d3c8a4 --- /dev/null +++ b/app/Domain/PaymentGateway/Services/QiwiService.php @@ -0,0 +1,27 @@ +number; + + $params = [ + 'publicKey' => $publicKey, + 'amount' => $amount, + 'billId' => $order->number, + 'successUrl' => $success_url, + 'email' => $user->email, + 'comment' => 'Пополнение баланса', + ]; + + return $billPayments->createPaymentForm($params); + + } +} diff --git a/app/Domain/PaymentGateway/Services/UnitpayService.php b/app/Domain/PaymentGateway/Services/UnitpayService.php new file mode 100755 index 00000000..1415966d --- /dev/null +++ b/app/Domain/PaymentGateway/Services/UnitpayService.php @@ -0,0 +1,66 @@ +setCustomerEmail('customer@domain.com') + // ->setCustomerPhone('79001235555') + + + $unitpay + ->setBackUrl('https://teeaseer.com') + ->setCashItems([ + new CashItem($itemName, 1, $orderSum) + ]); + + $redirectUrl = $unitpay->form( + $publicId, + $orderSum, + $orderId, + $orderDesc, + $orderCurrency + ); + return $redirectUrl; + + + // $configuration = new \Interkassa\Helper\Config(); + // $configuration->setCheckoutSecretKey(env('INTERKASSA_SECRET_KEY')); + // $configuration->setAuthorizationKey(env('INTERKASSA_AUTH_KEY')); + // $configuration->setAccountId(env('INTERKASSA_ACCOUNT_ID')); + // $SDKClient = new \Interkassa\Interkassa($configuration); + + // $invoiceRequest = new \Interkassa\Request\GetInvoiceRequest(); + // $invoiceRequest + // ->setCheckoutId(env('INTERKASSA_ID')) + // ->setPaymentNumber($order_id) + // ->setAmount($amount) + // ->setCurrency('RUB') + // ->setDescription('Пополнение баланса'); + + // return $SDKClient->makeInvoiceSciLink($invoiceRequest); + } +} diff --git a/app/Domain/PaymentGateway/Services/YookassaService.php b/app/Domain/PaymentGateway/Services/YookassaService.php new file mode 100755 index 00000000..6f1a6f15 --- /dev/null +++ b/app/Domain/PaymentGateway/Services/YookassaService.php @@ -0,0 +1,65 @@ +number; + $client = new Client(); + $client->setAuth($YOOKASSA_SHOP_ID, $YOOKASSA_KEY); + $success_url = env('APP_URL') . '/payments/status/' . $order->number; + $response = $client->createPayment( + [ + 'amount' => [ + 'value' => $amount, + 'currency' => 'RUB', + ], + 'capture' => true, + 'payment_method_data' => [ + 'type' => 'sbp', + ], + 'confirmation' => [ + 'type' => 'redirect', + 'return_url' => $success_url, + ], + 'receipt' => [ + 'customer' => [ + 'full_name' => $user->name ?? $user->username, + 'phone' => $user->phone, + "email" => $user->email + ], + 'items' => [ + [ + 'description' => 'оплата бонусов тизер', + 'quantity' => 1.00, + 'amount' => [ + 'value' => $amount, + 'currency' => 'RUB', + ], + 'vat_code' => 1, + 'payment_mode' => 'full_payment' + ] + ] + ], + 'description' => 'Заказ №' . $order->id, + ], + $idempotenceKey + ); + $order->system_payment_id = $response->getId(); + $order->save(); + + + $confirmationUrl = $response->getConfirmation()->getConfirmationUrl(); + return $confirmationUrl; + + + } +} diff --git a/app/Domain/Payments/Models/BankRequisites.php b/app/Domain/Payments/Models/BankRequisites.php new file mode 100755 index 00000000..19cfc7a4 --- /dev/null +++ b/app/Domain/Payments/Models/BankRequisites.php @@ -0,0 +1,19 @@ +belongsTo(User::class); + } + + public function requisites() + { + return $this->morphOne(Requisites::class, 'requisiteable'); + } + +} diff --git a/app/Domain/Payments/Models/Requisites.php b/app/Domain/Payments/Models/Requisites.php new file mode 100755 index 00000000..fb618143 --- /dev/null +++ b/app/Domain/Payments/Models/Requisites.php @@ -0,0 +1,19 @@ +belongsTo(User::class); + } + + public function requisiteable() + { + return $this->morphTo(); + } +} diff --git a/app/Domain/Payments/Models/Withdrawal.php b/app/Domain/Payments/Models/Withdrawal.php new file mode 100755 index 00000000..7bb4a504 --- /dev/null +++ b/app/Domain/Payments/Models/Withdrawal.php @@ -0,0 +1,63 @@ +user->phone; + } + + public function getUserTypeAttribute() + { + return $this->user->type; + } + + public function getRequisitesAttribute() + { + return 'ИНН: ' . $this->user->inn . ' ' . + 'БИК: ' . $this->user->bik . ' ' . + 'Счет: ' . $this->user->checking_account; + } + + public static function getTotalAmountForUserInCurrentMonth($userId) + { + return self::where('user_id', $userId) + ->where('status', '<>', 'cancel') + ->where('created_at', '>=', now()->startOfMonth()) + ->where('created_at', '<', now()->startOfMonth()->addMonth()) + ->sum('amount'); + } + + public static function canRequestWithdrawalPhysical($userId, $requestedAmount) + { + $totalAmount = self::getTotalAmountForUserInCurrentMonth($userId); + + return ($totalAmount + $requestedAmount) <= 12000; + } + + public static function canRequestWithdrawalLegal($userId, $requestedAmount) + { + $totalAmount = self::getTotalAmountForUserInCurrentMonth($userId); + return ($totalAmount + $requestedAmount) <= 150000; + } + + public function user() + { + return $this->belongsTo(User::class); + } + public function requisites() + { + return $this->belongsTo(Requisites::class); + } + public function point() + { + return $this->belongsTo(Point::class); + } +} diff --git a/app/Domain/Payments/Observers/WithdrawalObserver.php b/app/Domain/Payments/Observers/WithdrawalObserver.php new file mode 100755 index 00000000..8d0bdf44 --- /dev/null +++ b/app/Domain/Payments/Observers/WithdrawalObserver.php @@ -0,0 +1,24 @@ +status; + $point_id = $withdrawal->point_id; + + if($status === 'cancel'){ + Point::destroy($point_id); + } + if($status === 'success'){ + $point = Point::find($point_id); + $point->type = "Вывод средств"; + $point->save(); + } + } +} diff --git a/app/Domain/Points/Enums/DirectionEnum.php b/app/Domain/Points/Enums/DirectionEnum.php new file mode 100755 index 00000000..b8ebec04 --- /dev/null +++ b/app/Domain/Points/Enums/DirectionEnum.php @@ -0,0 +1,21 @@ + 0, // приход + 'EXPENSE' => 1, //расход + 'PENDING' => 2, //ожидание + ]; + } +} diff --git a/app/Domain/Points/Models/Point.php b/app/Domain/Points/Models/Point.php new file mode 100755 index 00000000..df4115a7 --- /dev/null +++ b/app/Domain/Points/Models/Point.php @@ -0,0 +1,14 @@ +belongsTo(User::class); + } +} diff --git a/app/Domain/Subscriptions/Models/Package.php b/app/Domain/Subscriptions/Models/Package.php new file mode 100755 index 00000000..6cb2b9c0 --- /dev/null +++ b/app/Domain/Subscriptions/Models/Package.php @@ -0,0 +1,10 @@ + 'datetime', + ]; + + public function user() + { + return $this->belongsTo(User::class); + } + + public function package() + { + return $this->belongsTo(Package::class); + } +} diff --git a/app/Domain/Subscriptions/Service/SubscriptionService.php b/app/Domain/Subscriptions/Service/SubscriptionService.php new file mode 100755 index 00000000..df4c122a --- /dev/null +++ b/app/Domain/Subscriptions/Service/SubscriptionService.php @@ -0,0 +1,106 @@ +', Carbon::now()) + ->where('status', 'complete')->get(); + return $subscriptions->sum('price'); + } + + + public static function hasSubscription() + { + return auth()->user()->subscription()->count(); + } + + public static function activeSubscription() + { + $last = auth()->user()->subscription()->first(); + if (empty($last)) { + return false; + } + + if ($last->ends_at > Carbon::now()) { + return true; + } + return false; + } + + public static function freeLeaders() + { + $leader_count = nova_get_setting('vote_leader_count'); + + $users = \DB::table('users_subscribers')->get(); + + $users = $users->groupBy('subscriber_id'); + + $leaders = collect(); + + $users = $users->map(function ($item) { + return $item->sum('leader'); + })->sortDesc()->take($leader_count); + + foreach ($users as $user_id => $leader) { + $lUser = User::find($user_id); + $lUser->name = $lUser->name; + $lUser->countVote = $leader; + $leaders[] = $lUser; + } + + return $leaders; + } + + public static function leaders() + { + $leaders = \DB::select("SELECT vote.subscriber_id as user_id, SUM(vote.leader) as vote_count FROM + ( + SELECT friends.subscriber_id, friends.leader + FROM users_subscribers friends, + ( + SELECT user_id,ends_at FROM subscriptions + WHERE ends_at > CURRENT_TIMESTAMP + )user_active, + ( + SELECT user_id,ends_at FROM subscriptions + WHERE ends_at > CURRENT_TIMESTAMP + )user_active2 + + where + friends.user_id = user_active.user_id + and friends.subscriber_id = user_active2.user_id + ) vote + GROUP BY vote.subscriber_id ORDER BY vote_count DESC"); + + + return $leaders; + } + + public static function calculate($user_id) + { + $balance = \DB::select("SELECT T_IN.user_id, T_IN.in-T_OUT.out as balance FROM + (SELECT user_id, sum(point) as out FROM points WHERE user_id = {$user_id} AND direction = 1 GROUP BY user_id) T_OUT, + (SELECT user_id, sum(point) as in FROM points WHERE user_id = {$user_id} AND direction = 0 GROUP BY user_id) T_IN + where T_IN.user_id = T_OUT.user_id"); + $balance = @$balance[0]->balance; + + if (empty($balance)) { + $points = Point::where('user_id', $user_id)->get(); + $in = $points->where('direction', 0)->sum('point'); + $out = $points->where('direction', 1)->sum('point'); + $sum = $in-$out; + if ($sum <= 0) { + return 0; + } + return $sum; + } + return $balance; + } +} diff --git a/app/Domain/Tags/Action/CreateTagAction.php b/app/Domain/Tags/Action/CreateTagAction.php new file mode 100755 index 00000000..bbf7576e --- /dev/null +++ b/app/Domain/Tags/Action/CreateTagAction.php @@ -0,0 +1,39 @@ + $slug], + ['name' => $tag] + ); + + $tagIds[] = $tagDB->id; + } + + return $tagIds; + } + + protected function create() + { + + } +} diff --git a/app/Domain/Tags/Models/Tag.php b/app/Domain/Tags/Models/Tag.php new file mode 100755 index 00000000..a597a04a --- /dev/null +++ b/app/Domain/Tags/Models/Tag.php @@ -0,0 +1,16 @@ +belongsToMany(Feed::class, 'feed_tags'); + } + +} diff --git a/app/Domain/Users/DataTransferObjects/UserData.php b/app/Domain/Users/DataTransferObjects/UserData.php new file mode 100755 index 00000000..9c52b0d1 --- /dev/null +++ b/app/Domain/Users/DataTransferObjects/UserData.php @@ -0,0 +1,34 @@ +user() ? $user->id === auth()->user()->id : false; + return new self([ + 'id' => $user->id, + 'name' => $user->name, + 'user_char' => $user->user_char, + 'color' => $user->color, + 'photo_path' => $user->photo_path, + 'banner_path' => $user->banner_path, + 'username' => $user->username, + 'private' => $user->private, + 'is_auth_user' => $idCheck, + ]); + } +} diff --git a/app/Domain/Users/Models/UserPackage.php b/app/Domain/Users/Models/UserPackage.php new file mode 100755 index 00000000..989014c9 --- /dev/null +++ b/app/Domain/Users/Models/UserPackage.php @@ -0,0 +1,11 @@ +color = $this->generateColors(); + if(!$user->username){ + $user->username = 'id_' . uniqid(); + } + } + + public function created(User $user) + { + // if($user->username != 'inner_systemuser_api'){ + // $point = new Point; + // $point->user_id = $user->id; + // $point->point = 100; + // $point->type = 'Тестовое пополнение'; //YSV ENUM! + // $point->direction = DirectionEnum::COMING(); + // $point->save(); + // } + } + + public function saving(User $user) + { + $user->user_char = $this->getChar($user); + } + + private function generateColors() + { + $colors = ['#f44336', '#e91e63', '#9c27b0', '#673ab7', '#3f51b5', '#2196f3', '#03a9f4', '#00bcd4', '#009688', '#4caf50', '#8bc34a', '#ffc107', '#ff9800', '#ff5722', '#795548', '#9e9e9e', '#607d8b', '#f44331', '#e91e61', '#9c27b1', '#673ab1', '#3f51b1', '#2196f1', '#03a9f1', '#00bcd1', '#009681', '#4caf51', '#8bc341', '#ffc101', '#ff9801', '#ff5721', '#795541', '#9e9e91', '#607d81']; + return Arr::random($colors); + } + + private function getChar($user) + { + $fname = mb_strtoupper($user->first_name); + $lname = @$user->last_name; + if($lname){ + $lname = mb_strtoupper($lname); + return mb_substr($fname, 0, 1) . mb_substr($lname, 0, 1); + } + return mb_substr($fname, 0, 1) . mb_substr($fname, 1, 1); + } + +} diff --git a/app/Domain/Users/Service/ProfileDataService.php b/app/Domain/Users/Service/ProfileDataService.php new file mode 100755 index 00000000..db156a4f --- /dev/null +++ b/app/Domain/Users/Service/ProfileDataService.php @@ -0,0 +1,56 @@ +user(); + if($gues){ + $gues = auth()->user()->id; + }else{ + $gues = null; + } + + $user->loadCount(['subscriber_reverse as is_sub' => function (Builder $query) use($gues) { + $query->where('user_id', $gues); + },'subscribers as is_reader' => function (Builder $query) use($gues) { + $query->where('subscriber_id', $gues); + }])->withCasts(['is_sub' => 'boolean', 'is_reader' => 'boolean']); + + $is_leader = false; + + if($user->is_sub && auth()->user()){ + $leader = auth()->user()->subscribers()->where('subscriber_id', $user->id)->first(); + if($leader){ + $is_leader = (boolean)$leader->pivot->leader; + } + } + + $count_feeds = $user->feeds()->count(); + $count_readable = $user->subscribers()->count(); + $count_subscribers = $user->subscriber_reverse()->count(); + + $is_auth_user = $user->id === $gues; + if($is_auth_user){ + $close_account = false; + }else{ + $close_account = $user->private == true && ($user->is_sub == 0 || $user->is_reader == 0); + } + + $object = new \stdClass(); + $object->user = $user; + $object->count_feeds = $count_feeds; + $object->count_readable = $count_readable; + $object->count_subscribers = $count_subscribers; + $object->close_account = $close_account; + $object->is_leader = $is_leader; + + return $object; + } +} diff --git a/app/Domain/Videos/Action/CreateVideoAction.php b/app/Domain/Videos/Action/CreateVideoAction.php new file mode 100755 index 00000000..93a56dac --- /dev/null +++ b/app/Domain/Videos/Action/CreateVideoAction.php @@ -0,0 +1,52 @@ +youtube ? $this->getCodeYoutube($videoData->youtube) : ''; + + $videoFeed = Feed::create([ + 'title' => $videoData->title, + 'body' => $videoData->body, + 'price' => $videoData->price, + 'is_paid' => $videoData->is_paid, + 'user_id' => $videoData->user->id, + 'type' => 'videos', + 'is_ads' => false, + //'iframe_code' => $youtube_code, + ]); + + foreach ($videoData->videos as $video) { + $videoFeed->addMedia($video)->toMediaCollection('common'); + } + if($videoData->is_loaded_preview){ + $videoFeed->addMedia($videoData->preview)->toMediaCollection('preview'); + } + if($videoData->is_loaded_videos_paid){ + foreach ($videoData->videos_paid as $video) { + $videoFeed->addMedia($video)->toMediaCollection('paid'); + } + } + + + DB::commit(); + + return $videoFeed; + } + + private function getCodeYoutube($video) + { + $youtuberegexp = '/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/i'; + preg_match($youtuberegexp, $video, $matches); + return @$matches[1]; + } +} diff --git a/app/Domain/Videos/Action/UpdateVideoAction.php b/app/Domain/Videos/Action/UpdateVideoAction.php new file mode 100755 index 00000000..be261836 --- /dev/null +++ b/app/Domain/Videos/Action/UpdateVideoAction.php @@ -0,0 +1,74 @@ +videoFeed = $videoFeed; + } + + public function __invoke(VideoData $videoData) + { + + $status = $this->videoFeed->status; + if($status === StatusEnum::BANNED()){ + $status = StatusEnum::EDITABLE(); + } + if($status === StatusEnum::APPROVED()){ + $status = StatusEnum::EDITABLE(); + } + + DB::beginTransaction(); + $this->videoFeed->fill([ + 'title' => $videoData->title, + 'body' => $videoData->body, + 'price' => $videoData->price, + 'is_paid' => $videoData->is_paid, + 'status' => $status, + 'is_ads' => false, + ])->save(); + + if($videoData->is_loaded_video){ + foreach ($videoData->videos as $video) { + $this->videoFeed->addMedia($video)->toMediaCollection('common'); + } + } + + if($videoData->is_loaded_preview){ + if($existPreview = $this->videoFeed->getMedia('preview')->first()){ + $existPreview->delete(); + } + $this->videoFeed->addMedia($videoData->preview)->toMediaCollection('preview'); + } + if($videoData->is_loaded_videos_paid){ + foreach ($videoData->videos_paid as $video) { + $this->videoFeed->addMedia($video)->toMediaCollection('paid'); + } + } + + if(count($videoData->removedItems)){ + foreach ($videoData->removedItems as $removedItem) { + if($media = Media::find($removedItem)){ + $media->delete(); + } + } + } + + DB::commit(); + + return $this->videoFeed->refresh(); + } + + +} diff --git a/app/Domain/Videos/DataTransferObjects/VideoData.php b/app/Domain/Videos/DataTransferObjects/VideoData.php new file mode 100755 index 00000000..32f17d4e --- /dev/null +++ b/app/Domain/Videos/DataTransferObjects/VideoData.php @@ -0,0 +1,46 @@ + $request->input('title'), + 'body' => $request->input('body'), + 'price' => $request->input('price'), + 'is_paid' => $request->input('is_paid'), + 'user' => auth()->user(), + 'tags' => $request->input('tags') ?? [], + + 'preview' => $request->file('preview'), + 'is_loaded_preview' => $request->hasFile('preview'), + + 'videos' => $request->file('videos'), + 'is_loaded_video' => $request->hasFile('videos'), + + 'videos_paid' => $request->file('videos_paid'), + 'is_loaded_videos_paid' => $request->hasFile('videos_paid'), + + 'removedItems' => $request->input('removedItems') ?? [], + + ]); + } +} diff --git a/app/Domain/Videos/Models/Video.php b/app/Domain/Videos/Models/Video.php new file mode 100755 index 00000000..eda36328 --- /dev/null +++ b/app/Domain/Videos/Models/Video.php @@ -0,0 +1,30 @@ +morphMany(Complaint::class, 'complaintable'); + } + + public function feed() + { + return $this->morphOne(Feed::class, 'feedable'); + } + public function user() + { + return $this->belongsTo(User::class); + } +} diff --git a/app/Domain/Votes/Models/Vote.php b/app/Domain/Votes/Models/Vote.php new file mode 100755 index 00000000..b7d9bca9 --- /dev/null +++ b/app/Domain/Votes/Models/Vote.php @@ -0,0 +1,14 @@ +belongsToMany(User::class)->withPivot('payment'); + } +} diff --git a/app/Domain/Votes/Observers/VoteObserver.php b/app/Domain/Votes/Observers/VoteObserver.php new file mode 100755 index 00000000..45b52e24 --- /dev/null +++ b/app/Domain/Votes/Observers/VoteObserver.php @@ -0,0 +1,22 @@ +accrualPoints(); + }else{ + (new VoteService($vote))->freeMode(); + } + + } +} diff --git a/app/Domain/Votes/Services/VoteService.php b/app/Domain/Votes/Services/VoteService.php new file mode 100755 index 00000000..311c1c48 --- /dev/null +++ b/app/Domain/Votes/Services/VoteService.php @@ -0,0 +1,180 @@ +leaders = $leaders; + $this->vote = $vote; + } + + + public function accrualPoints() + { + DB::beginTransaction(); + + $procent_site = (int)nova_get_setting('vote_procent_site'); + $procent_site = $procent_site / 100; + + $procent_top = (int)nova_get_setting('vote_procent_leader'); + $procent_top = $procent_top / 100; + + $procent_local = (int)nova_get_setting('vote_procent_local_leader'); + $procent_local = $procent_local / 100; + + $subscriptions = Subscription::with('user.subscribers.subscription')->where('ends_at', '>', Carbon::now()) + ->where('status', 'complete')->get(); + + $sum_site = 0; + $sdr_leader_pay = 0; + $sdr_leader_for_all_pay = []; + + foreach ($subscriptions as $subscription) { + + + $user = $subscription->user; + $subscribers = $this->activeSubs($user->subscribers); + + // Фильтр лидеров + $subscribersLeader = $subscribers->filter(function ($subscriber) { + return $subscriber->pivot->leader === 1; + }); + // Фильтр простых пользователей + $subscribersSimple = $subscribers->filter(function ($subscriber) { + return $subscriber->pivot->leader === 0; + }); + + + + $price = $subscription->price; + $to_site = round($price * $procent_site); + $sum_site += $to_site; + + $sdr = round($price - $to_site); // сумма для распределения + + $sdr_leader_global = round($sdr * $procent_top); + $sdr_leader_local = round($sdr * $procent_local); + + $sdr_simple = $sdr - $sdr_leader_global - $sdr_leader_local; + + // добавляем лидерам + $sdr_leader_pay += $sdr_leader_global; + + //если 0 подписок, но куплена подписка на сайт + // отдаем лидеру 40%, а 60% сайту + if($subscribers->isEmpty()){ + $sum_site += ($sdr - $sdr_leader_global); // 20%сайту(вместо локальных) и 40%сайту (вместо простых) + }else { + if ($subscribersLeader->isNotEmpty()) { + //Выплачиваем каждому локальному лидеру + $sdr_parts_local = round($sdr_leader_local / $subscribersLeader->count()); + //сохраняем транзакции локальных лидеров + foreach ($subscribersLeader as $subs) { + $sdr_leader_for_all_pay[$subs->id][] = $sdr_parts_local; + } + }else{ + $sum_site += $sdr_leader_local; //если у пользователя есть подписки, но он не выбрал лидеров + } + + if ($subscribersSimple->isNotEmpty()) { + //Выплачиваем каждому юзеру + $sdr_parts = round($sdr_simple / $subscribersSimple->count()); + //сохраняем транзакции простых пользователей + foreach ($subscribersSimple as $subs) { + $sdr_leader_for_all_pay[$subs->id][] = $sdr_parts; + } + }else{ + $sum_site += $sdr_simple; + } + } + + $this->updateSubs($subscription); + } + + $part_for_leader = round($sdr_leader_pay/count($this->leaders)); + foreach ($this->leaders as $leader) { + $sdr_leader_for_all_pay[$leader][] = $part_for_leader; + } + + + $this->payUsers($sdr_leader_for_all_pay); + $this->payForSystemUser($sum_site); + + DB::commit(); + } + + private function payUsers($sdr) + { + $sdr_users_pay = array_map(function ($lines) { + return array_sum($lines); + }, $sdr); + + + foreach ($sdr_users_pay as $user_pay_id => $sdr_user) { + $this->addPoint($user_pay_id, $sdr_user); + } + + } + + private function payForSystemUser($sum_site) + { + $system_user_id = User::system()->id; + $this->addPoint($system_user_id, $sum_site); + } + + + private function addPoint($user_id, $amount) + { + $point = new Point; + $point->user_id = $user_id; + $point->point = $amount; + $point->type = 'votes'; //YSV ENUM! + $point->direction = DirectionEnum::COMING(); + $point->save(); + + $this->vote->users()->attach($user_id, ['payment' => $amount]); + } + + private function updateSubs($sub) + { + $sub->status = 'end'; //YSV ENUM! + $sub->save(); + } + + + //проверка на акт. подписки + private function activeSubs($subscribers) + { + return $subscribers->filter(function ($subscriber) { + return optional($subscriber->subscription->first())->ends_at > Carbon::now(); + }); + } + + + public function freeMode() + { + + $users = SubscriptionService::freeLeaders(); + + foreach ($users as $leader) { + $this->vote->users()->attach($leader->id, ['payment' => $leader->countVote]); + } + + } + +} diff --git a/app/Domain/Votes/Services/VoteServiceOld.php b/app/Domain/Votes/Services/VoteServiceOld.php new file mode 100755 index 00000000..e56c5e0c --- /dev/null +++ b/app/Domain/Votes/Services/VoteServiceOld.php @@ -0,0 +1,155 @@ +leaders = $leaders; + $this->vote = $vote; + } + + + public function accrualPoints() + { + DB::beginTransaction(); + + $procent_site = (int)$this->vote->procent_site; + $procent_site = $procent_site / 100; + $procent_top = (int)$this->vote->procent_top; + $procent_top = $procent_top / 100; + + $subscriptions = Subscription::with('user.subscribers.subscription')->where('ends_at', '>', Carbon::now()) + ->where('status', 'complete')->get(); + + $sum_site = 0; + $sdr_leader_pay = 0; + $sdr_users_pay = []; + foreach ($subscriptions as $subscription) { + $subscribers_simple = collect([]); + $user = $subscription->user; + + $subscribers = $this->activeSubs($user->subscribers); + $one_sub_is_leader = $this->oneLeaders($subscribers); + + if (! $one_sub_is_leader) { + $subscribers_simple = $subscribers->filter(function ($subscriber) { + return ! in_array($subscriber->id, $this->leaders); + }); + } + + $price = $subscription->price; + $to_site = $price * $procent_site; + $sum_site += $to_site; + $sdr = round($price - $to_site); + + $sdr_leader = round($sdr * $procent_top); + $sdr_simple = $sdr - $sdr_leader; + + if ($one_sub_is_leader) { + //выплачиваем весь sdr если чел. подписан на лидеров, и у него больше нет простых + $sdr_leader_pay += $sdr; + } else { + $sdr_leader_pay += $sdr_leader; + } + + if ($subscribers_simple->isNotEmpty()) { + //Выплачиваем каждому юзеру + $sdr_parts = round($sdr_simple / $subscribers_simple->count()); + //сохраняем транзакции простых пользователей + foreach ($subscribers_simple as $subs) { + $sdr_users_pay[$subs->id][] = $sdr_parts; + } + } + + $this->updateSubs($subscription); + } + + $this->payForSimpleUser($sdr_users_pay); + $this->payForLeaderUser($sdr_leader_pay); + $this->payForSystemUser($sum_site); + + DB::commit(); + } + + public function payForSystemUser($sum_site) + { + $system_user_id = User::system()->id; + $this->addPoint($system_user_id, $sum_site); + } + + //оплата лидеров + public function payForLeaderUser($sdr_leader_pay) + { + $part_for_leader = round($sdr_leader_pay/count($this->leaders)); + + foreach ($this->leaders as $leader) { + $this->addPoint($leader, $part_for_leader); + } + } + + //оплата обычных + public function payForSimpleUser($sdr_users_pay) + { + $sdr_users_pay = array_map(function ($lines) { + return array_sum($lines); + }, $sdr_users_pay); + + foreach ($sdr_users_pay as $user_pay_id => $sdr_users) { + $this->addPoint($user_pay_id, $sdr_users); + } + } + + public function addPoint($user_id, $amount) + { + $point = new Point; + $point->user_id = $user_id; + $point->point = $amount; + $point->type = 'votes'; //YSV ENUM! + $point->direction = DirectionEnum::COMING(); + $point->save(); + + $this->vote->users()->attach($user_id, ['payment' => $amount]); + } + + public function updateSubs($sub) + { + $sub->status = 'end'; //YSV ENUM! + $sub->save(); + } + + // есть в списке только лидеры + public function oneLeaders($subscribers) + { + if ($subscribers->count() <= count($this->leaders)) { + $contains = $subscribers->filter(function ($subscriber) { + return in_array($subscriber->id, $this->leaders); + }); + if ($contains->count() === $subscribers->count()) { + return true; + } + } + return false; + } + + //проверка на акт. подписки + public function activeSubs($subscribers) + { + return $subscribers->filter(function ($subscriber) { + return optional($subscriber->subscription->first())->ends_at > Carbon::now(); + }); + } +} diff --git a/app/Events/FeedAddProcessed.php b/app/Events/FeedAddProcessed.php new file mode 100755 index 00000000..29eeafb9 --- /dev/null +++ b/app/Events/FeedAddProcessed.php @@ -0,0 +1,40 @@ +feed = $feed; + } + + /** + * Get the channels the event should broadcast on. + * + * @return \Illuminate\Broadcasting\Channel|array + */ + public function broadcastOn() + { + return new PrivateChannel('add-feed-for-readers'); + } +} diff --git a/app/Events/FeedRemoveProcessed.php b/app/Events/FeedRemoveProcessed.php new file mode 100755 index 00000000..98f8e098 --- /dev/null +++ b/app/Events/FeedRemoveProcessed.php @@ -0,0 +1,40 @@ +feed = $feed; + } + + /** + * Get the channels the event should broadcast on. + * + * @return \Illuminate\Broadcasting\Channel|array + */ + public function broadcastOn() + { + return new PrivateChannel('remove-feed-for-readers'); + } +} diff --git a/app/Events/FeedUpdateProcessed.php b/app/Events/FeedUpdateProcessed.php new file mode 100755 index 00000000..edece11d --- /dev/null +++ b/app/Events/FeedUpdateProcessed.php @@ -0,0 +1,40 @@ +feed = $feed; + } + + /** + * Get the channels the event should broadcast on. + * + * @return \Illuminate\Broadcasting\Channel|array + */ + public function broadcastOn() + { + return new PrivateChannel('update-feed-for-readers'); + } +} diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php new file mode 100755 index 00000000..e35505b3 --- /dev/null +++ b/app/Exceptions/Handler.php @@ -0,0 +1,51 @@ +status() === 419) { + return back()->with([ + 'message' => 'The page expired, please try again.', + ]); + } + + return $response; + } +} diff --git a/app/Http/Controllers/Auth/AuthenticatedSessionController.php b/app/Http/Controllers/Auth/AuthenticatedSessionController.php new file mode 100755 index 00000000..96787715 --- /dev/null +++ b/app/Http/Controllers/Auth/AuthenticatedSessionController.php @@ -0,0 +1,54 @@ +authenticate(); + + $request->session()->regenerate(); + + return redirect()->intended(RouteServiceProvider::HOME); + } + + /** + * Destroy an authenticated session. + * + * @return \Illuminate\Http\RedirectResponse + */ + public function destroy(Request $request) + { + Auth::guard('web')->logout(); + + $request->session()->invalidate(); + + $request->session()->regenerateToken(); + + return redirect('/'); + } +} diff --git a/app/Http/Controllers/Auth/EmailVerificationPromptController.php b/app/Http/Controllers/Auth/EmailVerificationPromptController.php new file mode 100755 index 00000000..9daf354b --- /dev/null +++ b/app/Http/Controllers/Auth/EmailVerificationPromptController.php @@ -0,0 +1,25 @@ +user()->hasVerifiedEmail()){ + return redirect()->intended(RouteServiceProvider::HOME); + } + return Inertia::render('Auth/VerifyEmail'); + } +} diff --git a/app/Http/Controllers/Auth/NewPasswordController.php b/app/Http/Controllers/Auth/NewPasswordController.php new file mode 100755 index 00000000..d886fc09 --- /dev/null +++ b/app/Http/Controllers/Auth/NewPasswordController.php @@ -0,0 +1,66 @@ + $request->route('token'), + ]); + + } + + /** + * Handle an incoming new password request. + * + * @throws \Illuminate\Validation\ValidationException + */ + public function store(Request $request): RedirectResponse + { + $request->validate([ + 'token' => ['required'], + 'email' => ['required', 'email'], + 'password' => ['required', 'confirmed', Rules\Password::defaults()], + ]); + + + // Here we will attempt to reset the user's password. If it is successful we + // will update the password on an actual user model and persist it to the + // database. Otherwise we will parse the error and return the response. + $status = Password::reset( + $request->only('email', 'password', 'password_confirmation', 'token'), + function ($user) use ($request) { + $user->forceFill([ + 'password' => Hash::make($request->password), + 'remember_token' => Str::random(60), + ])->save(); + + event(new PasswordReset($user)); + } + ); + + // If the password was successfully reset, we will redirect the user back to + // the application's home authenticated view. If there is an error we can + // redirect them back to where they came from with their error message. + return $status == Password::PASSWORD_RESET + ? redirect()->route('login')->with('status', __($status)) + : back()->with('status', __($status)); + } +} diff --git a/app/Http/Controllers/Auth/PasswordResetLinkController.php b/app/Http/Controllers/Auth/PasswordResetLinkController.php new file mode 100755 index 00000000..6ca3ae79 --- /dev/null +++ b/app/Http/Controllers/Auth/PasswordResetLinkController.php @@ -0,0 +1,43 @@ +validate([ + 'email' => ['required', 'email'], + ]); + + // We will send the password reset link to this user. Once we have attempted + // to send the link, we will examine the response then see the message we + // need to show to the user. Finally, we'll send out a proper response. + $status = Password::sendResetLink( + $request->only('email') + ); + + + return back()->with('status', __($status)); + } +} diff --git a/app/Http/Controllers/Auth/RegisteredUserController.php b/app/Http/Controllers/Auth/RegisteredUserController.php new file mode 100755 index 00000000..e1f128d9 --- /dev/null +++ b/app/Http/Controllers/Auth/RegisteredUserController.php @@ -0,0 +1,60 @@ +validate([ + 'first_name' => 'required|string|max:255', + 'email' => 'required|string|email|max:255|unique:users', + 'password' => ['required', Rules\Password::defaults()], + ]); + $user = User::create([ + 'first_name' => $request->first_name, + 'email' => $request->email, + 'password' => Hash::make($request->password), + ]); + + event(new Registered($user)); + + Auth::login($user); + + Mail::to(env('MAIL_ADMIN_EMAIL'))->send(new AfterReigsterToAdmin($user)); + + return redirect(RouteServiceProvider::HOME); + } + + +} diff --git a/app/Http/Controllers/Auth/VerifyEmailController.php b/app/Http/Controllers/Auth/VerifyEmailController.php new file mode 100755 index 00000000..104f080c --- /dev/null +++ b/app/Http/Controllers/Auth/VerifyEmailController.php @@ -0,0 +1,34 @@ +user()->hasVerifiedEmail()) { + return redirect()->intended( + config('app.frontend_url').RouteServiceProvider::HOME.'?verified=1' + ); + } + + if ($request->user()->markEmailAsVerified()) { + event(new Verified($request->user())); + } + + return redirect()->intended( + config('app.frontend_url').RouteServiceProvider::HOME.'?verified=1' + ); + } +} diff --git a/app/Http/Controllers/CommentController.php b/app/Http/Controllers/CommentController.php new file mode 100755 index 00000000..ec7f0c38 --- /dev/null +++ b/app/Http/Controllers/CommentController.php @@ -0,0 +1,151 @@ +middleware('subs.paid'); + } + + public function show($feed_id) + { + $count_pagination = 50; + $cursor_request = request('cursor') ?? null; + $feed = Feed::find($feed_id); + if(empty($feed)){ + return [ + 'nextCursor' => null, + 'items' => [] + ]; + } + $comments = $feed->comments() + ->where('parent_id', null) + ->withCount('children') + ->with('user:id,first_name,last_name,username,photo_path,color,user_char')->cursorPaginate($count_pagination, ['*'], 'cursor', Cursor::fromEncoded($cursor_request)); + $nextCursor = $comments->nextCursor(); + if($nextCursor){ + $nextCursor = $nextCursor->encode(); + }else{ + $nextCursor = null; + } + return [ + 'nextCursor' => $nextCursor, + 'items' => $comments->transform(function ($item) { + $item->childrens = []; + $item->closed_children_comments = 1; + $item->created_at_humans = $item->created_at->diffForHumans(); + return $item; + }) + ]; + } + + public function children($comment_id) + { + $count_pagination = 50; + $cursor_request = request('cursor') ?? null; + $comments = Comment::findOrFail($comment_id) + ->children() + ->with('user:id,first_name,last_name,username,photo_path,color,user_char', 'answer_to:id,username') + ->cursorPaginate($count_pagination, ['*'], 'cursor', Cursor::fromEncoded($cursor_request)); + + $nextCursor = $comments->nextCursor(); + if($nextCursor){ + $nextCursor = $nextCursor->encode(); + }else{ + $nextCursor = null; + } + + return [ + 'nextCursor' => $nextCursor, + 'items' => $comments->transform(function ($item) { + $item->created_at_humans = $item->created_at->diffForHumans(); + return $item; + }) + ]; + } + + public function store(HttpRequest $request, $feed_id) + { + $disabled_notify_main = 0; + $feed = Feed::findOrFail($feed_id); + + $body = $request->input('body'); + $body = preg_replace('/(?<=\s|^)@\S+/', "", $body); + $body = htmlentities(trim($body)); + + $to = $request->input('to'); + $parent = $request->input('parent'); + + $comment = new Comment; + $comment->body = $body; + $comment->user_id = auth()->user()->id; + $comment->feed_id = $feed_id; + if($parent){ + $comment->parent_id = $parent; + } + if($to){ + $comment->to_user_id = $to; + } + + $feed->comments()->save($comment); + $comment->setRelation('user', auth()->user()); + if($to){ + $toUser = User::find($to); + $comment->setRelation('answer_to', $toUser); + if($toUser->id !== auth()->user()->id){ + $disabled_notify_main = 1; + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => $feed_id, + 'comment' => $body + ]; + $toUser->notify(new CommentAdded($message)); + } + } + + $comment->created_at_humans = $comment->created_at->diffForHumans(); + + if(empty($parent)){ + $comment->childrens = []; + $comment->closed_children_comments = 1; + } + + if($feed->user_id !== auth()->user()->id && $disabled_notify_main === 0){ + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => $feed_id, + 'comment' => $body + ]; + $feed->user->notify(new CommentAdded($message)); + } + + return $comment; + } + + public function remove($comment_id) + { + $remove_count = 1; + $comment = Comment::findOrFail($comment_id); + $children_count = $comment->children()->count(); + if($children_count){ + $comment->children()->forceDelete(); + $remove_count = $remove_count + $children_count; + } + $comment->forceDelete(); + + // Comment::destroy($comment_id); + return $remove_count; + } + + +} diff --git a/app/Http/Controllers/ComplaintController.php b/app/Http/Controllers/ComplaintController.php new file mode 100755 index 00000000..fe8e6980 --- /dev/null +++ b/app/Http/Controllers/ComplaintController.php @@ -0,0 +1,101 @@ +middleware('subs.paid'); + } + + public function index($feed_id) + { + $feed = Feed::findOrFail($feed_id); + if ($feed->user()->is(auth()->user())) { + return Redirect::back(); + } + + $reasons = Reason::all(); + $feed = new FeedQueryBuilder(); + $feed = $feed->selectByIds($feed_id)->disablePaginate()->transformGet()->first(); + + return Inertia::render('Complaint/Index', [ + 'user' => $feed['user'], + 'feed' => $feed, + 'reasons' => $reasons, + ]); + } + + public function store(Request $request) + { + + $feed_id = $request->get('feed'); + $feed = Feed::findOrFail($feed_id); + + if(empty($request->get('reason'))){ + return Redirect::back()->with('error', 'Выберите тип жалобы!'); + } + $reason_id = $request->get('reason'); + $reason = Reason::findOrFail($reason_id); + + $complaint = new Complaint; + $complaint->user_id = auth()->user()->id; + $complaint->reason_id = $reason->id; + $complaint->feed_id = $feed->id; + $complaint->save(); + + // return Redirect::route('feeds.layoutsidebar')->with('success', 'Жалоба успешно отправлена'); + return Redirect::back()->with('success', 'Жалоба успешно отправлена'); + } + + + public function commentIndex($comment_id) + { + $comment = Comment::findOrFail($comment_id); + if ($comment->user()->is(auth()->user())) { + return Redirect::back(); + } + + $reasons = Reason::all(); + $user = $comment->user; + $user->name = $user->name; + return Inertia::render('Complaint/IndexComment', [ + 'user' => $comment->user, + 'comment' => $comment, + 'reasons' => $reasons, + ]); + } + + public function commentStore(Request $request) + { + $comment_id = $request->get('comment'); + $comment = Comment::findOrFail($comment_id); + + if(empty($request->get('reason'))){ + return Redirect::back()->with('error', 'Выберите тип жалобы!'); + } + $reason_id = $request->get('reason'); + $reason = Reason::findOrFail($reason_id); + + $complaint = new CommentComplaint; + $complaint->user_id = auth()->user()->id; + $complaint->reason_id = $reason->id; + $complaint->comment_id = $comment->id; + $complaint->save(); + + return Redirect::back()->with('success', 'Жалоба успешно отправлена'); + } + +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100755 index 00000000..a0a2a8a3 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ +middleware('subs.paid'); + } + + public function index() + { + + $filter = Request::get('filter'); + $feeds = (new FeedQueryBuilder())->filter()->search(Request::only('search'))->build(); + + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if($filter === 'hot'){ + $feeds = $feeds->sortByDesc('entity.likes')->values(); + } + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Dashboard/Index', [ + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'active_filter' => $filter ?? 'new' + ]); + + } + + public function commonSendWriteToUs() + { + return Inertia::render('Auth/Feedback', []); + } + + public function sendWriteToUs(HttpRequest $request) + { + $user = auth()->user(); + + if($user){ + $request->validate([ + 'title' => ['required'], + 'body' => ['required'], + ]); + + $userInfo = (object)[ + 'userFullName' => $user->name, + 'userPhone' => $user->phone, + 'userEmail' => $user->email, + 'profileUrl' => env('APP_URL') . '/profile/' . $user->username, + 'guest' => false + ]; + }else{ + $request->validate([ + 'title' => ['required'], + 'body' => ['required'], + 'email' => ['required'], + ]); + + $userInfo = (object)[ + 'userEmail' => request()->post('email'), + 'guest' => true + ]; + } + + $data = (object) [ + 'title' => request()->post('title'), + 'body' => request()->post('body'), + 'userInfo' => $userInfo + ]; + + Mail::to(env('MAIL_ADMIN_EMAIL'))->send(new FeedbackToAdmin($data)); + + return back()->with('success', 'Сообщение успешно отправлено')->with('status', 'Сообщение успешно отправлено'); + } + +} diff --git a/app/Http/Controllers/FeedsController.php b/app/Http/Controllers/FeedsController.php new file mode 100755 index 00000000..bd0bcbe0 --- /dev/null +++ b/app/Http/Controllers/FeedsController.php @@ -0,0 +1,234 @@ +middleware('subs.paid')->except('comments', 'commentsShowChildren', 'add_view_feed'); + } + + public function index() + { + $feeds = (new FeedQueryBuilder(auth()->user()->live_feeds()))->enableAdvertising()->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Feed/Index', [ + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'active_button' => '' + ]); + } + + public function onlyImages() + { + $feeds = (new FeedQueryBuilder(auth()->user()->live_feeds()))->enableAdvertising()->addType('image')->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Feed/Index', [ + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'active_button' => 'image' + ]); + } + + public function onlyVideos() + { + $feeds = (new FeedQueryBuilder(auth()->user()->live_feeds()))->enableAdvertising()->addType('video')->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Feed/Index', [ + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'active_button' => 'video' + ]); + } + public function onlyMusics() + { + $feeds = (new FeedQueryBuilder(auth()->user()->live_feeds()))->enableAdvertising()->addType('music')->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Feed/Index', [ + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'active_button' => 'music' + ]); + } + + + public function toggleLike($feed_id) + { + $auth_user = auth()->user(); + $feed = Feed::findOrFail($feed_id); + $check = \DB::table('users_feeds_like')->where('user_id', $auth_user->id)->where('feed_id', $feed_id)->first(); + // $check_notifications = \DB::table('notifications') + // ->where('notifiable_id', $auth_user->id) + // ->where('entity_once', $feed_id) + // ->where('once', 1) + // ->first(); + + $auth_user->likes()->toggle([$feed_id]); + + if(!$check && $feed->user_id !== $auth_user->id){ + $message = [ + 'user_id' => $auth_user->id, + 'node_id' => $feed_id, + ]; + $feed->user->notify(new LikeAdded($message)); + } + + return Redirect::back(); + } + + public function audioLike($media_id) + { + sleep(1); + auth()->user()->audioLike()->toggle([$media_id]); + return Redirect::back(); + } + + public function purchase($feed_id) + { + \DB::beginTransaction(); + $feed = Feed::findOrFail($feed_id); + $price_feed = (int) $feed->price; + $balance = SubscriptionService::calculate(auth()->user()->id); + $check = \DB::table('user_feed_purchase')->where('user_id', auth()->user()->id)->where('feed_id', $feed_id)->first(); + if ($check) { + return ['error' => 1, 'msg' => 'Вы уже купили данный продукт']; + } + if ($feed->user()->is(auth()->user())) { + return ['error' => 1, 'msg' => 'Ошибка']; + } + if ($price_feed > $balance) { + return ['error' => 1, 'msg' => 'Недостаточно средств']; + } + $user = auth()->user(); + $user->purchases()->attach($feed_id, ['amount' => $price_feed]); + + $point = new Point; + $point->user_id = $user->id; + $point->feed_id = $feed->id; + $point->point = $price_feed; + $point->type = 'Покупка - ' . $feed->type; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + $point = new Point; + $point->user_id = $feed->user_id; + $point->feed_id = $feed->id; + $point->point = $price_feed; + $point->type = 'Покупка - ' . $feed->type; //YSV ENUM! + $point->direction = DirectionEnum::COMING(); + $point->save(); + + $new_medias = $this->replace(null, $feed); + + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => $feed->id, + 'price' => $price_feed, + ]; + $feed->user->notify(new PurchaseAdded($message)); + + \DB::commit(); + + return $new_medias; + } + + public function replace($feed_id = null, $feed = null) + { + if(empty($feed)){ + $feed = Feed::findOrFail($feed_id); + } + + $preview = ''; + $medias = []; + + if($feed->is_paid === 1){ + $mediaTransform = new FeedMediaTransform($feed); + $mediaTransform = $mediaTransform->paid()->spot(); + $preview = $mediaTransform['preview']; + $medias = $mediaTransform['medias']; + } + + return ['preview' => $preview, 'collection' => $medias]; + + } + + + public function purchase_check($feed_id) + { + $check = \DB::table('user_feed_purchase')->where('user_id', auth()->user()->id)->where('feed_id', $feed_id)->first(); + if ($check) { + return 1; + } + return 0; + } + + + public function add_view_feed($feed_id) + { + if(!auth()->check()){ + return 0; + } + + $check = \DB::table('users_feeds_view')->where('user_id', auth()->user()->id)->where('feed_id', $feed_id)->first(); + if(!$check){ + \DB::table('users_feeds_view')->insert([ + 'user_id' => auth()->user()->id, + 'feed_id' => $feed_id + ]); + $feed = Feed::findOrFail($feed_id); + $feed->increment('views_count'); + return 1; + }else{ + return 0; + } + + } + + public function destroy(Feed $feed) + { + if ($feed->user()->is(auth()->user())) { + $feed->delete(); + } + + return Redirect::route('profile.user', auth()->user()->username)->with('success', 'Запись успешно удалена!'); + } + + +} diff --git a/app/Http/Controllers/ImagesController.php b/app/Http/Controllers/ImagesController.php new file mode 100755 index 00000000..6d15d5cd --- /dev/null +++ b/app/Http/Controllers/ImagesController.php @@ -0,0 +1,165 @@ +middleware('subs.paid')->except('show'); + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addType('image') + ->enableAdvertising() + ->search(Request::only('search')) + ->filter($filter) + ->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('images.index'); + return Inertia::render('Image/Index', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return Inertia::render('Image/Create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\ImageFormRequest $request + * @return \Illuminate\Http\Response + */ + public function store(ImageFormRequest $request) + { + $action = new CreateFeedAction( + new CreateImageAction(), + new CreateTagAction(), + ); + + $imageData = ImageData::fromRequest($request); + $action($imageData); + $msg = 'Изображение успешно загружено и находится на модерации!'; + return Redirect::route('profile.user', auth()->user()->username)->with('success', $msg); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($slug) + { + $feed = new FeedQueryBuilder(); + $feed = $feed->selectBy('slug', $slug)->disablePaginate()->transformGet()->first(); + if(!$feed){ + abort(404); + } + return Inertia::render('Image/Show', [ + 'user' => $feed['user'], + 'feed' => $feed, + ]); + } + + /** + * Show the form for editing the specified resource. + * + * @param string $slug + * @return \Illuminate\Http\Response + */ + public function edit($slug) + { + $feed = Feed::where('slug', $slug)->firstOrFail(); + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + $tags = $feed->tags()->pluck('name')->toArray(); + + $mediaTransformCommon = (new FeedMediaTransform($feed))->default()->spot(); + $mediaTransformPaid = (new FeedMediaTransform($feed))->paid()->spot(); + + return Inertia::render('Image/Edit', [ + 'feed' => $feed, + 'tags' => $tags, + 'mediasCount' => count($mediaTransformCommon['medias']), + 'mediasCommon' => $mediaTransformCommon['medias'], + 'mediasPaid' => $mediaTransformPaid['medias'], + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(ImageFormRequest $request, Feed $feed) + { + $oldStatus = $feed->status; + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + + $action = new CreateFeedAction( + new UpdateImageAction($feed), + new CreateTagAction(), + ); + + $imageData = ImageData::fromRequest($request); + $action($imageData); + + $newStatus = $feed->status; + + $message = 'Изображение успешно обновлено!'; + if($oldStatus === StatusEnum::APPROVED() && $newStatus === StatusEnum::EDITABLE()){ + $message = 'Изображение успешно обновлено и находится на модерации!'; + } + return Redirect::back()->with('success', $message); + + } +} diff --git a/app/Http/Controllers/MessengerController.php b/app/Http/Controllers/MessengerController.php new file mode 100755 index 00000000..3a5334a3 --- /dev/null +++ b/app/Http/Controllers/MessengerController.php @@ -0,0 +1,331 @@ +chat_rooms() + ->orderBy('updated_at', 'desc') + ->with(['messsages' => function ($query) use($search) { + $query->where('message', 'ilike', "{$search}%"); + }, 'users:id,first_name,last_name,username,photo_path,banner_path,color,user_char']) + ->whereHas('messsages', function (Builder $query) use($search) { + $query->where('message', 'ilike', "{$search}%"); + }) + ->get(); + } + + protected function getSearchByUser($currentUser, $search) + { + return $currentUser + ->chat_rooms() + ->orderBy('updated_at', 'desc') + ->with(['users:id,first_name,last_name,username,photo_path,banner_path,color,user_char', 'messsages']) + ->whereHas('users', function (Builder $query) use($search) { + $query->where('first_name', 'ilike', '%'.$search.'%') + ->orWhere('last_name', 'ilike', '%'.$search.'%'); + }) + ->get(); + } + + public function index() + { + // Если пользователь выбирается по гет параметру + $chatSelectUser = null; + $chatSelectUserID = 0; + if($getUsername = request()->get('user')){ + $chatSelectUser = User::where('username', $getUsername)->firstOrFail(); + $chatSelectUser->name = $chatSelectUser->name; + $chatSelectUserID = $chatSelectUser->id; + } + + $search = request()->get('search'); + $type = request()->get('type'); + $currentUser = auth()->user(); + + if($search){ + if($type == 1){ + $chat_rooms = $this->getSearchByMessage($currentUser, $search); + }else{ + $chat_rooms = $this->getSearchByUser($currentUser, $search); + } + + $chat_rooms->transform(function ($room) { + $message = $room->messsages->first(); + $room->latestMessage = $message; + return $room; + }); + }else{ + $chat_rooms = $currentUser + ->chat_rooms() + ->orderBy('updated_at', 'desc') + ->with('latestMessage', 'users:id,first_name,last_name,username,photo_path,banner_path,color,user_char') + ->get(); + } + + $rooms = $chat_rooms->map(function ($room) use ($currentUser, $chatSelectUserID) { + $is_my_message = false; + $classActive = false; + if($room->latestMessage->user_id === $currentUser->id){ + $is_my_message = true; + } + $message = $room->latestMessage->message; + $updated_at_human = $room->latestMessage->created_at->diffForHumans(); + $updated_at = $room->latestMessage->created_at->format('U'); + + $correspond = $room->users->where('id', '<>', $currentUser->id)->first(); + unset($correspond->pivot); + $correspond->name = $correspond->name; + if($chatSelectUserID === $correspond->id){ // делаем активным + $classActive = true; + } + return [ + 'id' => $room->id, + 'is_freeze' => $room->is_freeze, + 'classActive' => $classActive, + 'is_my_message' => $is_my_message, + 'message' => $message, + 'is_reading' => $room->latestMessage->is_reading, + 'updated_at' => $updated_at, + 'updated_at_human' => $updated_at_human, + 'correspond' => $correspond->toArray(), + ]; + }); + + if($chatSelectUserID){ + $checkActiveRoom = $rooms->contains(function ($item) { + return $item['classActive'] === true; + }); + if(!$checkActiveRoom){ + $globalRoomUser = $this->isRoomCreate($chatSelectUserID); + if($globalRoomUser){ + $globalRoomUser->load('latestMessage'); + $is_my_message = false; + if($globalRoomUser->latestMessage->user_id === auth()->user()->id){ + $is_my_message = true; + } + $new_room = [ + 'id' => $globalRoomUser->id, + 'is_freeze' => $globalRoomUser->is_freeze, + 'classActive' => true, + 'is_my_message' => $is_my_message, + 'message' => $globalRoomUser->latestMessage->message, + 'is_reading' => $globalRoomUser->latestMessage->is_reading, + 'updated_at' => $globalRoomUser->updated_at->format('U'), + 'updated_at_human' => $globalRoomUser->updated_at->diffForHumans(), + 'correspond' => $chatSelectUser->only(['id','name','first_name','last_name','photo_path','banner_path','color','user_char', 'username']), + ]; + $rooms[] = $new_room; + } + } + $rooms = $rooms->sortByDesc('classActive')->values(); + } + + return Inertia::render('Messenger/Index', [ + 'rooms' => $rooms, + 'roomSearch' => $search, + ]); + } + + + public function show($id) + { + $room = ChatRoom::findOrFail($id); + $search = request()->get('search'); + + $messages = $room->messsages()->with('user:id,first_name,photo_path,color,user_char')->orderBy('id'); + if($search){ + $messages = $messages->where('message', 'ilike', "{$search}%"); + } + $messages = $messages->cursorPaginate(50); + $nextCursor = get_cursor_hash($messages); + + + + $messages->each(function ($message) { + if($message->is_reading === false && $message->user_id != auth()->user()->id){ + $message->is_reading = true; + $message->save(); + } + $message->group = $message->created_at->format('d.m.Y'); + $message->created = $message->created_at->format('H:i'); + return $message; + }); + $messages = $messages->groupBy(function ($val) { + return \Carbon\Carbon::parse($val->created_at)->format('d.m.Y'); + }); + + return ['records' => $messages, 'cursor' => $nextCursor]; + + + } + + public function store(HttpRequest $request) + { + $message = $request->input('params.message'); + $chat_room_id = $request->input('params.room'); + $status = $this->createMessage($message, $chat_room_id); + if($status === false){ + return null; + } + return $status; + } + + public function storeFromProfile(HttpRequest $request) + { + $message = $request->input('message'); + $chat_room_id = $request->input('chat_room'); + + $status = $this->createMessage($message, $chat_room_id); + if($status === false){ + return redirect()->back()->with('error', 'Вы не можете отправить сообщение данному пользователю'); + } + + return redirect()->back()->with('success', 'Сообщение успешно отправлено!'); + } + + protected function createMessage($text, $chat_room_id) + { + $user = auth()->user(); + $chatRoom = ChatRoom::find($chat_room_id); + if($chatRoom->is_freeze){ + return false; + } + $message = new Message; + $message->message = $text; + $message->user_id = $user->id; + $message->chat_room_id = $chat_room_id; + $message->save(); + + $chatRoom->touch(); + + $message->created = $message->created_at->format('H:i'); + $message->updated_at_room_human = $message->created_at->diffForHumans(); + $message->updated_at_room = $message->created_at->format('U'); + $message->group = $message->created_at->format('d.m.Y'); + $message->keyGroupDate = $message->created_at->format('d.m.Y'); + $message->user = $user->only(['id','first_name','photo_path','color','user_char']); + + return $message; + } + + public function checkRoom(HttpRequest $request) + { + $userId = $request->input('params.user'); + $room = $this->isRoomCreate($userId); + return $room ? $room->id : 0; + } + + protected function isRoomCreate($userId) + { + return auth()->user()->chat_rooms()->whereHas('users', function (Builder $query) use($userId) { + $query->where('id', $userId); + })->first(); + } + + public function createRoom(HttpRequest $request) + { + $message = $request->input('message'); + $user_id = $request->input('user_id'); + + $existBannedUsers = $this->getBannedUser($user_id); + if($existBannedUsers){ + return redirect()->back()->with('error', 'Вы не можете отправить сообщение данному пользователю'); + } + + $room = new ChatRoom; + $room->save(); + $room->users()->attach([$user_id, auth()->user()->id]); + + $this->createMessage($message, $room->id); + + return redirect()->back()->with('success', 'Сообщение успешно отправлено!'); + } + + public function freezeRoom(HttpRequest $request) + { + $room_id = $request->input('room'); + $room = ChatRoom::find($room_id); + $roomUsers = $room->users; + $isAuthUserExist = $roomUsers->contains(fn($user) => $user->id === auth()->user()->id); + $correspond = $roomUsers->where('id', '<>', auth()->user()->id)->first(); + if(!$isAuthUserExist){ + return redirect()->back()->with('error', 'Доступ запрещен'); + } + + // добавляем пользователя + $status = auth()->user()->bannedUsers()->toggle([$correspond->id]); + + // проверяем есть ли пользователя из чата в черном списке, если есть замораживаем чат + $existBannedUsers = $this->getBannedUser($correspond->id); + + if($existBannedUsers){ //disable touch update_at column + \DB::table('chat_rooms')->where('id', $room->id)->update(['is_freeze' => true]); + }else{ + \DB::table('chat_rooms')->where('id', $room->id)->update(['is_freeze' => false]); + } + + $msg = 'Пользователь успешно удален из чернго списка'; + if(count($status['attached'])){ + $msg = 'Пользователь успешно добавлен в черный список'; + } + + return redirect()->back()->with('success', $msg); + } + + public function checkBannedUser(HttpRequest $request) + { + $correspond_id = $request->input('params.user'); + $partnerIsBanned = \DB::table('user_banned') + ->where('user_id', auth()->user()->id) + ->where('banned_user_id', $correspond_id)->count(); + if($partnerIsBanned){ + return ['banned' => true]; + } + + return ['banned' => false]; + } + + public function leaveRoom(HttpRequest $request) + { + $room_id = $request->input('room'); + + $room = ChatRoom::find($room_id); + $room->users()->detach(auth()->user()->id); + + return redirect()->back()->with('success', 'Успешно покинули беседу'); + } + + + public function removeMessage($id) + { + $message = Message::findOrFail($id); + $message->delete(); + + return ['success' => true]; + } + + protected function getBannedUser($correspondId) + { + return \DB::table('user_banned') + ->where('user_id', auth()->user()->id) + ->where('banned_user_id', $correspondId) + ->orWhere(function($query) use($correspondId) { + $query->where('user_id', $correspondId) + ->where('banned_user_id', auth()->user()->id); + })->count(); + } +} diff --git a/app/Http/Controllers/MoneyController.php b/app/Http/Controllers/MoneyController.php new file mode 100755 index 00000000..76d64699 --- /dev/null +++ b/app/Http/Controllers/MoneyController.php @@ -0,0 +1,326 @@ +validate($request, [ + 'sum' => 'required|integer|numeric', + ]); + + $sum = (int) abs($request->input('sum')); + + $amount = round(($sum * 0.035) + $sum, 1); + + $order = PaymentGatewayOrder::yookassa($sum); + $order_number = ['order_number' => $order->number]; + + $point = new Point; + $point->user_id = auth()->user()->id; + $point->point = $sum; + $point->type = 'Ожидание поступления'; + $point->direction = DirectionEnum::PENDING(); + $point->meta = json_encode($order_number); + $point->save(); + + + return redirect(YookassaService::payments_link($amount, $order, auth()->user())); + } + + // public function startProcess() + // { + // $amount = filter_input(INPUT_GET, 'sum', FILTER_VALIDATE_INT); + + // if(empty($amount)){ + // return redirect()->back(); + // } + + // $order = PaymentGatewayOrder::yookassa($amount); + // return redirect(YookassaService::payments_link($amount, $order, auth()->user())); + // } + + + public function checkPointPay($id) + { + + $point = Point::findOrFail($id); + + if($point->direction != 2){ + return redirect()->route('setting.money')->with('error', 'Ошбика'); + } + + $order_number = json_decode($point->meta); + if(empty($order_number)){ + return redirect()->route('setting.money')->with('error', 'Ошбика'); + } + $order = PaymentGatewayOrder::where('number', $order_number->order_number)->first(); + + if(empty($order)){ + return redirect()->route('setting.money')->with('error', 'Ошбика'); + } + + if($order->status !== 0){ + return redirect()->route('setting.money')->with('error', 'Ошбика'); + } + + $YOOKASSA_SHOP_ID = env('YOOKASSA_SHOP_ID'); + $YOOKASSA_KEY = env('YOOKASSA_KEY'); + + $client = new Client(); + $client->setAuth($YOOKASSA_SHOP_ID, $YOOKASSA_KEY); + $payment = $client->getPaymentInfo($order->system_payment_id); + + if ($payment->getStatus() === "succeeded") + { + $order->status = 1; + $order->save(); + + $point->point = $order->amount; + $point->type = 'Пополнение счета: ' . $order->type . ' # ' . $order->id; + $point->direction = DirectionEnum::COMING(); + $point->save(); + + return redirect()->route('setting.money')->with('success', 'Счет успешно пополнен!'); + } + else{ + + PaymentGatewayOrder::destroy($order->id); + Point::destroy($point->id); + + return redirect()->route('setting.money')->with('error', 'Платеж не прошел. Попробуйте еще или выберите другой способ оплаты'); + } + + } + + public function paymentStatus($number) + { + + $order = PaymentGatewayOrder::where('number', $number)->firstOrFail(); + + if($order->status !== 0){ + return redirect()->to('/'); + } + + $YOOKASSA_SHOP_ID = env('YOOKASSA_SHOP_ID'); + $YOOKASSA_KEY = env('YOOKASSA_KEY'); + $client = new Client(); + $client->setAuth($YOOKASSA_SHOP_ID, $YOOKASSA_KEY); + $payment = $client->getPaymentInfo($order->system_payment_id); + + $point = Point::where('meta->order_number', $number)->first(); + if(empty($point)){ + $point = new Point; + $point->user_id = auth()->user()->id; + } + + if ($payment->getStatus() === "succeeded") + { + $order->status = 1; + $order->save(); + + + + $point->point = $order->amount; + $point->type = 'Пополнение счета: ' . $order->type . ' # ' . $order->id; + $point->direction = DirectionEnum::COMING(); + $point->save(); + + return redirect()->route('setting.money')->with('success', 'Счет успешно пополнен!'); + } + else{ + PaymentGatewayOrder::destroy($order->id); + Point::destroy($point->id); + return redirect()->route('setting.money')->with('error', 'Платеж не прошел. Попробуйте еще или выберите другой способ оплаты'); + } + + } + + + // public function qiwiStatus($number) + // { + // $YOOKASSA_SHOP_ID = env('YOOKASSA_SHOP_ID'); + // $YOOKASSA_KEY = env('YOOKASSA_KEY'); + // $client = new Client(); + // $client->setAuth($YOOKASSA_SHOP_ID, $YOOKASSA_KEY); + // $payment = $client->getPaymentInfo($number); + // dd($payment); + + // $SECRET_KEY = env('QIWI_SECRET'); + + // $order = PaymentGatewayOrder::where('number', $number)->firstOrFail(); + // if($order->status !== 0){ + // return redirect()->to('/'); + // } + + // $billPayments = new \Qiwi\Api\BillPayments($SECRET_KEY); + // $response = $billPayments->getBillInfo($number); + + // if ($response['status']['value'] === "PAID") + // { + // $order->status = 1; + // $order->save(); + + // $point = new Point; + // $point->user_id = auth()->user()->id; + // $point->point = $order->amount; + // $point->type = 'Пополнение счета: ' . $order->type . ' # ' . $order->id; + // $point->direction = DirectionEnum::COMING(); + // $point->save(); + + // return redirect()->route('setting.money')->with('success', 'Счет успешно пополнен!'); + // } + // else if ($response['status']['value'] === "WAITING") + // { + // echo "Ваш платеж в обработке \n Не закрывайте страницу и попробуйте обновить страницу позже"; + // die; + // } + + + // PaymentGatewayOrder::destroy($order->id); + + // $msg_error = 'Заказ завершен с ошибкой'; + // if($response['status']['value'] === "REJECTED"){ + // $msg_error .= ' - Счет отклонен'; + // } + // return redirect()->route('setting.money')->with('error', $msg_error); + + // } + + public function unitpayStatus() + { + dd(request()->all()); + } + + public function interkassa() + { + $amount = filter_input(INPUT_GET, 'ik_am', FILTER_VALIDATE_INT); + + if(empty($amount)){ + return redirect()->back(); + } + + $order = PaymentGatewayOrder::interkassa($amount); + + return redirect(InterkassaService::payments_link($amount, $order->id)); + } + + public function interkassaStatus() + { + $ik_co_id = request()->ik_co_id; // Идентификатор кассы + $ik_inv_id = request()->ik_inv_id; // Идентификатор платежа в системе Интеркасса + $ik_inv_st = request()->ik_inv_st; // Состояние платежа. - success; fail + $ik_pm_no = request()->ik_pm_no; // Номер заказа. example - ID_4233 + + if($ik_inv_st === 'success'){ + $order = PaymentGatewayOrder::findOrFail($ik_pm_no); + if($order->status === 1){ + return redirect()->back(); + } + + $order->status = 1; + $order->system_payment_id = $ik_inv_id; + $order->save(); + + $point = new Point; + $point->user_id = auth()->user()->id; + $point->point = $order->amount; + $point->type = 'Пополнение счета: ' . $order->type . ' # ' . $order->id; + $point->direction = DirectionEnum::COMING(); + $point->save(); + + return redirect()->route('setting.money')->with('success', 'Счет успешно пополнен!'); + } + + return $this->fails($ik_pm_no, $ik_inv_st); + + } + + protected function fails($order_id, $status) + { + PaymentGatewayOrder::destroy($order_id); + + $msg_error = 'Заказ завершен с ошибкой'; + if($status === 'canceled'){ + $msg_error = 'Заказ отменен'; + } + return redirect()->route('setting.money')->with('error', $msg_error); + } + + + public function payouts() + { + $amount = request()->amount; + $user = auth()->user(); + // $bankRequisites = $user->bank_requisites->first(); + + if(!$user->isVerifiedForWithdrawal()){ + return redirect()->back()->with('error', 'Нужно верифицировать аккаунт, загрузить копию паспорта и ввести данные бик, инн, расчетный счет'); + // return redirect()->back()->with('error', 'Нужно верифицировать ваш номер телефона'); + } + + // if(empty($bankRequisites)){ + // return redirect()->back()->with('error', 'Заполните платежные реквизиты'); + // } + + $balance = SubscriptionService::calculate(auth()->user()->id); + if ($amount > $balance) { + return redirect()->back()->with('error', 'Недостаточно средств для вывода'); + } + + if($user->status == 1 || $user->status == 2){ + if (!Withdrawal::canRequestWithdrawalPhysical($user->id, $amount)) { + return redirect()->back()->with('error', 'Превышен лимит выплат за текущий месяц (12000)'); + } + }else{ + if (!Withdrawal::canRequestWithdrawalLegal($user->id, $amount)) { + return redirect()->back()->with('error', 'Превышен лимит выплат за текущий месяц (150000)'); + } + } + + + + // $requisites = $bankRequisites->requisites; + + // $detailsDescr[] = 'Тип: по номеру телефона'; + // $detailsDescr[] = 'Номер телефона: ' . $user->phone; + $detailsDescr[] = 'Тип: Банк'; + // $detailsDescr[] = 'Номер карты: ' . $bankRequisites->number; + $detailsDescr = implode(PHP_EOL, $detailsDescr); + + $point = new Point; + $point->user_id = auth()->user()->id; + $point->point = $amount; + $point->type = 'Вывод средств (ожидает обработки)'; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + $withdrawal = new Withdrawal; + $withdrawal->point()->associate($point); + $withdrawal->user()->associate(auth()->user()); + $withdrawal->requisites_id = 1; + // $withdrawal->requisites()->associate($requisites); + $withdrawal->amount = $amount; + $withdrawal->history_payment_details = $detailsDescr; + $withdrawal->save(); + + + + return redirect()->back()->with('success', 'Запрос на вывод денег успешно отправлен!'); + } +} diff --git a/app/Http/Controllers/MusicsController.php b/app/Http/Controllers/MusicsController.php new file mode 100755 index 00000000..3e04b325 --- /dev/null +++ b/app/Http/Controllers/MusicsController.php @@ -0,0 +1,221 @@ +middleware('subs.paid')->except('loadedPlaylist', 'favoritePlaylist', 'show'); + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addType('music') + ->search(Request::only('search')) + ->enableAdvertising() + ->filter($filter) + ->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('musics.index'); + return Inertia::render('Music/Feed', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return Inertia::render('Music/Create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(MusicFormRequest $request) + { + $action = new CreateFeedAction( + new CreateMusicAction(), + new CreateTagAction(), + ); + + $musicData = MusicData::fromRequest($request); + $action($musicData); + $msg = 'Музыка успешно загружена и находится на модерации!'; + return Redirect::route('profile.user', auth()->user()->username)->with('success', $msg); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($slug) + { + $feed = new FeedQueryBuilder(); + $feed = $feed->selectBy('slug', $slug)->disablePaginate()->transformGet()->first(); + if(!$feed){ + abort(404); + } + return Inertia::render('Music/Show', [ + 'user' => $feed['user'], + 'feed' => $feed, + ]); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($slug) + { + $feed = Feed::where('slug', $slug)->firstOrFail(); + + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + $tags = $feed->tags()->pluck('name')->toArray(); + + + $mediaTransform = (new FeedMediaTransform($feed))->default(); + $mediaPreview = $mediaTransform->getPreviewObject(); + + $mediaTransformCommon = $mediaTransform->spot(); + $mediaTransformPaid = (new FeedMediaTransform($feed))->paid()->spot(); + + return Inertia::render('Music/Edit', [ + 'feed' => $feed, + 'tags' => $tags, + 'mediaPreview' => $mediaPreview, + 'mediasCount' => count($mediaTransformCommon['medias']), + 'mediasCommon' => $mediaTransformCommon['medias'], + 'mediasPaid' => $mediaTransformPaid['medias'], + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(MusicFormRequest $request, Feed $feed) + { + $oldStatus = $feed->status; + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + + $action = new CreateFeedAction( + new UpdateMusicAction($feed), + new CreateTagAction(), + ); + + $musicData = MusicData::fromRequest($request); + $action($musicData); + $newStatus = $feed->status; + + $message = 'Аудио файл успешно обновлен!'; + if($oldStatus === StatusEnum::APPROVED() && $newStatus === StatusEnum::EDITABLE()){ + $message = 'Аудио файл успешно обновлен и находится на модерации!'; + } + + return Redirect::back()->with('success', $message); + + } + + + + public function loadedPlaylist() + { + + $musics = Media::whereHasMorph( + 'model', + [Feed::class], + function (Builder $query) { + $query->where('user_id', auth()->user()->id)->where('type', 'musics'); + } + )->where('collection_name', '<>', 'preview')->orderBy('id', 'desc')->cursorPaginate(10); + $cursor = get_cursor_hash($musics); + + $musics_collection = []; + $musics->each(function ($media) use (&$musics_collection) { + $musics_collection[] = [ + 'url' => $media->getFullUrl(), + 'name' => $media->name, + 'playing' => false, + 'time' => $media->getCustomProperty('time'), + 'id' => $media->id, + ]; + }); + return ['collection' => $musics_collection, 'cursor' => $cursor]; + } + + public function favoritePlaylist() + { + $audios = auth()->user()->audioLike()->cursorPaginate(10); + $cursor = get_cursor_hash($audios); + + $musics_collection = []; + $audios->each(function ($media) use (&$musics_collection) { + $musics_collection[] = [ + 'url' => $media->getFullUrl(), + 'name' => $media->name, + 'playing' => false, + 'liked' => true, + 'time' => $media->getCustomProperty('time'), + 'id' => $media->id, + ]; + }); + return ['collection' => $musics_collection, 'cursor' => $cursor]; + } + + + +} diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php new file mode 100755 index 00000000..92761c23 --- /dev/null +++ b/app/Http/Controllers/ProfileController.php @@ -0,0 +1,266 @@ +url(), 'inner_systemuser_api'), 404); + $this->middleware('subs.paid')->except('profile'); + } + + public function profile($username) + { + + $user = User::where('username', $username)->firstOrFail(); + $authUserActiveSubscription = nova_get_setting('vote_paid_mode') ? SubscriptionService::activeSubscription() : true; + + $packet = null; + $packageCompleted = false; + + if($user->private && auth()->user()){ + $packet = $user->customPackage; + if($packet){ + $check = \DB::table('users_package_customers') + ->where('user_id', $user->id) + ->where('customer_id', auth()->user()->id) + ->where('package_id', $packet->id) + ->where('time_end', '>', now()) + ->count(); + $packageCompleted = $check > 0 ? true : false; + } + } + + $userData = UserData::fromModel($user); + if($userData->is_auth_user){ + $feeds = (new FeedQueryBuilder($user->feeds()))->enableAdvertising()->disableActiveFeed()->order()->build(); + }else{ + $feeds = (new FeedQueryBuilder($user->feeds()))->enableAdvertising()->order()->build(); + } + + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $profileData = ProfileDataService::get($user); + // $testPeriod = auth()->user()->testPeriodCheck(); + if(auth()->user()){ + $limitLeader = auth()->user()->subscribers()->where('leader', 1)->count() === nova_get_setting('vote_leader_count'); + }else{ + $limitLeader = false; + } + + + + return Inertia::render('Profile/Index', [ + // 'testPeriod' => $testPeriod, + 'user' => array_merge([ + 'about' => $user->about, + 'is_sub' => $user->is_sub, + ], $userData->toArray()), + 'packet' => $packet, + 'authUserActiveSubscription' => $authUserActiveSubscription, + 'packageCompleted' => $packageCompleted, + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + 'limitLeader' => $limitLeader, + 'is_leader' => $profileData->is_leader, + 'close_account' => $profileData->close_account, + 'counts' => [ + 'feeds' => $profileData->count_feeds, + 'subscribers' => $profileData->count_subscribers, + 'readers' => $profileData->count_readable, + ] + ]); + } + + public function profileReaders($username) + { + $user = User::where('username', $username)->firstOrFail(); + $limitLeader = auth()->user()->subscribers()->where('leader', 1)->count() === nova_get_setting('vote_leader_count'); + + $profileData = ProfileDataService::get($user); + + $packageCompleted = false; + + $authUserActiveSubscription = nova_get_setting('vote_paid_mode') ? SubscriptionService::activeSubscription() : true; + + if($user->private){ + $packet = $user->customPackage; + if($packet){ + $check = \DB::table('users_package_customers') + ->where('user_id', $user->id) + ->where('customer_id', auth()->user()->id) + ->where('package_id', $packet->id) + ->where('time_end', '>', now()) + ->count(); + $packageCompleted = $check > 0 ? true : false; + } + + } + + $myPaidListSubscribeTo = \DB::table('users_package_customers') + ->latest() + ->where('customer_id', auth()->user()->id)->get()->groupBy('user_id'); + + $myPaidListSubscribeTo = $myPaidListSubscribeTo->map(function($item){ + $first = $item->first(); + $first->expired = Carbon::parse($first->time_end) < now(); + return Carbon::parse($first->time_end) < now(); + }); + // dd($myPaidListSubscribeTo); + + + $leader = Request::get('leader'); + if($leader === '1'){ + $readers = $user->subscribersOn(); + }elseif ($leader === '0') { + $readers = $user->subscribersOff(); + }else{ + $readers = $user->subscribers(); + } + $readers = $readers->filter(Request::only('search')) + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + $nextCursor = get_cursor_hash($readers); + + $readers->transform(function ($user) { + return array_merge([ + 'is_leader' => (boolean) $user->pivot->leader, + ], UserData::fromModel($user)->toArray()); + }); + + if(request()->wantsJson()){ + return ['collections' => $readers->items(), 'next' => $nextCursor]; + } + + return Inertia::render('Profile/Readers', [ + 'nextCursor' => $nextCursor, + 'user' => array_merge([ + 'about' => $user->about, + 'is_sub' => $user->is_sub, + ], UserData::fromModel($user)->toArray()), + 'packageCompleted' => $packageCompleted, + 'filters' => Request::all('search', 'leader'), + 'readers' => $readers->items(), + 'limitLeader' => $limitLeader, + 'authUserActiveSubscription' => $authUserActiveSubscription, + 'is_leader' => $profileData->is_leader, + 'close_account' => $profileData->close_account, + 'myPaidListSubscribeTo' => $myPaidListSubscribeTo, + 'counts' => [ + 'feeds' => $profileData->count_feeds, + 'subscribers' => $profileData->count_subscribers, + 'readers' => $profileData->count_readable, + ] + ]); + + } + + public function profileSubs($username) + { + $user = User::where('username', $username)->firstOrFail(); + $limitLeader = auth()->user()->subscribers()->where('leader', 1)->count() === nova_get_setting('vote_leader_count'); + $profileData = ProfileDataService::get($user); + $sub = Request::get('sub'); + + $authUserActiveSubscription = nova_get_setting('vote_paid_mode') ? SubscriptionService::activeSubscription() : true; + + + $packageCompleted = false; + + if($user->private){ + $packet = $user->customPackage; + if($packet){ + $check = \DB::table('users_package_customers') + ->where('user_id', $user->id) + ->where('customer_id', auth()->user()->id) + ->where('package_id', $packet->id) + ->where('time_end', '>', now()) + ->count(); + $packageCompleted = $check > 0 ? true : false; + } + + } + + if($sub !== null){ + $query = ''; + $typeSub = $sub === '1' ? '<>' : '='; + + $subscribers = $user->subscriber_reverse() + ->withCount([ + 'subscriber_reverse as pizda' => function (Builder $builder) use (&$query) { + $query = $builder; + $query->where('user_id', auth()->user()->id); + }, + ]) + ->whereRaw("({$query->toSql()}) {$typeSub} ?", [$user->id, 0]) + + ->filter(Request::only('search')) + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + $subscribers->transform(function ($user) use ($sub) { + return array_merge([ + 'is_sub' => (boolean) $sub, + ], UserData::fromModel($user)->toArray()); + }); + }else{ + $subscribers = $user->subscriber_reverse() + ->withCount(['subscriber_reverse as is_sub' => function (Builder $query) { + $query->where('user_id', auth()->user()->id); + }]) + ->withCasts(['is_sub' => 'boolean']) + ->filter(Request::only('search')) + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + + $subscribers->transform(function ($user) { + return array_merge([ + 'is_sub' => $user->is_sub, + ], UserData::fromModel($user)->toArray()); + }); + } + + $nextCursor = get_cursor_hash($subscribers); + if(request()->wantsJson()){ + return ['collections' => $subscribers->items(), 'next' => $nextCursor]; + } + + return Inertia::render('Profile/Subs', [ + 'user' => array_merge([ + 'about' => $user->about, + 'is_sub' => $user->is_sub, + ], UserData::fromModel($user)->toArray()), + 'packageCompleted' => $packageCompleted, + 'authUserActiveSubscription' => $authUserActiveSubscription, + 'filters' => Request::all('search', 'sub'), + 'limitLeader' => $limitLeader, + 'is_leader' => $profileData->is_leader, + 'subscribers' => $subscribers->items(), + 'close_account' => $profileData->close_account, + 'counts' => [ + 'feeds' => $profileData->count_feeds, + 'subscribers' => $profileData->count_subscribers, + 'readers' => $profileData->count_readable, + ] + ]); + } + + +} diff --git a/app/Http/Controllers/PurchaseController.php b/app/Http/Controllers/PurchaseController.php new file mode 100755 index 00000000..b0981c95 --- /dev/null +++ b/app/Http/Controllers/PurchaseController.php @@ -0,0 +1,98 @@ +user(); + $purchases_feeds = new FeedQueryBuilder($user->purchases()->withTrashed()); + $purchases_feeds = $purchases_feeds->withFeedable()->feed->cursorPaginate(FeedQueryBuilder::PAGINATION_COUNT); + $nextCursor = get_cursor_hash($purchases_feeds); + + $feeds = []; + foreach ($purchases_feeds as $purchases_feed) { + $mediaTransform = (new FeedMediaTransform($purchases_feed))->default(); + $date = [ + 'price' => $purchases_feed->pivot->amount, + 'purchase_date' => $purchases_feed->pivot->created_at->format('Y-m-d'), + 'preview' => $mediaTransform->getPreview(), + 'id' => $purchases_feed->id, + 'type' => $purchases_feed->type, + ]; + $feeds[] = $date; + } + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Settings/SettingsPurchases', [ + 'nextCursor' => $nextCursor, + 'feeds' => $feeds, + ]); + + } + + public function show($id) + { + + $purchases_feed = new FeedQueryBuilder(auth()->user()->purchases()->withTrashed()); + $purchases_feed = $purchases_feed->selectByIds($id)->withFeedable()->withUser()->feed->firstOrFail(); + + $seller = $purchases_feed->user; + $seller->name = $seller->name; + + $mediaTransformCommon = (new FeedMediaTransform($purchases_feed))->default()->spot(); + $mediaTransformPaid = (new FeedMediaTransform($purchases_feed))->paid()->spot(); + + $purchase = [ + 'id' => $purchases_feed->id, + 'title' => $purchases_feed->title, + 'body' => $purchases_feed->body, + 'type' => $purchases_feed->type, + 'price' => $purchases_feed->pivot->amount, + 'purchase_date' => $purchases_feed->pivot->created_at->format('Y-m-d'), + + 'preview' => $mediaTransformCommon['preview'], + 'common_medias' => $mediaTransformCommon['medias'], + 'paid_medias' => $mediaTransformPaid['medias'], + ]; + + return Inertia::render('Settings/SettingsPurchasesFile', [ + 'purchase' => $purchase, + 'seller' => $seller, + ]); + + } + + public function downloadPurchases($id) + { + + $purchases_feed = new FeedQueryBuilder(auth()->user()->purchases()->withTrashed()); + $purchases_feed = $purchases_feed->selectByIds($id)->withFeedable()->feed->firstOrFail(); + $mediaTransformPaid = (new FeedMediaTransform($purchases_feed))->getFullPath()->paid()->spot(); + + $purchase_date = $purchases_feed->pivot->created_at->format('Y-m-d'); + + $zip_file = "purchase-{$purchases_feed->type}-{$purchase_date}.zip"; + + + $zip = new \ZipArchive(); + $zip->open($zip_file, \ZipArchive::CREATE | \ZipArchive::OVERWRITE); + foreach ($mediaTransformPaid['medias'] as $paid_media) { + $zip->addFile($paid_media['url'], basename($paid_media['url'])); + } + + $zip->close(); + + //unlink(public_path($zip_file)); + return response()->download($zip_file); + } + +} diff --git a/app/Http/Controllers/RequisitesController.php b/app/Http/Controllers/RequisitesController.php new file mode 100755 index 00000000..39a31cf7 --- /dev/null +++ b/app/Http/Controllers/RequisitesController.php @@ -0,0 +1,32 @@ +user(); + $number = request()->number; + $bankRequisites = $user->bank_requisites->first(); + if(!$bankRequisites){ + $bankRequisites = new BankRequisites; + $bankRequisites->user()->associate(auth()->user()); + $bankRequisites->number = $number; + $bankRequisites->save(); + + $requisites = new Requisites; + $requisites->user()->associate(auth()->user()); + $bankRequisites->requisites()->save($requisites); + }else{ + $bankRequisites->number = $number; + $bankRequisites->save(); + } + + + return redirect()->back()->with('success', 'Реквизиты успешно обновлены!'); + + } +} diff --git a/app/Http/Controllers/SettingController.php b/app/Http/Controllers/SettingController.php new file mode 100755 index 00000000..fb5105f3 --- /dev/null +++ b/app/Http/Controllers/SettingController.php @@ -0,0 +1,376 @@ +user(); + + return Inertia::render('Settings/SettingsProfile', [ + 'user' => [ + 'id' => $user->id, + 'name' => $user->name, + 'username' => $user->username, + 'first_name' => $user->first_name, + 'last_name' => $user->last_name, + 'email' => $user->email, + 'user_char' => $user->user_char, + 'color' => $user->color, + 'sex' => $user->sex, + 'type' => $user->type, + 'phone' => $user->phone, + 'date_of_birth' => $user->date_of_birth, + 'photo_path' => $user->photo_path, + 'banner_path' => $user->banner_path, + 'about' => $user->about, + 'private' => $user->private, + 'inn' => $user->inn, + 'checking_account' => $user->checking_account, + 'bik' => $user->bik, + // 'allow_adult_content' => $user->allow_adult_content, + ], + ]); + } + + public function notify() + { + auth()->user()->unreadNotifications()->update(['read_at' => Carbon::now()]); + + $notifications = auth()->user() + ->notifications() + ->latest() + ->take(self::NOTIFICATION_THRESHOLD) + ->get(); + + $notifications_transform = []; + foreach ($notifications as $notification) { + $d = []; + $data = $notification->data; + + if($notification->notifiable_type === User::class){ + if($notification->type === 'App\Notifications\LikeAdded'){ + $d['type'] = 'like'; + } + if($notification->type === 'App\Notifications\CommentAdded'){ + $d['type'] = 'comment'; + } + if($notification->type === 'App\Notifications\Subscribed'){ + $d['type'] = 'subs'; + } + if($notification->type === 'App\Notifications\LeaderChoice'){ + $d['type'] = 'leader'; + } + if($notification->type === 'App\Notifications\UserCustomPaidSubscription'){ + $d['type'] = 'custom-paid-subs'; + } + if($notification->type === 'App\Notifications\PurchaseAdded'){ + $d['type'] = 'purchase'; + } + if($notification->type === 'App\Notifications\RemoveFeed'){ + $d['type'] = 'remove-feed'; + } + if($notification->type === 'App\Notifications\BannedMessageFeed'){ + $d['type'] = 'banned-message-feed'; + } + $user_who = User::find($data['user_id']); + if(empty($user_who)){ + $notification->delete(); + continue; + } + + $d['user'] = [ + 'id' => $user_who->id, + 'name' => $user_who->name, + 'username' => $user_who->username, + 'photo_path' => $user_who->photo_path, + 'color' => $user_who->color, + 'user_char' => $user_who->user_char, + ]; + + if(@$data['node_id']){ + $feed = new FeedQueryBuilder; + $d['feed'] = $feed->selectByIds($data['node_id'])->disableActiveFeed()->withTrashed()->transformGet()->first(); + }else{ + $d['feed'] = ''; + } + + $d['data'] = $data; + $d['id'] = $notification->id; + $d['created_at'] = $notification->created_at->diffForHumans(); + } + $notifications_transform[] = $d; + } + + return Inertia::render('Settings/SettingsNotify', [ + 'notifications' => $notifications_transform, + ]); + } + + public function money() + { + $user = auth()->user(); + $points = $user + ->points() + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + + $nextCursor = get_cursor_hash($points); + + $points->each(function($line){ + $dt = explode(' ', $line->created_at); + $line->date = $dt[0]; + $line->time = $dt[1]; + return $line; + }); + + if(request()->wantsJson()){ + return ['collections' => $points->items(), 'next' => $nextCursor]; + } + return Inertia::render('Settings/SettingsMoney', [ + 'points' => $points->items(), + 'nextCursor' => $nextCursor, + ]); + } + + public function tarif() + { + + $user = auth()->user(); + $is_active = SubscriptionService::activeSubscription(); + $user_id = $user->id; + $user_autosubscription = $user->autosubscription_site; + + $plans = Package::all(); + $lastSubscription = $user->subscription->first(); + + if ($lastSubscription) { + $lastSubscription->setRelation('package', $plans->where('id', $lastSubscription->package_id)->first()); + $lastSubscription->endDateTime = $lastSubscription->ends_at->format('Y-m-d'); + } + + return Inertia::render('Settings/SettingsTarif', [ + 'plans' => $plans, + 'is_active_sub' => $is_active, + 'user_autosubscription' => $user_autosubscription, + 'user_id' => $user_id, + 'lastSubscription' => $lastSubscription, + ]); + } + + + public function likes() + { + + $feeds = (new FeedQueryBuilder(auth()->user()->likes()))->order()->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + return Inertia::render('Settings/SettingsLikes', [ + 'feeds' => $feeds, + 'nextCursor' => $nextCursor, + ]); + } + + + public function payouts() + { + + $user = auth()->user(); + // $requisites = []; + // $bankRequisites = $user->bank_requisites->first(); + // if($bankRequisites){ + // $requisites['id'] = $bankRequisites->id; + // $requisites['number'] = $bankRequisites->number; + // } + $withdrawals = $user->withdrawals() + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + + + $nextCursor = get_cursor_hash($withdrawals); + + $statusCode = [ + 'pending' => 'Запрос отправлен', + 'success' => 'Запрос выполнен', + 'cancel' => 'Отмена выплаты', + ]; + + $withdrawals->each(function($line) use($statusCode) { + $dt = explode(' ', $line->created_at); + $line->datePart = $dt[0]; + $line->timePart = $dt[1]; + $line->meta = 'Статус: ' . $statusCode[$line->status]; + $line->history_payment_details = nl2br($line->history_payment_details); + return $line; + }); + + if(request()->wantsJson()){ + return ['collections' => $withdrawals->items(), 'next' => $nextCursor]; + } + + return Inertia::render('Settings/SettingsPayouts', [ + // 'requisites' => $requisites, + 'isVerified' => $user->isVerified(), + 'withdrawals' => $withdrawals->items() + ]); + + } + + public function packet() + { + $user = auth()->user(); + $userPackage = $user->customPackage; + + $purchased_subscriptions_by_users = \DB::table('users_package_customers') + ->where('user_id', auth()->user()->id)->orderBy('customer_id')->orderBy('time_end', 'desc')->get(); + + $purchased_subscriptions_by_users = $purchased_subscriptions_by_users->groupBy('customer_id'); + + + + + $subscriptions_by_users = \DB::table('users_package_customers') + ->join('users_subscribers', 'users_package_customers.customer_id', '=', 'users_subscribers.user_id') + ->select('users_package_customers.*', 'users_subscribers.autosubscription', 'users_subscribers.user_id as usId', 'users_subscribers.subscriber_id as subsId') + ->where('users_package_customers.customer_id', auth()->user()->id) + ->orderBy('users_package_customers.user_id') + ->orderBy('users_package_customers.time_end', 'desc') + ->get(); + + $subscriptions_by_users = $subscriptions_by_users->filter(function ($item) { + return $item->user_id === $item->subsId && $item->customer_id === $item->usId; + }); + + + // $subscriptions_by_users = \DB::table('users_package_customers') + // ->where('customer_id', auth()->user()->id) + // ->orderBy('user_id') + // ->orderBy('time_end', 'desc') + // ->get(); + + $subscriptions_by_users = $subscriptions_by_users->groupBy('user_id'); + + + $buyers = $this->getPacketUsers($purchased_subscriptions_by_users); + + $subscriptions = $this->getPacketUsers($subscriptions_by_users); + + + + + return Inertia::render('Settings/SettingsPacket', [ + 'user' => $user, + 'packet' => $userPackage, + 'buyers' => $buyers->values()->toArray(), + 'subscriptions' => $subscriptions->values()->toArray(), + ]); + } + + + protected function getPacketUsers($subscriptions) + { + + $ids_customer = $subscriptions->keys(); + $users_customer = User::whereIn('id', $ids_customer)->get(); + + return $subscriptions->map(function ($items, $id) use($users_customer) { + $new = []; + $new['active'] = false; + $new['autosubscription'] = false; + $new['user'] = $users_customer->where('id', $id)->first() + ->only([ + 'id', 'first_name', 'last_name', + 'color', 'user_char', 'username', 'photo_path' + ]); + foreach($items as $item){ + // dd($items); + $carbon = \Carbon\Carbon::parse($item->time_end); + $active = now() < $carbon; + if($active){ + $new['active'] = $active; + } + $new['autosubscription'] = $item->autosubscription ?? false; + $new['lists'][] = ['time_end' => $carbon->format('d.m.Y'), 'price' => $item->price, 'active' => $active]; + } + return $new; + + }); + // dd($test); + + // return $subscriptions->map(function ($item) use($users_customer,$type) { + // $carbon = \Carbon\Carbon::parse($item->time_end); + + // return [ + // 'id' => $item->id, + // 'price' => $item->price, + // 'time_end' => $carbon->format('d.m.Y'), + // 'active' => now() < $carbon, + // 'user' => $users_customer->first(function ($value) use($item,$type) { + // return $value->id == $item->{$type}; + // })->toArray() + // ]; + // }); + } + + public function verification(HttpRequest $request) + { + + $document = $request->user()->getMedia('documents'); + + $first_document = $document->first(); + $doc_uuid = null; + if($first_document){ + $doc_uuid = $first_document->uuid; + } + + $user = auth()->user(); + $isPhoneVerify = $user->phone_verified; + $isPassportVerified = $user->passport_verified; + + if (!empty($user->phone_verify_token) && $user->phone_verify_token_expire && $user->phone_verify_token_expire->gt(now())) { + $isToken = true; + }else{ + $isToken = false; + } + + return Inertia::render('Settings/SettingsVerification', [ + 'docUuid' => $doc_uuid, + 'isToken' => $isToken, + 'isPhoneVerify' => $isPhoneVerify, + 'isPassportVerified' => $isPassportVerified, + 'phone' => $request->user()->phone, + ]); + } + + public function writeToUs(HttpRequest $request) + { + return Inertia::render('Settings/SettingsWriteToUs', [ + + ]); + } + + public function documentsInfo() + { + return Inertia::render('Settings/SettingsDocuments', [ + + ]); + } + +} diff --git a/app/Http/Controllers/StaticController.php b/app/Http/Controllers/StaticController.php new file mode 100755 index 00000000..889b9c5c --- /dev/null +++ b/app/Http/Controllers/StaticController.php @@ -0,0 +1,134 @@ + new LaravelResponseFactory($request), + 'source' => $filesystem->getDriver(), + 'cache' => $filesystem->getDriver(), + 'cache_path_prefix' => '.glide-cache', + 'base_url' => 'img', + ]); + + $server->setPresets([ + 'small' => [ + 'w' => 200, + 'h' => 200, + 'fit' => 'crop', + ], + 'medium' => [ + 'w' => 500, + 'h' => 500, + 'fit' => 'crop', + ], + + 'banner' => [ + 'w' => 500, + 'fit' => 'crop', + ], + 'hero' => [ + 'w' => 1600, + 'h' => 600, + 'fit' => 'crop', + ], + ]); + + return $server->getImageResponse($path, $request->all()); + } + + public function avatarRemove(Filesystem $filesystem) + { + $user = auth()->user(); + + $server = ServerFactory::create([ + 'source' => $filesystem->getDriver(), + 'cache' => $filesystem->getDriver(), + 'cache_path_prefix' => '.glide-cache', + 'base_url' => 'img', + ]); + + Storage::disk('public')->delete($user->photo_path); + $server->deleteCache($user->photo_path); + $user->photo_path = null; + $user->save(); + + return Redirect::back()->with('success', 'Аватар успешно удален!'); + } + + public function avatar(Request $request) + { + $user = auth()->user(); + + request()->validate([ + 'avatar' => 'required|image|mimes:jpeg,jpg,png|max:1024', + ]); + + $path = $request->file('avatar')->store('avatars', 'public'); + $user->photo_path = $path; + $user->save(); + + return Redirect::back()->with('success', 'Аватар успешно обновлен!'); + } + + public function banner(Request $request) + { + $user = auth()->user(); + + request()->validate([ + 'banner' => 'required|image|mimes:jpeg,jpg,png|max:2048', + ]); + + $path = $request->file('banner')->store('banners', 'public'); + $user->banner_path = $path; + $user->save(); + + return Redirect::back()->with('success', 'Баннер успешно обновлен!'); + } + + public function bannerRemove(Filesystem $filesystem) + { + $user = auth()->user(); + + $server = ServerFactory::create([ + 'source' => $filesystem->getDriver(), + 'cache' => $filesystem->getDriver(), + 'cache_path_prefix' => '.glide-cache', + 'base_url' => 'img', + ]); + + Storage::disk('public')->delete($user->banner_path); + $server->deleteCache($user->banner_path); + $user->banner_path = null; + $user->save(); + + return Redirect::back()->with('success', 'Баннер успешно удален!'); + } + + public function removePreview($id) + { + $media = Media::findOrFail($id); + $feed = $media->model; + if (is_a($feed, Feed::class)) { + if ($feed->user()->is(auth()->user())) { + $media->delete(); + } + } + return Redirect::back()->with('success', 'Превью успешно удалено!'); + } + + +} diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php new file mode 100755 index 00000000..7b4d1432 --- /dev/null +++ b/app/Http/Controllers/TagController.php @@ -0,0 +1,136 @@ +first(); + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addTags([$tag->id]) + ->search(Request::only('search')) + ->filter($filter) + ->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('feed.tags', $tag->slug); + + return Inertia::render('Tag/Feed', [ + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'tag' => $tag, + 'local_route' => $route, + 'nextCursor' => $nextCursor, + 'active_filter' => $filter ?? 'new' + ]); + } + + public function listImagesTag($tag) + { + $tag = Tag::where('slug', $tag)->first(); + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addTags([$tag->id]) + ->addType('image') + ->search(Request::only('search')) + ->filter($filter) + ->build(); + + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('list.images.tag', $tag->slug); + + return Inertia::render('Image/Index', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'tag' => $tag, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + + + public function listMusicsTag($tag) + { + $tag = Tag::where('slug', $tag)->first(); + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addTags([$tag->id]) + ->addType('music') + ->search(Request::only('search')) + ->filter($filter) + ->build(); + + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('list.musics.tag', $tag->slug); + + return Inertia::render('Music/Feed', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'tag' => $tag, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + + public function listVideosTag($tag) + { + $tag = Tag::where('slug', $tag)->first(); + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addTags([$tag->id]) + ->addType('video') + ->search(Request::only('search')) + ->filter($filter) + ->build(); + + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('list.videos.tag', $tag->slug); + + return Inertia::render('Video/Feed', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'tag' => $tag, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + +} diff --git a/app/Http/Controllers/UserPackageController.php b/app/Http/Controllers/UserPackageController.php new file mode 100755 index 00000000..67ba428e --- /dev/null +++ b/app/Http/Controllers/UserPackageController.php @@ -0,0 +1,101 @@ +middleware('subs.paid')->except('show'); + } + + public function update() + { + $id_packet = request()->post('id'); + if($id_packet){ + $customPackage = UserPackage::find($id_packet); + }else{ + $customPackage = new UserPackage; + } + + $customPackage->price = request()->post('price'); + $customPackage->user_id = auth()->user()->id; + $customPackage->save(); + + return Redirect::back()->with('success', 'Успешно обновлено'); + } + + public function subs() { + + $id_packet = request()->post('packet_id'); + $customPackage = UserPackage::find($id_packet); + + $balance = SubscriptionService::calculate(auth()->user()->id); + if ($customPackage->price > $balance) { + return Redirect::back()->with('error', 'Недостаточно средств!'); + } + + \DB::beginTransaction(); + + $userPackage = User::find($customPackage->user_id); + + $check = \DB::table('users_subscribers') + ->where('user_id', auth()->user()->id) + ->where('subscriber_id', $customPackage->user_id) + ->first(); + + // в буд. по рефакторить, по сути сейчас этот код выполняется один раз + // дальше пользователю нужно отписаться, и заново купить подписку! + if(empty($check)){ + auth()->user()->subscribers()->toggle([$userPackage->id]); + LiveFeed::addBySub($userPackage); + } + + + \DB::table('users_package_customers')->insert([ + 'user_id' => $customPackage->user_id, + 'customer_id' => auth()->user()->id, + 'package_id' => $customPackage->id, + 'price' => $customPackage->price, + // 'time_end' => now()->addMonths(), + 'time_end' => now()->addMinutes(10), + 'created_at' => now(), + ]); + + + $point = new Point; + $point->user_id = auth()->user()->id; + $point->point = $customPackage->price; + $point->type = 'Оформлена подписка на пользователя: ' . $userPackage->name . ' (' . $userPackage->username . ')'; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + $point = new Point; + $point->user_id = $userPackage->id; + $point->point = $customPackage->price; + $point->type = 'Пользователь оформил платную подписку: ' . auth()->user()->name . ' (' . auth()->user()->username . ')'; //YSV ENUM! + $point->direction = DirectionEnum::COMING(); + $point->save(); + + \DB::commit(); + + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => null, + ]; + $userPackage->notify(new UserCustomPaidSubscription($message)); + + return Redirect::back()->with('success', 'Подписка на пользователя успешно оформлена'); + + } +} diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php new file mode 100755 index 00000000..fb336c0c --- /dev/null +++ b/app/Http/Controllers/UsersController.php @@ -0,0 +1,494 @@ +middleware('subs.paid')->except('update', 'plan', 'postsCount', 'searchUserTag', 'testPaid'); + } + + public function index() + { + + $users = User::filter(Request::only('search', 'sex')) + ->where('id', '<>', auth()->user()->id) + ->where('username', '<>', 'inner_systemuser_api') + ->withCount(['subscriber_reverse as is_sub' => function (Builder $query) { + $query->where('user_id', auth()->user()->id); + }]) + ->withCasts(['is_sub' => 'boolean']) + ->orderBy('id', 'desc') + ->cursorPaginate(User::PAGINATE); + + $nextCursor = get_cursor_hash($users); + $users->transform(function ($user) { + return array_merge([ + 'is_sub' => $user->is_sub, + ], UserData::fromModel($user)->toArray()); + }); + + if(request()->wantsJson()){ + return ['collections' => $users->items(), 'next' => $nextCursor]; + } + + return Inertia::render('User/Index', [ + 'filters' => Request::all('search', 'sex'), + 'nextCursor' => $nextCursor, + 'users' => $users->items(), + 'per_page' => User::PAGINATE, + ]); + } + + public function testing() + { + + + + // $leaders = collect(SubscriptionService::leaders()); + $vote = (object) ['procent_site' => 10, 'procent_top' => 60]; + $t = (new VoteService($vote))->freeMode(); + dd($t); + // $ids = $leaders->pluck('user_id'); + // $users = User::whereIn('id', $ids)->get(); + // $leaderUsers = $leaders->map(function($item) use($users) { + // $item->user = $users->where('id', $item->user_id)->first()->only(['id', 'first_name', 'last_name', 'username']); + // return $item; + // }); + // dd($leaderUsers); + + // dd(Str::uuid()); + // $user = new \App\Models\User(); + // $user->password = \Illuminate\Support\Facades\Hash::make('sysSDFGtemuser345345'); + // $user->email = 'system@systemuser_api.com'; + // $user->first_name = 'systemuser_api'; + // $user->username = 'inner_systemuser_api'; + // $user->save(); + + //dd($user); + + // $needArray = [ + // 1 => ['time' => true], + // 2 => ['time' => true], + // 3 => ['time' => true], + // ]; + + // $user = User::find(4); + // $plucks = $user->feeds()->pluck('created_at', 'id')->transform(function ($item) { + // return ['time' => $item->getTimestamp()]; + // })->toArray(); + + // dd($plucks); + // DB::table('videos')->truncate(); + // DB::table('musics')->truncate(); + // DB::table('images')->truncate(); + // DB::table('user_feed_purchase')->truncate(); + // DB::table('users_feeds_like')->truncate(); + // DB::table('points')->truncate(); + // DB::table('notifications')->truncate(); + // DB::table('feed_tags')->truncate(); + // DB::table('feeds_comments')->truncate(); + // DB::table('complaints')->truncate(); + // DB::table('comments')->truncate(); + // DB::table('feeds')->truncate(); + + //$feeds = Feed::all(); + //foreach ($feeds as $feed) { + // $enity = $feed->feedable; + // $uuid = (string) Str::uuid(); + // $feed->title = $enity->title; + // $feed->body = $enity->body; + // $feed->price = $enity->price; + // $feed->is_paid = $enity->is_paid; + // $feed->type = $feed->type; + // $feed->slug = $uuid . '_' . $feed->type; + // $feed->save(); + // $medias = $enity->getMedia('common'); + // $medias_paid = $enity->getMedia('paid'); + // $medias_preview = $enity->getMedia('preview'); + + // foreach ($medias as $media) { + // if(file_exists($media->getPath())){ + // $feed->addMedia($media->getPath())->toMediaCollection('common'); + // } + // } + // foreach ($medias_paid as $media) { + // if(file_exists($media->getPath())){ + // $feed->addMedia($media->getPath())->toMediaCollection('paid'); + // } + // } + // foreach ($medias_preview as $media) { + // if(file_exists($media->getPath())){ + // $feed->addMedia($media->getPath())->toMediaCollection('preview'); + // } + // } + //} + + } + + + public function update(User $user) + { + Request::validate([ + 'first_name' => ['required', 'max:80'], + 'last_name' => ['required', 'max:80'], + 'username' => ['required', 'max:80', Rule::unique('users')->ignore($user->id)], + 'email' => ['required', 'max:50', 'email', Rule::unique('users')->ignore($user->id)], + 'password' => ['nullable'], + 'phone' => ['nullable'], + 'date_of_birth' => ['nullable'], + 'sex' => ['nullable'], + 'type' => ['nullable'], + 'private' => ['nullable'], + 'inn' => ['nullable'], + 'checking_account' => ['nullable'], + 'bik' => ['nullable'], + // 'allow_adult_content' => ['nullable'], + 'about' => ['nullable', 'max:180'], + ]); + + $user->update(Request::only('first_name', 'last_name', 'email', 'username', 'phone', 'date_of_birth', 'sex', 'about', 'private', 'inn', 'checking_account', 'bik', 'type')); + + if (Request::get('password')) { + $user->update(['password' => Request::get('password')]); + } + + return Redirect::back()->with('success', 'Профиль обновлен!'); + } + + public function destroy(User $user) + { + if (App::environment('demo') && $user->isDemoUser()) { + return Redirect::back()->with('error', 'Deleting the demo user is not allowed.'); + } + + $user->delete(); + + return Redirect::back()->with('success', 'User deleted.'); + } + + public function restore(User $user) + { + $user->restore(); + + return Redirect::back()->with('success', 'User restored.'); + } + + public function subs(User $user) + { + + if($user->private){ + return Redirect::back()->with('error', 'Закрытый аккаунт'); + } + + $check = \DB::table('users_subscribers') + ->where('user_id', auth()->user()->id) + ->where('subscriber_id', $user->id) + ->first(); + + auth()->user()->subscribers()->toggle([$user->id]); + + if(!$check){ + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => null, + ]; + $user->notify(new Subscribed($message)); + LiveFeed::addBySub($user); + }else{ + LiveFeed::removeBySub($user); + } + + return Redirect::back()->with('success', 'Success'); + } + + public function removePaidSubs(User $user) + { + auth()->user()->subscribers()->toggle([$user->id]); + + DB::table('users_package_customers') + ->where('user_id', $user->id) + ->where('customer_id', auth()->user()->id) + ->delete(); + + LiveFeed::removeBySub($user); + + return Redirect::back()->with('success', 'Успешно отписались от пользователя'); + } + + public function settingsAutoSubsPaidUser(User $user) + { + DB::table('users_subscribers') + ->where('user_id', auth()->user()->id) + ->where('subscriber_id', $user->id) + ->update(['autosubscription' => DB::raw('NOT autosubscription')]); + + return Redirect::back()->with('success', 'Успешно выполнено'); + } + + public function settingsAutoSubs(User $user) + { + $auto = $user->autosubscription_site; + + if($auto){ + $msg = 'Автоматическое списание отключено!'; + $user->autosubscription_site = false; + }else{ + $msg = 'Автоматическое списание включено!'; + $user->autosubscription_site = true; + } + + $user->save(); + + return Redirect::back()->with('success', $msg); + } + + public function vote(User $user, HttpRequest $request) + { + + $authUserActiveSubscription = nova_get_setting('vote_paid_mode') ? SubscriptionService::activeSubscription() : true; + if(!$authUserActiveSubscription){ + return Redirect::back()->with('error', 'Только пользователи с подпиской могут выбрать лидера!'); + } + + $count_leader = nova_get_setting('vote_leader_count'); + if(!$request->vote && auth()->user()->subscribers()->where('leader', 1)->count() >= $count_leader){ + return Redirect::back()->with('error', "Можно выбрать {$count_leader} лидеров"); + } + + if(!$request->vote){ + $message = [ + 'user_id' => auth()->user()->id, + 'node_id' => null, + ]; + $user->notify(new LeaderChoice($message)); + } + auth()->user()->subscribers()->updateExistingPivot($user->id, [ + 'leader' => ! $request->vote, + ]); + return Redirect::back()->with('success', 'Success Vote!'); + } + + + public function plan($plan_id) + { + $user = auth()->user(); + + $active_subscription = SubscriptionService::activeSubscription(); + if ($active_subscription) { + return Redirect::back()->with('error', 'Подписка уже активирована'); + } + $balance = SubscriptionService::calculate($user->id); + $plan = Package::findOrFail($plan_id); + $plan_type = $plan->type; + if ($plan_type === 'month3') { + $ends_at = Carbon::now()->addMonths(3); + } else { + $ends_at = Carbon::now()->addMonths(); + } + $price = $plan->price; + if ($price > $balance) { + return Redirect::back()->with('error', 'Недостаточно средств!'); + } + + $sub = new Subscription; + $sub->user_id = $user->id; + $sub->package_id = $plan->id; + $sub->price = $price; + $sub->ends_at = $ends_at; + $sub->status = 'complete'; //YSV ENUM! + $sub->save(); + + $point = new Point; + $point->user_id = $user->id; + $point->point = $price; + $point->type = 'Оплата за подписку'; //YSV ENUM! + $point->direction = DirectionEnum::EXPENSE(); + $point->save(); + + return Redirect::back()->with('success', 'Вы успешо подписались!'); + } + + public function testPaid() + { + // $price = 50; + // $user = auth()->user(); + // $point = new Point; + // $point->user_id = $user->id; + // $point->point = $price; + // $point->type = 'Пополнение баланса по кнопки'; //YSV ENUM! + // $point->direction = DirectionEnum::COMING(); + // $point->save(); + // return Redirect::back()->with('success', 'Баланс успешно пополнен!'); + } + + + public function postsCount($user_id) + { + $user = User::findOrFail($user_id); + return $user->feeds()->count(); + } + + public function searchUserTag() + { + + $search = Request::input('search'); + if(empty($search)){ + return [ + 'users' => [], + 'tags' => [], + ]; + } + + $sanitize_search = Str::slug($search); + + $users = User::where('username', '%'.$search.'%') + ->where('username', '<>', 'inner_systemuser_api') + ->orWhere('first_name', 'ilike', '%'.$search.'%') + ->orWhere('last_name', 'ilike', '%'.$search.'%')->get(); + $users->each(function ($item) { + $item->name = $item->name; + return $item; + }); + $sanitize_search = '%'.$sanitize_search.'%'; + $tags = Tag::where('slug', 'ilike', $sanitize_search)->withCount('feeds')->get(); + + return [ + 'users' => $users, + 'tags' => $tags, + ]; + } + + public function friend() { + $user = auth()->user(); + $readers = $user->subscribers()->filter(Request::only('search')) + ->orderBy('id', 'desc') + ->cursorPaginate(50); + + + $users = []; + $nextCursor = get_cursor_hash($readers); + $readers->each(function ($item) use(&$users) { + $users[] = UserData::fromModel($item)->toArray(); + }); + return ['records' => $users, 'cursor' => $nextCursor]; + + } + + public function updatePassword(HttpRequest $request) + { + # Validation + $request->validate([ + 'old_password' => 'required', + 'new_password' => 'required|string|min:6', + ]); + + #Match The Old Password + if(!Hash::check($request->old_password, auth()->user()->password)){ + return back()->with("error", "Old Password Doesn't match!"); + } + + #Update the new Password + User::whereId(auth()->user()->id)->update([ + 'password' => Hash::make($request->new_password) + ]); + + return back()->with("success", "Password changed successfully!"); + + } + + + public function addDocument(HttpRequest $request) + { + $this->validate($request, [ + 'docs' => 'required|file|image', + ]); + + $documents = $request->user()->getMedia('documents'); + + if($documents->count()){ + foreach ($documents as $document) { + $document->delete(); + } + } + $file = $request->file('docs'); + + auth()->user()->addMedia($file)->toMediaCollection('documents', 'local'); + + return back()->with("success", "Документ успешно загружен"); + + } + + + public function readDocument(string $uuid) + { + $media = Media::where('uuid', $uuid)->first(); + return response()->download($media->getPath(), $media->file_name); + } + + public function verifyPhoneRequest(Carbon $now) + { + $user = auth()->user(); + if(empty($user->phone)){ + return back()->with("error", "Нужно ввести телефон"); + } + if (!empty($user->phone_verify_token) && $user->phone_verify_token_expire && $user->phone_verify_token_expire->gt($now)) { + return back()->with("error", "Токен уже запрошен."); + } + + $user->phone_verified = false; + $user->phone_verify_token = (string)random_int(10000, 99999); + $user->phone_verify_token_expire = $now->copy()->addSeconds(300); + $user->saveOrFail(); + + return back()->with("success", "Верификация номера телефона успешно запрошена, ожидайте"); + } + + public function verifyPhone(HttpRequest $request, Carbon $now) + { + $user = auth()->user(); + $token = $request->input('token'); + if ($token !== $user->phone_verify_token) { + return back()->with("error", "Токен уже запрошен."); + } + if ($user->phone_verify_token_expire->lt($now)) { + return back()->with("error", "Срок действия токена истек."); + } + $user->phone_verified = true; + $user->phone_verify_token = null; + $user->phone_verify_token_expire = null; + $user->saveOrFail(); + + return back()->with("success", "Верификация номера телефона успешно завершена"); + } + + +} diff --git a/app/Http/Controllers/VideosController.php b/app/Http/Controllers/VideosController.php new file mode 100755 index 00000000..f438c4ad --- /dev/null +++ b/app/Http/Controllers/VideosController.php @@ -0,0 +1,172 @@ +middleware('subs.paid')->except('show'); + } + + /** + * Display a listing of the resource. + * + * @return \Illuminate\Http\Response + */ + public function index() + { + + $filter = Request::get('filter'); + + $feeds = (new FeedQueryBuilder()) + ->addType('video') + ->search(Request::only('search')) + ->filter($filter) + ->enableAdvertising() + ->build(); + $nextCursor = $feeds->nextCursor; + $feeds = $feeds->transformData(); + + if(request()->wantsJson()){ + return ['collections' => $feeds, 'next' => $nextCursor]; + } + + $route = route('videos.index'); + return Inertia::render('Video/Feed', [ + 'nextCursor' => $nextCursor, + 'searchFilters' => Request::all('search'), + 'feeds' => $feeds, + 'local_route' => $route, + 'active_filter' => $filter ?? 'new' + ]); + } + + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + return Inertia::render('Video/Create'); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(VideoFormRequest $request) + { + + $action = new CreateFeedAction( + new CreateVideoAction(), + new CreateTagAction(), + ); + + $videoData = VideoData::fromRequest($request); + $action($videoData); + $msg = 'Видео успешно загружено и находится на модерации!'; + return Redirect::route('profile.user', auth()->user()->username)->with('success', $msg); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($slug) + { + $feed = new FeedQueryBuilder(); + $feed = $feed->selectBy('slug', $slug)->disablePaginate()->transformGet()->first(); + if(!$feed){ + abort(404); + } + return Inertia::render('Video/Show', [ + 'user' => $feed['user'], + 'feed' => $feed, + ]); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($slug) + { + $feed = Feed::where('slug', $slug)->firstOrFail(); + + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + $tags = $feed->tags()->pluck('name')->toArray(); + + $mediaTransform = (new FeedMediaTransform($feed))->default(); + $mediaPreview = $mediaTransform->getPreviewObject(); + + $mediaTransformCommon = $mediaTransform->spot(); + $mediaTransformPaid = (new FeedMediaTransform($feed))->paid()->spot(); + + + return Inertia::render('Video/Edit', [ + 'feed' => $feed, + 'tags' => $tags, + 'mediaPreview' => $mediaPreview, + 'mediasCount' => count($mediaTransformCommon['medias']), + 'mediasCommon' => $mediaTransformCommon['medias'], + 'mediasPaid' => $mediaTransformPaid['medias'], + ]); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(VideoFormRequest $request, Feed $feed) + { + $oldStatus = $feed->status; + if (!$feed->user()->is(auth()->user())) { + abort(404); + } + + $action = new CreateFeedAction( + new UpdateVideoAction($feed), + new CreateTagAction(), + ); + + $videoData = VideoData::fromRequest($request); + $action($videoData); + $newStatus = $feed->status; + + $message = 'Видео успешно обновлено!'; + if($oldStatus === StatusEnum::APPROVED() && $newStatus === StatusEnum::EDITABLE()){ + $message = 'Видео успешно обновлено и находится на модерации!'; + } + + return Redirect::back()->with('success', $message); + } + +} diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php new file mode 100755 index 00000000..f8b7eb91 --- /dev/null +++ b/app/Http/Kernel.php @@ -0,0 +1,71 @@ + [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + // \Illuminate\Session\Middleware\AuthenticateSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + \App\Http\Middleware\HandleInertiaRequests::class, + ], + + 'api' => [ + 'throttle:api', + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'remember' => \Reinink\RememberQueryStrings::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'subs.paid' => \App\Http\Middleware\CheckSubscribeUser::class, + ]; +} diff --git a/app/Http/Middleware/Authenticate.php b/app/Http/Middleware/Authenticate.php new file mode 100755 index 00000000..704089a7 --- /dev/null +++ b/app/Http/Middleware/Authenticate.php @@ -0,0 +1,21 @@ +expectsJson()) { + return route('login'); + } + } +} diff --git a/app/Http/Middleware/CheckSubscribeUser.php b/app/Http/Middleware/CheckSubscribeUser.php new file mode 100755 index 00000000..b67dc031 --- /dev/null +++ b/app/Http/Middleware/CheckSubscribeUser.php @@ -0,0 +1,43 @@ +user() || + ($request->user() instanceof MustVerifyEmail && + ! $request->user()->hasVerifiedEmail())) { + + return $request->expectsJson() + ? abort(403, 'Ваш адрес электронной почты не подтвержден.') + : Redirect::guest(URL::route('verification.notice')); + } + + // if($request->path() === '/' && empty(auth()->user())){ + // return $next($request); + // } + + // abort_if(empty(auth()->user()), 403); + + // if (auth()->user()->checkClosedAccess()) { + // return redirect(route('setting.tarif'))->with('error', 'Оплатите подписку!'); + // } + + return $next($request); + } +} diff --git a/app/Http/Middleware/EncryptCookies.php b/app/Http/Middleware/EncryptCookies.php new file mode 100755 index 00000000..033136ad --- /dev/null +++ b/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ +user()); + if(!auth()->user()){ + return $next($request); + } + + if (! auth()->user() || + (auth()->user() instanceof MustVerifyEmail && + ! auth()->user()->hasVerifiedEmail())) { + return response()->json(['message' => 'Your email address is not verified.'], 409); + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/HandleInertiaRequests.php b/app/Http/Middleware/HandleInertiaRequests.php new file mode 100755 index 00000000..3445ea3c --- /dev/null +++ b/app/Http/Middleware/HandleInertiaRequests.php @@ -0,0 +1,117 @@ +routeIs('*.layoutsidebar.*') || $request->routeIs('feeds.layoutsidebar')) { + $with_sidebar = 1; + } + + return array_merge(parent::share($request), [ + 'auth' => function () use ($request) { + return [ + 'user' => $request->user() ? [ + 'id' => $request->user()->id, + 'name' => $request->user()->name, + 'username' => $request->user()->username, + 'first_name' => $request->user()->first_name, + 'last_name' => $request->user()->last_name, + 'email' => $request->user()->email, + 'user_char' => $request->user()->user_char, + 'color' => $request->user()->color, + 'photo_path' => $request->user()->photo_path, + 'private' => $request->user()->private, + 'banner_path' => $request->user()->banner_path, + ] : null, + ]; + }, + 'balance' => function () use ($request) { + if($request->user()){ + return SubscriptionService::calculate($request->user()->id); + } + return 0; + }, + 'leaders' => function () use ($with_sidebar) { + if( $with_sidebar ){ + $leaders = collect(); + if(nova_get_setting('vote_paid_mode')){ + foreach (SubscriptionService::leaders() as $leader) { + if($leader->vote_count){ + $lUser = User::find($leader->user_id); + $lUser->name = $lUser->name; + $lUser->countVote = $leader->vote_count; + $leaders[] = $lUser; + } + } + }else{ + $leaders = SubscriptionService::freeLeaders(); + } + return $leaders; + } + }, + 'is_notify' => function () use ($request) { + if($request->user()){ + return $request->user()->unreadNotifications()->count(); + } + return 0; + }, + 'message_reading_count' => function () use ($request) { + if($request->user()){ + return $request->user()->chat_rooms()->whereHas('latestMessage', function (Builder $query) use($request) { + $query->where('is_reading', false)->where('user_id', '<>', $request->user()->id); + })->count(); + } + return 0; + }, + 'sidebar_layout' => $with_sidebar, + 'paid_mode' => function () { + return nova_get_setting('vote_paid_mode'); + }, + 'flash' => function () use ($request) { + return [ + 'success' => $request->session()->get('success'), + 'error' => $request->session()->get('error'), + 'status' => $request->session()->get('status'), + ]; + }, + ]); + } +} diff --git a/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/app/Http/Middleware/PreventRequestsDuringMaintenance.php new file mode 100755 index 00000000..e4956d0b --- /dev/null +++ b/app/Http/Middleware/PreventRequestsDuringMaintenance.php @@ -0,0 +1,17 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/TrimStrings.php b/app/Http/Middleware/TrimStrings.php new file mode 100755 index 00000000..5a50e7b5 --- /dev/null +++ b/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,18 @@ +allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php new file mode 100755 index 00000000..e794738f --- /dev/null +++ b/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,23 @@ + 'required|string|email', + 'password' => 'required|string', + ]; + } + + /** + * Attempt to authenticate the request's credentials. + * + * @return void + * + * @throws \Illuminate\Validation\ValidationException + */ + public function authenticate() + { + $this->ensureIsNotRateLimited(); + + if (! Auth::attempt($this->only('email', 'password'), $this->boolean('remember'))) { + RateLimiter::hit($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => __('auth.failed'), + ]); + } + + RateLimiter::clear($this->throttleKey()); + } + + /** + * Ensure the login request is not rate limited. + * + * @return void + * + * @throws \Illuminate\Validation\ValidationException + */ + public function ensureIsNotRateLimited() + { + if (! RateLimiter::tooManyAttempts($this->throttleKey(), 5)) { + return; + } + + event(new Lockout($this)); + + $seconds = RateLimiter::availableIn($this->throttleKey()); + + throw ValidationException::withMessages([ + 'email' => trans('auth.throttle', [ + 'seconds' => $seconds, + 'minutes' => ceil($seconds / 60), + ]), + ]); + } + + /** + * Get the rate limiting throttle key for the request. + * + * @return string + */ + public function throttleKey() + { + return Str::lower($this->input('email')).'|'.$this->ip(); + } +} diff --git a/app/Http/Requests/ImageFormRequest.php b/app/Http/Requests/ImageFormRequest.php new file mode 100755 index 00000000..a528c86c --- /dev/null +++ b/app/Http/Requests/ImageFormRequest.php @@ -0,0 +1,43 @@ + ['nullable', 'string', 'max:255'], + 'body' => ['nullable', 'string'], + 'tags' => ['array'], + 'photos' => [new LoadedMedia($this)], + 'photos.*' => 'image', + + 'price' => ['nullable', 'numeric', Rule::requiredIf($this->is_paid == 1)], + 'photos_paid' => ['sometimes', 'nullable', 'array', Rule::requiredIf($this->is_paid == 1)], + 'photos_paid.*' => 'image', + + 'removedItems' => ['nullable', 'array'], + ]; + } +} diff --git a/app/Http/Requests/MusicFormRequest.php b/app/Http/Requests/MusicFormRequest.php new file mode 100755 index 00000000..5a485448 --- /dev/null +++ b/app/Http/Requests/MusicFormRequest.php @@ -0,0 +1,45 @@ +musics_paid); + return [ + 'title' => ['nullable', 'string', 'max:255'], + 'body' => ['nullable', 'string'], + 'musics' => [new LoadedMedia($this)], + 'musics.*' => ['file', 'mimes:mp3', 'max:20000'], + 'preview' => ['nullable', 'image'], + 'tags' => ['array'], + + 'price' => ['nullable', 'numeric', Rule::requiredIf($this->is_paid == 1)], + 'musics_paid' => ['sometimes', 'nullable', 'array', Rule::requiredIf($this->is_paid == 1)], + 'musics_paid.*' => ['file', 'mimes:mp3', 'max:20000'], + + 'removedItems' => ['nullable', 'array'], + + ]; + } +} diff --git a/app/Http/Requests/TextFormRequest.php b/app/Http/Requests/TextFormRequest.php new file mode 100755 index 00000000..aa229190 --- /dev/null +++ b/app/Http/Requests/TextFormRequest.php @@ -0,0 +1,31 @@ + ['nullable', 'string', 'max:255'], + 'body' => ['required', 'string'], + ]; + } +} diff --git a/app/Http/Requests/VideoFormRequest.php b/app/Http/Requests/VideoFormRequest.php new file mode 100755 index 00000000..cdbaecba --- /dev/null +++ b/app/Http/Requests/VideoFormRequest.php @@ -0,0 +1,44 @@ + ['nullable', 'string', 'max:255'], + 'body' => ['nullable', 'string'], + 'videos' => [new LoadedMedia($this)], + //'videos.*' => ['mimes:mp4,flv,mov,avi,wmv', 'max:20000'], + 'preview' => ['nullable', 'image'], + 'tags' => ['array'], + + 'price' => ['nullable', 'numeric', Rule::requiredIf($this->is_paid == 1)], + 'videos_paid' => ['sometimes', 'nullable', 'array', Rule::requiredIf($this->is_paid == 1)], + //'videos_paid.*' => ['mimes:mp4,flv,mov,avi,wmv', 'max:20000'], + + 'removedItems' => ['nullable', 'array'], + //'youtube' => ['nullable', 'regex:/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/i'] + ]; + } +} diff --git a/app/Listeners/AddFeedUsers.php b/app/Listeners/AddFeedUsers.php new file mode 100755 index 00000000..c5131da2 --- /dev/null +++ b/app/Listeners/AddFeedUsers.php @@ -0,0 +1,56 @@ +feed; + $userFeed = $feed->user; + $readers = $userFeed->subscriber_reverse; + + + $new_posts = []; + + $new_posts[] = [ + 'feed_id' => $feed->id, + 'user_id' => $userFeed->id, + 'home_user_id' => $userFeed->id, + 'times' => $feed->created_at->getTimestamp(), + ]; + + foreach ($readers as $reader) { + $new_posts[] = [ + 'feed_id' => $feed->id, + 'user_id' => $reader->id, + 'home_user_id' => $userFeed->id, + 'times' => $feed->created_at->getTimestamp(), + ]; + } + + \DB::table('users_live_feeds')->insertOrIgnore($new_posts); + + + } +} diff --git a/app/Listeners/RemoveFeedUsers.php b/app/Listeners/RemoveFeedUsers.php new file mode 100755 index 00000000..ed589a48 --- /dev/null +++ b/app/Listeners/RemoveFeedUsers.php @@ -0,0 +1,31 @@ +where('feed_id', $event->feed->id)->delete(); + } +} diff --git a/app/Listeners/UpdateFeedUsers.php b/app/Listeners/UpdateFeedUsers.php new file mode 100755 index 00000000..7e9ce846 --- /dev/null +++ b/app/Listeners/UpdateFeedUsers.php @@ -0,0 +1,31 @@ +user = $user; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->markdown('emails.admin.registered', ['user' => $this->user]); + } +} diff --git a/app/Mail/FeedbackToAdmin.php b/app/Mail/FeedbackToAdmin.php new file mode 100755 index 00000000..aee4b17e --- /dev/null +++ b/app/Mail/FeedbackToAdmin.php @@ -0,0 +1,37 @@ +data = $data; + } + + /** + * Build the message. + * + * @return $this + */ + public function build() + { + return $this->markdown('emails.admin.feedback', ['data' => $this->data]); + } +} diff --git a/app/Models/Model.php b/app/Models/Model.php new file mode 100755 index 00000000..5e207ade --- /dev/null +++ b/app/Models/Model.php @@ -0,0 +1,20 @@ +where($this->getRouteKeyName(), $value)->withTrashed()->first() + // : parent::resolveRouteBinding($value); + // } +} diff --git a/app/Models/User.php b/app/Models/User.php new file mode 100755 index 00000000..089adab2 --- /dev/null +++ b/app/Models/User.php @@ -0,0 +1,226 @@ + 'boolean', + 'autosubscription_site' => 'boolean', + // 'allow_adult_content' => 'boolean', + 'phone_verified' => 'boolean', + 'passport_verified' => 'boolean', + 'phone_verify_token_expire' => 'datetime', + ]; + + protected static function boot() + { + parent::boot(); + + self::observe(UserObserver::class); + } + + public static function system() + { + return User::where('username', 'inner_systemuser_api')->first(); + } + + public function withdrawals() + { + return $this->hasMany(Withdrawal::class); + } + + public function bank_requisites() + { + return $this->hasMany(BankRequisites::class); + } + + public function points() + { + return $this->hasMany(Point::class); + } + + public function payments_orders() + { + return $this->hasMany(PaymentGatewayOrder::class); + } + + public function live_feeds() + { + // return $this->belongsToMany(Feed::class, 'users_live_feeds') + // ->withPivot('times')->orderByPivot('times', 'desc'); + + return $this->belongsToMany(Feed::class, 'users_live_feeds') + ->withPivot('times')->orderByPivot('feed_id', 'desc'); + + } + + public function customPackage() + { + return $this->hasOne(UserPackage::class); + } + + public function feeds() + { + return $this->hasMany(Feed::class); + } + + public function bannedUsers() + { + return $this->belongsToMany(User::class, 'user_banned', 'user_id', 'banned_user_id'); + } + + public function likes() + { + return $this->belongsToMany(Feed::class, 'users_feeds_like'); + } + + public function views() + { + return $this->belongsToMany(Feed::class, 'users_feeds_view'); + } + + public function audioLike() + { + return $this->belongsToMany(Media::class, 'user_audio_like')->withTimestamps()->orderByPivot('created_at', 'desc'); + } + + public function purchases() + { + return $this->belongsToMany(Feed::class, 'user_feed_purchase')->withPivot('amount')->withTimestamps()->orderByPivot('created_at', 'desc'); + } + + public function subscribers() + { + return $this->belongsToMany(User::class, 'users_subscribers', 'user_id', 'subscriber_id')->withPivot('leader'); + } + public function subscriber_reverse() + { + return $this->belongsToMany(User::class, 'users_subscribers', 'subscriber_id', 'user_id')->withPivot('leader'); + } + + public function subscribersOn() + { + return $this->belongsToMany(User::class, 'users_subscribers', 'user_id', 'subscriber_id')->withPivot('leader')->wherePivot('leader', 1); + } + public function subscribersOff() + { + return $this->belongsToMany(User::class, 'users_subscribers', 'user_id', 'subscriber_id')->withPivot('leader')->wherePivot('leader', 0); + } + + public function chat_rooms() + { + return $this->belongsToMany(ChatRoom::class, 'user_chat_room'); + } + + + public function votes() + { + return $this->belongsToMany(Vote::class)->withPivot('payment'); + } + + // подписки + public function subscription() + { + return $this->hasMany(Subscription::class)->orderBy('ends_at', 'desc'); + } + + public function getNameAttribute() + { + if ($this->last_name) { + return $this->first_name . ' ' . $this->last_name; + } + return $this->first_name; + } + + public function setPasswordAttribute($password) + { + $this->attributes['password'] = Hash::needsRehash($password) ? Hash::make($password) : $password; + } + + public function checkClosedAccess() + { + + $active_subscription = SubscriptionService::activeSubscription(); + $has_subscription = SubscriptionService::hasSubscription(); + + if($has_subscription > 0 && !$active_subscription){ + //имел подписку, нужно продлить + return true; + }elseif ($this->created_at->diffInMinutes(now()) > self::CHECKTIMEUSER && !$active_subscription) { + // пользователь только зарегался, закрываем доступ + return true; + } + + return false; + } + + public function testPeriodCheck() + { + $has_subscription = SubscriptionService::hasSubscription(); + if( $has_subscription === 0 && ($this->created_at->diffInMinutes(now()) <= self::CHECKTIMEUSER) ){ + return true; + } + return false; + } + + public function scopeFilter($query, array $filters) + { + $query->when($filters['search'] ?? null, function ($query, $search) { + $query->where(function ($query) use ($search) { + $query->where('first_name', 'ilike', '%'.$search.'%') + ->orWhere('last_name', 'ilike', '%'.$search.'%'); + }); + })->when($filters['sex'] ?? null, function ($query, $sex) { + $query->where('sex', $sex); + }); + } + + public function isVerified() + { + return $this->passport_verified; + // return $this->phone && $this->phone_verified; + } + public function isVerifiedForWithdrawal() + { + return $this->passport_verified && $this->inn && $this->checking_account && $this->bik; + // return $this->phone && $this->phone_verified; + } + + +} diff --git a/app/Notifications/BannedMessageFeed.php b/app/Notifications/BannedMessageFeed.php new file mode 100755 index 00000000..5fd55447 --- /dev/null +++ b/app/Notifications/BannedMessageFeed.php @@ -0,0 +1,50 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/CommentAdded.php b/app/Notifications/CommentAdded.php new file mode 100755 index 00000000..330558f6 --- /dev/null +++ b/app/Notifications/CommentAdded.php @@ -0,0 +1,47 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/LeaderChoice.php b/app/Notifications/LeaderChoice.php new file mode 100755 index 00000000..f2abe6ef --- /dev/null +++ b/app/Notifications/LeaderChoice.php @@ -0,0 +1,49 @@ +message = $message; + } + + + + /** + * Get the mail representation of the notification. + * + * @param mixed $notifiable + * @return \Illuminate\Notifications\Messages\MailMessage + */ + public function via($notifiable) + { + return ['database']; + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/LikeAdded.php b/app/Notifications/LikeAdded.php new file mode 100755 index 00000000..424b4d61 --- /dev/null +++ b/app/Notifications/LikeAdded.php @@ -0,0 +1,47 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/PurchaseAdded.php b/app/Notifications/PurchaseAdded.php new file mode 100755 index 00000000..e1d24a12 --- /dev/null +++ b/app/Notifications/PurchaseAdded.php @@ -0,0 +1,50 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/RemoveFeed.php b/app/Notifications/RemoveFeed.php new file mode 100755 index 00000000..c17255ae --- /dev/null +++ b/app/Notifications/RemoveFeed.php @@ -0,0 +1,45 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/Subscribed.php b/app/Notifications/Subscribed.php new file mode 100755 index 00000000..627f8833 --- /dev/null +++ b/app/Notifications/Subscribed.php @@ -0,0 +1,49 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/UserCustomPaidSubscription.php b/app/Notifications/UserCustomPaidSubscription.php new file mode 100755 index 00000000..44dddb55 --- /dev/null +++ b/app/Notifications/UserCustomPaidSubscription.php @@ -0,0 +1,49 @@ +message = $message; + } + + /** + * Get the notification's delivery channels. + * + * @param mixed $notifiable + * @return array + */ + public function via($notifiable) + { + return ['database']; + } + + + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return $this->message; + } +} diff --git a/app/Notifications/urchaseChoice.php b/app/Notifications/urchaseChoice.php new file mode 100755 index 00000000..037d39f8 --- /dev/null +++ b/app/Notifications/urchaseChoice.php @@ -0,0 +1,61 @@ +line('The introduction to the notification.') + ->action('Notification Action', url('/')) + ->line('Thank you for using our application!'); + } + + /** + * Get the array representation of the notification. + * + * @param mixed $notifiable + * @return array + */ + public function toArray($notifiable) + { + return [ + // + ]; + } +} diff --git a/app/Nova/Comment.php b/app/Nova/Comment.php new file mode 100755 index 00000000..fb784f70 --- /dev/null +++ b/app/Nova/Comment.php @@ -0,0 +1,106 @@ +sortable(), + BelongsTo::make('Creator', 'user', 'App\Nova\User') + ->onlyOnIndex(), + BelongsTo::make('Feed') + ->readonly(), + Text::make('Body') + ->displayUsing(function($id) { + $part = strip_tags(mb_substr($id, 0, 100)); + return $part . " ..."; + })->onlyOnIndex(), + BelongsTo::make('Parent', 'parent', \App\Nova\Comment::class), + HasMany::make('Children', 'children', \App\Nova\Comment::class), + Textarea::make('Body')->alwaysShow()->showOnDetail(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Complaint.php b/app/Nova/Complaint.php new file mode 100755 index 00000000..12dcf1ae --- /dev/null +++ b/app/Nova/Complaint.php @@ -0,0 +1,140 @@ +user()->hasRole('moderator')) { + $resourceRelationship = $request->get('viaResource'); + if (empty($resourceRelationship)) { + return $query->where(function ($query) use ($request) { + $query->where('moderator_checking_id', $request->user()->id)->orWhere('moderator_checking_id', null); + }); + } + } + + } + + + + public static function relatableUsers(NovaRequest $request, $query) + { + return $query->whereHas('roles', function ($query) { + $query->where('name', 'moderator'); + }); + } + + public static $with = ['reason', 'user', 'moderator']; + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make(__('ID'), 'id')->sortable(), + BelongsTo::make('User') + ->onlyOnIndex(), + BelongsTo::make('Moderator', 'moderator', 'App\Nova\User') + //->readonly(optional($this->resource)->user_checking_id !== null) + ->readonly() + ->withoutTrashed(), + BelongsTo::make('Reason') + ->readonly(), + BelongsTo::make('Feed') + ->readonly()->sortable(), + + Select::make('Status')->options([ + 'pending' => 'Pending', + 'reviewed_bad' => 'Reviewed Bad', + 'reviewed_ok' => 'Reviewed Ok', + ]), + + Textarea::make('Message')->alwaysShow()->rules('required'), + DateTime::make('Created At')->format('DD MMM YYYY')->onlyOnIndex(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/ComplaintComment.php b/app/Nova/ComplaintComment.php new file mode 100755 index 00000000..05f4529e --- /dev/null +++ b/app/Nova/ComplaintComment.php @@ -0,0 +1,124 @@ +whereHas('roles', function ($query) { + $query->where('name', 'moderator'); + }); + } + + public static $with = ['reason', 'user', 'moderator']; + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make(__('ID'), 'id')->sortable(), + BelongsTo::make('User') + ->onlyOnIndex(), + BelongsTo::make('Moderator', 'moderator', 'App\Nova\User') + ->readonly() + ->withoutTrashed(), + BelongsTo::make('Reason') + ->readonly(), + BelongsTo::make('Comment') + ->readonly()->sortable(), + + Select::make('Status')->options([ + 'pending' => 'Pending', + 'reviewed_bad' => 'Reviewed Bad', + 'reviewed_ok' => 'Reviewed Ok', + ]), + + Textarea::make('Message')->alwaysShow()->rules('required'), + DateTime::make('Created At')->format('DD MMM YYYY')->onlyOnIndex(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Feed.php b/app/Nova/Feed.php new file mode 100755 index 00000000..b2d67979 --- /dev/null +++ b/app/Nova/Feed.php @@ -0,0 +1,150 @@ +title)){ + return $this->id; + } + return $this->title; + } + + /** + * The columns that should be searched. + * + * @var array + */ + public static $search = [ + 'id', 'title', 'body' + ]; + + public static function indexQuery(NovaRequest $request, $query) + { + return $query->where('status', 1)->where('is_ads', false); + } + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make(__('ID'), 'id')->sortable(), + BelongsTo::make('Creator', 'user', 'App\Nova\User') + ->onlyOnIndex(), + Files::make('Media Preview', 'preview')->readonly(), + Files::make('Media', 'common')->readonly(), + Files::make('Media Paid', 'paid')->readonly(), + Text::make('Title'), + Text::make('Slug')->readonly(), + Select::make('Type')->options([ + 'images' => 'Изображение', + 'musics' => 'Аудио', + 'videos' => 'Видео', + ])->readonly()->displayUsingLabels(), + Text::make('Price')->readonly(), + Textarea::make('Body')->alwaysShow()->hideFromIndex(), + HasMany::make('Comments'), + HasMany::make('Complaints'), + DateTime::make('Created At')->format('DD MMM YYYY'), + DateTime::make('Updated At')->hideFromIndex(), + // Select::make('Status')->options([ + // (string) StatusEnum::PENDING() => 'pending', + // (string) StatusEnum::APPROVED() => 'approved', + // (string) StatusEnum::BANNED() => 'banned', + // (string) StatusEnum::EDITABLE() => 'editable', + // ])->displayUsingLabels()->onlyOnIndex()->sortable(), + + // Select::make('Status')->options([ + // (string) StatusEnum::APPROVED() => 'approved', + // (string) StatusEnum::BANNED() => 'banned', + // ])->displayUsingLabels()->hideFromIndex()->hideWhenCreating(), + + // Textarea::make('Status Note')->hideWhenCreating(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/FeedAds.php b/app/Nova/FeedAds.php new file mode 100755 index 00000000..f83b319f --- /dev/null +++ b/app/Nova/FeedAds.php @@ -0,0 +1,126 @@ +id; + } + + /** + * The columns that should be searched. + * + * @var array + */ + public static $search = [ + 'id', 'title', 'body' + ]; + + public static function indexQuery(NovaRequest $request, $query) + { + return $query->where('is_ads', true); + } + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make(__('ID'), 'id')->sortable(), + Files::make('Media Preview', 'preview'), + Files::make('Media', 'common'), + Text::make('Title')->rules('required'), + Select::make('Type')->options([ + 'images' => 'Изображение', + // 'musics' => 'Аудио', + 'videos' => 'Видео', + ])->displayUsingLabels()->rules('required'), + Textarea::make('Body')->rules('required')->alwaysShow()->hideFromIndex(), + DateTime::make('Created At')->format('DD MMM YYYY')->onlyOnIndex(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/FeedApproved.php b/app/Nova/FeedApproved.php new file mode 100755 index 00000000..15f2bf8d --- /dev/null +++ b/app/Nova/FeedApproved.php @@ -0,0 +1,177 @@ +title)){ + return $this->id; + } + return $this->title; + } + + /** + * The columns that should be searched. + * + * @var array + */ + public static $search = [ + 'id', 'title', 'body' + ]; + + public static function indexQuery(NovaRequest $request, $query) + { + return $query->where('status', '!=', 1)->where('is_ads', false)->with('user.subscription'); + } + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make(__('ID'), 'id')->sortable(), + BelongsTo::make('Creator', 'user', 'App\Nova\User') + ->onlyOnIndex(), + + Select::make('Тип пользователя', 'userType')->options([ + 1 => 'Физ. лицо', + 2 => 'Самозанятый', + 3 => 'Юридическое лицо', + 4 => 'ИП', + ])->displayUsingLabels()->readonly(), + + Boolean::make('Подписка', function () { + $last = $this->user->subscription->first(); + if ($last && $last->ends_at > Carbon::now()) { + return true; + } + return false; + })->onlyOnIndex(), + + Files::make('Media Preview', 'preview')->readonly(), + Files::make('Media', 'common')->readonly(), + Files::make('Media Paid', 'paid')->readonly(), + Text::make('Title'), + Text::make('Slug')->readonly()->hideFromIndex(), + Select::make('Type')->options([ + 'images' => 'Изображение', + 'musics' => 'Аудио', + 'videos' => 'Видео', + ])->readonly()->displayUsingLabels(), + Text::make('Price')->readonly(), + Textarea::make('Body')->alwaysShow()->hideFromIndex(), + HasMany::make('Comments'), + HasMany::make('Complaints'), + DateTime::make('Created At')->format('DD MMM YYYY'), + DateTime::make('Updated At')->hideFromIndex(), + + Text::make('StatusText', function ($model) { + if($model->status === StatusEnum::PENDING()){ + return 'Нужно проверить'; + } + if($model->status === StatusEnum::BANNED()){ + return 'Рассмотрено - есть проблемы'; + } + if($model->status === StatusEnum::EDITABLE()){ + return 'Нужно повторно рассмотреть'; + } + })->onlyOnIndex(), + + Select::make('Status')->options([ + (string) StatusEnum::APPROVED() => 'Одобрено', + (string) StatusEnum::BANNED() => 'Есть недочеты', + ])->hideFromIndex()->displayUsingLabels()->hideWhenCreating(), + + Textarea::make('Status Note')->hideWhenCreating(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return [ + new SubscriptionStatusFilter(), + ]; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Filters/StatusWithdrawalFilter.php b/app/Nova/Filters/StatusWithdrawalFilter.php new file mode 100755 index 00000000..29e8c6cd --- /dev/null +++ b/app/Nova/Filters/StatusWithdrawalFilter.php @@ -0,0 +1,54 @@ +where('status', $value); + } + + /** + * Get the filter's available options. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function options(Request $request) + { + return [ + 'В ожидании на вывод' => 'pending', + 'Выполнен' => 'success', + 'Отменен' => 'cancel', + ]; + } +} diff --git a/app/Nova/Filters/SubscriptionStatusFilter.php b/app/Nova/Filters/SubscriptionStatusFilter.php new file mode 100755 index 00000000..b68e1682 --- /dev/null +++ b/app/Nova/Filters/SubscriptionStatusFilter.php @@ -0,0 +1,73 @@ +whereHas('user.subscription', function ($q) { + $q->where('ends_at', '>', Carbon::now()); + }); + } elseif ($value === 'inactive') { + // Фильтруем записи, где у пользователя нет активной подписки + $query->where(function ($q) { + $q->whereDoesntHave('user.subscription') + ->orWhere(function ($q) { + $q->whereHas('user.subscription', function ($q) { + $q->where('ends_at', '<=', Carbon::now()); + })->whereDoesntHave('user.subscription', function ($q) { + $q->where('ends_at', '>', Carbon::now()); + }); + }); + }); + } + + return $query; + } + + /** + * Get the filter's available options. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function options(Request $request) + { + return [ + 'Активна' => 'active', + 'Неактивна' => 'inactive', + ]; + } +} diff --git a/app/Nova/Package.php b/app/Nova/Package.php new file mode 100755 index 00000000..d754e477 --- /dev/null +++ b/app/Nova/Package.php @@ -0,0 +1,102 @@ +sortable(), + Text::make('Name')->rules('required'), + Number::make('Price')->min(1)->step(0.01)->rules('required'), + Select::make('Type')->options([ + 'month' => 'Month', + 'month3' => '3 Month', + ])->rules('required'), + + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Point.php b/app/Nova/Point.php new file mode 100755 index 00000000..58c0417c --- /dev/null +++ b/app/Nova/Point.php @@ -0,0 +1,110 @@ +sortable(), + BelongsTo::make('User') + ->searchable() + ->withSubtitles() + ->rules('required'), + Number::make('Point')->min(1)->step(0.01), + Select::make('Direction')->options([ + 0 => 'Приход', // COMING + 1 => 'Расход', // EXPENSE + ])->rules('required')->displayUsingLabels(), + Textarea::make('Comment')->alwaysShow(), + ]; + } + + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Reason.php b/app/Nova/Reason.php new file mode 100755 index 00000000..610bddf5 --- /dev/null +++ b/app/Nova/Reason.php @@ -0,0 +1,94 @@ +sortable(), + Text::make('Name') + ->rules('required', 'max:255'), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Resource.php b/app/Nova/Resource.php new file mode 100755 index 00000000..03277df0 --- /dev/null +++ b/app/Nova/Resource.php @@ -0,0 +1,59 @@ +first_name; + } + + public function subtitle() + { + return "Username: {$this->username}"; + } + + /** + * The columns that should be searched. + * + * @var array + */ + public static $search = [ + 'id', 'first_name', 'last_name', 'username', 'email', + ]; + + + /** + * Get the fields displayed by the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function fields(Request $request) + { + return [ + ID::make()->sortable(), + + // Gravatar::make()->maxWidth(50), + + Text::make('Имя', 'Name', function () { + return $this->first_name.' '.$this->last_name; + })->onlyOnIndex(), + + Text::make('Username') + ->rules('required', 'max:255') + ->creationRules('unique:users,username') + ->updateRules('unique:users,username,{{resourceId}}'), + + Text::make('Имя', 'first_name') + ->onlyOnForms() + ->rules('required', 'max:255'), + + Text::make('Фамилия', 'last_name') + ->onlyOnForms(), + + Text::make('Tелефон', 'phone'), + + Text::make('ИНН', 'inn')->hideFromIndex(), + Text::make('Расчетный счет', 'checking_account')->hideFromIndex(), + Text::make('Бик банка', 'bik')->hideFromIndex(), + + Text::make('Почта', 'email') + ->sortable() + ->rules('required', 'email', 'max:254') + ->creationRules('unique:users,email') + ->updateRules('unique:users,email,{{resourceId}}'), + + Password::make('Password') + ->onlyOnForms() + ->creationRules('required', 'string', 'min:4') + ->updateRules('nullable', 'string', 'min:4'), + + RoleBooleanGroup::make('Roles'), + PermissionBooleanGroup::make('Permissions'), + BelongsToMany::make('Votes')->fields(function () { + return [ + Text::make('Payment'), + ]; + }), + Boolean::make('Вер.: телефон', 'phone_verified'), + Boolean::make('Вер.: паспорт', 'passport_verified'), + Boolean::make('Загружен док.?', function () { + return $this->media->count() ? true : false; + })->onlyOnIndex(), + Boolean::make('Подписка', function () { + $last = $this->subscription()->first(); + if (empty($last)) { + return false; + } + if ($last->ends_at > Carbon::now()) { + return true; + } + return false; + })->onlyOnIndex(), + Files::make('Документ', 'documents')->readonly(), + + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return []; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } +} diff --git a/app/Nova/Vote.php b/app/Nova/Vote.php new file mode 100755 index 00000000..791a137d --- /dev/null +++ b/app/Nova/Vote.php @@ -0,0 +1,124 @@ +sortable(), + Number::make('Процент сайта', 'procent_site')->min(1)->step(0.01)->rules('required')->default(function ($request) { + return nova_get_setting('vote_procent_site'); + }), + Number::make('Процент лидера', 'procent_top')->min(1)->step(0.01)->rules('required')->default(function ($request) { + return nova_get_setting('vote_procent_leader'); + }), + Number::make('Процент локального лидера', 'procent_local')->min(1)->step(0.01)->rules('required')->default(function ($request) { + return nova_get_setting('vote_procent_local_leader'); + }), + Boolean::make('Платный режим включен', 'type')->rules('required')->default(function ($request) { + return nova_get_setting('vote_paid_mode'); + }), + DateTime::make('Created At')->format('DD MMM YYYY'), + BelongsToMany::make('Users')->fields(function () { + return [ + Text::make('Payment'), + ]; + }), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return [ + (new NovaLeader)->currentLeader(), + ]; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return []; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } + + // protected static function afterCreationValidation(NovaRequest $request, $validator) + // { + // // $validator->errors()->add('field', 'Something is wrong with this field!'); + // } +} diff --git a/app/Nova/Withdrawal.php b/app/Nova/Withdrawal.php new file mode 100755 index 00000000..fadf002a --- /dev/null +++ b/app/Nova/Withdrawal.php @@ -0,0 +1,167 @@ +sortable(), + BelongsTo::make('User')->readonly(), + + Select::make('Тип пользователя', 'userType')->options([ + 1 => 'Физ. лицо', + 2 => 'Самозанятый', + 3 => 'Юридическое лицо', + 4 => 'ИП', + ])->displayUsingLabels()->readonly(), + + + Text::make('Реквизиты', 'requisites') + ->readonly(), + + Text::make('Телефон', 'userPhone') + ->readonly(), + + Number::make('Amount')->min(1)->step(0.01)->readonly(), + Select::make('Status')->options([ + 'pending' => 'В ожидании', + 'success' => 'Выполнен', + 'cancel' => 'Отменен', + ])->displayUsingLabels()->readonly(optional($this->resource)->status !== 'pending'), + + Boolean::make('Подписка', function () { + $last = $this->user->subscription->first(); + if ($last && $last->ends_at > Carbon::now()) { + return true; + } + return false; + })->onlyOnIndex(), + + Textarea::make('Данные платежа', 'history_payment_details')->alwaysShow()->readonly(), + Textarea::make('Примечания (причина отказа)', 'description')->alwaysShow()->readonly(optional($this->resource)->status !== 'pending'), + DateTime::make('Created At')->format('DD MMM YYYY')->readonly(), + DateTime::make('Updated At')->hideFromIndex()->readonly(), + ]; + } + + /** + * Get the cards available for the request. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function cards(Request $request) + { + return [ + + ]; + } + + /** + * Get the filters available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function filters(Request $request) + { + return [ + new StatusWithdrawalFilter(), + new SubscriptionStatusFilter(), + ]; + } + + /** + * Get the lenses available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function lenses(Request $request) + { + return []; + } + + /** + * Get the actions available for the resource. + * + * @param \Illuminate\Http\Request $request + * @return array + */ + public function actions(Request $request) + { + return []; + } + + protected static function afterUpdateValidation(NovaRequest $request, $validator) + { + if($request->created_at !== $request->updated_at){ + $validator->errors()->add('status', 'Данный платеж только для чтения!'); + return; + } + $status = $request->status; + $description = $request->description; + if($status === 'cancel' && empty($description)){ + $validator->errors()->add('description', 'Нужно указать причину отмены платежа!'); + } + } + + public static function indexQuery(NovaRequest $request, $query) + { + return $query->with('user.subscription'); + } + + +} diff --git a/app/Policies/CommentComplaintPolicy.php b/app/Policies/CommentComplaintPolicy.php new file mode 100755 index 00000000..6855d088 --- /dev/null +++ b/app/Policies/CommentComplaintPolicy.php @@ -0,0 +1,107 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Complaints\Models\CommentComplaint $commentComplaint + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, CommentComplaint $commentComplaint) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Complaints\Models\CommentComplaint $commentComplaint + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, CommentComplaint $commentComplaint) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Complaints\Models\CommentComplaint $commentComplaint + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, CommentComplaint $commentComplaint) + { + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Complaints\Models\CommentComplaint $commentComplaint + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, CommentComplaint $commentComplaint) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Complaints\Models\CommentComplaint $commentComplaint + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, CommentComplaint $commentComplaint) + { + // + } +} diff --git a/app/Policies/CommentPolicy.php b/app/Policies/CommentPolicy.php new file mode 100755 index 00000000..db967c6f --- /dev/null +++ b/app/Policies/CommentPolicy.php @@ -0,0 +1,114 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Comments\Models\Comment $comment + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, Comment $comment) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Comments\Models\Comment $comment + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, Comment $comment) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Comments\Models\Comment $comment + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, Comment $comment) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Comments\Models\Comment $comment + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, Comment $comment) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Comments\Models\Comment $comment + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, Comment $comment) + { + if ($user->hasRole('moderator')) { + return true; + } + } +} diff --git a/app/Policies/ComplaintPolicy.php b/app/Policies/ComplaintPolicy.php new file mode 100755 index 00000000..2f1d0fd7 --- /dev/null +++ b/app/Policies/ComplaintPolicy.php @@ -0,0 +1,107 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Complaint $complaint + * @return mixed + */ + public function view(User $user, Complaint $complaint) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Complaint $complaint + * @return mixed + */ + public function update(User $user, Complaint $complaint) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Complaint $complaint + * @return mixed + */ + public function delete(User $user, Complaint $complaint) + { + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Complaint $complaint + * @return mixed + */ + public function restore(User $user, Complaint $complaint) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Complaint $complaint + * @return mixed + */ + public function forceDelete(User $user, Complaint $complaint) + { + // + } +} diff --git a/app/Policies/FeedPolicy.php b/app/Policies/FeedPolicy.php new file mode 100755 index 00000000..2a6bfa6a --- /dev/null +++ b/app/Policies/FeedPolicy.php @@ -0,0 +1,118 @@ +hasRole('administrators')) { + // return true; + // } + // } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Feed $feed + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, Feed $feed) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + // if(str_contains( request()->getPathInfo(), 'feed-ads')){ + // return true; + // } + // return false; + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Feed $feed + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, Feed $feed) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Feed $feed + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, Feed $feed) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Feed $feed + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, Feed $feed) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Feed $feed + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, Feed $feed) + { + return false; + } +} diff --git a/app/Policies/PackagePolicy.php b/app/Policies/PackagePolicy.php new file mode 100755 index 00000000..a6c8a4e6 --- /dev/null +++ b/app/Policies/PackagePolicy.php @@ -0,0 +1,103 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Subscriptions\Models\Package $package + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, Package $package) + { + // + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + // + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Subscriptions\Models\Package $package + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, Package $package) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Subscriptions\Models\Package $package + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, Package $package) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Subscriptions\Models\Package $package + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, Package $package) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Subscriptions\Models\Package $package + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, Package $package) + { + // + } +} diff --git a/app/Policies/PermissionPolicy.php b/app/Policies/PermissionPolicy.php new file mode 100755 index 00000000..60ed0b88 --- /dev/null +++ b/app/Policies/PermissionPolicy.php @@ -0,0 +1,103 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Permission $permission + * @return mixed + */ + public function view(User $user, Permission $permission) + { + // + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + // + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Permission $permission + * @return mixed + */ + public function update(User $user, Permission $permission) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Permission $permission + * @return mixed + */ + public function delete(User $user, Permission $permission) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Permission $permission + * @return mixed + */ + public function restore(User $user, Permission $permission) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Permission $permission + * @return mixed + */ + public function forceDelete(User $user, Permission $permission) + { + // + } +} diff --git a/app/Policies/PointPolicy.php b/app/Policies/PointPolicy.php new file mode 100755 index 00000000..1df4a47a --- /dev/null +++ b/app/Policies/PointPolicy.php @@ -0,0 +1,108 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + + if ($user->hasRole('finance')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Point $point + * @return mixed + */ + public function view(User $user, Point $point) + { + if ($user->hasRole('finance')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if ($user->hasRole('finance')) { + return true; + } + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Point $point + * @return mixed + */ + public function update(User $user, Point $point) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Point $point + * @return mixed + */ + public function delete(User $user, Point $point) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Point $point + * @return mixed + */ + public function restore(User $user, Point $point) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Point $point + * @return mixed + */ + public function forceDelete(User $user, Point $point) + { + // + } +} diff --git a/app/Policies/ReasonPolicy.php b/app/Policies/ReasonPolicy.php new file mode 100755 index 00000000..e11d14c0 --- /dev/null +++ b/app/Policies/ReasonPolicy.php @@ -0,0 +1,104 @@ +hasRole('administrators')) { + return true; + } + } + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Reason $reason + * @return mixed + */ + public function view(User $user, Reason $reason) + { + if ($user->hasRole('moderator')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + // + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Reason $reason + * @return mixed + */ + public function update(User $user, Reason $reason) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Reason $reason + * @return mixed + */ + public function delete(User $user, Reason $reason) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Reason $reason + * @return mixed + */ + public function restore(User $user, Reason $reason) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Reason $reason + * @return mixed + */ + public function forceDelete(User $user, Reason $reason) + { + // + } +} diff --git a/app/Policies/RolePolicy.php b/app/Policies/RolePolicy.php new file mode 100755 index 00000000..f3320031 --- /dev/null +++ b/app/Policies/RolePolicy.php @@ -0,0 +1,102 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Models\Role $role + * @return mixed + */ + public function view(User $user, Role $role) + { + // + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + // + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Models\Role $role + * @return mixed + */ + public function update(User $user, Role $role) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Role $role + * @return mixed + */ + public function delete(User $user, Role $role) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Models\Role $role + * @return mixed + */ + public function restore(User $user, Role $role) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Models\Role $role + * @return mixed + */ + public function forceDelete(User $user, Role $role) + { + // + } +} diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php new file mode 100755 index 00000000..c587a4f1 --- /dev/null +++ b/app/Policies/UserPolicy.php @@ -0,0 +1,101 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function viewAny(User $user) + { + return true; + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @return mixed + */ + public function view(User $user) + { + return true; + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return mixed + */ + public function create(User $user) + { + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @return mixed + */ + public function update(User $user) + { + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @return mixed + */ + public function delete(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @return mixed + */ + public function restore(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @return mixed + */ + public function forceDelete(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } +} diff --git a/app/Policies/VotePolicy.php b/app/Policies/VotePolicy.php new file mode 100755 index 00000000..7cff4ce9 --- /dev/null +++ b/app/Policies/VotePolicy.php @@ -0,0 +1,106 @@ +hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Votes\Models\Vote $vote + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, Vote $vote) + { + // + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Votes\Models\Vote $vote + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, Vote $vote) + { + // + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Votes\Models\Vote $vote + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, Vote $vote) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Votes\Models\Vote $vote + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, Vote $vote) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Votes\Models\Vote $vote + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, Vote $vote) + { + // + } +} diff --git a/app/Policies/WithdrawalPolicy.php b/app/Policies/WithdrawalPolicy.php new file mode 100755 index 00000000..d2172bf6 --- /dev/null +++ b/app/Policies/WithdrawalPolicy.php @@ -0,0 +1,108 @@ +hasRole('administrators')) { + // return true; + // } + // } + + /** + * Determine whether the user can view any models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewAny(User $user) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can view the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Payments\Models\Withdrawal $withdrawal + * @return \Illuminate\Auth\Access\Response|bool + */ + public function view(User $user, Withdrawal $withdrawal) + { + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can create models. + * + * @param \App\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Payments\Models\Withdrawal $withdrawal + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, Withdrawal $withdrawal) + { + // && $withdrawal->status === 'pending' + if ($user->hasRole('administrators')) { + return true; + } + } + + /** + * Determine whether the user can delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Payments\Models\Withdrawal $withdrawal + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, Withdrawal $withdrawal) + { + // + } + + /** + * Determine whether the user can restore the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Payments\Models\Withdrawal $withdrawal + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, Withdrawal $withdrawal) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \App\Models\User $user + * @param \App\Domain\Payments\Models\Withdrawal $withdrawal + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, Withdrawal $withdrawal) + { + // + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100755 index 00000000..e1391f44 --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,33 @@ +subject('Подтвердите адрес электронной почты') + ->greeting('Здравствуйте!') + ->line('Пройдите по ссылке для подтверждения вашего email.') + ->action('Подтвердить email', $url) + ->line('Если вы не создавали аккаунт, никаких действий не требуется'); + }); + } + +} diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php new file mode 100755 index 00000000..f605c395 --- /dev/null +++ b/app/Providers/AuthServiceProvider.php @@ -0,0 +1,30 @@ + 'App\Policies\UserPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/app/Providers/BroadcastServiceProvider.php b/app/Providers/BroadcastServiceProvider.php new file mode 100755 index 00000000..395c518b --- /dev/null +++ b/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ + Text::class, + 'images' => Image::class, + 'videos' => Video::class, + 'musics' => Music::class, + 'feeds' => Feed::class, + 'payoutsBank' => BankRequisites::class, + ]); + } + + /** + * Register the application services. + * + * @return void + */ + public function register() + { + // + } +} diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php new file mode 100755 index 00000000..2818103d --- /dev/null +++ b/app/Providers/EventServiceProvider.php @@ -0,0 +1,51 @@ + [ + SendEmailVerificationNotification::class, + ], + + FeedAddProcessed::class => [ + AddFeedUsers::class, + ], + + FeedRemoveProcessed::class => [ + RemoveFeedUsers::class, + ], + + // FeedUpdateProcessed::class => [ + // UpdateFeedUsers::class, + // ], + + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + // + } +} diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php new file mode 100755 index 00000000..651f893f --- /dev/null +++ b/app/Providers/NovaServiceProvider.php @@ -0,0 +1,136 @@ +withAuthenticationRoutes() + ->withPasswordResetRoutes() + ->register(); + } + + /** + * Register the Nova gate. + * + * This gate determines who can access Nova in non-local environments. + * + * @return void + */ + protected function gate() + { + + Gate::define('viewNova', function ($user) { + return $user->hasDirectPermission('access'); + // return in_array($user->email, [ + + // ]); + }); + } + + /** + * Get the cards that should be displayed on the default Nova dashboard. + * + * @return array + */ + protected function cards() + { + return [ + + //new Help, + ]; + } + + /** + * Get the extra dashboards that should be displayed on the Nova dashboard. + * + * @return array + */ + protected function dashboards() + { + return []; + } + + /** + * Get the tools that should be listed in the Nova sidebar. + * + * @return array + */ + public function tools() + { + return [ + \Vyuldashev\NovaPermission\NovaPermissionTool::make() + ->rolePolicy(RolePolicy::class) + ->permissionPolicy(PermissionPolicy::class), + new \OptimistDigital\NovaSettings\NovaSettings, + ]; + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php new file mode 100755 index 00000000..50fce0e8 --- /dev/null +++ b/app/Providers/RouteServiceProvider.php @@ -0,0 +1,52 @@ +configureRateLimiting(); + + $this->routes(function () { + Route::middleware('web') + ->group(base_path('routes/web.php')); + + Route::prefix('api') + ->middleware('api') + ->group(base_path('routes/api.php')); + }); + } + + /** + * Configure the rate limiters for the application. + * + * @return void + */ + protected function configureRateLimiting() + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60); + }); + } +} diff --git a/app/Rules/LoadedMedia.php b/app/Rules/LoadedMedia.php new file mode 100755 index 00000000..d59d6d10 --- /dev/null +++ b/app/Rules/LoadedMedia.php @@ -0,0 +1,58 @@ +request = $request; + } + /** + * Determine if the validation rule passes. + * + * @param string $attribute + * @param mixed $value + * @return bool + */ + public function passes($attribute, $value) + { + + if(is_array($value)){ + return true; + } + + $total = $this->request->totalItems ?? -1; + $removeCount = $this->request->removedItems ?? []; + + + if($total === count($removeCount)){ + return false; + } + + if($total < 0 && $value === null){ + return false; + } + + return true; + + } + + /** + * Get the validation error message. + * + * @return string + */ + public function message() + { + return 'Поле медиа обязательно для заполнения!'; + } +} diff --git a/app/Support/Sms/SmsApi.php b/app/Support/Sms/SmsApi.php new file mode 100755 index 00000000..dd5c1ea3 --- /dev/null +++ b/app/Support/Sms/SmsApi.php @@ -0,0 +1,9 @@ +appId = $appId; + $this->url = $url; + $this->client = new Client(); + } + + public function sendText($number, $text): void + { + $this->client->post($this->url, [ + 'form_params' => [ + 'api_id' => $this->appId, + 'to' => '+' . trim($number, '+'), + 'text' => $text + ], + ]); + } + + public function sendCall($number, $ip): void + { + + } +} diff --git a/app/Support/helpers.php b/app/Support/helpers.php new file mode 100755 index 00000000..3e7636c2 --- /dev/null +++ b/app/Support/helpers.php @@ -0,0 +1,13 @@ +hasMorePages()){ + return @explode('cursor=', $collectionWithPagination->nextPageUrl())[1]; + }else{ + return null; + } +} diff --git a/artisan b/artisan new file mode 100755 index 00000000..67a3329b --- /dev/null +++ b/artisan @@ -0,0 +1,53 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100755 index 00000000..037e17df --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100755 index 00000000..d6b7ef32 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/composer.json b/composer.json new file mode 100755 index 00000000..ae0fa8a4 --- /dev/null +++ b/composer.json @@ -0,0 +1,94 @@ +{ + "name": "laravel/laravel", + "type": "project", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "require": { + "php": "^7.4|^8.0", + "coderello/laravel-nova-lang": "^1.7", + "ebess/advanced-nova-media-library": "^3.6", + "fideloper/proxy": "^4.4", + "fruitcake/laravel-cors": "^2.0", + "guzzlehttp/guzzle": "^7.0.1", + "inertiajs/inertia-laravel": "^0.4.2", + "interkassa/php-sdk": "^1.1", + "laravel/framework": "^8.40", + "laravel/nova": "*", + "laravel/tinker": "^2.5", + "laravel/ui": "^3.3", + "league/glide-laravel": "^1.0", + "optimistdigital/nova-settings": "3.5.7", + "qiwi/bill-payments-php-sdk": "^0.2.2", + "reinink/remember-query-strings": "^0.1.0", + "spatie/data-transfer-object": "^2.8.3", + "spatie/laravel-enum": "^2.5", + "spatie/laravel-medialibrary": "9.0.0", + "spatie/laravel-permission": "^4.0", + "tightenco/ziggy": "^1.3.1", + "unitpay/php-sdk": "^2.0", + "vyuldashev/nova-permission": "^2.11", + "ysv/nova-leader": "*", + "yoomoney/yookassa-sdk-php": "^3.0" + }, + "require-dev": { + "barryvdh/laravel-debugbar": "^3.5", + "facade/ignition": "^2.5", + "fakerphp/faker": "^1.9.1", + "laravel/sail": "*", + "mockery/mockery": "^1.4.3", + "nunomaduro/collision": "^5.0", + "phpunit/phpunit": "^9.5" + }, + + "repositories": [ + { + "type": "path", + "url": "./nova" + }, + { + "type": "path", + "url": "./nova-components/NovaLeader" + } + ], + + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" + }, + "files" : [ + "app/Support/helpers.php" + ] + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100755 index 00000000..7a9ea40f --- /dev/null +++ b/composer.lock @@ -0,0 +1,10836 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "b13307ae72cef4d8cb46f9b9f714494d", + "packages": [ + { + "name": "asm89/stack-cors", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/asm89/stack-cors.git", + "reference": "50f57105bad3d97a43ec4a485eb57daf347eafea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/50f57105bad3d97a43ec4a485eb57daf347eafea", + "reference": "50f57105bad3d97a43ec4a485eb57daf347eafea", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0", + "symfony/http-foundation": "^5.3|^6|^7", + "symfony/http-kernel": "^5.3|^6|^7" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-4": { + "Asm89\\Stack\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander", + "email": "iam.asm89@gmail.com" + } + ], + "description": "Cross-origin resource sharing library and stack middleware", + "homepage": "https://github.com/asm89/stack-cors", + "keywords": [ + "cors", + "stack" + ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/v2.2.0" + }, + "time": "2023-11-14T13:51:46+00:00" + }, + { + "name": "brick/math", + "version": "0.9.3", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", + "vimeo/psalm": "4.9.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.9.3" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], + "time": "2021-08-15T20:50:18+00:00" + }, + { + "name": "brick/money", + "version": "0.5.3", + "source": { + "type": "git", + "url": "https://github.com/brick/money.git", + "reference": "49e6597470da74f6a9f1dd7d5286ea3b4756b7e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/money/zipball/49e6597470da74f6a9f1dd7d5286ea3b4756b7e0", + "reference": "49e6597470da74f6a9f1dd7d5286ea3b4756b7e0", + "shasum": "" + }, + "require": { + "brick/math": "~0.7.3 || ~0.8.0 || ~0.9.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "brick/varexporter": "~0.2.1", + "ext-dom": "*", + "ext-pdo": "*", + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^7.5.15 || ^8.0 || ^9.0", + "vimeo/psalm": "4.9.2" + }, + "suggest": { + "ext-intl": "Required to format Money objects" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Money\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Money and currency library", + "keywords": [ + "brick", + "currency", + "money" + ], + "support": { + "issues": "https://github.com/brick/money/issues", + "source": "https://github.com/brick/money/tree/0.5.3" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/brick/money", + "type": "tidelift" + } + ], + "time": "2021-10-10T11:59:43+00:00" + }, + { + "name": "cakephp/chronos", + "version": "2.4.5", + "source": { + "type": "git", + "url": "https://github.com/cakephp/chronos.git", + "reference": "b0321ab7658af9e7abcb3dd876f226e6f3dbb81f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/b0321ab7658af9e7abcb3dd876f226e6f3dbb81f", + "reference": "b0321ab7658af9e7abcb3dd876f226e6f3dbb81f", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^4.5", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/carbon_compat.php" + ], + "psr-4": { + "Cake\\Chronos\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + }, + { + "name": "The CakePHP Team", + "homepage": "https://cakephp.org" + } + ], + "description": "A simple API extension for DateTime.", + "homepage": "https://cakephp.org", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "issues": "https://github.com/cakephp/chronos/issues", + "source": "https://github.com/cakephp/chronos" + }, + "time": "2024-07-30T22:26:11+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/3c430083d0b41ceed84ecccf9dac613241d7305d", + "reference": "3c430083d0b41ceed84ecccf9dac613241d7305d", + "shasum": "" + }, + "require": { + "php": "^7.1.8 || ^8.0" + }, + "conflict": { + "doctrine/dbal": ">=3.7.0" + }, + "require-dev": { + "doctrine/dbal": ">=2.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-10-01T12:35:29+00:00" + }, + { + "name": "coderello/laravel-nova-lang", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/coderello/laravel-nova-lang.git", + "reference": "a55a426a14b0465436f2572fc5bc9d74ca5cfea3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/coderello/laravel-nova-lang/zipball/a55a426a14b0465436f2572fc5bc9d74ca5cfea3", + "reference": "a55a426a14b0465436f2572fc5bc9d74ca5cfea3", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "require-dev": { + "ext-curl": "*", + "illuminate/console": "^8.0", + "illuminate/events": "^8.0", + "illuminate/filesystem": "^8.0", + "laravel/nova": "~3.0", + "php": "^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Coderello\\LaravelNovaLang\\Providers\\LaravelNovaLangServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Coderello\\LaravelNovaLang\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Language support for Laravel Nova.", + "keywords": [ + "lang", + "language", + "laravel", + "nova", + "support" + ], + "support": { + "issues": "https://github.com/coderello/laravel-nova-lang/issues", + "source": "https://github.com/coderello/laravel-nova-lang/tree/1.8.2" + }, + "time": "2022-04-11T15:58:26+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "doctrine/cache", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/2.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2022-05-20T20:07:39+00:00" + }, + { + "name": "doctrine/dbal", + "version": "2.13.9", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/c480849ca3ad6706a39c970cdfe6888fa8a058b8", + "reference": "c480849ca3ad6706a39c970cdfe6888fa8a058b8", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.0|^2.0", + "doctrine/deprecations": "^0.5.3|^1", + "doctrine/event-manager": "^1.0", + "ext-pdo": "*", + "php": "^7.1 || ^8" + }, + "require-dev": { + "doctrine/coding-standard": "9.0.0", + "jetbrains/phpstorm-stubs": "2021.1", + "phpstan/phpstan": "1.4.6", + "phpunit/phpunit": "^7.5.20|^8.5|9.5.16", + "psalm/plugin-phpunit": "0.16.1", + "squizlabs/php_codesniffer": "3.6.2", + "symfony/cache": "^4.4", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "vimeo/psalm": "4.22.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "lib/Doctrine/DBAL" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlanywhere", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/2.13.9" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2022-05-02T20:28:55+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/log": "^1 || ^2 || ^3" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + }, + "time": "2024-12-07T21:18:45+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.8", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.24" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:51:15+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.10", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2024-02-18T20:23:39+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-02-28T11:07:21+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "8c784d071debd117328803d86b2097615b457500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", + "reference": "8c784d071debd117328803d86b2097615b457500", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2024-10-09T13:47:03+00:00" + }, + { + "name": "ebess/advanced-nova-media-library", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://github.com/ebess/advanced-nova-media-library.git", + "reference": "b7ffb4a92bdfc86d8200b102660888dccf8b08ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ebess/advanced-nova-media-library/zipball/b7ffb4a92bdfc86d8200b102660888dccf8b08ec", + "reference": "b7ffb4a92bdfc86d8200b102660888dccf8b08ec", + "shasum": "" + }, + "require": { + "laravel/framework": "^5.6|^6.0|^7.0|^8.0|^9.0", + "laravel/nova": "^2.0|^3.0|^4.0", + "php": ">=7.4", + "spatie/laravel-medialibrary": "^8.0|^9.0|^10.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Ebess\\AdvancedNovaMediaLibrary\\AdvancedNovaMediaLibraryServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Ebess\\AdvancedNovaMediaLibrary\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Laravel Nova tools for managing the Spatie media library.", + "keywords": [ + "laravel", + "nova" + ], + "support": { + "issues": "https://github.com/ebess/advanced-nova-media-library/issues", + "source": "https://github.com/ebess/advanced-nova-media-library/tree/3.8.0" + }, + "time": "2022-04-05T11:02:42+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.25", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" + }, + "require-dev": { + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2020-12-29T14:50:06+00:00" + }, + { + "name": "fideloper/proxy", + "version": "4.4.2", + "source": { + "type": "git", + "url": "https://github.com/fideloper/TrustedProxy.git", + "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", + "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^5.0|^6.0|^7.0|^8.0|^9.0", + "php": ">=5.4.0" + }, + "require-dev": { + "illuminate/http": "^5.0|^6.0|^7.0|^8.0|^9.0", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Fideloper\\Proxy\\TrustedProxyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fideloper\\Proxy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Fidao", + "email": "fideloper@gmail.com" + } + ], + "description": "Set trusted proxies for Laravel", + "keywords": [ + "load balancing", + "proxy", + "trusted proxy" + ], + "support": { + "issues": "https://github.com/fideloper/TrustedProxy/issues", + "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.2" + }, + "time": "2022-02-09T13:33:34+00:00" + }, + { + "name": "fruitcake/laravel-cors", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/laravel-cors.git", + "reference": "783a74f5e3431d7b9805be8afb60fd0a8f743534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/783a74f5e3431d7b9805be8afb60fd0a8f743534", + "reference": "783a74f5e3431d7b9805be8afb60fd0a8f743534", + "shasum": "" + }, + "require": { + "asm89/stack-cors": "^2.0.1", + "illuminate/contracts": "^6|^7|^8|^9", + "illuminate/support": "^6|^7|^8|^9", + "php": ">=7.2" + }, + "require-dev": { + "laravel/framework": "^6|^7.24|^8", + "orchestra/testbench-dusk": "^4|^5|^6|^7", + "phpunit/phpunit": "^6|^7|^8|^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "laravel": { + "providers": [ + "Fruitcake\\Cors\\CorsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "keywords": [ + "api", + "cors", + "crossdomain", + "laravel" + ], + "support": { + "issues": "https://github.com/fruitcake/laravel-cors/issues", + "source": "https://github.com/fruitcake/laravel-cors/tree/v2.2.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "abandoned": true, + "time": "2022-02-23T14:25:13+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.3", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:45:45+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.9.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2024-07-24T11:22:20+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2024-10-17T10:06:22+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.7.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2024-07-18T11:15:46+00:00" + }, + { + "name": "inertiajs/inertia-laravel", + "version": "v0.4.5", + "source": { + "type": "git", + "url": "https://github.com/inertiajs/inertia-laravel.git", + "reference": "406b15af162e78be5c7793b25aadd5a183eea84b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/406b15af162e78be5c7793b25aadd5a183eea84b", + "reference": "406b15af162e78be5c7793b25aadd5a183eea84b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": "^5.4|^6.0|^7.0|^8.0", + "php": "^7.2|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^4.0|^5.0|^6.0", + "phpunit/phpunit": "^8.0|^9.0", + "roave/security-advisories": "dev-master" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Inertia\\ServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "./helpers.php" + ], + "psr-4": { + "Inertia\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "https://reinink.ca" + } + ], + "description": "The Laravel adapter for Inertia.js.", + "keywords": [ + "inertia", + "laravel" + ], + "support": { + "issues": "https://github.com/inertiajs/inertia-laravel/issues", + "source": "https://github.com/inertiajs/inertia-laravel/tree/v0.4.5" + }, + "funding": [ + { + "url": "https://github.com/reinink", + "type": "github" + } + ], + "time": "2021-10-27T09:37:59+00:00" + }, + { + "name": "interkassa/php-sdk", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/interkassa/php-sdk.git", + "reference": "e3b8f5608ed2ea67c9b79be68392e50669036e60" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/interkassa/php-sdk/zipball/e3b8f5608ed2ea67c9b79be68392e50669036e60", + "reference": "e3b8f5608ed2ea67c9b79be68392e50669036e60", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~8|~9" + }, + "type": "library", + "autoload": { + "psr-4": { + "Interkassa\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Interkassa", + "email": "technical@interkassa.com", + "homepage": "https://docs.interkassa.com", + "role": "Developer" + } + ], + "description": "SDK for Interkassa", + "homepage": "https://github.com/interkassa/php-sdk", + "keywords": [ + "Interkassa", + "pay" + ], + "support": { + "issues": "https://github.com/interkassa/php-sdk/issues", + "source": "https://github.com/interkassa/php-sdk/tree/v1.1.4" + }, + "time": "2022-06-20T15:58:41+00:00" + }, + { + "name": "intervention/image", + "version": "2.7.2", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "04be355f8d6734c826045d02a1079ad658322dad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad", + "reference": "04be355f8d6734c826045d02a1079ad658322dad", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "guzzlehttp/psr7": "~1.1 || ^2.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "~0.9.2", + "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" + }, + "suggest": { + "ext-gd": "to use GD library based image processing.", + "ext-imagick": "to use Imagick based image processing.", + "intervention/imagecache": "Caching extension for the Intervention Image library" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Image": "Intervention\\Image\\Facades\\Image" + }, + "providers": [ + "Intervention\\Image\\ImageServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "2.4-dev" + } + }, + "autoload": { + "psr-4": { + "Intervention\\Image\\": "src/Intervention/Image" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" + } + ], + "description": "Image handling and manipulation library with support for Laravel integration", + "homepage": "http://image.intervention.io/", + "keywords": [ + "gd", + "image", + "imagick", + "laravel", + "thumbnail", + "watermark" + ], + "support": { + "issues": "https://github.com/Intervention/image/issues", + "source": "https://github.com/Intervention/image/tree/2.7.2" + }, + "funding": [ + { + "url": "https://paypal.me/interventionio", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2022-05-21T17:30:32+00:00" + }, + { + "name": "laravel/framework", + "version": "v8.83.29", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "d841a226a50c715431952a10260ba4fac9e91cc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/d841a226a50c715431952a10260ba4fac9e91cc4", + "reference": "d841a226a50c715431952a10260ba4fac9e91cc4", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.4|^2.0", + "dragonmantank/cron-expression": "^3.0.2", + "egulias/email-validator": "^2.1.10", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "laravel/serializable-closure": "^1.0", + "league/commonmark": "^1.3|^2.0.2", + "league/flysystem": "^1.1", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.53.1", + "opis/closure": "^3.6", + "php": "^7.3|^8.0", + "psr/container": "^1.0", + "psr/log": "^1.0|^2.0", + "psr/simple-cache": "^1.0", + "ramsey/uuid": "^4.2.2", + "swiftmailer/swiftmailer": "^6.3", + "symfony/console": "^5.4", + "symfony/error-handler": "^5.4", + "symfony/finder": "^5.4", + "symfony/http-foundation": "^5.4", + "symfony/http-kernel": "^5.4", + "symfony/mime": "^5.4", + "symfony/process": "^5.4", + "symfony/routing": "^5.4", + "symfony/var-dumper": "^5.4", + "tijsverkoyen/css-to-inline-styles": "^2.2.2", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^1.6.1" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.198.1", + "doctrine/dbal": "^2.13.3|^3.1.4", + "filp/whoops": "^2.14.3", + "guzzlehttp/guzzle": "^6.5.5|^7.0.1", + "league/flysystem-cached-adapter": "^1.0", + "mockery/mockery": "^1.4.4", + "orchestra/testbench-core": "^6.27", + "pda/pheanstalk": "^4.0", + "phpunit/phpunit": "^8.5.19|^9.5.8", + "predis/predis": "^1.1.9", + "symfony/cache": "^5.4" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", + "ext-bcmath": "Required to use the multiple_of validation rule.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", + "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "mockery/mockery": "Required to use mocking (^1.4.4).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^5.4).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.4).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0).", + "wildbit/swiftmailer-postmark": "Required to use Postmark mail driver (^3.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2024-11-20T15:55:41+00:00" + }, + { + "name": "laravel/nova", + "version": "3.24.0", + "dist": { + "type": "path", + "url": "./nova", + "reference": "adf8e77620b30b351f6867b0aacc5d493fe30b0d" + }, + "require": { + "brick/money": "^0.5.0", + "cakephp/chronos": "^1.0|^2.0", + "doctrine/dbal": "^2.9", + "illuminate/support": "^7.0|^8.0", + "laravel/ui": "^2.0|^3.0", + "moontoast/math": "^1.1", + "php": "^7.2.5|^8.0", + "spatie/once": "^1.1|^2.0|^3.0", + "symfony/console": "^5.0", + "symfony/finder": "^5.0", + "symfony/intl": "^5.0", + "symfony/process": "^5.0" + }, + "require-dev": { + "laravel/legacy-factories": "^1.0", + "laravel/nova-dusk-suite": "8.x-dev", + "mockery/mockery": "^1.3.3|^1.4.2", + "orchestra/testbench-dusk": "^6.17", + "phpunit/phpunit": "^8.4", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Nova\\NovaCoreServiceProvider" + ], + "aliases": { + "Nova": "Laravel\\Nova\\Nova" + } + } + }, + "autoload": { + "psr-4": { + "Laravel\\Nova\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Laravel\\Nova\\Tests\\": "tests/" + } + }, + "scripts": { + "dusk:prepare": [ + "./vendor/bin/dusk-updater detect --auto-update", + "@php -r \"file_exists('phpunit.dusk.xml') || copy('phpunit.dusk.xml.dist', 'phpunit.dusk.xml'); \"", + "@php -r \"if (file_exists('.env.dusk')) { copy('.env.dusk', 'vendor/laravel/nova-dusk-suite/.env'); } else { copy('.env.dusk.example', 'vendor/laravel/nova-dusk-suite/.env'); }\"", + "./vendor/bin/testbench-dusk package:discover" + ], + "dusk:assets": [ + "yarn install", + "yarn run prod", + "./vendor/bin/testbench-dusk nova:publish" + ], + "dusk:test": [ + "./vendor/bin/phpunit -c phpunit.dusk.xml" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "A wonderful administration interface for Laravel.", + "keywords": [ + "admin", + "laravel" + ], + "transport-options": { + "relative": true + } + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.7", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d", + "reference": "4f48ade902b94323ca3be7646db16209ec76be3d", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.61|^3.0", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2024-11-14T18:34:49+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.10.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/22177cc71807d38f2810c6204d8f7183d88a57d3", + "reference": "22177cc71807d38f2810c6204d8f7183d88a57d3", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.11.1|^0.12.0", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.10.1" + }, + "time": "2025-01-27T14:24:01+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.4.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42|^9.0", + "illuminate/filesystem": "^8.42|^9.0", + "illuminate/support": "^8.82|^9.0", + "illuminate/validation": "^8.42|^9.0", + "php": "^7.3|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.23|^7.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.4.6" + }, + "time": "2022-05-20T13:38:08+00:00" + }, + { + "name": "league/commonmark", + "version": "2.6.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d990688c91cedfb69753ffc2512727ec646df2ad", + "reference": "d990688c91cedfb69753ffc2512727ec646df2ad", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2024-12-29T14:10:59+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "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" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "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" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "1.1.10", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], + "time": "2022-10-04T09:16:37+00:00" + }, + { + "name": "league/glide", + "version": "1.7.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/glide.git", + "reference": "8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/glide/zipball/8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e", + "reference": "8dba756ada0b8e525bf6f1f7d1bd83c1e99e124e", + "shasum": "" + }, + "require": { + "intervention/image": "^2.4", + "league/flysystem": "^1.0", + "php": "^7.2|^8.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "phpunit/php-token-stream": "^3.1|^4.0", + "phpunit/phpunit": "^8.5|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Glide\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "http://reinink.ca" + }, + { + "name": "Titouan Galopin", + "email": "galopintitouan@gmail.com", + "homepage": "https://titouangalopin.com" + } + ], + "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", + "homepage": "http://glide.thephpleague.com", + "keywords": [ + "ImageMagick", + "editing", + "gd", + "image", + "imagick", + "league", + "manipulation", + "processing" + ], + "support": { + "issues": "https://github.com/thephpleague/glide/issues", + "source": "https://github.com/thephpleague/glide/tree/1.7.2" + }, + "time": "2023-02-14T06:26:04+00:00" + }, + { + "name": "league/glide-laravel", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/glide-laravel.git", + "reference": "b525e33e32940f3b047d6ca357131aba0e973e72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/glide-laravel/zipball/b525e33e32940f3b047d6ca357131aba0e973e72", + "reference": "b525e33e32940f3b047d6ca357131aba0e973e72", + "shasum": "" + }, + "require": { + "league/glide-symfony": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^0.9", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Glide\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "http://reinink.ca" + } + ], + "description": "Glide adapter for Laravel", + "homepage": "http://glide.thephpleague.com", + "support": { + "issues": "https://github.com/thephpleague/glide-laravel/issues", + "source": "https://github.com/thephpleague/glide-laravel/tree/master" + }, + "time": "2015-12-26T15:40:35+00:00" + }, + { + "name": "league/glide-symfony", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/glide-symfony.git", + "reference": "8162ec0e0b070e53e88a840a67208ec4baec9291" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/glide-symfony/zipball/8162ec0e0b070e53e88a840a67208ec4baec9291", + "reference": "8162ec0e0b070e53e88a840a67208ec4baec9291", + "shasum": "" + }, + "require": { + "league/glide": "^1.0", + "symfony/http-foundation": "^2.3|^3.0|^4.0|^5.0" + }, + "require-dev": { + "mockery/mockery": "^0.9", + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Glide\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "http://reinink.ca" + } + ], + "description": "Glide adapter for Symfony", + "homepage": "http://glide.thephpleague.com", + "support": { + "issues": "https://github.com/thephpleague/glide-symfony/issues", + "source": "https://github.com/thephpleague/glide-symfony/tree/1.0.4" + }, + "time": "2020-03-05T12:38:10+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-09-21T08:32:55+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "2.4.0", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3", + "reference": "3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "myclabs/php-enum": "^1.5", + "php": "^8.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.9", + "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.4", + "phpunit/phpunit": "^8.5.8 || ^9.4.2", + "vimeo/psalm": "^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/2.4.0" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + }, + { + "url": "https://opencollective.com/zipstream", + "type": "open_collective" + } + ], + "time": "2022-12-08T12:29:14+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/5cf826f2991858b54d5c3809bee745560a1042a7", + "reference": "5cf826f2991858b54d5c3809bee745560a1042a7", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.38 || ^9.6.19", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2024-11-12T12:43:37+00:00" + }, + { + "name": "moontoast/math", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/moontoast-math.git", + "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/moontoast-math/zipball/5f47d34c87767dbcc08b30377a9827df71de91fa", + "reference": "5f47d34c87767dbcc08b30377a9827df71de91fa", + "shasum": "" + }, + "require": { + "php": ">=5.3.3", + "phpseclib/bcmath_compat": ">=1.0.3" + }, + "require-dev": { + "jakub-onderka/php-parallel-lint": "^0.9.0", + "phpunit/phpunit": "^4.8 || ^5.5 || ^6.5 || ^7.0", + "satooshi/php-coveralls": "^0.6.1", + "squizlabs/php_codesniffer": "^2.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Moontoast\\Math\\": "src/Moontoast/Math", + "Moontoast\\Math\\Exception\\": "src/Moontoast/Math/Exception" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A mathematics library, providing functionality for large numbers", + "homepage": "https://github.com/ramsey/moontoast-math", + "keywords": [ + "bcmath", + "math" + ], + "support": { + "issues": "https://github.com/ramsey/moontoast-math/issues", + "source": "https://github.com/ramsey/moontoast-math" + }, + "abandoned": "brick/math", + "time": "2020-01-05T04:49:34+00:00" + }, + { + "name": "myclabs/php-enum", + "version": "1.8.5", + "source": { + "type": "git", + "url": "https://github.com/myclabs/php-enum.git", + "reference": "e7be26966b7398204a234f8673fdad5ac6277802" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/e7be26966b7398204a234f8673fdad5ac6277802", + "reference": "e7be26966b7398204a234f8673fdad5ac6277802", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "1.*", + "vimeo/psalm": "^4.6.2 || ^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "MyCLabs\\Enum\\": "src/" + }, + "classmap": [ + "stubs/Stringable.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP Enum contributors", + "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" + } + ], + "description": "PHP Enum implementation", + "homepage": "https://github.com/myclabs/php-enum", + "keywords": [ + "enum" + ], + "support": { + "issues": "https://github.com/myclabs/php-enum/issues", + "source": "https://github.com/myclabs/php-enum/tree/1.8.5" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", + "type": "tidelift" + } + ], + "time": "2025-01-14T11:49:03+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.73.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075", + "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "psr/clock": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "<6", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2025-01-08T20:10:23+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.5", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": "7.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.5" + }, + "time": "2023-10-05T20:37:59+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.5", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "shasum": "" + }, + "require": { + "php": "8.0 - 8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.5" + }, + "time": "2024-08-07T15:39:19+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.4.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" + }, + "time": "2024-12-30T11:07:19+00:00" + }, + { + "name": "opis/closure", + "version": "3.6.3", + "source": { + "type": "git", + "url": "https://github.com/opis/closure.git", + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", + "shasum": "" + }, + "require": { + "php": "^5.4 || ^7.0 || ^8.0" + }, + "require-dev": { + "jeremeamia/superclosure": "^2.0", + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.6.x-dev" + } + }, + "autoload": { + "files": [ + "functions.php" + ], + "psr-4": { + "Opis\\Closure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marius Sarca", + "email": "marius.sarca@gmail.com" + }, + { + "name": "Sorin Sarca", + "email": "sarca_sorin@hotmail.com" + } + ], + "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "homepage": "https://opis.io/closure", + "keywords": [ + "anonymous functions", + "closure", + "function", + "serializable", + "serialization", + "serialize" + ], + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.6.3" + }, + "time": "2022-01-27T09:35:39+00:00" + }, + { + "name": "optimistdigital/nova-settings", + "version": "3.5.7", + "source": { + "type": "git", + "url": "https://github.com/outl1ne/nova-settings.git", + "reference": "7e784070f25275d9aac3f35a72d87397a37a3a95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/outl1ne/nova-settings/zipball/7e784070f25275d9aac3f35a72d87397a37a3a95", + "reference": "7e784070f25275d9aac3f35a72d87397a37a3a95", + "shasum": "" + }, + "require": { + "laravel/nova": "^3.0", + "optimistdigital/nova-translations-loader": "^3.0", + "php": ">=7.2.0" + }, + "require-dev": { + "laravel/nova-dusk-suite": "7.x-dev|8.x-dev", + "orchestra/testbench": "^5.0|^6.0", + "orchestra/testbench-dusk": "^5.0|^6.0", + "phpunit/phpunit": "^8.0|^9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "OptimistDigital\\NovaSettings\\NovaSettingsServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "./src/helpers.php" + ], + "psr-4": { + "OptimistDigital\\NovaSettings\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A Laravel Nova tool for editing custom settings using native Nova fields.", + "keywords": [ + "laravel", + "nova" + ], + "support": { + "issues": "https://github.com/outl1ne/nova-settings/issues", + "source": "https://github.com/outl1ne/nova-settings/tree/3.5.7" + }, + "funding": [ + { + "url": "https://github.com/outl1ne", + "type": "github" + } + ], + "time": "2022-07-19T12:55:51+00:00" + }, + { + "name": "optimistdigital/nova-translations-loader", + "version": "3.1.4", + "source": { + "type": "git", + "url": "https://github.com/optimistdigital/nova-translations-loader.git", + "reference": "d70d311b3c5b5722ebd27e1223f39e6a75b744b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/optimistdigital/nova-translations-loader/zipball/d70d311b3c5b5722ebd27e1223f39e6a75b744b2", + "reference": "d70d311b3c5b5722ebd27e1223f39e6a75b744b2", + "shasum": "" + }, + "require": { + "laravel/framework": "^7.21 || ^8.0 || ^9.0", + "laravel/nova": "^3.0", + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": [], + "providers": [] + } + }, + "autoload": { + "psr-4": { + "OptimistDigital\\NovaTranslationsLoader\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "This Laravel Nova package helps developers load translations into their packages.", + "keywords": [ + "laravel", + "nova", + "optimistdigital", + "translations" + ], + "support": { + "issues": "https://github.com/optimistdigital/nova-translations-loader/issues", + "source": "https://github.com/optimistdigital/nova-translations-loader/tree/3.1.4" + }, + "time": "2022-04-08T12:27:58+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512", + "reference": "df1e7fde177501eee2037dd159cf04f5f301a512", + "shasum": "" + }, + "require": { + "php": "^8" + }, + "require-dev": { + "phpunit/phpunit": "^9", + "vimeo/psalm": "^4|^5" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2024-05-08T12:36:18+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, + { + "name": "php-ds/php-ds", + "version": "v1.5.0", + "source": { + "type": "git", + "url": "https://github.com/php-ds/polyfill.git", + "reference": "7b2c5f1843466d50769a0682ce6fa9ddaaa99cb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-ds/polyfill/zipball/7b2c5f1843466d50769a0682ce6fa9ddaaa99cb4", + "reference": "7b2c5f1843466d50769a0682ce6fa9ddaaa99cb4", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.0" + }, + "provide": { + "ext-ds": "1.5.0" + }, + "require-dev": { + "php-ds/tests": "^1.5" + }, + "suggest": { + "ext-ds": "to improve performance and reduce memory usage" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ds\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rudi Theunissen", + "email": "rudolf.theunissen@gmail.com" + } + ], + "keywords": [ + "data structures", + "ds", + "php", + "polyfill" + ], + "support": { + "issues": "https://github.com/php-ds/polyfill/issues", + "source": "https://github.com/php-ds/polyfill/tree/v1.5.0" + }, + "time": "2023-12-19T16:52:21+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.3", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:41:07+00:00" + }, + { + "name": "phpseclib/bcmath_compat", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/bcmath_compat.git", + "reference": "ae8f87ea0c96b2ef08ecf0d291d45372d0f7bc5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/bcmath_compat/zipball/ae8f87ea0c96b2ef08ecf0d291d45372d0f7bc5a", + "reference": "ae8f87ea0c96b2ef08ecf0d291d45372d0f7bc5a", + "shasum": "" + }, + "require": { + "phpseclib/phpseclib": "^3.0" + }, + "provide": { + "ext-bcmath": "8.1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4", + "squizlabs/php_codesniffer": "^3.0" + }, + "suggest": { + "ext-gmp": "Will enable faster math operations" + }, + "type": "library", + "autoload": { + "files": [ + "lib/bcmath.php" + ], + "psr-4": { + "bcmath_compat\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "homepage": "http://phpseclib.sourceforge.net" + } + ], + "description": "PHP 5.x-8.x polyfill for bcmath extension", + "keywords": [ + "BigInteger", + "bcmath", + "bigdecimal", + "math", + "polyfill" + ], + "support": { + "email": "terrafrost@php.net", + "issues": "https://github.com/phpseclib/bcmath_compat/issues", + "source": "https://github.com/phpseclib/bcmath_compat" + }, + "time": "2024-06-06T14:17:54+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.43", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "709ec107af3cb2f385b9617be72af8cf62441d02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/709ec107af3cb2f385b9617be72af8cf62441d02", + "reference": "709ec107af3cb2f385b9617be72af8cf62441d02", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2|^3", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib3\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.43" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2024-12-14T21:12:59+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/1.1" + }, + "time": "2023-04-04T09:50:52+00:00" + }, + { + "name": "psr/log", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "time": "2021-07-14T16:41:46+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.7", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.7" + }, + "time": "2024-12-10T01:58:33+00:00" + }, + { + "name": "qiwi/bill-payments-php-sdk", + "version": "0.2.2", + "source": { + "type": "git", + "url": "https://github.com/QIWI-API/bill-payments-php-sdk.git", + "reference": "b9deaea7c916dc7282779f01b821a3082504529d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/QIWI-API/bill-payments-php-sdk/zipball/b9deaea7c916dc7282779f01b821a3082504529d", + "reference": "b9deaea7c916dc7282779f01b821a3082504529d", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "php": ">=5.6.0" + }, + "require-dev": { + "php-mock/php-mock-phpunit": "^1.1", + "phpdocumentor/phpdocumentor": "2.8.*", + "phpunit/phpunit": "5.7.27", + "squizlabs/php_codesniffer": "3.5.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Qiwi\\Api\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Universal payments API SDK", + "homepage": "https://github.com/QIWI-API/bill-payments-php-sdk", + "support": { + "issues": "https://github.com/QIWI-API/bill-payments-php-sdk/issues", + "source": "https://github.com/QIWI-API/bill-payments-php-sdk/tree/0.2.2" + }, + "time": "2021-08-12T16:19:06+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/ad7475d1c9e70b190ecffc58f2d989416af339b4", + "reference": "ad7475d1c9e70b190ecffc58f2d989416af339b4", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "symfony/polyfill-php81": "^1.23" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.3.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-27T19:12:24+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.6", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.6" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2024-04-27T21:32:50+00:00" + }, + { + "name": "reinink/remember-query-strings", + "version": "v0.1.2", + "source": { + "type": "git", + "url": "https://github.com/reinink/remember-query-strings.git", + "reference": "b0b2b119ecae87948d927e268af89442f39c8de7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reinink/remember-query-strings/zipball/b0b2b119ecae87948d927e268af89442f39c8de7", + "reference": "b0b2b119ecae87948d927e268af89442f39c8de7", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Reinink\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Reinink", + "email": "jonathan@reinink.ca", + "homepage": "https://reinink.ca" + } + ], + "description": "Laravel middleware that automatically remembers and restores query strings.", + "homepage": "https://github.com/reinink/remember-query-strings", + "keywords": [ + "laravel", + "middleware", + "query-strings" + ], + "support": { + "issues": "https://github.com/reinink/remember-query-strings/issues", + "source": "https://github.com/reinink/remember-query-strings/tree/v0.1.2" + }, + "time": "2022-09-20T18:44:08+00:00" + }, + { + "name": "spatie/data-transfer-object", + "version": "2.8.4", + "source": { + "type": "git", + "url": "https://github.com/spatie/data-transfer-object.git", + "reference": "167ebbe56ead65ef23abcfae7b75f932afd496a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/data-transfer-object/zipball/167ebbe56ead65ef23abcfae7b75f932afd496a4", + "reference": "167ebbe56ead65ef23abcfae7b75f932afd496a4", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "suggest": { + "phpstan/phpstan": "Take advantage of checkUninitializedProperties with \\Spatie\\DataTransferObject\\PHPstan\\PropertiesAreAlwaysInitializedExtension" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\DataTransferObject\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Data transfer objects with batteries included", + "homepage": "https://github.com/spatie/data-transfer-object", + "keywords": [ + "data-transfer-object", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/data-transfer-object/issues", + "source": "https://github.com/spatie/data-transfer-object/tree/2.8.4" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "abandoned": "spatie/laravel-data", + "time": "2021-12-07T05:41:11+00:00" + }, + { + "name": "spatie/enum", + "version": "3.13.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/enum.git", + "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/enum/zipball/f1a0f464ba909491a53e60a955ce84ad7cd93a2c", + "reference": "f1a0f464ba909491a53e60a955ce84ad7cd93a2c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.0" + }, + "require-dev": { + "fakerphp/faker": "^1.9.1", + "larapack/dd": "^1.1", + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "^4.3" + }, + "suggest": { + "fakerphp/faker": "To use the enum faker provider", + "phpunit/phpunit": "To use the enum assertions" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Enum\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Tom Witkowski", + "email": "dev@gummibeer.de", + "homepage": "https://gummibeer.de", + "role": "Developer" + } + ], + "description": "PHP Enums", + "homepage": "https://github.com/spatie/enum", + "keywords": [ + "enum", + "enumerable", + "spatie" + ], + "support": { + "docs": "https://docs.spatie.be/enum", + "issues": "https://github.com/spatie/enum/issues", + "source": "https://github.com/spatie/enum" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-04-22T08:51:55+00:00" + }, + { + "name": "spatie/image", + "version": "1.10.6", + "source": { + "type": "git", + "url": "https://github.com/spatie/image.git", + "reference": "897e819848096ea8eee8ed4a3531c6166f9a99e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/image/zipball/897e819848096ea8eee8ed4a3531c6166f9a99e0", + "reference": "897e819848096ea8eee8ed4a3531c6166f9a99e0", + "shasum": "" + }, + "require": { + "ext-exif": "*", + "ext-json": "*", + "ext-mbstring": "*", + "league/glide": "^1.6", + "php": "^7.2|^8.0", + "spatie/image-optimizer": "^1.1", + "spatie/temporary-directory": "^1.0|^2.0", + "symfony/process": "^3.0|^4.0|^5.0|^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.21|^9.5.4", + "symfony/var-dumper": "^4.0|^5.0|^6.0", + "vimeo/psalm": "^4.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Image\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Manipulate images with an expressive API", + "homepage": "https://github.com/spatie/image", + "keywords": [ + "image", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/image/issues", + "source": "https://github.com/spatie/image/tree/1.10.6" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-12-21T10:01:09+00:00" + }, + { + "name": "spatie/image-optimizer", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/image-optimizer.git", + "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/4fd22035e81d98fffced65a8c20d9ec4daa9671c", + "reference": "4fd22035e81d98fffced65a8c20d9ec4daa9671c", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.3|^8.0", + "psr/log": "^1.0 | ^2.0 | ^3.0", + "symfony/process": "^4.2|^5.0|^6.0|^7.0" + }, + "require-dev": { + "pestphp/pest": "^1.21", + "phpunit/phpunit": "^8.5.21|^9.4.4", + "symfony/var-dumper": "^4.2|^5.0|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ImageOptimizer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Easily optimize images using PHP", + "homepage": "https://github.com/spatie/image-optimizer", + "keywords": [ + "image-optimizer", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/image-optimizer/issues", + "source": "https://github.com/spatie/image-optimizer/tree/1.8.0" + }, + "time": "2024-11-04T08:24:54+00:00" + }, + { + "name": "spatie/laravel-enum", + "version": "2.5.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-enum.git", + "reference": "dd3d3462d5c0d31d61db2120292e87f1ed234de3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-enum/zipball/dd3d3462d5c0d31d61db2120292e87f1ed234de3", + "reference": "dd3d3462d5c0d31d61db2120292e87f1ed234de3", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/database": "^8.0", + "illuminate/http": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.4 || ^8.0", + "spatie/enum": "^3.9" + }, + "conflict": { + "bensampo/laravel-enum": "*" + }, + "require-dev": { + "fakerphp/faker": "^1.9.1", + "mockery/mockery": "^1.4.0", + "orchestra/testbench": "^6.0", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "^4.0" + }, + "suggest": { + "fzaninotto/faker": "^1.9.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Enum\\Laravel\\EnumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\Enum\\Laravel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brent Roose", + "email": "brent@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Tom Witkowski", + "email": "dev@gummibeer.de", + "homepage": "https://gummibeer.de", + "role": "Developer" + } + ], + "description": "Laravel Enum support", + "homepage": "https://github.com/spatie/laravel-enum", + "keywords": [ + "enum", + "laravel", + "laravel-enum", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-enum/issues", + "source": "https://github.com/spatie/laravel-enum/tree/2.5.2" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-07-24T20:11:47+00:00" + }, + { + "name": "spatie/laravel-medialibrary", + "version": "9.0.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-medialibrary.git", + "reference": "0ddacce06fbd33de321f01c1ad8c402cda9c6b10" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/0ddacce06fbd33de321f01c1ad8c402cda9c6b10", + "reference": "0ddacce06fbd33de321f01c1ad8c402cda9c6b10", + "shasum": "" + }, + "require": { + "ext-exif": "*", + "ext-fileinfo": "*", + "ext-json": "*", + "illuminate/bus": "^7.0|^8.0", + "illuminate/console": "^7.0|^8.0", + "illuminate/database": "^7.0|^8.0", + "illuminate/pipeline": "^7.0|^8.0", + "illuminate/support": "^7.0|^8.0", + "league/flysystem": "^1.0.64", + "maennchen/zipstream-php": "^1.0|^2.0", + "php": "^7.4|^8.0", + "spatie/image": "^1.4.0", + "spatie/temporary-directory": "^1.1", + "symfony/console": "^4.4|^5.0" + }, + "conflict": { + "php-ffmpeg/php-ffmpeg": "<0.6.1" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.133.11", + "doctrine/dbal": "^2.5.2", + "ext-pdo_sqlite": "*", + "ext-zip": "*", + "guzzlehttp/guzzle": "^6.3|^7.0", + "league/flysystem-aws-s3-v3": "^1.0.23", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^5.0|^6.0", + "php-ffmpeg/php-ffmpeg": "^0.16.0", + "phpunit/phpunit": "^9.1", + "spatie/pdf-to-image": "^2.0", + "spatie/phpunit-snapshot-assertions": "^4.0" + }, + "suggest": { + "league/flysystem-aws-s3-v3": "Required to use AWS S3 file storage", + "php-ffmpeg/php-ffmpeg": "Required for generating video thumbnails", + "spatie/pdf-to-image": "Required for generating thumbsnails of PDFs and SVGs" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\MediaLibrary\\MediaLibraryServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\MediaLibrary\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Associate files with Eloquent models", + "homepage": "https://github.com/spatie/laravel-medialibrary", + "keywords": [ + "cms", + "conversion", + "downloads", + "images", + "laravel", + "laravel-medialibrary", + "media", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-medialibrary/issues", + "source": "https://github.com/spatie/laravel-medialibrary/tree/9.0.0" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2020-10-30T09:53:18+00:00" + }, + { + "name": "spatie/laravel-permission", + "version": "4.4.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-permission.git", + "reference": "779797a47689d0bc1666e26f566cca44603e56fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/779797a47689d0bc1666e26f566cca44603e56fa", + "reference": "779797a47689d0bc1666e26f566cca44603e56fa", + "shasum": "" + }, + "require": { + "illuminate/auth": "^6.0|^7.0|^8.0", + "illuminate/container": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/database": "^6.0|^7.0|^8.0", + "php": "^7.2.5|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^4.0|^5.0|^6.0", + "phpunit/phpunit": "^8.0|^9.0", + "predis/predis": "^1.1" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Permission\\PermissionServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\Permission\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Permission handling for Laravel 6.0 and up", + "homepage": "https://github.com/spatie/laravel-permission", + "keywords": [ + "acl", + "laravel", + "permission", + "permissions", + "rbac", + "roles", + "security", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-permission/issues", + "source": "https://github.com/spatie/laravel-permission/tree/4.4.3" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-10-28T07:33:49+00:00" + }, + { + "name": "spatie/once", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/once.git", + "reference": "25252b821765d72566be17c52ea05b35329f0f8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/once/zipball/25252b821765d72566be17c52ea05b35329f0f8f", + "reference": "25252b821765d72566be17c52ea05b35329f0f8f", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.21", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Spatie\\Once\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A magic memoization function", + "homepage": "https://github.com/spatie/once", + "keywords": [ + "cache", + "callable", + "memoization", + "once", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/once/tree/3.1.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + } + ], + "time": "2024-05-27T09:17:58+00:00" + }, + { + "name": "spatie/temporary-directory", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/temporary-directory.git", + "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6", + "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\TemporaryDirectory\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alex Vanderbist", + "email": "alex@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Easily create, use and destroy temporary directories", + "homepage": "https://github.com/spatie/temporary-directory", + "keywords": [ + "php", + "spatie", + "temporary-directory" + ], + "support": { + "issues": "https://github.com/spatie/temporary-directory/issues", + "source": "https://github.com/spatie/temporary-directory/tree/1.3.0" + }, + "time": "2020-11-09T15:54:21+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.4" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "abandoned": "symfony/mailer", + "time": "2021-10-18T15:26:12+00:00" + }, + { + "name": "symfony/console", + "version": "v5.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-06T11:30:55+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "f1d00bddb83a4cb2138564b2150001cb6ce272b1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f1d00bddb83a4cb2138564b2150001cb6ce272b1", + "reference": "f1d00bddb83a4cb2138564b2150001cb6ce272b1", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-01T08:36:10+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.4.46", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/d19ede7a2cafb386be9486c580649d0f9e3d0363", + "reference": "d19ede7a2cafb386be9486c580649d0f9e3d0363", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.4.46" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-05T14:17:06+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "2eaf8e63bc5b8cefabd4a800157f0d0c094f677a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2eaf8e63bc5b8cefabd4a800157f0d0c094f677a", + "reference": "2eaf8e63bc5b8cefabd4a800157f0d0c094f677a", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/event-dispatcher-contracts": "^2|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^5.4|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-01T08:36:10+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.4.45", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "63741784cd7b9967975eec610b256eed3ede022b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b", + "reference": "63741784cd7b9967975eec610b256eed3ede022b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.45" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-28T13:32:08+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.4.48", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "3f38b8af283b830e1363acd79e5bc3412d055341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3f38b8af283b830e1363acd79e5bc3412d055341", + "reference": "3f38b8af283b830e1363acd79e5bc3412d055341", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "^1.0|^2.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.4.48" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-13T18:58:02+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.4.48", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0", + "reference": "c2dbfc92b851404567160d1ecf3fb7d9b7bde9b0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^5.0|^6.0", + "symfony/http-foundation": "^5.4.21|^6.2.7", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/config": "^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2|^3", + "symfony/var-dumper": "^4.4.31|^5.4", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.4.48" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-27T12:43:17+00:00" + }, + { + "name": "symfony/intl", + "version": "v5.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "5258476a3ab680cd633a1d23130fcc9e8027e3ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/5258476a3ab680cd633a1d23130fcc9e8027e3ff", + "reference": "5258476a3ab680cd633a1d23130fcc9e8027e3ff", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/", + "/Resources/data/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "support": { + "source": "https://github.com/symfony/intl/tree/v5.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-08T08:12:23+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.4.45", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/8c1b9b3e5b52981551fc6044539af1d974e39064", + "reference": "8c1b9b3e5b52981551fc6044539af1d974e39064", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4", + "symfony/serializer": "<5.4.35|>=6,<6.3.12|>=6.4,<6.4.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/process": "^5.4|^6.4", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.4.45" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-10-23T20:18:32+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/48becf00c920479ca2e910c22a5a39e5d47ca956", + "reference": "48becf00c920479ca2e910c22a5a39e5d47ca956", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", + "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/process", + "version": "v5.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d", + "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-06T11:36:42+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.4.48", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/dd08c19879a9b37ff14fd30dcbdf99a4cf045db1", + "reference": "dd08c19879a9b37ff14fd30dcbdf99a4cf045db1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.4.48" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-12T18:20:21+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.5.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300", + "reference": "f37b419f7aea2e9abf10abd261832cace12e3300", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.5.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-25T14:11:13+00:00" + }, + { + "name": "symfony/string", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/d9e72497367c23e08bf94176d2be45b00a9d232a", + "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-01T08:36:10+00:00" + }, + { + "name": "symfony/translation", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f", + "reference": "9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.3|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-kernel": "<5.4", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/intl": "^5.4|^6.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^5.4|^6.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-01T08:36:10+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/acbfbb274e730e5a0236f619b6168d9dedb3e282", + "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.0.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-06-27T17:10:44+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.4.48", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/42f18f170aa86d612c3559cfb3bd11a375df32c8", + "reference": "42f18f170aa86d612c3559cfb3bd11a375df32c8", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.48" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-11-08T15:21:10+00:00" + }, + { + "name": "tightenco/ziggy", + "version": "v1.8.2", + "source": { + "type": "git", + "url": "https://github.com/tighten/ziggy.git", + "reference": "939576ad0f3d3e633a9401c8c377bc7bc873ff35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tighten/ziggy/zipball/939576ad0f3d3e633a9401c8c377bc7bc873ff35", + "reference": "939576ad0f3d3e633a9401c8c377bc7bc873ff35", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravel/framework": ">=5.4@dev" + }, + "require-dev": { + "orchestra/testbench": "^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0", + "phpunit/phpunit": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Tightenco\\Ziggy\\ZiggyServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Tightenco\\Ziggy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Coulbourne", + "email": "daniel@tighten.co" + }, + { + "name": "Jake Bathman", + "email": "jake@tighten.co" + }, + { + "name": "Jacob Baker-Kretzmar", + "email": "jacob@tighten.co" + } + ], + "description": "Generates a Blade directive exporting all of your named Laravel routes. Also provides a nice route() helper function in JavaScript.", + "homepage": "https://github.com/tighten/ziggy", + "keywords": [ + "Ziggy", + "javascript", + "laravel", + "routes" + ], + "support": { + "issues": "https://github.com/tighten/ziggy/issues", + "source": "https://github.com/tighten/ziggy/tree/v1.8.2" + }, + "time": "2024-02-20T19:56:04+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0d72ac1c00084279c1816675284073c5a337c20d", + "reference": "0d72ac1c00084279c1816675284073c5a337c20d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.3.0" + }, + "time": "2024-12-21T16:25:41+00:00" + }, + { + "name": "unitpay/php-sdk", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/unitpay/php-sdk.git", + "reference": "d586b7af54c43d9349d2a50768692f19c211ae32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/unitpay/php-sdk/zipball/d586b7af54c43d9349d2a50768692f19c211ae32", + "reference": "d586b7af54c43d9349d2a50768692f19c211ae32", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=5.6.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "./UnitPay.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Unitpay and contributors", + "homepage": "https://github.com/unitpay/php-sdk/contributors" + } + ], + "description": "PHP SDK for Unitpay", + "homepage": "https://unitpay.ru", + "keywords": [ + "Payment service", + "payment processing", + "unitpay" + ], + "support": { + "issues": "https://github.com/unitpay/php-sdk/issues", + "source": "https://github.com/unitpay/php-sdk/tree/2.0.5" + }, + "time": "2022-02-04T06:09:52+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.1", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.3", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.3", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2024-07-20T21:52:34+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.6.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-01-24T18:55:24+00:00" + }, + { + "name": "vyuldashev/nova-permission", + "version": "v2.11.1", + "source": { + "type": "git", + "url": "https://github.com/vyuldashev/nova-permission.git", + "reference": "6004bef5a535d1de07cb60d20ee79d2c42a07781" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vyuldashev/nova-permission/zipball/6004bef5a535d1de07cb60d20ee79d2c42a07781", + "reference": "6004bef5a535d1de07cb60d20ee79d2c42a07781", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "spatie/laravel-permission": "^3.0|^4.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Vyuldashev\\NovaPermission\\ToolServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Vyuldashev\\NovaPermission\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A Laravel Nova tool for Spatie's Permission library.", + "keywords": [ + "laravel", + "nova", + "spatie-permission" + ], + "support": { + "issues": "https://github.com/vyuldashev/nova-permission/issues", + "source": "https://github.com/vyuldashev/nova-permission/tree/v2.11.1" + }, + "time": "2021-02-14T02:21:41+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "yoomoney/yookassa-sdk-php", + "version": "3.8.0", + "source": { + "type": "git", + "url": "https://git.yoomoney.ru/scm/sdk/yookassa-sdk-php.git", + "reference": "aeec752ffa007104dbae6cc95e0930d8a11b3224" + }, + "dist": { + "type": "zip", + "url": "https://git.yoomoney.ru/rest/api/latest/projects/SDK/repos/yookassa-sdk-php/archive?at=refs%2Ftags%2F3.8.0&format=zip" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "php": ">=8.0", + "php-ds/php-ds": "^1.4", + "psr/log": "^2.0 || ^3.0", + "yoomoney/yookassa-sdk-validator": "^1.0" + }, + "require-dev": { + "ext-xml": "*", + "friendsofphp/php-cs-fixer": "^3.15", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpmd/phpmd": "^2.13", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6", + "yoomoney/yookassa-fakerphp": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "YooKassa\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "YooMoney", + "email": "cms@yoomoney.ru" + } + ], + "description": "This is a developer tool for integration with YooMoney.", + "homepage": "https://yookassa.ru/developers/api", + "keywords": [ + "api", + "payments", + "sdk", + "yookassa", + "yoomoney" + ], + "time": "2025-01-17T13:04:18+00:00" + }, + { + "name": "yoomoney/yookassa-sdk-validator", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://git.yoomoney.ru/scm/sdk/yookassa-sdk-validator-php.git", + "reference": "1068864a5179dcbb93b244bff43c0e6bc531b62a" + }, + "dist": { + "type": "zip", + "url": "https://git.yoomoney.ru/rest/api/latest/projects/SDK/repos/yookassa-sdk-validator-php/archive?at=refs%2Ftags%2F1.0.3&format=zip" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.0.0" + }, + "require-dev": { + "ext-xml": "*", + "phpunit/phpunit": "^9.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "YooKassa\\Validator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "YooMoney", + "email": "cms@yoomoney.ru" + } + ], + "description": "This is a developer tool for validating with YooMoney.", + "time": "2024-12-16T16:29:49+00:00" + }, + { + "name": "ysv/nova-leader", + "version": "dev-master", + "dist": { + "type": "path", + "url": "./nova-components/NovaLeader", + "reference": "2e927e7ca8be6fe49466bd38b91ea0ecdf1a9d4b" + }, + "require": { + "php": ">=7.1.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Ysv\\NovaLeader\\CardServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Ysv\\NovaLeader\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "A Laravel Nova card.", + "keywords": [ + "laravel", + "nova" + ], + "transport-options": { + "relative": true + } + } + ], + "packages-dev": [ + { + "name": "barryvdh/laravel-debugbar", + "version": "v3.7.0", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-debugbar.git", + "reference": "3372ed65e6d2039d663ed19aa699956f9d346271" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/3372ed65e6d2039d663ed19aa699956f9d346271", + "reference": "3372ed65e6d2039d663ed19aa699956f9d346271", + "shasum": "" + }, + "require": { + "illuminate/routing": "^7|^8|^9", + "illuminate/session": "^7|^8|^9", + "illuminate/support": "^7|^8|^9", + "maximebf/debugbar": "^1.17.2", + "php": ">=7.2.5", + "symfony/finder": "^5|^6" + }, + "require-dev": { + "mockery/mockery": "^1.3.3", + "orchestra/testbench-dusk": "^5|^6|^7", + "phpunit/phpunit": "^8.5|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Debugbar": "Barryvdh\\Debugbar\\Facades\\Debugbar" + }, + "providers": [ + "Barryvdh\\Debugbar\\ServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "3.6-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Barryvdh\\Debugbar\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "PHP Debugbar integration for Laravel", + "keywords": [ + "debug", + "debugbar", + "laravel", + "profiler", + "webprofiler" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-debugbar/issues", + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.7.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2022-07-11T09:26:42+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "facade/flare-client-php", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/facade/flare-client-php.git", + "reference": "213fa2c69e120bca4c51ba3e82ed1834ef3f41b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/213fa2c69e120bca4c51ba3e82ed1834ef3f41b8", + "reference": "213fa2c69e120bca4c51ba3e82ed1834ef3f41b8", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", + "php": "^7.1|^8.0", + "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/mime": "^3.4|^4.0|^5.1", + "symfony/var-dumper": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "phpunit/phpunit": "^7.5", + "spatie/phpunit-snapshot-assertions": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Facade\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "support": { + "issues": "https://github.com/facade/flare-client-php/issues", + "source": "https://github.com/facade/flare-client-php/tree/1.10.0" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-08-09T11:23:57+00:00" + }, + { + "name": "facade/ignition", + "version": "2.17.7", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition.git", + "reference": "b4f5955825bb4b74cba0f94001761c46335c33e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition/zipball/b4f5955825bb4b74cba0f94001761c46335c33e9", + "reference": "b4f5955825bb4b74cba0f94001761c46335c33e9", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.9.1", + "facade/ignition-contracts": "^1.0.2", + "illuminate/support": "^7.0|^8.0", + "monolog/monolog": "^2.0", + "php": "^7.2.5|^8.0", + "symfony/console": "^5.0", + "symfony/var-dumper": "^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "livewire/livewire": "^2.4", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^5.0|^6.0", + "psalm/plugin-laravel": "^1.2" + }, + "suggest": { + "laravel/telescope": "^3.1" + }, + "type": "library", + "extra": { + "laravel": { + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + }, + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Facade\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/facade/ignition/issues", + "source": "https://github.com/facade/ignition" + }, + "time": "2023-01-26T12:34:59+00:00" + }, + { + "name": "facade/ignition-contracts", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition-contracts.git", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v2.15.8", + "phpunit/phpunit": "^9.3.11", + "vimeo/psalm": "^3.17.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Facade\\IgnitionContracts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://flareapp.io", + "role": "Developer" + } + ], + "description": "Solution contracts for Ignition", + "homepage": "https://github.com/facade/ignition-contracts", + "keywords": [ + "contracts", + "flare", + "ignition" + ], + "support": { + "issues": "https://github.com/facade/ignition-contracts/issues", + "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" + }, + "time": "2020-10-16T08:27:54+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "filp/whoops", + "version": "2.17.0", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "075bc0c26631110584175de6523ab3f1652eb28e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/075bc0c26631110584175de6523ab3f1652eb28e", + "reference": "075bc0c26631110584175de6523ab3f1652eb28e", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.17.0" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-01-25T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "e81a7bd7ac1a745ccb25572830fecf74a89bb48a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/e81a7bd7ac1a745ccb25572830fecf74a89bb48a", + "reference": "e81a7bd7ac1a745ccb25572830fecf74a89bb48a", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.0|^9.0|^10.0", + "illuminate/contracts": "^8.0|^9.0|^10.0", + "illuminate/support": "^8.0|^9.0|^10.0", + "php": "^8.0", + "symfony/yaml": "^6.0" + }, + "require-dev": { + "orchestra/testbench": "^6.0|^7.0|^8.0", + "phpstan/phpstan": "^1.10" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2023-09-11T17:37:09+00:00" + }, + { + "name": "maximebf/debugbar", + "version": "v1.23.6", + "source": { + "type": "git", + "url": "https://github.com/php-debugbar/php-debugbar.git", + "reference": "4b3d5f1afe09a7db5a9d3282890f49f6176d6542" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-debugbar/php-debugbar/zipball/4b3d5f1afe09a7db5a9d3282890f49f6176d6542", + "reference": "4b3d5f1afe09a7db5a9d3282890f49f6176d6542", + "shasum": "" + }, + "require": { + "php": "^7.2|^8", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4|^5|^6|^7" + }, + "require-dev": { + "dbrekelmans/bdi": "^1", + "phpunit/phpunit": "^8|^9", + "symfony/panther": "^1|^2.1", + "twig/twig": "^1.38|^2.7|^3.0" + }, + "suggest": { + "kriswallsmith/assetic": "The best way to manage assets", + "monolog/monolog": "Log using Monolog", + "predis/predis": "Redis storage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.23-dev" + } + }, + "autoload": { + "psr-4": { + "DebugBar\\": "src/DebugBar/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maxime Bouroumeau-Fuseau", + "email": "maxime.bouroumeau@gmail.com", + "homepage": "http://maximebf.com" + }, + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Debug bar in the browser for php application", + "homepage": "https://github.com/maximebf/php-debugbar", + "keywords": [ + "debug", + "debugbar" + ], + "support": { + "issues": "https://github.com/php-debugbar/php-debugbar/issues", + "source": "https://github.com/php-debugbar/php-debugbar/tree/v1.23.6" + }, + "time": "2025-02-13T12:22:36+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "024473a478be9df5fdaca2c793f2232fe788e414" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414", + "reference": "024473a478be9df5fdaca2c793f2232fe788e414", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-02-12T12:17:51+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v5.11.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/8b610eef8582ccdc05d8f2ab23305e2d37049461", + "reference": "8b610eef8582ccdc05d8f2ab23305e2d37049461", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.14.3", + "php": "^7.3 || ^8.0", + "symfony/console": "^5.0" + }, + "require-dev": { + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "8.x-dev", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^6.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2022-01-10T16:22:52+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.32", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.19.1 || ^5.1.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.6" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-22T04:23:01+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.22", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c", + "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.5.0 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.12.1", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.32", + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.6", + "sebastian/global-state": "^5.0.7", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-12-05T13:48:26+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:27:43+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:19:30+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:30:58+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:33:00+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:35:11+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:20:34+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-14T16:00:52+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "symfony/yaml", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "deec3a812a0305a50db8ae689b183f43d915c884" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/deec3a812a0305a50db8ae689b183f43d915c884", + "reference": "deec3a812a0305a50db8ae689b183f43d915c884", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-11T11:50:03+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:36:25+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^7.4|^8.0" + }, + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/config/app.php b/config/app.php new file mode 100755 index 00000000..6406c311 --- /dev/null +++ b/config/app.php @@ -0,0 +1,238 @@ + 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'), + + 'asset_url' => env('ASSET_URL', null), + + /* + |-------------------------------------------------------------------------- + | 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' => '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' => 'ru', + + /* + |-------------------------------------------------------------------------- + | 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', + + /* + |-------------------------------------------------------------------------- + | 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' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + Barryvdh\Debugbar\ServiceProvider::class, + Spatie\Permission\PermissionServiceProvider::class, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + App\Providers\EloquentServiceProvider::class, + App\Providers\NovaServiceProvider::class + + ], + + /* + |-------------------------------------------------------------------------- + | 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' => [ + + '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, + '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, + '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, + 'Debugbar' => Barryvdh\Debugbar\Facade::class, + + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100755 index 00000000..ba1a4d8c --- /dev/null +++ b/config/auth.php @@ -0,0 +1,117 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session", "token" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + + 'api' => [ + 'driver' => 'token', + 'provider' => 'users', + 'hash' => false, + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\Models\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that the reset token should be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/config/broadcasting.php b/config/broadcasting.php new file mode 100755 index 00000000..2d529820 --- /dev/null +++ b/config/broadcasting.php @@ -0,0 +1,64 @@ + 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'), + 'useTLS' => true, + ], + ], + + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100755 index 00000000..8736c7a7 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,110 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + 'lock_connection' => 'default', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing a RAM based store such as APC or Memcached, there might + | be other applications utilizing the same cache. So, we'll specify a + | value to get prefixed to all our keys so we can avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100755 index 00000000..8a39e6da --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'sanctum/csrf-cookie'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100755 index 00000000..b42d9b30 --- /dev/null +++ b/config/database.php @@ -0,0 +1,147 @@ + 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' => true, + '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, + 'schema' => '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, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'password' => env('REDIS_PASSWORD', null), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/config/debugbar.php b/config/debugbar.php new file mode 100755 index 00000000..e7f6b099 --- /dev/null +++ b/config/debugbar.php @@ -0,0 +1,233 @@ + env('DEBUGBAR_ENABLED', null), + 'except' => [ + 'telescope*', + 'horizon*', + ], + + /* + |-------------------------------------------------------------------------- + | Storage settings + |-------------------------------------------------------------------------- + | + | DebugBar stores data for session/ajax requests. + | You can disable this, so the debugbar stores data in headers/session, + | but this can cause problems with large data collectors. + | By default, file storage (in the storage folder) is used. Redis and PDO + | can also be used. For PDO, run the package migrations first. + | + */ + 'storage' => [ + 'enabled' => true, + 'driver' => 'file', // redis, file, pdo, socket, custom + 'path' => storage_path('debugbar'), // For file driver + 'connection' => null, // Leave null for default connection (Redis/PDO) + 'provider' => '', // Instance of StorageInterface for custom driver + 'hostname' => '127.0.0.1', // Hostname to use with the "socket" driver + 'port' => 2304, // Port to use with the "socket" driver + ], + + /* + |-------------------------------------------------------------------------- + | Vendors + |-------------------------------------------------------------------------- + | + | Vendor files are included by default, but can be set to false. + | This can also be set to 'js' or 'css', to only include javascript or css vendor files. + | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files) + | and for js: jquery and and highlight.js + | So if you want syntax highlighting, set it to true. + | jQuery is set to not conflict with existing jQuery scripts. + | + */ + + 'include_vendors' => true, + + /* + |-------------------------------------------------------------------------- + | Capture Ajax Requests + |-------------------------------------------------------------------------- + | + | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), + | you can use this option to disable sending the data through the headers. + | + | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools. + | + | Note for your request to be identified as ajax requests they must either send the header + | X-Requested-With with the value XMLHttpRequest (most JS libraries send this), or have application/json as a Accept header. + */ + + 'capture_ajax' => true, + 'add_ajax_timing' => false, + + /* + |-------------------------------------------------------------------------- + | Custom Error Handler for Deprecated warnings + |-------------------------------------------------------------------------- + | + | When enabled, the Debugbar shows deprecated warnings for Symfony components + | in the Messages tab. + | + */ + 'error_handler' => false, + + /* + |-------------------------------------------------------------------------- + | Clockwork integration + |-------------------------------------------------------------------------- + | + | The Debugbar can emulate the Clockwork headers, so you can use the Chrome + | Extension, without the server-side code. It uses Debugbar collectors instead. + | + */ + 'clockwork' => false, + + /* + |-------------------------------------------------------------------------- + | DataCollectors + |-------------------------------------------------------------------------- + | + | Enable/disable DataCollectors + | + */ + + 'collectors' => [ + 'phpinfo' => true, // Php version + 'messages' => true, // Messages + 'time' => true, // Time Datalogger + 'memory' => true, // Memory usage + 'exceptions' => true, // Exception displayer + 'log' => true, // Logs from Monolog (merged in messages if enabled) + 'db' => true, // Show database (PDO) queries and bindings + 'views' => true, // Views with their data + 'route' => true, // Current route information + 'auth' => false, // Display Laravel authentication status + 'gate' => true, // Display Laravel Gate checks + 'session' => true, // Display session data + 'symfony_request' => true, // Only one can be enabled.. + 'mail' => true, // Catch mail messages + 'laravel' => false, // Laravel version and environment + 'events' => false, // All events fired + 'default_request' => false, // Regular or special Symfony request logger + 'logs' => false, // Add the latest log messages + 'files' => false, // Show the included files + 'config' => false, // Display config settings + 'cache' => false, // Display cache events + 'models' => true, // Display models + 'livewire' => true, // Display Livewire (when available) + ], + + /* + |-------------------------------------------------------------------------- + | Extra options + |-------------------------------------------------------------------------- + | + | Configure some DataCollectors + | + */ + + 'options' => [ + 'auth' => [ + 'show_name' => true, // Also show the users name/email in the debugbar + ], + 'db' => [ + 'with_params' => true, // Render SQL with the parameters substituted + 'backtrace' => true, // Use a backtrace to find the origin of the query in your files. + 'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults) + 'timeline' => false, // Add the queries to the timeline + 'duration_background' => true, // Show shaded background on each query relative to how long it took to execute. + 'explain' => [ // Show EXPLAIN output on queries + 'enabled' => false, + 'types' => ['SELECT'], // Deprecated setting, is always only SELECT + ], + 'hints' => false, // Show hints for common mistakes + 'show_copy' => false, // Show copy button next to the query + ], + 'mail' => [ + 'full_log' => false, + ], + 'views' => [ + 'timeline' => false, // Add the views to the timeline (Experimental) + 'data' => false, //Note: Can slow down the application, because the data can be quite large.. + ], + 'route' => [ + 'label' => true, // show complete route on bar + ], + 'logs' => [ + 'file' => null, + ], + 'cache' => [ + 'values' => true, // collect cache values + ], + ], + + /* + |-------------------------------------------------------------------------- + | Inject Debugbar in Response + |-------------------------------------------------------------------------- + | + | Usually, the debugbar is added just before , by listening to the + | Response after the App is done. If you disable this, you have to add them + | in your template yourself. See http://phpdebugbar.com/docs/rendering.html + | + */ + + 'inject' => true, + + /* + |-------------------------------------------------------------------------- + | DebugBar route prefix + |-------------------------------------------------------------------------- + | + | Sometimes you want to set route prefix to be used by DebugBar to load + | its resources from. Usually the need comes from misconfigured web server or + | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97 + | + */ + 'route_prefix' => '_debugbar', + + /* + |-------------------------------------------------------------------------- + | DebugBar route domain + |-------------------------------------------------------------------------- + | + | By default DebugBar route served from the same domain that request served. + | To override default domain, specify it as a non-empty value. + */ + 'route_domain' => null, + + /* + |-------------------------------------------------------------------------- + | DebugBar theme + |-------------------------------------------------------------------------- + | + | Switches between light and dark theme. If set to auto it will respect system preferences + | Possible values: auto, light, dark + */ + 'theme' => env('DEBUGBAR_THEME', 'auto'), + + /* + |-------------------------------------------------------------------------- + | Backtrace stack limit + |-------------------------------------------------------------------------- + | + | By default, the DebugBar limits the number of frames returned by the 'debug_backtrace()' function. + | If you need larger stacktraces, you can increase this number. Setting it to 0 will result in no limit. + */ + 'debug_backtrace_limit' => 50, +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100755 index 00000000..760ef972 --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,73 @@ + env('FILESYSTEM_DRIVER', '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 setup for each driver as an example of the required options. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + ], + + '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), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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'), + ], + +]; diff --git a/config/hashing.php b/config/hashing.php new file mode 100755 index 00000000..84257708 --- /dev/null +++ b/config/hashing.php @@ -0,0 +1,52 @@ + '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' => 1024, + 'threads' => 2, + 'time' => 2, + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100755 index 00000000..1aa06aa3 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,105 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | 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'), + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => 14, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => env('LOG_LEVEL', 'critical'), + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => SyslogUdpHandler::class, + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100755 index 00000000..54299aab --- /dev/null +++ b/config/mail.php @@ -0,0 +1,110 @@ + 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", + | "postmark", "log", "array" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + '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, + 'auth_mode' => null, + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + ], + + 'postmark' => [ + 'transport' => 'postmark', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => '/usr/sbin/sendmail -bs', + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + ], + + /* + |-------------------------------------------------------------------------- + | 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'), + ], + ], + +]; diff --git a/config/media-library.php b/config/media-library.php new file mode 100755 index 00000000..6b9f1bda --- /dev/null +++ b/config/media-library.php @@ -0,0 +1,189 @@ + 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 * 550, + + /* + * 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, + 'media_model' => App\Domain\Medias\Models\TeaserMedia::class, + + /* + * The fully qualified class name of the model used for temporary uploads. + */ + 'temporary_upload_model' => Spatie\MediaLibraryPro\Models\TemporaryUpload::class, + + /* + * 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, + + /* + * 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, + + /* + * 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 => [ + '--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 + ], + ], + + /* + * 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\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 20% + * smaller than the previous one. More info in the documentation. + * + * https://docs.spatie.be/laravel-medialibrary/v8/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', true), + + /* + * 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, +]; diff --git a/config/nova-media-library.php b/config/nova-media-library.php new file mode 100755 index 00000000..bca3f5af --- /dev/null +++ b/config/nova-media-library.php @@ -0,0 +1,5 @@ + false, +]; diff --git a/config/nova.php b/config/nova.php new file mode 100755 index 00000000..c9964dea --- /dev/null +++ b/config/nova.php @@ -0,0 +1,150 @@ + env('NOVA_APP_NAME', env('APP_NAME')), + + /* + |-------------------------------------------------------------------------- + | Nova Domain Name + |-------------------------------------------------------------------------- + | + | This value is the "domain name" associated with your application. This + | can be used to prevent Nova's internal routes from being registered + | on subdomains which do not need access to your admin application. + | + */ + + 'domain' => env('NOVA_DOMAIN_NAME', null), + + /* + |-------------------------------------------------------------------------- + | Nova App URL + |-------------------------------------------------------------------------- + | + | This URL is where users will be directed when clicking the application + | name in the Nova navigation bar. You are free to change this URL to + | any location you wish depending on the needs of your application. + | + */ + + 'url' => env('APP_URL', '/'), + + /* + |-------------------------------------------------------------------------- + | Nova Path + |-------------------------------------------------------------------------- + | + | This is the URI path where Nova will be accessible from. Feel free to + | change this path to anything you like. Note that this URI will not + | affect Nova's internal API routes which aren't exposed to users. + | + */ + + 'path' => '/nova', + + /* + |-------------------------------------------------------------------------- + | Nova Authentication Guard + |-------------------------------------------------------------------------- + | + | This configuration option defines the authentication guard that will + | be used to protect your Nova routes. This option should match one + | of the authentication guards defined in the "auth" config file. + | + */ + + 'guard' => env('NOVA_GUARD', null), + + /* + |-------------------------------------------------------------------------- + | Nova Password Reset Broker + |-------------------------------------------------------------------------- + | + | This configuration option defines the password broker that will be + | used when passwords are reset. This option should mirror one of + | the password reset options defined in the "auth" config file. + | + */ + + 'passwords' => env('NOVA_PASSWORDS', null), + + /* + |-------------------------------------------------------------------------- + | Nova Route Middleware + |-------------------------------------------------------------------------- + | + | These middleware will be assigned to every Nova route, giving you the + | chance to add your own middleware to this stack or override any of + | the existing middleware. Or, you can just stick with this stack. + | + */ + + 'middleware' => [ + 'web', + Authenticate::class, + DispatchServingNovaEvent::class, + BootTools::class, + Authorize::class, + \Vyuldashev\NovaPermission\ForgetCachedPermissions::class, + ], + + /* + |-------------------------------------------------------------------------- + | Nova Pagination Type + |-------------------------------------------------------------------------- + | + | This option defines the visual style used in Nova's resource pagination + | views. You may select between "simple", "load-more", and "links" for + | your applications. Feel free to adjust this option to your choice. + | + */ + + 'pagination' => 'simple', + + /* + |-------------------------------------------------------------------------- + | Nova Action Resource Class + |-------------------------------------------------------------------------- + | + | This configuration option allows you to specify a custom resource class + | to use instead of the type that ships with Nova. You may use this to + | define any extra form fields or other custom behavior as required. + | + */ + + 'actions' => [ + 'resource' => ActionResource::class, + ], + + /* + |-------------------------------------------------------------------------- + | Nova Currency + |-------------------------------------------------------------------------- + | + | This configuration option allows you to define the default currency + | used by the Currency field within Nova. You may change this to a + | valid ISO 4217 currency code to suit your application's needs. + | + */ + + 'currency' => 'USD', + +]; diff --git a/config/permission.php b/config/permission.php new file mode 100755 index 00000000..1a4207e6 --- /dev/null +++ b/config/permission.php @@ -0,0 +1,143 @@ + [ + + /* + * 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 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', + ], + + /* + * 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', + + /* + * When checking for a permission against a model by passing a Permission + * instance to the check, this key determines what attribute on the + * Permissions model is used to cache against. + * + * Ideally, this should match your preferred way of checking permissions, eg: + * `$user->can('view-posts')` would be 'name'. + */ + + 'model_key' => 'name', + + /* + * 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', + ], +]; diff --git a/config/queue.php b/config/queue.php new file mode 100755 index 00000000..25ea5a81 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,93 @@ + 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', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100755 index 00000000..2a1d616c --- /dev/null +++ b/config/services.php @@ -0,0 +1,33 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + ], + + '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'), + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100755 index 00000000..ac0802b1 --- /dev/null +++ b/config/session.php @@ -0,0 +1,201 @@ + 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', null), + + /* + |-------------------------------------------------------------------------- + | 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', null), + + /* + |-------------------------------------------------------------------------- + | 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', null), + + /* + |-------------------------------------------------------------------------- + | 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', + +]; diff --git a/config/view.php b/config/view.php new file mode 100755 index 00000000..22b8a18d --- /dev/null +++ b/config/view.php @@ -0,0 +1,36 @@ + [ + 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')) + ), + +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100755 index 00000000..9b19b93c --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100755 index 00000000..a24ce53f --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,47 @@ + $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + * + * @return \Illuminate\Database\Eloquent\Factories\Factory + */ + public function unverified() + { + return $this->state(function (array $attributes) { + return [ + 'email_verified_at' => null, + ]; + }); + } +} diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100755 index 00000000..703e5eeb --- /dev/null +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,47 @@ +bigIncrements('id'); + $table->string('first_name', 60); + $table->string('last_name', 60)->nullable(); + $table->string('color', 20)->nullable(); + $table->string('user_char', 10)->nullable(); + $table->string('username', 50)->unique(); + $table->string('email', 50)->unique(); + $table->string('phone', 15)->nullable(); + $table->tinyInteger('sex')->default(0)->nullable(); + $table->text('about')->nullable(); + $table->date('date_of_birth')->nullable(); + $table->string('photo_path', 255)->nullable(); + $table->string('banner_path', 255)->nullable(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +} diff --git a/database/migrations/2014_10_12_100000_create_password_resets_table.php b/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100755 index 00000000..0ee0a36a --- /dev/null +++ b/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +} diff --git a/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100755 index 00000000..6aa6d743 --- /dev/null +++ b/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('failed_jobs'); + } +} diff --git a/database/migrations/2021_04_23_092024_create_videos_table.php b/database/migrations/2021_04_23_092024_create_videos_table.php new file mode 100755 index 00000000..189ff2a4 --- /dev/null +++ b/database/migrations/2021_04_23_092024_create_videos_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + $table->string('slug')->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('videos'); + } +} diff --git a/database/migrations/2021_04_23_094732_create_images_table.php b/database/migrations/2021_04_23_094732_create_images_table.php new file mode 100755 index 00000000..2edab01d --- /dev/null +++ b/database/migrations/2021_04_23_094732_create_images_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + $table->string('slug')->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('images'); + } +} diff --git a/database/migrations/2021_04_23_095123_create_feeds_table.php b/database/migrations/2021_04_23_095123_create_feeds_table.php new file mode 100755 index 00000000..bcaf99bd --- /dev/null +++ b/database/migrations/2021_04_23_095123_create_feeds_table.php @@ -0,0 +1,34 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->morphs('feedable'); + $table->boolean('is_repost')->default(0); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('feeds'); + } +} diff --git a/database/migrations/2021_04_23_122918_create_comments_table.php b/database/migrations/2021_04_23_122918_create_comments_table.php new file mode 100755 index 00000000..929923e8 --- /dev/null +++ b/database/migrations/2021_04_23_122918_create_comments_table.php @@ -0,0 +1,34 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedBigInteger('parent_id')->nullable(); + $table->text('body'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('comments'); + } +} diff --git a/database/migrations/2021_04_27_142502_create_subscribers_table.php b/database/migrations/2021_04_27_142502_create_subscribers_table.php new file mode 100755 index 00000000..5ac95c96 --- /dev/null +++ b/database/migrations/2021_04_27_142502_create_subscribers_table.php @@ -0,0 +1,38 @@ +primary(['user_id', 'subscriber_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('subscriber_id'); + //$table->boolean('leader')->default(0); + $table->unsignedTinyInteger('leader')->default(0); + $table->boolean('autosubscription')->default(true); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('subscriber_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('subscribers'); + } +} diff --git a/database/migrations/2021_05_03_074535_create_musics_table.php b/database/migrations/2021_05_03_074535_create_musics_table.php new file mode 100755 index 00000000..b627baf2 --- /dev/null +++ b/database/migrations/2021_05_03_074535_create_musics_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + $table->string('slug')->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('musics'); + } +} diff --git a/database/migrations/2021_05_07_155337_create_сomplaints_table.php b/database/migrations/2021_05_07_155337_create_сomplaints_table.php new file mode 100755 index 00000000..d8f607ac --- /dev/null +++ b/database/migrations/2021_05_07_155337_create_сomplaints_table.php @@ -0,0 +1,37 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedBigInteger('user_checking_id')->nullable(); + $table->unsignedInteger('reason_id'); + $table->string('status')->default('pending'); + $table->text('message')->nullable(); + $table->morphs('complaintable'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('complaints'); + } +} diff --git a/database/migrations/2021_05_07_193737_create_reasons_table.php b/database/migrations/2021_05_07_193737_create_reasons_table.php new file mode 100755 index 00000000..64c9497c --- /dev/null +++ b/database/migrations/2021_05_07_193737_create_reasons_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('name'); + //$table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('reasons'); + } +} diff --git a/database/migrations/2021_05_11_155804_create_points_table.php b/database/migrations/2021_05_11_155804_create_points_table.php new file mode 100755 index 00000000..c00011fe --- /dev/null +++ b/database/migrations/2021_05_11_155804_create_points_table.php @@ -0,0 +1,42 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('feed_id')->nullable(); + $table->unsignedBigInteger('from_id')->nullable(); + //$table->integer('point'); + $table->decimal('point', 15, 2)->nullable(); + $table->string('type')->default('direct'); + $table->text('comment')->nullable(); + $table->unsignedTinyInteger('direction'); // приход, расход (0,1) + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('points'); + } +} diff --git a/database/migrations/2021_05_13_101854_create_packages_table.php b/database/migrations/2021_05_13_101854_create_packages_table.php new file mode 100755 index 00000000..a1371d21 --- /dev/null +++ b/database/migrations/2021_05_13_101854_create_packages_table.php @@ -0,0 +1,34 @@ +id(); + $table->string('name'); + //$table->integer('price'); + $table->decimal('price', 15, 2)->nullable(); + $table->string('type')->default('month'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('packages'); + } +} diff --git a/database/migrations/2021_05_13_101959_create_subscriptions_table.php b/database/migrations/2021_05_13_101959_create_subscriptions_table.php new file mode 100755 index 00000000..6a97e700 --- /dev/null +++ b/database/migrations/2021_05_13_101959_create_subscriptions_table.php @@ -0,0 +1,40 @@ +bigIncrements('id'); + $table->integer('package_id'); + $table->unsignedBigInteger('user_id'); + $table->decimal('price', 15, 2); + //$table->integer('price'); + $table->datetime('ends_at')->index(); + $table->string('status')->default('pending'); + $table->string('method')->default('balance'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('subscriptions'); + } +} diff --git a/database/migrations/2021_05_14_074644_create_votes_table.php b/database/migrations/2021_05_14_074644_create_votes_table.php new file mode 100755 index 00000000..5af63c3d --- /dev/null +++ b/database/migrations/2021_05_14_074644_create_votes_table.php @@ -0,0 +1,35 @@ +id(); + $table->unsignedInteger('procent_site')->nullable(); + $table->unsignedInteger('procent_local')->nullable(); + $table->unsignedInteger('procent_top')->nullable(); + $table->boolean('type')->default(1); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('votes'); + } +} diff --git a/database/migrations/2021_05_14_074725_create_vote_user_table.php b/database/migrations/2021_05_14_074725_create_vote_user_table.php new file mode 100755 index 00000000..7a54f2c5 --- /dev/null +++ b/database/migrations/2021_05_14_074725_create_vote_user_table.php @@ -0,0 +1,37 @@ +primary(['user_id', 'vote_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('vote_id'); + //$table->unsignedInteger('payment'); + $table->decimal('payment', 15, 2)->nullable(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('vote_id')->references('id')->on('votes')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('votes_users'); + } +} diff --git a/database/migrations/2021_05_15_152547_create_table_user_feed_purchase.php b/database/migrations/2021_05_15_152547_create_table_user_feed_purchase.php new file mode 100755 index 00000000..5c8733c1 --- /dev/null +++ b/database/migrations/2021_05_15_152547_create_table_user_feed_purchase.php @@ -0,0 +1,38 @@ +primary(['user_id', 'feed_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('feed_id'); + //$table->unsignedInteger('amount'); + $table->decimal('amount', 15, 2)->nullable(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('table_user_feed_purchase'); + } +} diff --git a/database/migrations/2021_06_30_051702_create_media_table.php b/database/migrations/2021_06_30_051702_create_media_table.php new file mode 100755 index 00000000..4c4e6847 --- /dev/null +++ b/database/migrations/2021_06_30_051702_create_media_table.php @@ -0,0 +1,32 @@ +bigIncrements('id'); + + $table->morphs('model'); + $table->uuid('uuid')->nullable(); + $table->string('collection_name'); + $table->string('name'); + $table->string('file_name'); + $table->string('mime_type')->nullable(); + $table->string('disk'); + $table->string('conversions_disk')->nullable(); + $table->unsignedBigInteger('size'); + $table->json('manipulations'); + $table->json('custom_properties'); + $table->json('generated_conversions'); + $table->json('responsive_images'); + $table->unsignedInteger('order_column')->nullable(); + + $table->nullableTimestamps(); + }); + } +} diff --git a/database/migrations/2021_06_30_051819_create_permission_tables.php b/database/migrations/2021_06_30_051819_create_permission_tables.php new file mode 100755 index 00000000..edf92e7a --- /dev/null +++ b/database/migrations/2021_06_30_051819_create_permission_tables.php @@ -0,0 +1,114 @@ +bigIncrements('id'); + $table->string('name'); // For MySQL 8.0 use string('name', 125); + $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->timestamps(); + + $table->unique(['name', 'guard_name']); + }); + + Schema::create($tableNames['roles'], function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('name'); // For MySQL 8.0 use string('name', 125); + $table->string('guard_name'); // For MySQL 8.0 use string('guard_name', 125); + $table->timestamps(); + + $table->unique(['name', 'guard_name']); + }); + + Schema::create($tableNames['model_has_permissions'], function (Blueprint $table) use ($tableNames, $columnNames) { + $table->unsignedBigInteger('permission_id'); + + $table->string('model_type'); + $table->unsignedBigInteger($columnNames['model_morph_key']); + $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_permissions_model_id_model_type_index'); + + $table->foreign('permission_id') + ->references('id') + ->on($tableNames['permissions']) + ->onDelete('cascade'); + + $table->primary(['permission_id', $columnNames['model_morph_key'], 'model_type'], + 'model_has_permissions_permission_model_type_primary'); + }); + + Schema::create($tableNames['model_has_roles'], function (Blueprint $table) use ($tableNames, $columnNames) { + $table->unsignedBigInteger('role_id'); + + $table->string('model_type'); + $table->unsignedBigInteger($columnNames['model_morph_key']); + $table->index([$columnNames['model_morph_key'], 'model_type'], 'model_has_roles_model_id_model_type_index'); + + $table->foreign('role_id') + ->references('id') + ->on($tableNames['roles']) + ->onDelete('cascade'); + + $table->primary(['role_id', $columnNames['model_morph_key'], 'model_type'], + 'model_has_roles_role_model_type_primary'); + }); + + Schema::create($tableNames['role_has_permissions'], function (Blueprint $table) use ($tableNames) { + $table->unsignedBigInteger('permission_id'); + $table->unsignedBigInteger('role_id'); + + $table->foreign('permission_id') + ->references('id') + ->on($tableNames['permissions']) + ->onDelete('cascade'); + + $table->foreign('role_id') + ->references('id') + ->on($tableNames['roles']) + ->onDelete('cascade'); + + $table->primary(['permission_id', 'role_id'], 'role_has_permissions_permission_id_role_id_primary'); + }); + + app('cache') + ->store(config('permission.cache.store') != 'default' ? config('permission.cache.store') : null) + ->forget(config('permission.cache.key')); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + $tableNames = config('permission.table_names'); + + if (empty($tableNames)) { + throw new \Exception('Error: config/permission.php not found and defaults could not be merged. Please publish the package configuration before proceeding, or drop the tables manually.'); + } + + Schema::drop($tableNames['role_has_permissions']); + Schema::drop($tableNames['model_has_roles']); + Schema::drop($tableNames['model_has_permissions']); + Schema::drop($tableNames['roles']); + Schema::drop($tableNames['permissions']); + } +} diff --git a/database/migrations/2021_07_01_095338_create_feed_like_table.php b/database/migrations/2021_07_01_095338_create_feed_like_table.php new file mode 100755 index 00000000..5f18ff4d --- /dev/null +++ b/database/migrations/2021_07_01_095338_create_feed_like_table.php @@ -0,0 +1,34 @@ +primary(['user_id', 'feed_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('feed_id'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('feed_like'); + } +} diff --git a/database/migrations/2021_07_01_140940_create_feed_comments_table.php b/database/migrations/2021_07_01_140940_create_feed_comments_table.php new file mode 100755 index 00000000..5e5c77e3 --- /dev/null +++ b/database/migrations/2021_07_01_140940_create_feed_comments_table.php @@ -0,0 +1,35 @@ +primary(['feed_id', 'comment_id']); + $table->unsignedBigInteger('feed_id'); + $table->unsignedBigInteger('comment_id'); + $table->foreign('comment_id')->references('id')->on('comments')->onDelete('cascade'); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('feed_comments'); + } +} diff --git a/database/migrations/2021_09_01_113740_add_column_user_private.php b/database/migrations/2021_09_01_113740_add_column_user_private.php new file mode 100755 index 00000000..2968c855 --- /dev/null +++ b/database/migrations/2021_09_01_113740_add_column_user_private.php @@ -0,0 +1,32 @@ +tinyInteger('private')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('private'); + }); + } +} diff --git a/database/migrations/2021_09_02_120041_add_column_comments_to_user.php b/database/migrations/2021_09_02_120041_add_column_comments_to_user.php new file mode 100755 index 00000000..b64745ad --- /dev/null +++ b/database/migrations/2021_09_02_120041_add_column_comments_to_user.php @@ -0,0 +1,32 @@ +unsignedBigInteger('to_user_id')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('comments', function (Blueprint $table) { + $table->dropColumn('to_user_id'); + }); + } +} diff --git a/database/migrations/2021_09_06_061125_create_notifications_table.php b/database/migrations/2021_09_06_061125_create_notifications_table.php new file mode 100755 index 00000000..1775f16d --- /dev/null +++ b/database/migrations/2021_09_06_061125_create_notifications_table.php @@ -0,0 +1,37 @@ +uuid('id')->primary(); + $table->string('type'); + $table->morphs('notifiable'); + $table->text('data'); + $table->unsignedTinyInteger('once')->default(0); + $table->unsignedBigInteger('entity_once')->default(0); + $table->timestamp('read_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('notifications'); + } +} diff --git a/database/migrations/2021_09_08_043014_create_tags_table.php b/database/migrations/2021_09_08_043014_create_tags_table.php new file mode 100755 index 00000000..8632a22c --- /dev/null +++ b/database/migrations/2021_09_08_043014_create_tags_table.php @@ -0,0 +1,33 @@ +bigIncrements('id'); + $table->string('name'); + $table->string('slug')->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('tags'); + } +} diff --git a/database/migrations/2021_09_08_043720_create_feed_tags_table.php b/database/migrations/2021_09_08_043720_create_feed_tags_table.php new file mode 100755 index 00000000..172f5146 --- /dev/null +++ b/database/migrations/2021_09_08_043720_create_feed_tags_table.php @@ -0,0 +1,35 @@ +primary(['feed_id', 'tag_id']); + $table->unsignedBigInteger('feed_id'); + $table->unsignedBigInteger('tag_id'); + $table->foreign('tag_id')->references('id')->on('tags')->onDelete('cascade'); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('feed_tags'); + } +} diff --git a/database/migrations/2021_09_10_102256_add_columns_feed.php b/database/migrations/2021_09_10_102256_add_columns_feed.php new file mode 100755 index 00000000..e90e8242 --- /dev/null +++ b/database/migrations/2021_09_10_102256_add_columns_feed.php @@ -0,0 +1,44 @@ +string('title')->nullable(); + $table->string('type')->nullable()->index(); + $table->text('body')->nullable(); + $table->decimal('price', 15, 2)->nullable(); + $table->string('slug')->nullable()->index(); + $table->tinyInteger('is_paid')->default(0); + + $table->dropColumn('feedable_type'); + $table->dropColumn('feedable_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->dropColumn('title'); + $table->dropColumn('body'); + $table->dropColumn('price'); + $table->dropColumn('is_paid'); + $table->morphs('feedable'); + }); + } +} diff --git a/database/migrations/2021_09_15_080713_create_table_users_live_feeds.php b/database/migrations/2021_09_15_080713_create_table_users_live_feeds.php new file mode 100755 index 00000000..beb22a73 --- /dev/null +++ b/database/migrations/2021_09_15_080713_create_table_users_live_feeds.php @@ -0,0 +1,37 @@ +unsignedBigInteger('feed_id')->index(); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedBigInteger('home_user_id')->index(); + // $table->foreign('home_user_id')->references('id')->on('users')->onDelete('cascade'); + // $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + // $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + $table->unsignedInteger('times')->default(0)->index(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users_live_feeds'); + } +} diff --git a/database/migrations/2021_09_23_062309_create_user_audio_table.php b/database/migrations/2021_09_23_062309_create_user_audio_table.php new file mode 100755 index 00000000..885e1941 --- /dev/null +++ b/database/migrations/2021_09_23_062309_create_user_audio_table.php @@ -0,0 +1,37 @@ +primary(['user_id', 'media_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('media_id'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('media_id')->references('id')->on('media')->onDelete('cascade'); + + $table->timestamps(); + $table->index(['created_at']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_audio_like'); + } +} diff --git a/database/migrations/2021_09_26_071548_modify_complaints_table.php b/database/migrations/2021_09_26_071548_modify_complaints_table.php new file mode 100755 index 00000000..7cd73b87 --- /dev/null +++ b/database/migrations/2021_09_26_071548_modify_complaints_table.php @@ -0,0 +1,40 @@ +unsignedBigInteger('moderator_checking_id')->nullable(); + $table->unsignedBigInteger('feed_id')->index(); + + $table->dropColumn('complaintable_type'); + $table->dropColumn('complaintable_id'); + $table->dropColumn('user_checking_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('complaints', function (Blueprint $table) { + $table->dropColumn('moderator_checking_id'); + $table->dropColumn('feed_id'); + $table->unsignedBigInteger('user_checking_id')->nullable(); + $table->morphs('complaintable'); + }); + } +} diff --git a/database/migrations/2021_11_17_080502_create_messages_table.php b/database/migrations/2021_11_17_080502_create_messages_table.php new file mode 100755 index 00000000..eb05e4b5 --- /dev/null +++ b/database/migrations/2021_11_17_080502_create_messages_table.php @@ -0,0 +1,37 @@ +bigIncrements('id'); + $table->unsignedBigInteger('chat_room_id')->index(); + $table->unsignedBigInteger('user_id')->index(); + $table->boolean('is_reading')->default(false); + $table->text('message'); + $table->timestamps(); + + $table->index(['created_at']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('messages'); + } +} diff --git a/database/migrations/2021_11_17_080625_create_chat_rooms_table.php b/database/migrations/2021_11_17_080625_create_chat_rooms_table.php new file mode 100755 index 00000000..d61c1da9 --- /dev/null +++ b/database/migrations/2021_11_17_080625_create_chat_rooms_table.php @@ -0,0 +1,33 @@ +bigIncrements('id'); + $table->timestamps(); + + $table->index(['updated_at']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('chat_rooms'); + } +} diff --git a/database/migrations/2021_11_17_082203_create_user_chat_room_table.php b/database/migrations/2021_11_17_082203_create_user_chat_room_table.php new file mode 100755 index 00000000..31625acf --- /dev/null +++ b/database/migrations/2021_11_17_082203_create_user_chat_room_table.php @@ -0,0 +1,34 @@ +primary(['user_id', 'chat_room_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('chat_room_id'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('chat_room_id')->references('id')->on('chat_rooms')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_chat_room'); + } +} diff --git a/database/migrations/2021_12_29_105004_create_user_banned_table.php b/database/migrations/2021_12_29_105004_create_user_banned_table.php new file mode 100755 index 00000000..ec5fed53 --- /dev/null +++ b/database/migrations/2021_12_29_105004_create_user_banned_table.php @@ -0,0 +1,34 @@ +primary(['user_id', 'banned_user_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('banned_user_id'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('banned_user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_banned'); + } +} diff --git a/database/migrations/2021_12_29_125607_add_column_room_chat_table.php b/database/migrations/2021_12_29_125607_add_column_room_chat_table.php new file mode 100755 index 00000000..9feea8ce --- /dev/null +++ b/database/migrations/2021_12_29_125607_add_column_room_chat_table.php @@ -0,0 +1,32 @@ +boolean('is_freeze')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('chat_rooms', function (Blueprint $table) { + $table->dropColumn('is_freeze'); + }); + } +} diff --git a/database/migrations/2022_01_12_121506_create_payment_gateway_orders_table.php b/database/migrations/2022_01_12_121506_create_payment_gateway_orders_table.php new file mode 100755 index 00000000..462d8818 --- /dev/null +++ b/database/migrations/2022_01_12_121506_create_payment_gateway_orders_table.php @@ -0,0 +1,37 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id'); + $table->string('type'); + $table->integer('amount'); + $table->smallInteger('status'); + $table->string('system_payment_id')->nullable(); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('payment_gateway_orders'); + } +} diff --git a/database/migrations/2022_01_19_091929_create_requisites_table.php b/database/migrations/2022_01_19_091929_create_requisites_table.php new file mode 100755 index 00000000..c1d576d4 --- /dev/null +++ b/database/migrations/2022_01_19_091929_create_requisites_table.php @@ -0,0 +1,35 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->morphs('requisiteable'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('requisites'); + } +} diff --git a/database/migrations/2022_01_19_092213_create_withdrawals_table.php b/database/migrations/2022_01_19_092213_create_withdrawals_table.php new file mode 100755 index 00000000..45aa7338 --- /dev/null +++ b/database/migrations/2022_01_19_092213_create_withdrawals_table.php @@ -0,0 +1,41 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('requisites_id'); + $table->unsignedBigInteger('point_id')->nullable(); + $table->decimal('amount', 15, 2); + $table->string('status')->default('pending'); + $table->text('description')->nullable(); + $table->text('history_payment_details')->nullable(); + + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('withdrawals'); + } +} diff --git a/database/migrations/2022_01_19_093845_create_bank_requisites_table.php b/database/migrations/2022_01_19_093845_create_bank_requisites_table.php new file mode 100755 index 00000000..3a8d2ead --- /dev/null +++ b/database/migrations/2022_01_19_093845_create_bank_requisites_table.php @@ -0,0 +1,35 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->string('number'); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('bank_requisites'); + } +} diff --git a/database/migrations/2022_01_25_083847_update_feed_table_soft_delete.php b/database/migrations/2022_01_25_083847_update_feed_table_soft_delete.php new file mode 100755 index 00000000..6066f320 --- /dev/null +++ b/database/migrations/2022_01_25_083847_update_feed_table_soft_delete.php @@ -0,0 +1,32 @@ +softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->dropSoftDeletes(); + }); + } +} diff --git a/database/migrations/2022_02_11_085749_update_comments_table.php b/database/migrations/2022_02_11_085749_update_comments_table.php new file mode 100755 index 00000000..303be4a5 --- /dev/null +++ b/database/migrations/2022_02_11_085749_update_comments_table.php @@ -0,0 +1,36 @@ +softDeletes(); + $table->unsignedBigInteger('feed_id')->index(); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('comments', function (Blueprint $table) { + $table->dropSoftDeletes(); + $table->dropForeign(['feed_id']); + $table->dropColumn('feed_id'); + }); + } +} diff --git a/database/migrations/2022_02_11_131605_update_complaints_table.php b/database/migrations/2022_02_11_131605_update_complaints_table.php new file mode 100755 index 00000000..be1c4a10 --- /dev/null +++ b/database/migrations/2022_02_11_131605_update_complaints_table.php @@ -0,0 +1,34 @@ +foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('complaints', function (Blueprint $table) { + $table->dropForeign(['feed_id']); + $table->dropForeign(['user_id']); + }); + } +} diff --git a/database/migrations/2022_02_11_161952_create_comment_complaints_table.php b/database/migrations/2022_02_11_161952_create_comment_complaints_table.php new file mode 100755 index 00000000..60ed88af --- /dev/null +++ b/database/migrations/2022_02_11_161952_create_comment_complaints_table.php @@ -0,0 +1,42 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedBigInteger('comment_id')->index(); + $table->unsignedBigInteger('moderator_checking_id')->nullable(); + $table->unsignedInteger('reason_id'); + $table->string('status')->default('pending'); + $table->text('message')->nullable(); + $table->timestamps(); + + + $table->foreign('comment_id')->references('id')->on('comments')->onDelete('cascade'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('comment_complaints'); + } +} diff --git a/database/migrations/2022_11_01_140050_add_order_number.php b/database/migrations/2022_11_01_140050_add_order_number.php new file mode 100755 index 00000000..7d738b91 --- /dev/null +++ b/database/migrations/2022_11_01_140050_add_order_number.php @@ -0,0 +1,32 @@ +uuid('number')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('payment_gateway_orders', function (Blueprint $table) { + $table->dropColumn('number'); + }); + } +} diff --git a/database/migrations/2022_11_01_172349_create_user_packages_table.php b/database/migrations/2022_11_01_172349_create_user_packages_table.php new file mode 100755 index 00000000..916239ee --- /dev/null +++ b/database/migrations/2022_11_01_172349_create_user_packages_table.php @@ -0,0 +1,36 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedInteger('price'); + $table->datetime('time_end')->nullable(); + $table->timestamps(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_packages'); + } +} diff --git a/database/migrations/2022_11_01_172422_create_users_package_customers_table.php b/database/migrations/2022_11_01_172422_create_users_package_customers_table.php new file mode 100755 index 00000000..17d61efa --- /dev/null +++ b/database/migrations/2022_11_01_172422_create_users_package_customers_table.php @@ -0,0 +1,41 @@ +bigIncrements('id'); + $table->unsignedBigInteger('user_id')->index(); + $table->unsignedBigInteger('customer_id')->index(); + $table->unsignedBigInteger('package_id')->index(); + $table->unsignedInteger('price'); + $table->unsignedTinyInteger('attempt_auto_paid')->default(0); + $table->datetime('time_end')->nullable(); + $table->datetime('created_at')->nullable(); + + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('customer_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('package_id')->references('id')->on('user_packages')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users_package_customers'); + } +} diff --git a/database/migrations/2022_11_01_173444_update_points_table.php b/database/migrations/2022_11_01_173444_update_points_table.php new file mode 100755 index 00000000..13528f32 --- /dev/null +++ b/database/migrations/2022_11_01_173444_update_points_table.php @@ -0,0 +1,33 @@ +jsonb('meta')->nullable(); + }); + + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('points', function (Blueprint $table) { + $table->dropColumn('meta'); + }); + } +} diff --git a/database/migrations/2022_11_01_173933_add_column_users_table.php b/database/migrations/2022_11_01_173933_add_column_users_table.php new file mode 100755 index 00000000..0fecac04 --- /dev/null +++ b/database/migrations/2022_11_01_173933_add_column_users_table.php @@ -0,0 +1,34 @@ +tinyInteger('allow_adult_content')->default(0); + $table->boolean('autosubscription_site')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('allow_adult_content'); + $table->dropColumn('autosubscription_site'); + }); + } +} diff --git a/database/migrations/2022_12_30_061120_add_column_feeds_table.php b/database/migrations/2022_12_30_061120_add_column_feeds_table.php new file mode 100755 index 00000000..91dd3b38 --- /dev/null +++ b/database/migrations/2022_12_30_061120_add_column_feeds_table.php @@ -0,0 +1,32 @@ +boolean('is_adult')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->boolean('is_adult'); + }); + } +} diff --git a/database/migrations/2023_04_26_082840_add_validation_users_table.php b/database/migrations/2023_04_26_082840_add_validation_users_table.php new file mode 100755 index 00000000..46d799e3 --- /dev/null +++ b/database/migrations/2023_04_26_082840_add_validation_users_table.php @@ -0,0 +1,38 @@ +boolean('passport_verified')->default(false); + $table->boolean('phone_verified')->default(false); + $table->string('phone_verify_token')->nullable(); + $table->timestamp('phone_verify_token_expire')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('passport_verified'); + $table->dropColumn('phone_verified'); + $table->dropColumn('phone_verify_token'); + $table->dropColumn('phone_verify_token_expire'); + }); + } +} diff --git a/database/migrations/2023_09_12_055733_add_status_feeds_table.php b/database/migrations/2023_09_12_055733_add_status_feeds_table.php new file mode 100755 index 00000000..17d6b59d --- /dev/null +++ b/database/migrations/2023_09_12_055733_add_status_feeds_table.php @@ -0,0 +1,34 @@ +tinyInteger('status')->default(0); + $table->text('status_note')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->dropColumn('status'); + $table->dropColumn('status_note'); + }); + } +} diff --git a/database/migrations/2024_06_10_071036_create_feed_user_view_table.php b/database/migrations/2024_06_10_071036_create_feed_user_view_table.php new file mode 100755 index 00000000..07dfa955 --- /dev/null +++ b/database/migrations/2024_06_10_071036_create_feed_user_view_table.php @@ -0,0 +1,34 @@ +primary(['user_id', 'feed_id']); + $table->unsignedBigInteger('user_id'); + $table->unsignedBigInteger('feed_id'); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->foreign('feed_id')->references('id')->on('feeds')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users_feeds_view'); + } +} diff --git a/database/migrations/2024_06_10_071255_add_feed_view_count.php b/database/migrations/2024_06_10_071255_add_feed_view_count.php new file mode 100755 index 00000000..228756ec --- /dev/null +++ b/database/migrations/2024_06_10_071255_add_feed_view_count.php @@ -0,0 +1,32 @@ +unsignedInteger('views_count')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->dropColumn('views_count'); + }); + } +} diff --git a/database/migrations/2024_06_10_103252_add_feed_is_ads.php b/database/migrations/2024_06_10_103252_add_feed_is_ads.php new file mode 100755 index 00000000..ca7c6f0b --- /dev/null +++ b/database/migrations/2024_06_10_103252_add_feed_is_ads.php @@ -0,0 +1,32 @@ +boolean('is_ads')->default(false); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('feeds', function (Blueprint $table) { + $table->dropColumn('is_ads'); + }); + } +} diff --git a/database/migrations/2024_07_11_115133_add_user_table_inn.php b/database/migrations/2024_07_11_115133_add_user_table_inn.php new file mode 100755 index 00000000..9f522f11 --- /dev/null +++ b/database/migrations/2024_07_11_115133_add_user_table_inn.php @@ -0,0 +1,36 @@ +string('inn')->nullable(); + $table->string('checking_account')->nullable(); + $table->string('bik')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('inn'); + $table->dropColumn('checking_account'); + $table->dropColumn('bik'); + }); + } +} diff --git a/database/migrations/2025_02_25_075757_add_user_type_columns.php b/database/migrations/2025_02_25_075757_add_user_type_columns.php new file mode 100755 index 00000000..3b526702 --- /dev/null +++ b/database/migrations/2025_02_25_075757_add_user_type_columns.php @@ -0,0 +1,32 @@ +tinyInteger('type')->default(1); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropColumn('type'); + }); + } +} diff --git a/database/schema/pgsql-schema.dump b/database/schema/pgsql-schema.dump new file mode 100755 index 0000000000000000000000000000000000000000..50de7e83463acd57ed08589b88c2b396d01bdd50 GIT binary patch literal 55995 zcmeHQdz55FdGEyqVObPK6nWm|wY##c{hpZ>gkfg(fxEMtnOR}M(CL}EJKO9`ciY{w z?4o#r;z6SjqlqLrMx!Ayc+_JOj~*3?czh6pAc7(fK@d?`z~vDjYBXOx?!EQ+zUtez zyE*wIea`mw^sV~ptKavis;|DP-nL*%KO4Jqx9gILiM z;os!gls7Y9@vE(pU!AGVR;qK}+1|?SQ|kv;zG)d}k$g)X3T{);a;rRFn_JuTTb#+t+^UsLzucJFRjQX; zyH>98R>D6H&g#TC-WBr7#hxu@Ipmq*P&S`ZwSviZba-m`yy3~Q6z6spz8RSq8=e~T zf(M?|A@71sQyaahu`Sy+v&Uz{_Y3v;a?4M9fwF`u;BDSIGQ61;S~;=UY*xzElK6jZ zCR@mW6jHBaO;2pyW;KKNnyX>G)@;o+{3fYD&jC^K5*;rLiH;8xq2tU%$}_D>ty=Q; zfZ_@=(D}`>@1Fz&WZ(I>UVU+TzB02`tK_X(=E18n>rGeYD%F-ZzIDnQ-@bYC8vgxs zxdozxr!%|C4XEfhR^^JTjY5lHlB^6$p;}(>quSn{a$_Ip@2YH}V3HAhm8a+ZQfptm z^GXy4t#V@y)H6O!S%IRrP@DDVJ0K^@htveHJ1hSDY!h^DuL(IAeQU9aLblo)9a}%V zee;yJvawjL0*))!tqUa+U~5Rn-#g>inVMjY%`|+__}Nmq<+UmcKD511UzJ|%T~=xB zsx68yy~}G=UvRxxpY5c0t-*AvJkMJe6oA|6oG&`Q3|vBL1*kDM99l=E3Gwkj=x}5d zyZmxJo-sWuD#5#DOxe_H;A_n;K%YxZ|LvUgIx_-%_?|+T9%~1&1iCJ zcw$O8oDBbB(>RdWGB!TtowvgiUyX0|wrm=I>+t67W4s9ad-%fW?~&n=jbmO0AUgv% z;E=^>-v*D5Qv8hojt|D!e4dwyhO-}qZde^$N#tGyT!sv8y@)meBym@MD z!V3#vzDXkJ1(i{l*H&g#7po{q+sy3nd}Dn;RDyR?28F@YE8**)IoeM5 zLMg&djmmv6(bJ)E)I^P@ZM0%)ZPwJnB$|s zlXw}bP{BJ&c^k}KtQpW3!BG(gDQk3NlH6WrcKI{A*}UAaOc+<2Ff)U1fiZv1 zZy2MpW0Z%9Q8>)k{VH3F#2Dsb@NSmpe08V|aOrSL72?V3h5a%*(65;TcQI^9hPoIj zHrs3>4TrL^R@CUR>!$ikX>lIQV5;b z$o7c|nBkVDHf7ro>KSAxBz|3Ljn}B)T&~5H5OIM0?ZR+WQ(Zl6XB^#Cb?+xDfLQCRh;+-j`nDY?Gk)f1DC_;HvE-6v7 z5B~HNXc_mXO1m~lF+FL6|DQ(-arn7t_LNrFtpY{L&!qT;> zeK7S?19Z$-qt>vEQ(RjgFl^&q)YjQBB-sB{wHa{;GPNn#} zQ}Ijggw0j}AD_3LNZA5kw-@V=*n3p+k&1Jysfg@ZS((lpg?iL!XEEjpyAZ;q|k6;T2 zU%B^aRp<6HJQ?)459UKgZ!KPu+fc@spWKhy5LDw&hgj0Jy~M+b(;}iI15mFBk!M6^3D$p z@rAQ!j2^EX3umor9|osWfp;`UrZsHi6mxQyH79pJMF%FfaMl`h4NCOFStDT&NZjhW z9*nZ){O$=#{DneZBwv+hc4Lt;HZjCpWnGqUWAgDAtE7>-(j~+6goRoal6+k`huhk^PeYyMgHzBPZEKEWxF;A(No6XB0m;gItkhpG*wx5IgxbbP#qz(ED zkPZ-U3Dv6Y_N(!V#vb>$f#EY4qnozo2%I{zvmcV+=F>boBANzUz_NUH6xe7Y-ZRHG zx5y4o#CL?T0T%(M*qP8=K6tK!f>dv0a|bD#+#t_&P+Fwjpd;78uHOew7_Mu~1-jk3 z4O>iSm@$`)52DVH<{sqZlyVeu10rj>hUHNH z39)Ba=cU`2t8?kWDPUW0v8Eogl?KG{opTQv8Wy|#N@Ap_3d?@4xlo>;hhB%_to}xm z1$8}hfcpo0AtE5QbzBItGq?R1E&T#th=|5$ui#jSXjS{*5Xgmy*07CJOka>Q4?6q| z^#yDpqBZDp1N1^fBVl_0ZdF|yf6mMf{}n0z><~Xf2m2?m#bb@w(@+l^v1Rc#<{xMD z<@$ddG-K~z%SLR$iq3Rq0KcRW7~r`V@yO65&p69^p2D7NEp@KOM9m$k zryRJnON)%-Da7dce`;Qj?+kNvdLxNDX-Q;wh8=H<_F0adVYOx-JXW|QwLBKv8ju{@ zAjR}o8Pi`qjQT6~rP@!Ix1x83RSLGRV%_Q5Q)Ns~#f(Y33==FAi+sM;T%2ysG%EaL zuQhDnNlePwwsfI%ARzC!3n>&m9|;`fzLt4my(uF2X?Pba}p9 zo$=!=H(>DU$BAk_5Uc=|u;)pdRBe-r)F}Q4@T62eYXm63E-E|ntF=k{AID*7j6xs$ z5P4V{Yu^Shra#J=n;Abx{Sk?rBlC9)ppDO>upU_cNh{Q~pURm#9M4dSQcM?l$ccLi zzT~Yh!nGi9eTzA7_$iRU=2Lb}>9L%SM_*kV?xVa=TZGjMzckQp^I?ShJN45eA!t#h-l5%8rU{M zTIR5G)Yut9q) zskXB;U1_v-dF(IoJ&ydP^?!i^DM*KmFBjUh6hFJ8vj)W(?t&%uD zG+)_mxvCi`Lk${DrCuD5MGP4niBq8++%2iC^ahmg2}I!C03|z==8HW6N|NJLYRx`O zvdG1r+O7>!%*j>SjAlN9POjLOYJ15RdnyHMGQ}TuJ&8)2i`V-p!RNCBycdEgIh6x< zVhvFr2MV+~C>7(_LsXm`$KfC;q~eEuJUmmnG7U>4YgdI^QW(OtrWVao)MAfvg&!sn z9Tb~gdn&Vj&4Q82vlFG;4E0P%Bw+uaXU8tb(?l;owY`E6U1xLNhiG|=?Jdz5y-;;* zZ)sKg;5@@2#*CC{4cj=y^qyHW@8=h&_hj2!T7xe4NpEjyBrN|ao_6g(vu4K60ZROZ z!2(}yvPFqy?d%jQ<}`WXHpULeo@UsET+IrsitzYYP^49>6D9gJ<#Wv8c;9SY68Lpy zbHAoR&++LBZ;LiLM{HWH*$0awrz>i^Hb^lIE^p?RJc=3|`%-PsWp8IgSv&@$Qn1a9 zX?@q$mNPR+?q-+Z@E22-{`YYGmu??OVp#HKpuc+#oDlg(c&j^8Bimj@tuaKGN{#W?*66WY3<}xB*Lb;d+#jIG-=g5mXEXdH01tJbK+d{=WcPbmU2;OGTo+=f;(*bRR7Js= zDW;xiAy_4cDMi{8nJnM-0*C^Ps z5IJB&NOZgv#m+T^C{;TGFgz}cYacO$I9lrslo<)797@t=4#W2-C<`!SWE)Z9P!vp1tNkpjiU<8)NY#oreor1Ff=YE(mi^OIWNtZFpY8`>dlcaI{2xBH%>5V4JgC#3~s}mT- zo}kzaj;D=y8$Hp+wDf&&9UzC#+OoZcf-Mhw+ids{TLUO=uHi#g>jXG$i^4#T7(R$r zdIDWmPGsP!FAklxU-M%My29Wf*Ek*nMv-%AoT$|ia4ejR8!Qnzz}x5vY&kh$f!PO# z&5F8zodwt-4?6fQI1!>oF4kHGMa0<3ej-K96j z=~57n4zzZSmmBO!cdVZ&c?|6i%j=B-$8H&&8?!@3IC+hi!G2+{a|vb5eV)hBE)n;? z<3bva(^w5EN0Z!A!vl)cN{YVz3GY>9Dfq+3j0!x9TGi>B@>knbR?heNk^>v9G^lv!kj=j zOaucc(VKJQ$i*TCUCQQq(Qt=GhDW+}O zx%qCiO(Vp#ts7Sq&LeOD<$zov?uIKHD!zFNGyq{bcD(DVwf=(0jt7( zECt>n*{c{NdqKS0gRitzsHgo^s_*vq@d)?G)^Yg3^Wjb7Q~Yd0>Jq3ZLJxLSTO+}< z|At3Ly@&$RhPQ2E)0W|h9o}2Uc6hKXXPI8-$8Eyn@dzhqm4C zq2SCH2UD*Fn!$?I3qH^wPC;=B#Gp2YU+|1m#-KYl24M>|jcQ`Rtdy?TP=FQSH_(q2 zfCZUSz(TM%CN=Luci&`v0ydR82Ha>Y;uv%)<;37wNnAfSLx+L!<{*XccwkmpdV9)e zTIViu^iUyy;io(%HE(@9@)m+7?ZgmTKZ5rQ8p1;A6bFRt_eM&K)e8I&W5+H~=}tQ& zm1ex{9JXB$aEjhdrWYTetx9cSh zDWi$GOE%4+1~9>sIW!AJVDu8hWaSwChJ*)x2AHj#`sWVwL`k9OVw@l&MZ_l`F9dzQUC0Tr8&28C;hIgMJlR4a z8A>c4@Ope4iT*c|6Q3vL1*h#!)#N1-V4|*wFb}ErSHzMLC*qb))Q)Zd?0cs~oE|E~ znv-|PB5FRl6y#_Qzd0_XVUFsrq~=hCOqvf{GJ#b_*GbG>!4lh9NXeJ!A{9OpgJfkVzm5bcC$9PnvVVik zCK9Fzhh59c7)~l(eY6(tktO<2?jqpLL`tQZ94d2n;zi0N^J(E6`SilP0vP*}Hqt+J z^_ISlgagI!z+qH&5Of{8Q<;iUF12oDRzW!HHCOw2}cFhUUm{M-k zwf+}8S-yekLzl{EdWI88Cpu8%yJXsSu&4b+`vTW4nMMMGO)G#{zp!-IE}2Hb(m(BK zcW_!s_NP*C7Gb*d1~3)28_jQdD+RZTdiGZ|uShK zts-oq7V379?x4@hg#Em!(I-ao z&n!2?DOpw)M>T9EvG>f&GdX!P!gW9CJ>ev50A`Z|*(`~BDIGgU?NkUInHX3)?QlHe z4Km$q2VN5ePN$j}JnP8FQc45!`GM5wQUldn7$tsUkAPhoN$X>yjhd)rDYaC~#58_a ztVIYYVxGV{D$t$b!?hD)x5(7h2WVYQ^O2r2DzQ#9(sKeds!2wA!IL@C3rHEg-f87Q zq*lUVPWD3`qER_Ivb!23RLVEBUS8f-FBLL0gi0ZoW=6&2PNr)GXZH(-J0jZUBr7W; zBUv*t@-tdPv#H|(5lGk>+bk613P`yEBfQ%*(gyj^rv~3Mw>s8NsD!BpG$iZ2)8WHO z9Uc;K5qaKCrpl2` zdiXxEB|S49zGlo7)f0J&B?f+q`~kX~YVtmAd3Y49jNrBsBlQ3l}A()dc^ukthm zFxcjo`ZuJ>RI0Q7UY=LDX?%3-LXji*ULYc`XXM`+d4Dk|dRxcwOXaptZW`arf(W)I zaT#3YmO*=h@k9{Nf#a0n{%G)7h=A=`w-Z4?h3;MtBp_x@mLyiwk|^>qNtXn3?Mx7; z;j(<6YQ66q2P;*~P8UvG)dymvJ{EO1e1rwxLR20N`d0h*`Muh@~ ze~LkbU2kKXd8}p=gGpX($d7&iL)Nc7QeLk8)k!sUaV$jmmZIw@x;1vh>R8R14>={Q0M%}~B>q-mE zFb6K$J#NzURB*AHx-ANB>@>*{9Bhmr%}QeM$vnvCNbm;+Q>%gJ2z;^o9Q02z$=6@# z3P8CUUo1IeQ$hh3`=E$k+fcJJ?zRVr-F$M8sWitU$vGM9Rr8w_MBZQrLxjwTjB2Q$ zaca6+x`zmhT4D^W?8R5neb4Y;;goG_p1JK1fmLdQK-(b#quDzg9wH45Zoy*#-{42t zN)5m1w}K5R)U>R{wWF?ricv~ekZ=PHUtAk?P5L#WGyTlk-X$8wEjPgT++?U8ea^x9IW3r~3Rt*IY z8Lig*uG^Pb)DrjI3TGcd_kDo-64`cVz67h(27$J|1f$tI9I_e?%6azufC!n2B^0dm z*$;#YB@Ks0%$o>mV@cknLtBl&Xgs48bgpD z@1-D(Hgze=hnNU?Pe}P)5Sztz@-z7BLU=)bK`^m1FP3-%CA=KmgfI*piYA@PQiD46 z6(;D%5a>+~w9rN|14Rp#B2E=PbRla+Fi}SZnxw#YciII@?j7)-Ln3>oWJv51M-7E3Dju0TyWW=tKI>d=` zm|TQ``DO!AnwR(GDG?SRP3r{cl03{H4=)7si#DU@wGJ!_jSg(ECNbe* z+O z$@a6{&-6?1M*F(R=7;InGV^FCuW1!;q|SiOY3pd? zoIy<2`!NSb8hOl!wF2QLsdVoDUz{hR~lcHTp9JYx3fi6nP7-o;`5p9p9j##zi*`CkjLLCTxU?aF_ z-gLHuv`{l02$lCC0`?^ps?oMCRQV7SDtq)&3f15w$QTmUQvRhnPLFN3=b4D;|TZzcedKx3t_Jy`8ACYsMR8$Hn+$rtrf{lt3K>)XSUF$*{ zA#5aUDqO0c6^;{&8BRh4+B5w3u@#maAlU!urM>#wpi(eeVU#cu|1TMJpe6 zZnJ;f38RGfjr1x?`IW2LB;wS?7@Tl3#knNKf4u6NC8^Zjk1gK$>+!3=A0N2=sq(E~ zJ!km?-@g8y;UDd*pYp*wZ-4WrYL9$p$#KUVcIAhDcW>*=_pZEoctw5bmGAt@7yj;+ z+pc=y+{tg;bIIkGA9VWphrWF9-Xm}N-CYljUis+pCr@sC&yC-C?yReByy))9t55p< zhrjY?Z%aM1?6eJ^zq$S|PhYui?y`U0`h{yB`|`xDW8Ze@Z4aKfZuFARz3r19y5%_k zk&oYf#PipDY1z`;h8tGg^rd&d|EtUQFF)eluU>cEu}@w1gYl<6{En3u{#)Zc$4^|c zdVltf&p&nk86RD~cgMkp-tmpkUwqE;)_oU$_Ly`3=GdvTPCV!O-ygT)+N(c!(xo4G zv30_KUvudpjek6L-}UP&H@xuv``@$s@XutgIpL0{-?#H0&Ux@%$Gl^ID-^^U}k;)S%Tz%2prT6X5Jo&!;N5PKm-#$F}wUN`d zT)XXt6@T@;uRq)Ti;E9@B!Av@jUAu=?27%Z!$0?Yb}`@>N$K6C3azdiW-A6create(); + } +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 00000000..01f6fc59 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,44 @@ +services: + laravel.test: + build: + context: './docker/8.0' + dockerfile: Dockerfile + args: + WWWGROUP: '${WWWGROUP}' + image: 'sail-8.0/app' + extra_hosts: + - 'host.docker.internal:host-gateway' + ports: + - '${APP_PORT:-80}:80' + - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' + environment: + WWWUSER: '${WWWUSER}' + LARAVEL_SAIL: 1 + XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' + XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' + IGNITION_LOCAL_SITES_PATH: '${PWD}' + volumes: + - '.:/var/www/html' + networks: + - sail + depends_on: + - mailpit + + mailpit: + image: 'axllent/mailpit:latest' + ports: + - '${FORWARD_MAILPIT_PORT:-1025}:1025' + - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025' + networks: + - sail + + adminer: + image: adminer + ports: + - "8088:8080" + networks: + - sail + +networks: + sail: + driver: bridge diff --git a/docker/8.0/Dockerfile b/docker/8.0/Dockerfile new file mode 100755 index 00000000..c7c25f4b --- /dev/null +++ b/docker/8.0/Dockerfile @@ -0,0 +1,70 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG POSTGRES_VERSION=17 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils librsvg2-bin fswatch ffmpeg nano \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.0-cli php8.0-dev \ + php8.0-pgsql php8.0-sqlite3 php8.0-gd php8.0-imagick \ + php8.0-curl php8.0-memcached php8.0-mongodb \ + php8.0-imap php8.0-mysql php8.0-mbstring \ + php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap \ + php8.0-intl php8.0-readline php8.0-pcov \ + php8.0-msgpack php8.0-igbinary php8.0-ldap \ + php8.0-redis php8.0-swoole php8.0-xdebug \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer --version=2.0.14 \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /usr/share/keyrings/yarnkey.gpg >/dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y mysql-client \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN update-alternatives --set php /usr/bin/php8.0 + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.0 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.0/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.0/php.ini b/docker/8.0/php.ini new file mode 100755 index 00000000..0d8ce9e2 --- /dev/null +++ b/docker/8.0/php.ini @@ -0,0 +1,5 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS +pcov.directory = . diff --git a/docker/8.0/start-container b/docker/8.0/start-container new file mode 100755 index 00000000..40c55dfe --- /dev/null +++ b/docker/8.0/start-container @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ "$SUPERVISOR_PHP_USER" != "root" ] && [ "$SUPERVISOR_PHP_USER" != "sail" ]; then + echo "You should set SUPERVISOR_PHP_USER to either 'sail' or 'root'." + exit 1 +fi + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + if [ "$SUPERVISOR_PHP_USER" = "root" ]; then + exec "$@" + else + exec gosu $WWWUSER "$@" + fi +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.0/supervisord.conf b/docker/8.0/supervisord.conf new file mode 100755 index 00000000..656da8a9 --- /dev/null +++ b/docker/8.0/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=%(ENV_SUPERVISOR_PHP_COMMAND)s +user=%(ENV_SUPERVISOR_PHP_USER)s +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/8.1/Dockerfile b/docker/8.1/Dockerfile new file mode 100755 index 00000000..2261ab86 --- /dev/null +++ b/docker/8.1/Dockerfile @@ -0,0 +1,69 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG POSTGRES_VERSION=17 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils librsvg2-bin fswatch ffmpeg nano \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /usr/share/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.1-cli php8.1-dev \ + php8.1-pgsql php8.1-sqlite3 php8.1-gd php8.1-imagick \ + php8.1-curl php8.1-mongodb \ + php8.1-imap php8.1-mysql php8.1-mbstring \ + php8.1-xml php8.1-zip php8.1-bcmath php8.1-soap \ + php8.1-intl php8.1-readline \ + php8.1-ldap \ + php8.1-msgpack php8.1-igbinary php8.1-redis php8.1-swoole \ + php8.1-memcached php8.1-pcov php8.1-xdebug \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /usr/share/keyrings/yarn.gpg >/dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /usr/share/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/usr/share/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y mysql-client \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.1 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.1/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.1/Dockerfile:Zone.Identifier b/docker/8.1/Dockerfile:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.1/php.ini b/docker/8.1/php.ini new file mode 100755 index 00000000..0d8ce9e2 --- /dev/null +++ b/docker/8.1/php.ini @@ -0,0 +1,5 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS +pcov.directory = . diff --git a/docker/8.1/php.ini:Zone.Identifier b/docker/8.1/php.ini:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.1/start-container b/docker/8.1/start-container new file mode 100755 index 00000000..40c55dfe --- /dev/null +++ b/docker/8.1/start-container @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ "$SUPERVISOR_PHP_USER" != "root" ] && [ "$SUPERVISOR_PHP_USER" != "sail" ]; then + echo "You should set SUPERVISOR_PHP_USER to either 'sail' or 'root'." + exit 1 +fi + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + if [ "$SUPERVISOR_PHP_USER" = "root" ]; then + exec "$@" + else + exec gosu $WWWUSER "$@" + fi +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.1/start-container:Zone.Identifier b/docker/8.1/start-container:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.1/supervisord.conf b/docker/8.1/supervisord.conf new file mode 100755 index 00000000..656da8a9 --- /dev/null +++ b/docker/8.1/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=%(ENV_SUPERVISOR_PHP_COMMAND)s +user=%(ENV_SUPERVISOR_PHP_USER)s +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/8.1/supervisord.conf:Zone.Identifier b/docker/8.1/supervisord.conf:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.2/Dockerfile b/docker/8.2/Dockerfile new file mode 100755 index 00000000..88d497ab --- /dev/null +++ b/docker/8.2/Dockerfile @@ -0,0 +1,70 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG POSTGRES_VERSION=17 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils librsvg2-bin fswatch ffmpeg nano \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.2-cli php8.2-dev \ + php8.2-pgsql php8.2-sqlite3 php8.2-gd php8.2-imagick \ + php8.2-curl php8.2-mongodb \ + php8.2-imap php8.2-mysql php8.2-mbstring \ + php8.2-xml php8.2-zip php8.2-bcmath php8.2-soap \ + php8.2-intl php8.2-readline \ + php8.2-ldap \ + php8.2-msgpack php8.2-igbinary php8.2-redis php8.2-swoole \ + php8.2-memcached php8.2-pcov php8.2-xdebug \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g pnpm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/keyrings/yarn.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y mysql-client \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.2 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.2/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.2/Dockerfile:Zone.Identifier b/docker/8.2/Dockerfile:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.2/php.ini b/docker/8.2/php.ini new file mode 100755 index 00000000..0d8ce9e2 --- /dev/null +++ b/docker/8.2/php.ini @@ -0,0 +1,5 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS +pcov.directory = . diff --git a/docker/8.2/php.ini:Zone.Identifier b/docker/8.2/php.ini:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.2/start-container b/docker/8.2/start-container new file mode 100755 index 00000000..40c55dfe --- /dev/null +++ b/docker/8.2/start-container @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ "$SUPERVISOR_PHP_USER" != "root" ] && [ "$SUPERVISOR_PHP_USER" != "sail" ]; then + echo "You should set SUPERVISOR_PHP_USER to either 'sail' or 'root'." + exit 1 +fi + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + if [ "$SUPERVISOR_PHP_USER" = "root" ]; then + exec "$@" + else + exec gosu $WWWUSER "$@" + fi +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.2/start-container:Zone.Identifier b/docker/8.2/start-container:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.2/supervisord.conf b/docker/8.2/supervisord.conf new file mode 100755 index 00000000..656da8a9 --- /dev/null +++ b/docker/8.2/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=%(ENV_SUPERVISOR_PHP_COMMAND)s +user=%(ENV_SUPERVISOR_PHP_USER)s +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/8.2/supervisord.conf:Zone.Identifier b/docker/8.2/supervisord.conf:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.3/Dockerfile b/docker/8.3/Dockerfile new file mode 100755 index 00000000..af5cb8e7 --- /dev/null +++ b/docker/8.3/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG MYSQL_CLIENT="mysql-client" +ARG POSTGRES_VERSION=17 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils librsvg2-bin fswatch ffmpeg nano \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.3-cli php8.3-dev \ + php8.3-pgsql php8.3-sqlite3 php8.3-gd \ + php8.3-curl php8.3-mongodb \ + php8.3-imap php8.3-mysql php8.3-mbstring \ + php8.3-xml php8.3-zip php8.3-bcmath php8.3-soap \ + php8.3-intl php8.3-readline \ + php8.3-ldap \ + php8.3-msgpack php8.3-igbinary php8.3-redis \ + php8.3-memcached php8.3-pcov php8.3-imagick php8.3-xdebug php8.3-swoole \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g pnpm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/keyrings/yarn.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y $MYSQL_CLIENT \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.3 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.3/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.3/Dockerfile:Zone.Identifier b/docker/8.3/Dockerfile:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.3/php.ini b/docker/8.3/php.ini new file mode 100755 index 00000000..0d8ce9e2 --- /dev/null +++ b/docker/8.3/php.ini @@ -0,0 +1,5 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS +pcov.directory = . diff --git a/docker/8.3/php.ini:Zone.Identifier b/docker/8.3/php.ini:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.3/start-container b/docker/8.3/start-container new file mode 100755 index 00000000..40c55dfe --- /dev/null +++ b/docker/8.3/start-container @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ "$SUPERVISOR_PHP_USER" != "root" ] && [ "$SUPERVISOR_PHP_USER" != "sail" ]; then + echo "You should set SUPERVISOR_PHP_USER to either 'sail' or 'root'." + exit 1 +fi + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + if [ "$SUPERVISOR_PHP_USER" = "root" ]; then + exec "$@" + else + exec gosu $WWWUSER "$@" + fi +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.3/start-container:Zone.Identifier b/docker/8.3/start-container:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.3/supervisord.conf b/docker/8.3/supervisord.conf new file mode 100755 index 00000000..656da8a9 --- /dev/null +++ b/docker/8.3/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=%(ENV_SUPERVISOR_PHP_COMMAND)s +user=%(ENV_SUPERVISOR_PHP_USER)s +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/8.3/supervisord.conf:Zone.Identifier b/docker/8.3/supervisord.conf:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.4/Dockerfile b/docker/8.4/Dockerfile new file mode 100755 index 00000000..8707873e --- /dev/null +++ b/docker/8.4/Dockerfile @@ -0,0 +1,72 @@ +FROM ubuntu:24.04 + +LABEL maintainer="Taylor Otwell" + +ARG WWWGROUP +ARG NODE_VERSION=22 +ARG MYSQL_CLIENT="mysql-client" +ARG POSTGRES_VERSION=17 + +WORKDIR /var/www/html + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=UTC +ENV SUPERVISOR_PHP_COMMAND="/usr/bin/php -d variables_order=EGPCS /var/www/html/artisan serve --host=0.0.0.0 --port=80" +ENV SUPERVISOR_PHP_USER="sail" + +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +RUN echo "Acquire::http::Pipeline-Depth 0;" > /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::http::No-Cache true;" >> /etc/apt/apt.conf.d/99custom && \ + echo "Acquire::BrokenProxy true;" >> /etc/apt/apt.conf.d/99custom + +RUN apt-get update && apt-get upgrade -y \ + && mkdir -p /etc/apt/keyrings \ + && apt-get install -y gnupg gosu curl ca-certificates zip unzip git supervisor sqlite3 libcap2-bin libpng-dev python3 dnsutils librsvg2-bin fswatch ffmpeg nano \ + && curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg --dearmor | tee /etc/apt/keyrings/ppa_ondrej_php.gpg > /dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/ppa_ondrej_php.gpg] https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble main" > /etc/apt/sources.list.d/ppa_ondrej_php.list \ + && apt-get update \ + && apt-get install -y php8.4-cli php8.4-dev \ + php8.4-pgsql php8.4-sqlite3 php8.4-gd \ + php8.4-curl php8.4-mongodb \ + php8.4-imap php8.4-mysql php8.4-mbstring \ + php8.4-xml php8.4-zip php8.4-bcmath php8.4-soap \ + php8.4-intl php8.4-readline \ + php8.4-ldap \ + php8.4-msgpack php8.4-igbinary php8.4-redis \ +# php8.4-swoole \ + php8.4-memcached php8.4-pcov php8.4-imagick php8.4-xdebug \ + && curl -sLS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_VERSION.x nodistro main" > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y nodejs \ + && npm install -g npm \ + && npm install -g pnpm \ + && npm install -g bun \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | tee /etc/apt/keyrings/yarn.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/yarn.gpg] https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \ + && curl -sS https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/keyrings/pgdg.gpg >/dev/null \ + && echo "deb [signed-by=/etc/apt/keyrings/pgdg.gpg] http://apt.postgresql.org/pub/repos/apt noble-pgdg main" > /etc/apt/sources.list.d/pgdg.list \ + && apt-get update \ + && apt-get install -y yarn \ + && apt-get install -y $MYSQL_CLIENT \ + && apt-get install -y postgresql-client-$POSTGRES_VERSION \ + && apt-get -y autoremove \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +RUN setcap "cap_net_bind_service=+ep" /usr/bin/php8.4 + +RUN userdel -r ubuntu +RUN groupadd --force -g $WWWGROUP sail +RUN useradd -ms /bin/bash --no-user-group -g $WWWGROUP -u 1337 sail + +COPY start-container /usr/local/bin/start-container +COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf +COPY php.ini /etc/php/8.4/cli/conf.d/99-sail.ini +RUN chmod +x /usr/local/bin/start-container + +EXPOSE 80/tcp + +ENTRYPOINT ["start-container"] diff --git a/docker/8.4/Dockerfile:Zone.Identifier b/docker/8.4/Dockerfile:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.4/php.ini b/docker/8.4/php.ini new file mode 100755 index 00000000..0d8ce9e2 --- /dev/null +++ b/docker/8.4/php.ini @@ -0,0 +1,5 @@ +[PHP] +post_max_size = 100M +upload_max_filesize = 100M +variables_order = EGPCS +pcov.directory = . diff --git a/docker/8.4/php.ini:Zone.Identifier b/docker/8.4/php.ini:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.4/start-container b/docker/8.4/start-container new file mode 100755 index 00000000..40c55dfe --- /dev/null +++ b/docker/8.4/start-container @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +if [ "$SUPERVISOR_PHP_USER" != "root" ] && [ "$SUPERVISOR_PHP_USER" != "sail" ]; then + echo "You should set SUPERVISOR_PHP_USER to either 'sail' or 'root'." + exit 1 +fi + +if [ ! -z "$WWWUSER" ]; then + usermod -u $WWWUSER sail +fi + +if [ ! -d /.composer ]; then + mkdir /.composer +fi + +chmod -R ugo+rw /.composer + +if [ $# -gt 0 ]; then + if [ "$SUPERVISOR_PHP_USER" = "root" ]; then + exec "$@" + else + exec gosu $WWWUSER "$@" + fi +else + exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf +fi diff --git a/docker/8.4/start-container:Zone.Identifier b/docker/8.4/start-container:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/8.4/supervisord.conf b/docker/8.4/supervisord.conf new file mode 100755 index 00000000..656da8a9 --- /dev/null +++ b/docker/8.4/supervisord.conf @@ -0,0 +1,14 @@ +[supervisord] +nodaemon=true +user=root +logfile=/var/log/supervisor/supervisord.log +pidfile=/var/run/supervisord.pid + +[program:php] +command=%(ENV_SUPERVISOR_PHP_COMMAND)s +user=%(ENV_SUPERVISOR_PHP_USER)s +environment=LARAVEL_SAIL="1" +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 diff --git a/docker/8.4/supervisord.conf:Zone.Identifier b/docker/8.4/supervisord.conf:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/mariadb/create-testing-database.sh b/docker/mariadb/create-testing-database.sh new file mode 100755 index 00000000..d3b19d90 --- /dev/null +++ b/docker/mariadb/create-testing-database.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +/usr/bin/mariadb --user=root --password="$MYSQL_ROOT_PASSWORD" <<-EOSQL + CREATE DATABASE IF NOT EXISTS testing; + GRANT ALL PRIVILEGES ON \`testing%\`.* TO '$MYSQL_USER'@'%'; +EOSQL diff --git a/docker/mariadb/create-testing-database.sh:Zone.Identifier b/docker/mariadb/create-testing-database.sh:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/mysql/create-testing-database.sh b/docker/mysql/create-testing-database.sh new file mode 100755 index 00000000..aeb1826f --- /dev/null +++ b/docker/mysql/create-testing-database.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +mysql --user=root --password="$MYSQL_ROOT_PASSWORD" <<-EOSQL + CREATE DATABASE IF NOT EXISTS testing; + GRANT ALL PRIVILEGES ON \`testing%\`.* TO '$MYSQL_USER'@'%'; +EOSQL diff --git a/docker/mysql/create-testing-database.sh:Zone.Identifier b/docker/mysql/create-testing-database.sh:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/docker/pgsql/create-testing-database.sql b/docker/pgsql/create-testing-database.sql new file mode 100755 index 00000000..d84dc07b --- /dev/null +++ b/docker/pgsql/create-testing-database.sql @@ -0,0 +1,2 @@ +SELECT 'CREATE DATABASE testing' +WHERE NOT EXISTS (SELECT FROM pg_database WHERE datname = 'testing')\gexec diff --git a/docker/pgsql/create-testing-database.sql:Zone.Identifier b/docker/pgsql/create-testing-database.sql:Zone.Identifier new file mode 100755 index 00000000..e69de29b diff --git a/jsconfig.json b/jsconfig.json new file mode 100755 index 00000000..e0117458 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + // "baseUrl": ".", + "module": "ESNext", + "target": "es2016", + "lib": ["DOM", "ESNext"], + "strict": true, + "sourceMap": true, + "esModuleInterop": true, + "incremental": false, + "skipLibCheck": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "noUnusedLocals": true, + "strictNullChecks": true, + "forceConsistentCasingInFileNames": true, + "types": [ + "vite/client", + ], + // "paths": { + // "@/*": ["resources/js/*"] + // } + }, + "exclude": ["dist", "node_modules"], + "include": [ + "resources/js/**/*.vue" + ] + } diff --git a/nova-components/NovaLeader/.gitignore b/nova-components/NovaLeader/.gitignore new file mode 100755 index 00000000..8225baa4 --- /dev/null +++ b/nova-components/NovaLeader/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/dist diff --git a/nova-components/NovaLeader/composer.json b/nova-components/NovaLeader/composer.json new file mode 100755 index 00000000..4b011eba --- /dev/null +++ b/nova-components/NovaLeader/composer.json @@ -0,0 +1,29 @@ +{ + "name": "ysv/nova-leader", + "description": "A Laravel Nova card.", + "keywords": [ + "laravel", + "nova" + ], + "license": "MIT", + "require": { + "php": ">=7.1.0" + }, + "autoload": { + "psr-4": { + "Ysv\\NovaLeader\\": "src/" + } + }, + "extra": { + "laravel": { + "providers": [ + "Ysv\\NovaLeader\\CardServiceProvider" + ] + } + }, + "config": { + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/nova-components/NovaLeader/package-lock.json b/nova-components/NovaLeader/package-lock.json new file mode 100755 index 00000000..a96508dc --- /dev/null +++ b/nova-components/NovaLeader/package-lock.json @@ -0,0 +1,15100 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "adjust-sourcemap-loader": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", + "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", + "dev": true, + "requires": { + "assert": "^1.3.0", + "camelcase": "^1.2.1", + "loader-utils": "^1.1.0", + "lodash.assign": "^4.0.1", + "lodash.defaults": "^3.1.2", + "object-path": "^0.9.2", + "regex-parser": "^2.2.9" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "lodash.defaults": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", + "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", + "dev": true, + "requires": { + "lodash.assign": "^3.0.0", + "lodash.restparam": "^3.0.0" + }, + "dependencies": { + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "dev": true, + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + } + } + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "dev": true, + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", + "dev": true + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "archive-type": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", + "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", + "dev": true, + "requires": { + "file-type": "^3.1.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + } + } + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-includes": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.5" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "ast-types": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", + "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-each-series": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", + "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=", + "dev": true + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "requires": { + "browserslist": "^2.11.3", + "caniuse-lite": "^1.0.30000805", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.17", + "postcss-value-parser": "^3.2.3" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "bin-build": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", + "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", + "dev": true, + "requires": { + "archive-type": "^3.0.1", + "decompress": "^3.0.0", + "download": "^4.1.2", + "exec-series": "^1.0.0", + "rimraf": "^2.2.6", + "tempfile": "^1.0.0", + "url-regex": "^3.0.0" + }, + "dependencies": { + "tempfile": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", + "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", + "dev": true, + "requires": { + "os-tmpdir": "^1.0.0", + "uuid": "^2.0.1" + } + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "bin-check": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", + "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", + "dev": true, + "requires": { + "executable": "^1.0.0" + } + }, + "bin-version": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", + "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", + "dev": true, + "requires": { + "find-versions": "^1.0.0" + } + }, + "bin-version-check": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", + "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", + "dev": true, + "requires": { + "bin-version": "^1.0.0", + "minimist": "^1.1.0", + "semver": "^4.0.3", + "semver-truncate": "^1.0.0" + }, + "dependencies": { + "semver": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + } + } + }, + "bin-wrapper": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", + "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", + "dev": true, + "requires": { + "bin-check": "^2.0.0", + "bin-version-check": "^2.1.0", + "download": "^4.0.0", + "each-async": "^1.1.1", + "lazy-req": "^1.0.0", + "os-filter-obj": "^1.0.0" + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dev": true, + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", + "dev": true + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-to-vinyl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", + "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", + "dev": true, + "requires": { + "file-type": "^3.1.0", + "readable-stream": "^2.0.2", + "uuid": "^2.0.1", + "vinyl": "^1.0.0" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30001226", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001226.tgz", + "integrity": "sha512-hnC3hnMKAn/VaRHFb4fCe7snQRQFy0EZrK0AAomFbqGT18KXOtnPvTm0m+NvyRrBCR1jwFCjbUQvar0r6lBvOw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001228", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", + "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", + "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "caw": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", + "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", + "dev": true, + "requires": { + "get-proxy": "^1.0.1", + "is-obj": "^1.0.0", + "object-assign": "^3.0.0", + "tunnel-agent": "^0.4.0" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" + }, + "dependencies": { + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concatenate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/concatenate/-/concatenate-0.0.2.tgz", + "integrity": "sha1-C0nW6MQQR9dyjNyNYqCGYjOXtJ8=", + "dev": true, + "requires": { + "globs": "^0.1.2" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", + "dev": true + }, + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-error-class": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", + "dev": true + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", + "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", + "dev": true, + "requires": { + "buffer-to-vinyl": "^1.0.0", + "concat-stream": "^1.4.6", + "decompress-tar": "^3.0.0", + "decompress-tarbz2": "^3.0.0", + "decompress-targz": "^3.0.0", + "decompress-unzip": "^3.0.0", + "stream-combiner2": "^1.1.1", + "vinyl-assign": "^1.0.1", + "vinyl-fs": "^2.2.0" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", + "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", + "dev": true, + "requires": { + "is-tar": "^1.0.0", + "object-assign": "^2.0.0", + "strip-dirs": "^1.0.0", + "tar-stream": "^1.1.1", + "through2": "^0.6.1", + "vinyl": "^0.4.3" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "decompress-tarbz2": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", + "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", + "dev": true, + "requires": { + "is-bzip2": "^1.0.0", + "object-assign": "^2.0.0", + "seek-bzip": "^1.0.3", + "strip-dirs": "^1.0.0", + "tar-stream": "^1.1.1", + "through2": "^0.6.1", + "vinyl": "^0.4.3" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "decompress-targz": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", + "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", + "dev": true, + "requires": { + "is-gzip": "^1.0.0", + "object-assign": "^2.0.0", + "strip-dirs": "^1.0.0", + "tar-stream": "^1.1.1", + "through2": "^0.6.1", + "vinyl": "^0.4.3" + }, + "dependencies": { + "clone": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", + "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", + "dev": true + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "vinyl": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", + "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", + "dev": true, + "requires": { + "clone": "^0.2.0", + "clone-stats": "^0.0.1" + } + } + } + }, + "decompress-unzip": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", + "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", + "dev": true, + "requires": { + "is-zip": "^1.0.0", + "read-all-stream": "^3.0.0", + "stat-mode": "^0.2.0", + "strip-dirs": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^1.0.0", + "yauzl": "^2.2.1" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-node": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.5.tgz", + "integrity": "sha512-qi86tE6hRcFHy8jI1m2VG+LaPUR1LhqDa5G8tVjuUXmOrpuAgqsA1pN0+ldgr3aKUH+QLI9hCY/OcRYisERejw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dotenv": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", + "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", + "dev": true + }, + "dotenv-expand": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", + "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", + "dev": true + }, + "download": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", + "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", + "dev": true, + "requires": { + "caw": "^1.0.1", + "concat-stream": "^1.4.7", + "each-async": "^1.0.0", + "filenamify": "^1.0.1", + "got": "^5.0.0", + "gulp-decompress": "^1.2.0", + "gulp-rename": "^1.2.0", + "is-url": "^1.2.0", + "object-assign": "^4.0.1", + "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.2", + "stream-combiner2": "^1.1.1", + "vinyl": "^1.0.0", + "vinyl-fs": "^2.2.0", + "ware": "^1.2.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-async": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", + "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", + "dev": true, + "requires": { + "onetime": "^1.0.0", + "set-immediate-shim": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.727", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.727.tgz", + "integrity": "sha512-Mfz4FIB4FSvEwBpDfdipRIrwd6uo8gUDoRDF4QEYb4h4tSuI3ov594OrjU6on042UlFHouIJpClDODGkPcBSbg==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-templates": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", + "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", + "dev": true, + "requires": { + "recast": "~0.11.12", + "through": "~2.3.6" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": ">=0.0.5" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + } + }, + "exec-series": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", + "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", + "dev": true, + "requires": { + "async-each-series": "^1.1.0", + "object-assign": "^4.1.0" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "executable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", + "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", + "dev": true, + "requires": { + "meow": "^3.1.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "^2.1.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", + "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==", + "dev": true + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "dev": true, + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "dev": true, + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "dev": true, + "requires": { + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + }, + "file-loader": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.11.2.tgz", + "integrity": "sha512-N+uhF3mswIFeziHQjGScJ/yHXYt3DiLBeC+9vWW+WjUBiClMSOlV1YrXQi+7KM2aA3Rn4Bybgv+uXFQbfkzpvg==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2" + } + }, + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filename-reserved-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", + "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "dev": true + }, + "filenamify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", + "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "dev": true, + "requires": { + "filename-reserved-regex": "^1.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "find-versions": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", + "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", + "dev": true, + "requires": { + "array-uniq": "^1.0.0", + "get-stdin": "^4.0.1", + "meow": "^3.5.0", + "semver-regex": "^1.0.0" + } + }, + "first-chunk-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", + "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", + "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "dev": true + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "friendly-errors-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-proxy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", + "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", + "dev": true, + "requires": { + "rc": "^1.1.2" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gifsicle": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", + "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", + "dev": true, + "requires": { + "bin-build": "^2.0.0", + "bin-wrapper": "^3.0.0", + "logalot": "^2.0.0" + } + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "^2.0.0" + } + }, + "glob-stream": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", + "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", + "dev": true, + "requires": { + "extend": "^3.0.0", + "glob": "^5.0.3", + "glob-parent": "^3.0.0", + "micromatch": "^2.3.7", + "ordered-read-streams": "^0.3.0", + "through2": "^0.6.0", + "to-absolute-glob": "^0.1.1", + "unique-stream": "^2.0.2" + }, + "dependencies": { + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "globs": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globs/-/globs-0.1.4.tgz", + "integrity": "sha512-D23dWbOq48vlOraoSigbcQV4tWrnhwk+E/Um2cMuDS3/5dwGmdFeA7L/vAvDhLFlQOTDqHcXh35m/71g2A2WzQ==", + "dev": true, + "requires": { + "glob": "^7.1.1" + } + }, + "globule": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.2.tgz", + "integrity": "sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==", + "dev": true, + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "got": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", + "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", + "dev": true, + "requires": { + "create-error-class": "^3.0.1", + "duplexer2": "^0.1.4", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "node-status-codes": "^1.0.0", + "object-assign": "^4.0.1", + "parse-json": "^2.1.0", + "pinkie-promise": "^2.0.0", + "read-all-stream": "^3.0.0", + "readable-stream": "^2.0.5", + "timed-out": "^3.0.0", + "unzip-response": "^1.0.2", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "gulp-decompress": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", + "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", + "dev": true, + "requires": { + "archive-type": "^3.0.0", + "decompress": "^3.0.0", + "gulp-util": "^3.0.1", + "readable-stream": "^2.0.2" + } + }, + "gulp-rename": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.4.0.tgz", + "integrity": "sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==", + "dev": true + }, + "gulp-sourcemaps": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", + "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", + "dev": true, + "requires": { + "convert-source-map": "^1.1.1", + "graceful-fs": "^4.1.2", + "strip-bom": "^2.0.0", + "through2": "^2.0.0", + "vinyl": "^1.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "dev": true, + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "dev": true, + "requires": { + "glogg": "^1.0.0" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "dev": true, + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "dev": true, + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", + "dev": true + }, + "html-loader": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.5.tgz", + "integrity": "sha1-X7zYfNY6XEmn/OL+VvQl4Fcpxow=", + "dev": true, + "requires": { + "es6-templates": "^0.2.2", + "fastparse": "^1.1.1", + "html-minifier": "^3.0.1", + "loader-utils": "^1.0.2", + "object-assign": "^4.1.0" + } + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz", + "integrity": "sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ==", + "dev": true, + "requires": { + "http-proxy": "^1.18.1", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "^6.0.1" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "imagemin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", + "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", + "dev": true, + "requires": { + "file-type": "^4.1.0", + "globby": "^6.1.0", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^2.3.0", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "imagemin-gifsicle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", + "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", + "dev": true, + "requires": { + "exec-buffer": "^3.0.0", + "gifsicle": "^3.0.0", + "is-gif": "^1.0.0" + } + }, + "imagemin-mozjpeg": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-7.0.0.tgz", + "integrity": "sha1-2SZHf8bvXzp2ikIi97LYCNPrpWg=", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-jpg": "^1.0.0", + "mozjpeg": "^5.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", + "dev": true, + "requires": { + "exec-buffer": "^3.0.0", + "is-png": "^1.0.0", + "optipng-bin": "^3.0.0" + } + }, + "imagemin-pngquant": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-5.1.0.tgz", + "integrity": "sha512-RtIUPbp8/HYX5EKY6p/L1NLKnkxNj37I92IFNsrptzBVql8FqBgPra9DO/eUgE4EWx+zq6ih4a/Y9YhF3pNM5A==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "is-png": "^1.0.0", + "is-stream": "^1.1.0", + "pngquant-bin": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "imagemin-svgo": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-6.0.0.tgz", + "integrity": "sha512-xwjBZQKpbkklHtJYnCOwRJjTRJA/nR0hQzKMh+CUZRvm/L0QwKKPJQ9tkPWQHrg+cydPu2i1vLgHuy2E0hKEkg==", + "dev": true, + "requires": { + "buffer-from": "^0.1.1", + "is-svg": "^2.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "buffer-from": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz", + "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==", + "dev": true + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + } + } + }, + "img-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-2.0.1.tgz", + "integrity": "sha512-cD5D+zzIDvVPyX9nmz6+GL20BfpRUKUEXFur9IPeUC8/LRJT/PQ3YJVyKelIum8R5rCVZXgSFB0ccpsnS4IyAQ==", + "dev": true, + "requires": { + "imagemin": "^5.3.1", + "imagemin-gifsicle": "^5.2.0", + "imagemin-mozjpeg": "^7.0.0", + "imagemin-optipng": "^5.2.0", + "imagemin-pngquant": "^5.0.1", + "imagemin-svgo": "^6.0.0", + "loader-utils": "^1.1.0" + } + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "^3.3.0" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", + "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", + "dev": true, + "requires": { + "is-relative": "^0.1.0" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-bzip2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", + "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-gif": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", + "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", + "dev": true + }, + "is-jpg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.1.tgz", + "integrity": "sha1-KW1X/dmc4BBDSnKD40armhA16XU=", + "dev": true + }, + "is-natural-number": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", + "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "is-png": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", + "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", + "dev": true + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-redirect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", + "dev": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-relative": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", + "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", + "dev": true + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-tar": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", + "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-valid-glob": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", + "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is-zip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", + "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "dev": true, + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "laravel-mix": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-1.7.2.tgz", + "integrity": "sha512-La1eAsCkEdySc9J9MJ/g8Dj1EfGo7aXW92GZKoSbrSg4uQWNNoV824e6+o4f4Eo/YWYrYwZTkdnWJJ1uVqP+dw==", + "dev": true, + "requires": { + "autoprefixer": "^7.1.1", + "babel-core": "^6.24.1", + "babel-loader": "^7.1.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-env": "^1.5.1", + "chokidar": "^1.7.0", + "clean-css": "^4.1.3", + "concatenate": "0.0.2", + "css-loader": "^0.28.3", + "dotenv": "^4.0.0", + "dotenv-expand": "^4.0.1", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^0.11.1", + "friendly-errors-webpack-plugin": "^1.6.1", + "fs-extra": "^3.0.1", + "glob": "^7.1.2", + "html-loader": "^0.4.5", + "img-loader": "^2.0.0", + "lodash": "^4.17.4", + "md5": "^2.2.1", + "node-sass": "^4.5.3", + "postcss-loader": "^2.0.5", + "resolve-url-loader": "^2.0.2", + "sass-loader": "^6.0.5", + "style-loader": "^0.18.1", + "uglify-js": "^2.8.28", + "uglifyjs-webpack-plugin": "^1.0.0", + "vue-loader": "^13.0.5", + "vue-template-compiler": "^2.0.0", + "webpack": "^3.5.0", + "webpack-chunk-hash": "^0.4.0", + "webpack-dev-server": "^2.5.1", + "webpack-merge": "^4.1.0", + "webpack-notifier": "^1.5.0", + "yargs": "^8.0.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lazy-req": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", + "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=", + "dev": true + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "dev": true, + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", + "dev": true + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", + "dev": true + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", + "dev": true + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "dev": true, + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", + "dev": true + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", + "dev": true + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", + "dev": true + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", + "dev": true + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "dev": true, + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "dev": true, + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "dev": true, + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-expression-evaluator": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.7.tgz", + "integrity": "sha512-nrbaifCl42w37hYd6oRLvoymFK42tWB+WQTMFtksDGQMi5GvlJwnz/CsS30FFAISFLtX+A0csJ0xLiuuyyec7w==", + "dev": true + }, + "math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "dev": true + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "dev": true + }, + "mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dev": true, + "requires": { + "mime-db": "1.47.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "mozjpeg": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-5.0.0.tgz", + "integrity": "sha1-uGccSSRWijY94AP/L9OXq4P3UsU=", + "dev": true, + "requires": { + "bin-build": "^2.2.0", + "bin-wrapper": "^3.0.0", + "logalot": "^2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "dev": true, + "requires": { + "duplexer2": "0.0.2" + }, + "dependencies": { + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + } + } + }, + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "node-sass": { + "version": "4.14.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz", + "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "2.2.5", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "node-status-codes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", + "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "dev": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-inspect": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-path": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", + "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "object.values": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optipng-bin": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", + "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", + "dev": true, + "requires": { + "bin-build": "^2.0.0", + "bin-wrapper": "^3.0.0", + "logalot": "^2.0.0" + } + }, + "ordered-read-streams": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", + "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", + "dev": true, + "requires": { + "is-stream": "^1.0.1", + "readable-stream": "^2.0.1" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-filter-obj": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", + "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==", + "dev": true + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "dev": true, + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "dev": true, + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pngquant-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-4.0.0.tgz", + "integrity": "sha512-jhjMp87bvaUeQOfNaPhSKx3tLCEwRaAycgDpIhMflgFr2+vYhw4ZrcK06eQeYg4OprXPanFljXLl5VuuAP2IHw==", + "dev": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^3.0.0", + "execa": "^0.10.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "dev": true, + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "dev": true, + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "decompress": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + } + } + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "dev": true, + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "dev": true, + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "dev": true, + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "^5.0.16" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" + } + } + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" + } + } + } + }, + "postcss-loader": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", + "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^6.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^0.4.0" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "^6.0.1" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "^5.0.5" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dev": true, + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-all-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", + "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + } + } + }, + "recast": { + "version": "0.11.23", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", + "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", + "dev": true, + "requires": { + "ast-types": "0.9.6", + "esprima": "~3.1.0", + "private": "~0.1.5", + "source-map": "~0.5.0" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve-url-loader": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz", + "integrity": "sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^1.1.0", + "camelcase": "^4.1.0", + "convert-source-map": "^1.5.1", + "loader-utils": "^1.1.0", + "lodash.defaults": "^4.0.0", + "rework": "^1.0.1", + "rework-visit": "^1.0.0", + "source-map": "^0.5.7", + "urix": "^0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass-graph": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", + "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + } + } + }, + "sass-loader": { + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.7.tgz", + "integrity": "sha512-JoiyD00Yo1o61OJsoP2s2kb19L1/Y2p3QFcCdWdF6oomBGKVYuZyqHWemRBfQ2uGYsk+CH3eCguXNfpjzlcpaA==", + "dev": true, + "requires": { + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "^5.0.0" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "seek-bzip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", + "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, + "requires": { + "commander": "^2.8.1" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", + "dev": true + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "dev": true, + "requires": { + "semver": "^5.3.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "dev": true, + "requires": { + "sort-keys": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparkles": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", + "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "dev": true, + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-bom-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", + "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", + "dev": true, + "requires": { + "first-chunk-stream": "^1.0.0", + "strip-bom": "^2.0.0" + } + }, + "strip-dirs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", + "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "get-stdin": "^4.0.1", + "is-absolute": "^0.1.5", + "is-natural-number": "^2.0.0", + "minimist": "^1.1.0", + "sum-up": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "style-loader": { + "version": "0.18.2", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", + "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" + } + }, + "sum-up": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", + "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", + "dev": true, + "requires": { + "chalk": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + } + }, + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==", + "dev": true + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", + "dev": true + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "dev": true, + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "through2-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", + "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "dev": true + }, + "timed-out": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", + "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "to-absolute-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", + "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + } + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "dev": true, + "requires": { + "glob": "^7.1.2" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + } + } + } + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", + "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "dev": true, + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", + "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", + "dev": true, + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + } + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + } + } + }, + "unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", + "dev": true + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", + "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-regex": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", + "dev": true, + "requires": { + "ip-regex": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "vali-date": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", + "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "dev": true, + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + }, + "dependencies": { + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + } + } + }, + "vinyl-assign": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", + "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "readable-stream": "^2.0.0" + } + }, + "vinyl-fs": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", + "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", + "dev": true, + "requires": { + "duplexify": "^3.2.0", + "glob-stream": "^5.3.2", + "graceful-fs": "^4.0.0", + "gulp-sourcemaps": "1.6.0", + "is-valid-glob": "^0.3.0", + "lazystream": "^1.0.0", + "lodash.isequal": "^4.0.0", + "merge-stream": "^1.0.0", + "mkdirp": "^0.5.0", + "object-assign": "^4.0.0", + "readable-stream": "^2.0.4", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^1.0.0", + "through2": "^2.0.0", + "through2-filter": "^2.0.0", + "vali-date": "^1.0.0", + "vinyl": "^1.0.0" + }, + "dependencies": { + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "13.7.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", + "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", + "dev": true, + "requires": { + "consolidate": "^0.14.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "lru-cache": "^4.1.1", + "postcss": "^6.0.8", + "postcss-load-config": "^1.1.0", + "postcss-selector-parser": "^2.0.0", + "prettier": "^1.7.0", + "resolve": "^1.4.0", + "source-map": "^0.6.1", + "vue-hot-reload-api": "^2.2.0", + "vue-style-loader": "^3.0.0", + "vue-template-es2015-compiler": "^1.6.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" + } + } + } + }, + "vue-style-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", + "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "ware": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", + "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", + "dev": true, + "requires": { + "wrap-fn": "^0.1.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true, + "optional": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "optional": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "optional": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "optional": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "optional": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "optional": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "optional": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "optional": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "optional": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "optional": true + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "dev": true, + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "^2.0.0" + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" + } + } + } + }, + "webpack-chunk-hash": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/webpack-chunk-hash/-/webpack-chunk-hash-0.4.0.tgz", + "integrity": "sha1-a0DDBw+8n/DP4P54HHF0r2x8FqQ=", + "dev": true + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" + }, + "dependencies": { + "time-stamp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", + "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", + "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.1.2", + "compression": "^1.7.3", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "^0.19.1", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "1.12.2", + "yargs": "6.6.0" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "^1.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-notifier": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.13.0.tgz", + "integrity": "sha512-QLk6l/TZKGhyN6Hd1zobaiYno7S9YPX3wH86+YOSufHes77SegGhnGdj+4vrLDFK5A4ZKoQD5GRXXFnM0h0N8A==", + "dev": true, + "requires": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrap-fn": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", + "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", + "dev": true, + "requires": { + "co": "3.1.0" + }, + "dependencies": { + "co": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", + "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", + "dev": true + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + } + } +} diff --git a/nova-components/NovaLeader/package.json b/nova-components/NovaLeader/package.json new file mode 100755 index 00000000..fb91be33 --- /dev/null +++ b/nova-components/NovaLeader/package.json @@ -0,0 +1,19 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + }, + "devDependencies": { + "cross-env": "^5.0.0", + "laravel-mix": "^1.0" + }, + "dependencies": { + "vue": "^2.5.0" + } +} diff --git a/nova-components/NovaLeader/resources/js/card.js b/nova-components/NovaLeader/resources/js/card.js new file mode 100755 index 00000000..c5a4da6d --- /dev/null +++ b/nova-components/NovaLeader/resources/js/card.js @@ -0,0 +1,3 @@ +Nova.booting((Vue, router, store) => { + Vue.component('NovaLeader', require('./components/Card')) +}) diff --git a/nova-components/NovaLeader/resources/js/components/Card.vue b/nova-components/NovaLeader/resources/js/components/Card.vue new file mode 100755 index 00000000..43584049 --- /dev/null +++ b/nova-components/NovaLeader/resources/js/components/Card.vue @@ -0,0 +1,54 @@ + + + diff --git a/nova-components/NovaLeader/resources/sass/card.scss b/nova-components/NovaLeader/resources/sass/card.scss new file mode 100755 index 00000000..0d6624a0 --- /dev/null +++ b/nova-components/NovaLeader/resources/sass/card.scss @@ -0,0 +1 @@ +// Nova Card CSS diff --git a/nova-components/NovaLeader/routes/api.php b/nova-components/NovaLeader/routes/api.php new file mode 100755 index 00000000..642927c8 --- /dev/null +++ b/nova-components/NovaLeader/routes/api.php @@ -0,0 +1,19 @@ +app->booted(function () { + $this->routes(); + }); + + Nova::serving(function (ServingNova $event) { + Nova::script('nova-leader', __DIR__.'/../dist/js/card.js'); + Nova::style('nova-leader', __DIR__.'/../dist/css/card.css'); + }); + } + + /** + * Register the card's routes. + * + * @return void + */ + protected function routes() + { + if ($this->app->routesAreCached()) { + return; + } + + Route::middleware(['nova']) + ->prefix('nova-vendor/nova-leader') + ->group(__DIR__.'/../routes/api.php'); + } + + /** + * Register any application services. + * + * @return void + */ + public function register() + { + // + } +} diff --git a/nova-components/NovaLeader/src/NovaLeader.php b/nova-components/NovaLeader/src/NovaLeader.php new file mode 100755 index 00000000..c14f0f5b --- /dev/null +++ b/nova-components/NovaLeader/src/NovaLeader.php @@ -0,0 +1,52 @@ +take($leader_count); + $ids = $leaders->pluck('user_id'); + $users = User::whereIn('id', $ids)->get(); + $leaderUsers = $leaders->map(function($item) use($users) { + $item->user = $users->where('id', $item->user_id)->first()->only(['id', 'first_name', 'last_name', 'username']); + return $item; + }); + }else{ + $leaderUsers = SubscriptionService::freeLeaders(); + } + + + $amount = SubscriptionService::amount(); + + return $this->withMeta(['leaders' => $leaderUsers, 'amount' => $amount, 'mode' => (boolean) $mode]); + } + + /** + * Get the component name for the element. + * + * @return string + */ + public function component() + { + return 'nova-leader'; + } +} diff --git a/nova-components/NovaLeader/webpack.mix.js b/nova-components/NovaLeader/webpack.mix.js new file mode 100755 index 00000000..1baa9310 --- /dev/null +++ b/nova-components/NovaLeader/webpack.mix.js @@ -0,0 +1,6 @@ +let mix = require('laravel-mix') + +mix + .setPublicPath('dist') + .js('resources/js/card.js', 'js') + // .sass('resources/sass/card.scss', 'css') diff --git a/nova/.babelrc b/nova/.babelrc new file mode 100755 index 00000000..70854a8f --- /dev/null +++ b/nova/.babelrc @@ -0,0 +1,14 @@ +{ + "plugins": [ + "transform-runtime", + "transform-vue-jsx", + "syntax-jsx", + "transform-object-rest-spread" + ], + "presets": [["env"]], + "env": { + "test": { + "presets": [["env", { "targets": { "node": "current" } }]] + } + } +} diff --git a/nova/.env.dusk.example b/nova/.env.dusk.example new file mode 100755 index 00000000..2b11f693 --- /dev/null +++ b/nova/.env.dusk.example @@ -0,0 +1,47 @@ +APP_NAME="Nova Dusk Suite" +APP_ENV=testing +APP_KEY=base64:la8jDWcqBHfGO6PR+OA9FAZqdi0XQKuhnzqc5tUATZs= +APP_DEBUG=true +APP_URL=http://nova-dusk-suite.test + +DUSK_TIMEZONE=America/Chicago +DUSK_WIDTH=1920 +DUSK_HEIGHT=1080 + +LOG_CHANNEL=stack +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=nova_dusk +DB_USERNAME=root +DB_PASSWORD= + +BROADCAST_DRIVER=log +CACHE_DRIVER=file +SESSION_DRIVER=cookie +SESSION_LIFETIME=120 +QUEUE_DRIVER=sync + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=log +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +ALGOLIA_APP_ID= +ALGOLIA_SECRET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/nova/.eslintrc b/nova/.eslintrc new file mode 100755 index 00000000..f6fca7f0 --- /dev/null +++ b/nova/.eslintrc @@ -0,0 +1,28 @@ +module.exports = { + "env": { + "browser": true, + "es6": true + }, + "extends": "eslint:recommended", + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "indent": [ + "error", + 4 + ], + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "single" + ], + "semi": [ + "error", + "never" + ] + } +}; diff --git a/nova/.prettierrc b/nova/.prettierrc new file mode 100755 index 00000000..523f6ce6 --- /dev/null +++ b/nova/.prettierrc @@ -0,0 +1,22 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "semi": false, + "requirePragma": false, + "proseWrap": "preserve", + "arrowParens": "avoid", + + "overrides": [ + { + "files": "resources/css/**/*.css", + "options": { + "tabWidth": 2 + } + } + ] +} diff --git a/nova/composer.json b/nova/composer.json new file mode 100755 index 00000000..5a086938 --- /dev/null +++ b/nova/composer.json @@ -0,0 +1,88 @@ +{ + "name": "laravel/nova", + "description": "A wonderful administration interface for Laravel.", + "keywords": [ + "laravel", + "admin" + ], + "license": "MIT", + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "require": { + "php": "^7.2.5|^8.0", + "brick/money": "^0.5.0", + "cakephp/chronos": "^1.0|^2.0", + "doctrine/dbal": "^2.9", + "illuminate/support": "^7.0|^8.0", + "laravel/ui": "^2.0|^3.0", + "moontoast/math": "^1.1", + "spatie/once": "^1.1|^2.0|^3.0", + "symfony/console": "^5.0", + "symfony/finder": "^5.0", + "symfony/intl": "^5.0", + "symfony/process": "^5.0" + }, + "require-dev": { + "laravel/legacy-factories": "^1.0", + "laravel/nova-dusk-suite": "8.x-dev", + "mockery/mockery": "^1.3.3|^1.4.2", + "orchestra/testbench-dusk": "^6.17", + "phpunit/phpunit": "^8.4", + "predis/predis": "^1.1" + }, + "autoload": { + "psr-4": { + "Laravel\\Nova\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Laravel\\Nova\\Tests\\": "tests/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Nova\\NovaCoreServiceProvider" + ], + "aliases": { + "Nova": "Laravel\\Nova\\Nova" + } + } + }, + "config": { + "sort-packages": true + }, + "scripts": { + "dusk:prepare": [ + "./vendor/bin/dusk-updater detect --auto-update", + "@php -r \"file_exists('phpunit.dusk.xml') || copy('phpunit.dusk.xml.dist', 'phpunit.dusk.xml'); \"", + "@php -r \"if (file_exists('.env.dusk')) { copy('.env.dusk', 'vendor/laravel/nova-dusk-suite/.env'); } else { copy('.env.dusk.example', 'vendor/laravel/nova-dusk-suite/.env'); }\"", + "./vendor/bin/testbench-dusk package:discover" + ], + "dusk:assets": [ + "yarn install", + "yarn run prod", + "./vendor/bin/testbench-dusk nova:publish" + ], + "dusk:test": [ + "./vendor/bin/phpunit -c phpunit.dusk.xml" + ] + }, + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/laravel/nova-dusk-suite" + } + ], + "minimum-stability": "dev", + "prefer-stable": true, + "version": "3.24.0" +} diff --git a/nova/config/nova.php b/nova/config/nova.php new file mode 100755 index 00000000..c9964dea --- /dev/null +++ b/nova/config/nova.php @@ -0,0 +1,150 @@ + env('NOVA_APP_NAME', env('APP_NAME')), + + /* + |-------------------------------------------------------------------------- + | Nova Domain Name + |-------------------------------------------------------------------------- + | + | This value is the "domain name" associated with your application. This + | can be used to prevent Nova's internal routes from being registered + | on subdomains which do not need access to your admin application. + | + */ + + 'domain' => env('NOVA_DOMAIN_NAME', null), + + /* + |-------------------------------------------------------------------------- + | Nova App URL + |-------------------------------------------------------------------------- + | + | This URL is where users will be directed when clicking the application + | name in the Nova navigation bar. You are free to change this URL to + | any location you wish depending on the needs of your application. + | + */ + + 'url' => env('APP_URL', '/'), + + /* + |-------------------------------------------------------------------------- + | Nova Path + |-------------------------------------------------------------------------- + | + | This is the URI path where Nova will be accessible from. Feel free to + | change this path to anything you like. Note that this URI will not + | affect Nova's internal API routes which aren't exposed to users. + | + */ + + 'path' => '/nova', + + /* + |-------------------------------------------------------------------------- + | Nova Authentication Guard + |-------------------------------------------------------------------------- + | + | This configuration option defines the authentication guard that will + | be used to protect your Nova routes. This option should match one + | of the authentication guards defined in the "auth" config file. + | + */ + + 'guard' => env('NOVA_GUARD', null), + + /* + |-------------------------------------------------------------------------- + | Nova Password Reset Broker + |-------------------------------------------------------------------------- + | + | This configuration option defines the password broker that will be + | used when passwords are reset. This option should mirror one of + | the password reset options defined in the "auth" config file. + | + */ + + 'passwords' => env('NOVA_PASSWORDS', null), + + /* + |-------------------------------------------------------------------------- + | Nova Route Middleware + |-------------------------------------------------------------------------- + | + | These middleware will be assigned to every Nova route, giving you the + | chance to add your own middleware to this stack or override any of + | the existing middleware. Or, you can just stick with this stack. + | + */ + + 'middleware' => [ + 'web', + Authenticate::class, + DispatchServingNovaEvent::class, + BootTools::class, + Authorize::class, + \Vyuldashev\NovaPermission\ForgetCachedPermissions::class, + ], + + /* + |-------------------------------------------------------------------------- + | Nova Pagination Type + |-------------------------------------------------------------------------- + | + | This option defines the visual style used in Nova's resource pagination + | views. You may select between "simple", "load-more", and "links" for + | your applications. Feel free to adjust this option to your choice. + | + */ + + 'pagination' => 'simple', + + /* + |-------------------------------------------------------------------------- + | Nova Action Resource Class + |-------------------------------------------------------------------------- + | + | This configuration option allows you to specify a custom resource class + | to use instead of the type that ships with Nova. You may use this to + | define any extra form fields or other custom behavior as required. + | + */ + + 'actions' => [ + 'resource' => ActionResource::class, + ], + + /* + |-------------------------------------------------------------------------- + | Nova Currency + |-------------------------------------------------------------------------- + | + | This configuration option allows you to define the default currency + | used by the Currency field within Nova. You may change this to a + | valid ISO 4217 currency code to suit your application's needs. + | + */ + + 'currency' => 'USD', + +]; diff --git a/nova/database/migrations/2018_01_01_000000_create_action_events_table.php b/nova/database/migrations/2018_01_01_000000_create_action_events_table.php new file mode 100755 index 00000000..07a7be5a --- /dev/null +++ b/nova/database/migrations/2018_01_01_000000_create_action_events_table.php @@ -0,0 +1,46 @@ +id(); + $table->char('batch_id', 36); + $table->unsignedBigInteger('user_id')->index(); + $table->string('name'); + $table->string('actionable_type'); + $table->unsignedBigInteger('actionable_id'); + $table->string('target_type'); + $table->unsignedBigInteger('target_id'); + $table->string('model_type'); + $table->unsignedBigInteger('model_id')->nullable(); + $table->text('fields'); + $table->string('status', 25)->default('running'); + $table->text('exception'); + $table->timestamps(); + + $table->index(['actionable_type', 'actionable_id']); + $table->index(['batch_id', 'model_type', 'model_id']); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('action_events'); + } +} diff --git a/nova/database/migrations/2019_05_10_000000_add_fields_to_action_events_table.php b/nova/database/migrations/2019_05_10_000000_add_fields_to_action_events_table.php new file mode 100755 index 00000000..e2bb36c7 --- /dev/null +++ b/nova/database/migrations/2019_05_10_000000_add_fields_to_action_events_table.php @@ -0,0 +1,33 @@ +mediumText('original')->nullable(); + $table->mediumText('changes')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('action_events', function (Blueprint $table) { + $table->dropColumn('original', 'changes'); + }); + } +} diff --git a/nova/mix-manifest.json b/nova/mix-manifest.json new file mode 100755 index 00000000..b3b2ea83 --- /dev/null +++ b/nova/mix-manifest.json @@ -0,0 +1,3 @@ +{ + "/public/app.js": "/public/app.js" +} diff --git a/nova/package.json b/nova/package.json new file mode 100755 index 00000000..63ff7a18 --- /dev/null +++ b/nova/package.json @@ -0,0 +1,63 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "watch-poll": "npm run watch -- --watch-poll", + "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", + "prod": "npm run production", + "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", + "test": "jest", + "watch:test": "jest --watch" + }, + "devDependencies": { + "@vue/test-utils": "^1.0.0-beta.16", + "axios": "^0.21.1", + "babel-helper-vue-jsx-merge-props": "^2.0.3", + "babel-jest": "^23.0.1", + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "babel-plugin-transform-vue-jsx": "^3.7.0", + "babel-preset-env": "^1.6.1", + "cross-env": "^5.0.0", + "flush-promises": "^1.0.0", + "jest": "^23.0.1", + "jest-mock-axios": "^2.1.11", + "jest-serializer-vue": "^2.0.0", + "laravel-mix": "^1.0", + "lodash": "^4.17.0", + "tailwindcss": "^0.6.0", + "vue": "^2.5.0", + "vue-jest": "^2.6.0", + "vue-router": "^3.0.1", + "vue-server-renderer": "^2.5.16" + }, + "dependencies": { + "autosize": "^4.0.2", + "chartist": "^0.11.0", + "chartist-plugin-tooltips": "^0.0.17", + "codemirror": "^5.36.0", + "flatpickr": "4.6.7", + "form-backend-validation": "^2.3.3", + "inflector-js": "^1.0.1", + "laravel-nova": "^1.11.1", + "laravel-vapor": "^0.4.0", + "markdown-it": "^8.4.1", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "mousetrap": "^1.6.3", + "numbro": "^2.1.2", + "places.js": "^1.7.3", + "popper.js": "^1.14.3", + "portal-vue": "^2.1.6", + "slugify": "^1.4.5", + "trix": "^1.0.0", + "v-tooltip": "^2.0.2", + "vue-async-computed": "^3.3.1", + "vue-clickaway": "^2.2.2", + "vue-meta": "^2.4.0", + "vue-toasted": "^1.1.24", + "vuex": "^3.1.1" + } +} diff --git a/nova/phpunit.dusk.xml.dist b/nova/phpunit.dusk.xml.dist new file mode 100755 index 00000000..7bbe651e --- /dev/null +++ b/nova/phpunit.dusk.xml.dist @@ -0,0 +1,22 @@ + + + + + ./tests/Browser + + + + + ./src + + + + + + + + diff --git a/nova/public/app.css b/nova/public/app.css new file mode 100755 index 00000000..6e4dbd76 --- /dev/null +++ b/nova/public/app.css @@ -0,0 +1 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box;font-family:sans-serif}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,p,pre{margin:0}button{background:transparent;padding:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset{margin:0;padding:0}ol,ul{margin:0}*,:after,:before{border:0 solid var(--black)}img{border-style:solid}[type=button],[type=reset],[type=submit],button{border-radius:0}textarea{resize:vertical}img{max-width:100%;height:auto}button,input,optgroup,select,textarea{font-family:inherit}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:inherit;opacity:.5}input::-moz-placeholder,textarea::-moz-placeholder{color:inherit;opacity:.5}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:inherit;opacity:.5}input::placeholder,textarea::placeholder{color:inherit;opacity:.5}[role=button],button{cursor:pointer}table{border-collapse:collapse}.container{width:100%}:root{--transparent:transparent;--black:#22292f;--white:#fff;--white-50:hsla(0,0%,100%,.5);--danger:#e74444;--success:#21b978;--warning:#ffeb3b;--info:#03a9f4;--primary:#4099de;--primary-dark:#297ec0;--primary-70:rgba(64,153,222,.7);--primary-50:rgba(64,153,222,.5);--primary-30:rgba(64,153,222,.3);--primary-10:rgba(64,153,222,.1);--logo:#252d37;--sidebar-icon:#b3c1d1;--20:#f6fbff;--30:#f4f7fa;--40:#eef1f4;--50:#e3e7eb;--60:#bacad6;--70:#b3b9bf;--80:#7c858e;--90:#3c4b5f;--90-half:rgba(40,54,61,.5);--warning-light:#fff382;--warning-dark:#684f1d;--success-light:#c6f6d5;--success-dark:#38a169;--danger-light:#fed7d7;--danger-dark:#e53e3e;--info-light:#bee3f8;--info-dark:#3182ce}[v-cloak]{display:none!important}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:searchfield-cancel-button}.search-icon-center{top:8px}.content{min-width:66.25rem;width:100%;max-width:calc(100vw - 13.75rem)}.bg-grad-sidebar{background-image:-webkit-gradient(linear,left bottom,left top,from(#7e8ea1),to(#3c4655));background-image:linear-gradient(0deg,#7e8ea1,#3c4655);background-attachment:fixed}.pt-header{padding-top:5.75rem}.p-sidebar{padding-left:13.75rem}.card{background-color:var(--white);-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05);border-radius:.5rem}.card-panel{height:150px}.card-refresh{padding:.25rem;margin-left:auto;color:var(--80);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.card-refresh:hover{color:var(--primary)}.table{border-collapse:collapse;border-spacing:0}.table tr:hover td{background-color:var(--20)}.table th{background-color:var(--30);font-weight:800;font-size:.75rem;color:var(--80);text-transform:uppercase;border-bottom-width:2px;border-color:var(--50);padding:.75rem;letter-spacing:.05em}.table td,.table th{vertical-align:middle}.table td{font-weight:300;color:var(--90);border-top-width:1px;border-bottom-width:1px;border-color:var(--50);padding-left:.75rem;padding-right:.75rem;min-width:56px;height:3.8125rem}.td-fit,.th-fit{width:1%;white-space:nowrap}.table.table-grid td,.table.table-grid th{border-right-width:1px;border-color:var(--50)}.form-control,.table.table-tight td{height:2.25rem}.form-control{line-height:normal}.form-control-sm{height:2rem}.form-search{color:var(--80)}.form-global-search,.form-search{height:2.25rem;line-height:normal;border-color:var(--white);padding-left:.75rem;padding-right:.75rem;border-radius:9999px}.form-global-search{color:var(--80);background-color:var(--40);border-color:var(--40);color:var(--90)}.form-global-search:active,.form-global-search:focus,.form-search:active,.form-search:focus{background-color:var(--white);outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.form-input{background-color:var(--white);border-width:1px;border-color:var(--white);padding-left:.75rem;padding-right:.75rem;color:var(--80);border-radius:.5rem}.form-control-focus{outline:0!important;-webkit-box-shadow:0 0 0 3px var(--primary-50)!important;box-shadow:0 0 0 3px var(--primary-50)!important}.form-input:active,.form-input:focus{background-color:var(--white);border-radius:.5rem;outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.form-control-lg{height:3rem}.form-input-bordered{border-width:1px;border-color:var(--60);border-radius:.5rem}.form-input-bordered,.form-input-row{background-color:var(--white);padding-left:.75rem;padding-right:.75rem;color:var(--80)}.form-input-row{border:none!important;border-radius:0!important;-webkit-box-shadow:none!important;box-shadow:none!important;height:3rem}.form-select{background-color:var(--white);border-width:1px;border-color:var(--60);padding-left:.75rem;padding-right:2rem;border-radius:.5rem;color:var(--80);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-size:10px 6px;background-position:center right .75rem;background-image:url('data:image/svg+xml;utf8,')}.form-input:active:disabled,.form-input:focus:disabled,.form-select:active:disabled,.form-select:focus:disabled,input.form-input:-moz-read-only,textarea.form-input:-moz-read-only{box-shadow:none}.form-input:active:disabled,.form-input:focus:disabled,.form-select:active:disabled,.form-select:focus:disabled,input.form-input:read-only,textarea.form-input:read-only{-webkit-box-shadow:none;box-shadow:none}.form-input.disabled,.form-input:disabled,.form-select:disabled,input.form-input:-moz-read-only,textarea.form-input:-moz-read-only{background-color:var(--30);cursor:not-allowed}.form-input.disabled,.form-input:disabled,.form-select:disabled,input.form-input:read-only,textarea.form-input:read-only{background-color:var(--30);cursor:not-allowed}.\!bg-white{background-color:var(--white)!important}.form-select:focus{background-color:var(--white);outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.form-combo{background-color:var(--white);border-width:1px;border-color:var(--60);border-radius:.5rem;color:var(--80);overflow:hidden}.form-combo-select{background-color:var(--white);background-color:var(--transparent);padding-right:1rem;outline:none;background-repeat:no-repeat;background-size:10px 6px;background-position:center right .75rem;background-image:url('data:image/svg+xml;utf8,')}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-negative:0;flex-shrink:0;height:1.25rem;width:1.25rem;color:var(--primary);background-color:var(--white);border-width:1px;border-color:var(--60);border-radius:.25rem;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box}.checkbox:active,.checkbox:focus{outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.checkbox:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4a1 1 0 0 0-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}.form-file{position:relative}.form-file-input{opacity:0;overflow:hidden;position:absolute;width:.1px;height:.1px;z-index:-1}.form-file-input+.form-file-btn:hover,.form-file-input:focus+.form-file-btn{background-color:var(--primary-dark);cursor:pointer}.form-file-input:focus+.form-file-btn{outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.btn{display:inline-block;text-decoration:none;font-weight:800}.btn-default,.btn-text-shadow{text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-default{height:2.25rem;padding-left:1.5rem;padding-right:1.5rem;line-height:2.25rem;border-radius:.5rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05)}.btn-disabled,.btn[disabled]{cursor:not-allowed;opacity:.5}.btn-disabled:focus{outline:none}.btn-default:not([disabled]):not(.btn-disabled):active,.btn-default:not([disabled]):not(.btn-disabled):focus{outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.btn-sm{height:1.875rem}.btn-xs{height:1.5rem;padding-left:.75rem;padding-right:.75rem;font-size:.75rem;border-radius:.25rem;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05);text-shadow:0 1px 2px rgba(0,0,0,.2)}.btn-lg{height:3rem;line-height:3rem;font-size:1.125rem}.btn-link{background-color:var(--transparent);padding:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none}.btn-link:active,.btn-link:focus{outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:not([disabled]):not(.btn-disabled):hover{background-color:var(--primary-dark)}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-outline{border-width:1px;border-width:2px;border-color:var(--primary-30);border-radius:.25rem;padding-left:.75rem;padding-right:.75rem;color:var(--primary);font-weight:600}.btn-outline:hover{border-color:var(--primary)}.btn-icon{padding-left:1rem;padding-right:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.btn-white{background-color:var(--white)}.btn-icon:hover{opacity:.75}.no-text-shadow{text-shadow:none}.default-link:active,.default-link:focus{outline:0;-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.inline-link{color:var(--primary);font-size:.875rem;font-weight:800;text-decoration:none}.inline-separator{color:var(--80);padding-left:.25rem;padding-right:.25rem}.dropdown-alt .dropdown-trigger{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:2.25rem;padding-left:.75rem;padding-right:.75rem;background-color:var(--40);border-radius:.25rem}.dropdown-trigger-active .dropdown-trigger{background-color:var(--50)}.router-link-active{font-weight:800!important}.sidebar-icon{margin-right:.75rem;width:1.25rem;height:1.25rem}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .15s;transition:opacity .15s}.fade-enter,.fade-leave-to{opacity:0}.default-hover:focus,.default-hover:hover{opacity:.5}.default-active:active{opacity:.8}.dim:active,.dim:hover{opacity:.5}.dim:active{opacity:.8}.reveal .reveal-target{opacity:0}.reveal:active .reveal-target,.reveal:hover .reveal-target{opacity:1}.select-box{border-radius:.25rem;background-size:10px 6px;background-position:center right .75rem}.select-box,.select-box-sm{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%2335393C' d='M8.293.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4A1 1 0 0 1 1.707.293L5 3.586 8.293.293z'/%3E%3C/svg%3E");background-repeat:no-repeat}.select-box-sm{border-radius:.125rem;background-size:8px 5px;background-position:center right .55rem}.rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.remove-bottom-border{border-bottom:none}.remove-last-margin-bottom :last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:600;color:var(--90);margin-bottom:20px}.markdown h1{font-size:1.5rem;color:var(--80)}.markdown h2{font-size:1.25rem;font-weight:400}.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-size:1.125rem}.markdown p{font-size:1rem;color:var(--90);line-height:1.5;margin-bottom:1.5rem}.markdown blockquote{background-color:#f5f5f5;padding:5px 15px;border-radius:4px;margin-top:10px;margin-bottom:1rem}.markdown blockquote>p{font-size:1rem;margin-top:10px;margin-bottom:1rem}.markdown blockquote p code{background-color:#e5e5e5}.markdown ol,.markdown ul{margin:20px 0}.markdown ul{list-style:disc inside}.markdown ol{list-style:decimal inside}.markdown li{font-size:1rem;line-height:1.7;color:#666}.markdown a{color:var(--primary)}.markdown table{width:100%;margin-bottom:1.5rem}.markdown table thead th{text-align:left;font-size:1rem;border-bottom-width:1px;border-color:var(--50);padding-top:.25rem;padding-bottom:.25rem}.markdown table tbody td{text-align:left;font-size:1rem;border-bottom-width:1px;border-color:var(--50);padding-top:.5rem;padding-bottom:.5rem}.markdown pre{margin-top:20px;margin-bottom:20px;overflow:auto;border:1px solid rgba(0,0,0,.05);border-radius:4px;padding:1rem}.markdown pre>code{background-color:transparent;color:#555;line-height:1.5;word-break:normal;word-spacing:normal;white-space:pre;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;direction:ltr;-moz-tab-size:4;-o-tab-size:4;tab-size:4;padding:0 1rem}.markdown code,.markdown pre>code{font-family:Menlo,monospace,fixed;font-size:14px}.markdown code{background-color:rgba(0,0,0,.05);padding:.3rem .5rem;border-radius:3px}.markdown-preview{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important;color:var(--90)!important;font-size:.875rem!important}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;margin-bottom:.75rem}.markdown-preview p{margin-bottom:1rem;line-height:1.5}.markdown-preview blockquote{margin-bottom:1rem}.markdown-preview blockquote>p{margin-top:10px;margin-bottom:1rem}.markdown-preview ol,.markdown-preview ul{margin:20px 0}.markdown-preview ul{list-style:disc inside}.markdown-preview ol{list-style:decimal inside}.markdown-preview pre{margin-top:20px;margin-bottom:20px}.chartist-tooltip{min-width:0!important;white-space:nowrap;padding:.2em 1em!important;background:var(--white)!important;color:var(--primary)!important;border-radius:.25rem!important;border-width:1px!important;border-color:var(--60)!important;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05)!important;box-shadow:0 2px 4px 0 rgba(0,0,0,.05)!important;font-family:Nunito,system-ui,BlinkMacSystemFont,-apple-system,sans-serif!important}.chartist-tooltip:before{display:none;border-top-color:var(--white)!important}.vertical-center{position:absolute;top:50%;-webkit-transform:perspective(1px) translateY(-50%);transform:perspective(1px) translateY(-50%)}.modal .ap-dropdown-menu{position:relative!important}.action .w-1\/5{-ms-flex-negative:0;flex-shrink:0}.action .w-1\/2{width:100%}.toasted-container.top-center{top:30px!important}.nova,.toasted.default{color:var(--white);padding-top:.5rem;padding-bottom:.5rem;border-radius:.5rem;-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.toasted.default{background-color:var(--primary)}.toasted.success{background-color:var(--success)}.toasted.error,.toasted.success{color:var(--white);padding-top:.5rem;padding-bottom:.5rem;border-radius:.5rem;-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.toasted.error{background-color:var(--danger)}.toasted.info{background-color:var(--info);color:var(--white)}.toasted.info,.toasted.warning{padding-top:.5rem;padding-bottom:.5rem;border-radius:.5rem;-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.toasted.warning{background-color:var(--warning-light);color:var(--warning-dark)}.nova-action{color:var(--white);padding-top:0;padding-bottom:0}.toasted .action{color:var(--white)!important;padding-top:0!important;padding-bottom:0!important}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}.spin{-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.text-error-title{font-size:9rem}.text-error-subtitle{font-size:2.25rem}.text-error-message{font-size:1.25rem;color:#56677b}.illustration{margin-right:7.5rem}.help-text{font-size:.75rem;line-height:1.5;color:var(--80);font-style:italic}.help-text a{color:var(--primary);text-decoration:none}.ct-series-a .ct-area,.ct-series-a .ct-slice-donut-solid,.ct-series-a .ct-slice-pie{fill:#f5573b!important}.ct-series-b .ct-area,.ct-series-b .ct-slice-donut-solid,.ct-series-b .ct-slice-pie{fill:#f99037!important}.ct-series-c .ct-area,.ct-series-c .ct-slice-donut-solid,.ct-series-c .ct-slice-pie{fill:#f2cb22!important}.ct-series-d .ct-area,.ct-series-d .ct-slice-donut-solid,.ct-series-d .ct-slice-pie{fill:#8fc15d!important}.ct-series-e .ct-area,.ct-series-e .ct-slice-donut-solid,.ct-series-e .ct-slice-pie{fill:#098f56!important}.ct-series-f .ct-area,.ct-series-f .ct-slice-donut-solid,.ct-series-f .ct-slice-pie{fill:#47c1bf!important}.ct-series-g .ct-area,.ct-series-g .ct-slice-donut-solid,.ct-series-g .ct-slice-pie{fill:#1693eb!important}.ct-series-h .ct-area,.ct-series-h .ct-slice-donut-solid,.ct-series-h .ct-slice-pie{fill:#6474d7!important}.ct-series-i .ct-area,.ct-series-i .ct-slice-donut-solid,.ct-series-i .ct-slice-pie{fill:#9c6ade!important}.ct-series-j .ct-area,.ct-series-j .ct-slice-donut-solid,.ct-series-j .ct-slice-pie{fill:#e471de!important}.full{top:20%}.half{top:60%}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point{stroke:var(--primary-70)!important;stroke-width:2px}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:var(--primary-50)!important}.ct-point{stroke:var(--primary)!important;stroke-width:6px!important}trix-editor{border-radius:.5rem}.disabled trix-editor,.disabled trix-toolbar{pointer-events:none}.disabled trix-editor{background-color:var(--30)}.disabled trix-toolbar{display:none!important}trix-editor:empty:not(:focus):before{color:var(--70)}trix-editor.disabled{pointer-events:none}.bg-clip{background-clip:border-box}.cursor-text{cursor:text}.key-value-items:last-child{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem;background-clip:border-box;border-bottom-width:0}.key-value-items .key-value-item:last-child>.key-value-fields{border-bottom:none}.tooltip{background-color:var(--white);padding:.5rem .75rem;border-radius:.25rem;border-width:1px;border-color:var(--50);-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05);font-size:.875rem;line-height:1.5;display:block!important;z-index:88888}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;-webkit-transition:opacity .15s,visibility .15s;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;-webkit-transition:opacity .15s;transition:opacity .15s}.flatpickr-calendar{z-index:99999}.CodeMirror{min-height:50px;font:14px/1.5 Menlo,Consolas,Monaco,Andale Mono,monospace;-webkit-box-sizing:border-box;box-sizing:border-box;margin:auto;position:relative;z-index:0}.CodeMirror-wrap{padding:.5rem 0}.list-reset{list-style:none;padding:0}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bg-fixed{background-attachment:fixed}.bg-local{background-attachment:local}.bg-scroll{background-attachment:scroll}.bg-20{background-color:var(--20)}.bg-30{background-color:var(--30)}.bg-40{background-color:var(--40)}.bg-50{background-color:var(--50)}.bg-60{background-color:var(--60)}.bg-70{background-color:var(--70)}.bg-80{background-color:var(--80)}.bg-90{background-color:var(--90)}.bg-black{background-color:var(--black)}.bg-transparent{background-color:var(--transparent)}.bg-white{background-color:var(--white)}.bg-white-50\%{background-color:var(--white-50)}.bg-primary{background-color:var(--primary)}.bg-primary-dark{background-color:var(--primary-dark)}.bg-primary-70\%{background-color:var(--primary-70)}.bg-primary-50\%{background-color:var(--primary-50)}.bg-primary-30\%{background-color:var(--primary-30)}.bg-primary-10\%{background-color:var(--primary-10)}.bg-sidebar-icon{background-color:var(--sidebar-icon)}.bg-logo{background-color:var(--logo)}.bg-info{background-color:var(--info)}.bg-danger{background-color:var(--danger)}.bg-warning{background-color:var(--warning)}.bg-success{background-color:var(--success)}.bg-90-half{background-color:var(--90-half)}.bg-warning-light{background-color:var(--warning-light)}.bg-warning-dark{background-color:var(--warning-dark)}.bg-success-light{background-color:var(--success-light)}.bg-success-dark{background-color:var(--success-dark)}.bg-danger-light{background-color:var(--danger-light)}.bg-danger-dark{background-color:var(--danger-dark)}.bg-info-light{background-color:var(--info-light)}.bg-info-dark{background-color:var(--info-dark)}.hover\:bg-20:hover{background-color:var(--20)}.hover\:bg-30:hover{background-color:var(--30)}.hover\:bg-40:hover{background-color:var(--40)}.hover\:bg-50:hover{background-color:var(--50)}.hover\:bg-60:hover{background-color:var(--60)}.hover\:bg-70:hover{background-color:var(--70)}.hover\:bg-80:hover{background-color:var(--80)}.hover\:bg-90:hover{background-color:var(--90)}.hover\:bg-black:hover{background-color:var(--black)}.hover\:bg-transparent:hover{background-color:var(--transparent)}.hover\:bg-white:hover{background-color:var(--white)}.hover\:bg-white-50\%:hover{background-color:var(--white-50)}.hover\:bg-primary:hover{background-color:var(--primary)}.hover\:bg-primary-dark:hover{background-color:var(--primary-dark)}.hover\:bg-primary-70\%:hover{background-color:var(--primary-70)}.hover\:bg-primary-50\%:hover{background-color:var(--primary-50)}.hover\:bg-primary-30\%:hover{background-color:var(--primary-30)}.hover\:bg-primary-10\%:hover{background-color:var(--primary-10)}.hover\:bg-sidebar-icon:hover{background-color:var(--sidebar-icon)}.hover\:bg-logo:hover{background-color:var(--logo)}.hover\:bg-info:hover{background-color:var(--info)}.hover\:bg-danger:hover{background-color:var(--danger)}.hover\:bg-warning:hover{background-color:var(--warning)}.hover\:bg-success:hover{background-color:var(--success)}.hover\:bg-90-half:hover{background-color:var(--90-half)}.hover\:bg-warning-light:hover{background-color:var(--warning-light)}.hover\:bg-warning-dark:hover{background-color:var(--warning-dark)}.hover\:bg-success-light:hover{background-color:var(--success-light)}.hover\:bg-success-dark:hover{background-color:var(--success-dark)}.hover\:bg-danger-light:hover{background-color:var(--danger-light)}.hover\:bg-danger-dark:hover{background-color:var(--danger-dark)}.hover\:bg-info-light:hover{background-color:var(--info-light)}.hover\:bg-info-dark:hover{background-color:var(--info-dark)}.focus\:bg-20:focus{background-color:var(--20)}.focus\:bg-30:focus{background-color:var(--30)}.focus\:bg-40:focus{background-color:var(--40)}.focus\:bg-50:focus{background-color:var(--50)}.focus\:bg-60:focus{background-color:var(--60)}.focus\:bg-70:focus{background-color:var(--70)}.focus\:bg-80:focus{background-color:var(--80)}.focus\:bg-90:focus{background-color:var(--90)}.focus\:bg-black:focus{background-color:var(--black)}.focus\:bg-transparent:focus{background-color:var(--transparent)}.focus\:bg-white:focus{background-color:var(--white)}.focus\:bg-white-50\%:focus{background-color:var(--white-50)}.focus\:bg-primary:focus{background-color:var(--primary)}.focus\:bg-primary-dark:focus{background-color:var(--primary-dark)}.focus\:bg-primary-70\%:focus{background-color:var(--primary-70)}.focus\:bg-primary-50\%:focus{background-color:var(--primary-50)}.focus\:bg-primary-30\%:focus{background-color:var(--primary-30)}.focus\:bg-primary-10\%:focus{background-color:var(--primary-10)}.focus\:bg-sidebar-icon:focus{background-color:var(--sidebar-icon)}.focus\:bg-logo:focus{background-color:var(--logo)}.focus\:bg-info:focus{background-color:var(--info)}.focus\:bg-danger:focus{background-color:var(--danger)}.focus\:bg-warning:focus{background-color:var(--warning)}.focus\:bg-success:focus{background-color:var(--success)}.focus\:bg-90-half:focus{background-color:var(--90-half)}.focus\:bg-warning-light:focus{background-color:var(--warning-light)}.focus\:bg-warning-dark:focus{background-color:var(--warning-dark)}.focus\:bg-success-light:focus{background-color:var(--success-light)}.focus\:bg-success-dark:focus{background-color:var(--success-dark)}.focus\:bg-danger-light:focus{background-color:var(--danger-light)}.focus\:bg-danger-dark:focus{background-color:var(--danger-dark)}.focus\:bg-info-light:focus{background-color:var(--info-light)}.focus\:bg-info-dark:focus{background-color:var(--info-dark)}.active\:bg-20:active{background-color:var(--20)}.active\:bg-30:active{background-color:var(--30)}.active\:bg-40:active{background-color:var(--40)}.active\:bg-50:active{background-color:var(--50)}.active\:bg-60:active{background-color:var(--60)}.active\:bg-70:active{background-color:var(--70)}.active\:bg-80:active{background-color:var(--80)}.active\:bg-90:active{background-color:var(--90)}.active\:bg-black:active{background-color:var(--black)}.active\:bg-transparent:active{background-color:var(--transparent)}.active\:bg-white:active{background-color:var(--white)}.active\:bg-white-50\%:active{background-color:var(--white-50)}.active\:bg-primary:active{background-color:var(--primary)}.active\:bg-primary-dark:active{background-color:var(--primary-dark)}.active\:bg-primary-70\%:active{background-color:var(--primary-70)}.active\:bg-primary-50\%:active{background-color:var(--primary-50)}.active\:bg-primary-30\%:active{background-color:var(--primary-30)}.active\:bg-primary-10\%:active{background-color:var(--primary-10)}.active\:bg-sidebar-icon:active{background-color:var(--sidebar-icon)}.active\:bg-logo:active{background-color:var(--logo)}.active\:bg-info:active{background-color:var(--info)}.active\:bg-danger:active{background-color:var(--danger)}.active\:bg-warning:active{background-color:var(--warning)}.active\:bg-success:active{background-color:var(--success)}.active\:bg-90-half:active{background-color:var(--90-half)}.active\:bg-warning-light:active{background-color:var(--warning-light)}.active\:bg-warning-dark:active{background-color:var(--warning-dark)}.active\:bg-success-light:active{background-color:var(--success-light)}.active\:bg-success-dark:active{background-color:var(--success-dark)}.active\:bg-danger-light:active{background-color:var(--danger-light)}.active\:bg-danger-dark:active{background-color:var(--danger-dark)}.active\:bg-info-light:active{background-color:var(--info-light)}.active\:bg-info-dark:active{background-color:var(--info-dark)}.bg-bottom{background-position:bottom}.bg-center{background-position:50%}.bg-left{background-position:0}.bg-left-bottom{background-position:0 100%}.bg-left-top{background-position:0 0}.bg-right{background-position:100%}.bg-right-bottom{background-position:100% 100%}.bg-right-top{background-position:100% 0}.bg-top{background-position:top}.bg-repeat{background-repeat:repeat}.bg-no-repeat{background-repeat:no-repeat}.bg-repeat-x{background-repeat:repeat-x}.bg-repeat-y{background-repeat:repeat-y}.bg-auto{background-size:auto}.bg-cover{background-size:cover}.bg-contain{background-size:contain}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-20{border-color:var(--20)}.border-30{border-color:var(--30)}.border-40{border-color:var(--40)}.border-50{border-color:var(--50)}.border-60{border-color:var(--60)}.border-70{border-color:var(--70)}.border-80{border-color:var(--80)}.border-90{border-color:var(--90)}.border-black{border-color:var(--black)}.border-transparent{border-color:var(--transparent)}.border-white{border-color:var(--white)}.border-white-50\%{border-color:var(--white-50)}.border-primary{border-color:var(--primary)}.border-primary-dark{border-color:var(--primary-dark)}.border-primary-70\%{border-color:var(--primary-70)}.border-primary-50\%{border-color:var(--primary-50)}.border-primary-30\%{border-color:var(--primary-30)}.border-primary-10\%{border-color:var(--primary-10)}.border-sidebar-icon{border-color:var(--sidebar-icon)}.border-logo{border-color:var(--logo)}.border-info{border-color:var(--info)}.border-danger{border-color:var(--danger)}.border-warning{border-color:var(--warning)}.border-success{border-color:var(--success)}.border-90-half{border-color:var(--90-half)}.border-warning-light{border-color:var(--warning-light)}.border-warning-dark{border-color:var(--warning-dark)}.border-success-light{border-color:var(--success-light)}.border-success-dark{border-color:var(--success-dark)}.border-danger-light{border-color:var(--danger-light)}.border-danger-dark{border-color:var(--danger-dark)}.border-info-light{border-color:var(--info-light)}.border-info-dark{border-color:var(--info-dark)}.hover\:border-20:hover{border-color:var(--20)}.hover\:border-30:hover{border-color:var(--30)}.hover\:border-40:hover{border-color:var(--40)}.hover\:border-50:hover{border-color:var(--50)}.hover\:border-60:hover{border-color:var(--60)}.hover\:border-70:hover{border-color:var(--70)}.hover\:border-80:hover{border-color:var(--80)}.hover\:border-90:hover{border-color:var(--90)}.hover\:border-black:hover{border-color:var(--black)}.hover\:border-transparent:hover{border-color:var(--transparent)}.hover\:border-white:hover{border-color:var(--white)}.hover\:border-white-50\%:hover{border-color:var(--white-50)}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:border-primary-dark:hover{border-color:var(--primary-dark)}.hover\:border-primary-70\%:hover{border-color:var(--primary-70)}.hover\:border-primary-50\%:hover{border-color:var(--primary-50)}.hover\:border-primary-30\%:hover{border-color:var(--primary-30)}.hover\:border-primary-10\%:hover{border-color:var(--primary-10)}.hover\:border-sidebar-icon:hover{border-color:var(--sidebar-icon)}.hover\:border-logo:hover{border-color:var(--logo)}.hover\:border-info:hover{border-color:var(--info)}.hover\:border-danger:hover{border-color:var(--danger)}.hover\:border-warning:hover{border-color:var(--warning)}.hover\:border-success:hover{border-color:var(--success)}.hover\:border-90-half:hover{border-color:var(--90-half)}.hover\:border-warning-light:hover{border-color:var(--warning-light)}.hover\:border-warning-dark:hover{border-color:var(--warning-dark)}.hover\:border-success-light:hover{border-color:var(--success-light)}.hover\:border-success-dark:hover{border-color:var(--success-dark)}.hover\:border-danger-light:hover{border-color:var(--danger-light)}.hover\:border-danger-dark:hover{border-color:var(--danger-dark)}.hover\:border-info-light:hover{border-color:var(--info-light)}.hover\:border-info-dark:hover{border-color:var(--info-dark)}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-t-sm{border-top-left-radius:.125rem}.rounded-r-sm,.rounded-t-sm{border-top-right-radius:.125rem}.rounded-b-sm,.rounded-r-sm{border-bottom-right-radius:.125rem}.rounded-b-sm,.rounded-l-sm{border-bottom-left-radius:.125rem}.rounded-l-sm{border-top-left-radius:.125rem}.rounded-t{border-top-left-radius:.25rem}.rounded-r,.rounded-t{border-top-right-radius:.25rem}.rounded-b,.rounded-r{border-bottom-right-radius:.25rem}.rounded-b,.rounded-l{border-bottom-left-radius:.25rem}.rounded-l{border-top-left-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem}.rounded-r-lg,.rounded-t-lg{border-top-right-radius:.5rem}.rounded-b-lg,.rounded-r-lg{border-bottom-right-radius:.5rem}.rounded-b-lg,.rounded-l-lg{border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem}.rounded-t-full{border-top-left-radius:9999px;border-top-right-radius:9999px}.rounded-r-full{border-top-right-radius:9999px}.rounded-b-full,.rounded-r-full{border-bottom-right-radius:9999px}.rounded-b-full,.rounded-l-full{border-bottom-left-radius:9999px}.rounded-l-full{border-top-left-radius:9999px}.rounded-tl-none{border-top-left-radius:0}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-bl-none{border-bottom-left-radius:0}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.rounded-tl-lg{border-top-left-radius:.5rem}.rounded-tr-lg{border-top-right-radius:.5rem}.rounded-br-lg{border-bottom-right-radius:.5rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.rounded-tl-full{border-top-left-radius:9999px}.rounded-tr-full{border-top-right-radius:9999px}.rounded-br-full{border-bottom-right-radius:9999px}.rounded-bl-full{border-bottom-left-radius:9999px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-b-0{border-bottom-width:0}.border-l-0{border-left-width:0}.border-t-2{border-top-width:2px}.border-r-2{border-right-width:2px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-t-4{border-top-width:4px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-r-8{border-right-width:8px}.border-b-8{border-bottom-width:8px}.border-l-8{border-left-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.table{display:table}.table-row{display:table-row}.table-cell{display:table-cell}.hidden{display:none}.flex{display:-webkit-box;display:-ms-flexbox;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.flex-row{-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-row,.flex-row-reverse{-webkit-box-orient:horizontal}.flex-row-reverse{-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-col-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.flex-no-wrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.self-auto{-ms-flex-item-align:auto;align-self:auto}.self-start{-ms-flex-item-align:start;align-self:flex-start}.self-end{-ms-flex-item-align:end;align-self:flex-end}.self-center{-ms-flex-item-align:center;align-self:center}.self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.justify-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;justify-content:space-around}.content-center{-ms-flex-line-pack:center;align-content:center}.content-start{-ms-flex-line-pack:start;align-content:flex-start}.content-end{-ms-flex-line-pack:end;align-content:flex-end}.content-between{-ms-flex-line-pack:justify;align-content:space-between}.content-around{-ms-flex-line-pack:distribute;align-content:space-around}.flex-1{-webkit-box-flex:1;-ms-flex:1;flex:1}.flex-auto{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.flex-initial{-webkit-box-flex:initial;-ms-flex:initial;flex:initial}.flex-none{-webkit-box-flex:0;-ms-flex:none;flex:none}.flex-grow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-shrink{-ms-flex-negative:1;flex-shrink:1}.flex-no-grow{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-no-shrink{-ms-flex-negative:0;flex-shrink:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.clearfix:after{content:"";display:table;clear:both}.font-sans{font-family:Nunito,system-ui,BlinkMacSystemFont,-apple-system,sans-serif}.font-mono{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-hairline,.font-thin{font-weight:200}.font-light{font-weight:300}.font-medium,.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-black,.font-bold,.font-extrabold{font-weight:800}.hover\:font-hairline:hover,.hover\:font-thin:hover{font-weight:200}.hover\:font-light:hover{font-weight:300}.hover\:font-medium:hover,.hover\:font-normal:hover{font-weight:400}.hover\:font-semibold:hover{font-weight:600}.hover\:font-black:hover,.hover\:font-bold:hover,.hover\:font-extrabold:hover{font-weight:800}.h-2{height:.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-12{height:3rem}.h-auto{height:auto}.h-\!auto{height:auto!important}.h-px{height:1px}.h-editor-icon{height:.95rem}.h-\!8{height:2rem!important}.h-dropdown-trigger{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.h-header{height:3.75rem}.h-btn-sm{height:1.875rem}.leading-9{line-height:2.25rem}.leading-12{line-height:3rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-loose{line-height:2}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.m-11{margin:2.75rem}.m-auto{margin:auto}.m-px{margin:1px}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-8{margin-left:2rem;margin-right:2rem}.my-11{margin-top:2.75rem;margin-bottom:2.75rem}.mx-11{margin-left:2.75rem;margin-right:2.75rem}.my-auto{margin-top:auto;margin-bottom:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-px{margin-top:1px;margin-bottom:1px}.mx-px{margin-left:1px;margin-right:1px}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mr-8{margin-right:2rem}.mb-8{margin-bottom:2rem}.ml-8{margin-left:2rem}.mt-11{margin-top:2.75rem}.mr-11{margin-right:2.75rem}.mb-11{margin-bottom:2.75rem}.ml-11{margin-left:2.75rem}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mt-px{margin-top:1px}.mr-px{margin-right:1px}.mb-px{margin-bottom:1px}.ml-px{margin-left:1px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.max-h-search{max-height:24.5rem}.max-h-90px{max-height:5.625rem}.max-w-8{max-width:2rem}.max-w-login{max-width:25rem}.max-w-xs{max-width:20rem}.max-w-sm{max-width:30rem}.max-w-md{max-width:40rem}.max-w-lg{max-width:50rem}.max-w-xl{max-width:60rem}.max-w-2xl{max-width:70rem}.max-w-3xl{max-width:80rem}.max-w-4xl{max-width:90rem}.max-w-5xl{max-width:100rem}.max-w-full{max-width:100%}.max-w-main{max-width:58.75rem}.min-h-0{min-height:0}.min-h-input{min-height:3rem}.min-h-textarea{min-height:4.875rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-90px{min-height:5.625rem}.min-w-0{min-width:0}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-24{min-width:6rem}.min-w-site{min-width:80rem}.min-w-full{min-width:100%}.min-w-table-cell{min-width:56px}.-m-0{margin:0}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-3{margin:-.75rem}.-m-4{margin:-1rem}.-m-6{margin:-1.5rem}.-m-8{margin:-2rem}.-m-px{margin:-1px}.-my-0{margin-top:0;margin-bottom:0}.-mx-0{margin-left:0;margin-right:0}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-2{margin-top:-.5rem;margin-bottom:-.5rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-my-3{margin-top:-.75rem;margin-bottom:-.75rem}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-my-4{margin-top:-1rem;margin-bottom:-1rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-my-6{margin-top:-1.5rem;margin-bottom:-1.5rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.-my-8{margin-top:-2rem;margin-bottom:-2rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-px{margin-top:-1px;margin-bottom:-1px}.-mx-px{margin-left:-1px;margin-right:-1px}.-mt-0{margin-top:0}.-mr-0{margin-right:0}.-mb-0{margin-bottom:0}.-ml-0{margin-left:0}.-mt-1{margin-top:-.25rem}.-mr-1{margin-right:-.25rem}.-mb-1{margin-bottom:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-mr-2{margin-right:-.5rem}.-mb-2{margin-bottom:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.-mr-3{margin-right:-.75rem}.-mb-3{margin-bottom:-.75rem}.-ml-3{margin-left:-.75rem}.-mt-4{margin-top:-1rem}.-mr-4{margin-right:-1rem}.-mb-4{margin-bottom:-1rem}.-ml-4{margin-left:-1rem}.-mt-6{margin-top:-1.5rem}.-mr-6{margin-right:-1.5rem}.-mb-6{margin-bottom:-1.5rem}.-ml-6{margin-left:-1.5rem}.-mt-8{margin-top:-2rem}.-mr-8{margin-right:-2rem}.-mb-8{margin-bottom:-2rem}.-ml-8{margin-left:-2rem}.-mt-px{margin-top:-1px}.-mr-px{margin-right:-1px}.-mb-px{margin-bottom:-1px}.-ml-px{margin-left:-1px}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.focus\:outline-none:focus,.outline-none{outline:0}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-visible{overflow-y:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.scrolling-touch{-webkit-overflow-scrolling:touch}.scrolling-auto{-webkit-overflow-scrolling:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-px{padding:1px}.p-search{padding:2.75rem}.p-view{padding:3.125rem}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-px{padding-top:1px;padding-bottom:1px}.px-px{padding-left:1px;padding-right:1px}.py-search{padding-top:2.75rem;padding-bottom:2.75rem}.px-search{padding-left:2.75rem;padding-right:2.75rem}.py-view{padding-top:3.125rem;padding-bottom:3.125rem}.px-view{padding-left:3.125rem;padding-right:3.125rem}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pb-3{padding-bottom:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pl-6{padding-left:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pb-8{padding-bottom:2rem}.pl-8{padding-left:2rem}.pt-px{padding-top:1px}.pr-px{padding-right:1px}.pb-px{padding-bottom:1px}.pl-px{padding-left:1px}.pt-search{padding-top:2.75rem}.pr-search{padding-right:2.75rem}.pb-search{padding-bottom:2.75rem}.pl-search{padding-left:2.75rem}.pt-view{padding-top:3.125rem}.pr-view{padding-right:3.125rem}.pb-view{padding-bottom:3.125rem}.pl-view{padding-left:3.125rem}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.pin-none{top:auto;right:auto;bottom:auto;left:auto}.pin{right:0;left:0}.pin,.pin-y{top:0;bottom:0}.pin-x{right:0;left:0}.pin-t{top:0}.pin-r{right:0}.pin-b{bottom:0}.pin-l{left:0}.resize-none{resize:none}.resize-y{resize:vertical}.resize-x{resize:horizontal}.resize{resize:both}.shadow{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05)}.shadow-md{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08);box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.shadow-lg{-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.shadow-inner{-webkit-box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.shadow-outline{-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.shadow-none{-webkit-box-shadow:none;box-shadow:none}.hover\:shadow:hover{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05)}.hover\:shadow-md:hover{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08);box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.hover\:shadow-lg:hover{-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.hover\:shadow-inner:hover{-webkit-box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.hover\:shadow-outline:hover{-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.hover\:shadow-none:hover{-webkit-box-shadow:none;box-shadow:none}.focus\:shadow:focus{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05)}.focus\:shadow-md:focus{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08);box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.focus\:shadow-lg:focus{-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.focus\:shadow-inner:focus{-webkit-box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.focus\:shadow-outline:focus{-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.focus\:shadow-none:focus{-webkit-box-shadow:none;box-shadow:none}.active\:shadow:active{-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.05);box-shadow:0 2px 4px 0 rgba(0,0,0,.05)}.active\:shadow-md:active{-webkit-box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08);box-shadow:0 4px 8px 0 rgba(0,0,0,.12),0 2px 4px 0 rgba(0,0,0,.08)}.active\:shadow-lg:active{-webkit-box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 15px 30px 0 rgba(0,0,0,.11),0 5px 15px 0 rgba(0,0,0,.08)}.active\:shadow-inner:active{-webkit-box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06);box-shadow:inset 0 2px 4px 0 rgba(0,0,0,.06)}.active\:shadow-outline:active{-webkit-box-shadow:0 0 0 3px var(--primary-50);box-shadow:0 0 0 3px var(--primary-50)}.active\:shadow-none:active{-webkit-box-shadow:none;box-shadow:none}.fill-20{fill:var(--20)}.fill-30{fill:var(--30)}.fill-40{fill:var(--40)}.fill-50{fill:var(--50)}.fill-60{fill:var(--60)}.fill-70{fill:var(--70)}.fill-80{fill:var(--80)}.fill-90{fill:var(--90)}.fill-current{fill:currentColor}.fill-black{fill:var(--black)}.fill-transparent{fill:var(--transparent)}.fill-white{fill:var(--white)}.fill-white-50\%{fill:var(--white-50)}.fill-primary{fill:var(--primary)}.fill-primary-dark{fill:var(--primary-dark)}.fill-primary-70\%{fill:var(--primary-70)}.fill-primary-50\%{fill:var(--primary-50)}.fill-primary-30\%{fill:var(--primary-30)}.fill-primary-10\%{fill:var(--primary-10)}.fill-sidebar-icon{fill:var(--sidebar-icon)}.fill-logo{fill:var(--logo)}.fill-info{fill:var(--info)}.fill-danger{fill:var(--danger)}.fill-warning{fill:var(--warning)}.fill-success{fill:var(--success)}.fill-90-half{fill:var(--90-half)}.fill-warning-light{fill:var(--warning-light)}.fill-warning-dark{fill:var(--warning-dark)}.fill-success-light{fill:var(--success-light)}.fill-success-dark{fill:var(--success-dark)}.fill-danger-light{fill:var(--danger-light)}.fill-danger-dark{fill:var(--danger-dark)}.fill-info-light{fill:var(--info-light)}.fill-info-dark{fill:var(--info-dark)}.stroke-current{stroke:currentColor}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-20{color:var(--20)}.text-30{color:var(--30)}.text-40{color:var(--40)}.text-50{color:var(--50)}.text-60{color:var(--60)}.text-70{color:var(--70)}.text-80{color:var(--80)}.text-90{color:var(--90)}.text-black{color:var(--black)}.text-transparent{color:var(--transparent)}.text-white{color:var(--white)}.text-white-50\%{color:var(--white-50)}.text-primary{color:var(--primary)}.text-primary-dark{color:var(--primary-dark)}.text-primary-70\%{color:var(--primary-70)}.text-primary-50\%{color:var(--primary-50)}.text-primary-30\%{color:var(--primary-30)}.text-primary-10\%{color:var(--primary-10)}.text-sidebar-icon{color:var(--sidebar-icon)}.text-logo{color:var(--logo)}.text-info{color:var(--info)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-success{color:var(--success)}.text-90-half{color:var(--90-half)}.text-warning-light{color:var(--warning-light)}.text-warning-dark{color:var(--warning-dark)}.text-success-light{color:var(--success-light)}.text-success-dark{color:var(--success-dark)}.text-danger-light{color:var(--danger-light)}.text-danger-dark{color:var(--danger-dark)}.text-info-light{color:var(--info-light)}.text-info-dark{color:var(--info-dark)}.hover\:text-20:hover{color:var(--20)}.hover\:text-30:hover{color:var(--30)}.hover\:text-40:hover{color:var(--40)}.hover\:text-50:hover{color:var(--50)}.hover\:text-60:hover{color:var(--60)}.hover\:text-70:hover{color:var(--70)}.hover\:text-80:hover{color:var(--80)}.hover\:text-90:hover{color:var(--90)}.hover\:text-black:hover{color:var(--black)}.hover\:text-transparent:hover{color:var(--transparent)}.hover\:text-white:hover{color:var(--white)}.hover\:text-white-50\%:hover{color:var(--white-50)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-primary-dark:hover{color:var(--primary-dark)}.hover\:text-primary-70\%:hover{color:var(--primary-70)}.hover\:text-primary-50\%:hover{color:var(--primary-50)}.hover\:text-primary-30\%:hover{color:var(--primary-30)}.hover\:text-primary-10\%:hover{color:var(--primary-10)}.hover\:text-sidebar-icon:hover{color:var(--sidebar-icon)}.hover\:text-logo:hover{color:var(--logo)}.hover\:text-info:hover{color:var(--info)}.hover\:text-danger:hover{color:var(--danger)}.hover\:text-warning:hover{color:var(--warning)}.hover\:text-success:hover{color:var(--success)}.hover\:text-90-half:hover{color:var(--90-half)}.hover\:text-warning-light:hover{color:var(--warning-light)}.hover\:text-warning-dark:hover{color:var(--warning-dark)}.hover\:text-success-light:hover{color:var(--success-light)}.hover\:text-success-dark:hover{color:var(--success-dark)}.hover\:text-danger-light:hover{color:var(--danger-light)}.hover\:text-danger-dark:hover{color:var(--danger-dark)}.hover\:text-info-light:hover{color:var(--info-light)}.hover\:text-info-dark:hover{color:var(--info-dark)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.text-5xl{font-size:3rem}.italic{font-style:italic}.roman{font-style:normal}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.hover\:italic:hover{font-style:italic}.hover\:roman:hover{font-style:normal}.hover\:uppercase:hover{text-transform:uppercase}.hover\:lowercase:hover{text-transform:lowercase}.hover\:capitalize:hover{text-transform:capitalize}.hover\:normal-case:hover{text-transform:none}.hover\:underline:hover{text-decoration:underline}.hover\:line-through:hover{text-decoration:line-through}.hover\:no-underline:hover{text-decoration:none}.hover\:antialiased:hover{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hover\:subpixel-antialiased:hover{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.tracking-tight{letter-spacing:-.05em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.05em}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.visible{visibility:visible}.invisible{visibility:hidden}.whitespace-normal{white-space:normal}.whitespace-no-wrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-wrap:break-word}.break-normal{word-wrap:normal}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-40{width:10rem}.w-48{width:12rem}.w-auto{width:auto}.w-px{width:1px}.w-sidebar{width:13.75rem}.w-editor-icon{width:.95rem}.w-search{width:18.75rem}.w-1\/2{width:50%}.w-1\/3{width:33.33333%}.w-2\/3{width:66.66667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.w-1\/5{width:20%}.w-2\/5{width:40%}.w-3\/5{width:60%}.w-4\/5{width:80%}.w-1\/6{width:16.66667%}.w-5\/6{width:83.33333%}.w-full{width:100%}.w-screen{width:100vw}.w-error{width:65rem}.w-action{width:460px}.w-action-fields{width:767px}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto} \ No newline at end of file diff --git a/nova/public/app.js b/nova/public/app.js new file mode 100755 index 00000000..7504b2ad --- /dev/null +++ b/nova/public/app.js @@ -0,0 +1 @@ +webpackJsonp([0],{"++/z":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","resourceId","field"]}},"+66z":function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},"+7UI":function(e,t,r){var o=r("VU/8")(null,r("bqGJ"),!1,null,null,null);e.exports=o.exports},"+AIP":function(e,t,r){var o=r("VU/8")(r("gjy+"),r("6xWr"),!1,null,null,null);e.exports=o.exports},"+Czf":function(e,t,r){var o=r("VU/8")(r("tLgT"),r("oUjY"),!1,null,null,null);e.exports=o.exports},"+E39":function(e,t,r){e.exports=!r("S82l")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},"+EJi":function(e,t,r){var o=r("VU/8")(r("sh3s"),null,!1,null,null,null);e.exports=o.exports},"+JtG":function(e,t,r){var o=r("VU/8")(r("LHHS"),r("aO+i"),!1,null,null,null);e.exports=o.exports},"+SSY":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.escapeUnicode=function(e){return e.replace(/[^\0-~]/g,function(e){return"\\u"+("000"+e.charCodeAt().toString(16)).slice(-4)})}},"+Y7a":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("jgMU")();t.default={props:["resource","resourceName","resourceId","field"],computed:{excerpt:function(){return o.render(this.field.value||"")}}}},"+ZMJ":function(e,t,r){var o=r("lOnJ");e.exports=function(e,t,r){if(o(e),void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,o){return e.call(t,r,o)};case 3:return function(r,o,n){return e.call(t,r,o,n)}}return function(){return e.apply(t,arguments)}}},"+cmD":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"}},[t("path",{attrs:{d:"M9.26 13a2 2 0 0 1 .01-2.01A3 3 0 0 0 9 5H5a3 3 0 0 0 0 6h.08a6.06 6.06 0 0 0 0 2H5A5 5 0 0 1 5 3h4a5 5 0 0 1 .26 10zm1.48-6a2 2 0 0 1-.01 2.01A3 3 0 0 0 11 15h4a3 3 0 0 0 0-6h-.08a6.06 6.06 0 0 0 0-2H15a5 5 0 0 1 0 10h-4a5 5 0 0 1-.26-10z"}})])},staticRenderFns:[]}},"+fCR":function(e,t,r){(function(e){"use strict";e.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded Javascript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var t=0;t-1&&t.substring(n+1,t.length);if(i)return e.findModeByExtension(i)},e.findModeByName=function(t){t=t.toLowerCase();for(var r=0;r-1?n+t.length:n}var i=t.exec(r?e.slice(r):e);return i?i.index+r+(o?i[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null}},copyState:function(r){return{outer:e.copyState(t,r.outer),innerActive:r.innerActive,inner:r.innerActive&&e.copyState(r.innerActive.mode,r.inner)}},token:function(n,i){if(i.innerActive){var a=i.innerActive;l=n.string;if(!a.close&&n.sol())return i.innerActive=i.inner=null,this.token(n,i);if((d=a.close?o(l,a.close,n.pos,a.parseDelimiters):-1)==n.pos&&!a.parseDelimiters)return n.match(a.close),i.innerActive=i.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";d>-1&&(n.string=l.slice(0,d));var s=a.mode.token(n,i.inner);return d>-1&&(n.string=l),d==n.pos&&a.parseDelimiters&&(i.innerActive=i.inner=null),a.innerStyle&&(s=s?s+" "+a.innerStyle:a.innerStyle),s}for(var c=1/0,l=n.string,u=0;uspan::selection,.cm-s-base16-dark .CodeMirror-line>span>span::selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-line::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-gutters{background:#151515;border-right:0}.cm-s-base16-dark .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-dark .CodeMirror-guttermarker-subtle,.cm-s-base16-dark .CodeMirror-linenumber{color:#505050}.cm-s-base16-dark .CodeMirror-cursor{border-left:1px solid #b0b0b0}.cm-s-base16-dark span.cm-comment{color:#8f5536}.cm-s-base16-dark span.cm-atom,.cm-s-base16-dark span.cm-number{color:#aa759f}.cm-s-base16-dark span.cm-attribute,.cm-s-base16-dark span.cm-property{color:#90a959}.cm-s-base16-dark span.cm-keyword{color:#ac4142}.cm-s-base16-dark span.cm-string{color:#f4bf75}.cm-s-base16-dark span.cm-variable{color:#90a959}.cm-s-base16-dark span.cm-variable-2{color:#6a9fb5}.cm-s-base16-dark span.cm-def{color:#d28445}.cm-s-base16-dark span.cm-bracket{color:#e0e0e0}.cm-s-base16-dark span.cm-tag{color:#ac4142}.cm-s-base16-dark span.cm-link{color:#aa759f}.cm-s-base16-dark span.cm-error{background:#ac4142;color:#b0b0b0}.cm-s-base16-dark .CodeMirror-activeline-background{background:#202020}.cm-s-base16-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"/90R":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-elegant span.cm-atom,.cm-s-elegant span.cm-number,.cm-s-elegant span.cm-string{color:#762}.cm-s-elegant span.cm-comment{color:#262;font-style:italic;line-height:1em}.cm-s-elegant span.cm-meta{color:#555;font-style:italic;line-height:1em}.cm-s-elegant span.cm-variable{color:#000}.cm-s-elegant span.cm-variable-2{color:#b11}.cm-s-elegant span.cm-qualifier{color:#555}.cm-s-elegant span.cm-keyword{color:#730}.cm-s-elegant span.cm-builtin{color:#30a}.cm-s-elegant span.cm-link{color:#762}.cm-s-elegant span.cm-error{background-color:#fdd}.cm-s-elegant .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-elegant .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}",""])},"/9hD":function(e,t,r){!function(e){"use strict";e(r("8U58"),r("jz+E"),r("ezqs"),r("5IAE"),r("yI/k"),r("puAj"),r("7BQ2"),r("yKVp"),r("PdD+"),r("Qei9"))}(function(e){var t={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]};e.defineMode("vue-template",function(t,r){return e.overlayMode(e.getMode(t,r.backdrop||"text/html"),{token:function(e){if(e.match(/^\{\{.*?\}\}/))return"meta mustache";for(;e.next()&&!e.match("{{",!1););return null}})}),e.defineMode("vue",function(r){return e.getMode(r,{name:"htmlmixed",tags:t})},"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),e.defineMIME("script/x-vue","vue"),e.defineMIME("text/x-vue","vue")})},"/Ehg":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},"/GnY":function(e,t,r){var o=r("HT7L"),n=r("W529"),i=Object.prototype.hasOwnProperty;e.exports=function(e){if(!o(e))return n(e);var t=[];for(var r in Object(e))i.call(e,r)&&"constructor"!=r&&t.push(r);return t}},"/I3N":function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},"/QRe":function(e,t,r){var o=r("IaM4");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("f628ded4",o,!0,{})},"/Tgd":function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{d:"M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-2a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm-2.3-8.7l1.3 1.29 3.3-3.3a1 1 0 0 1 1.4 1.42l-4 4a1 1 0 0 1-1.4 0l-2-2a1 1 0 0 1 1.4-1.42z"}})},staticRenderFns:[]}},"/VYB":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{checked:Boolean,name:{type:String,required:!1},disabled:{type:Boolean,default:!1}}}},"/W3r":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.errors.length>0?r("div",{staticClass:"row"},[r("div",{staticClass:"col-6 alert alert-danger"},[r("strong",[e._v(e._s(e.__("Whoops!")))]),e._v("\n "+e._s(e.__("Something went wrong."))+"\n\n "),r("br"),r("br"),e._v(" "),r("ul",{staticStyle:{"margin-bottom":"0"}},e._l(e.errors,function(t){return r("li",[e._v(e._s(t))])}),0)])]):e._e()])},staticRenderFns:[]}},"/bQp":function(e,t){e.exports={}},"/hr9":function(e,t,r){var o=r("63we");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("2c3b663d",o,!0,{})},"/mks":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={}},0:function(e,t,r){r("F1kH"),e.exports=r("iTlA")},"010Z":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n,i=p(r("//Fk")),a=p(r("Xxa5")),s=p(r("Dd8w")),c=p(r("exGp")),l=(o=(0,c.default)(a.default.mark(function e(t,r,o){var n;return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g(h.getMatchedComponents((0,s.default)({},t)));case 2:if(0!==(n=e.sent).length){e.next=5;break}return e.abrupt("return",o());case 5:!1!==n[n.length-1].loading&&h.app.$nextTick(function(){return h.app.$loading.start()}),o();case 7:case"end":return e.stop()}},e,this)})),function(e,t,r){return o.apply(this,arguments)}),u=(n=(0,c.default)(a.default.mark(function e(t,r,o){return a.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.app.$nextTick();case 2:h.app.$loading.finish();case 3:case"end":return e.stop()}},e,this)})),function(e,t,r){return n.apply(this,arguments)}),d=(p(r("M4fF")),p(r("I3G/"))),m=p(r("/ocq")),f=p(r("X81A"));function p(e){return e&&e.__esModule?e:{default:e}}d.default.use(m.default);var h=function(e){var t=e.base,r=new m.default({scrollBehavior:b,base:t,mode:"history",routes:f.default});return r.beforeEach(l),r.afterEach(u),r}({base:window.config.base});function g(e){return i.default.all(e.map(function(e){return"function"==typeof e?e():e}))}function b(e,t,r){return new i.default(function(o,n){setTimeout(function(){return r?o(r):t.name!==e.name?o({x:0,y:0}):t.params.resourceName!==e.params.resourceName?o({x:0,y:0}):o({})},250)})}t.default=h},"037f":function(e,t,r){var o=r("1oyr"),n=r("p0bc"),i=r("wSKX"),a=n?function(e,t){return n(e,"toString",{configurable:!0,enumerable:!1,value:o(t),writable:!0})}:i;e.exports=a},"0DSl":function(e,t,r){var o=r("YkxI"),n=r("zBOP");e.exports=function(e){return o(function(t,r){var o=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=e.length>3&&"function"==typeof a?(i--,a):void 0,s&&n(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),t=Object(t);++o0,"w-action":0==e.action.fields.length},attrs:{autocomplete:"off"},on:{keydown:e.handleKeydown,submit:function(t){return t.preventDefault(),t.stopPropagation(),e.handleConfirm(t)}}},[r("div",[r("heading",{staticClass:"border-b border-40 py-8 px-8",attrs:{level:2}},[e._v(e._s(e.action.name))]),e._v(" "),0==e.action.fields.length?r("p",{staticClass:"text-80 px-8 my-8"},[e._v("\n "+e._s(e.action.confirmText)+"\n ")]):r("div",[r("validation-errors",{attrs:{errors:e.errors}}),e._v(" "),e._l(e.action.fields,function(t){return r("div",{key:t.attribute,staticClass:"action"},[r("form-"+t.component,{tag:"component",attrs:{errors:e.errors,"resource-name":e.resourceName,field:t,"show-help-text":null!=t.helpText}})],1)})],2)],1),e._v(" "),r("div",{staticClass:"bg-30 px-6 py-3 flex"},[r("div",{staticClass:"flex items-center ml-auto"},[r("button",{staticClass:"btn btn-link dim cursor-pointer text-80 ml-auto mr-6",attrs:{dusk:"cancel-action-button",type:"button"},on:{click:function(t){return t.preventDefault(),e.handleClose(t)}}},[e._v("\n "+e._s(e.action.cancelButtonText)+"\n ")]),e._v(" "),r("button",{ref:"runButton",staticClass:"btn btn-default",class:e.action.class,attrs:{dusk:"confirm-action-button",disabled:e.working,type:"submit"}},[e.working?r("loader",{attrs:{width:"30"}}):r("span",[e._v(e._s(e.action.confirmButtonText))])],1)])])])])},staticRenderFns:[]}},1753:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},[r("div",{staticClass:"flex flex-wrap items-stretch w-full relative"},[r("div",{staticClass:"flex -mr-px"},[r("span",{staticClass:"flex items-center leading-normal rounded rounded-r-none border border-r-0 border-60 px-3 whitespace-no-wrap bg-30 text-80 text-sm font-bold"},[e._v("\n "+e._s(e.field.currency)+"\n ")])]),e._v(" "),r("input",e._b({staticClass:"flex-shrink flex-grow flex-auto leading-normal w-px flex-1 rounded-l-none form-control form-input form-input-bordered",attrs:{id:e.field.attribute,dusk:e.field.attribute,disabled:e.isReadonly},domProps:{value:e.value},on:{input:e.handleChange}},"input",e.extraAttributes,!1))])])],2)},staticRenderFns:[]}},"18pB":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("resource-index",{attrs:{field:this.field,"resource-name":this.field.resourceName,"via-resource":this.resourceName,"via-resource-id":this.resourceId,"via-relationship":this.field.belongsToManyRelationship,"relationship-type":"belongsToMany","load-cards":!1,initialPerPage:this.field.perPage||5,"should-override-meta":!1},on:{actionExecuted:this.actionExecuted}})},staticRenderFns:[]}},"19Zj":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-tomorrow-night-bright.CodeMirror{background:#000;color:#eaeaea}.cm-s-tomorrow-night-bright div.CodeMirror-selected{background:#424242}.cm-s-tomorrow-night-bright .CodeMirror-gutters{background:#000;border-right:0}.cm-s-tomorrow-night-bright .CodeMirror-guttermarker{color:#e78c45}.cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle{color:#777}.cm-s-tomorrow-night-bright .CodeMirror-linenumber{color:#424242}.cm-s-tomorrow-night-bright .CodeMirror-cursor{border-left:1px solid #6a6a6a}.cm-s-tomorrow-night-bright span.cm-comment{color:#d27b53}.cm-s-tomorrow-night-bright span.cm-atom,.cm-s-tomorrow-night-bright span.cm-number{color:#a16a94}.cm-s-tomorrow-night-bright span.cm-attribute,.cm-s-tomorrow-night-bright span.cm-property{color:#9c9}.cm-s-tomorrow-night-bright span.cm-keyword{color:#d54e53}.cm-s-tomorrow-night-bright span.cm-string{color:#e7c547}.cm-s-tomorrow-night-bright span.cm-variable{color:#b9ca4a}.cm-s-tomorrow-night-bright span.cm-variable-2{color:#7aa6da}.cm-s-tomorrow-night-bright span.cm-def{color:#e78c45}.cm-s-tomorrow-night-bright span.cm-bracket{color:#eaeaea}.cm-s-tomorrow-night-bright span.cm-tag{color:#d54e53}.cm-s-tomorrow-night-bright span.cm-link{color:#a16a94}.cm-s-tomorrow-night-bright span.cm-error{background:#d54e53;color:#6a6a6a}.cm-s-tomorrow-night-bright .CodeMirror-activeline-background{background:#2a2a2a}.cm-s-tomorrow-night-bright .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"1Hau":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{line-height:1.45em;color-profile:sRGB;rendering-intent:auto}.cm-s-solarized.cm-s-dark{color:#839496;background-color:#002b36;text-shadow:#002b36 0 1px}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83;text-shadow:#eee8d5 0 1px}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-type,.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{color:transparent;border-top:1px solid #586e75;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{color:#586e75;border-bottom:1px dotted #dc322f}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-light .CodeMirror-line>span::-moz-selection,.cm-s-light .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75;text-shadow:#021014 0 -1px}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}",""])},"1MN0":function(e,t,r){var o=r("OqfM"),n=function(){};n.prototype.store=function(e,t){void 0===t&&(t={});try{return Promise.resolve(o.post("/vapor/signed-storage-url",{bucket:t.bucket||"",content_type:t.contentType||e.type,expires:t.expires||"",visibility:t.visibility||""},{baseURL:t.baseURL||null,headers:t.headers||{}})).then(function(r){var n=r.data.headers;return"Host"in n&&delete n.Host,void 0===t.progress&&(t.progress=function(){}),Promise.resolve(o.put(r.data.url,e,{cancelToken:t.cancelToken||"",headers:n,onUploadProgress:function(e){t.progress(e.loaded/e.total)}})).then(function(){return r.data.extension=e.name.split(".").pop(),r.data})})}catch(e){return Promise.reject(e)}},e.exports=new n},"1N8z":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt .cm-type,.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"1Yb9":function(e,t,r){var o=r("mgnk"),n=r("UnEC"),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,c=o(function(){return arguments}())?o:function(e){return n(e)&&a.call(e,"callee")&&!s.call(e,"callee")};e.exports=c},"1clm":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{class:"text-"+this.field.textAlign},[t("span",{staticClass:"font-bold"},[this._v("\n · · · · · · · ·\n ")])])},staticRenderFns:[]}},"1gL8":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"progress",style:{width:this.percent+"%",height:this.height,opacity:this.show?1:0,"background-color":this.canSuccess?this.color:this.failedColor}})},staticRenderFns:[]}},"1kS7":function(e,t){t.f=Object.getOwnPropertySymbols},"1nD2":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={fetchAvailableResources:function(e,t,r){if(void 0===e||void 0==t||void 0==r)throw new Error("please pass the right things");return Nova.request().get("/nova-api/"+e+"/morphable/"+t,r)},determineIfSoftDeletes:function(e){return Nova.request().get("/nova-api/"+e+"/soft-deletes")}}},"1oyr":function(e,t){e.exports=function(e){return function(){return e}}},"1xaF":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("panel-item",{attrs:{field:e.field}},[r("template",{slot:"value"},[e.field.viewable&&e.field.value?r("router-link",{staticClass:"no-underline font-bold dim text-primary",attrs:{to:{name:"detail",params:{resourceName:e.field.resourceName,resourceId:e.field.morphToId}}}},[e._v("\n "+e._s(e.field.name)+": "+e._s(e.field.value)+" ("+e._s(e.field.resourceLabel)+")\n ")]):e.field.value&&null===e.field.resourceLabel?r("p",[e._v("\n "+e._s(e.field.morphToType)+": "+e._s(e.field.value)+"\n ")]):e.field.value&&null!==e.field.resourceLabel?r("p",[e._v("\n "+e._s(e.field.value)+"\n ")]):r("p",[e._v("—")])],1)],2)},staticRenderFns:[]}},"2+te":function(e,t,r){var o=r("6vUX");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("690d713c",o,!0,{})},"208O":function(e,t,r){var o=r("VU/8")(r("9bSO"),r("S3Q9"),!1,null,null,null);e.exports=o.exports},"21Rc":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=s(r("mvHQ")),n=s(r("Xxa5")),i=s(r("exGp")),a=r("vilh");function s(e){return e&&e.__esModule?e:{default:e}}t.default={metaInfo:function(){if(this.resourceInformation&&this.title)return{title:this.__(":resource Details: :title",{resource:this.resourceInformation.singularLabel,title:this.title})}},props:(0,a.mapProps)(["resourceName","resourceId"]),mixins:[a.Deletable,a.HasCards,a.InteractsWithResourceInformation],data:function(){return{initialLoading:!0,loading:!0,title:null,resource:null,panels:[],actions:[],actionValidationErrors:new a.Errors,deleteModalOpen:!1,restoreModalOpen:!1,forceDeleteModalOpen:!1}},watch:{resourceId:function(e,t){e!=t&&(this.initializeComponent(),this.fetchCards())}},created:function(){if(Nova.missingResource(this.resourceName))return this.$router.push({name:"404"});Nova.addShortcut("e",this.handleKeydown)},beforeDestroy:function(){Nova.disableShortcut("e")},mounted:function(){this.initializeComponent()},methods:{handleKeydown:function(e){this.resource.authorizedToUpdate&&"INPUT"!=e.target.tagName&&"TEXTAREA"!=e.target.tagName&&"true"!=e.target.contentEditable&&this.$router.push({name:"edit",params:{id:this.resource.id}})},initializeComponent:function(){var e=(0,i.default)(n.default.mark(function e(){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getResource();case 2:return e.next=4,this.getActions();case 4:this.initialLoading=!1;case 5:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),getResource:function(){var e=this;return this.resource=null,(0,a.Minimum)(Nova.request().get("/nova-api/"+this.resourceName+"/"+this.resourceId)).then(function(t){var r=t.data,o=r.title,n=r.panels,i=r.resource;e.title=o,e.panels=n,e.resource=i,e.loading=!1}).catch(function(t){t.response.status>=500?Nova.$emit("error",t.response.data.message):404===t.response.status&&e.initialLoading?e.$router.push({name:"404"}):403!==t.response.status?(Nova.error(e.__("This resource no longer exists")),e.$router.push({name:"index",params:{resourceName:e.resourceName}})):e.$router.push({name:"403"})})},getActions:function(){var e=this;return this.actions=[],Nova.request().get("/nova-api/"+this.resourceName+"/actions",{params:{resourceId:this.resourceId,editing:!0,editMode:"create",display:"detail"}}).then(function(t){e.actions=t.data.actions})},actionExecuted:function(){var e=(0,i.default)(n.default.mark(function e(){return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getResource();case 2:return e.next=4,this.getActions();case 4:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),createPanelForField:function(e){return _.tap(_.find(this.panels,function(t){return t.name==e.panel}),function(t){t.fields=[e]})},createPanelForRelationship:function(e){return{component:"relationship-panel",prefixComponent:!0,name:e.name,fields:[e]}},confirmDelete:function(){var e=(0,i.default)(n.default.mark(function e(){var t=this;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.deleteResources([this.resource],function(e){Nova.success(t.__("The :resource was deleted!",{resource:t.resourceInformation.singularLabel.toLowerCase()})),e&&e.data&&e.data.redirect?t.$router.push({path:e.data.redirect},function(){window.scrollTo(0,0)}):t.resource.softDeletes?(t.closeDeleteModal(),t.getResource()):t.$router.push({name:"index",params:{resourceName:t.resourceName}},function(){window.scrollTo(0,0)})});case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),openDeleteModal:function(){this.deleteModalOpen=!0},closeDeleteModal:function(){this.deleteModalOpen=!1},confirmRestore:function(){var e=(0,i.default)(n.default.mark(function e(){var t=this;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.restoreResources([this.resource],function(){Nova.success(t.__("The :resource was restored!",{resource:t.resourceInformation.singularLabel.toLowerCase()})),t.closeRestoreModal(),t.getResource()});case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),openRestoreModal:function(){this.restoreModalOpen=!0},closeRestoreModal:function(){this.restoreModalOpen=!1},confirmForceDelete:function(){var e=(0,i.default)(n.default.mark(function e(){var t=this;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.forceDeleteResources([this.resource],function(e){Nova.success(t.__("The :resource was deleted!",{resource:t.resourceInformation.singularLabel.toLowerCase()})),e&&e.data&&e.data.redirect?t.$router.push({path:e.data.redirect}):t.$router.push({name:"index",params:{resourceName:t.resourceName}})});case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),openForceDeleteModal:function(){this.forceDeleteModalOpen=!0},closeForceDeleteModal:function(){this.forceDeleteModalOpen=!1}},computed:{availablePanels:function(){var e=this;if(this.resource){var t={};return _.toArray(JSON.parse((0,o.default)(this.resource.fields))).forEach(function(r){return r.listable?t[r.name]=e.createPanelForRelationship(r):t[r.panel]?t[r.panel].fields.push(r):void(t[r.panel]=e.createPanelForField(r))}),_.toArray(t)}},currentSearch:function(){return""},encodedFilters:function(){return[]},currentTrashed:function(){return""},viaResource:function(){return""},viaResourceId:function(){return""},viaRelationship:function(){return""},selectedResources:function(){return[this.resourceId]},isActionDetail:function(){return"action-events"==this.resourceName},cardsEndpoint:function(){return"/nova-api/"+this.resourceName+"/cards"},extraCardParams:function(){return{resourceId:this.resourceId}}}}},"22B7":function(e,t){e.exports=function(e,t){return e===t||e!=e&&t!=t}},"232x":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=l(r("Dd8w")),n=l(r("Xxa5")),i=l(r("exGp")),a=r("vilh"),s=r("WEHx"),c=r("mtWM");function l(e){return e&&e.__esModule?e:{default:e}}t.default={mixins:[s.mixin],data:function(){return{debouncer:null,canceller:null,loading:!1,currentlySearching:!1,searchTerm:"",results:[],highlightedResultIndex:0}},watch:{$route:function(){this.closeSearch()}},created:function(){this.debouncer=_.debounce(function(e){return e()},Nova.config.debounce)},mounted:function(){var e=this;Nova.addShortcut("/",function(){return e.openSearch(),!1})},destroyed:function(){Nova.disableShortcut("/")},methods:{isNotInputElement:function(e){var t=e.target.tagName;return Boolean("INPUT"!==t&&"TEXTAREA"!==t)},openSearch:function(){this.clearSearch(),this.$refs.input.focus(),this.currentlySearching=!0,this.clearResults()},closeSearch:function(){this.clearSearch(),this.clearResults(),this.$refs.input.blur(),this.currentlySearching=!1,this.loading=!1},clearSearch:function(){this.searchTerm=""},clearResults:function(){this.results=[]},search:function(e){var t=this;this.highlightedResultIndex=0,this.loading=!0,""==this.searchTerm?(null!==this.canceller&&this.canceller(),this.loading=!1,this.results=[]):this.debouncer(function(){null!==t.canceller&&t.canceller(),t.fetchResults(e.target.value)},500)},fetchResults:function(){var e=(0,i.default)(n.default.mark(function e(t){var r,o,i=this;return n.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.results=[],""===t){e.next=17;break}return e.prev=2,e.next=5,(0,a.Minimum)(Nova.request().get("/nova-api/search",{params:{search:t},cancelToken:new c.CancelToken(function(e){i.canceller=e})}));case 5:r=e.sent,o=r.data,this.results=o,this.loading=!1,e.next=17;break;case 11:if(e.prev=11,e.t0=e.catch(2),this.loading=!1,!(e.t0 instanceof c.Cancel)){e.next=16;break}return e.abrupt("return");case 16:throw e.t0;case 17:case"end":return e.stop()}},e,this,[[2,11]])}));return function(t){return e.apply(this,arguments)}}(),move:function(e){if(this.results.length){var t=this.highlightedResultIndex+e;t<0?(this.highlightedResultIndex=this.results.length-1,this.updateScrollPosition()):t>this.results.length-1?(this.highlightedResultIndex=0,this.updateScrollPosition()):t>=0&&tt.scrollTop+t.clientHeight-e[0].clientHeight&&(t.scrollTop=e[0].offsetTop+e[0].clientHeight-t.clientHeight),e[0].offsetTop0},hasSearchTerm:function(){return""!==this.searchTerm},shouldShowNoResults:function(){return this.currentlySearching&&!this.loading&&!this.hasResults&&this.hasSearchTerm},shouldShowResults:function(){return this.currentlySearching&&this.hasResults&&!this.loading},indexedResults:function(){return _.map(this.results,function(e,t){return(0,o.default)({index:t},e)})},formattedGroups:function(){return _.chain(this.indexedResults).map(function(e){return{resourceName:e.resourceName,resourceTitle:e.resourceTitle}}).uniqBy("resourceName").value()},formattedResults:function(){var e=this;return _.map(this.formattedGroups,function(t){return{resourceName:t.resourceName,resourceTitle:t.resourceTitle,items:_.filter(e.indexedResults,function(e){return e.resourceName==t.resourceName})}})}}}},"234x":function(e,t,r){var o=r("fzNh");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("32adbb1d",o,!0,{})},"2Hvv":function(e,t,r){var o=r("imBK");e.exports=function(e){return o(this.__data__,e)>-1}},"2KxR":function(e,t){e.exports=function(e,t,r,o){if(!(e instanceof t)||void 0!==o&&o in e)throw TypeError(r+": incorrect invocation!");return e}},"2QDH":function(e,t,r){e.exports={default:r("NLm3"),__esModule:!0}},"2Qej":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=c(r("Xxa5")),n=c(r("exGp")),i=c(r("Dd8w")),a=r("vilh"),s=c(r("po7M"));function c(e){return e&&e.__esModule?e:{default:e}}t.default={mixins:[a.InteractsWithResourceInformation,s.default],metaInfo:function(){if(this.shouldOverrideMeta&&this.resourceInformation)return{title:this.__("Create :resource",{resource:this.resourceInformation.singularLabel})}},props:(0,i.default)({mode:{type:String,default:"form",validator:function(e){return["modal","form"].includes(e)}},updateFormStatus:{type:Function,default:function(){}}},(0,a.mapProps)(["resourceName","viaResource","viaResourceId","viaRelationship","shouldOverrideMeta"])),data:function(){return{relationResponse:null,loading:!0,submittedViaCreateResourceAndAddAnother:!1,submittedViaCreateResource:!1,fields:[],panels:[],validationErrors:new a.Errors}},created:function(){var e=(0,n.default)(o.default.mark(function e(){var t,r;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!Nova.missingResource(this.resourceName)){e.next=2;break}return e.abrupt("return",this.$router.push({name:"404"}));case 2:if(!this.isRelation){e.next=10;break}return e.next=5,Nova.request().get("/nova-api/"+this.viaResource+"/field/"+this.viaRelationship,{params:{resourceName:this.resourceName,viaResource:this.viaResource,viaResourceId:this.viaResourceId,viaRelationship:this.viaRelationship}});case 5:t=e.sent,r=t.data,this.relationResponse=r,this.isHasOneRelationship&&this.alreadyFilled&&(Nova.error(this.__("The HasOne relationship has already been filled.")),this.$router.push({name:"detail",params:{resourceId:this.viaResourceId,resourceName:this.viaResource}})),this.isHasOneThroughRelationship&&this.alreadyFilled&&(Nova.error(this.__("The HasOneThrough relationship has already been filled.")),this.$router.push({name:"detail",params:{resourceId:this.viaResourceId,resourceName:this.viaResource}}));case 10:this.getFields();case 11:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),methods:{getFields:function(){var e=(0,n.default)(o.default.mark(function e(){var t,r,n,i;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.panels=[],this.fields=[],e.next=4,Nova.request().get("/nova-api/"+this.resourceName+"/creation-fields",{params:{editing:!0,editMode:"create",viaResource:this.viaResource,viaResourceId:this.viaResourceId,viaRelationship:this.viaRelationship}});case 4:t=e.sent,r=t.data,n=r.panels,i=r.fields,this.panels=n,this.fields=i,this.loading=!1;case 11:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),submitViaCreateResource:function(){var e=(0,n.default)(o.default.mark(function e(t){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.preventDefault(),this.submittedViaCreateResource=!0,this.submittedViaCreateResourceAndAddAnother=!1,e.next=5,this.createResource();case 5:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}(),submitViaCreateResourceAndAddAnother:function(){var e=(0,n.default)(o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.submittedViaCreateResourceAndAddAnother=!0,this.submittedViaCreateResource=!1,e.next=4,this.createResource();case 4:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),createResource:function(){var e=(0,n.default)(o.default.mark(function e(){var t,r,n,i;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isWorking=!0,!this.$refs.form.reportValidity()){e.next=31;break}return e.prev=2,e.next=5,this.createRequest();case 5:if(t=e.sent,r=t.data,n=r.redirect,i=r.id,this.canLeave=!0,Nova.success(this.__("The :resource was created!",{resource:this.resourceInformation.singularLabel.toLowerCase()})),!this.submittedViaCreateResource){e.next=15;break}this.$emit("resource-created",{id:i,redirect:n}),e.next=21;break;case 15:return this.getFields(),this.validationErrors=new a.Errors,this.submittedViaCreateAndAddAnother=!1,this.submittedViaCreateResource=!1,this.isWorking=!1,e.abrupt("return");case 21:e.next=31;break;case 23:e.prev=23,e.t0=e.catch(2),window.scrollTo(0,0),this.submittedViaCreateAndAddAnother=!1,this.submittedViaCreateResource=!0,this.isWorking=!1,this.resourceInformation.preventFormAbandonment&&(this.canLeave=!1),422==e.t0.response.status?(this.validationErrors=new a.Errors(e.t0.response.data.errors),Nova.error(this.__("There was a problem submitting the form."))):Nova.error(this.__("There was a problem submitting the form.")+' "'+e.t0.response.statusText+'"');case 31:this.submittedViaCreateAndAddAnother=!1,this.submittedViaCreateResource=!0,this.isWorking=!1;case 34:case"end":return e.stop()}},e,this,[[2,23]])}));return function(){return e.apply(this,arguments)}}(),createRequest:function(){return Nova.request().post("/nova-api/"+this.resourceName,this.createResourceFormData(),{params:{editing:!0,editMode:"create"}})},createResourceFormData:function(){var e=this;return _.tap(new FormData,function(t){_.each(e.fields,function(e){e.fill(t)}),t.append("viaResource",e.viaResource),t.append("viaResourceId",e.viaResourceId),t.append("viaRelationship",e.viaRelationship)})},onUpdateFormStatus:function(){this.resourceInformation.preventFormAbandonment&&this.updateFormStatus()}},computed:{wasSubmittedViaCreateResource:function(){return this.isWorking&&this.submittedViaCreateResource},wasSubmittedViaCreateResourceAndAddAnother:function(){return this.isWorking&&this.submittedViaCreateResourceAndAddAnother},panelsWithFields:function(){var e=this;return _.map(this.panels,function(t){return(0,i.default)({},t,{fields:_.filter(e.fields,function(e){return e.panel==t.name})})})},singularName:function(){return this.relationResponse?this.relationResponse.singularLabel:this.resourceInformation.singularLabel},createButtonLabel:function(){return this.resourceInformation.createButtonLabel},isRelation:function(){return Boolean(this.viaResourceId&&this.viaRelationship)},shownViaNewRelationModal:function(){return"modal"==this.mode},inFormMode:function(){return"form"==this.mode},canAddMoreResources:function(){return this.authorizedToCreate},alreadyFilled:function(){return this.relationResponse&&this.relationResponse.alreadyFilled},isHasOneRelationship:function(){return this.relationResponse&&this.relationResponse.hasOneRelationship},isHasOneThroughRelationship:function(){return this.relationResponse&&this.relationResponse.hasOneThroughRelationship},shouldShowAddAnotherButton:function(){return Boolean(this.inFormMode&&!this.alreadyFilled)&&!Boolean(this.isHasOneRelationship||this.isHasOneThroughRelationship)}}}},"2Tcl":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{resourceName:{type:String,required:!0},filterKey:{type:String,required:!0},lens:String},methods:{handleChange:function(e){this.$store.commit(this.resourceName+"/updateFilterState",{filterClass:this.filterKey,value:e}),this.$emit("change")}},computed:{placeholder:function(){return this.filter.placeholder||this.__("Choose date")},value:function(){return this.filter.currentValue},filter:function(){return this.$store.getters[this.resourceName+"/getFilter"](this.filterKey)},options:function(){return this.$store.getters[this.resourceName+"/getOptionsForFilter"](this.filterKey)},firstDayOfWeek:function(){return this.filter.firstDayOfWeek||0}}}},"2X2u":function(e,t){e.exports=function(e,t){for(var r=-1,o=null==e?0:e.length;++rspan::selection,.cm-s-paraiso-dark .CodeMirror-line>span>span::selection{background:rgba(65,50,63,.99)}.cm-s-paraiso-dark .CodeMirror-line::-moz-selection,.cm-s-paraiso-dark .CodeMirror-line>span::-moz-selection,.cm-s-paraiso-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(65,50,63,.99)}.cm-s-paraiso-dark .CodeMirror-gutters{background:#2f1e2e;border-right:0}.cm-s-paraiso-dark .CodeMirror-guttermarker{color:#ef6155}.cm-s-paraiso-dark .CodeMirror-guttermarker-subtle,.cm-s-paraiso-dark .CodeMirror-linenumber{color:#776e71}.cm-s-paraiso-dark .CodeMirror-cursor{border-left:1px solid #8d8687}.cm-s-paraiso-dark span.cm-comment{color:#e96ba8}.cm-s-paraiso-dark span.cm-atom,.cm-s-paraiso-dark span.cm-number{color:#815ba4}.cm-s-paraiso-dark span.cm-attribute,.cm-s-paraiso-dark span.cm-property{color:#48b685}.cm-s-paraiso-dark span.cm-keyword{color:#ef6155}.cm-s-paraiso-dark span.cm-string{color:#fec418}.cm-s-paraiso-dark span.cm-variable{color:#48b685}.cm-s-paraiso-dark span.cm-variable-2{color:#06b6ef}.cm-s-paraiso-dark span.cm-def{color:#f99b15}.cm-s-paraiso-dark span.cm-bracket{color:#b9b6b0}.cm-s-paraiso-dark span.cm-tag{color:#ef6155}.cm-s-paraiso-dark span.cm-link{color:#815ba4}.cm-s-paraiso-dark span.cm-error{background:#ef6155;color:#8d8687}.cm-s-paraiso-dark .CodeMirror-activeline-background{background:#4d344a}.cm-s-paraiso-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"3ppm":function(e,t,r){var o=r("VU/8")(r("BVCX"),r("ltI7"),!1,null,null,null);e.exports=o.exports},"3rZI":function(e,t){e.exports=function(e,t,r,o){var n=-1,i=null==e?0:e.length;for(o&&i&&(r=e[++n]);++nspan::selection,.cm-s-tomorrow-night-eighties .CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)}.cm-s-tomorrow-night-eighties .CodeMirror-line::-moz-selection,.cm-s-tomorrow-night-eighties .CodeMirror-line>span::-moz-selection,.cm-s-tomorrow-night-eighties .CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)}.cm-s-tomorrow-night-eighties .CodeMirror-gutters{background:#000;border-right:0}.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker{color:#f2777a}.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle{color:#777}.cm-s-tomorrow-night-eighties .CodeMirror-linenumber{color:#515151}.cm-s-tomorrow-night-eighties .CodeMirror-cursor{border-left:1px solid #6a6a6a}.cm-s-tomorrow-night-eighties span.cm-comment{color:#d27b53}.cm-s-tomorrow-night-eighties span.cm-atom,.cm-s-tomorrow-night-eighties span.cm-number{color:#a16a94}.cm-s-tomorrow-night-eighties span.cm-attribute,.cm-s-tomorrow-night-eighties span.cm-property{color:#9c9}.cm-s-tomorrow-night-eighties span.cm-keyword{color:#f2777a}.cm-s-tomorrow-night-eighties span.cm-string{color:#fc6}.cm-s-tomorrow-night-eighties span.cm-variable{color:#9c9}.cm-s-tomorrow-night-eighties span.cm-variable-2{color:#69c}.cm-s-tomorrow-night-eighties span.cm-def{color:#f99157}.cm-s-tomorrow-night-eighties span.cm-bracket{color:#ccc}.cm-s-tomorrow-night-eighties span.cm-tag{color:#f2777a}.cm-s-tomorrow-night-eighties span.cm-link{color:#a16a94}.cm-s-tomorrow-night-eighties span.cm-error{background:#f2777a;color:#6a6a6a}.cm-s-tomorrow-night-eighties .CodeMirror-activeline-background{background:#343600}.cm-s-tomorrow-night-eighties .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"3u7+":function(e,t,r){var o=r("q24W");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("279b369f",o,!0,{})},"40Wg":function(e,t,r){"use strict";var o=r("UoVS"),n=r("4oCz"),i=r("Wd8F"),a=r("lql8");function s(e){this.defaults=e,this.interceptors={request:new i,response:new i}}s.prototype.request=function(e){"string"==typeof e&&(e=n.merge({url:arguments[0]},arguments[1])),(e=n.merge(o,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[a,void 0],r=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)r=r.then(t.shift(),t.shift());return r},n.forEach(["delete","get","head","options"],function(e){s.prototype[e]=function(t,r){return this.request(n.merge(r||{},{method:e,url:t}))}}),n.forEach(["post","put","patch"],function(e){s.prototype[e]=function(t,r,o){return this.request(n.merge(o||{},{method:e,url:t,data:r}))}}),e.exports=s},"4BRc":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.HandlesValidationErrors,o.FormField,o.InteractsWithDates],methods:{handleChange:function(e){this.value=e}},computed:{firstDayOfWeek:function(){return this.field.firstDayOfWeek||0},placeholder:function(){return this.field.placeholder||moment().format(this.format)},format:function(){return this.field.format||"YYYY-MM-DD"},pickerFormat:function(){return this.field.pickerFormat||"Y-m-d"},pickerDisplayFormat:function(){return this.field.pickerDisplayFormat||"Y-m-d"}}}},"4Bsn":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("oMVo"),i=(o=n)&&o.__esModule?o:{default:o};t.default={components:{Create:i.default},props:{resourceName:{},resourceId:{},viaResource:{},viaResourceId:{},viaRelationship:{}},methods:{handleRefresh:function(e){this.$emit("set-resource",e)},handleCancelledCreate:function(){return this.$emit("cancelled-create")},handleClose:function(){this.$emit("cancelled-create")}}}},"4EiK":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"4J+A":function(e,t,r){var o=r("VU/8")(r("jmp5"),r("TCdi"),!1,null,null,null);e.exports=o.exports},"4JKg":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-eclipse span.cm-meta{color:#ff1717}.cm-s-eclipse span.cm-keyword{line-height:1em;font-weight:700;color:#7f0055}.cm-s-eclipse span.cm-atom{color:#219}.cm-s-eclipse span.cm-number{color:#164}.cm-s-eclipse span.cm-def{color:#00f}.cm-s-eclipse span.cm-variable{color:#000}.cm-s-eclipse span.cm-type,.cm-s-eclipse span.cm-variable-2,.cm-s-eclipse span.cm-variable-3{color:#0000c0}.cm-s-eclipse span.cm-operator,.cm-s-eclipse span.cm-property{color:#000}.cm-s-eclipse span.cm-comment{color:#3f7f5f}.cm-s-eclipse span.cm-string{color:#2a00ff}.cm-s-eclipse span.cm-string-2{color:#f50}.cm-s-eclipse span.cm-qualifier{color:#555}.cm-s-eclipse span.cm-builtin{color:#30a}.cm-s-eclipse span.cm-bracket{color:#cc7}.cm-s-eclipse span.cm-tag{color:#170}.cm-s-eclipse span.cm-attribute{color:#00c}.cm-s-eclipse span.cm-link{color:#219}.cm-s-eclipse span.cm-error{color:red}.cm-s-eclipse .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-eclipse .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}",""])},"4Qyx":function(e,t,r){"use strict";var o=r("4oCz");e.exports=o.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function n(e){var o=e;return t&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return e=n(window.location.href),function(t){var r=o.isString(t)?n(t):t;return r.protocol===e.protocol&&r.host===e.host}}():function(){return!0}},"4Uz2":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-material.CodeMirror{background-color:#263238;color:#eff}.cm-s-material .CodeMirror-gutters{background:#263238;color:#546e7a;border:none}.cm-s-material .CodeMirror-guttermarker,.cm-s-material .CodeMirror-guttermarker-subtle,.cm-s-material .CodeMirror-linenumber{color:#546e7a}.cm-s-material .CodeMirror-cursor{border-left:1px solid #fc0}.cm-s-material.CodeMirror-focused div.CodeMirror-selected,.cm-s-material div.CodeMirror-selected{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-line::selection,.cm-s-material .CodeMirror-line>span::selection,.cm-s-material .CodeMirror-line>span>span::selection{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-line::-moz-selection,.cm-s-material .CodeMirror-line>span::-moz-selection,.cm-s-material .CodeMirror-line>span>span::-moz-selection{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-activeline-background{background:rgba(0,0,0,.5)}.cm-s-material .cm-keyword{color:#c792ea}.cm-s-material .cm-operator{color:#89ddff}.cm-s-material .cm-variable-2{color:#eff}.cm-s-material .cm-type,.cm-s-material .cm-variable-3{color:#f07178}.cm-s-material .cm-builtin{color:#ffcb6b}.cm-s-material .cm-atom{color:#f78c6c}.cm-s-material .cm-number{color:#ff5370}.cm-s-material .cm-def{color:#82aaff}.cm-s-material .cm-string{color:#c3e88d}.cm-s-material .cm-string-2{color:#f07178}.cm-s-material .cm-comment{color:#546e7a}.cm-s-material .cm-variable{color:#f07178}.cm-s-material .cm-tag{color:#ff5370}.cm-s-material .cm-meta{color:#ffcb6b}.cm-s-material .cm-attribute,.cm-s-material .cm-property{color:#c792ea}.cm-s-material .cm-qualifier,.cm-s-material .cm-type,.cm-s-material .cm-variable-3{color:#decb6b}.cm-s-material .cm-error{color:#fff;background-color:#ff5370}.cm-s-material .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},"4cqG":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resource","resourceName","resourceId","field"],computed:{formattedDate:function(){return this.field.format?moment(this.field.value).format(this.field.format):this.field.value}}}},"4jSk":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"bg-20 flex border-b border-t border-40 -mx-6 -my-px px-2"},[r("div",{staticClass:"w-full py-4 px-4"},[e._t("value",[e.fieldValue&&!e.shouldDisplayAsHtml?r("p",{staticClass:"text-90"},[e._v("\n "+e._s(e.fieldValue)+"\n ")]):e.fieldValue&&e.shouldDisplayAsHtml?r("div",{domProps:{innerHTML:e._s(e.field.value)}}):r("p",[e._v("—")])])],2)])},staticRenderFns:[]}},"4mcu":function(e,t){e.exports=function(){}},"4oCz":function(e,t,r){"use strict";var o=r("7BgP"),n=r("gY8b"),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function s(e){return null!==e&&"object"==typeof e}function c(e){return"[object Function]"===i.call(e)}function l(e,t){if(null!==e&&void 0!==e)if("object"!=typeof e&&(e=[e]),a(e))for(var r=0,o=e.length;r0||this.$emit("modal-close",e)}}}}},"4qtC":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.BehavesAsPanel]}},"4uHs":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-view",{attrs:{loading:e.loading}},[r("custom-update-header",{staticClass:"mb-3",attrs:{"resource-name":e.resourceName,"resource-id":e.resourceId}}),e._v(" "),e.panels?r("form",{ref:"form",attrs:{autocomplete:"off"},on:{submit:e.submitViaUpdateResource,change:e.onUpdateFormStatus}},[e._l(e.panelsWithFields,function(t){return r("form-panel",{key:t.name,staticClass:"mb-8",attrs:{panel:t,name:t.name,"resource-id":e.resourceId,"resource-name":e.resourceName,fields:t.fields,mode:"form","validation-errors":e.validationErrors,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship},on:{"update-last-retrieved-at-timestamp":e.updateLastRetrievedAtTimestamp,"field-changed":e.onUpdateFormStatus,"file-upload-started":e.handleFileUploadStarted,"file-upload-finished":e.handleFileUploadFinished}})}),e._v(" "),r("div",{staticClass:"flex items-center"},[r("cancel-button",{on:{click:function(t){return e.$router.back()}}}),e._v(" "),r("progress-button",{staticClass:"mr-3",attrs:{dusk:"update-and-continue-editing-button",disabled:e.isWorking,processing:e.wasSubmittedViaUpdateResourceAndContinueEditing},nativeOn:{click:function(t){return e.submitViaUpdateResourceAndContinueEditing(t)}}},[e._v("\n "+e._s(e.__("Update & Continue Editing"))+"\n ")]),e._v(" "),r("progress-button",{attrs:{dusk:"update-button",type:"submit",disabled:e.isWorking,processing:e.wasSubmittedViaUpdateResource}},[e._v("\n "+e._s(e.updateButtonLabel)+"\n ")])],1)],2):e._e()],1)},staticRenderFns:[]}},"4xFn":function(e,t,r){var o=r("VU/8")(r("VbKC"),r("GS1y"),!1,null,null,null);e.exports=o.exports},"52gC":function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},"5Bkg":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("path",{attrs:{d:"M11 14.59V3a1 1 0 0 1 2 0v11.59l3.3-3.3a1 1 0 0 1 1.4 1.42l-5 5a1 1 0 0 1-1.4 0l-5-5a1 1 0 0 1 1.4-1.42l3.3 3.3zM3 17a1 1 0 0 1 2 0v3h14v-3a1 1 0 0 1 2 0v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3z"}})},staticRenderFns:[]}},"5IAE":function(e,t,r){(function(e){"use strict";e.defineMode("javascript",function(t,r){var o,n,i=t.indentUnit,a=r.statementIndent,s=r.jsonld,c=r.json||s,l=r.typescript,u=r.wordCharacters||/[\w$\xa1-\uffff]/,d=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),o=e("keyword c"),n=e("keyword d"),i=e("operator"),a={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:r,do:r,try:r,finally:r,return:n,break:n,continue:n,new:e("new"),delete:o,void:o,throw:o,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:i,typeof:i,instanceof:i,true:a,false:a,null:a,undefined:a,NaN:a,Infinity:a,this:e("this"),class:e("class"),super:e("atom"),yield:o,export:e("export"),import:e("import"),extends:o,await:o}}(),m=/[+\-*&%=<>!?|~^@]/,f=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function p(e,t,r){return o=e,n=r,t}function h(e,t){var r,o=e.next();if('"'==o||"'"==o)return t.tokenize=(r=o,function(e,t){var o,n=!1;if(s&&"@"==e.peek()&&e.match(f))return t.tokenize=h,p("jsonld-keyword","meta");for(;null!=(o=e.next())&&(o!=r||n);)n=!n&&"\\"==o;return n||(t.tokenize=h),p("string","string")}),t.tokenize(e,t);if("."==o&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return p("number","number");if("."==o&&e.match(".."))return p("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(o))return p(o);if("="==o&&e.eat(">"))return p("=>","operator");if("0"==o&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return p("number","number");if(/\d/.test(o))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),p("number","number");if("/"==o)return e.eat("*")?(t.tokenize=g,g(e,t)):e.eat("/")?(e.skipToEnd(),p("comment","comment")):Qe(e,t,1)?(function(e){for(var t,r=!1,o=!1;null!=(t=e.next());){if(!r){if("/"==t&&!o)return;"["==t?o=!0:o&&"]"==t&&(o=!1)}r=!r&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),p("regexp","string-2")):(e.eat("="),p("operator","operator",e.current()));if("`"==o)return t.tokenize=b,b(e,t);if("#"==o&&"!"==e.peek())return e.skipToEnd(),p("meta","meta");if("#"==o&&e.eatWhile(u))return p("variable","property");if("<"==o&&e.match("!--")||"-"==o&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),p("comment","comment");if(m.test(o))return">"==o&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=o&&"="!=o||e.eat("="):/[<>*+\-|&?]/.test(o)&&(e.eat(o),">"==o&&e.eat(o))),"?"==o&&e.eat(".")?p("."):p("operator","operator",e.current());if(u.test(o)){e.eatWhile(u);var n=e.current();if("."!=t.lastType){if(d.propertyIsEnumerable(n)){var i=d[n];return p(i.type,i.style,n)}if("async"==n&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return p("async","keyword",n)}return p("variable","variable",n)}}function g(e,t){for(var r,o=!1;r=e.next();){if("/"==r&&o){t.tokenize=h;break}o="*"==r}return p("comment","comment")}function b(e,t){for(var r,o=!1;null!=(r=e.next());){if(!o&&("`"==r||"$"==r&&e.eat("{"))){t.tokenize=h;break}o=!o&&"\\"==r}return p("quasi","string-2",e.current())}var v="([{}])";function y(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(r<0)){if(l){var o=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,r));o&&(r=o.index)}for(var n=0,i=!1,a=r-1;a>=0;--a){var s=e.string.charAt(a),c=v.indexOf(s);if(c>=0&&c<3){if(!n){++a;break}if(0==--n){"("==s&&(i=!0);break}}else if(c>=3&&c<6)++n;else if(u.test(s))i=!0;else if(/["'\/`]/.test(s))for(;;--a){if(0==a)return;if(e.string.charAt(a-1)==s&&"\\"!=e.string.charAt(a-2)){a--;break}}else if(i&&!n){++a;break}}i&&!n&&(t.fatArrowAt=a)}}var x={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,"jsonld-keyword":!0};function k(e,t,r,o,n,i){this.indented=e,this.column=t,this.type=r,this.prev=n,this.info=i,null!=o&&(this.align=o)}function w(e,t){for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var o=e.context;o;o=o.prev)for(r=o.vars;r;r=r.next)if(r.name==t)return!0}var _={state:null,column:null,marked:null,cc:null};function C(){for(var e=arguments.length-1;e>=0;e--)_.cc.push(arguments[e])}function M(){return C.apply(null,arguments),!0}function R(e,t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}function S(e){var t=_.state;if(_.marked="def",t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var o=function e(t,r){if(r){if(r.block){var o=e(t,r.prev);return o?o==r.prev?r:new E(o,r.vars,!0):null}return R(t,r.vars)?r:new E(r.prev,new T(t,r.vars),!1)}return null}(e,t.context);if(null!=o)return void(t.context=o)}else if(!R(e,t.localVars))return void(t.localVars=new T(e,t.localVars));r.globalVars&&!R(e,t.globalVars)&&(t.globalVars=new T(e,t.globalVars))}function z(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function E(e,t,r){this.prev=e,this.vars=t,this.block=r}function T(e,t){this.name=e,this.next=t}var O=new T("this",new T("arguments",null));function F(){_.state.context=new E(_.state.context,_.state.localVars,!1),_.state.localVars=O}function N(){_.state.context=new E(_.state.context,_.state.localVars,!0),_.state.localVars=null}function A(){_.state.localVars=_.state.context.vars,_.state.context=_.state.context.prev}function j(e,t){var r=function(){var r=_.state,o=r.indented;if("stat"==r.lexical.type)o=r.lexical.indented;else for(var n=r.lexical;n&&")"==n.type&&n.align;n=n.prev)o=n.indented;r.lexical=new k(o,_.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function I(){var e=_.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function L(e){return function t(r){return r==e?M():";"==e||"}"==r||")"==r||"]"==r?C():M(t)}}function q(e,t){return"var"==e?M(j("vardef",t),xe,L(";"),I):"keyword a"==e?M(j("form"),B,q,I):"keyword b"==e?M(j("form"),q,I):"keyword d"==e?_.stream.match(/^\s*$/,!1)?M():M(j("stat"),K,L(";"),I):"debugger"==e?M(L(";")):"{"==e?M(j("}"),N,ae,I,A):";"==e?M():"if"==e?("else"==_.state.lexical.info&&_.state.cc[_.state.cc.length-1]==I&&_.state.cc.pop()(),M(j("form"),B,q,I,Re)):"function"==e?M(Te):"for"==e?M(j("form"),Se,q,I):"class"==e||l&&"interface"==t?(_.marked="keyword",M(j("form","class"==e?e:t),je,I)):"variable"==e?l&&"declare"==t?(_.marked="keyword",M(q)):l&&("module"==t||"enum"==t||"type"==t)&&_.stream.match(/^\s*\w/,!1)?(_.marked="keyword","enum"==t?M(Ze):"type"==t?M(Fe,L("operator"),de,L(";")):M(j("form"),ke,L("{"),j("}"),ae,I,I)):l&&"namespace"==t?(_.marked="keyword",M(j("form"),P,q,I)):l&&"abstract"==t?(_.marked="keyword",M(q)):M(j("stat"),X):"switch"==e?M(j("form"),B,L("{"),j("}","switch"),N,ae,I,I,A):"case"==e?M(P,L(":")):"default"==e?M(L(":")):"catch"==e?M(j("form"),F,D,q,I,A):"export"==e?M(j("stat"),De,I):"import"==e?M(j("stat"),Ue,I):"async"==e?M(q):"@"==t?M(P,q):C(j("stat"),P,L(";"),I)}function D(e){if("("==e)return M(Ne,L(")"))}function P(e,t){return V(e,t,!1)}function U(e,t){return V(e,t,!0)}function B(e){return"("!=e?C():M(j(")"),K,L(")"),I)}function V(e,t,r){if(_.state.fatArrowAt==_.stream.start){var o=r?G:Q;if("("==e)return M(F,j(")"),ne(Ne,")"),I,L("=>"),o,A);if("variable"==e)return C(F,ke,L("=>"),o,A)}var n=r?H:W;return x.hasOwnProperty(e)?M(n):"function"==e?M(Te,n):"class"==e||l&&"interface"==t?(_.marked="keyword",M(j("form"),Ae,I)):"keyword c"==e||"async"==e?M(r?U:P):"("==e?M(j(")"),K,L(")"),I,n):"operator"==e||"spread"==e?M(r?U:P):"["==e?M(j("]"),He,I,n):"{"==e?ie(te,"}",null,n):"quasi"==e?C(Z,n):"new"==e?M(function(e){return function(t){return"."==t?M(e?$:Y):"variable"==t&&l?M(be,e?H:W):C(e?U:P)}}(r)):"import"==e?M(P):M()}function K(e){return e.match(/[;\}\)\],]/)?C():C(P)}function W(e,t){return","==e?M(K):H(e,t,!1)}function H(e,t,r){var o=0==r?W:H,n=0==r?P:U;return"=>"==e?M(F,r?G:Q,A):"operator"==e?/\+\+|--/.test(t)||l&&"!"==t?M(o):l&&"<"==t&&_.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?M(j(">"),ne(de,">"),I,o):"?"==t?M(P,L(":"),n):M(n):"quasi"==e?C(Z,o):";"!=e?"("==e?ie(U,")","call",o):"."==e?M(ee,o):"["==e?M(j("]"),K,L("]"),I,o):l&&"as"==t?(_.marked="keyword",M(de,o)):"regexp"==e?(_.state.lastType=_.marked="operator",_.stream.backUp(_.stream.pos-_.stream.start-1),M(n)):void 0:void 0}function Z(e,t){return"quasi"!=e?C():"${"!=t.slice(t.length-2)?M(Z):M(P,J)}function J(e){if("}"==e)return _.marked="string-2",_.state.tokenize=b,M(Z)}function Q(e){return y(_.stream,_.state),C("{"==e?q:P)}function G(e){return y(_.stream,_.state),C("{"==e?q:U)}function Y(e,t){if("target"==t)return _.marked="keyword",M(W)}function $(e,t){if("target"==t)return _.marked="keyword",M(H)}function X(e){return":"==e?M(I,q):C(W,L(";"),I)}function ee(e){if("variable"==e)return _.marked="property",M()}function te(e,t){if("async"==e)return _.marked="property",M(te);if("variable"==e||"keyword"==_.style){return _.marked="property","get"==t||"set"==t?M(re):(l&&_.state.fatArrowAt==_.stream.start&&(r=_.stream.match(/^\s*:\s*/,!1))&&(_.state.fatArrowAt=_.stream.pos+r[0].length),M(oe));var r}else{if("number"==e||"string"==e)return _.marked=s?"property":_.style+" property",M(oe);if("jsonld-keyword"==e)return M(oe);if(l&&z(t))return _.marked="keyword",M(te);if("["==e)return M(P,se,L("]"),oe);if("spread"==e)return M(U,oe);if("*"==t)return _.marked="keyword",M(te);if(":"==e)return C(oe)}}function re(e){return"variable"!=e?C(oe):(_.marked="property",M(Te))}function oe(e){return":"==e?M(U):"("==e?C(Te):void 0}function ne(e,t,r){function o(n,i){if(r?r.indexOf(n)>-1:","==n){var a=_.state.lexical;return"call"==a.info&&(a.pos=(a.pos||0)+1),M(function(r,o){return r==t||o==t?C():C(e)},o)}return n==t||i==t?M():r&&r.indexOf(";")>-1?C(e):M(L(t))}return function(r,n){return r==t||n==t?M():C(e,o)}}function ie(e,t,r){for(var o=3;o"),de):void 0}function me(e){if("=>"==e)return M(de)}function fe(e){return"}"==e?M():","==e||";"==e?M(fe):C(pe,fe)}function pe(e,t){return"variable"==e||"keyword"==_.style?(_.marked="property",M(pe)):"?"==t||"number"==e||"string"==e?M(pe):":"==e?M(de):"["==e?M(L("variable"),ce,L("]"),pe):"("==e?C(Oe,pe):e.match(/[;\}\)\],]/)?void 0:M()}function he(e,t){return"variable"==e&&_.stream.match(/^\s*[?:]/,!1)||"?"==t?M(he):":"==e?M(de):"spread"==e?M(he):C(de)}function ge(e,t){return"<"==t?M(j(">"),ne(de,">"),I,ge):"|"==t||"."==e||"&"==t?M(de):"["==e?M(de,L("]"),ge):"extends"==t||"implements"==t?(_.marked="keyword",M(de)):"?"==t?M(de,L(":"),de):void 0}function be(e,t){if("<"==t)return M(j(">"),ne(de,">"),I,ge)}function ve(){return C(de,ye)}function ye(e,t){if("="==t)return M(de)}function xe(e,t){return"enum"==t?(_.marked="keyword",M(Ze)):C(ke,se,Ce,Me)}function ke(e,t){return l&&z(t)?(_.marked="keyword",M(ke)):"variable"==e?(S(t),M()):"spread"==e?M(ke):"["==e?ie(_e,"]"):"{"==e?ie(we,"}"):void 0}function we(e,t){return"variable"!=e||_.stream.match(/^\s*:/,!1)?("variable"==e&&(_.marked="property"),"spread"==e?M(ke):"}"==e?C():"["==e?M(P,L("]"),L(":"),we):M(L(":"),ke,Ce)):(S(t),M(Ce))}function _e(){return C(ke,Ce)}function Ce(e,t){if("="==t)return M(U)}function Me(e){if(","==e)return M(xe)}function Re(e,t){if("keyword b"==e&&"else"==t)return M(j("form","else"),q,I)}function Se(e,t){return"await"==t?M(Se):"("==e?M(j(")"),ze,I):void 0}function ze(e){return"var"==e?M(xe,Ee):"variable"==e?M(Ee):C(Ee)}function Ee(e,t){return")"==e?M():";"==e?M(Ee):"in"==t||"of"==t?(_.marked="keyword",M(P,Ee)):C(P,Ee)}function Te(e,t){return"*"==t?(_.marked="keyword",M(Te)):"variable"==e?(S(t),M(Te)):"("==e?M(F,j(")"),ne(Ne,")"),I,le,q,A):l&&"<"==t?M(j(">"),ne(ve,">"),I,Te):void 0}function Oe(e,t){return"*"==t?(_.marked="keyword",M(Oe)):"variable"==e?(S(t),M(Oe)):"("==e?M(F,j(")"),ne(Ne,")"),I,le,A):l&&"<"==t?M(j(">"),ne(ve,">"),I,Oe):void 0}function Fe(e,t){return"keyword"==e||"variable"==e?(_.marked="type",M(Fe)):"<"==t?M(j(">"),ne(ve,">"),I):void 0}function Ne(e,t){return"@"==t&&M(P,Ne),"spread"==e?M(Ne):l&&z(t)?(_.marked="keyword",M(Ne)):l&&"this"==e?M(se,Ce):C(ke,se,Ce)}function Ae(e,t){return"variable"==e?je(e,t):Ie(e,t)}function je(e,t){if("variable"==e)return S(t),M(Ie)}function Ie(e,t){return"<"==t?M(j(">"),ne(ve,">"),I,Ie):"extends"==t||"implements"==t||l&&","==e?("implements"==t&&(_.marked="keyword"),M(l?de:P,Ie)):"{"==e?M(j("}"),Le,I):void 0}function Le(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||l&&z(t))&&_.stream.match(/^\s+[\w$\xa1-\uffff]/,!1)?(_.marked="keyword",M(Le)):"variable"==e||"keyword"==_.style?(_.marked="property",M(qe,Le)):"number"==e||"string"==e?M(qe,Le):"["==e?M(P,se,L("]"),qe,Le):"*"==t?(_.marked="keyword",M(Le)):l&&"("==e?C(Oe,Le):";"==e||","==e?M(Le):"}"==e?M():"@"==t?M(P,Le):void 0}function qe(e,t){if("?"==t)return M(qe);if(":"==e)return M(de,Ce);if("="==t)return M(U);var r=_.state.lexical.prev;return C(r&&"interface"==r.info?Oe:Te)}function De(e,t){return"*"==t?(_.marked="keyword",M(We,L(";"))):"default"==t?(_.marked="keyword",M(P,L(";"))):"{"==e?M(ne(Pe,"}"),We,L(";")):C(q)}function Pe(e,t){return"as"==t?(_.marked="keyword",M(L("variable"))):"variable"==e?C(U,Pe):void 0}function Ue(e){return"string"==e?M():"("==e?C(P):C(Be,Ve,We)}function Be(e,t){return"{"==e?ie(Be,"}"):("variable"==e&&S(t),"*"==t&&(_.marked="keyword"),M(Ke))}function Ve(e){if(","==e)return M(Be,Ve)}function Ke(e,t){if("as"==t)return _.marked="keyword",M(Be)}function We(e,t){if("from"==t)return _.marked="keyword",M(P)}function He(e){return"]"==e?M():C(ne(U,"]"))}function Ze(){return C(j("form"),ke,L("{"),j("}"),ne(Je,"}"),I,I)}function Je(){return C(ke,Ce)}function Qe(e,t,r){return t.tokenize==h&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(r||0)))}return A.lex=!0,I.lex=!0,{startState:function(e){var t={tokenize:h,lastType:"sof",cc:[],lexical:new k((e||0)-i,0,"block",!1),localVars:r.localVars,context:r.localVars&&new E(null,null,!1),indented:e||0};return r.globalVars&&"object"==typeof r.globalVars&&(t.globalVars=r.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),y(e,t)),t.tokenize!=g&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==o?r:(t.lastType="operator"!=o||"++"!=n&&"--"!=n?o:"incdec",function(e,t,r,o,n){var i=e.cc;for(_.state=e,_.stream=n,_.marked=null,_.cc=i,_.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((i.length?i.pop():c?P:q)(r,o)){for(;i.length&&i[i.length-1].lex;)i.pop()();return _.marked?_.marked:"variable"==r&&w(e,o)?"variable-2":t}}(t,r,o,n,e))},indent:function(t,o){if(t.tokenize==g||t.tokenize==b)return e.Pass;if(t.tokenize!=h)return 0;var n,s=o&&o.charAt(0),c=t.lexical;if(!/^\s*else\b/.test(o))for(var l=t.cc.length-1;l>=0;--l){var u=t.cc[l];if(u==I)c=c.prev;else if(u!=Re)break}for(;("stat"==c.type||"form"==c.type)&&("}"==s||(n=t.cc[t.cc.length-1])&&(n==W||n==H)&&!/^[,\.=+\-*:?[\(]/.test(o));)c=c.prev;a&&")"==c.type&&"stat"==c.prev.type&&(c=c.prev);var d=c.type,f=s==d;return"vardef"==d?c.indented+("operator"==t.lastType||","==t.lastType?c.info.length+1:0):"form"==d&&"{"==s?c.indented:"form"==d?c.indented+i:"stat"==d?c.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||m.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,o)?a||i:0):"switch"!=c.info||f||0==r.doubleIndentSwitch?c.align?c.column+(f?0:1):c.indented+(f?0:i):c.indented+(/^(?:case|default)\b/.test(o)?i:2*i)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:c?null:"/*",blockCommentEnd:c?null:"*/",blockCommentContinue:c?null:" * ",lineComment:c?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:c?"json":"javascript",jsonldMode:s,jsonMode:c,expressionAllowed:Qe,skipExpression:function(e){var t=e.cc[e.cc.length-1];t!=P&&t!=U||e.cc.pop()}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})})(r("8U58"))},"5IK6":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},[r("input",e._b({staticClass:"w-full form-control form-input form-input-bordered",attrs:{id:e.field.attribute,dusk:e.field.attribute,disabled:e.isReadonly,list:e.field.attribute+"-list"},domProps:{value:e.value},on:{input:e.handleChange}},"input",e.extraAttributes,!1)),e._v(" "),e.field.suggestions&&e.field.suggestions.length>0?r("datalist",{attrs:{id:e.field.attribute+"-list"}},e._l(e.field.suggestions,function(e){return r("option",{key:e,domProps:{value:e}})}),0):e._e()])],2)},staticRenderFns:[]}},"5N57":function(e,t,r){var o=r("ICSD")(r("TQ3y"),"Set");e.exports=o},"5VRH":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.HandlesValidationErrors,o.FormField,o.InteractsWithDates],data:function(){return{localizedValue:""}},methods:{setInitialValue:function(){this.value=this.field.value||"",""!==this.value&&(this.localizedValue=this.fromAppTimezone(this.value))},fill:function(e){e.append(this.field.attribute,this.value||"")},handleChange:function(e){this.value=this.toAppTimezone(e)}},computed:{firstDayOfWeek:function(){return this.field.firstDayOfWeek||0},format:function(){return this.field.format||"YYYY-MM-DD HH:mm:ss"},placeholder:function(){return this.field.placeholder||moment().format(this.format)},pickerFormat:function(){return this.field.pickerFormat||"Y-m-d H:i:S"},pickerDisplayFormat:function(){return this.field.pickerDisplayFormat||"Y-m-d H:i:S"}}}},"5i+g":function(e,t,r){"use strict";var o=r("4oCz");e.exports=o.isStandardBrowserEnv()?{write:function(e,t,r,n,i,a){var s=[];s.push(e+"="+encodeURIComponent(t)),o.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),o.isString(n)&&s.push("path="+n),o.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},"5iyv":function(e,t,r){var o=r("VU/8")(r("re4M"),r("4uHs"),!1,null,null,null);e.exports=o.exports},"5p5p":function(e,t,r){var o=r("VU/8")(r("Mh/r"),r("CAOf"),!1,null,null,null);e.exports=o.exports},"5zWu":function(e,t,r){var o=r("VU/8")(r("g+Xb"),r("LzvO"),!1,null,null,null);e.exports=o.exports},"5zde":function(e,t,r){r("zQR9"),r("qyJz"),e.exports=r("FeBl").Array.from},"63we":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-mdn-like.CodeMirror{color:#999;background-color:#fff}.cm-s-mdn-like div.CodeMirror-selected{background:#cfc}.cm-s-mdn-like .CodeMirror-line::selection,.cm-s-mdn-like .CodeMirror-line>span::selection,.cm-s-mdn-like .CodeMirror-line>span>span::selection{background:#cfc}.cm-s-mdn-like .CodeMirror-line::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span>span::-moz-selection{background:#cfc}.cm-s-mdn-like .CodeMirror-gutters{background:#f8f8f8;border-left:6px solid rgba(0,83,159,.65);color:#333}.cm-s-mdn-like .CodeMirror-linenumber{color:#aaa;padding-left:8px}.cm-s-mdn-like .CodeMirror-cursor{border-left:2px solid #222}.cm-s-mdn-like .cm-keyword{color:#6262ff}.cm-s-mdn-like .cm-atom{color:#f90}.cm-s-mdn-like .cm-number{color:#ca7841}.cm-s-mdn-like .cm-def{color:#8da6ce}.cm-s-mdn-like span.cm-tag,.cm-s-mdn-like span.cm-variable-2{color:#690}.cm-s-mdn-like .cm-variable,.cm-s-mdn-like span.cm-def,.cm-s-mdn-like span.cm-type,.cm-s-mdn-like span.cm-variable-3{color:#07a}.cm-s-mdn-like .cm-property{color:#905}.cm-s-mdn-like .cm-qualifier{color:#690}.cm-s-mdn-like .cm-operator{color:#cda869}.cm-s-mdn-like .cm-comment{color:#777;font-weight:400}.cm-s-mdn-like .cm-string{color:#07a;font-style:italic}.cm-s-mdn-like .cm-string-2{color:#bd6b18}.cm-s-mdn-like .cm-meta{color:#000}.cm-s-mdn-like .cm-builtin{color:#9b7536}.cm-s-mdn-like .cm-tag{color:#997643}.cm-s-mdn-like .cm-attribute{color:#d6bb6d}.cm-s-mdn-like .cm-header{color:#ff6400}.cm-s-mdn-like .cm-hr{color:#aeaeae}.cm-s-mdn-like .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-mdn-like .cm-error{border-bottom:1px solid red}div.cm-s-mdn-like .CodeMirror-activeline-background{background:#efefff}div.cm-s-mdn-like span.CodeMirror-matchingbracket{outline:1px solid grey;color:inherit}.cm-s-mdn-like.CodeMirror{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=)}",""])},"678s":function(e,t,r){var o=r("VU/8")(r("Z1JQ"),r("JeTL"),!1,null,null,null);e.exports=o.exports},"68a3":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return this.value?t("icon",{staticClass:"text-success",attrs:{viewBox:this.viewBox,width:this.width,height:this.height,type:"check-circle"}}):t("icon",{staticClass:"text-danger",attrs:{viewBox:this.viewBox,width:this.width,height:this.height,type:"x-circle"}})},staticRenderFns:[]}},"6BFi":function(e,t,r){var o=r("PkgM");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("222edc76",o,!0,{})},"6DaT":function(e,t,r){var o=r("VU/8")(null,r("WKBd"),!0,null,null,null);e.exports=o.exports},"6Ij/":function(e,t,r){var o=r("VU/8")(r("Bveg"),r("UzId"),!1,null,null,null);e.exports=o.exports},"6MiT":function(e,t,r){var o=r("aCM0"),n=r("UnEC"),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||n(e)&&o(e)==i}},"6OA+":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,"trix-editor{border:1px solid #bbb;border-radius:3px;margin:0;padding:.4em .6em;min-height:5em;outline:none}trix-toolbar *{box-sizing:border-box}trix-toolbar .trix-button-row{display:flex;flex-wrap:nowrap;justify-content:space-between;overflow-x:auto}trix-toolbar .trix-button-group{display:flex;margin-bottom:10px;border:1px solid #bbb;border-top-color:#ccc;border-bottom-color:#888;border-radius:3px}trix-toolbar .trix-button-group:not(:first-child){margin-left:1.5vw}@media (max-device-width:768px){trix-toolbar .trix-button-group:not(:first-child){margin-left:0}}trix-toolbar .trix-button-group-spacer{flex-grow:1}@media (max-device-width:768px){trix-toolbar .trix-button-group-spacer{display:none}}trix-toolbar .trix-button{position:relative;float:left;color:rgba(0,0,0,.6);font-size:.75em;font-weight:600;white-space:nowrap;padding:0 .5em;margin:0;outline:none;border:none;border-bottom:1px solid #ddd;border-radius:0;background:transparent}trix-toolbar .trix-button:not(:first-child){border-left:1px solid #ccc}trix-toolbar .trix-button.trix-active{background:#cbeefa;color:#000}trix-toolbar .trix-button:not(:disabled){cursor:pointer}trix-toolbar .trix-button:disabled{color:rgba(0,0,0,.125)}@media (max-device-width:768px){trix-toolbar .trix-button{letter-spacing:-.01em;padding:0 .3em}}trix-toolbar .trix-button--icon{font-size:inherit;width:2.6em;height:1.6em;max-width:calc(.8em + 4vw);text-indent:-9999px}@media (max-device-width:768px){trix-toolbar .trix-button--icon{height:2em;max-width:calc(.8em + 3.5vw)}}trix-toolbar .trix-button--icon:before{display:inline-block;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.6;content:\"\";background-position:50%;background-repeat:no-repeat;background-size:contain}@media (max-device-width:768px){trix-toolbar .trix-button--icon:before{right:6%;left:6%}}trix-toolbar .trix-button--icon.trix-active:before{opacity:1}trix-toolbar .trix-button--icon:disabled:before{opacity:.125}trix-toolbar .trix-button--icon-attach:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M16.5 6v11.5a4 4 0 1 1-8 0V5a2.5 2.5 0 0 1 5 0v10.5a1 1 0 1 1-2 0V6H10v9.5a2.5 2.5 0 0 0 5 0V5a4 4 0 1 0-8 0v12.5a5.5 5.5 0 0 0 11 0V6h-1.5z'/%3E%3C/svg%3E\");top:8%;bottom:4%}trix-toolbar .trix-button--icon-bold:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M15.6 11.8c1-.7 1.6-1.8 1.6-2.8a4 4 0 0 0-4-4H7v14h7c2.1 0 3.7-1.7 3.7-3.8 0-1.5-.8-2.8-2.1-3.4zM10 7.5h3a1.5 1.5 0 1 1 0 3h-3v-3zm3.5 9H10v-3h3.5a1.5 1.5 0 1 1 0 3z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-italic:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M10 5v3h2.2l-3.4 8H6v3h8v-3h-2.2l3.4-8H18V5h-8z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-link:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M9.88 13.7a4.3 4.3 0 0 1 0-6.07l3.37-3.37a4.26 4.26 0 0 1 6.07 0 4.3 4.3 0 0 1 0 6.06l-1.96 1.72a.91.91 0 1 1-1.3-1.3l1.97-1.71a2.46 2.46 0 0 0-3.48-3.48l-3.38 3.37a2.46 2.46 0 0 0 0 3.48.91.91 0 1 1-1.3 1.3z'/%3E%3Cpath d='M4.25 19.46a4.3 4.3 0 0 1 0-6.07l1.93-1.9a.91.91 0 1 1 1.3 1.3l-1.93 1.9a2.46 2.46 0 0 0 3.48 3.48l3.37-3.38c.96-.96.96-2.52 0-3.48a.91.91 0 1 1 1.3-1.3 4.3 4.3 0 0 1 0 6.07l-3.38 3.38a4.26 4.26 0 0 1-6.07 0z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-strike:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12.73 14l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5 0 .3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52 13.52 0 0 1 7 14.95v3.37a10.64 10.64 0 0 0 4.84.88c1.26 0 2.35-.19 3.28-.56.93-.37 1.64-.9 2.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1 0-1.29.52-2.3 1.58-3.02 1.05-.72 2.5-1.08 4.34-1.08 1.62 0 3.28.34 4.97 1l-1.3 2.93c-1.47-.6-2.73-.9-3.8-.9-.55 0-.96.08-1.2.26-.26.17-.38.38-.38.64 0 .27.16.52.48.74.17.12.53.3 1.05.53H7.23zM3 13h18v-2H3v2z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-quote:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M6 17h3l2-4V7H5v6h3zm8 0h3l2-4V7h-6v6h3z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-heading-1:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12 9v3H9v7H6v-7H3V9h9zM8 4h14v3h-6v12h-3V7H8V4z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-code:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M18.2 12L15 15.2l1.4 1.4L21 12l-4.6-4.6L15 8.8l3.2 3.2zM5.8 12L9 8.8 7.6 7.4 3 12l4.6 4.6L9 15.2 5.8 12z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-bullet-list:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M4 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm0 6a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm4 3h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-number-list:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M2 17h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1 3h1.8L2 13.1v.9h3v-1H3.2L5 10.9V10H2v1zm5-6v2h14V5H7zm0 14h14v-2H7v2zm0-6h14v-2H7v2z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-undo:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M12.5 8c-2.6 0-5 1-6.9 2.6L2 7v9h9l-3.6-3.6A8 8 0 0 1 20 16l2.4-.8a10.5 10.5 0 0 0-10-7.2z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-redo:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M18.4 10.6a10.5 10.5 0 0 0-16.9 4.6L4 16a8 8 0 0 1 12.7-3.6L13 16h9V7l-3.6 3.6z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-decrease-nesting-level:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M3 19h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8 2.9L6 14.2 4 12l2-2-1.4-1.5L1 12l.7.7zM3 5v2h19V5H3z'/%3E%3C/svg%3E\")}trix-toolbar .trix-button--icon-increase-nesting-level:before{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M3 19h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1 14.2l1.4 1.4L6 12l-.7-.7-2.8-2.8L1 9.9 3.1 12zM3 5v2h19V5H3z'/%3E%3C/svg%3E\")}trix-toolbar .trix-dialogs{position:relative}trix-toolbar .trix-dialog{position:absolute;top:0;left:0;right:0;font-size:.75em;padding:15px 10px;background:#fff;box-shadow:0 .3em 1em #ccc;border-top:2px solid #888;border-radius:5px;z-index:5}trix-toolbar .trix-input--dialog{font-size:inherit;font-weight:400;padding:.5em .8em;margin:0 10px 0 0;border-radius:3px;border:1px solid #bbb;background-color:#fff;box-shadow:none;outline:none;-webkit-appearance:none;-moz-appearance:none}trix-toolbar .trix-input--dialog.validate:invalid{box-shadow:0 0 1.5px 1px red}trix-toolbar .trix-button--dialog{font-size:inherit;padding:.5em;border-bottom:none}trix-toolbar .trix-dialog--link{max-width:600px}trix-toolbar .trix-dialog__link-fields{display:flex;align-items:baseline}trix-toolbar .trix-dialog__link-fields .trix-input{flex:1}trix-toolbar .trix-dialog__link-fields .trix-button-group{flex:0 0 content;margin:0}trix-editor [data-trix-mutable]:not(.attachment__caption-editor){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}trix-editor [data-trix-cursor-target]::-moz-selection,trix-editor [data-trix-mutable]::-moz-selection,trix-editor [data-trix-mutable] ::-moz-selection{background:none}trix-editor [data-trix-cursor-target]::selection,trix-editor [data-trix-mutable]::selection,trix-editor [data-trix-mutable] ::selection{background:none}trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection{background:highlight}trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection{background:highlight}trix-editor [data-trix-mutable].attachment.attachment--file{box-shadow:0 0 0 2px highlight;border-color:transparent}trix-editor [data-trix-mutable].attachment img{box-shadow:0 0 0 2px highlight}trix-editor .attachment{position:relative}trix-editor .attachment:hover{cursor:default}trix-editor .attachment--preview .attachment__caption:hover{cursor:text}trix-editor .attachment__progress{position:absolute;z-index:1;height:20px;top:calc(50% - 10px);left:5%;width:90%;opacity:.9;transition:opacity .2s ease-in}trix-editor .attachment__progress[value=\"100\"]{opacity:0}trix-editor .attachment__caption-editor{display:inline-block;width:100%;margin:0;padding:0;font-size:inherit;font-family:inherit;line-height:inherit;color:inherit;text-align:center;vertical-align:top;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none}trix-editor .attachment__toolbar{position:absolute;z-index:1;top:-.9em;left:0;width:100%;text-align:center}trix-editor .trix-button-group{display:inline-flex}trix-editor .trix-button{position:relative;float:left;color:#666;white-space:nowrap;font-size:80%;padding:0 .8em;margin:0;outline:none;border:none;border-radius:0;background:transparent}trix-editor .trix-button:not(:first-child){border-left:1px solid #ccc}trix-editor .trix-button.trix-active{background:#cbeefa}trix-editor .trix-button:not(:disabled){cursor:pointer}trix-editor .trix-button--remove{text-indent:-9999px;display:inline-block;padding:0;outline:none;width:1.8em;height:1.8em;line-height:1.8em;border-radius:50%;background-color:#fff;border:2px solid highlight;box-shadow:1px 1px 6px rgba(0,0,0,.25)}trix-editor .trix-button--remove:before{display:inline-block;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.7;content:\"\";background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg height='24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 6.4L17.6 5 12 10.6 6.4 5 5 6.4l5.6 5.6L5 17.6 6.4 19l5.6-5.6 5.6 5.6 1.4-1.4-5.6-5.6z'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E\");background-position:50%;background-repeat:no-repeat;background-size:90%}trix-editor .trix-button--remove:hover{border-color:#333}trix-editor .trix-button--remove:hover:before{opacity:1}trix-editor .attachment__metadata-container{position:relative}trix-editor .attachment__metadata{position:absolute;left:50%;top:2em;transform:translate(-50%);max-width:90%;padding:.1em .6em;font-size:.8em;color:#fff;background-color:rgba(0,0,0,.7);border-radius:3px}trix-editor .attachment__metadata .attachment__name{display:inline-block;max-width:100%;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}trix-editor .attachment__metadata .attachment__size{margin-left:.2em;white-space:nowrap}.trix-content{line-height:1.5}.trix-content *{box-sizing:border-box;margin:0;padding:0}.trix-content h1{font-size:1.2em;line-height:1.2}.trix-content blockquote{border:0 solid #ccc;border-left-width:.3em;margin-left:.3em;padding-left:.6em}.trix-content [dir=rtl] blockquote,.trix-content blockquote[dir=rtl]{border-width:0;border-right-width:.3em;margin-right:.3em;padding-right:.6em}.trix-content li{margin-left:1em}.trix-content [dir=rtl] li{margin-right:1em}.trix-content pre{display:inline-block;width:100%;vertical-align:top;font-family:monospace;font-size:.9em;padding:.5em;white-space:pre;background-color:#eee;overflow-x:auto}.trix-content img{max-width:100%;height:auto}.trix-content .attachment{display:inline-block;position:relative;max-width:100%}.trix-content .attachment a{color:inherit;text-decoration:none}.trix-content .attachment a:hover,.trix-content .attachment a:visited:hover{color:inherit}.trix-content .attachment__caption{text-align:center}.trix-content .attachment__caption .attachment__name+.attachment__size:before{content:\" \\B7 \"}.trix-content .attachment--preview{width:100%;text-align:center}.trix-content .attachment--preview .attachment__caption{color:#666;font-size:.9em;line-height:1.2}.trix-content .attachment--file{color:#333;line-height:1;margin:0 2px 2px;padding:.4em 1em;border:1px solid #bbb;border-radius:5px}.trix-content .attachment-gallery{display:flex;flex-wrap:wrap;position:relative}.trix-content .attachment-gallery .attachment{flex:1 0 33%;padding:0 .5em;max-width:33%}.trix-content .attachment-gallery.attachment-gallery--2 .attachment,.trix-content .attachment-gallery.attachment-gallery--4 .attachment{flex-basis:50%;max-width:50%}",""])},"6RUu":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={methods:{handleClose:function(){this.$emit("close")},handleConfirm:function(){this.$emit("confirm")}},mounted:function(){this.$refs.confirmButton.focus()}}},"6S2o":function(e,t,r){(function(e){"use strict";function t(e,t,r,o,n,i){this.indented=e,this.column=t,this.type=r,this.info=o,this.align=n,this.prev=i}function r(e,r,o,n){var i=e.indented;return e.context&&"statement"==e.context.type&&"statement"!=o&&(i=e.context.indented),e.context=new t(i,r,o,n,null,e.context)}function o(e){var t=e.context.type;return")"!=t&&"]"!=t&&"}"!=t||(e.indented=e.context.indented),e.context=e.context.prev}function n(e,t,r){return"variable"==t.prevToken||"type"==t.prevToken||(!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(e.string.slice(0,r))||(!(!t.typeAtEndOfLine||e.column()!=e.indentation())||void 0))}function i(e){for(;;){if(!e||"top"==e.type)return!0;if("}"==e.type&&"namespace"!=e.prev.info)return!1;e=e.prev}}function a(e){for(var t={},r=e.split(" "),o=0;o!?|\/]/,E=c.isIdentifierChar||/[\w\$_\xa1-\uffff]/,T=c.isReservedIdentifier||!1;function O(e,t){var r,o=e.next();if(x[o]){var n=x[o](e,t);if(!1!==n)return n}if('"'==o||"'"==o)return t.tokenize=(r=o,function(e,t){for(var o,n=!1,i=!1;null!=(o=e.next());){if(o==r&&!n){i=!0;break}n=!n&&"\\"==o}return(i||!n&&!k)&&(t.tokenize=null),"string"}),t.tokenize(e,t);if(R.test(o)){if(e.backUp(1),e.match(S))return"number";e.next()}if(M.test(o))return l=o,null;if("/"==o){if(e.eat("*"))return t.tokenize=F,F(e,t);if(e.eat("/"))return e.skipToEnd(),"comment"}if(z.test(o)){for(;!e.match(/^\/[\/*]/,!1)&&e.eat(z););return"operator"}if(e.eatWhile(E),C)for(;e.match(C);)e.eatWhile(E);var i=e.current();return s(p,i)?(s(b,i)&&(l="newstatement"),s(v,i)&&(u=!0),"keyword"):s(h,i)?"type":s(g,i)||T&&T(i)?(s(b,i)&&(l="newstatement"),"builtin"):s(y,i)?"atom":"variable"}function F(e,t){for(var r,o=!1;r=e.next();){if("/"==r&&o){t.tokenize=null;break}o="*"==r}return"comment"}function N(e,t){c.typeFirstDefinitions&&e.eol()&&i(t.context)&&(t.typeAtEndOfLine=n(e,t,e.pos))}return{startState:function(e){return{tokenize:null,context:new t((e||0)-d,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(e,t){var a=t.context;if(e.sol()&&(null==a.align&&(a.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return N(e,t),null;l=u=null;var s=(t.tokenize||O)(e,t);if("comment"==s||"meta"==s)return s;if(null==a.align&&(a.align=!0),";"==l||":"==l||","==l&&e.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==t.context.type;)o(t);else if("{"==l)r(t,e.column(),"}");else if("["==l)r(t,e.column(),"]");else if("("==l)r(t,e.column(),")");else if("}"==l){for(;"statement"==a.type;)a=o(t);for("}"==a.type&&(a=o(t));"statement"==a.type;)a=o(t)}else l==a.type?o(t):w&&(("}"==a.type||"top"==a.type)&&";"!=l||"statement"==a.type&&"newstatement"==l)&&r(t,e.column(),"statement",e.current());if("variable"==s&&("def"==t.prevToken||c.typeFirstDefinitions&&n(e,t,e.start)&&i(t.context)&&e.match(/^\s*\(/,!1))&&(s="def"),x.token){var d=x.token(e,t,s);void 0!==d&&(s=d)}return"def"==s&&!1===c.styleDefs&&(s="variable"),t.startOfLine=!1,t.prevToken=u?"def":s||l,N(e,t),s},indent:function(t,r){if(t.tokenize!=O&&null!=t.tokenize||t.typeAtEndOfLine)return e.Pass;var o=t.context,n=r&&r.charAt(0),i=n==o.type;if("statement"==o.type&&"}"==n&&(o=o.prev),c.dontIndentStatements)for(;"statement"==o.type&&c.dontIndentStatements.test(o.info);)o=o.prev;if(x.indent){var a=x.indent(t,o,r,d);if("number"==typeof a)return a}var s=o.prev&&"switch"==o.prev.info;if(c.allmanIndentation&&/[{(]/.test(n)){for(;"top"!=o.type&&"}"!=o.type;)o=o.prev;return o.indented}return"statement"==o.type?o.indented+("{"==n?0:m):!o.align||f&&")"==o.type?")"!=o.type||i?o.indented+(i?0:d)+(i||!s||/^(?:case|default)\b/.test(r)?0:d):o.indented+m:o.column+(i?0:1)},electricInput:_?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});var c="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",l="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",u="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",d="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",m=a("int long char short double float unsigned signed void bool"),f=a("SEL instancetype id Class Protocol BOOL");function p(e){return s(m,e)||/.+_t$/.test(e)}function h(e){return p(e)||s(f,e)}var g="case do else for if switch while struct enum union";function b(e,t){if(!t.startOfLine)return!1;for(var r,o=null;r=e.peek();){if("\\"==r&&e.match(/^.$/)){o=b;break}if("/"==r&&e.match(/^\/[\/\*]/,!1))break;e.next()}return t.tokenize=o,"meta"}function v(e,t){return"type"==t.prevToken&&"type"}function y(e){return!(!e||e.length<2)&&("_"==e[0]&&("_"==e[1]||e[1]!==e[1].toLowerCase()))}function x(e){return e.eatWhile(/[\w\.']/),"number"}function k(e,t){if(e.backUp(1),e.match(/(R|u8R|uR|UR|LR)/)){var r=e.match(/"([^\s\\()]{0,16})\(/);return!!r&&(t.cpp11RawStringDelim=r[1],t.tokenize=C,C(e,t))}return e.match(/(u8|u|U|L)/)?!!e.match(/["']/,!1)&&"string":(e.next(),!1)}function w(e){var t=/(\w+)::~?(\w+)$/.exec(e);return t&&t[1]==t[2]}function _(e,t){for(var r;null!=(r=e.next());)if('"'==r&&!e.eat('"')){t.tokenize=null;break}return"string"}function C(e,t){var r=t.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&");return e.match(new RegExp(".*?\\)"+r+'"'))?t.tokenize=null:e.skipToEnd(),"string"}function M(t,r){"string"==typeof t&&(t=[t]);var o=[];function n(e){if(e)for(var t in e)e.hasOwnProperty(t)&&o.push(t)}n(r.keywords),n(r.types),n(r.builtin),n(r.atoms),o.length&&(r.helperType=t[0],e.registerHelper("hintWords",t[0],o));for(var i=0;i!?|\/#:@]/,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return!!e.match('""')&&(t.tokenize=R,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},"=":function(e,r){var o=r.context;return!("}"!=o.type||!o.align||!e.eat(">"))&&(r.context=new t(o.indented,o.column,o.type,o.info,null,o.prev),"operator")},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=S(1),t.tokenize(e,t))}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}}),M("text/x-kotlin",{name:"clike",keywords:a("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam"),types:a("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:a("catch class do else finally for if where try while enum"),defKeywords:a("class val var object interface fun"),atoms:a("true false null this"),hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},"*":function(e,t){return"."==t.prevToken?"variable":"operator"},'"':function(e,t){var r;return t.tokenize=(r=e.match('""'),function(e,t){for(var o,n=!1,i=!1;!e.eol();){if(!r&&!n&&e.match('"')){i=!0;break}if(r&&e.match('"""')){i=!0;break}o=e.next(),!n&&"$"==o&&e.match("{")&&e.skipTo("}"),n=!n&&"\\"==o&&!r}return!i&&r||(t.tokenize=null),"string"}),t.tokenize(e,t)},"/":function(e,t){return!!e.eat("*")&&(t.tokenize=S(1),t.tokenize(e,t))},indent:function(e,t,r,o){var n=r&&r.charAt(0);return"}"!=e.prevToken&&")"!=e.prevToken||""!=r?"operator"==e.prevToken&&"}"!=r&&"}"!=e.context.type||"variable"==e.prevToken&&"."==n||("}"==e.prevToken||")"==e.prevToken)&&"."==n?2*o+t.indented:t.align&&"}"==t.type?t.indented+(e.context.type==(r||"").charAt(0)?0:o):void 0:e.indented}},modeProps:{closeBrackets:{triples:'"'}}}),M(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:a("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:a("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:a("for while do if else struct"),builtin:a("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:a("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TexureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":b},modeProps:{fold:["brace","include"]}}),M("text/x-nesc",{name:"clike",keywords:a(c+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:p,blockKeywords:a(g),atoms:a("null true false"),hooks:{"#":b},modeProps:{fold:["brace","include"]}}),M("text/x-objectivec",{name:"clike",keywords:a(c+" "+u),types:h,builtin:a(d),blockKeywords:a(g+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:a("struct enum union @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:a("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:y,hooks:{"#":b,"*":v},modeProps:{fold:["brace","include"]}}),M("text/x-objectivec++",{name:"clike",keywords:a(c+" "+u+" "+l),types:h,builtin:a(d),blockKeywords:a(g+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:a("struct enum union @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:a("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:y,hooks:{"#":b,"*":v,u:k,U:k,L:k,R:k,0:x,1:x,2:x,3:x,4:x,5:x,6:x,7:x,8:x,9:x,token:function(e,t,r){if("variable"==r&&"("==e.peek()&&(";"==t.prevToken||null==t.prevToken||"}"==t.prevToken)&&w(e.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),M("text/x-squirrel",{name:"clike",keywords:a("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:p,blockKeywords:a("case catch class else for foreach if switch try while"),defKeywords:a("function local class"),typeFirstDefinitions:!0,atoms:a("true false null"),hooks:{"#":b},modeProps:{fold:["brace","include"]}});var z=null;M("text/x-ceylon",{name:"clike",keywords:a("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(e){var t=e.charAt(0);return t===t.toUpperCase()&&t!==t.toLowerCase()},blockKeywords:a("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:a("class dynamic function interface module object package value"),builtin:a("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:a("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(e){return e.eatWhile(/[\w\$_]/),"meta"},'"':function(e,t){return t.tokenize=function e(t){return function(r,o){for(var n,i=!1,a=!1;!r.eol();){if(!i&&r.match('"')&&("single"==t||r.match('""'))){a=!0;break}if(!i&&r.match("``")){z=e(t),a=!0;break}n=r.next(),i="single"==t&&!i&&"\\"==n}return a&&(o.tokenize=null),"string"}}(e.match('""')?"triple":"single"),t.tokenize(e,t)},"`":function(e,t){return!(!z||!e.match("`"))&&(t.tokenize=z,z=null,t.tokenize(e,t))},"'":function(e){return e.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(e,t,r){if(("variable"==r||"type"==r)&&"."==t.prevToken)return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})(r("8U58"))},"6hE0":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-the-matrix.CodeMirror{background:#000;color:#0f0}.cm-s-the-matrix div.CodeMirror-selected{background:#2d2d2d}.cm-s-the-matrix .CodeMirror-line::selection,.cm-s-the-matrix .CodeMirror-line>span::selection,.cm-s-the-matrix .CodeMirror-line>span>span::selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-line::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span::-moz-selection,.cm-s-the-matrix .CodeMirror-line>span>span::-moz-selection{background:rgba(45,45,45,.99)}.cm-s-the-matrix .CodeMirror-gutters{background:#060;border-right:2px solid #0f0}.cm-s-the-matrix .CodeMirror-guttermarker{color:#0f0}.cm-s-the-matrix .CodeMirror-guttermarker-subtle,.cm-s-the-matrix .CodeMirror-linenumber{color:#fff}.cm-s-the-matrix .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-the-matrix span.cm-keyword{color:#008803;font-weight:700}.cm-s-the-matrix span.cm-atom{color:#3ff}.cm-s-the-matrix span.cm-number{color:#ffb94f}.cm-s-the-matrix span.cm-def{color:#99c}.cm-s-the-matrix span.cm-variable{color:#f6c}.cm-s-the-matrix span.cm-variable-2{color:#c6f}.cm-s-the-matrix span.cm-type,.cm-s-the-matrix span.cm-variable-3{color:#96f}.cm-s-the-matrix span.cm-property{color:#62ffa0}.cm-s-the-matrix span.cm-operator{color:#999}.cm-s-the-matrix span.cm-comment{color:#ccc}.cm-s-the-matrix span.cm-string{color:#39c}.cm-s-the-matrix span.cm-meta{color:#c9f}.cm-s-the-matrix span.cm-qualifier{color:#fff700}.cm-s-the-matrix span.cm-builtin{color:#30a}.cm-s-the-matrix span.cm-bracket{color:#cc7}.cm-s-the-matrix span.cm-tag{color:#ffbd40}.cm-s-the-matrix span.cm-attribute{color:#fff700}.cm-s-the-matrix span.cm-error{color:red}.cm-s-the-matrix .CodeMirror-activeline-background{background:#040}",""])},"6jll":function(e,t,r){var o=r("VU/8")(null,r("MUiO"),!0,null,null,null);e.exports=o.exports},"6jmx":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-duotone-dark.CodeMirror{background:#2a2734;color:#6c6783}.cm-s-duotone-dark div.CodeMirror-selected{background:#545167!important}.cm-s-duotone-dark .CodeMirror-gutters{background:#2a2734;border-right:0}.cm-s-duotone-dark .CodeMirror-linenumber{color:#545167}.cm-s-duotone-dark .CodeMirror-cursor{border-left:1px solid #ffad5c;border-right:.5em solid #ffad5c;opacity:.5}.cm-s-duotone-dark .CodeMirror-activeline-background{background:#363342;opacity:.5}.cm-s-duotone-dark .cm-fat-cursor .CodeMirror-cursor{background:#ffad5c;opacity:.5}.cm-s-duotone-dark span.cm-atom,.cm-s-duotone-dark span.cm-attribute,.cm-s-duotone-dark span.cm-hr,.cm-s-duotone-dark span.cm-keyword,.cm-s-duotone-dark span.cm-link,.cm-s-duotone-dark span.cm-number,.cm-s-duotone-dark span.cm-quote,.cm-s-duotone-dark span.cm-variable{color:#fc9}.cm-s-duotone-dark span.cm-property{color:#9a86fd}.cm-s-duotone-dark span.cm-negative,.cm-s-duotone-dark span.cm-punctuation,.cm-s-duotone-dark span.cm-unit{color:#e09142}.cm-s-duotone-dark span.cm-string{color:#ffb870}.cm-s-duotone-dark span.cm-operator{color:#ffad5c}.cm-s-duotone-dark span.cm-positive{color:#6a51e6}.cm-s-duotone-dark span.cm-string-2,.cm-s-duotone-dark span.cm-type,.cm-s-duotone-dark span.cm-url,.cm-s-duotone-dark span.cm-variable-2,.cm-s-duotone-dark span.cm-variable-3{color:#7a63ee}.cm-s-duotone-dark span.cm-builtin,.cm-s-duotone-dark span.cm-def,.cm-s-duotone-dark span.cm-em,.cm-s-duotone-dark span.cm-header,.cm-s-duotone-dark span.cm-qualifier,.cm-s-duotone-dark span.cm-tag{color:#eeebff}.cm-s-duotone-dark span.cm-bracket,.cm-s-duotone-dark span.cm-comment{color:#6c6783}.cm-s-duotone-dark span.cm-error,.cm-s-duotone-dark span.cm-invalidchar{color:red}.cm-s-duotone-dark span.cm-header{font-weight:400}.cm-s-duotone-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#eeebff!important}",""])},"6uof":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},e._l(e.value,function(t){return r("checkbox-with-label",{key:t.name,staticClass:"mt-2",attrs:{name:t.name,checked:t.checked,disabled:e.isReadonly},on:{input:function(r){return e.toggle(r,t)}}},[e._v("\n "+e._s(t.label)+"\n ")])}),1)],2)},staticRenderFns:[]}},"6vUX":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-vibrant-ink.CodeMirror{background:#000;color:#fff}.cm-s-vibrant-ink div.CodeMirror-selected{background:#35493c}.cm-s-vibrant-ink .CodeMirror-line::selection,.cm-s-vibrant-ink .CodeMirror-line>span::selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-line::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-vibrant-ink .CodeMirror-guttermarker{color:#fff}.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle,.cm-s-vibrant-ink .CodeMirror-linenumber{color:#d0d0d0}.cm-s-vibrant-ink .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-vibrant-ink .cm-keyword{color:#cc7832}.cm-s-vibrant-ink .cm-atom{color:#fc0}.cm-s-vibrant-ink .cm-number{color:#ffee98}.cm-s-vibrant-ink .cm-def{color:#8da6ce}.cm-s-vibrant-ink span.cm-variable-2,.cm-s-vibrant-ink span.cm-variable-3,.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-s-vibrant span.cm-type{color:#ffc66d}.cm-s-vibrant-ink .cm-operator{color:#888}.cm-s-vibrant-ink .cm-comment{color:gray;font-weight:700}.cm-s-vibrant-ink .cm-string{color:#a5c25c}.cm-s-vibrant-ink .cm-string-2{color:red}.cm-s-vibrant-ink .cm-meta{color:#d8fa3c}.cm-s-vibrant-ink .cm-attribute,.cm-s-vibrant-ink .cm-builtin,.cm-s-vibrant-ink .cm-tag{color:#8da6ce}.cm-s-vibrant-ink .cm-header{color:#ff6400}.cm-s-vibrant-ink .cm-hr{color:#aeaeae}.cm-s-vibrant-ink .cm-link{color:#5656f3}.cm-s-vibrant-ink .cm-error{border-bottom:1px solid red}.cm-s-vibrant-ink .CodeMirror-activeline-background{background:#27282e}.cm-s-vibrant-ink .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"6xWr":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[this.field.value?t("p",{staticClass:"text-90"},[this._v(this._s(this.localizedDateTime))]):t("p",[this._v("—")])])],2)},staticRenderFns:[]}},"6xYe":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},[r("div",{staticClass:"flex items-center"},[r("date-time-picker",{ref:"dateTimePicker",staticClass:"w-full form-control form-input form-input-bordered",class:e.errorClasses,attrs:{dusk:e.field.attribute,name:e.field.name,placeholder:e.placeholder,dateFormat:e.pickerFormat,"alt-format":e.pickerDisplayFormat,value:e.localizedValue,"twelve-hour-time":e.usesTwelveHourTime,"first-day-of-week":e.firstDayOfWeek,disabled:e.isReadonly},on:{change:e.handleChange}}),e._v(" "),e.field.nullable?r("a",{staticClass:"p-1 px-2 cursor-pointer leading-none focus:outline-none",class:{"text-50":!e.value.length,"text-black hover:text-danger":e.value.length},attrs:{href:"#",title:e.__("Clear value"),tabindex:"-1"},on:{click:function(t){return t.preventDefault(),e.$refs.dateTimePicker.clear()}}},[r("icon",{attrs:{type:"x-circle",width:"22",height:"22",viewBox:"0 0 22 22"}})],1):e._e(),e._v(" "),r("span",{staticClass:"text-80 text-sm ml-2"},[e._v("("+e._s(e.userTimezone)+")")])],1)])],2)},staticRenderFns:[]}},"6yhL":function(e,t,r){var o=r("eutc");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("343e9424",o,!0,{})},7469:function(e,t,r){var o=r("kAlQ");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("955d96be",o,!0,{})},"75dY":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt .cm-type,.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"77Pl":function(e,t,r){var o=r("EqjI");e.exports=function(e){if(!o(e))throw TypeError(e+" is not an object!");return e}},"7BQ2":function(e,t,r){(function(e){"use strict";e.defineMode("sass",function(t){var r=e.mimeModes["text/css"],o=r.propertyKeywords||{},n=r.colorKeywords||{},i=r.valueKeywords||{},a=r.fontProperties||{};var s,c=new RegExp("^"+["true","false","null","auto"].join("|")),l=new RegExp("^"+["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"].join("|")),u=/^::?[a-zA-Z_][\w\-]*/;function d(e){return!e.peek()||e.match(/\s+$/,!1)}function m(e,t){var r=e.peek();return")"===r?(e.next(),t.tokenizer=v,"operator"):"("===r?(e.next(),e.eatSpace(),"operator"):"'"===r||'"'===r?(t.tokenizer=p(e.next()),"string"):(t.tokenizer=p(")",!1),"string")}function f(e,t){return function(r,o){return r.sol()&&r.indentation()<=e?(o.tokenizer=v,v(r,o)):(t&&r.skipTo("*/")?(r.next(),r.next(),o.tokenizer=v):r.skipToEnd(),"comment")}}function p(e,t){return null==t&&(t=!0),function r(o,n){var i=o.next(),a=o.peek(),s=o.string.charAt(o.pos-2);return"\\"!==i&&a===e||i===e&&"\\"!==s?(i!==e&&t&&o.next(),d(o)&&(n.cursorHalf=0),n.tokenizer=v,"string"):"#"===i&&"{"===a?(n.tokenizer=h(r),o.next(),"operator"):"string"}}function h(e){return function(t,r){return"}"===t.peek()?(t.next(),r.tokenizer=e,"operator"):v(t,r)}}function g(e){if(0==e.indentCount){e.indentCount++;var r=e.scopes[0].offset+t.indentUnit;e.scopes.unshift({offset:r})}}function b(e){1!=e.scopes.length&&e.scopes.shift()}function v(e,t){var r=e.peek();if(e.match("/*"))return t.tokenizer=f(e.indentation(),!0),t.tokenizer(e,t);if(e.match("//"))return t.tokenizer=f(e.indentation(),!1),t.tokenizer(e,t);if(e.match("#{"))return t.tokenizer=h(v),"operator";if('"'===r||"'"===r)return e.next(),t.tokenizer=p(r),"string";if(t.cursorHalf){if("#"===r&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return d(e)&&(t.cursorHalf=0),"unit";if(e.match(c))return d(e)&&(t.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=m,d(e)&&(t.cursorHalf=0),"atom";if("$"===r)return e.next(),e.eatWhile(/[\w-]/),d(e)&&(t.cursorHalf=0),"variable-2";if("!"===r)return e.next(),t.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(l))return d(e)&&(t.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return d(e)&&(t.cursorHalf=0),s=e.current().toLowerCase(),i.hasOwnProperty(s)?"atom":n.hasOwnProperty(s)?"keyword":o.hasOwnProperty(s)?(t.prevProp=e.current().toLowerCase(),"property"):"tag";if(d(e))return t.cursorHalf=0,null}else{if("-"===r&&e.match(/^-\w+-/))return"meta";if("."===r){if(e.next(),e.match(/^[\w-]+/))return g(t),"qualifier";if("#"===e.peek())return g(t),"tag"}if("#"===r){if(e.next(),e.match(/^[\w-]+/))return g(t),"builtin";if("#"===e.peek())return g(t),"tag"}if("$"===r)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(c))return"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=m,"atom";if("="===r&&e.match(/^=[\w-]+/))return g(t),"meta";if("+"===r&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===r&&e.match(/@extend/)&&(e.match(/\s*[\w]/)||b(t)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return g(t),"def";if("@"===r)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){s=e.current().toLowerCase();var y=t.prevProp+"-"+s;return o.hasOwnProperty(y)?"property":o.hasOwnProperty(s)?(t.prevProp=s,"property"):a.hasOwnProperty(s)?"property":"tag"}return e.match(/ *:/,!1)?(g(t),t.cursorHalf=1,t.prevProp=e.current().toLowerCase(),"property"):e.match(/ *,/,!1)?"tag":(g(t),"tag")}if(":"===r)return e.match(u)?"variable-3":(e.next(),t.cursorHalf=1,"operator")}return e.match(l)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:v,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,r){var o=function(e,r){e.sol()&&(r.indentCount=0);var o=r.tokenizer(e,r),n=e.current();if("@return"!==n&&"}"!==n||b(r),null!==o){for(var i=e.pos-n.length+t.indentUnit*r.indentCount,a=[],s=0;s","i")}function i(e,t){for(var r in e)for(var o=t[r]||(t[r]=[]),n=e[r],i=n.length-1;i>=0;i--)o.unshift(n[i])}e.defineMode("htmlmixed",function(r,a){var s=e.getMode(r,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag,allowMissingTagName:a.allowMissingTagName}),c={},l=a&&a.tags,u=a&&a.scriptTypes;if(i(t,c),l&&i(l,c),u)for(var d=u.length-1;d>=0;d--)c.script.unshift(["type",u[d].matches,u[d].mode]);function m(t,i){var a,l=s.token(t,i.htmlState),u=/\btag\b/.test(l);if(u&&!/[<>\s\/]/.test(t.current())&&(a=i.htmlState.tagName&&i.htmlState.tagName.toLowerCase())&&c.hasOwnProperty(a))i.inTag=a+" ";else if(i.inTag&&u&&/>$/.test(t.current())){var d=/^([\S]+) (.*)/.exec(i.inTag);i.inTag=null;var f=">"==t.current()&&function(e,t){for(var r=0;r-1?e.backUp(o.length-n):o.match(/<\/?$/)&&(e.backUp(o.length),e.match(t,!1)||e.match(o)),r}(e,g,t.localMode.token(e,t.localState))},i.localMode=p,i.localState=e.startState(p,s.indent(i.htmlState,"",""))}else i.inTag&&(i.inTag+=t.current(),t.eol()&&(i.inTag+=" "));return l}return{startState:function(){return{token:m,inTag:null,localMode:null,localState:null,htmlState:e.startState(s)}},copyState:function(t){var r;return t.localState&&(r=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:r,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,r,o){return!t.localMode||/^\s*<\//.test(r)?s.indent(t.htmlState,r,o):t.localMode.indent?t.localMode.indent(t.localState,r,o):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}},"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")})(r("8U58"),r("ezqs"),r("5IAE"),r("puAj"))},"8ODI":function(e,t,r){var o=r("VU/8")(r("232x"),r("gx6S"),!1,null,null,null);e.exports=o.exports},"8TCb":function(e,t,r){var o=r("Fw3W");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("3afa6f69",o,!0,{})},"8gK5":function(e,t){e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},"8gbr":function(e,t,r){var o=r("VU/8")(r("K6I5"),r("kILo"),!1,null,null,null);e.exports=o.exports},"8lQZ":function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{d:"M4 5h16a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2zm0 6h16a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2zm0 6h16a1 1 0 0 1 0 2H4a1 1 0 0 1 0-2z"}})},staticRenderFns:[]}},"8mKp":function(e,t,r){var o=r("PjGZ");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("3cd8e136",o,!0,{})},"8nHY":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{labelFor:{type:String}}}},"8rvX":function(e,t,r){var o=r("RRnK");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("1515ef96",o,!0,{})},"8w4N":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-blackboard.CodeMirror{background:#0c1021;color:#f8f8f8}.cm-s-blackboard div.CodeMirror-selected{background:#253b76}.cm-s-blackboard .CodeMirror-line::selection,.cm-s-blackboard .CodeMirror-line>span::selection,.cm-s-blackboard .CodeMirror-line>span>span::selection{background:rgba(37,59,118,.99)}.cm-s-blackboard .CodeMirror-line::-moz-selection,.cm-s-blackboard .CodeMirror-line>span::-moz-selection,.cm-s-blackboard .CodeMirror-line>span>span::-moz-selection{background:rgba(37,59,118,.99)}.cm-s-blackboard .CodeMirror-gutters{background:#0c1021;border-right:0}.cm-s-blackboard .CodeMirror-guttermarker{color:#fbde2d}.cm-s-blackboard .CodeMirror-guttermarker-subtle,.cm-s-blackboard .CodeMirror-linenumber{color:#888}.cm-s-blackboard .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-blackboard .cm-keyword{color:#fbde2d}.cm-s-blackboard .cm-atom,.cm-s-blackboard .cm-number{color:#d8fa3c}.cm-s-blackboard .cm-def{color:#8da6ce}.cm-s-blackboard .cm-variable{color:#ff6400}.cm-s-blackboard .cm-operator{color:#fbde2d}.cm-s-blackboard .cm-comment{color:#aeaeae}.cm-s-blackboard .cm-string,.cm-s-blackboard .cm-string-2{color:#61ce3c}.cm-s-blackboard .cm-meta{color:#d8fa3c}.cm-s-blackboard .cm-attribute,.cm-s-blackboard .cm-builtin,.cm-s-blackboard .cm-tag{color:#8da6ce}.cm-s-blackboard .cm-header{color:#ff6400}.cm-s-blackboard .cm-hr{color:#aeaeae}.cm-s-blackboard .cm-link{color:#8da6ce}.cm-s-blackboard .cm-error{background:#9d1e15;color:#f8f8f8}.cm-s-blackboard .CodeMirror-activeline-background{background:#3c3636}.cm-s-blackboard .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"8wGe":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"],computed:{hasValue:function(){return null!==this.field.value}}}},"8wbD":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[this.field.value?t("p",{staticClass:"text-90"},[this._v(this._s(this.formattedDate))]):t("p",[this._v("—")])])],2)},staticRenderFns:[]}},"8zS1":function(e,t,r){var o=r("75dY");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("d1e04706",o,!0,{})},"9/PE":function(e,t,r){var o=r("ARt9");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("3350e9ca",o,!0,{})},"90KW":function(e,t,r){var o=r("VU/8")(r("KiKW"),r("mvsf"),!1,null,null,null);e.exports=o.exports},"91UP":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=c(r("Xxa5")),n=c(r("exGp")),i=c(r("mvHQ")),a=c(r("M4fF")),s=r("+SSY");function c(e){return e&&e.__esModule?e:{default:e}}t.default={namespaced:!0,state:function(){return{filters:[],originalFilters:[]}},getters:{filters:function(e){return e.filters},originalFilters:function(e){return e.originalFilters},hasFilters:function(e){return Boolean(e.filters.length>0)},currentFilters:function(e,t){return a.default.map(e.filters,function(e){return{class:e.class,value:e.currentValue}})},currentEncodedFilters:function(e,t){return btoa((0,s.escapeUnicode)((0,i.default)(t.currentFilters)))},filtersAreApplied:function(e,t){return t.activeFilterCount>0},activeFilterCount:function(e,t){return a.default.reduce(e.filters,function(e,r){var o=t.getOriginalFilter(r.class),n=(0,i.default)(o.currentValue);return(0,i.default)(r.currentValue)==n?e:e+1},0)},getFilter:function(e){return function(t){return a.default.find(e.filters,function(e){return e.class==t})}},getOriginalFilter:function(e){return function(t){return a.default.find(e.originalFilters,function(e){return e.class==t})}},getOptionsForFilter:function(e,t){return function(e){var r=t.getFilter(e);return r?r.options:[]}},filterOptionValue:function(e,t){return function(e,r){var o=t.getFilter(e);return a.default.find(o.currentValue,function(e,t){return t==r})}}},actions:{fetchFilters:function(){var e=(0,n.default)(o.default.mark(function e(t,r){var n,i,a,s,c,l,u,d,m,f=t.commit;t.state;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.resourceName,i=r.lens,a=void 0!==i&&i,s=r.viaResource,c=r.viaResourceId,l=r.viaRelationship,u={params:{viaResource:s,viaResourceId:c,viaRelationship:l}},!a){e.next=9;break}return e.next=6,Nova.request().get("/nova-api/"+n+"/lens/"+a+"/filters",u);case 6:e.t0=e.sent,e.next=12;break;case 9:return e.next=11,Nova.request().get("/nova-api/"+n+"/filters",u);case 11:e.t0=e.sent;case 12:d=e.t0,m=d.data,f("storeFilters",m);case 15:case"end":return e.stop()}},e,this)}));return function(t,r){return e.apply(this,arguments)}}(),resetFilterState:function(){var e=(0,n.default)(o.default.mark(function e(t){var r=t.commit,n=t.getters;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a.default.each(n.originalFilters,function(e){r("updateFilterState",{filterClass:e.class,value:e.currentValue})});case 1:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}(),initializeCurrentFilterValuesFromQueryString:function(){var e=(0,n.default)(o.default.mark(function e(t,r){var n,i=t.commit;t.getters;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:r&&(n=JSON.parse(atob(r)),a.default.each(n,function(e){i("updateFilterState",{filterClass:e.class,value:e.value})}));case 1:case"end":return e.stop()}},e,this)}));return function(t,r){return e.apply(this,arguments)}}()},mutations:{updateFilterState:function(e,t){var r=t.filterClass,o=t.value;(0,a.default)(e.filters).find(function(e){return e.class==r}).currentValue=o},storeFilters:function(e,t){e.filters=t,e.originalFilters=a.default.cloneDeep(t)},clearFilters:function(e){e.filters=[],e.originalFilters=[]}}}},"94VQ":function(e,t,r){"use strict";var o=r("Yobk"),n=r("X8DO"),i=r("e6n0"),a={};r("hJx8")(a,r("dSzd")("iterator"),function(){return this}),e.exports=function(e,t,r){e.prototype=o(a,{next:n(1,r)}),i(e,t+" Iterator")}},"94sX":function(e,t,r){var o=r("dCZQ");e.exports=function(){this.__data__=o?o(null):{},this.size=0}},"98O1":function(e,t,r){var o=r("VU/8")(r("vdo/"),r("nx15"),!1,null,null,null);e.exports=o.exports},"9Bvo":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-xq-dark.CodeMirror{background:#0a001f;color:#f8f8f8}.cm-s-xq-dark div.CodeMirror-selected{background:#27007a}.cm-s-xq-dark .CodeMirror-line::selection,.cm-s-xq-dark .CodeMirror-line>span::selection,.cm-s-xq-dark .CodeMirror-line>span>span::selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-line::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span::-moz-selection,.cm-s-xq-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(39,0,122,.99)}.cm-s-xq-dark .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-xq-dark .CodeMirror-guttermarker{color:#ffbd40}.cm-s-xq-dark .CodeMirror-guttermarker-subtle,.cm-s-xq-dark .CodeMirror-linenumber{color:#f8f8f8}.cm-s-xq-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-xq-dark span.cm-keyword{color:#ffbd40}.cm-s-xq-dark span.cm-atom{color:#6c8cd5}.cm-s-xq-dark span.cm-number{color:#164}.cm-s-xq-dark span.cm-def{color:#fff;text-decoration:underline}.cm-s-xq-dark span.cm-variable{color:#fff}.cm-s-xq-dark span.cm-variable-2{color:#eee}.cm-s-xq-dark span.cm-type,.cm-s-xq-dark span.cm-variable-3{color:#ddd}.cm-s-xq-dark span.cm-comment{color:gray}.cm-s-xq-dark span.cm-string{color:#9fee00}.cm-s-xq-dark span.cm-meta{color:#ff0}.cm-s-xq-dark span.cm-qualifier{color:#fff700}.cm-s-xq-dark span.cm-builtin{color:#30a}.cm-s-xq-dark span.cm-bracket{color:#cc7}.cm-s-xq-dark span.cm-tag{color:#ffbd40}.cm-s-xq-dark span.cm-attribute{color:#fff700}.cm-s-xq-dark span.cm-error{color:red}.cm-s-xq-dark .CodeMirror-activeline-background{background:#27282e}.cm-s-xq-dark .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"9K8Z":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[t("badge",{staticClass:"mt-1",attrs:{label:this.field.label,"extra-classes":this.field.typeClass}})],1)],2)},staticRenderFns:[]}},"9KGU":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={data:function(){return{percent:0,show:!1,canSuccess:!0,duration:3e3,height:"3px",color:"var(--primary)",failedColor:"red"}},methods:{start:function(){var e=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval(function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()},100),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,setTimeout(function(){e.show=!1,e.$nextTick(function(){setTimeout(function(){e.percent=0},200)})},500),this},fail:function(){return this.canSuccess=!1,this}}}},"9Ktf":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},"9OCb":function(e,t,r){var o=r("6jmx");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("20ce39b6",o,!0,{})},"9Oqe":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("//Fk"),i=(o=n)&&o.__esModule?o:{default:o},a=r("vilh");t.default={props:{src:String,maxWidth:{type:Number,default:320},rounded:{type:Boolean,default:!1}},data:function(){return{loading:!0,missing:!1}},computed:{cardClasses:function(){return{"max-w-xs":!this.maxWidth||this.loading||this.missing,"rounded-full":this.rounded}},cardStyles:function(){return this.loading?{height:this.maxWidth+"px",width:this.maxWidth+"px"}:null}},mounted:function(){var e=this;(0,a.Minimum)(new i.default(function(t,r){var o=new Image;o.addEventListener("load",function(){return t(o)}),o.addEventListener("error",function(){return r()}),o.src=e.src})).then(function(t){t.className="block w-full",t.draggable=!1,e.maxWidth&&(e.$refs.card.$el.style.maxWidth=e.maxWidth+"px"),e.$refs.card.$el.appendChild(t)}).catch(function(){e.missing=!0,e.$emit("missing",!0)}).finally(function(){e.loading=!1})}}},"9Rg2":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{cards:Array,size:{type:String,default:""},resource:{type:Object},resourceName:{type:String},resourceId:{type:[Number,String]},onlyOnDetail:{type:Boolean,default:!1},lens:{lens:String,default:""}},computed:{filteredCards:function(){return this.onlyOnDetail?_.filter(this.cards,function(e){return 1==e.onlyOnDetail}):_.filter(this.cards,function(e){return 0==e.onlyOnDetail})}}}},"9UkZ":function(e,t,r){var o=r("aCM0"),n=r("vi0E"),i=r("UnEC"),a="[object Object]",s=Function.prototype,c=Object.prototype,l=s.toString,u=c.hasOwnProperty,d=l.call(Object);e.exports=function(e){if(!i(e)||o(e)!=a)return!1;var t=n(e);if(null===t)return!0;var r=u.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&l.call(r)==d}},"9Yo9":function(e,t,r){var o=r("0Oqi");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("32b73fa0",o,!0,{})},"9bBU":function(e,t,r){r("mClu");var o=r("FeBl").Object;e.exports=function(e,t,r){return o.defineProperty(e,t,r)}},"9bSO":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName"]}},"9ewe":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"],computed:{hasValue:function(){return this.field.lines}}}},"9iXT":function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},"9lOv":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"],data:function(){return{value:[],classes:{true:"bg-success-light text-success-dark",false:"bg-danger-light text-danger-dark"}}},created:function(){var e=this;this.field.value=this.field.value||{},this.value=_(this.field.options).map(function(t){return{name:t.name,label:t.label,checked:e.field.value[t.name]||!1}}).filter(function(t){return(!0!==e.field.hideFalseValues||!1!==t.checked)&&(!0!==e.field.hideTrueValues||!0!==t.checked)}).value()}}},"9rmq":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","resourceId","resource","field"],methods:{actionExecuted:function(){this.$emit("actionExecuted")}}}},"9uOX":function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"help-text",domProps:{innerHTML:this._s(this.$slots.default[0].text)}})},staticRenderFns:[]}},A0n5:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"hidden",attrs:{errors:this.errors}},[t("input",{attrs:{type:"hidden"},domProps:{value:this.value}})])},staticRenderFns:[]}},A2ia:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("span",{staticClass:"cursor-pointer inline-flex items-center",attrs:{dusk:"sort-"+e.uriKey},on:{click:function(t){return t.preventDefault(),e.handleClick(t)}}},[e._t("default"),e._v(" "),r("svg",{staticClass:"ml-2 flex-no-shrink",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"8",height:"14",viewBox:"0 0 8 14"}},[r("path",{class:e.descClass,attrs:{d:"M1.70710678 4.70710678c-.39052429.39052429-1.02368927.39052429-1.41421356 0-.3905243-.39052429-.3905243-1.02368927 0-1.41421356l3-3c.39052429-.3905243 1.02368927-.3905243 1.41421356 0l3 3c.39052429.39052429.39052429 1.02368927 0 1.41421356-.39052429.39052429-1.02368927.39052429-1.41421356 0L4 2.41421356 1.70710678 4.70710678z"}}),e._v(" "),r("path",{class:e.ascClass,attrs:{d:"M6.29289322 9.29289322c.39052429-.39052429 1.02368927-.39052429 1.41421356 0 .39052429.39052429.39052429 1.02368928 0 1.41421358l-3 3c-.39052429.3905243-1.02368927.3905243-1.41421356 0l-3-3c-.3905243-.3905243-.3905243-1.02368929 0-1.41421358.3905243-.39052429 1.02368927-.39052429 1.41421356 0L4 11.5857864l2.29289322-2.29289318z"}})])],2)},staticRenderFns:[]}},A4r5:function(e,t,r){"use strict";(function(e){let o;function n(){n.init||(n.init=!0,o=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var r=e.indexOf("rv:");return parseInt(e.substring(r+3,e.indexOf(".",r)),10)}var o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}())}r.d(t,"a",function(){return s});const i={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted(){n(),this.$nextTick(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",o&&this.$el.appendChild(e),e.data="about:blank",o||this.$el.appendChild(e)},beforeDestroy(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!o&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};var a=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};a._withStripped=!0;const s=function(e,t,r,o,n,i,a,s,c,l){"boolean"!=typeof a&&(c=s,s=a,a=!1);var u,d="function"==typeof r?r.options:r;if(e&&e.render&&(d.render=e.render,d.staticRenderFns=e.staticRenderFns,d._compiled=!0,n&&(d.functional=!0)),o&&(d._scopeId=o),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,c(e)),e&&e._registeredComponents&&e._registeredComponents.add(i)},d._ssrRegister=u):t&&(u=a?function(e){t.call(this,l(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,s(e))}),u)if(d.functional){var m=d.render;d.render=function(e,t){return u.call(t),m(e,t)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,u):[u]}return r}({render:a,staticRenderFns:[]},void 0,i,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0);var c={version:"1.0.0",install:function(e){e.component("resize-observer",s),e.component("ResizeObserver",s)}},l=null;"undefined"!=typeof window?l=window.Vue:void 0!==e&&(l=e.Vue),l&&l.use(c)}).call(t,r("DuR2"))},A4wx:function(e,t,r){var o=r("VU/8")(r("mhFJ"),r("OXlv"),!1,null,null,null);e.exports=o.exports},A9Ff:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("error-403")},staticRenderFns:[]}},A9mX:function(e,t,r){var o=r("pTUa");e.exports=function(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}},AOTQ:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},AObH:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"bg-20 p-3 text-center rounded-b-lg flex justify-between"},[r("p",{staticClass:"leading-normal text-sm text-80"},[e._v(e._s(e.resourceCountLabel))]),e._v(" "),e.allResourcesLoaded?r("p",{staticClass:"leading-normal text-sm text-80"},[e._v("\n "+e._s(e.__("All resources loaded."))+"\n ")]):r("button",{staticClass:"btn btn btn-link px-4 text-primary dim",on:{click:e.loadMore}},[e._v("\n "+e._s(e.buttonLabel)+"\n ")]),e._v(" "),r("p",{staticClass:"leading-normal text-sm text-80"},[e._v("\n "+e._s(e.__(":amount Total",{amount:e.resourceTotalCountLabel}))+"\n ")])])},staticRenderFns:[]}},ARt9:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-lucario.CodeMirror,.cm-s-lucario .CodeMirror-gutters{background-color:#2b3e50!important;color:#f8f8f2!important;border:none}.cm-s-lucario .CodeMirror-gutters{color:#2b3e50}.cm-s-lucario .CodeMirror-cursor{border-left:thin solid #e6c845}.cm-s-lucario .CodeMirror-linenumber{color:#f8f8f2}.cm-s-lucario .CodeMirror-selected{background:#243443}.cm-s-lucario .CodeMirror-line::selection,.cm-s-lucario .CodeMirror-line>span::selection,.cm-s-lucario .CodeMirror-line>span>span::selection{background:#243443}.cm-s-lucario .CodeMirror-line::-moz-selection,.cm-s-lucario .CodeMirror-line>span::-moz-selection,.cm-s-lucario .CodeMirror-line>span>span::-moz-selection{background:#243443}.cm-s-lucario span.cm-comment{color:#5c98cd}.cm-s-lucario span.cm-string,.cm-s-lucario span.cm-string-2{color:#e6db74}.cm-s-lucario span.cm-number{color:#ca94ff}.cm-s-lucario span.cm-variable,.cm-s-lucario span.cm-variable-2{color:#f8f8f2}.cm-s-lucario span.cm-def{color:#72c05d}.cm-s-lucario span.cm-operator{color:#66d9ef}.cm-s-lucario span.cm-keyword{color:#ff6541}.cm-s-lucario span.cm-atom{color:#bd93f9}.cm-s-lucario span.cm-meta{color:#f8f8f2}.cm-s-lucario span.cm-tag{color:#ff6541}.cm-s-lucario span.cm-attribute{color:#66d9ef}.cm-s-lucario span.cm-qualifier{color:#72c05d}.cm-s-lucario span.cm-property{color:#f8f8f2}.cm-s-lucario span.cm-builtin{color:#72c05d}.cm-s-lucario span.cm-type,.cm-s-lucario span.cm-variable-3{color:#ffb86c}.cm-s-lucario .CodeMirror-activeline-background{background:#243443}.cm-s-lucario .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},AW2A:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","viaResource","viaResourceId","field"],computed:{isResourceBeingViewed:function(){return this.field.morphToType==this.viaResource&&this.field.morphToId==this.viaResourceId}}}},Aamx:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={data:function(){return{actions:[],pivotActions:null}},computed:{haveStandaloneActions:function(){return _.filter(this.allActions,function(e){return 1==e.standalone}).length>0},availableActions:function(){return this.actions},hasPivotActions:function(){return this.pivotActions&&this.pivotActions.actions.length>0},pivotName:function(){return this.pivotActions?this.pivotActions.name:""},actionsAreAvailable:function(){return this.allActions.length>0},allActions:function(){return this.hasPivotActions?this.actions.concat(this.pivotActions.actions):this.actions},selectedResourcesForActionSelector:function(){return this.selectAllMatchingChecked?"all":this.selectedResourceIds}}}},AdnQ:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.FormField,o.HandlesValidationErrors]}},Af2f:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"relative rounded-lg rounded-b-lg bg-30 bg-clip border border-60",class:{"mr-11":this.editMode&&this.deleteRowEnabled}},[this._t("default")],2)},staticRenderFns:[]}},AglC:function(e,t,r){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},Ahbt:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("checkbox",{staticClass:"pointer-events-none",attrs:{checked:this.checked,disabled:!0}})},staticRenderFns:[]}},AhcZ:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-view",{attrs:{loading:e.initialLoading}},[r("custom-detail-header",{staticClass:"mb-3",attrs:{resource:e.resource,"resource-id":e.resourceId,"resource-name":e.resourceName}}),e._v(" "),e.shouldShowCards?r("div",[e.smallCards.length>0?r("cards",{staticClass:"mb-3",attrs:{cards:e.smallCards,resource:e.resource,"resource-id":e.resourceId,"resource-name":e.resourceName,"only-on-detail":!0}}):e._e(),e._v(" "),e.largeCards.length>0?r("cards",{attrs:{cards:e.largeCards,size:"large",resource:e.resource,"resource-id":e.resourceId,"resource-name":e.resourceName,"only-on-detail":!0}}):e._e()],1):e._e(),e._v(" "),e._l(e.availablePanels,function(t){return r("div",{key:t.id,staticClass:"mb-8",attrs:{dusk:e.resourceName+"-detail-component"}},[r(t.component,{tag:"component",attrs:{"resource-name":e.resourceName,"resource-id":e.resourceId,resource:e.resource,panel:t}},[t.showToolbar?r("div",{staticClass:"flex items-center mb-3"},[r("heading",{staticClass:"flex-auto truncate",attrs:{level:1}},[e._v(e._s(t.name))]),e._v(" "),r("div",{staticClass:"ml-3 flex items-center"},[r("custom-detail-toolbar",{attrs:{resource:e.resource,"resource-name":e.resourceName,"resource-id":e.resourceId}}),e._v(" "),e.resource?r("action-selector",{staticClass:"ml-3",attrs:{"resource-name":e.resourceName,actions:e.actions,"pivot-actions":{actions:[]},"selected-resources":e.selectedResources,"query-string":{currentSearch:e.currentSearch,encodedFilters:e.encodedFilters,currentTrashed:e.currentTrashed,viaResource:e.viaResource,viaResourceId:e.viaResourceId,viaRelationship:e.viaRelationship}},on:{actionExecuted:e.actionExecuted}}):e._e(),e._v(" "),e.resource.authorizedToDelete&&!e.resource.softDeleted?r("button",{staticClass:"btn btn-default btn-icon btn-white mr-3",attrs:{"data-testid":"open-delete-modal",dusk:"open-delete-modal-button",title:e.__("Delete")},on:{click:e.openDeleteModal}},[r("icon",{staticClass:"text-80",attrs:{type:"delete"}})],1):e._e(),e._v(" "),e.resource.authorizedToRestore&&e.resource.softDeleted?r("button",{staticClass:"btn btn-default btn-icon btn-white mr-3",attrs:{"data-testid":"open-restore-modal",dusk:"open-restore-modal-button",title:e.__("Restore")},on:{click:e.openRestoreModal}},[r("icon",{staticClass:"text-80",attrs:{type:"restore"}})],1):e._e(),e._v(" "),e.resource.authorizedToForceDelete?r("button",{staticClass:"btn btn-default btn-icon btn-white mr-3",attrs:{"data-testid":"open-force-delete-modal",dusk:"open-force-delete-modal-button",title:e.__("Force Delete")},on:{click:e.openForceDeleteModal}},[r("icon",{staticClass:"text-80",attrs:{type:"force-delete"}})],1):e._e(),e._v(" "),e.deleteModalOpen||e.restoreModalOpen||e.forceDeleteModalOpen?r("portal",{attrs:{to:"modals"}},[e.deleteModalOpen?r("delete-resource-modal",{attrs:{mode:"delete"},on:{confirm:e.confirmDelete,close:e.closeDeleteModal}}):e._e(),e._v(" "),e.restoreModalOpen?r("restore-resource-modal",{on:{confirm:e.confirmRestore,close:e.closeRestoreModal}}):e._e(),e._v(" "),e.forceDeleteModalOpen?r("delete-resource-modal",{attrs:{mode:"force delete"},on:{confirm:e.confirmForceDelete,close:e.closeForceDeleteModal}}):e._e()],1):e._e(),e._v(" "),e.resource.authorizedToUpdate?r("router-link",{staticClass:"btn btn-default btn-icon bg-primary",attrs:{"data-testid":"edit-resource",dusk:"edit-resource-button",to:{name:"edit",params:{id:e.resource.id}},title:e.__("Edit")}},[r("icon",{staticClass:"text-white",staticStyle:{"margin-top":"-2px","margin-left":"3px"},attrs:{type:"edit"}})],1):e._e()],1)],1):e._e()])],1)})],2)},staticRenderFns:[]}},"Ai/T":function(e,t){var r=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},AsZg:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("BaseTrendMetric",{attrs:{title:e.card.name,"help-text":e.card.helpText,"help-width":e.card.helpWidth,value:e.value,"chart-data":e.data,ranges:e.card.ranges,format:e.format,prefix:e.prefix,suffix:e.suffix,"suffix-inflection":e.suffixInflection,"selected-range-key":e.selectedRangeKey,loading:e.loading},on:{selected:e.handleRangeSelected}})},staticRenderFns:[]}},AwA3:function(e,t,r){var o=r("VU/8")(r("tgIX"),r("ZnKA"),!1,null,null,null);e.exports=o.exports},"B/A2":function(e,t,r){var o=r("VU/8")(r("MjKb"),r("uGmG"),!1,null,null,null);e.exports=o.exports},B3Jg:function(e,t,r){var o=r("VU/8")(r("31gQ"),r("LHx/"),!1,null,null,null);e.exports=o.exports},B8Dv:function(e,t,r){var o=r("VU/8")(r("opq6"),r("Ahbt"),!1,null,null,null);e.exports=o.exports},"BO+l":function(e,t,r){var o=r("VU/8")(r("iz08"),r("WC2Z"),!1,null,null,null);e.exports=o.exports},BVCX:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","resourceId","resource","field"],methods:{actionExecuted:function(){this.$emit("actionExecuted")}}}},BXx5:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-material.CodeMirror{background-color:#263238;color:#eff}.cm-s-material .CodeMirror-gutters{background:#263238;color:#546e7a;border:none}.cm-s-material .CodeMirror-guttermarker,.cm-s-material .CodeMirror-guttermarker-subtle,.cm-s-material .CodeMirror-linenumber{color:#546e7a}.cm-s-material .CodeMirror-cursor{border-left:1px solid #fc0}.cm-s-material.CodeMirror-focused div.CodeMirror-selected,.cm-s-material div.CodeMirror-selected{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-line::selection,.cm-s-material .CodeMirror-line>span::selection,.cm-s-material .CodeMirror-line>span>span::selection{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-line::-moz-selection,.cm-s-material .CodeMirror-line>span::-moz-selection,.cm-s-material .CodeMirror-line>span>span::-moz-selection{background:rgba(128,203,196,.2)}.cm-s-material .CodeMirror-activeline-background{background:rgba(0,0,0,.5)}.cm-s-material .cm-keyword{color:#c792ea}.cm-s-material .cm-operator{color:#89ddff}.cm-s-material .cm-variable-2{color:#eff}.cm-s-material .cm-type,.cm-s-material .cm-variable-3{color:#f07178}.cm-s-material .cm-builtin{color:#ffcb6b}.cm-s-material .cm-atom{color:#f78c6c}.cm-s-material .cm-number{color:#ff5370}.cm-s-material .cm-def{color:#82aaff}.cm-s-material .cm-string{color:#c3e88d}.cm-s-material .cm-string-2{color:#f07178}.cm-s-material .cm-comment{color:#546e7a}.cm-s-material .cm-variable{color:#f07178}.cm-s-material .cm-tag{color:#ff5370}.cm-s-material .cm-meta{color:#ffcb6b}.cm-s-material .cm-attribute,.cm-s-material .cm-property{color:#c792ea}.cm-s-material .cm-qualifier,.cm-s-material .cm-type,.cm-s-material .cm-variable-3{color:#decb6b}.cm-s-material .cm-error{color:#fff;background-color:#ff5370}.cm-s-material .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},BrrD:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-xq-light span.cm-keyword{line-height:1em;font-weight:700;color:#5a5cad}.cm-s-xq-light span.cm-atom{color:#6c8cd5}.cm-s-xq-light span.cm-number{color:#164}.cm-s-xq-light span.cm-def{text-decoration:underline}.cm-s-xq-light span.cm-type,.cm-s-xq-light span.cm-variable,.cm-s-xq-light span.cm-variable-2,.cm-s-xq-light span.cm-variable-3{color:#000}.cm-s-xq-light span.cm-comment{color:#0080ff;font-style:italic}.cm-s-xq-light span.cm-string{color:red}.cm-s-xq-light span.cm-meta{color:#ff0}.cm-s-xq-light span.cm-qualifier{color:grey}.cm-s-xq-light span.cm-builtin{color:#7ea656}.cm-s-xq-light span.cm-bracket{color:#cc7}.cm-s-xq-light span.cm-tag{color:#3f7f7f}.cm-s-xq-light span.cm-attribute{color:#7f007f}.cm-s-xq-light span.cm-error{color:red}.cm-s-xq-light .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-xq-light .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important;background:#ff0}",""])},BsI2:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-xq-light span.cm-keyword{line-height:1em;font-weight:700;color:#5a5cad}.cm-s-xq-light span.cm-atom{color:#6c8cd5}.cm-s-xq-light span.cm-number{color:#164}.cm-s-xq-light span.cm-def{text-decoration:underline}.cm-s-xq-light span.cm-type,.cm-s-xq-light span.cm-variable,.cm-s-xq-light span.cm-variable-2,.cm-s-xq-light span.cm-variable-3{color:#000}.cm-s-xq-light span.cm-comment{color:#0080ff;font-style:italic}.cm-s-xq-light span.cm-string{color:red}.cm-s-xq-light span.cm-meta{color:#ff0}.cm-s-xq-light span.cm-qualifier{color:grey}.cm-s-xq-light span.cm-builtin{color:#7ea656}.cm-s-xq-light span.cm-bracket{color:#cc7}.cm-s-xq-light span.cm-tag{color:#3f7f7f}.cm-s-xq-light span.cm-attribute{color:#7f007f}.cm-s-xq-light span.cm-error{color:red}.cm-s-xq-light .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-xq-light .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important;background:#ff0}",""])},Bveg:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resource","resourceName","resourceId","field"]}},Bx1n:function(e,t,r){var o=r("XR3G");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("1cd9ee16",o,!0,{})},Bxzm:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("NeP4"),i=(o=n)&&o.__esModule?o:{default:o};t.default={components:{Badge:i.default},props:["resource","resourceName","resourceId","field"]}},C0hh:function(e,t){e.exports=function(){return[]}},C4MV:function(e,t,r){e.exports={default:r("9bBU"),__esModule:!0}},CAOf:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("modal",{on:{"modal-close":e.handleClose}},[r("div",{staticClass:"bg-white rounded-lg shadow-lg overflow-hidden",staticStyle:{width:"460px"}},[r("div",{staticClass:"p-8"},[r("heading",{staticClass:"mb-6",attrs:{level:2}},[e._v(e._s(e.__("Delete File")))]),e._v(" "),r("p",{staticClass:"text-80"},[e._v("\n "+e._s(e.__("Are you sure you want to delete this file?"))+"\n ")])],1),e._v(" "),r("div",{staticClass:"bg-30 px-6 py-3 flex"},[r("div",{staticClass:"ml-auto"},[r("button",{staticClass:"btn text-80 font-normal h-9 px-3 mr-3 btn-link",attrs:{dusk:"cancel-upload-delete-button",type:"button"},on:{click:function(t){return t.preventDefault(),e.handleClose(t)}}},[e._v("\n "+e._s(e.__("Cancel"))+"\n ")]),e._v(" "),r("progress-button",{ref:"confirmButton",staticClass:"btn-danger",attrs:{dusk:"confirm-upload-delete-button",disabled:e.clicked,processing:e.clicked},nativeOn:{click:function(t){return t.preventDefault(),e.handleConfirm(t)}}},[e._v("\n "+e._s(e.__("Delete"))+"\n ")])],1)])])])},staticRenderFns:[]}},CBDc:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-oceanic-next.CodeMirror{background:#304148;color:#f8f8f2}.cm-s-oceanic-next div.CodeMirror-selected{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-line::selection,.cm-s-oceanic-next .CodeMirror-line>span::selection,.cm-s-oceanic-next .CodeMirror-line>span>span::selection{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-line::-moz-selection,.cm-s-oceanic-next .CodeMirror-line>span::-moz-selection,.cm-s-oceanic-next .CodeMirror-line>span>span::-moz-selection{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-gutters{background:#304148;border-right:10px}.cm-s-oceanic-next .CodeMirror-guttermarker{color:#fff}.cm-s-oceanic-next .CodeMirror-guttermarker-subtle,.cm-s-oceanic-next .CodeMirror-linenumber{color:#d0d0d0}.cm-s-oceanic-next .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-oceanic-next span.cm-comment{color:#65737e}.cm-s-oceanic-next span.cm-atom{color:#c594c5}.cm-s-oceanic-next span.cm-number{color:#f99157}.cm-s-oceanic-next span.cm-property{color:#99c794}.cm-s-oceanic-next span.cm-attribute,.cm-s-oceanic-next span.cm-keyword{color:#c594c5}.cm-s-oceanic-next span.cm-builtin{color:#66d9ef}.cm-s-oceanic-next span.cm-string{color:#99c794}.cm-s-oceanic-next span.cm-variable,.cm-s-oceanic-next span.cm-variable-2,.cm-s-oceanic-next span.cm-variable-3{color:#f8f8f2}.cm-s-oceanic-next span.cm-def{color:#69c}.cm-s-oceanic-next span.cm-bracket{color:#5fb3b3}.cm-s-oceanic-next span.cm-header,.cm-s-oceanic-next span.cm-link,.cm-s-oceanic-next span.cm-tag{color:#c594c5}.cm-s-oceanic-next span.cm-error{background:#c594c5;color:#f8f8f0}.cm-s-oceanic-next .CodeMirror-activeline-background{background:rgba(101,115,126,.33)}.cm-s-oceanic-next .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},CF8z:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("resource-index",{attrs:{field:this.field,"resource-name":this.field.resourceName,"via-resource":this.resourceName,"via-resource-id":this.resourceId,"via-relationship":this.field.hasManyRelationship,"relationship-type":"hasMany","load-cards":!1,initialPerPage:this.field.perPage||5,"should-override-meta":!1},on:{actionExecuted:this.actionExecuted}})},staticRenderFns:[]}},CIOi:function(e,t,r){var o=r("pRbk");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("3d6f7c54",o,!0,{})},CNqF:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-zenburn .CodeMirror-gutters{background:#3f3f3f!important}.cm-s-zenburn .CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{color:#999}.cm-s-zenburn .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-zenburn.CodeMirror{background-color:#3f3f3f;color:#dcdccc}.cm-s-zenburn span.cm-builtin{color:#dcdccc;font-weight:700}.cm-s-zenburn span.cm-comment{color:#7f9f7f}.cm-s-zenburn span.cm-keyword{color:#f0dfaf;font-weight:700}.cm-s-zenburn span.cm-atom{color:#bfebbf}.cm-s-zenburn span.cm-def{color:#dcdccc}.cm-s-zenburn span.cm-variable{color:#dfaf8f}.cm-s-zenburn span.cm-variable-2{color:#dcdccc}.cm-s-zenburn span.cm-string,.cm-s-zenburn span.cm-string-2{color:#cc9393}.cm-s-zenburn span.cm-number{color:#dcdccc}.cm-s-zenburn span.cm-tag{color:#93e0e3}.cm-s-zenburn span.cm-attribute,.cm-s-zenburn span.cm-property{color:#dfaf8f}.cm-s-zenburn span.cm-qualifier{color:#7cb8bb}.cm-s-zenburn span.cm-meta{color:#f0dfaf}.cm-s-zenburn span.cm-header,.cm-s-zenburn span.cm-operator{color:#f0efd0}.cm-s-zenburn span.CodeMirror-matchingbracket{box-sizing:border-box;background:transparent;border-bottom:1px solid}.cm-s-zenburn span.CodeMirror-nonmatchingbracket{border-bottom:1px solid;background:none}.cm-s-zenburn .CodeMirror-activeline,.cm-s-zenburn .CodeMirror-activeline-background{background:#000}.cm-s-zenburn div.CodeMirror-selected{background:#545454}.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected{background:#4f4f4f}",""])},CQoQ:function(e,t,r){var o=r("VU/8")(r("4Bsn"),r("kzd7"),!1,null,null,null);e.exports=o.exports},"CUN/":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-gruvbox-dark.CodeMirror,.cm-s-gruvbox-dark .CodeMirror-gutters{background-color:#282828;color:#bdae93}.cm-s-gruvbox-dark .CodeMirror-gutters{background:#282828;border-right:0}.cm-s-gruvbox-dark .CodeMirror-linenumber{color:#7c6f64}.cm-s-gruvbox-dark .CodeMirror-cursor{border-left:1px solid #ebdbb2}.cm-s-gruvbox-dark div.CodeMirror-selected{background:#928374}.cm-s-gruvbox-dark span.cm-meta{color:#83a598}.cm-s-gruvbox-dark span.cm-comment{color:#928374}.cm-s-gruvbox-dark span.cm-number,span.cm-atom{color:#d3869b}.cm-s-gruvbox-dark span.cm-keyword{color:#f84934}.cm-s-gruvbox-dark span.cm-variable,.cm-s-gruvbox-dark span.cm-variable-2{color:#ebdbb2}.cm-s-gruvbox-dark span.cm-type,.cm-s-gruvbox-dark span.cm-variable-3{color:#fabd2f}.cm-s-gruvbox-dark span.cm-callee,.cm-s-gruvbox-dark span.cm-def,.cm-s-gruvbox-dark span.cm-operator,.cm-s-gruvbox-dark span.cm-property{color:#ebdbb2}.cm-s-gruvbox-dark span.cm-string{color:#b8bb26}.cm-s-gruvbox-dark span.cm-attribute,.cm-s-gruvbox-dark span.cm-qualifier,.cm-s-gruvbox-dark span.cm-string-2{color:#8ec07c}.cm-s-gruvbox-dark .CodeMirror-activeline-background{background:#3c3836}.cm-s-gruvbox-dark .CodeMirror-matchingbracket{background:#928374;color:#282828!important}.cm-s-gruvbox-dark span.cm-builtin,.cm-s-gruvbox-dark span.cm-tag{color:#fe8019}",""])},CVAT:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",e._l(e.panel.fields,function(t){return r("div",{key:t+e.resourceId},[r("detail-"+t.component,{tag:"component",attrs:{"resource-name":e.resourceName,"resource-id":e.resourceId,resource:e.resource,field:t},on:{actionExecuted:e.actionExecuted}})],1)}),0)},staticRenderFns:[]}},CW5P:function(e,t,r){var o=r("T/bE"),n=r("duB3"),i=r("POb3");e.exports=function(){this.size=0,this.__data__={hash:new o,map:new(i||n),string:new o}}},CXw9:function(e,t,r){"use strict";var o,n,i,a,s=r("O4g8"),c=r("7KvD"),l=r("+ZMJ"),u=r("RY/4"),d=r("kM2E"),m=r("EqjI"),f=r("lOnJ"),p=r("2KxR"),h=r("NWt+"),g=r("t8x9"),b=r("L42u").set,v=r("82Mu")(),y=r("qARP"),x=r("dNDb"),k=r("iUbK"),w=r("fJUb"),_=c.TypeError,C=c.process,M=C&&C.versions,R=M&&M.v8||"",S=c.Promise,z="process"==u(C),E=function(){},T=n=y.f,O=!!function(){try{var e=S.resolve(1),t=(e.constructor={})[r("dSzd")("species")]=function(e){e(E,E)};return(z||"function"==typeof PromiseRejectionEvent)&&e.then(E)instanceof t&&0!==R.indexOf("6.6")&&-1===k.indexOf("Chrome/66")}catch(e){}}(),F=function(e){var t;return!(!m(e)||"function"!=typeof(t=e.then))&&t},N=function(e,t){if(!e._n){e._n=!0;var r=e._c;v(function(){for(var o=e._v,n=1==e._s,i=0,a=function(t){var r,i,a,s=n?t.ok:t.fail,c=t.resolve,l=t.reject,u=t.domain;try{s?(n||(2==e._h&&I(e),e._h=1),!0===s?r=o:(u&&u.enter(),r=s(o),u&&(u.exit(),a=!0)),r===t.promise?l(_("Promise-chain cycle")):(i=F(r))?i.call(r,c,l):c(r)):l(o)}catch(e){u&&!a&&u.exit(),l(e)}};r.length>i;)a(r[i++]);e._c=[],e._n=!1,t&&!e._h&&A(e)})}},A=function(e){b.call(c,function(){var t,r,o,n=e._v,i=j(e);if(i&&(t=x(function(){z?C.emit("unhandledRejection",n,e):(r=c.onunhandledrejection)?r({promise:e,reason:n}):(o=c.console)&&o.error&&o.error("Unhandled promise rejection",n)}),e._h=z||j(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},j=function(e){return 1!==e._h&&0===(e._a||e._c).length},I=function(e){b.call(c,function(){var t;z?C.emit("rejectionHandled",e):(t=c.onrejectionhandled)&&t({promise:e,reason:e._v})})},L=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),N(t,!0))},q=function(e){var t,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===e)throw _("Promise can't be resolved itself");(t=F(e))?v(function(){var o={_w:r,_d:!1};try{t.call(e,l(q,o,1),l(L,o,1))}catch(e){L.call(o,e)}}):(r._v=e,r._s=1,N(r,!1))}catch(e){L.call({_w:r,_d:!1},e)}}};O||(S=function(e){p(this,S,"Promise","_h"),f(e),o.call(this);try{e(l(q,this,1),l(L,this,1))}catch(e){L.call(this,e)}},(o=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=r("xH/j")(S.prototype,{then:function(e,t){var r=T(g(this,S));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=z?C.domain:void 0,this._c.push(r),this._a&&this._a.push(r),this._s&&N(this,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new o;this.promise=e,this.resolve=l(q,e,1),this.reject=l(L,e,1)},y.f=T=function(e){return e===S||e===a?new i(e):n(e)}),d(d.G+d.W+d.F*!O,{Promise:S}),r("e6n0")(S,"Promise"),r("bRrM")("Promise"),a=r("FeBl").Promise,d(d.S+d.F*!O,"Promise",{reject:function(e){var t=T(this);return(0,t.reject)(e),t.promise}}),d(d.S+d.F*(s||!O),"Promise",{resolve:function(e){return w(s&&this===a?S:this,e)}}),d(d.S+d.F*!(O&&r("dY0y")(function(e){S.all(e).catch(E)})),"Promise",{all:function(e){var t=this,r=T(t),o=r.resolve,n=r.reject,i=x(function(){var r=[],i=0,a=1;h(e,!1,function(e){var s=i++,c=!1;r.push(void 0),a++,t.resolve(e).then(function(e){c||(c=!0,r[s]=e,--a||o(r))},n)}),--a||o(r)});return i.e&&n(i.v),r.promise},race:function(e){var t=this,r=T(t),o=r.reject,n=x(function(){h(e,!1,function(e){t.resolve(e).then(r.resolve,o)})});return n.e&&o(n.v),r.promise}})},CarF:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("default-field",{attrs:{field:e.field,"show-errors":!1,"field-name":e.fieldName,"show-help-text":null!=e.field.helpText}},[e.hasMorphToTypes?r("select",{staticClass:"block w-full form-control form-input form-input-bordered form-select mb-3",attrs:{slot:"field",disabled:e.isLocked||e.isReadonly,"data-testid":e.field.attribute+"-type",dusk:e.field.attribute+"-type"},domProps:{value:e.resourceType},on:{change:e.refreshResourcesForTypeChange},slot:"field"},[r("option",{attrs:{value:"",selected:"",disabled:!e.field.nullable}},[e._v("\n "+e._s(e.__("Choose Type"))+"\n ")]),e._v(" "),e._l(e.field.morphToTypes,function(t){return r("option",{key:t.value,domProps:{value:t.value,selected:e.resourceType==t.value}},[e._v("\n "+e._s(t.singularLabel)+"\n ")])})],2):r("label",{staticClass:"flex items-center select-none mt-3",attrs:{slot:"field"},slot:"field"},[e._v("\n "+e._s(e.__("There are no available options for this resource."))+"\n ")])]),e._v(" "),e.hasMorphToTypes?r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":!1,"field-name":e.fieldTypeName}},[r("template",{slot:"field"},[r("div",{staticClass:"flex items-center mb-3"},[!e.isSearchable||e.isLocked||e.isReadonly?e._e():r("search-input",{staticClass:"w-full",attrs:{"data-testid":e.field.attribute+"-search-input",disabled:!e.resourceType||e.isLocked||e.isReadonly,debounce:e.field.debounce,value:e.selectedResource,data:e.availableResources,clearable:e.field.nullable,trackBy:"value"},on:{input:e.performSearch,clear:e.clearSelection,selected:e.selectResource},scopedSlots:e._u([{key:"option",fn:function(t){var o=t.option,n=t.selected;return r("div",{staticClass:"flex items-center"},[o.avatar?r("div",{staticClass:"mr-3"},[r("img",{staticClass:"w-8 h-8 rounded-full block",attrs:{src:o.avatar}})]):e._e(),e._v(" "),r("div",[r("div",{staticClass:"text-sm font-semibold leading-5 text-90",class:{"text-white":n}},[e._v("\n "+e._s(o.display)+"\n ")]),e._v(" "),e.field.withSubtitles?r("div",{staticClass:"mt-1 text-xs font-semibold leading-5 text-80",class:{"text-white":n}},[o.subtitle?r("span",[e._v(e._s(o.subtitle))]):r("span",[e._v(e._s(e.__("No additional information...")))])]):e._e()])])}}],null,!1,1690734552)},[e.selectedResource?r("div",{staticClass:"flex items-center",attrs:{slot:"default"},slot:"default"},[e.selectedResource.avatar?r("div",{staticClass:"mr-3"},[r("img",{staticClass:"w-8 h-8 rounded-full block",attrs:{src:e.selectedResource.avatar}})]):e._e(),e._v("\n\n "+e._s(e.selectedResource.display)+"\n ")]):e._e()]),e._v(" "),!e.isSearchable||e.isLocked?r("select-control",{staticClass:"form-control form-select w-full",class:{"border-danger":e.hasError},attrs:{dusk:e.field.attribute+"-select",disabled:!e.resourceType||e.isLocked||e.isReadonly,options:e.availableResources,selected:e.selectedResourceId,label:"display"},on:{change:e.selectResourceFromSelectControl}},[r("option",{attrs:{value:"",disabled:!e.field.nullable},domProps:{selected:""==e.selectedResourceId}},[e._v("\n "+e._s(e.__("Choose"))+" "+e._s(e.fieldTypeName)+"\n ")])]):e._e(),e._v(" "),e.canShowNewRelationModal?r("create-relation-button",{staticClass:"ml-1",attrs:{dusk:e.field.attribute+"-inline-create"},on:{click:e.openRelationModal}}):e._e()],1),e._v(" "),r("portal",{attrs:{to:"modals",transition:"fade-transition"}},[e.relationModalOpen&&!e.shownViaNewRelationModal?r("create-relation-modal",{attrs:{"resource-name":e.resourceType,"via-relationship":e.viaRelationship,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,width:"800"},on:{"set-resource":e.handleSetResource,"cancelled-create":e.closeRelationModal}}):e._e()],1),e._v(" "),e.shouldShowTrashed?r("div",[r("checkbox-with-label",{attrs:{dusk:e.field.attribute+"-with-trashed-checkbox",checked:e.withTrashed},on:{input:e.toggleWithTrashed}},[e._v("\n "+e._s(e.__("With Trashed"))+"\n ")])],1):e._e()],1)],2):e._e()],1)},staticRenderFns:[]}},Cdx3:function(e,t,r){var o=r("sB3e"),n=r("lktj");r("uqUo")("keys",function(){return function(e){return n(o(e))}})},"Ce8/":function(e,t,r){var o=r("Iyq1");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("4b2f6056",o,!0,{})},CimZ:function(e,t,r){var o=r("VU/8")(r("q0wZ"),r("CF8z"),!1,null,null,null);e.exports=o.exports},Cqjc:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["dashboardName"]}},Cskv:function(e,t){var r="__lodash_hash_undefined__";e.exports=function(e){return this.__data__.set(e,r),this}},D09v:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("Ipqp")),n=a(r("GFMP")),i=a(r("U7Ds"));function a(e){return e&&e.__esModule?e:{default:e}}t.default={props:["resource","resourceName","resourceId","field"],components:{KeyValueTable:i.default,KeyValueHeader:n.default,KeyValueItem:o.default},data:function(){return{theData:[]}},created:function(){this.theData=_.map(this.field.value||{},function(e,t){return{key:t,value:e}})}}},D2L2:function(e,t){var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},D6nA:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-railscasts.CodeMirror{background:#2b2b2b;color:#f4f1ed}.cm-s-railscasts div.CodeMirror-selected{background:#272935!important}.cm-s-railscasts .CodeMirror-gutters{background:#2b2b2b;border-right:0}.cm-s-railscasts .CodeMirror-linenumber{color:#5a647e}.cm-s-railscasts .CodeMirror-cursor{border-left:1px solid #d4cfc9!important}.cm-s-railscasts span.cm-comment{color:#bc9458}.cm-s-railscasts span.cm-atom,.cm-s-railscasts span.cm-number{color:#b6b3eb}.cm-s-railscasts span.cm-attribute,.cm-s-railscasts span.cm-property{color:#a5c261}.cm-s-railscasts span.cm-keyword{color:#da4939}.cm-s-railscasts span.cm-string{color:#ffc66d}.cm-s-railscasts span.cm-variable{color:#a5c261}.cm-s-railscasts span.cm-variable-2{color:#6d9cbe}.cm-s-railscasts span.cm-def{color:#cc7833}.cm-s-railscasts span.cm-error{background:#da4939;color:#d4cfc9}.cm-s-railscasts span.cm-bracket{color:#f4f1ed}.cm-s-railscasts span.cm-tag{color:#da4939}.cm-s-railscasts span.cm-link{color:#b6b3eb}.cm-s-railscasts .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-railscasts .CodeMirror-activeline-background{background:#303040}",""])},"DEp+":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-neo.CodeMirror{background-color:#fff;color:#2e383c;line-height:1.4375}.cm-s-neo .cm-comment{color:#75787b}.cm-s-neo .cm-keyword,.cm-s-neo .cm-property{color:#1d75b3}.cm-s-neo .cm-atom,.cm-s-neo .cm-number{color:#75438a}.cm-s-neo .cm-node,.cm-s-neo .cm-tag{color:#9c3328}.cm-s-neo .cm-string{color:#b35e14}.cm-s-neo .cm-qualifier,.cm-s-neo .cm-variable{color:#047d65}.cm-s-neo pre{padding:0}.cm-s-neo .CodeMirror-gutters{border:none;border-right:10px solid transparent;background-color:transparent}.cm-s-neo .CodeMirror-linenumber{padding:0;color:#e0e2e5}.cm-s-neo .CodeMirror-guttermarker{color:#1d75b3}.cm-s-neo .CodeMirror-guttermarker-subtle{color:#e0e2e5}.cm-s-neo .CodeMirror-cursor{width:auto;border:0;background:hsla(223,4%,62%,.37);z-index:1}",""])},DUks:function(e,t,r){var o=r("Od4a");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("392003c9",o,!0,{})},Dc0G:function(e,t,r){(function(e){var o=r("blYT"),n="object"==typeof t&&t&&!t.nodeType&&t,i=n&&"object"==typeof e&&e&&!e.nodeType&&e,a=i&&i.exports===n&&o.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||a&&a.binding&&a.binding("util")}catch(e){}}();e.exports=s}).call(t,r("3IRH")(e))},Dcue:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-midnight .CodeMirror-activeline-background{background:#253540}.cm-s-midnight.CodeMirror{background:#0f192a;color:#d1edff}.cm-s-midnight div.CodeMirror-selected{background:#314d67}.cm-s-midnight .CodeMirror-line::selection,.cm-s-midnight .CodeMirror-line>span::selection,.cm-s-midnight .CodeMirror-line>span>span::selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-line::-moz-selection,.cm-s-midnight .CodeMirror-line>span::-moz-selection,.cm-s-midnight .CodeMirror-line>span>span::-moz-selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-gutters{background:#0f192a;border-right:1px solid}.cm-s-midnight .CodeMirror-guttermarker{color:#fff}.cm-s-midnight .CodeMirror-guttermarker-subtle,.cm-s-midnight .CodeMirror-linenumber{color:#d0d0d0}.cm-s-midnight .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-midnight span.cm-comment{color:#428bdd}.cm-s-midnight span.cm-atom{color:#ae81ff}.cm-s-midnight span.cm-number{color:#d1edff}.cm-s-midnight span.cm-attribute,.cm-s-midnight span.cm-property{color:#a6e22e}.cm-s-midnight span.cm-keyword{color:#e83737}.cm-s-midnight span.cm-string{color:#1dc116}.cm-s-midnight span.cm-variable,.cm-s-midnight span.cm-variable-2{color:#ffaa3e}.cm-s-midnight span.cm-def{color:#4dd}.cm-s-midnight span.cm-bracket{color:#d1edff}.cm-s-midnight span.cm-tag{color:#449}.cm-s-midnight span.cm-link{color:#ae81ff}.cm-s-midnight span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-midnight .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},Dd8w:function(e,t,r){"use strict";t.__esModule=!0;var o,n=r("woOf"),i=(o=n)&&o.__esModule?o:{default:o};t.default=i.default||function(e){for(var t=1;t0?r("KeyValueTable",{staticClass:"overflow-hidden",attrs:{"edit-mode":!1}},[r("KeyValueHeader",{attrs:{"key-label":e.field.keyLabel,"value-label":e.field.valueLabel}}),e._v(" "),r("div",{staticClass:"bg-white overflow-hidden key-value-items"},e._l(e.theData,function(e){return r("KeyValueItem",{key:e.key,attrs:{item:e,disabled:!0}})}),1)],1):e._e()],1)],2)},staticRenderFns:[]}},Dm1N:function(e,t,r){var o=r("m8Mv");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("7431735c",o,!0,{})},DtxB:function(e,t,r){var o=r("VU/8")(r("G9JA"),r("tah0"),!1,null,null,null);e.exports=o.exports},Dv2r:function(e,t,r){var o=r("pTUa");e.exports=function(e,t){var r=o(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}},DyE9:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-bespin.CodeMirror{background:#28211c;color:#9d9b97}.cm-s-bespin div.CodeMirror-selected{background:#36312e!important}.cm-s-bespin .CodeMirror-gutters{background:#28211c;border-right:0}.cm-s-bespin .CodeMirror-linenumber{color:#666}.cm-s-bespin .CodeMirror-cursor{border-left:1px solid #797977!important}.cm-s-bespin span.cm-comment{color:#937121}.cm-s-bespin span.cm-atom,.cm-s-bespin span.cm-number{color:#9b859d}.cm-s-bespin span.cm-attribute,.cm-s-bespin span.cm-property{color:#54be0d}.cm-s-bespin span.cm-keyword{color:#cf6a4c}.cm-s-bespin span.cm-string{color:#f9ee98}.cm-s-bespin span.cm-variable{color:#54be0d}.cm-s-bespin span.cm-variable-2{color:#5ea6ea}.cm-s-bespin span.cm-def{color:#cf7d34}.cm-s-bespin span.cm-error{background:#cf6a4c;color:#797977}.cm-s-bespin span.cm-bracket{color:#9d9b97}.cm-s-bespin span.cm-tag{color:#cf6a4c}.cm-s-bespin span.cm-link{color:#9b859d}.cm-s-bespin .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-bespin .CodeMirror-activeline-background{background:#404040}",""])},E4Hj:function(e,t){e.exports=function(e){return this.__data__.get(e)}},EGZi:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},EGgO:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("badge",{attrs:{label:this.field.label,"extra-classes":this.field.typeClass}})],1)},staticRenderFns:[]}},EHRO:function(e,t,r){var o=r("NkRn"),n=r("qwTf"),i=r("22B7"),a=r("FhcP"),s=r("WFiI"),c=r("octw"),l=1,u=2,d="[object Boolean]",m="[object Date]",f="[object Error]",p="[object Map]",h="[object Number]",g="[object RegExp]",b="[object Set]",v="[object String]",y="[object Symbol]",x="[object ArrayBuffer]",k="[object DataView]",w=o?o.prototype:void 0,_=w?w.valueOf:void 0;e.exports=function(e,t,r,o,w,C,M){switch(r){case k:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!C(new n(e),new n(t)));case d:case m:case h:return i(+e,+t);case f:return e.name==t.name&&e.message==t.message;case g:case v:return e==t+"";case p:var R=s;case b:var S=o&l;if(R||(R=c),e.size!=t.size&&!S)return!1;var z=M.get(e);if(z)return z==t;o|=u,M.set(e,t);var E=a(R(e),R(t),o,w,C,M);return M.delete(e),E;case y:if(_)return _.call(e)==_.call(t)}return!1}},"EJ/F":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20"}},[t("path",{attrs:{d:"M8 1h9v2H8V1zm3 2h3L8 17H5l6-14zM2 17h9v2H2v-2z"}})])},staticRenderFns:[]}},EL2u:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},EQFb:function(e,t,r){var o=r("VU/8")(r("Fh4w"),null,!1,null,null,null);e.exports=o.exports},EZAE:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-view",{attrs:{loading:e.loading}},[r("custom-create-header",{staticClass:"mb-3",attrs:{"resource-name":e.resourceName}}),e._v(" "),e.panels?r("form",{ref:"form",attrs:{autocomplete:"off"},on:{submit:e.submitViaCreateResource,change:e.onUpdateFormStatus}},[e._l(e.panelsWithFields,function(t){return r("form-panel",{key:t.name,staticClass:"mb-8",attrs:{"shown-via-new-relation-modal":e.shownViaNewRelationModal,panel:t,name:t.name,"resource-name":e.resourceName,fields:t.fields,mode:"form","validation-errors":e.validationErrors,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship},on:{"field-changed":e.onUpdateFormStatus,"file-upload-started":e.handleFileUploadStarted,"file-upload-finished":e.handleFileUploadFinished}})}),e._v(" "),r("div",{staticClass:"flex items-center"},[r("cancel-button",{on:{click:function(t){return e.$emit("cancelled-create")}}}),e._v(" "),e.shouldShowAddAnotherButton?r("progress-button",{staticClass:"mr-3",attrs:{dusk:"create-and-add-another-button",disabled:e.isWorking,processing:e.wasSubmittedViaCreateResourceAndAddAnother},nativeOn:{click:function(t){return e.submitViaCreateResourceAndAddAnother(t)}}},[e._v("\n "+e._s(e.__("Create & Add Another"))+"\n ")]):e._e(),e._v(" "),r("progress-button",{attrs:{dusk:"create-button",type:"submit",disabled:e.isWorking,processing:e.wasSubmittedViaCreateResource}},[e._v("\n "+e._s(e.createButtonLabel)+"\n ")])],1)],2):e._e()],1)},staticRenderFns:[]}},Ep5f:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-mdn-like.CodeMirror{color:#999;background-color:#fff}.cm-s-mdn-like div.CodeMirror-selected{background:#cfc}.cm-s-mdn-like .CodeMirror-line::selection,.cm-s-mdn-like .CodeMirror-line>span::selection,.cm-s-mdn-like .CodeMirror-line>span>span::selection{background:#cfc}.cm-s-mdn-like .CodeMirror-line::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span::-moz-selection,.cm-s-mdn-like .CodeMirror-line>span>span::-moz-selection{background:#cfc}.cm-s-mdn-like .CodeMirror-gutters{background:#f8f8f8;border-left:6px solid rgba(0,83,159,.65);color:#333}.cm-s-mdn-like .CodeMirror-linenumber{color:#aaa;padding-left:8px}.cm-s-mdn-like .CodeMirror-cursor{border-left:2px solid #222}.cm-s-mdn-like .cm-keyword{color:#6262ff}.cm-s-mdn-like .cm-atom{color:#f90}.cm-s-mdn-like .cm-number{color:#ca7841}.cm-s-mdn-like .cm-def{color:#8da6ce}.cm-s-mdn-like span.cm-tag,.cm-s-mdn-like span.cm-variable-2{color:#690}.cm-s-mdn-like .cm-variable,.cm-s-mdn-like span.cm-def,.cm-s-mdn-like span.cm-type,.cm-s-mdn-like span.cm-variable-3{color:#07a}.cm-s-mdn-like .cm-property{color:#905}.cm-s-mdn-like .cm-qualifier{color:#690}.cm-s-mdn-like .cm-operator{color:#cda869}.cm-s-mdn-like .cm-comment{color:#777;font-weight:400}.cm-s-mdn-like .cm-string{color:#07a;font-style:italic}.cm-s-mdn-like .cm-string-2{color:#bd6b18}.cm-s-mdn-like .cm-meta{color:#000}.cm-s-mdn-like .cm-builtin{color:#9b7536}.cm-s-mdn-like .cm-tag{color:#997643}.cm-s-mdn-like .cm-attribute{color:#d6bb6d}.cm-s-mdn-like .cm-header{color:#ff6400}.cm-s-mdn-like .cm-hr{color:#aeaeae}.cm-s-mdn-like .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-mdn-like .cm-error{border-bottom:1px solid red}div.cm-s-mdn-like .CodeMirror-activeline-background{background:#efefff}div.cm-s-mdn-like span.CodeMirror-matchingbracket{outline:1px solid grey;color:inherit}.cm-s-mdn-like.CodeMirror{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=)}",""])},EqBC:function(e,t,r){"use strict";var o=r("kM2E"),n=r("FeBl"),i=r("7KvD"),a=r("t8x9"),s=r("fJUb");o(o.P+o.R,"Promise",{finally:function(e){var t=a(this,n.Promise||i.Promise),r="function"==typeof e;return this.then(r?function(r){return s(t,e()).then(function(){return r})}:e,r?function(r){return s(t,e()).then(function(){throw r})}:e)}})},EqjI:function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},EyZg:function(e,t,r){var o=r("a4P9");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("392907d0",o,!0,{})},F1kH:function(e,t,r){"use strict";var o=s(r("I3G/")),n=s(r("fjqx"));r("VJUA");var i=s(r("nY6p")),a=s(r("lVNG"));function s(e){return e&&e.__esModule?e:{default:e}}r("p7WG"),r("p586"),o.default.config.productionTip=!1,o.default.mixin(i.default),window.config.themingClasses&&o.default.mixin(a.default),function(){this.CreateNova=function(e){return new n.default(e)}}.call(window)},F1qy:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resource","resourceName","resourceId","field"]}},F4PC:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{width:{default:120}},mounted:function(){this.$refs.menu.addEventListener("click",function(e){"A"!=e.target.tagName&&"BUTTON"!=e.target.tagName&&Nova.$emit("close-dropdowns")})},computed:{styles:function(){return{width:this.width+"px"}}}}},F7u6:function(e,t,r){var o=r("VU/8")(r("RT6M"),r("ItZe"),!1,null,null,null);e.exports=o.exports},FCuZ:function(e,t,r){var o=r("uIr7"),n=r("NGEn");e.exports=function(e,t,r){var i=t(e);return n(e)?i:o(i,r(e))}},FFLD:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"hidden"})},staticRenderFns:[]}},FVWl:function(e,t,r){var o=r("VU/8")(r("zRtq"),r("yMr1"),!1,null,null,null);e.exports=o.exports},"FZ+f":function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=function(e,t){var r=e[1]||"",o=e[3];if(!o)return r;if(t&&"function"==typeof btoa){var n=(a=o,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),i=o.sources.map(function(e){return"/*# sourceURL="+o.sourceRoot+e+" */"});return[r].concat(i).concat([n]).join("\n")}var a;return[r].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},n=0;nm))return!1;var p=u.get(e),h=u.get(t);if(p&&h)return p==t&&h==e;var g=-1,b=!0,v=r&s?new o:void 0;for(u.set(e,t),u.set(t,e);++gspan::selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-line::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span::-moz-selection,.cm-s-vibrant-ink .CodeMirror-line>span>span::-moz-selection{background:rgba(53,73,60,.99)}.cm-s-vibrant-ink .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-vibrant-ink .CodeMirror-guttermarker{color:#fff}.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle,.cm-s-vibrant-ink .CodeMirror-linenumber{color:#d0d0d0}.cm-s-vibrant-ink .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-vibrant-ink .cm-keyword{color:#cc7832}.cm-s-vibrant-ink .cm-atom{color:#fc0}.cm-s-vibrant-ink .cm-number{color:#ffee98}.cm-s-vibrant-ink .cm-def{color:#8da6ce}.cm-s-vibrant-ink span.cm-variable-2,.cm-s-vibrant-ink span.cm-variable-3,.cm-s-vibrant span.cm-def,.cm-s-vibrant span.cm-tag,.cm-s-vibrant span.cm-type{color:#ffc66d}.cm-s-vibrant-ink .cm-operator{color:#888}.cm-s-vibrant-ink .cm-comment{color:gray;font-weight:700}.cm-s-vibrant-ink .cm-string{color:#a5c25c}.cm-s-vibrant-ink .cm-string-2{color:red}.cm-s-vibrant-ink .cm-meta{color:#d8fa3c}.cm-s-vibrant-ink .cm-attribute,.cm-s-vibrant-ink .cm-builtin,.cm-s-vibrant-ink .cm-tag{color:#8da6ce}.cm-s-vibrant-ink .cm-header{color:#ff6400}.cm-s-vibrant-ink .cm-hr{color:#aeaeae}.cm-s-vibrant-ink .cm-link{color:#5656f3}.cm-s-vibrant-ink .cm-error{border-bottom:1px solid red}.cm-s-vibrant-ink .CodeMirror-activeline-background{background:#27282e}.cm-s-vibrant-ink .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},"G/6X":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42!important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498!important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom,.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-attribute,.cm-s-hopscotch span.cm-property{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020}",""])},G0Wc:function(e,t,r){var o=r("yCNF"),n=r("HT7L"),i=r("8gK5"),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!o(e))return i(e);var t=n(e),r=[];for(var s in e)("constructor"!=s||!t&&a.call(e,s))&&r.push(s);return r}},G2xm:function(e,t){e.exports=function(e){return this.__data__.has(e)}},G3QO:function(e,t,r){var o=r("VU/8")(r("++/z"),r("uvxJ"),!1,null,null,null);e.exports=o.exports},G3xu:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("7zO9"),i=(o=n)&&o.__esModule?o:{default:o};t.default={components:{BooleanOption:i.default},props:{resourceName:{type:String,required:!0},filterKey:{type:String,required:!0},lens:String},methods:{handleChange:function(){this.$emit("change")}},computed:{filter:function(){return this.$store.getters[this.resourceName+"/getFilter"](this.filterKey)},options:function(){return this.$store.getters[this.resourceName+"/getOptionsForFilter"](this.filterKey)}}}},G9JA:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={}},GDNt:function(e,t,r){var o=r("VU/8")(r("ws7N"),r("9Ktf"),!1,null,null,null);e.exports=o.exports},GFMP:function(e,t,r){var o=r("VU/8")(r("R2jj"),r("Oke2"),!1,null,null,null);e.exports=o.exports},GK6p:function(e,t,r){var o=r("VU/8")(r("9ewe"),r("8/FG"),!1,null,null,null);e.exports=o.exports},GQ7U:function(e,t,r){"use strict";var o=r("4oCz");e.exports=function(e,t){o.forEach(e,function(r,o){o!==t&&o.toUpperCase()===t.toUpperCase()&&(e[t]=r,delete e[o])})}},GS1y:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"hidden"})},staticRenderFns:[]}},GdkH:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-colorforth.CodeMirror{background:#000;color:#f8f8f8}.cm-s-colorforth .CodeMirror-gutters{background:#0a001f;border-right:1px solid #aaa}.cm-s-colorforth .CodeMirror-guttermarker{color:#ffbd40}.cm-s-colorforth .CodeMirror-guttermarker-subtle{color:#78846f}.cm-s-colorforth .CodeMirror-linenumber{color:#bababa}.cm-s-colorforth .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-colorforth span.cm-comment{color:#ededed}.cm-s-colorforth span.cm-def{color:#ff1c1c;font-weight:700}.cm-s-colorforth span.cm-keyword{color:#ffd900}.cm-s-colorforth span.cm-builtin{color:#00d95a}.cm-s-colorforth span.cm-variable{color:#73ff00}.cm-s-colorforth span.cm-string{color:#007bff}.cm-s-colorforth span.cm-number{color:#00c4ff}.cm-s-colorforth span.cm-atom{color:#606060}.cm-s-colorforth span.cm-variable-2{color:#eee}.cm-s-colorforth span.cm-type,.cm-s-colorforth span.cm-variable-3{color:#ddd}.cm-s-colorforth span.cm-meta{color:#ff0}.cm-s-colorforth span.cm-qualifier{color:#fff700}.cm-s-colorforth span.cm-bracket{color:#cc7}.cm-s-colorforth span.cm-tag{color:#ffbd40}.cm-s-colorforth span.cm-attribute{color:#fff700}.cm-s-colorforth span.cm-error{color:red}.cm-s-colorforth div.CodeMirror-selected{background:#333d53}.cm-s-colorforth span.cm-compilation{background:hsla(0,0%,100%,.12)}.cm-s-colorforth .CodeMirror-activeline-background{background:#253540}",""])},GnAz:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("modal",{on:{"modal-close":e.handleClose},scopedSlots:e._u([{key:"default",fn:function(t){return r("form",{staticClass:"bg-white rounded-lg shadow-lg overflow-hidden",staticStyle:{width:"460px"},on:{submit:function(t){return t.preventDefault(),e.handleConfirm(t)}}},[e._t("default",[r("div",{staticClass:"p-8"},[r("heading",{staticClass:"mb-6",attrs:{level:2}},[e._v(e._s(e.__("Restore Resource")))]),e._v(" "),r("p",{staticClass:"text-80 leading-normal"},[e._v("\n "+e._s(e.__("Are you sure you want to restore the selected resources?"))+"\n ")])],1)]),e._v(" "),r("div",{staticClass:"bg-30 px-6 py-3 flex"},[r("div",{staticClass:"ml-auto"},[r("button",{staticClass:"btn text-80 font-normal h-9 px-3 mr-3 btn-link",attrs:{type:"button","data-testid":"cancel-button"},on:{click:function(t){return t.preventDefault(),e.handleClose(t)}}},[e._v("\n "+e._s(e.__("Cancel"))+"\n ")]),e._v(" "),r("button",{ref:"confirmButton",staticClass:"btn btn-default btn-primary",attrs:{id:"confirm-restore-button","data-testid":"confirm-button",type:"submit"}},[e._v("\n "+e._s(e.__("Restore"))+"\n ")])])])],2)}}],null,!0)})},staticRenderFns:[]}},GpFB:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=i(r("I3G/")),n=i(r("NYxO"));function i(e){return e&&e.__esModule?e:{default:e}}o.default.use(n.default),t.default=new n.default.Store},GqN3:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["testId","deleteResource","restoreResource","resource","resourcesSelected","resourceName","relationshipType","viaRelationship","viaResource","viaResourceId","viaManyToMany","checked","actionsAreAvailable","actionsEndpoint","shouldShowCheckboxes","updateSelectionStatus","queryString"],data:function(){return{deleteModalOpen:!1,restoreModalOpen:!1}},methods:{toggleSelection:function(){this.updateSelectionStatus(this.resource)},openDeleteModal:function(){this.deleteModalOpen=!0},confirmDelete:function(){this.deleteResource(this.resource),this.closeDeleteModal()},closeDeleteModal:function(){this.deleteModalOpen=!1},openRestoreModal:function(){this.restoreModalOpen=!0},confirmRestore:function(){this.restoreResource(this.resource),this.closeRestoreModal()},closeRestoreModal:function(){this.restoreModalOpen=!1}},computed:{availableActions:function(){return _.filter(this.resource.actions,function(e){return e.showOnTableRow})}}}},Gr69:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("Xxa5")),n=a(r("exGp")),i=r("vilh");function a(e){return e&&e.__esModule?e:{default:e}}t.default={mixins:[i.PerformsSearches,i.TogglesTrashed,i.PreventsFormAbandonment],metaInfo:function(){if(this.relatedResourceLabel)return{title:this.__("Attach :resource",{resource:this.relatedResourceLabel})}},props:{resourceName:{type:String,required:!0},resourceId:{required:!0},relatedResourceName:{type:String,required:!0},viaResource:{default:""},viaResourceId:{default:""},viaRelationship:{default:""},polymorphic:{default:!1}},data:function(){return{loading:!0,submittedViaAttachAndAttachAnother:!1,submittedViaAttachResource:!1,viaResourceField:null,field:null,softDeletes:!1,fields:[],validationErrors:new i.Errors,selectedResource:null,selectedResourceId:null}},created:function(){if(Nova.missingResource(this.resourceName))return this.$router.push({name:"404"})},mounted:function(){this.initializeComponent()},methods:{initializeComponent:function(){this.softDeletes=!1,this.disableWithTrashed(),this.clearSelection(),this.getField(),this.getPivotFields(),this.resetErrors()},getField:function(){var e=this;this.field=null,Nova.request().get("/nova-api/"+this.resourceName+"/field/"+this.viaRelationship,{params:{relatable:!0}}).then(function(t){var r=t.data;e.field=r,e.field.searchable?e.determineIfSoftDeletes():e.getAvailableResources(),e.loading=!1})},getPivotFields:function(){var e=this;this.fields=[],Nova.request().get("/nova-api/"+this.resourceName+"/"+this.resourceId+"/creation-pivot-fields/"+this.relatedResourceName,{params:{editing:!0,editMode:"attach",viaRelationship:this.viaRelationship}}).then(function(t){var r=t.data;e.fields=r,_.each(e.fields,function(e){e.fill=function(){return""}})})},resetErrors:function(){this.validationErrors=new i.Errors},getAvailableResources:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";Nova.request().get("/nova-api/"+this.resourceName+"/"+this.resourceId+"/attachable/"+this.relatedResourceName,{params:{search:t,current:this.selectedResourceId,withTrashed:this.withTrashed}}).then(function(t){e.viaResourceField=t.data.viaResource,e.availableResources=t.data.resources,e.withTrashed=t.data.withTrashed,e.softDeletes=t.data.softDeletes})},determineIfSoftDeletes:function(){var e=this;Nova.request().get("/nova-api/"+this.relatedResourceName+"/soft-deletes").then(function(t){e.softDeletes=t.data.softDeletes})},attachResource:function(){var e=(0,n.default)(o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.submittedViaAttachResource=!0,e.prev=1,e.next=4,this.attachRequest();case 4:this.submittedViaAttachResource=!1,this.canLeave=!0,this.$router.push({name:"detail",params:{resourceName:this.resourceName,resourceId:this.resourceId}}),e.next=15;break;case 9:e.prev=9,e.t0=e.catch(1),window.scrollTo(0,0),this.submittedViaAttachResource=!1,this.resourceInformation&&this.resourceInformation.preventFormAbandonment&&(this.canLeave=!1),422==e.t0.response.status&&(this.validationErrors=new i.Errors(e.t0.response.data.errors),Nova.error(this.__("There was a problem submitting the form.")));case 15:case"end":return e.stop()}},e,this,[[1,9]])}));return function(){return e.apply(this,arguments)}}(),attachAndAttachAnother:function(){var e=(0,n.default)(o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.submittedViaAttachAndAttachAnother=!0,e.prev=1,e.next=4,this.attachRequest();case 4:this.submittedViaAttachAndAttachAnother=!1,this.initializeComponent(),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(1),this.submittedViaAttachAndAttachAnother=!1,422==e.t0.response.status&&(this.validationErrors=new i.Errors(e.t0.response.data.errors),Nova.error(this.__("There was a problem submitting the form.")));case 12:case"end":return e.stop()}},e,this,[[1,8]])}));return function(){return e.apply(this,arguments)}}(),attachRequest:function(){return Nova.request().post(this.attachmentEndpoint,this.attachmentFormData,{params:{editing:!0,editMode:"attach"}})},selectResourceFromSelectControl:function(e){this.selectedResourceId=e.target.value,this.selectInitialResource(),this.field&&Nova.$emit(this.field.attribute+"-change",this.selectedResourceId)},selectInitialResource:function(){var e=this;this.selectedResource=_.find(this.availableResources,function(t){return t.value==e.selectedResourceId})},toggleWithTrashed:function(){this.withTrashed=!this.withTrashed,this.isSearchable||this.getAvailableResources()},onUpdateFormStatus:function(){this.resourceInformation&&this.resourceInformation.preventFormAbandonment&&this.updateFormStatus()}},computed:{attachmentEndpoint:function(){return this.polymorphic?"/nova-api/"+this.resourceName+"/"+this.resourceId+"/attach-morphed/"+this.relatedResourceName:"/nova-api/"+this.resourceName+"/"+this.resourceId+"/attach/"+this.relatedResourceName},attachmentFormData:function(){var e=this;return _.tap(new FormData,function(t){_.each(e.fields,function(e){e.fill(t)}),e.selectedResource?t.append(e.relatedResourceName,e.selectedResource.value):t.append(e.relatedResourceName,""),t.append(e.relatedResourceName+"_trashed",e.withTrashed),t.append("viaRelationship",e.viaRelationship)})},relatedResourceLabel:function(){if(this.field)return this.field.singularLabel},isSearchable:function(){return this.field.searchable},isWorking:function(){return this.submittedViaAttachResource||this.submittedViaAttachAndAttachAnother},headingTitle:function(){return this.__("Attach :resource",{resource:this.relatedResourceLabel})}}}},Gu7T:function(e,t,r){"use strict";t.__esModule=!0;var o,n=r("c/Tr"),i=(o=n)&&o.__esModule?o:{default:o};t.default=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);tspan::selection,.cm-s-seti .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-seti .CodeMirror-line::-moz-selection,.cm-s-seti .CodeMirror-line>span::-moz-selection,.cm-s-seti .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-seti span.cm-comment{color:#41535b}.cm-s-seti span.cm-string,.cm-s-seti span.cm-string-2{color:#55b5db}.cm-s-seti span.cm-number{color:#cd3f45}.cm-s-seti span.cm-variable{color:#55b5db}.cm-s-seti span.cm-variable-2{color:#a074c4}.cm-s-seti span.cm-def{color:#55b5db}.cm-s-seti span.cm-keyword{color:#ff79c6}.cm-s-seti span.cm-operator{color:#9fca56}.cm-s-seti span.cm-keyword{color:#e6cd69}.cm-s-seti span.cm-atom{color:#cd3f45}.cm-s-seti span.cm-meta,.cm-s-seti span.cm-tag{color:#55b5db}.cm-s-seti span.cm-attribute,.cm-s-seti span.cm-qualifier{color:#9fca56}.cm-s-seti span.cm-property{color:#a074c4}.cm-s-seti span.cm-builtin,.cm-s-seti span.cm-type,.cm-s-seti span.cm-variable-3{color:#9fca56}.cm-s-seti .CodeMirror-activeline-background{background:#101213}.cm-s-seti .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},HT7L:function(e,t){var r=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r)}},HVp0:function(e,t,r){var o=r("VU/8")(null,r("yEYw"),!1,null,null,null);e.exports=o.exports},HWbV:function(e,t,r){var o=r("VU/8")(null,r("ZqMS"),!0,null,null,null);e.exports=o.exports},HbE6:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("pp4X");(o=n)&&o.__esModule;r("k7Zf"),t.default={name:"trix-vue",props:{name:{type:String},value:{type:String},placeholder:{type:String},withFiles:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},methods:{initialize:function(){this.$refs.theEditor.editor.insertHTML(this.value),this.disabled&&this.$refs.theEditor.setAttribute("contenteditable",!1)},handleChange:function(){this.$emit("change",this.$refs.theEditor.value)},handleFileAccept:function(e){this.withFiles||e.preventDefault()},handleAddFile:function(e){this.$emit("file-add",e)},handleRemoveFile:function(e){this.$emit("file-remove",e)}}}},HbnZ:function(e,t,r){var o=r("bJWQ"),n=r("O1jc"),i=r("rpnb"),a=r("jMi8"),s=r("yCNF"),c=r("t8rQ"),l=r("MMop");e.exports=function e(t,r,u,d,m){t!==r&&i(r,function(i,c){if(m||(m=new o),s(i))a(t,r,c,u,e,d,m);else{var f=d?d(l(t,c),i,c+"",t,r,m):void 0;void 0===f&&(f=i),n(t,c,f)}},c)}},HdjK:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("a",{staticClass:"btn btn-link dim cursor-pointer text-80 ml-auto mr-6",attrs:{tabindex:"0"},on:{click:function(t){return e.$emit("click")}}},[e._v("\n "+e._s(e.__("Cancel"))+"\n")])},staticRenderFns:[]}},"Hdk+":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[t("excerpt",{attrs:{content:this.excerpt,"should-show":this.field.shouldShow}})],1)],2)},staticRenderFns:[]}},Hknj:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.HandlesValidationErrors,o.FormField],computed:{inputType:function(){return this.field.type||"text"},inputStep:function(){return this.field.step},inputMin:function(){return this.field.min},inputMax:function(){return this.field.max}}}},HmeL:function(e,t,r){var o=r("VU/8")(r("lmis"),r("uoUU"),!1,null,null,null);e.exports=o.exports},Hp5C:function(e,t,r){var o=r("+tln");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("1b67d2c2",o,!0,{})},Hxdr:function(e,t){e.exports=function(e,t){for(var r=-1,o=null==e?0:e.length,n=Array(o);++r",type:"keyToKey",toKeys:"h"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"",type:"keyToKey",toKeys:"l"},{keys:"",type:"keyToKey",toKeys:"h",context:"normal"},{keys:"",type:"keyToKey",toKeys:"x",context:"normal"},{keys:"",type:"keyToKey",toKeys:"W"},{keys:"",type:"keyToKey",toKeys:"B",context:"normal"},{keys:"",type:"keyToKey",toKeys:"w"},{keys:"",type:"keyToKey",toKeys:"b",context:"normal"},{keys:"",type:"keyToKey",toKeys:"j"},{keys:"",type:"keyToKey",toKeys:"k"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"",type:"keyToKey",toKeys:"",context:"insert"},{keys:"s",type:"keyToKey",toKeys:"cl",context:"normal"},{keys:"s",type:"keyToKey",toKeys:"c",context:"visual"},{keys:"S",type:"keyToKey",toKeys:"cc",context:"normal"},{keys:"S",type:"keyToKey",toKeys:"VdO",context:"visual"},{keys:"",type:"keyToKey",toKeys:"0"},{keys:"",type:"keyToKey",toKeys:"$"},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:""},{keys:"",type:"keyToKey",toKeys:"j^",context:"normal"},{keys:"",type:"action",action:"toggleOverwrite",context:"insert"},{keys:"H",type:"motion",motion:"moveToTopLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"M",type:"motion",motion:"moveToMiddleLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"L",type:"motion",motion:"moveToBottomLine",motionArgs:{linewise:!0,toJumplist:!0}},{keys:"h",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!1}},{keys:"l",type:"motion",motion:"moveByCharacters",motionArgs:{forward:!0}},{keys:"j",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,linewise:!0}},{keys:"k",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,linewise:!0}},{keys:"gj",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!0}},{keys:"gk",type:"motion",motion:"moveByDisplayLines",motionArgs:{forward:!1}},{keys:"w",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1}},{keys:"W",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:"e",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:"E",type:"motion",motion:"moveByWords",motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"b",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1}},{keys:"B",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:"ge",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:"gE",type:"motion",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:"{",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!1,toJumplist:!0}},{keys:"}",type:"motion",motion:"moveByParagraph",motionArgs:{forward:!0,toJumplist:!0}},{keys:"(",type:"motion",motion:"moveBySentence",motionArgs:{forward:!1}},{keys:")",type:"motion",motion:"moveBySentence",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!0}},{keys:"",type:"motion",motion:"moveByPage",motionArgs:{forward:!1}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!0,explicitRepeat:!0}},{keys:"",type:"motion",motion:"moveByScroll",motionArgs:{forward:!1,explicitRepeat:!0}},{keys:"gg",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"G",type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:"0",type:"motion",motion:"moveToStartOfLine"},{keys:"^",type:"motion",motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"+",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0}},{keys:"-",type:"motion",motion:"moveByLines",motionArgs:{forward:!1,toFirstChar:!0}},{keys:"_",type:"motion",motion:"moveByLines",motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:"$",type:"motion",motion:"moveToEol",motionArgs:{inclusive:!0}},{keys:"%",type:"motion",motion:"moveToMatchedSymbol",motionArgs:{inclusive:!0,toJumplist:!0}},{keys:"f",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"F",type:"motion",motion:"moveToCharacter",motionArgs:{forward:!1}},{keys:"t",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!0,inclusive:!0}},{keys:"T",type:"motion",motion:"moveTillCharacter",motionArgs:{forward:!1}},{keys:";",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!0}},{keys:",",type:"motion",motion:"repeatLastCharacterSearch",motionArgs:{forward:!1}},{keys:"'",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`",type:"motion",motion:"goToMark",motionArgs:{toJumplist:!0}},{keys:"]`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0}},{keys:"[`",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1}},{keys:"]'",type:"motion",motion:"jumpToMark",motionArgs:{forward:!0,linewise:!0}},{keys:"['",type:"motion",motion:"jumpToMark",motionArgs:{forward:!1,linewise:!0}},{keys:"]p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:"[p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:"]",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!0,toJumplist:!0}},{keys:"[",type:"motion",motion:"moveToSymbol",motionArgs:{forward:!1,toJumplist:!0}},{keys:"|",type:"motion",motion:"moveToColumn"},{keys:"o",type:"motion",motion:"moveToOtherHighlightedEnd",context:"visual"},{keys:"O",type:"motion",motion:"moveToOtherHighlightedEnd",motionArgs:{sameLine:!0},context:"visual"},{keys:"d",type:"operator",operator:"delete"},{keys:"y",type:"operator",operator:"yank"},{keys:"c",type:"operator",operator:"change"},{keys:"=",type:"operator",operator:"indentAuto"},{keys:">",type:"operator",operator:"indent",operatorArgs:{indentRight:!0}},{keys:"<",type:"operator",operator:"indent",operatorArgs:{indentRight:!1}},{keys:"g~",type:"operator",operator:"changeCase"},{keys:"gu",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},isEdit:!0},{keys:"gU",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},isEdit:!0},{keys:"n",type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:!0}},{keys:"N",type:"motion",motion:"findNext",motionArgs:{forward:!1,toJumplist:!0}},{keys:"gn",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!0}},{keys:"gN",type:"motion",motion:"findAndSelectNextInclusive",motionArgs:{forward:!1}},{keys:"x",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:"X",type:"operatorMotion",operator:"delete",motion:"moveByCharacters",motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:"D",type:"operatorMotion",operator:"delete",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"D",type:"operator",operator:"delete",operatorArgs:{linewise:!0},context:"visual"},{keys:"Y",type:"operatorMotion",operator:"yank",motion:"expandToLine",motionArgs:{linewise:!0},context:"normal"},{keys:"Y",type:"operator",operator:"yank",operatorArgs:{linewise:!0},context:"visual"},{keys:"C",type:"operatorMotion",operator:"change",motion:"moveToEol",motionArgs:{inclusive:!0},context:"normal"},{keys:"C",type:"operator",operator:"change",operatorArgs:{linewise:!0},context:"visual"},{keys:"~",type:"operatorMotion",operator:"changeCase",motion:"moveByCharacters",motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:"normal"},{keys:"~",type:"operator",operator:"changeCase",context:"visual"},{keys:"",type:"operatorMotion",operator:"delete",motion:"moveByWords",motionArgs:{forward:!1,wordEnd:!1},context:"insert"},{keys:"",type:"idle",context:"normal"},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!0}},{keys:"",type:"action",action:"jumpListWalk",actionArgs:{forward:!1}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!0,linewise:!0}},{keys:"",type:"action",action:"scroll",actionArgs:{forward:!1,linewise:!0}},{keys:"a",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"charAfter"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"eol"},context:"normal"},{keys:"A",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"endOfSelectedArea"},context:"visual"},{keys:"i",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"inplace"},context:"normal"},{keys:"gi",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"lastEdit"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"firstNonBlank"},context:"normal"},{keys:"gI",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"bol"},context:"normal"},{keys:"I",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{insertAt:"startOfSelectedArea"},context:"visual"},{keys:"o",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:"normal"},{keys:"O",type:"action",action:"newLineAndEnterInsertMode",isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:"normal"},{keys:"v",type:"action",action:"toggleVisualMode"},{keys:"V",type:"action",action:"toggleVisualMode",actionArgs:{linewise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"",type:"action",action:"toggleVisualMode",actionArgs:{blockwise:!0}},{keys:"gv",type:"action",action:"reselectLastSelection"},{keys:"J",type:"action",action:"joinLines",isEdit:!0},{keys:"gJ",type:"action",action:"joinLines",actionArgs:{keepSpaces:!0},isEdit:!0},{keys:"p",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:"P",type:"action",action:"paste",isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:"r",type:"action",action:"replace",isEdit:!0},{keys:"@",type:"action",action:"replayMacro"},{keys:"q",type:"action",action:"enterMacroRecordMode"},{keys:"R",type:"action",action:"enterInsertMode",isEdit:!0,actionArgs:{replace:!0},context:"normal"},{keys:"R",type:"operator",operator:"change",operatorArgs:{linewise:!0,fullLine:!0},context:"visual",exitVisualBlock:!0},{keys:"u",type:"action",action:"undo",context:"normal"},{keys:"u",type:"operator",operator:"changeCase",operatorArgs:{toLower:!0},context:"visual",isEdit:!0},{keys:"U",type:"operator",operator:"changeCase",operatorArgs:{toLower:!1},context:"visual",isEdit:!0},{keys:"",type:"action",action:"redo"},{keys:"m",type:"action",action:"setMark"},{keys:'"',type:"action",action:"setRegister"},{keys:"zz",type:"action",action:"scrollToCursor",actionArgs:{position:"center"}},{keys:"z.",type:"action",action:"scrollToCursor",actionArgs:{position:"center"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"zt",type:"action",action:"scrollToCursor",actionArgs:{position:"top"}},{keys:"z",type:"action",action:"scrollToCursor",actionArgs:{position:"top"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:"z-",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"}},{keys:"zb",type:"action",action:"scrollToCursor",actionArgs:{position:"bottom"},motion:"moveToFirstNonWhiteSpaceCharacter"},{keys:".",type:"action",action:"repeatLastEdit"},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:"",type:"action",action:"incrementNumberToken",isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!0},context:"insert"},{keys:"",type:"action",action:"indent",actionArgs:{indentRight:!1},context:"insert"},{keys:"a",type:"motion",motion:"textObjectManipulation"},{keys:"i",type:"motion",motion:"textObjectManipulation",motionArgs:{textObjectInner:!0}},{keys:"/",type:"search",searchArgs:{forward:!0,querySrc:"prompt",toJumplist:!0}},{keys:"?",type:"search",searchArgs:{forward:!1,querySrc:"prompt",toJumplist:!0}},{keys:"*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",wholeWordOnly:!0,toJumplist:!0}},{keys:"g*",type:"search",searchArgs:{forward:!0,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:"g#",type:"search",searchArgs:{forward:!1,querySrc:"wordUnderCursor",toJumplist:!0}},{keys:":",type:"ex"}],r=t.length,o=[{name:"colorscheme",shortName:"colo"},{name:"map"},{name:"imap",shortName:"im"},{name:"nmap",shortName:"nm"},{name:"vmap",shortName:"vm"},{name:"unmap"},{name:"write",shortName:"w"},{name:"undo",shortName:"u"},{name:"redo",shortName:"red"},{name:"set",shortName:"se"},{name:"setlocal",shortName:"setl"},{name:"setglobal",shortName:"setg"},{name:"sort",shortName:"sor"},{name:"substitute",shortName:"s",possiblyAsync:!0},{name:"nohlsearch",shortName:"noh"},{name:"yank",shortName:"y"},{name:"delmarks",shortName:"delm"},{name:"registers",shortName:"reg",excludeFromCommandHistory:!0},{name:"global",shortName:"g"}],n=e.Pos;e.Vim=function(){function i(t,r){this==e.keyMap.vim&&(e.rmClass(t.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==t.getOption("inputStyle")&&null!=document.body.style.caretColor&&(function(e){c(e),e.off("cursorActivity",s),e.state.fatCursorMarks=null}(t),t.getInputField().style.caretColor="")),r&&r.attach==a||function(t){t.setOption("disableInput",!1),t.off("cursorActivity",et),e.off(t.getInputField(),"paste",m(t)),t.state.vim=null}(t)}function a(t,r){this==e.keyMap.vim&&(e.addClass(t.getWrapperElement(),"cm-fat-cursor"),"contenteditable"==t.getOption("inputStyle")&&null!=document.body.style.caretColor&&(function(e){e.state.fatCursorMarks=[],s(e),e.on("cursorActivity",s)}(t),t.getInputField().style.caretColor="transparent")),r&&r.attach==a||function(t){t.setOption("disableInput",!0),t.setOption("showCursorWhenSelecting",!1),e.signal(t,"vim-mode-change",{mode:"normal"}),t.on("cursorActivity",et),L(t),e.on(t.getInputField(),"paste",m(t))}(t)}function s(e){if(e.state.fatCursorMarks){c(e);for(var t=e.listSelections(),r=[],o=0;o")}(t);if(!o)return!1;var n=e.Vim.findKey(r,o);return"function"==typeof n&&e.signal(r,"vim-keypress",o),n}}e.defineOption("vimMode",!1,function(t,r,o){r&&"vim"!=t.getOption("keyMap")?t.setOption("keyMap","vim"):!r&&o!=e.Init&&/^vim/.test(t.getOption("keyMap"))&&t.setOption("keyMap","default")});var u={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},d={Enter:"CR",Backspace:"BS",Delete:"Del",Insert:"Ins"};function m(e){var t=e.state.vim;return t.onPasteFn||(t.onPasteFn=function(){t.insertMode||(e.setCursor($(e.getCursor(),0,1)),Q.enterInsertMode(e,{},t))}),t.onPasteFn}var f=/[\d]/,p=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\s/.test(t)}],h=[function(e){return/\S/.test(e)}];function g(e,t){for(var r=[],o=e;o"]),k=[].concat(b,v,y,["-",'"',".",":","_","/"]);function w(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function _(e){return/^[a-z]$/.test(e)}function C(e){return/^[A-Z]$/.test(e)}function M(e){return/^\s*$/.test(e)}function R(e){return-1!=".?!".indexOf(e)}function S(e,t){for(var r=0;rr?t=r:t0?1:-1,u=i.getCursor();do{if((s=n[(e+(t+=l))%e])&&(c=s.find())&&!re(u,c))break}while(to)}return s}return{cachedCursor:void 0,add:function(i,a,s){var c=n[t%e];function l(r){var o=++t%e,a=n[o];a&&a.clear(),n[o]=i.setBookmark(r)}if(c){var u=c.find();u&&!re(u,a)&&l(a)}else l(a);l(s),r=t,(o=t-e+1)<0&&(o=0)},find:function(e,r){var o=t,n=i(e,r);return t=o,n&&n.find()},move:i}},j=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};function I(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=j()}function L(e){return e.state.vim||(e.state.vim={inputState:new P,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},fakeCursor:null,insertMode:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:null,sel:{},options:{}}),e.state.vim}function q(){for(var e in F={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:A(),macroModeState:new I,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:""},registerController:new V({}),searchHistoryController:new K,exCommandHistoryController:new K},z){var t=z[e];t.value=t.defaultValue}}I.prototype={exitMacroRecordMode:function(){var e=F.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1},enterMacroRecordMode:function(e,t){var r=F.registerController.getRegister(t);r&&(r.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog("(recording)["+t+"]",null,{bottom:!0})),this.isRecording=!0)}};var D={buildKeyMap:function(){},getRegisterController:function(){return F.registerController},resetVimGlobalState_:q,getVimGlobalState_:function(){return F},maybeInitVimState_:L,suppressErrorLogging:!1,InsertModeKey:ot,map:function(e,t,r){Qe.map(e,t,r)},unmap:function(e,t){Qe.unmap(e,t)},noremap:function(e,o,n){function i(e){return e?[e]:["normal","insert","visual"]}for(var a=i(n),s=t.length,c=s-r;c=0;a--){var s=i[a];if(e!==s.context)if(s.context)this._mapCommand(s);else{var c=["normal","insert","visual"];for(var l in c)if(c[l]!==e){var u={};for(var d in s)u[d]=s[d];u.context=c[l],this._mapCommand(u)}}}},setOption:T,getOption:O,defineOption:E,defineEx:function(e,t,r){if(t){if(0!==e.indexOf(t))throw new Error('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered')}else t=e;Je[e]=r,Qe.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,r){var o=this.findKey(e,t,r);if("function"==typeof o)return o()},findKey:function(r,o,n){var i,a=L(r);function s(){var e=F.macroModeState;if(e.isRecording){if("q"==o)return e.exitMacroRecordMode(),U(r),!0;"mapping"!=n&&function(e,t){if(!e.isPlaying){var r=e.latestRegister,o=F.registerController.getRegister(r);o&&o.pushText(t)}}(e,o)}}function c(){if(""==o)return U(r),a.visualMode?he(r):a.insertMode&&Ge(r),!0}return!1===(i=a.insertMode?function(){if(c())return!0;for(var e=a.inputState.keyBuffer=a.inputState.keyBuffer+o,n=1==o.length,i=W.matchCommand(e,t,a.inputState,"insert");e.length>1&&"full"!=i.type;){e=a.inputState.keyBuffer=e.slice(1);var s=W.matchCommand(e,t,a.inputState,"insert");"none"!=s.type&&(i=s)}if("none"==i.type)return U(r),!1;if("partial"==i.type)return N&&window.clearTimeout(N),N=window.setTimeout(function(){a.insertMode&&a.inputState.keyBuffer&&U(r)},O("insertModeEscKeysTimeout")),!n;if(N&&window.clearTimeout(N),n){for(var l=r.listSelections(),u=0;u|<\w+>|./.exec(t),o=n[0],t=t.substring(n.index+o.length),e.Vim.handleKey(r,o,"mapping")}(i.toKeys):W.processCommand(r,a,i)}catch(t){throw r.state.vim=void 0,L(r),e.Vim.suppressErrorLogging||console.log(t),t}return!0})}},handleEx:function(e,t){Qe.processCommand(e,t)},defineMotion:function(e,t){H[e]=t},defineAction:function(e,t){Q[e]=t},defineOperator:function(e,t){J[e]=t},mapCommand:function(e,t,r,o,n){var i={keys:e,type:t};for(var a in i[t]=r,i[t+"Args"]=o,n)i[a]=n[a];Ye(i)},_mapCommand:Ye,defineRegister:function(e,t){var r=F.registerController.registers;if(!e||1!=e.length)throw Error("Register name must be 1 character");if(r[e])throw Error("Register already defined "+e);r[e]=t,k.push(e)},exitVisualMode:he,exitInsertMode:Ge};function P(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=null}function U(t,r){t.state.vim.inputState=new P,e.signal(t,"vim-command-done",r)}function B(e,t,r){this.clear(),this.keyBuffer=[e||""],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!r}function V(e){this.registers=e,this.unnamedRegister=e['"']=new B,e["."]=new B,e[":"]=new B,e["/"]=new B}function K(){this.historyBuffer=[],this.iterator=0,this.initialPrefix=null}P.prototype.pushRepeatDigit=function(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)},P.prototype.getRepeat=function(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(""),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(""),10))),e},B.prototype={setText:function(e,t,r){this.keyBuffer=[e||""],this.linewise=!!t,this.blockwise=!!r},pushText:function(e,t){t&&(this.linewise||this.keyBuffer.push("\n"),this.linewise=!0),this.keyBuffer.push(e)},pushInsertModeChanges:function(e){this.insertModeChanges.push(j(e))},pushSearchQuery:function(e){this.searchQueries.push(e)},clear:function(){this.keyBuffer=[],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!1},toString:function(){return this.keyBuffer.join("")}},V.prototype={pushText:function(e,t,r,o,n){if("_"!==e){o&&"\n"!==r.charAt(r.length-1)&&(r+="\n");var i=this.isValidRegister(e)?this.getRegister(e):null;if(i)C(e)?i.pushText(r,o):i.setText(r,o,n),this.unnamedRegister.setText(i.toString(),o);else{switch(t){case"yank":this.registers[0]=new B(r,o,n);break;case"delete":case"change":-1==r.indexOf("\n")?this.registers["-"]=new B(r,o):(this.shiftNumericRegisters_(),this.registers[1]=new B(r,o))}this.unnamedRegister.setText(r,o,n)}}},getRegister:function(e){return this.isValidRegister(e)?(e=e.toLowerCase(),this.registers[e]||(this.registers[e]=new B),this.registers[e]):this.unnamedRegister},isValidRegister:function(e){return e&&S(e,k)},shiftNumericRegisters_:function(){for(var e=9;e>=2;e--)this.registers[e]=this.getRegister(""+(e-1))}},K.prototype={nextMatch:function(e,t){var r=this.historyBuffer,o=t?-1:1;null===this.initialPrefix&&(this.initialPrefix=e);for(var n=this.iterator+o;t?n>=0:n=r.length?(this.iterator=r.length,this.initialPrefix):n<0?e:void 0},pushInput:function(e){var t=this.historyBuffer.indexOf(e);t>-1&&this.historyBuffer.splice(t,1),e.length&&this.historyBuffer.push(e)},reset:function(){this.initialPrefix=null,this.iterator=this.historyBuffer.length}};var W={matchCommand:function(e,t,r,o){var n,i=function(e,t,r,o){for(var n,i=[],a=[],s=0;s"==n.keys.slice(-11)){var c=function(e){var t=/^.*(<[^>]+>)$/.exec(e),r=t?t[1]:e.slice(-1);if(r.length>1)switch(r){case"":r="\n";break;case"":r=" ";break;default:r=""}return r}(e);if(!c)return{type:"none"};r.selectedCharacter=c}return{type:"full",command:n}},processCommand:function(e,t,r){switch(t.inputState.repeatOverride=r.repeatOverride,r.type){case"motion":this.processMotion(e,t,r);break;case"operator":this.processOperator(e,t,r);break;case"operatorMotion":this.processOperatorMotion(e,t,r);break;case"action":this.processAction(e,t,r);break;case"search":this.processSearch(e,t,r);break;case"ex":case"keyToEx":this.processEx(e,t,r)}},processMotion:function(e,t,r){t.inputState.motion=r.motion,t.inputState.motionArgs=Y(r.motionArgs),this.evalInput(e,t)},processOperator:function(e,t,r){var o=t.inputState;if(o.operator){if(o.operator==r.operator)return o.motion="expandToLine",o.motionArgs={linewise:!0},void this.evalInput(e,t);U(e)}o.operator=r.operator,o.operatorArgs=Y(r.operatorArgs),r.exitVisualBlock&&(t.visualBlock=!1,fe(e)),t.visualMode&&this.evalInput(e,t)},processOperatorMotion:function(e,t,r){var o=t.visualMode,n=Y(r.operatorMotionArgs);n&&o&&n.visualLine&&(t.visualLine=!0),this.processOperator(e,t,r),o||this.processMotion(e,t,r)},processAction:function(e,t,r){var o=t.inputState,n=o.getRepeat(),i=!!n,a=Y(r.actionArgs)||{};o.selectedCharacter&&(a.selectedCharacter=o.selectedCharacter),r.operator&&this.processOperator(e,t,r),r.motion&&this.processMotion(e,t,r),(r.motion||r.operator)&&this.evalInput(e,t),a.repeat=n||1,a.repeatIsExplicit=i,a.registerName=o.registerName,U(e),t.lastMotion=null,r.isEdit&&this.recordLastEdit(t,o,r),Q[r.action](e,a,t)},processSearch:function(t,r,o){if(t.getSearchCursor){var n=o.searchArgs.forward,i=o.searchArgs.wholeWordOnly;Ee(t).setReversed(!n);var a=n?"/":"?",s=Ee(t).getQuery(),c=t.getScrollInfo();switch(o.searchArgs.querySrc){case"prompt":var l=F.macroModeState;l.isPlaying?f(m=l.replaySearchQueries.shift(),!0,!1):qe(t,{onClose:function(e){t.scrollTo(c.left,c.top),f(e,!0,!0);var r=F.macroModeState;r.isRecording&&function(e,t){if(!e.isPlaying){var r=e.latestRegister,o=F.registerController.getRegister(r);o&&o.pushSearchQuery&&o.pushSearchQuery(t)}}(r,e)},prefix:a,desc:Le,onKeyUp:function(r,o,i){var a,s,l,u=e.keyName(r);"Up"==u||"Down"==u?(a="Up"==u,s=r.target?r.target.selectionEnd:0,i(o=F.searchHistoryController.nextMatch(o,a)||""),s&&r.target&&(r.target.selectionEnd=r.target.selectionStart=Math.min(s,r.target.value.length))):"Left"!=u&&"Right"!=u&&"Ctrl"!=u&&"Alt"!=u&&"Shift"!=u&&F.searchHistoryController.reset();try{l=De(t,o,!0,!0)}catch(r){}l?t.scrollIntoView(Be(t,!n,l),30):(Ve(t),t.scrollTo(c.left,c.top))},onKeyDown:function(r,o,n){var i=e.keyName(r);"Esc"==i||"Ctrl-C"==i||"Ctrl-["==i||"Backspace"==i&&""==o?(F.searchHistoryController.pushInput(o),F.searchHistoryController.reset(),De(t,s),Ve(t),t.scrollTo(c.left,c.top),e.e_stop(r),U(t),n(),t.focus()):"Up"==i||"Down"==i?e.e_stop(r):"Ctrl-U"==i&&(e.e_stop(r),n(""))}});break;case"wordUnderCursor":var u=be(t,!1,0,!1,!0),d=!0;if(u||(u=be(t,!1,0,!1,!1),d=!1),!u)return;var m=t.getLine(u.start.line).substring(u.start.ch,u.end.ch);m=d&&i?"\\b"+m+"\\b":m.replace(/([.?*+$\[\]\/\\(){}|\-])/g,"\\$1"),F.jumpList.cachedCursor=t.getCursor(),t.setCursor(u.start),f(m,!0,!1)}}function f(e,n,i){F.searchHistoryController.pushInput(e),F.searchHistoryController.reset();try{De(t,e,n,i)}catch(r){return Ie(t,"Invalid regex: "+e),void U(t)}W.processMotion(t,r,{type:"motion",motion:"findNext",motionArgs:{forward:!0,toJumplist:o.searchArgs.toJumplist}})}},processEx:function(t,r,o){function n(e){F.exCommandHistoryController.pushInput(e),F.exCommandHistoryController.reset(),Qe.processCommand(t,e)}function i(r,o,n){var i,a,s=e.keyName(r);("Esc"==s||"Ctrl-C"==s||"Ctrl-["==s||"Backspace"==s&&""==o)&&(F.exCommandHistoryController.pushInput(o),F.exCommandHistoryController.reset(),e.e_stop(r),U(t),n(),t.focus()),"Up"==s||"Down"==s?(e.e_stop(r),i="Up"==s,a=r.target?r.target.selectionEnd:0,n(o=F.exCommandHistoryController.nextMatch(o,i)||""),a&&r.target&&(r.target.selectionEnd=r.target.selectionStart=Math.min(a,r.target.value.length))):"Ctrl-U"==s?(e.e_stop(r),n("")):"Left"!=s&&"Right"!=s&&"Ctrl"!=s&&"Alt"!=s&&"Shift"!=s&&F.exCommandHistoryController.reset()}"keyToEx"==o.type?Qe.processCommand(t,o.exArgs.input):r.visualMode?qe(t,{onClose:n,prefix:":",value:"'<,'>",onKeyDown:i,selectValueOnOpen:!1}):qe(t,{onClose:n,prefix:":",onKeyDown:i})},evalInput:function(e,t){var r,o,i,a=t.inputState,s=a.motion,c=a.motionArgs||{},l=a.operator,u=a.operatorArgs||{},d=a.registerName,m=t.sel,f=te(t.visualMode?G(e,m.head):e.getCursor("head")),p=te(t.visualMode?G(e,m.anchor):e.getCursor("anchor")),h=te(f),g=te(p);if(l&&this.recordLastEdit(t,a),(i=void 0!==a.repeatOverride?a.repeatOverride:a.getRepeat())>0&&c.explicitRepeat?c.repeatIsExplicit=!0:(c.noRepeat||!c.explicitRepeat&&0===i)&&(i=1,c.repeatIsExplicit=!1),a.selectedCharacter&&(c.selectedCharacter=u.selectedCharacter=a.selectedCharacter),c.repeat=i,U(e),s){var b=H[s](e,f,c,t,a);if(t.lastMotion=H[s],!b)return;if(c.toJumplist){var v=F.jumpList,y=v.cachedCursor;y?(ve(e,y,b),delete v.cachedCursor):ve(e,f,b)}b instanceof Array?(o=b[0],r=b[1]):r=b,r||(r=te(f)),t.visualMode?(t.visualBlock&&r.ch===1/0||(r=G(e,r)),o&&(o=G(e,o)),o=o||g,m.anchor=o,m.head=r,fe(e),Me(e,t,"<",oe(o,r)?o:r),Me(e,t,">",oe(o,r)?r:o)):l||(r=G(e,r),e.setCursor(r.line,r.ch))}if(l){if(u.lastSel){o=g;var x=u.lastSel,k=Math.abs(x.head.line-x.anchor.line),w=Math.abs(x.head.ch-x.anchor.ch);r=x.visualLine?n(g.line+k,g.ch):x.visualBlock?n(g.line+k,g.ch+w):x.head.line==x.anchor.line?n(g.line,g.ch+w):n(g.line+k,g.ch),t.visualMode=!0,t.visualLine=x.visualLine,t.visualBlock=x.visualBlock,m=t.sel={anchor:o,head:r},fe(e)}else t.visualMode&&(u.lastSel={anchor:te(m.anchor),head:te(m.head),visualBlock:t.visualBlock,visualLine:t.visualLine});var _,C,R,S,z;if(t.visualMode){if(_=ne(m.head,m.anchor),C=ie(m.head,m.anchor),R=t.visualLine||u.linewise,z=pe(e,{anchor:_,head:C},S=t.visualBlock?"block":R?"line":"char"),R){var E=z.ranges;if("block"==S)for(var T=0;T0&&i&&M(i);i=n.pop())r.line--,r.ch=0;i?(r.line--,r.ch=se(e,r.line)):r.ch=0}}(e,_,C),z=pe(e,{anchor:_,head:C},S="char",!c.inclusive||R)}e.setSelections(z.ranges,z.primary),t.lastMotion=null,u.repeat=i,u.registerName=d,u.linewise=R;var N=J[l](e,u,z.ranges,g,r);t.visualMode&&he(e,null!=N),N&&e.setCursor(N)}},recordLastEdit:function(e,t,r){var o=F.macroModeState;o.isPlaying||(e.lastEditInputState=t,e.lastEditActionCommand=r,o.lastInsertModeChanges.changes=[],o.lastInsertModeChanges.expectCursorActivityForChange=!1,o.lastInsertModeChanges.visualBlock=e.visualBlock?e.sel.head.line-e.sel.anchor.line:0)}},H={moveToTopLine:function(e,t,r){var o=Ke(e).top+r.repeat-1;return n(o,ge(e.getLine(o)))},moveToMiddleLine:function(e){var t=Ke(e),r=Math.floor(.5*(t.top+t.bottom));return n(r,ge(e.getLine(r)))},moveToBottomLine:function(e,t,r){var o=Ke(e).bottom-r.repeat+1;return n(o,ge(e.getLine(o)))},expandToLine:function(e,t,r){return n(t.line+r.repeat-1,1/0)},findNext:function(e,t,r){var o=Ee(e),n=o.getQuery();if(n){var i=!r.forward;return i=o.isReversed()?!i:i,Ue(e,n),Be(e,i,n,r.repeat)}},findAndSelectNextInclusive:function(t,r,o,i,a){var s=Ee(t),c=s.getQuery();if(c){var l=!o.forward,u=function(e,t,r,o,i){return void 0===o&&(o=1),e.operation(function(){var a=e.getCursor(),s=e.getSearchCursor(r,a),c=s.find(!t);!i.visualMode&&c&&re(s.from(),a)&&s.find(!t);for(var l=0;lc:d.lineu&&i.line==u?_e(e,t,r,o,!0):(r.toFirstChar&&(a=ge(e.getLine(c)),o.lastHPos=a),o.lastHSPos=e.charCoords(n(c,a),"div").left,n(c,a))},moveByDisplayLines:function(e,t,r,o){var i=t;switch(o.lastMotion){case this.moveByDisplayLines:case this.moveByScroll:case this.moveByLines:case this.moveToColumn:case this.moveToEol:break;default:o.lastHSPos=e.charCoords(i,"div").left}var a=r.repeat;if((c=e.findPosV(i,r.forward?a:-a,"line",o.lastHSPos)).hitSide)if(r.forward)var s={top:e.charCoords(c,"div").top+8,left:o.lastHSPos},c=e.coordsChar(s,"div");else{var l=e.charCoords(n(e.firstLine(),0),"div");l.left=o.lastHSPos,c=e.coordsChar(l,"div")}return o.lastHPos=c.ch,c},moveByPage:function(e,t,r){var o=t,n=r.repeat;return e.findPosV(o,r.forward?n:-n,"page")},moveByParagraph:function(e,t,r){var o=r.forward?1:-1;return Se(e,t,r.repeat,o)},moveBySentence:function(e,t,r){var o=r.forward?1:-1;return function(e,t,r,o){function i(e,t){if(t.pos+t.dir<0||t.pos+t.dir>=t.line.length){if(t.ln+=t.dir,!w(e,t.ln))return t.line=null,t.ln=null,void(t.pos=null);t.line=e.getLine(t.ln),t.pos=t.dir>0?0:t.line.length-1}else t.pos+=t.dir}function a(e,t,r,o){var n=e.getLine(t),a=""===n,s={line:n,ln:t,pos:r,dir:o},c={ln:s.ln,pos:s.pos},l=""===s.line;for(i(e,s);null!==s.line;){if(c.ln=s.ln,c.pos=s.pos,""===s.line&&!l)return{ln:s.ln,pos:s.pos};if(a&&""!==s.line&&!M(s.line[s.pos]))return{ln:s.ln,pos:s.pos};!R(s.line[s.pos])||a||s.pos!==s.line.length-1&&!M(s.line[s.pos+1])||(a=!0),i(e,s)}var n=e.getLine(c.ln);c.pos=0;for(var u=n.length-1;u>=0;--u)if(!M(n[u])){c.pos=u;break}return c}function s(e,t,r,o){var n=e.getLine(t),a={line:n,ln:t,pos:r,dir:o},s={ln:a.ln,pos:null},c=""===a.line;for(i(e,a);null!==a.line;){if(""===a.line&&!c)return null!==s.pos?s:{ln:a.ln,pos:a.pos};if(R(a.line[a.pos])&&null!==s.pos&&(a.ln!==s.ln||a.pos+1!==s.pos))return s;""===a.line||M(a.line[a.pos])||(c=!1,s={ln:a.ln,pos:a.pos}),i(e,a)}var n=e.getLine(s.ln);s.pos=0;for(var l=0;l0;)c=o<0?s(e,c.ln,c.pos,o):a(e,c.ln,c.pos,o),r--;return n(c.ln,c.pos)}(e,t,r.repeat,o)},moveByScroll:function(e,t,r,o){var n=e.getScrollInfo(),i=null,a=r.repeat;a||(a=n.clientHeight/(2*e.defaultTextHeight()));var s=e.charCoords(t,"local");if(r.repeat=a,!(i=H.moveByDisplayLines(e,t,r,o)))return null;var c=e.charCoords(i,"local");return e.scrollTo(null,n.top+c.top-s.top),i},moveByWords:function(e,t,r){return function(e,t,r,o,i,a){var s=te(t),c=[];(o&&!i||!o&&i)&&r++;for(var l=!(o&&i),u=0;u0)d.index=0;else{var h=d.lineText.length;d.index=h>0?h-1:0}d.nextCh=d.lineText.charAt(d.index)}p(d)&&(i.line=l,i.ch=d.index,t--)}return d.nextCh||d.curMoveThrough?n(l,d.index):i}(e,r.repeat,r.forward,r.selectedCharacter)||t},moveToColumn:function(e,t,r,o){var i=r.repeat;return o.lastHPos=i-1,o.lastHSPos=e.charCoords(t,"div").left,function(e,t){var r=e.getCursor().line;return G(e,n(r,t-1))}(e,i)},moveToEol:function(e,t,r,o){return _e(e,t,r,o,!1)},moveToFirstNonWhiteSpaceCharacter:function(e,t){var r=t;return n(r.line,ge(e.getLine(r.line)))},moveToMatchedSymbol:function(e,t){for(var r,o=t,i=o.line,a=o.ch,s=e.getLine(i);a"===a?/[(){}[\]<>]/:/[(){}[\]]/;return e.findMatchingBracket(n(i,a),{bracketRegex:l}).to}return o},moveToStartOfLine:function(e,t){return n(t.line,0)},moveToLineOrEdgeOfDocument:function(e,t,r){var o=r.forward?e.lastLine():e.firstLine();return r.repeatIsExplicit&&(o=r.repeat-e.getOption("firstLineNumber")),n(o,ge(e.getLine(o)))},textObjectManipulation:function(t,r,o,i){var a=o.selectedCharacter;"b"==a?a="(":"B"==a&&(a="{");var s,c=!o.textObjectInner;if({"(":")",")":"(","{":"}","}":"{","[":"]","]":"[","<":">",">":"<"}[a])s=function(e,t,r,o){var i,a,s=t,c={"(":/[()]/,")":/[()]/,"[":/[[\]]/,"]":/[[\]]/,"{":/[{}]/,"}":/[{}]/,"<":/[<>]/,">":/[<>]/}[r],l={"(":"(",")":"(","[":"[","]":"[","{":"{","}":"{","<":"<",">":"<"}[r],u=e.getLine(s.line).charAt(s.ch)===l?1:0;if(i=e.scanForBracket(n(s.line,s.ch+u),-1,void 0,{bracketRegex:c}),a=e.scanForBracket(n(s.line,s.ch+u),1,void 0,{bracketRegex:c}),!i||!a)return{start:s,end:s};if(i=i.pos,a=a.pos,i.line==a.line&&i.ch>a.ch||i.line>a.line){var d=i;i=a,a=d}return o?a.ch+=1:i.ch+=1,{start:i,end:a}}(t,r,a,c);else if({"'":!0,'"':!0,"`":!0}[a])s=function(e,t,r,o){var i,a,s,c,l=te(t),u=e.getLine(l.line).split(""),d=u.indexOf(r);if(l.ch-1&&!i;s--)u[s]==r&&(i=s+1);else i=l.ch+1;if(i&&!a)for(s=i,c=u.length;st.lastLine()&&r.linewise&&!p?t.replaceRange("",f,l):t.replaceRange("",c,l),r.linewise&&(p||(t.setCursor(f),e.commands.newlineAndIndent(t)),c.ch=Number.MAX_VALUE),i=c}F.registerController.pushText(r.registerName,"change",a,r.linewise,o.length>1),Q.enterInsertMode(t,{head:i},t.state.vim)},delete:function(e,t,r){var o,i,a=e.state.vim;if(a.visualBlock){i=e.getSelection();var s=Z("",r.length);e.replaceSelections(s),o=r[0].anchor}else{var c=r[0].anchor,l=r[0].head;t.linewise&&l.line!=e.firstLine()&&c.line==e.lastLine()&&c.line==l.line-1&&(c.line==e.firstLine()?c.ch=0:c=n(c.line-1,se(e,c.line-1))),i=e.getRange(c,l),e.replaceRange("",c,l),o=c,t.linewise&&(o=H.moveToFirstNonWhiteSpaceCharacter(e,c))}return F.registerController.pushText(t.registerName,"delete",i,t.linewise,a.visualBlock),G(e,o)},indent:function(e,t,r){var o=e.state.vim,n=r[0].anchor.line,i=o.visualBlock?r[r.length-1].anchor.line:r[0].head.line,a=o.visualMode?t.repeat:1;t.linewise&&i--;for(var s=n;s<=i;s++)for(var c=0;cl.top?(c.line+=(s-l.top)/n,c.line=Math.ceil(c.line),e.setCursor(c),l=e.charCoords(c,"local"),e.scrollTo(null,l.top)):e.scrollTo(null,s);else{var u=s+e.getScrollInfo().clientHeight;u=a.anchor.line?$(a.head,0,1):n(a.anchor.line,0)}else if("inplace"==i){if(o.visualMode)return}else"lastEdit"==i&&(s=He(t)||s);t.setOption("disableInput",!1),r&&r.replace?(t.toggleOverwrite(!0),t.setOption("keyMap","vim-replace"),e.signal(t,"vim-mode-change",{mode:"replace"})):(t.toggleOverwrite(!1),t.setOption("keyMap","vim-insert"),e.signal(t,"vim-mode-change",{mode:"insert"})),F.macroModeState.isPlaying||(t.on("change",Xe),e.on(t.getInputField(),"keydown",nt)),o.visualMode&&he(t),de(t,s,c)}},toggleVisualMode:function(t,r,o){var i,a=r.repeat,s=t.getCursor();o.visualMode?o.visualLine^r.linewise||o.visualBlock^r.blockwise?(o.visualLine=!!r.linewise,o.visualBlock=!!r.blockwise,e.signal(t,"vim-mode-change",{mode:"visual",subMode:o.visualLine?"linewise":o.visualBlock?"blockwise":""}),fe(t)):he(t):(o.visualMode=!0,o.visualLine=!!r.linewise,o.visualBlock=!!r.blockwise,i=G(t,n(s.line,s.ch+a-1)),o.sel={anchor:s,head:i},e.signal(t,"vim-mode-change",{mode:"visual",subMode:o.visualLine?"linewise":o.visualBlock?"blockwise":""}),fe(t),Me(t,o,"<",ne(s,i)),Me(t,o,">",ie(s,i)))},reselectLastSelection:function(t,r,o){var n=o.lastSelection;if(o.visualMode&&me(t,o),n){var i=n.anchorMark.find(),a=n.headMark.find();if(!i||!a)return;o.sel={anchor:i,head:a},o.visualMode=!0,o.visualLine=n.visualLine,o.visualBlock=n.visualBlock,fe(t),Me(t,o,"<",ne(i,a)),Me(t,o,">",ie(i,a)),e.signal(t,"vim-mode-change",{mode:"visual",subMode:o.visualLine?"linewise":o.visualBlock?"blockwise":""})}},joinLines:function(e,t,r){var o,i;if(r.visualMode){if(o=e.getCursor("anchor"),oe(i=e.getCursor("head"),o)){var a=i;i=o,o=a}i.ch=se(e,i.line)-1}else{var s=Math.max(t.repeat,2);o=e.getCursor(),i=G(e,n(o.line+s-1,1/0))}for(var c=0,l=o.line;l1&&(f=Array(t.repeat+1).join(f));var p,h,g=i.linewise,b=i.blockwise;if(b){f=f.split("\n"),g&&f.pop();for(var v=0;ve.lastLine()&&e.replaceRange("\n",n(R,0)),se(e,R)u.length&&(i=u.length),a=n(c.line,i)}if("\n"==s)o.visualMode||t.replaceRange("",c,a),(e.commands.newlineAndIndentContinueComment||e.commands.newlineAndIndent)(t);else{var d=t.getRange(c,a);if(d=d.replace(/[^\n]/g,s),o.visualBlock){var m=new Array(t.getOption("tabSize")+1).join(" ");d=(d=t.getSelection()).replace(/\t/g,m).replace(/[^\n]/g,s).split("\n"),t.replaceSelections(d)}else t.replaceRange(d,c,a);o.visualMode?(c=oe(l[0].anchor,l[0].head)?l[0].anchor:l[0].head,t.setCursor(c),he(t,!1)):t.setCursor($(a,0,-1))}},incrementNumberToken:function(e,t){for(var r,o,i,a,s=e.getCursor(),c=e.getLine(s.line),l=/(-?)(?:(0x)([\da-f]+)|(0b|0|)(\d+))/gi;null!==(r=l.exec(c))&&(i=(o=r.index)+r[0].length,!(s.ch"==t.slice(-11)){var r=t.length-11,o=e.slice(0,r),n=t.slice(0,r);return o==n&&e.length>r?"full":0==n.indexOf(o)&&"partial"}return e==t?"full":0==t.indexOf(e)&&"partial"}function ee(e,t,r){return function(){for(var o=0;o2&&(t=ne.apply(void 0,Array.prototype.slice.call(arguments,1))),oe(e,t)?e:t}function ie(e,t){return arguments.length>2&&(t=ie.apply(void 0,Array.prototype.slice.call(arguments,1))),oe(e,t)?t:e}function ae(e,t,r){var o=oe(e,t),n=oe(t,r);return o&&n}function se(e,t){return e.getLine(t).length}function ce(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function le(e,t,r){var o=se(e,t),i=new Array(r-o+1).join(" ");e.setCursor(n(t,o)),e.replaceRange(i,e.getCursor())}function ue(e,t){var r=[],o=e.listSelections(),i=te(e.clipPos(t)),a=!re(t,i),s=function(e,t,r){for(var o=0;os?l:0,d=o[u].anchor,m=Math.min(d.line,i.line),f=Math.max(d.line,i.line),p=d.ch,h=i.ch,g=o[u].head.ch-p,b=h-p;g>0&&b<=0?(p++,a||h--):g<0&&b>=0?(p--,c||h++):g<0&&-1==b&&(p--,h++);for(var v=m;v<=f;v++){var y={anchor:new n(v,p),head:new n(v,h)};r.push(y)}return e.setSelections(r),t.ch=h,d.ch=p,d}function de(e,t,r){for(var o=[],n=0;nl&&(i.line=l),i.ch=se(e,i.line)}return{ranges:[{anchor:a,head:i}],primary:0}}if("block"==r){for(var u=Math.min(a.line,i.line),d=Math.min(a.ch,i.ch),m=Math.max(a.line,i.line),f=Math.max(a.ch,i.ch)+1,p=m-u+1,h=i.line==u?0:p-1,g=[],b=0;b=s.length)return null;o?l=h[0]:(l=p[0])(s.charAt(c))||(l=p[1]);for(var u=c,d=c;l(s.charAt(u))&&u=0;)d--;if(d++,t){for(var m=u;/\s/.test(s.charAt(u))&&u0;)d--;d||(d=f)}}return{start:n(a.line,d),end:n(a.line,u)}}function ve(e,t,r){re(t,r)||F.jumpList.add(e,t,r)}function ye(e,t){F.lastCharacterSearch.increment=e,F.lastCharacterSearch.forward=t.forward,F.lastCharacterSearch.selectedCharacter=t.selectedCharacter}var xe={"(":"bracket",")":"bracket","{":"bracket","}":"bracket","[":"section","]":"section","*":"comment","/":"comment",m:"method",M:"method","#":"preprocess"},ke={bracket:{isComplete:function(e){if(e.nextCh===e.symb){if(e.depth++,e.depth>=1)return!0}else e.nextCh===e.reverseSymb&&e.depth--;return!1}},section:{init:function(e){e.curMoveThrough=!0,e.symb=(e.forward?"]":"[")===e.symb?"{":"}"},isComplete:function(e){return 0===e.index&&e.nextCh===e.symb}},comment:{isComplete:function(e){var t="*"===e.lastCh&&"/"===e.nextCh;return e.lastCh=e.nextCh,t}},method:{init:function(e){e.symb="m"===e.symb?"{":"}",e.reverseSymb="{"===e.symb?"}":"{"},isComplete:function(e){return e.nextCh===e.symb}},preprocess:{init:function(e){e.index=0},isComplete:function(e){if("#"===e.nextCh){var t=e.lineText.match(/#(\w+)/)[1];if("endif"===t){if(e.forward&&0===e.depth)return!0;e.depth++}else if("if"===t){if(!e.forward&&0===e.depth)return!0;e.depth--}if("else"===t&&0===e.depth)return!0}return!1}}};function we(e,t,r,o,n){var i=t.line,a=t.ch,s=e.getLine(i),c=r?1:-1,l=o?h:p;if(n&&""==s){if(i+=c,s=e.getLine(i),!w(e,i))return null;a=r?0:s.length}for(;;){if(n&&""==s)return{from:0,to:0,line:i};for(var u=c>0?s.length:-1,d=u,m=u;a!=u;){for(var f=!1,g=0;g0?0:s.length}}function _e(e,t,r,o,i){var a=n(t.line+r.repeat-1,1/0),s=e.clipPos(a);return s.ch--,i||(o.lastHPos=1/0,o.lastHSPos=e.charCoords(s,"div").left),a}function Ce(e,t,r,o){for(var i,a=e.getCursor(),s=a.ch,c=0;c0;)m(u,o)&&r--,u+=o;return new n(u,0)}var f=e.state.vim;if(f.visualLine&&m(s,1,!0)){var p=f.sel.anchor;m(p.line,-1,!0)&&(i&&p.line==s||(s+=1))}var h=d(s);for(u=s;u<=l&&r;u++)m(u,1,!0)&&(i&&d(u)==h||r--);for(a=new n(u,0),u>l&&!h?h=!0:i=!1,u=s;u>c&&(i&&d(u)!=h&&u!=s||!m(u,-1,!0));u--);return{start:new n(u,0),end:a}}function ze(){}function Ee(e){var t=e.state.vim;return t.searchState_||(t.searchState_=new ze)}function Te(e,t,r,o,n){e.openDialog?e.openDialog(t,o,{bottom:!0,value:n.value,onKeyDown:n.onKeyDown,onKeyUp:n.onKeyUp,selectValueOnOpen:!1}):o(prompt(r,""))}function Oe(e,t){var r=Fe(e,t)||[];if(!r.length)return[];var o=[];if(0===r[0]){for(var n=0;n'+t+"",{bottom:!0,duration:5e3}):alert(t)}var Le="(Javascript regexp)";function qe(e,t){var r,o,n,i=(t.prefix||"")+" "+(t.desc||"");Te(e,(r=t.prefix,o=t.desc,n=''+(r||"")+'',o&&(n+=' '+o+""),n),i,t.onClose,t)}function De(e,t,r,o){if(t){var n=Ee(e),i=je(t,!!r,!!o);if(i)return Ue(e,i),function(e,t){if(e instanceof RegExp&&t instanceof RegExp){for(var r=["global","multiline","ignoreCase","source"],o=0;o@~])/);return r.commandName=o?o[1]:t.match(/.*/)[0],r},parseLineSpec_:function(e,t){var r=t.match(/^(\d+)/);if(r)return parseInt(r[1],10)-1;switch(t.next()){case".":return this.parseLineSpecOffset_(t,e.getCursor().line);case"$":return this.parseLineSpecOffset_(t,e.lastLine());case"'":var o=t.next(),n=We(e,e.state.vim,o);if(!n)throw new Error("Mark not set");return this.parseLineSpecOffset_(t,n.line);case"-":case"+":return t.backUp(1),this.parseLineSpecOffset_(t,e.getCursor().line);default:return void t.backUp(1)}},parseLineSpecOffset_:function(e,t){var r=e.match(/^([+-])?(\d+)/);if(r){var o=parseInt(r[2],10);"-"==r[1]?t-=o:t+=o}return t},parseCommandArgs_:function(e,t,r){if(!e.eol()){t.argString=e.match(/.*/)[0];var o=r.argDelimiter||/\s+/,n=ce(t.argString).split(o);n.length&&n[0]&&(t.args=n)}},matchCommand_:function(e){for(var t=e.length;t>0;t--){var r=e.substring(0,t);if(this.commandMap_[r]){var o=this.commandMap_[r];if(0===o.name.indexOf(e))return o}}return null},buildCommandMap_:function(){this.commandMap_={};for(var e=0;e
";if(r){r=r.join("");for(var i=0;i")}else for(var a in o){var s=o[a].toString();s.length&&(n+='"'+a+" "+s+"
")}Ie(e,n)},sort:function(t,r){var o,i,a,s,c,l=function(){if(r.argString){var t=new e.StringStream(r.argString);if(t.eat("!")&&(o=!0),t.eol())return;if(!t.eatSpace())return"Invalid arguments";var n=t.match(/([dinuox]+)?\s*(\/.+\/)?\s*/);if(!n&&!t.eol())return"Invalid arguments";if(n[1]){i=-1!=n[1].indexOf("i"),a=-1!=n[1].indexOf("u");var l=-1!=n[1].indexOf("d")||-1!=n[1].indexOf("n")&&1,u=-1!=n[1].indexOf("x")&&1,d=-1!=n[1].indexOf("o")&&1;if(l+u+d>1)return"Invalid arguments";s=(l?"decimal":u&&"hex")||d&&"octal"}n[2]&&(c=new RegExp(n[2].substr(1,n[2].length-2),i?"i":""))}}();if(l)Ie(t,l+": "+r.argString);else{var u=r.line||t.firstLine(),d=r.lineEnd||r.line||t.lastLine();if(u!=d){var m=n(u,0),f=n(d,se(t,d)),p=t.getRange(m,f).split("\n"),h=c||("decimal"==s?/(-?)([\d]+)/:"hex"==s?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==s?/([0-7]+)/:null),g="decimal"==s?10:"hex"==s?16:"octal"==s?8:null,b=[],v=[];if(s||c)for(var y=0;y");if(o){var m=0,f=function(){if(m=r&&e<=s:e==r);)if(o||!d||a.from().line!=d.line)return t.scrollIntoView(a.from(),30),t.setSelection(a.from(),a.to()),d=a.from(),void(u=!1);var e,r,s;u=!0}function h(e){if(e&&e(),t.focus(),d){t.setCursor(d);var r=t.state.vim;r.exMode=!1,r.lastHPos=r.lastHSPos=d.ch}l&&l()}if(p(),!u)return r?void qe(t,{prefix:"replace with "+c+" (y/n/a/q/l)",onKeyDown:function(r,o,n){switch(e.e_stop(r),e.keyName(r)){case"Y":f(),p();break;case"N":p();break;case"A":var i=l;l=void 0,t.operation(m),l=i;break;case"L":f();case"Q":case"Esc":case"Ctrl-C":case"Ctrl-[":h(n)}return u&&h(n),!0}}):(m(),void(l&&l()));Ie(t,"No matches for "+s.source)}(t,d,m,h,g,t.getSearchCursor(p,b),p,u,r.callback)}else Ie(t,"No previous substitute regular expression")},redo:e.commands.redo,undo:e.commands.undo,write:function(t){e.commands.save?e.commands.save(t):t.save&&t.save()},nohlsearch:function(e){Ve(e)},yank:function(e){var t=te(e.getCursor()).line,r=e.getLine(t);F.registerController.pushText("0","yank",r,!0,!0)},delmarks:function(t,r){if(r.argString&&ce(r.argString))for(var o=t.state.vim,n=new e.StringStream(ce(r.argString));!n.eol();){n.eatSpace();var i=n.pos;if(!n.match(/[a-zA-Z]/,!1))return void Ie(t,"Invalid argument: "+r.argString.substring(i));var a=n.next();if(n.match("-",!0)){if(!n.match(/[a-zA-Z]/,!1))return void Ie(t,"Invalid argument: "+r.argString.substring(i));var s=a,c=n.next();if(!(_(s)&&_(c)||C(s)&&C(c)))return void Ie(t,"Invalid argument: "+s+"-");var l=s.charCodeAt(0),u=c.charCodeAt(0);if(l>=u)return void Ie(t,"Invalid argument: "+r.argString.substring(i));for(var d=0;d<=u-l;d++){var m=String.fromCharCode(l+d);delete o.marks[m]}}else delete o.marks[a]}else Ie(t,"Argument required")}},Qe=new Ze;function Ge(t){var r=t.state.vim,o=F.macroModeState,n=F.registerController.getRegister("."),i=o.isPlaying,a=o.lastInsertModeChanges;i||(t.off("change",Xe),e.off(t.getInputField(),"keydown",nt)),!i&&r.insertModeRepeat>1&&(it(t,r,r.insertModeRepeat-1,!0),r.lastEditInputState.repeatOverride=r.insertModeRepeat),delete r.insertModeRepeat,r.insertMode=!1,t.setCursor(t.getCursor().line,t.getCursor().ch-1),t.setOption("keyMap","vim"),t.setOption("disableInput",!0),t.toggleOverwrite(!1),n.setText(a.changes.join("")),e.signal(t,"vim-mode-change",{mode:"normal"}),o.isRecording&&function(e){if(!e.isPlaying){var t=e.latestRegister,r=F.registerController.getRegister(t);r&&r.pushInsertModeChanges&&r.pushInsertModeChanges(e.lastInsertModeChanges)}}(o)}function Ye(e){t.unshift(e)}function $e(t,r,o,n){var i=F.registerController.getRegister(n);if(":"==n)return i.keyBuffer[0]&&Qe.processCommand(t,i.keyBuffer[0]),void(o.isPlaying=!1);var a=i.keyBuffer,s=0;o.isPlaying=!0,o.replaySearchQueries=i.searchQueries.slice(0);for(var c=0;c|<\w+>|./.exec(d))[0],d=d.substring(l.index+u.length),e.Vim.handleKey(t,u,"macro"),r.insertMode){var m=i.insertModeChanges[s++].changes;F.macroModeState.lastInsertModeChanges.changes=m,at(t,m,1),Ge(t)}o.isPlaying=!1}function Xe(e,t){var r=F.macroModeState,o=r.lastInsertModeChanges;if(!r.isPlaying)for(;t;){if(o.expectCursorActivityForChange=!0,o.ignoreCount>1)o.ignoreCount--;else if("+input"==t.origin||"paste"==t.origin||void 0===t.origin){var n=e.listSelections().length;n>1&&(o.ignoreCount=n);var i=t.text.join("\n");o.maybeReset&&(o.changes=[],o.maybeReset=!1),i&&(e.state.overwrite&&!/\n/.test(i)?o.changes.push([i]):o.changes.push(i))}t=t.next}}function et(t){var r=t.state.vim;if(r.insertMode){var o=F.macroModeState;if(o.isPlaying)return;var n=o.lastInsertModeChanges;n.expectCursorActivityForChange?n.expectCursorActivityForChange=!1:n.maybeReset=!0}else t.curOp.isVimOp||function(t,r){var o=t.getCursor("anchor"),n=t.getCursor("head");if(r.visualMode&&!t.somethingSelected()?he(t,!1):r.visualMode||r.insertMode||!t.somethingSelected()||(r.visualMode=!0,r.visualLine=!1,e.signal(t,"vim-mode-change",{mode:"visual"})),r.visualMode){var i=oe(n,o)?0:-1,a=oe(n,o)?-1:0;n=$(n,0,i),o=$(o,0,a),r.sel={anchor:o,head:n},Me(t,r,"<",ne(n,o)),Me(t,r,">",ie(n,o))}else r.insertMode||(r.lastHPos=t.getCursor().ch)}(t,r);r.visualMode&&tt(t)}function tt(e){var t=e.state.vim,r=G(e,te(t.sel.head)),o=$(r,0,1);if(rt(t),r.ch==e.getLine(r.line).length){var n=document.createElement("span");n.textContent=" ",n.className="cm-animate-fat-cursor",t.fakeCursorBookmark=e.setBookmark(r,{widget:n})}else t.fakeCursor=e.markText(r,o,{className:"cm-animate-fat-cursor"})}function rt(e){e.fakeCursor&&(e.fakeCursor.clear(),e.fakeCursor=null),e.fakeCursorBookmark&&(e.fakeCursorBookmark.clear(),e.fakeCursorBookmark=null)}function ot(e){this.keyName=e}function nt(t){var r=F.macroModeState.lastInsertModeChanges,o=e.keyName(t);o&&(-1==o.indexOf("Delete")&&-1==o.indexOf("Backspace")||e.lookupKey(o,"vim-insert",function(){return r.maybeReset&&(r.changes=[],r.maybeReset=!1),r.changes.push(new ot(o)),!0}))}function it(e,t,r,o){var n=F.macroModeState;n.isPlaying=!0;var i=!!t.lastEditActionCommand,a=t.inputState;function s(){i?W.processAction(e,t,t.lastEditActionCommand):W.evalInput(e,t)}function c(r){if(n.lastInsertModeChanges.changes.length>0){r=t.lastEditActionCommand?r:1;var o=n.lastInsertModeChanges;at(e,o.changes,r)}}if(t.inputState=t.lastEditInputState,i&&t.lastEditActionCommand.interlaceInsertRepeat)for(var l=0;l0?Nova.formatNumber(new String((100*t.value/e.currentTotal).toFixed(2))):"0"}}).value()},formattedLabels:function(){return _(this.chartData).map(function(e){return e.label}).value()},formattedData:function(){var e=this;return _(this.chartData).map(function(t,r){return{value:t.value,meta:{color:e.getItemColor(t,r)}}}).value()},formattedTotal:function(){var e=this.currentTotal.toFixed(2),t=Math.round(e);return t.toFixed(2)==e?Nova.formatNumber(new String(t)):Nova.formatNumber(new String(e))},currentTotal:function(){return _.sumBy(this.chartData,"value")}}}},IJ1G:function(e,t,r){var o=r("BsI2");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("0cdd94dd",o,!0,{})},IPGu:function(e,t,r){var o=r("SayF"),n=r("yxsw"),i=r("ZT2e"),a=r("pVq3");e.exports=function(e,t,r){return e=i(e),void 0===(t=r?void 0:t)?n(e)?a(e):o(e):e.match(t)||[]}},ITwD:function(e,t,r){var o=r("gGqR"),n=r("eFps"),i=r("yCNF"),a=r("Ai/T"),s=/^\[object .+?Constructor\]$/,c=Function.prototype,l=Object.prototype,u=c.toString,d=l.hasOwnProperty,m=RegExp("^"+u.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!i(e)||n(e))&&(o(e)?m:s).test(a(e))}},IUsj:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("create-form",{attrs:{mode:e.mode,"resource-name":e.resourceName,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"update-form-status":e.updateFormStatus,"should-override-meta":"form"==e.mode},on:{"resource-created":e.handleResourceCreated,"cancelled-create":e.handleCancelledCreate}})},staticRenderFns:[]}},IVhL:function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{d:"M3.41 15H16a2 2 0 0 0 2-2 1 1 0 0 1 2 0 4 4 0 0 1-4 4H3.41l2.3 2.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 1 1 1.42 1.4L3.4 15h.01zM4 7a2 2 0 0 0-2 2 1 1 0 1 1-2 0 4 4 0 0 1 4-4h12.59l-2.3-2.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4L16.6 7H4z"}})},staticRenderFns:[]}},IWhn:function(e,t,r){var o=r("VU/8")(r("OEyw"),r("NYl6"),!1,null,null,null);e.exports=o.exports},IXru:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffec}.cm-s-mbo div.CodeMirror-selected{background:#716c62}.cm-s-mbo .CodeMirror-line::selection,.cm-s-mbo .CodeMirror-line>span::selection,.cm-s-mbo .CodeMirror-line>span>span::selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-line::-moz-selection,.cm-s-mbo .CodeMirror-line>span::-moz-selection,.cm-s-mbo .CodeMirror-line>span>span::-moz-selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-guttermarker{color:#fff}.cm-s-mbo .CodeMirror-guttermarker-subtle{color:grey}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom,.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-attribute,.cm-s-mbo span.cm-property{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-string.cm-property,.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{border-bottom:#636363;color:#ffffec}.cm-s-mbo span.cm-qualifier{color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41}.cm-s-mbo .CodeMirror-matchingbracket{color:#ffb928!important}.cm-s-mbo .CodeMirror-matchingtag{background:hsla(0,0%,100%,.37)}",""])},IaM4:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-paraiso-dark.CodeMirror{background:#2f1e2e;color:#b9b6b0}.cm-s-paraiso-dark div.CodeMirror-selected{background:#41323f}.cm-s-paraiso-dark .CodeMirror-line::selection,.cm-s-paraiso-dark .CodeMirror-line>span::selection,.cm-s-paraiso-dark .CodeMirror-line>span>span::selection{background:rgba(65,50,63,.99)}.cm-s-paraiso-dark .CodeMirror-line::-moz-selection,.cm-s-paraiso-dark .CodeMirror-line>span::-moz-selection,.cm-s-paraiso-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(65,50,63,.99)}.cm-s-paraiso-dark .CodeMirror-gutters{background:#2f1e2e;border-right:0}.cm-s-paraiso-dark .CodeMirror-guttermarker{color:#ef6155}.cm-s-paraiso-dark .CodeMirror-guttermarker-subtle,.cm-s-paraiso-dark .CodeMirror-linenumber{color:#776e71}.cm-s-paraiso-dark .CodeMirror-cursor{border-left:1px solid #8d8687}.cm-s-paraiso-dark span.cm-comment{color:#e96ba8}.cm-s-paraiso-dark span.cm-atom,.cm-s-paraiso-dark span.cm-number{color:#815ba4}.cm-s-paraiso-dark span.cm-attribute,.cm-s-paraiso-dark span.cm-property{color:#48b685}.cm-s-paraiso-dark span.cm-keyword{color:#ef6155}.cm-s-paraiso-dark span.cm-string{color:#fec418}.cm-s-paraiso-dark span.cm-variable{color:#48b685}.cm-s-paraiso-dark span.cm-variable-2{color:#06b6ef}.cm-s-paraiso-dark span.cm-def{color:#f99b15}.cm-s-paraiso-dark span.cm-bracket{color:#b9b6b0}.cm-s-paraiso-dark span.cm-tag{color:#ef6155}.cm-s-paraiso-dark span.cm-link{color:#815ba4}.cm-s-paraiso-dark span.cm-error{background:#ef6155;color:#8d8687}.cm-s-paraiso-dark .CodeMirror-activeline-background{background:#4d344a}.cm-s-paraiso-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},Ibhu:function(e,t,r){var o=r("D2L2"),n=r("TcQ7"),i=r("vFc/")(!1),a=r("ax3d")("IE_PROTO");e.exports=function(e,t){var r,s=n(e),c=0,l=[];for(r in s)r!=a&&o(s,r)&&l.push(r);for(;t.length>c;)o(s,r=t[c++])&&(~i(l,r)||l.push(r));return l}},IlFm:function(e,t,r){var o=r("VU/8")(null,r("pPli"),!0,null,null,null);e.exports=o.exports},IlSJ:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-abcdef.CodeMirror{background:#0f0f0f;color:#defdef}.cm-s-abcdef div.CodeMirror-selected{background:#515151}.cm-s-abcdef .CodeMirror-line::selection,.cm-s-abcdef .CodeMirror-line>span::selection,.cm-s-abcdef .CodeMirror-line>span>span::selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-line::-moz-selection,.cm-s-abcdef .CodeMirror-line>span::-moz-selection,.cm-s-abcdef .CodeMirror-line>span>span::-moz-selection{background:rgba(56,56,56,.99)}.cm-s-abcdef .CodeMirror-gutters{background:#555;border-right:2px solid #314151}.cm-s-abcdef .CodeMirror-guttermarker{color:#222}.cm-s-abcdef .CodeMirror-guttermarker-subtle{color:azure}.cm-s-abcdef .CodeMirror-linenumber{color:#fff}.cm-s-abcdef .CodeMirror-cursor{border-left:1px solid #0f0}.cm-s-abcdef span.cm-keyword{color:#b8860b;font-weight:700}.cm-s-abcdef span.cm-atom{color:#77f}.cm-s-abcdef span.cm-number{color:violet}.cm-s-abcdef span.cm-def{color:#fffabc}.cm-s-abcdef span.cm-variable{color:#abcdef}.cm-s-abcdef span.cm-variable-2{color:#cacbcc}.cm-s-abcdef span.cm-type,.cm-s-abcdef span.cm-variable-3{color:#def}.cm-s-abcdef span.cm-property{color:#fedcba}.cm-s-abcdef span.cm-operator{color:#ff0}.cm-s-abcdef span.cm-comment{color:#7a7b7c;font-style:italic}.cm-s-abcdef span.cm-string{color:#2b4}.cm-s-abcdef span.cm-meta{color:#c9f}.cm-s-abcdef span.cm-qualifier{color:#fff700}.cm-s-abcdef span.cm-builtin{color:#30aabc}.cm-s-abcdef span.cm-bracket{color:#8a8a8a}.cm-s-abcdef span.cm-tag{color:#fd4}.cm-s-abcdef span.cm-attribute{color:#df0}.cm-s-abcdef span.cm-error{color:red}.cm-s-abcdef span.cm-header{color:#7fffd4;font-weight:700}.cm-s-abcdef span.cm-link{color:#8a2be2}.cm-s-abcdef .CodeMirror-activeline-background{background:#314151}",""])},"Ilb/":function(e,t,r){var o=r("Kzd6");e.exports=function(e,t){var r=t?o(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},Ipqp:function(e,t,r){var o=r("VU/8")(r("T4sB"),r("IqDH"),!1,null,null,null);e.exports=o.exports},IqDH:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.isNotObject?r("div",{staticClass:"flex items-center key-value-item"},[r("div",{staticClass:"flex flex-grow border-b border-50 key-value-fields"},[r("div",{staticClass:"w-48 cursor-text",class:{"bg-30":e.readOnlyKeys||!e.isEditable}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.item.key,expression:"item.key"}],ref:"keyField",staticClass:"font-mono text-sm resize-none block min-h-input w-full form-control form-input form-input-row py-4 text-90",class:{"bg-white":!e.isEditable||e.readOnlyKeys,"hover:bg-20 focus:bg-white":e.isEditable&&!e.readOnlyKeys},staticStyle:{"background-clip":"border-box"},attrs:{dusk:"key-value-key-"+e.index,type:"text",disabled:!e.isEditable||e.readOnlyKeys},domProps:{value:e.item.key},on:{focus:e.handleKeyFieldFocus,input:function(t){t.target.composing||e.$set(e.item,"key",t.target.value)}}})]),e._v(" "),r("div",{staticClass:"flex-grow border-l border-50",on:{click:e.handleValueFieldFocus}},[r("textarea",{directives:[{name:"model",rawName:"v-model",value:e.item.value,expression:"item.value"}],ref:"valueField",staticClass:"font-mono text-sm block min-h-input w-full form-control form-input form-input-row py-4 text-90",class:{"bg-white":!e.isEditable,"hover:bg-20 focus:bg-white":e.isEditable},attrs:{dusk:"key-value-value-"+e.index,type:"text",disabled:!e.isEditable},domProps:{value:e.item.value},on:{focus:e.handleValueFieldFocus,input:function(t){t.target.composing||e.$set(e.item,"value",t.target.value)}}})])]),e._v(" "),e.isEditable&&e.canDeleteRow?r("div",{staticClass:"flex justify-center h-11 w-11 absolute",staticStyle:{right:"-50px"}},[r("button",{staticClass:"flex appearance-none cursor-pointer text-70 hover:text-primary active:outline-none active:shadow-outline focus:outline-none focus:shadow-outline",attrs:{dusk:"remove-key-value-"+e.index,type:"button",tabindex:"-1",title:"Delete"},on:{click:function(t){return e.$emit("remove-row",e.item.id)}}},[r("icon")],1)]):e._e()]):e._e()},staticRenderFns:[]}},ItZe:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("field-wrapper",{attrs:{stacked:e.field.stacked}},[r("div",{staticClass:"px-8",class:e.field.stacked?"pt-6 w-full":"py-6 w-1/5"},[e._t("default",[r("form-label",{class:{"mb-2":e.showHelpText&&e.field.helpText},attrs:{"label-for":e.field.attribute}},[e._v("\n "+e._s(e.fieldLabel)+" "),e.field.required?r("span",{staticClass:"text-danger text-sm"},[e._v(e._s(e.__("*")))]):e._e()])])],2),e._v(" "),r("div",{staticClass:"py-6 px-8",class:e.fieldClasses},[e._t("field"),e._v(" "),e.showErrors&&e.hasError?r("help-text",{staticClass:"error-text mt-2 text-danger"},[e._v("\n "+e._s(e.firstError)+"\n ")]):e._e(),e._v(" "),e.showHelpText?r("help-text",{staticClass:"help-text mt-2"},[e._v("\n "+e._s(e.field.helpText)+"\n ")]):e._e()],2)])},staticRenderFns:[]}},Iyq1:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-3024-night.CodeMirror{background:#090300;color:#d6d5d4}.cm-s-3024-night div.CodeMirror-selected{background:#3a3432}.cm-s-3024-night .CodeMirror-line::selection,.cm-s-3024-night .CodeMirror-line>span::selection,.cm-s-3024-night .CodeMirror-line>span>span::selection{background:rgba(58,52,50,.99)}.cm-s-3024-night .CodeMirror-line::-moz-selection,.cm-s-3024-night .CodeMirror-line>span::-moz-selection,.cm-s-3024-night .CodeMirror-line>span>span::-moz-selection{background:rgba(58,52,50,.99)}.cm-s-3024-night .CodeMirror-gutters{background:#090300;border-right:0}.cm-s-3024-night .CodeMirror-guttermarker{color:#db2d20}.cm-s-3024-night .CodeMirror-guttermarker-subtle,.cm-s-3024-night .CodeMirror-linenumber{color:#5c5855}.cm-s-3024-night .CodeMirror-cursor{border-left:1px solid #807d7c}.cm-s-3024-night span.cm-comment{color:#cdab53}.cm-s-3024-night span.cm-atom,.cm-s-3024-night span.cm-number{color:#a16a94}.cm-s-3024-night span.cm-attribute,.cm-s-3024-night span.cm-property{color:#01a252}.cm-s-3024-night span.cm-keyword{color:#db2d20}.cm-s-3024-night span.cm-string{color:#fded02}.cm-s-3024-night span.cm-variable{color:#01a252}.cm-s-3024-night span.cm-variable-2{color:#01a0e4}.cm-s-3024-night span.cm-def{color:#e8bbd0}.cm-s-3024-night span.cm-bracket{color:#d6d5d4}.cm-s-3024-night span.cm-tag{color:#db2d20}.cm-s-3024-night span.cm-link{color:#a16a94}.cm-s-3024-night span.cm-error{background:#db2d20;color:#807d7c}.cm-s-3024-night .CodeMirror-activeline-background{background:#2f2f2f}.cm-s-3024-night .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},J7JA:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{resourceName:String,uriKey:String},methods:{handleClick:function(){this.isSorted&&this.isDescDirection?this.$emit("reset"):this.$emit("sort",{key:this.uriKey,direction:this.direction})}},computed:{isDescDirection:function(){return"desc"==this.direction},isAscDirection:function(){return"asc"==this.direction},ascClass:function(){return this.isSorted&&this.isDescDirection?"fill-80":"fill-60"},descClass:function(){return this.isSorted&&this.isAscDirection?"fill-80":"fill-60"},isSorted:function(){return this.sortColumn==this.uriKey&&["asc","desc"].includes(this.direction)},sortKey:function(){return this.resourceName+"_order"},sortColumn:function(){return this.$route.query[this.sortKey]},directionKey:function(){return this.resourceName+"_direction"},direction:function(){return this.$route.query[this.directionKey]},notSorted:function(){return!this.isSorted}}}},J8T3:function(e,t,r){var o=r("VU/8")(r("ZLWD"),r("eBdU"),!1,null,null,null);e.exports=o.exports},J8ma:function(e,t,r){var o=r("VU/8")(null,r("gnaa"),!0,null,null,null);e.exports=o.exports},JBvZ:function(e,t,r){var o=r("imBK");e.exports=function(e){var t=this.__data__,r=o(t,e);return r<0?void 0:t[r][1]}},JGZi:function(e,t,r){(function(e){"use strict";function t(e){for(var t;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null}function r(e){return e.eat("@")&&(e.match(/^session\./),e.match(/^local\./),e.match(/^global\./)),e.eat("'")?(e.match(/^.*'/),"variable-2"):e.eat('"')?(e.match(/^.*"/),"variable-2"):e.eat("`")?(e.match(/^.*`/),"variable-2"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}function o(e){return e.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"variable-2":null}e.defineMode("sql",function(t,r){var o=r.client||{},s=r.atoms||{false:!0,true:!0,null:!0},c=r.builtin||i(a),l=r.keywords||i(n),u=r.operatorChars||/^[*+\-%<>!=&|~^\/]/,d=r.support||{},m=r.hooks||{},f=r.dateSQL||{date:!0,time:!0,timestamp:!0},p=!1!==r.backslashStringEscapes,h=r.brackets||/^[\{}\(\)\[\]]/,g=r.punctuation||/^[;.,:]/;function b(e,t){var r=e.next();if(m[r]){var n=m[r](e,t);if(!1!==n)return n}if(d.hexNumber&&("0"==r&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==r||"X"==r)&&e.match(/^'[0-9a-fA-F]+'/)))return"number";if(d.binaryNumber&&(("b"==r||"B"==r)&&e.match(/^'[01]+'/)||"0"==r&&e.match(/^b[01]+/)))return"number";if(r.charCodeAt(0)>47&&r.charCodeAt(0)<58)return e.match(/^[0-9]*(\.[0-9]+)?([eE][-+]?[0-9]+)?/),d.decimallessFloat&&e.match(/^\.(?!\.)/),"number";if("?"==r&&(e.eatSpace()||e.eol()||e.eat(";")))return"variable-3";if("'"==r||'"'==r&&d.doubleQuote)return t.tokenize=v(r),t.tokenize(e,t);if((d.nCharCast&&("n"==r||"N"==r)||d.charsetCast&&"_"==r&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(d.escapeConstant&&("e"==r||"E"==r)&&("'"==e.peek()||'"'==e.peek()&&d.doubleQuote))return t.tokenize=function(e,t){return(t.tokenize=v(e.next(),!0))(e,t)},"keyword";if(d.commentSlashSlash&&"/"==r&&e.eat("/"))return e.skipToEnd(),"comment";if(d.commentHash&&"#"==r||"-"==r&&e.eat("-")&&(!d.commentSpaceRequired||e.eat(" ")))return e.skipToEnd(),"comment";if("/"==r&&e.eat("*"))return t.tokenize=function e(t){return function(r,o){var n=r.match(/^.*?(\/\*|\*\/)/);return n?"/*"==n[1]?o.tokenize=e(t+1):o.tokenize=t>1?e(t-1):b:r.skipToEnd(),"comment"}}(1),t.tokenize(e,t);if("."!=r){if(u.test(r))return e.eatWhile(u),"operator";if(h.test(r))return"bracket";if(g.test(r))return e.eatWhile(g),"punctuation";if("{"==r&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);var i=e.current().toLowerCase();return f.hasOwnProperty(i)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":s.hasOwnProperty(i)?"atom":c.hasOwnProperty(i)?"builtin":l.hasOwnProperty(i)?"keyword":o.hasOwnProperty(i)?"string-2":null}return d.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":e.match(/^\.+/)?null:d.ODBCdotTable&&e.match(/^[\w\d_$#]+/)?"variable-2":void 0}function v(e,t){return function(r,o){for(var n,i=!1;null!=(n=r.next());){if(n==e&&!i){o.tokenize=b;break}i=(p||t)&&!i&&"\\"==n}return"string"}}function y(e,t,r){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:r}}return{startState:function(){return{tokenize:b,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),t.tokenize==b&&e.eatSpace())return null;var r=t.tokenize(e,t);if("comment"==r)return r;t.context&&null==t.context.align&&(t.context.align=!0);var o=e.current();return"("==o?y(e,t,")"):"["==o?y(e,t,"]"):t.context&&t.context.type==o&&function(e){e.indent=e.context.indent,e.context=e.context.prev}(t),r},indent:function(r,o){var n=r.context;if(!n)return e.Pass;var i=o.charAt(0)==n.type;return n.align?n.col+(i?0:1):n.indent+(i?0:t.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:d.commentSlashSlash?"//":d.commentHash?"#":"--",closeBrackets:"()[]{}''\"\"``"}});var n="alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit ";function i(e){for(var t={},r=e.split(" "),o=0;o!=^\&|\/]/,brackets:/^[\{}\(\)]/,punctuation:/^[;.,:/]/,backslashStringEscapes:!1,dateSQL:i("date datetimeoffset datetime2 smalldatetime datetime time"),hooks:{"@":r}}),e.defineMIME("text/x-mysql",{name:"sql",client:i("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:i(n+"accessible action add after algorithm all analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general get global grant grants group group_concat handler hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show signal slave slow smallint snapshot soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:i("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:i("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:i("date time timestamp"),support:i("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":r,"`":t,"\\":o}}),e.defineMIME("text/x-mariadb",{name:"sql",client:i("charset clear connect edit ego exit go help nopager notee nowarning pager print prompt quit rehash source status system tee"),keywords:i(n+"accessible action add after algorithm all always analyze asensitive at authors auto_increment autocommit avg avg_row_length before binary binlog both btree cache call cascade cascaded case catalog_name chain change changed character check checkpoint checksum class_origin client_statistics close coalesce code collate collation collations column columns comment commit committed completion concurrent condition connection consistent constraint contains continue contributors convert cross current current_date current_time current_timestamp current_user cursor data database databases day_hour day_microsecond day_minute day_second deallocate dec declare default delay_key_write delayed delimiter des_key_file describe deterministic dev_pop dev_samp deviance diagnostics directory disable discard distinctrow div dual dumpfile each elseif enable enclosed end ends engine engines enum errors escape escaped even event events every execute exists exit explain extended fast fetch field fields first flush for force foreign found_rows full fulltext function general generated get global grant grants group groupby_concat handler hard hash help high_priority hosts hour_microsecond hour_minute hour_second if ignore ignore_server_ids import index index_statistics infile inner innodb inout insensitive insert_method install interval invoker isolation iterate key keys kill language last leading leave left level limit linear lines list load local localtime localtimestamp lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters match max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modifies modify mutex mysql_errno natural next no no_write_to_binlog offline offset one online open optimize option optionally out outer outfile pack_keys parser partition partitions password persistent phase plugin plugins prepare preserve prev primary privileges procedure processlist profile profiles purge query quick range read read_write reads real rebuild recover references regexp relaylog release remove rename reorganize repair repeatable replace require resignal restrict resume return returns revoke right rlike rollback rollup row row_format rtree savepoint schedule schema schema_name schemas second_microsecond security sensitive separator serializable server session share show shutdown signal slave slow smallint snapshot soft soname spatial specific sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sqlexception sqlstate sqlwarning ssl start starting starts status std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace temporary terminated to trailing transaction trigger triggers truncate uncommitted undo uninstall unique unlock upgrade usage use use_frm user user_resources user_statistics using utc_date utc_time utc_timestamp value variables varying view views virtual warnings when while with work write xa xor year_month zerofill begin do then else loop repeat"),builtin:i("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text bigint int int1 int2 int3 int4 int8 integer float float4 float8 double char varbinary varchar varcharacter precision date datetime year unsigned signed numeric"),atoms:i("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^]/,dateSQL:i("date time timestamp"),support:i("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber doubleQuote nCharCast charsetCast commentHash commentSpaceRequired"),hooks:{"@":r,"`":t,"\\":o}}),e.defineMIME("text/x-sqlite",{name:"sql",client:i("auth backup bail binary changes check clone databases dbinfo dump echo eqp exit explain fullschema headers help import imposter indexes iotrace limit lint load log mode nullvalue once open output print prompt quit read restore save scanstats schema separator session shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width"),keywords:i(n+"abort action add after all analyze attach autoincrement before begin cascade case cast check collate column commit conflict constraint cross current_date current_time current_timestamp database default deferrable deferred detach each else end escape except exclusive exists explain fail for foreign full glob if ignore immediate index indexed initially inner instead intersect isnull key left limit match natural no notnull null of offset outer plan pragma primary query raise recursive references regexp reindex release rename replace restrict right rollback row savepoint temp temporary then to transaction trigger unique using vacuum view virtual when with without"),builtin:i("bool boolean bit blob decimal double float long longblob longtext medium mediumblob mediumint mediumtext time timestamp tinyblob tinyint tinytext text clob bigint int int2 int8 integer float double char varchar date datetime year unsigned signed numeric real"),atoms:i("null current_date current_time current_timestamp"),operatorChars:/^[*+\-%<>!=&|/~]/,dateSQL:i("date time timestamp datetime"),support:i("decimallessFloat zerolessFloat"),identifierQuote:'"',hooks:{"@":r,":":r,"?":r,$:r,'"':function(e){for(var t;null!=(t=e.next());)if('"'==t&&!e.eat('"'))return"variable-2";return e.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null},"`":t}}),e.defineMIME("text/x-cassandra",{name:"sql",client:{},keywords:i("add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime"),builtin:i("ascii bigint blob boolean counter decimal double float frozen inet int list map static text timestamp timeuuid tuple uuid varchar varint"),atoms:i("false true infinity NaN"),operatorChars:/^[<>=]/,dateSQL:{},support:i("commentSlashSlash decimallessFloat"),hooks:{}}),e.defineMIME("text/x-plsql",{name:"sql",client:i("appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define describe echo editfile embedded escape exec execute feedback flagger flush heading headsep instance linesize lno loboffset logsource long longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar release repfooter repheader serveroutput shiftinout show showmode size spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout time timing trimout trimspool ttitle underline verify version wrap"),keywords:i("abort accept access add all alter and any array arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body boolean by case cast char char_base check close cluster clusters colauth column comment commit compress connect connected constant constraint crash create current currval cursor data_base database date dba deallocate debugoff debugon decimal declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry escape exception exception_init exchange exclusive exists exit external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging long loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base object of off offline on online only open option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw read rebuild record ref references refresh release rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate session set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work"),builtin:i("abs acos add_months ascii asin atan atan2 average bfile bfilename bigserial bit blob ceil character chartorowid chr clob concat convert cos cosh count dec decode deref dual dump dup_val_on_index empty error exp false float floor found glb greatest hextoraw initcap instr instrb int integer isopen last_day least length lengthb ln lower lpad ltrim lub make_ref max min mlslabel mod months_between natural naturaln nchar nclob new_time next_day nextval nls_charset_decl_len nls_charset_id nls_charset_name nls_initcap nls_lower nls_sort nls_upper nlssort no_data_found notfound null number numeric nvarchar2 nvl others power rawtohex real reftohex round rowcount rowidtochar rowtype rpad rtrim serial sign signtype sin sinh smallint soundex sqlcode sqlerrm sqrt stddev string substr substrb sum sysdate tan tanh to_char text to_date to_label to_multi_byte to_number to_single_byte translate true trunc uid unlogged upper user userenv varchar varchar2 variance varying vsize xml"),operatorChars:/^[*\/+\-%<>!=~]/,dateSQL:i("date time timestamp"),support:i("doubleQuote nCharCast zerolessFloat binaryNumber hexNumber")}),e.defineMIME("text/x-hive",{name:"sql",keywords:i("select alter $elem$ $key$ $value$ add after all analyze and archive as asc before between binary both bucket buckets by cascade case cast change cluster clustered clusterstatus collection column columns comment compute concatenate continue create cross cursor data database databases dbproperties deferred delete delimited desc describe directory disable distinct distribute drop else enable end escaped exclusive exists explain export extended external fetch fields fileformat first format formatted from full function functions grant group having hold_ddltime idxproperties if import in index indexes inpath inputdriver inputformat insert intersect into is items join keys lateral left like limit lines load local location lock locks mapjoin materialized minus msck no_drop nocompress not of offline on option or order out outer outputdriver outputformat overwrite partition partitioned partitions percent plus preserve procedure purge range rcfile read readonly reads rebuild recordreader recordwriter recover reduce regexp rename repair replace restrict revoke right rlike row schema schemas semi sequencefile serde serdeproperties set shared show show_database sort sorted ssl statistics stored streamtable table tables tablesample tblproperties temporary terminated textfile then tmp to touch transform trigger unarchive undo union uniquejoin unlock update use using utc utc_tmestamp view when where while with admin authorization char compact compactions conf cube current current_date current_timestamp day decimal defined dependency directories elem_type exchange file following for grouping hour ignore inner interval jar less logical macro minute month more none noscan over owner partialscan preceding pretty principals protection reload rewrite role roles rollup rows second server sets skewed transactions truncate unbounded unset uri user values window year"),builtin:i("bool boolean long timestamp tinyint smallint bigint int float double date datetime unsigned string array struct map uniontype key_type utctimestamp value_type varchar"),atoms:i("false true null unknown"),operatorChars:/^[*+\-%<>!=]/,dateSQL:i("date timestamp"),support:i("ODBCdotTable doubleQuote binaryNumber hexNumber")}),e.defineMIME("text/x-pgsql",{name:"sql",client:i("source"),keywords:i(n+"a abort abs absent absolute access according action ada add admin after aggregate alias all allocate also alter always analyse analyze and any are array array_agg array_max_cardinality as asc asensitive assert assertion assignment asymmetric at atomic attach attribute attributes authorization avg backward base64 before begin begin_frame begin_partition bernoulli between bigint binary bit bit_length blob blocked bom boolean both breadth by c cache call called cardinality cascade cascaded case cast catalog catalog_name ceil ceiling chain char char_length character character_length character_set_catalog character_set_name character_set_schema characteristics characters check checkpoint class class_origin clob close cluster coalesce cobol collate collation collation_catalog collation_name collation_schema collect column column_name columns command_function command_function_code comment comments commit committed concurrently condition condition_number configuration conflict connect connection connection_name constant constraint constraint_catalog constraint_name constraint_schema constraints constructor contains content continue control conversion convert copy corr corresponding cost count covar_pop covar_samp create cross csv cube cume_dist current current_catalog current_date current_default_transform_group current_path current_role current_row current_schema current_time current_timestamp current_transform_group_for_type current_user cursor cursor_name cycle data database datalink datatype date datetime_interval_code datetime_interval_precision day db deallocate debug dec decimal declare default defaults deferrable deferred defined definer degree delete delimiter delimiters dense_rank depends depth deref derived desc describe descriptor detach detail deterministic diagnostics dictionary disable discard disconnect dispatch distinct dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue do document domain double drop dump dynamic dynamic_function dynamic_function_code each element else elseif elsif empty enable encoding encrypted end end_frame end_partition endexec enforced enum equals errcode error escape event every except exception exclude excluding exclusive exec execute exists exit exp explain expression extension external extract false family fetch file filter final first first_value flag float floor following for force foreach foreign fortran forward found frame_row free freeze from fs full function functions fusion g general generated get global go goto grant granted greatest group grouping groups handler having header hex hierarchy hint hold hour id identity if ignore ilike immediate immediately immutable implementation implicit import in include including increment indent index indexes indicator info inherit inherits initially inline inner inout input insensitive insert instance instantiable instead int integer integrity intersect intersection interval into invoker is isnull isolation join k key key_member key_type label lag language large last last_value lateral lead leading leakproof least left length level library like like_regex limit link listen ln load local localtime localtimestamp location locator lock locked log logged loop lower m map mapping match matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text method min minute minvalue mod mode modifies module month more move multiset mumps name names namespace national natural nchar nclob nesting new next nfc nfd nfkc nfkd nil no none normalize normalized not nothing notice notify notnull nowait nth_value ntile null nullable nullif nulls number numeric object occurrences_regex octet_length octets of off offset oids old on only open operator option options or order ordering ordinality others out outer output over overlaps overlay overriding owned owner p pad parallel parameter parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partial partition pascal passing passthrough password path percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding precision prepare prepared preserve primary print_strict_params prior privileges procedural procedure procedures program public publication query quote raise range rank read reads real reassign recheck recovery recursive ref references referencing refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex relative release rename repeatable replace replica requiring reset respect restart restore restrict result result_oid return returned_cardinality returned_length returned_octet_length returned_sqlstate returning returns reverse revoke right role rollback rollup routine routine_catalog routine_name routine_schema routines row row_count row_number rows rowtype rule savepoint scale schema schema_name schemas scope scope_catalog scope_name scope_schema scroll search second section security select selective self sensitive sequence sequences serializable server server_name session session_user set setof sets share show similar simple size skip slice smallint snapshot some source space specific specific_name specifictype sql sqlcode sqlerror sqlexception sqlstate sqlwarning sqrt stable stacked standalone start state statement static statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time system_user t table table_name tables tablesample tablespace temp template temporary text then ties time timestamp timezone_hour timezone_minute to token top_level_count trailing transaction transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex translation treat trigger trigger_catalog trigger_name trigger_schema trim trim_array true truncate trusted type types uescape unbounded uncommitted under unencrypted union unique unknown unlink unlisten unlogged unnamed unnest until untyped update upper uri usage use_column use_variable user user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema using vacuum valid validate validator value value_of values var_pop var_samp varbinary varchar variable_conflict variadic varying verbose version versioning view views volatile warning when whenever where while whitespace width_bucket window with within without work wrapper write xml xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate year yes zone"),builtin:i("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:i("false true null unknown"),operatorChars:/^[*\/+\-%<>!=&|^\/#@?~]/,backslashStringEscapes:!1,dateSQL:i("date time timestamp"),support:i("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast escapeConstant")}),e.defineMIME("text/x-gql",{name:"sql",keywords:i("ancestor and asc by contains desc descendant distinct from group has in is limit offset on order select superset where"),atoms:i("false true"),builtin:i("blob datetime first key __key__ string integer double boolean null"),operatorChars:/^[*+\-%<>!=]/}),e.defineMIME("text/x-gpsql",{name:"sql",client:i("source"),keywords:i("abort absolute access action active add admin after aggregate all also alter always analyse analyze and any array as asc assertion assignment asymmetric at authorization backward before begin between bigint binary bit boolean both by cache called cascade cascaded case cast chain char character characteristics check checkpoint class close cluster coalesce codegen collate column comment commit committed concurrency concurrently configuration connection constraint constraints contains content continue conversion copy cost cpu_rate_limit create createdb createexttable createrole createuser cross csv cube current current_catalog current_date current_role current_schema current_time current_timestamp current_user cursor cycle data database day deallocate dec decimal declare decode default defaults deferrable deferred definer delete delimiter delimiters deny desc dictionary disable discard distinct distributed do document domain double drop dxl each else enable encoding encrypted end enum errors escape every except exchange exclude excluding exclusive execute exists explain extension external extract false family fetch fields filespace fill filter first float following for force foreign format forward freeze from full function global grant granted greatest group group_id grouping handler hash having header hold host hour identity if ignore ilike immediate immutable implicit in including inclusive increment index indexes inherit inherits initially inline inner inout input insensitive insert instead int integer intersect interval into invoker is isnull isolation join key language large last leading least left level like limit list listen load local localtime localtimestamp location lock log login mapping master match maxvalue median merge minute minvalue missing mode modifies modify month move name names national natural nchar new newline next no nocreatedb nocreateexttable nocreaterole nocreateuser noinherit nologin none noovercommit nosuperuser not nothing notify notnull nowait null nullif nulls numeric object of off offset oids old on only operator option options or order ordered others out outer over overcommit overlaps overlay owned owner parser partial partition partitions passing password percent percentile_cont percentile_disc placing plans position preceding precision prepare prepared preserve primary prior privileges procedural procedure protocol queue quote randomly range read readable reads real reassign recheck recursive ref references reindex reject relative release rename repeatable replace replica reset resource restart restrict returning returns revoke right role rollback rollup rootpartition row rows rule savepoint scatter schema scroll search second security segment select sequence serializable session session_user set setof sets share show similar simple smallint some split sql stable standalone start statement statistics stdin stdout storage strict strip subpartition subpartitions substring superuser symmetric sysid system table tablespace temp template temporary text then threshold ties time timestamp to trailing transaction treat trigger trim true truncate trusted type unbounded uncommitted unencrypted union unique unknown unlisten until update user using vacuum valid validation validator value values varchar variadic varying verbose version view volatile web when where whitespace window with within without work writable write xml xmlattributes xmlconcat xmlelement xmlexists xmlforest xmlparse xmlpi xmlroot xmlserialize year yes zone"),builtin:i("bigint int8 bigserial serial8 bit varying varbit boolean bool box bytea character char varchar cidr circle date double precision float float8 inet integer int int4 interval json jsonb line lseg macaddr macaddr8 money numeric decimal path pg_lsn point polygon real float4 smallint int2 smallserial serial2 serial serial4 text time without zone with timetz timestamp timestamptz tsquery tsvector txid_snapshot uuid xml"),atoms:i("false true null unknown"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:i("date time timestamp"),support:i("ODBCdotTable decimallessFloat zerolessFloat binaryNumber hexNumber nCharCast charsetCast")}),e.defineMIME("text/x-sparksql",{name:"sql",keywords:i("add after all alter analyze and anti archive array as asc at between bucket buckets by cache cascade case cast change clear cluster clustered codegen collection column columns comment commit compact compactions compute concatenate cost create cross cube current current_date current_timestamp database databases datata dbproperties defined delete delimited deny desc describe dfs directories distinct distribute drop else end escaped except exchange exists explain export extended external false fields fileformat first following for format formatted from full function functions global grant group grouping having if ignore import in index indexes inner inpath inputformat insert intersect interval into is items join keys last lateral lazy left like limit lines list load local location lock locks logical macro map minus msck natural no not null nulls of on optimize option options or order out outer outputformat over overwrite partition partitioned partitions percent preceding principals purge range recordreader recordwriter recover reduce refresh regexp rename repair replace reset restrict revoke right rlike role roles rollback rollup row rows schema schemas select semi separated serde serdeproperties set sets show skewed sort sorted start statistics stored stratify struct table tables tablesample tblproperties temp temporary terminated then to touch transaction transactions transform true truncate unarchive unbounded uncache union unlock unset use using values view when where window with"),builtin:i("tinyint smallint int bigint boolean float double string binary timestamp decimal array map struct uniontype delimited serde sequencefile textfile rcfile inputformat outputformat"),atoms:i("false true null"),operatorChars:/^[*\/+\-%<>!=~&|^]/,dateSQL:i("date time timestamp"),support:i("ODBCdotTable doubleQuote zerolessFloat")}),e.defineMIME("text/x-esper",{name:"sql",client:i("source"),keywords:i("alter and as asc between by count create delete desc distinct drop from group having in insert into is join like not on or order select set table union update values where limit after all and as at asc avedev avg between by case cast coalesce count create current_timestamp day days delete define desc distinct else end escape events every exists false first from full group having hour hours in inner insert instanceof into irstream is istream join last lastweekday left limit like max match_recognize matches median measures metadatasql min minute minutes msec millisecond milliseconds not null offset on or order outer output partition pattern prev prior regexp retain-union retain-intersection right rstream sec second seconds select set some snapshot sql stddev sum then true unidirectional until update variable weekday when where window"),builtin:{},atoms:i("false true null"),operatorChars:/^[*+\-%<>!=&|^\/#@?~]/,dateSQL:i("time"),support:i("decimallessFloat zerolessFloat binaryNumber hexNumber")})})(r("8U58"))},"JV+R":function(e,t,r){var o=r("Ruh1");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("e0d04470",o,!0,{})},JaaM:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("select",e._g(e._b({domProps:{value:e.value}},"select",e.$attrs,!1),e.inputListeners),[e._t("default"),e._v(" "),e._l(e.groupedOptions,function(t,o){return[o?r("optgroup",{attrs:{label:o}},e._l(t,function(t){return r("option",e._b({},"option",e.attrsFor(t),!1),[e._v("\n "+e._s(e.labelFor(t))+"\n ")])}),0):e._l(t,function(t){return r("option",e._b({},"option",e.attrsFor(t),!1),[e._v("\n "+e._s(e.labelFor(t))+"\n ")])})]})],2)},staticRenderFns:[]}},Jb3j:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.HandlesValidationErrors,o.FormField]}},JbGs:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-lucario.CodeMirror,.cm-s-lucario .CodeMirror-gutters{background-color:#2b3e50!important;color:#f8f8f2!important;border:none}.cm-s-lucario .CodeMirror-gutters{color:#2b3e50}.cm-s-lucario .CodeMirror-cursor{border-left:thin solid #e6c845}.cm-s-lucario .CodeMirror-linenumber{color:#f8f8f2}.cm-s-lucario .CodeMirror-selected{background:#243443}.cm-s-lucario .CodeMirror-line::selection,.cm-s-lucario .CodeMirror-line>span::selection,.cm-s-lucario .CodeMirror-line>span>span::selection{background:#243443}.cm-s-lucario .CodeMirror-line::-moz-selection,.cm-s-lucario .CodeMirror-line>span::-moz-selection,.cm-s-lucario .CodeMirror-line>span>span::-moz-selection{background:#243443}.cm-s-lucario span.cm-comment{color:#5c98cd}.cm-s-lucario span.cm-string,.cm-s-lucario span.cm-string-2{color:#e6db74}.cm-s-lucario span.cm-number{color:#ca94ff}.cm-s-lucario span.cm-variable,.cm-s-lucario span.cm-variable-2{color:#f8f8f2}.cm-s-lucario span.cm-def{color:#72c05d}.cm-s-lucario span.cm-operator{color:#66d9ef}.cm-s-lucario span.cm-keyword{color:#ff6541}.cm-s-lucario span.cm-atom{color:#bd93f9}.cm-s-lucario span.cm-meta{color:#f8f8f2}.cm-s-lucario span.cm-tag{color:#ff6541}.cm-s-lucario span.cm-attribute{color:#66d9ef}.cm-s-lucario span.cm-qualifier{color:#72c05d}.cm-s-lucario span.cm-property{color:#f8f8f2}.cm-s-lucario span.cm-builtin{color:#72c05d}.cm-s-lucario span.cm-type,.cm-s-lucario span.cm-variable-3{color:#ffb86c}.cm-s-lucario .CodeMirror-activeline-background{background:#243443}.cm-s-lucario .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},JeTL:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-card",{staticClass:"px-6 py-4",attrs:{loading:e.loading}},[r("div",{staticClass:"flex mb-4"},[r("h3",{staticClass:"mr-3 text-base text-80 font-bold"},[e._v(e._s(e.title))]),e._v(" "),e.helpText?r("div",{staticClass:"absolute pin-r pin-b p-2 z-20"},[r("tooltip",{attrs:{trigger:"click",placement:"top-start"}},[r("icon",{staticClass:"cursor-pointer text-60 -mb-1",attrs:{type:"help",viewBox:"0 0 17 17",height:"16",width:"16"}}),e._v(" "),r("tooltip-content",{attrs:{slot:"content","max-width":e.helpWidth},domProps:{innerHTML:e._s(e.helpText)},slot:"content"})],1)],1):e._e(),e._v(" "),e.ranges.length>0?r("select",{staticClass:"select-box-sm ml-auto min-w-24 h-6 text-xs appearance-none bg-40 pl-2 pr-6 active:outline-none active:shadow-outline focus:outline-none focus:shadow-outline",on:{change:e.handleChange}},e._l(e.ranges,function(t){return r("option",{key:t.value,domProps:{value:t.value,selected:e.selectedRangeKey==t.value}},[e._v("\n "+e._s(t.label)+"\n ")])}),0):e._e()]),e._v(" "),r("p",{staticClass:"flex items-center text-4xl mb-4"},[e._v("\n "+e._s(e.formattedValue)+"\n "),e.suffix?r("span",{staticClass:"ml-2 text-sm font-bold text-80"},[e._v(e._s(e.formattedSuffix))]):e._e()]),e._v(" "),r("div",[r("p",{staticClass:"flex items-center text-80 font-bold"},["Decrease"==e.increaseOrDecreaseLabel?r("svg",{staticClass:"text-danger stroke-current mr-2",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"}},[r("path",{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 17h8m0 0V9m0 8l-8-8-4 4-6-6"}})]):e._e(),e._v(" "),"Increase"==e.increaseOrDecreaseLabel?r("svg",{staticClass:"text-success stroke-current mr-2",attrs:{width:"24",height:"24",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"}},[r("path",{attrs:{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"}})]):e._e(),e._v(" "),0!=e.increaseOrDecrease?r("span",[0!==e.growthPercentage?r("span",[e._v("\n "+e._s(e.growthPercentage)+"%\n "+e._s(e.__(e.increaseOrDecreaseLabel))+"\n ")]):r("span",[e._v(" "+e._s(e.__("No Increase"))+" ")])]):r("span",["0"==e.previous&&"0"!=e.value?r("span",[e._v("\n "+e._s(e.__("No Prior Data"))+"\n ")]):e._e(),e._v(" "),"0"!=e.value||"0"==e.previous||e.zeroResult?e._e():r("span",[e._v("\n "+e._s(e.__("No Current Data"))+"\n ")]),e._v(" "),"0"!=e.value||"0"!=e.previous||e.zeroResult?e._e():r("span",[e._v("\n "+e._s(e.__("No Data"))+"\n ")])])])])])},staticRenderFns:[]}},JgSA:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,'.cm-s-ambiance .cm-header{color:blue}.cm-s-ambiance .cm-quote{color:#24c2c7}.cm-s-ambiance .cm-keyword{color:#cda869}.cm-s-ambiance .cm-atom{color:#cf7ea9}.cm-s-ambiance .cm-number{color:#78cf8a}.cm-s-ambiance .cm-def{color:#aac6e3}.cm-s-ambiance .cm-variable{color:#ffb795}.cm-s-ambiance .cm-variable-2{color:#eed1b3}.cm-s-ambiance .cm-type,.cm-s-ambiance .cm-variable-3{color:#faded3}.cm-s-ambiance .cm-property{color:#eed1b3}.cm-s-ambiance .cm-operator{color:#fa8d6a}.cm-s-ambiance .cm-comment{color:#555;font-style:italic}.cm-s-ambiance .cm-string{color:#8f9d6a}.cm-s-ambiance .cm-string-2{color:#9d937c}.cm-s-ambiance .cm-meta{color:#d2a8a1}.cm-s-ambiance .cm-qualifier{color:#ff0}.cm-s-ambiance .cm-builtin{color:#99c}.cm-s-ambiance .cm-bracket{color:#24c2c7}.cm-s-ambiance .cm-tag{color:#fee4ff}.cm-s-ambiance .cm-attribute{color:#9b859d}.cm-s-ambiance .cm-hr{color:pink}.cm-s-ambiance .cm-link{color:#f4c20b}.cm-s-ambiance .cm-special{color:#ff9d00}.cm-s-ambiance .cm-error{color:#af2018}.cm-s-ambiance .CodeMirror-matchingbracket{color:#0f0}.cm-s-ambiance .CodeMirror-nonmatchingbracket{color:#f22}.cm-s-ambiance div.CodeMirror-selected{background:hsla(0,0%,100%,.15)}.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-ambiance .CodeMirror-line::selection,.cm-s-ambiance .CodeMirror-line>span::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;-moz-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)}.cm-s-ambiance.CodeMirror,.cm-s-ambiance .CodeMirror-gutters{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAQAAAAHUWYVAABFFUlEQVQYGbzBCeDVU/74/6fj9HIcx/FRHx9JCFmzMyGRURhLZIkUsoeRfUjS2FNDtr6WkMhO9sm+S8maJfu+Jcsg+/o/c+Z4z/t97/vezy3z+z8ekGlnYICG/o7gdk+wmSHZ1z4pJItqapjoKXWahm8NmV6eOTbWUOp6/6a/XIg6GQqmenJ2lDHyvCFZ2cBDbmtHA043VFhHwXxClWmeYAdLhV00Bd85go8VmaFCkbVkzlQENzfBDZ5gtN7HwF0KDrTwJ0dypSOzpaKCMwQHKTIreYIxlmhXTzTWkVm+LTynZhiSBT3RZQ7aGfjGEd3qyXQ1FDymqbKxpspERQN2MiRjNZlFFQXfCNFm9nM1zpAsoYjmtRTc5ajwuaXc5xrWskT97RaKzAGe5ARHhVUsDbjKklziiX5WROcJwSNCNI+9w1Jwv4Zb2r7lCMZ4oq5C0EdTx+2GzNuKpJ+iFf38JEWkHJn9DNF7mmBDITrWEg0VWL3pHU20tSZnuqWu+R3BtYa8XxV1HO7GyD32UkOpL/yDloINFTmvtId+nmAjxRw40VMwVKiwrKLE4bK5UOVntYwhOcSSXKrJHKPJedocpGjVz/ZMIbnYUPB10/eKCrs5apqpgVmWzBYWpmtKHecJPjaUuEgRDDaU0oZghCJ6zNMQ5ZhDYx05r5v2muQdM0EILtXUsaKiQX9WMEUotagQzFbUNN6NUPC2nm5pxEWGCjMc3GdJHjSU2kORLK/JGSrkfGEIjncU/CYUnOipoYemwj8tST9NsJmB7TUVXtbUtXATJVZXBMvYeTXJfobgJUPmGMP/yFaWonaa6BcFO3nqcIqCozSZoZoSr1g4zJOzuyGnxTEX3lUEJ7WcZgme8ddaWvWJo2AJR9DZU3CUIbhCSG6ybSwN6qtJVnCU2svDTP2ZInOw2cBTrqtQahtNZn9NcJ4l2NaSmSkkP1noZWnVwkLmdUPOwLZEwy2Z3S3R+4rIG9hcbpPXHFVWcQdZkn2FOta3cKWQnNRC5g1LsJah4GCzSVsKnCOY5OAFRTBekyyryeyilhFKva75r4Mc0aWanGEaThcy31s439KKxTzJYY5WTHPU1FtIHjQU3Oip4xlNzj/lBw23dYZVliQa7WAXf4shetcQfatI+jWRDBPmyNeW6A1P5kdDgyYJlba0BIM8BZu1JfrFwItyjcAMR3K0BWOIrtMEXyhyrlVEx3ui5dUBjmB/Q3CXW85R4mBD0s7B+4q5tKUjOlb9qqmhi5AZ6GFIC5HXtOobdYGlVdMVbNJ8toNTFcHxnoL+muBagcctjWnbNMuR00uI7nQESwg5q2qqrKWIfrNUmeQocY6HuyxJV02wj36w00yhpmUFenv4p6fUkZYqLyuinx2RGOjhCXYyJF84oiU00YMOOhhquNdfbOB7gU88pY4xJO8LVdp6/q2voeB4R04vIdhSE40xZObx1HGGJ/ja0LBthFInKaLPPFzuCaYaoj8JjPME8yoyxo6zlBqkiUZYgq00OYMswbWO5NGmq+xhipxHLRW29ARjNKXO0wRnear8XSg4XFPLKEPUS1GqvyLwiuBUoa7zpZ0l5xxFwWmWZC1H5h5FwU8eQ7K+g8UcVY6TMQreVQT/8uQ8Z+ALIXnSEa2pYZQneE9RZbSBNYXfWYJzW/h/4j4Dp1tYVcFIC5019Vyi4ThPqSFCzjGWaHQTBU8q6vrVwgxP9Lkm840imWKpcLCjYTtrKuwvsKSnrvHCXGkSMk9p6lhckfRpIeis+N2PiszT+mFLspyGleUhDwcLrZqmyeylxwjBcKHEapqkmyangyLZRVOijwOtCY5SsG5zL0OwlCJ4y5KznF3EUNDDrinwiyLZRzOXtlBbK5ITHFGLp8Q0R6ab6mS7enI2cFrxOyHvOCFaT1HThS1krjCwqWeurCkk+willhCC+RSZnRXBiZaC5RXRIZYKp2lyfrHwiKPKR0JDzrdU2EFgpidawlFDR6FgXUMNa+g1FY3bUQh2cLCwosRdnuQTS/S+JVrGLeWIvtQUvONJxlqSQYYKpwoN2kaocLjdVsis4Mk80ESF2YpSkzwldjHkjFCUutI/r+EHDU8oCs6yzL3PhWiEooZdFMkymlas4AcI3KmoMMNSQ3tHzjGWCrcJJdYyZC7QFGwjRL9p+MrRkAGWzIaWCn9W0F3TsK01c2ZvQw0byvxuQU0r1lM0qJO7wW0kRIMdDTtXEdzi4VIh+EoIHm0mWtAtpCixlabgn83fKTI7anJe9ST7WIK1DMGpQmYeA58ImV6ezOGOzK2Kgq01pd60cKWiUi9Lievb/0vIDPHQ05Kzt4ddPckQBQtoaurjyHnek/nKzpQLrVgKPjIkh2v4uyezpv+Xoo7fPFXaGFp1vaLKxQ4uUpQQS5VuQs7BCq4xRJv7fwpVvvFEB3j+620haOuocqMhWd6TTPAEx+mdFNGHdranFe95WrWmIvlY4F1Dle2ECgc6cto7SryuqGGGha0tFQ5V53migUKmg6XKAo4qS3mik+0OZpAhOLeZKicacgaYcyx5hypYQE02ZA4xi/pNhOQxR4klNKyqacj+mpxnLTnnGSo85++3ZCZq6lrZkXlGEX3o+C9FieccJbZWVFjC0Yo1FZnJhoYMFoI1hEZ9r6hwg75HwzBNhbZCdJEfJwTPGzJvaKImw1yYX1HDAmpXR+ZJQ/SmgqMNVQb5vgamGwLtt7VwvP7Qk1xpiM5x5Cyv93E06MZmgs0Nya2azIKOYKCGBQQW97RmhKNKF02JZqHEJ4o58qp7X5EcZmc56trXEqzjCBZ1MFGR87Ql2tSTs6CGxS05PTzRQorkbw7aKoKXFDXsYW42VJih/q+FP2BdTzDTwVqOYB13liM50vG7wy28qagyuIXMeQI/Oqq8bcn5wJI50xH00CRntyfpL1T4hydYpoXgNiFzoIUTDZnLNRzh4TBHwbYGDvZkxmlyJloyr6tRihpeUG94GnKtIznREF0tzJG/OOr73JBcrSh1k6WuTprgLU+mnSGnv6Zge0NNz+kTDdH8nuAuTdJDCNb21LCiIuqlYbqGzT3RAoZofQfjFazkqeNWdYaGvYTM001EW2oKPvVk1ldUGSgUtHFwjKM1h9jnFcmy5lChoLNaQMGGDsYbKixlaMBmmsx1QjCfflwTfO/gckW0ruZ3jugKR3R5W9hGUWqCgxuFgsuaCHorotGKzGaeZB9DMsaTnKCpMtwTvOzhYk0rdrArKCqcaWmVk1+F372ur1YkKxgatI8Qfe1gIX9wE9FgS8ESmuABIXnRUbCapcKe+nO7slClSZFzpV/LkLncEb1qiO42fS3R855Su2mCLh62t1SYZZYVmKwIHjREF2uihTzB20JOkz7dkxzYQnK0UOU494wh+VWRc6Un2kpTaVgLDFEkJ/uhzRcI0YKGgpGWOlocBU/a4fKoJ/pEaNV6jip3+Es9VXY078rGnmAdf7t9ylPXS34RBSuYPs1UecZTU78WanhBCHpZ5sAoTz0LGZKjPf9TRypqWEiTvOFglL1fCEY3wY/++rbk7C8bWebA6p6om6PgOL2kp44TFJlVNBXae2rqqdZztOJpT87GQsE9jqCPIe9VReZuQ/CIgacsyZdCpIScSYqcZk8r+nsyCzhyfhOqHGOIvrLknC8wTpFcaYiGC/RU1NRbUeUpocQOnkRpGOrIOcNRx+1uA0UrzhSSt+VyS3SJpnFWkzNDqOFGIWcfR86DnmARTQ1HKIL33ExPiemeOhYSSjzlSUZZuE4TveoJLnBUOFof6KiysCbnAEcZgcUNTDOwkqWu3RWtmGpZwlHhJENdZ3miGz0lJlsKnjbwqSHQjpxnFDlTLLwqJPMZMjd7KrzkSG7VsxXBZE+F8YZkb01Oe00yyRK9psh5SYh29ySPKBo2ylNht7ZkZnsKenjKNJu9PNEyZpaCHv4Kt6RQsLvAVp7M9kIimmCUwGeWqLMmGuIotYMmWNpSahkhZw9FqZsVnKJhsjAHvtHMsTM9fCI06Dx/u3vfUXCqfsKRc4oFY2jMsoo/7DJDwZ1CsIKnJu+J9ldkpmiCxQx1rWjI+T9FwcWWzOuaYH0Hj7klNRVWEQpmaqosakiGNTFHdjS/qnUdmf0NJW5xsL0HhimCCZZSRzmSPTXJQ4aaztAwtZnoabebJ+htCaZ7Cm535ByoqXKbX1WRc4Eh2MkRXWzImVc96Cj4VdOKVxR84VdQsIUM8Psoou2byVHyZFuq7O8otbSQ2UAoeEWTudATLGSpZzVLlXVkPU2Jc+27lsw2jmg5T5VhbeE3BT083K9WsTTkFU/Osi0rC5lRlpwRHUiesNS0sOvmqGML1aRbPAxTJD9ZKtxuob+hhl8cwYGWpJ8nub7t5p6coYbMovZ1BTdaKn1jYD6h4GFDNFyT/Kqe1XCXphXHOKLZmuRSRdBPEfVUXQzJm5YGPGGJdvAEr7hHNdGZnuBvrpciGmopOLf5N0uVMy0FfYToJk90uUCbJupaVpO53UJXR2bVpoU00V2KOo4zMFrBd0Jtz2pa0clT5Q5L8IpQ177mWQejPMEJhuQjS10ref6HHjdEhy1P1EYR7GtO0uSsKJQYLiTnG1rVScj5lyazpqWGl5uBbRWl7m6ixGOOnEsMJR7z8J0n6KMnCdxhiNYQCoZ6CmYLnO8omC3MkW3bktlPmEt/VQQHejL3+dOE5FlPdK/Mq8hZxxJtLyRrepLThYKbLZxkSb5W52vYxNOaOxUF0yxMUPwBTYqCzy01XayYK0sJyWBLqX0MwU5CzoymRzV0EjjeUeLgDpTo6ij42ZAzvD01dHUUTPLU96MdLbBME8nFBn7zJCMtJcZokn8YoqU0FS5WFKyniHobguMcmW8N0XkWZjkyN3hqOMtS08r+/xTBwpZSZ3qiVRX8SzMHHjfUNFjgHEPmY9PL3ykEzxkSre/1ZD6z/NuznuB0RcE1TWTm9zRgfUWVJiG6yrzgmWPXC8EAR4Wxhlad0ZbgQyEz3pG5RVEwwDJH2mgKpjcTiCOzn1lfUWANFbZ2BA8balnEweJC9J0iuaeZoI+ippFCztEKVvckR2iice1JvhVytrQwUAZpgsubCPaU7xUe9vWnaOpaSBEspalykhC9bUlOMpT42ZHca6hyrqKmw/wMR8H5ZmdFoBVJb03O4UL0tSNnvIeRmkrLWqrs78gcrEn2tpcboh0UPOW3UUR9PMk4T4nnNKWmCjlrefhCwxRNztfmIQVdDElvS4m1/WuOujoZCs5XVOjtKPGokJzsYCtFYoWonSPT21DheU/wWhM19FcElwqNGOsp9Q8N/cwXaiND1MmeL1Q5XROtYYgGeFq1aTMsoMmcrKjQrOFQTQ1fmBYhmW6o8Jkjc7iDJRTBIo5kgJD5yMEYA3srCg7VFKwiVJkmRCc5ohGOKhsYMn/XBLdo5taZjlb9YAlGWRimqbCsoY7HFAXLa5I1HPRxMMsQDHFkWtRNniqT9UEeNjcE7RUlrCJ4R2CSJuqlKHWvJXjAUNcITYkenuBRB84TbeepcqTj3zZyFJzgYQdHnqfgI0ddUwS6GqWpsKWhjq9cV0vBAEMN2znq+EBfIWT+pClYw5xsTlJU6GeIBsjGmmANTzJZiIYpgrM0Oa8ZMjd7NP87jxhqGOhJlnQtjuQpB+8aEE00wZFznSJPyHxgH3HkPOsJFvYk8zqCHzTs1BYOa4J3PFU+UVRZxlHDM4YavlNUuMoRveiZA2d7grMNc2g+RbSCEKzmgYsUmWmazFJyoiOZ4KnyhKOGRzWJa0+moyV4TVHDzn51Awtqaphfk/lRQ08FX1iiqxTB/kLwd0VynKfEvI6cd4XMV5bMhZ7gZUWVzYQ6Nm2BYzxJbw3bGthEUUMfgbGeorae6DxHtJoZ6alhZ0+ytiVoK1R4z5PTrOECT/SugseEOlb1MMNR4VRNcJy+V1Hg9ONClSZFZjdHlc6W6FBLdJja2MC5hhpu0DBYEY1TFGwiFAxRRCsYkiM9JRb0JNMVkW6CZYT/2EiTGWmo8k+h4FhDNE7BvppoTSFnmCV5xZKzvcCdDo7VVPnIU+I+Rc68juApC90MwcFCsJ5hDqxgScYKreruyQwTqrzoqDCmhWi4IbhB0Yrt3RGa6GfDv52rKXWhh28dyZaWUvcZeMTBaZoSGyiCtRU5J8iviioHaErs7Jkj61syVzTTgOcUOQ8buFBTYWdL5g3T4qlpe0+wvD63heAXRfCCIed9RbCsp2CiI7raUOYOTU13N8PNHvpaGvayo4a3LLT1lDrVEPT2zLUlheB1R+ZTRfKWJ+dcocLJfi11vyJ51lLqJ0WD7tRwryezjiV5W28uJO9qykzX8JDe2lHl/9oyBwa2UMfOngpXCixvKdXTk3wrsKmiVYdZIqsoWEERjbcUNDuiaQomGoIbFdEHmsyWnuR+IeriKDVLnlawlyNHKwKlSU631PKep8J4Q+ayjkSLKYLhalNHlYvttb6fHm0p6OApsZ4l2VfdqZkjuysy6ysKLlckf1KUutCTs39bmCgEyyoasIWlVaMF7mgmWtBT8Kol5xpH9IGllo8cJdopcvZ2sImlDmMIbtDk3KIpeNiS08lQw11NFPTwVFlPP6pJ2gvRfI7gQUfmNAtf6Gs0wQxDsKGlVBdF8rCa3jzdwMaGHOsItrZk7hAyOzpK9VS06j5F49b0VNGOOfKs3lDToMsMBe9ZWtHFEgxTJLs7qrygKZjUnmCYoeAqeU6jqWuLJup4WghOdvCYJnrSkSzoyRkm5M2StQwVltPkfCAk58tET/CSg+8MUecmotMEnhBKfWBIZsg2ihruMJQaoIm+tkTLKEqspMh00w95gvFCQRtDwTT1gVDDSEVdlwqZfxoQRbK0g+tbiBZxzKlpnpypejdDwTaeOvorMk/IJE10h9CqRe28hhLbe0pMsdSwv4ZbhKivo2BjDWfL8UKJgeavwlwb5KlwhyE4u4XkGE2ytZCznKLCDZZq42VzT8HLCrpruFbIfOIINmh/qCdZ1ZBc65kLHR1Bkyf5zn6pN3SvGKIlFNGplhrO9QSXanLOMQTLCa0YJCRrCZm/CZmrLTm7WzCK4GJDiWUdFeYx1LCFg3NMd0XmCuF3Y5rITLDUsYS9zoHVzwnJoYpSTQoObyEzr4cFBNqYTopoaU/wkyLZ2lPhX/5Y95ulxGTV7KjhWrOZgl8MyUUafjYraNjNU1N3IWcjT5WzWqjwtoarHSUObGYO3GCJZpsBlnJGPd6ZYLyl1GdCA2625IwwJDP8GUKymbzuyPlZlvTUsaUh5zFDhRWFzPKKZLAlWdcQbObgF9tOqOsmB1dqcqYJmWstFbZRRI9poolmqiLnU0POvxScpah2iSL5UJNzgScY5+AuIbpO0YD3NCW+dLMszFSdFCWGqG6eVq2uYVNDdICGD6W7EPRWZEY5gpsE9rUkS3mijzzJnm6UpUFXG1hCUeVoS5WfNcFpblELL2qqrCvMvRfd45oalvKU2tiQ6ePJOVMRXase9iTtLJztPxJKLWpo2CRDcJwn2sWSLKIO1WQWNTCvpVUvOZhgSC40JD0dOctaSqzkCRbXsKlb11Oip6PCJ0IwSJM31j3akRxlP7Rwn6aGaUL0qiLnJkvB3xWZ2+Q1TfCwpQH3G0o92UzmX4o/oJNQMMSQc547wVHhdk+VCw01DFYEnTxzZKAm74QmeNNR1w6WzEhNK15VJzuCdxQ53dRUDws5KvwgBMOEgpcVNe0hZI6RXT1Jd0cyj5nsaEAHgVmGaJIlWdsc5Ui2ElrRR6jrRAttNMEAIWrTDFubkZaok7/AkzfIwfuWVq0jHzuCK4QabtLUMVPB3kJ0oyHTSVFlqMALilJf2Rf8k5aaHtMfayocLBS8L89oKoxpJvnAkDPa0qp5DAUTHKWmCcnthlou8iCKaFFLHWcINd1nyIwXqrSxMNmSs6KmoL2QrKuWtlQ5V0120xQ5vRyZS1rgFkWwhiOwiuQbR0OOVhQM9iS3tiXp4RawRPMp5tDletOOBL95MpM01dZTBM9pkn5qF010rIeHFcFZhmSGpYpTsI6nwhqe5C9ynhlpp5ophuRb6WcJFldkVnVEwwxVfrVkvnWUuNLCg5bgboFHPDlDPDmnK7hUrWiIbjadDclujlZcaokOFup4Ri1kacV6jmrrK1hN9bGwpKEBQ4Q6DvIUXOmo6U5LqQM6EPyiKNjVkPnJkDPNEaxhiFay5ExW1NXVUGqcpYYdPcGiCq7z/TSlbhL4pplWXKd7NZO5QQFrefhRQW/NHOsqcIglc4UhWklR8K0QzbAw08CBDnpbgqXdeD/QUsM4RZXDFBW6WJKe/mFPdH0LtBgiq57wFLzlyQzz82qYx5D5WJP5yVJDW01BfyHnS6HKO/reZqId1WGa4Hkh2kWodJ8i6KoIPlAj2hPt76CzXsVR6koPRzWTfKqIentatYpQw2me4AA3y1Kind3SwoOKZDcFXTwl9tWU6mfgRk9d71sKtlNwrjnYw5tC5n5LdKiGry3JKNlHEd3oaMCFHrazBPMp/uNJ+V7IudcSbeOIdjUEdwl0VHCOZo5t6YluEuaC9mQeMgSfOyKnYGFHcIeQ84yQWbuJYJpZw5CzglDH7gKnWqqM9ZTaXcN0TeYhR84eQtJT76JJ1lREe7WnnvsMmRc9FQ7SBBM9mV3lCUdmHk/S2RAMt0QjFNFqQpWjDPQ01DXWUdDBkXziKPjGEP3VP+zIWU2t7im41FOloyWzn/L6dkUy3VLDaZ6appgDLHPjJEsyvJngWEPUyVBiAaHCTEXwrLvSEbV1e1gKJniicWorC1MUrVjB3uDhJE/wgSOzk1DXpk0k73qCM8xw2UvD5kJmDUfOomqMpWCkJRlvKXGmoeBm18USjVIk04SClxTB6YrgLAPLWYK9HLUt5cmc0vYES8GnTeRc6skZbQkWdxRsIcyBRzx1DbTk9FbU0caTPOgJHhJKnOGIVhQqvKmo0llRw9sabrZkDtdg3PqaKi9oatjY8B+G371paMg6+mZFNNtQ04mWBq3rYLOmtWWQp8KJnpy9DdFensyjdqZ+yY40VJlH8wcdLzC8PZnvHMFUTZUrDTkLyQaGus5X5LzpYAf3i+e/ZlhqGqWhh6Ou6xTR9Z6oi5AZZtp7Mj2EEm8oSpxiYZCHU/1fbGdNNNRRoZMhmilEb2gqHOEJDtXkHK/JnG6IrvbPCwV3NhONVdS1thBMs1T4QOBcTWa2IzhMk2nW5Kyn9tXUtpv9RsG2msxk+ZsQzRQacJncpgke0+T8y5Fzj8BiGo7XlJjaTIlpQs7KFjpqGnKuoyEPeIKnFMkZHvopgh81ySxNFWvJWcKRs70j2FOT012IllEEO1n4pD1513Yg2ssQPOThOkvyrqHUdEXOSEsihmBbTbKX1kLBPWqWkLOqJbjB3GBIZmoa8qWl4CG/iZ7oiA72ZL7TJNeZUY7kFQftDcHHluBzRbCegzMtrRjVQpX2lgoPKKLJAkcbMl01XK2p7yhL8pCBbQ3BN2avJgKvttcrWDK3CiUOVxQ8ZP+pqXKyIxnmBymCg5vJjNfkPK4+c8cIfK8ocVt7kmfd/I5SR1hKvCzUtb+lhgc00ZaO6CyhIQP1Uv4yIZjload72PXX0OIJvnFU+0Zf6MhsJwTfW0r0UwQfW4LNLZl5HK261JCZ4qnBaAreVAS3WrjV0LBnNDUNNDToCEeFfwgcb4gOEqLRhirWkexrCEYKVV711DLYEE1XBEsp5tpTGjorkomKYF9FDXv7fR3BGwbettSxnyL53MBPjsxDZjMh+VUW9NRxq1DhVk+FSxQcaGjV9Pawv6eGByw5qzoy7xk4RsOShqjJwWKe/1pEEfzkobeD/dQJmpqedcyBTy2sr4nGNRH0c0SPWTLrqAc0OQcb/gemKgqucQT7ySWKCn2EUotoCvpZct7RO2sy/QW0IWcXd7pQRQyZVwT2USRO87uhjioTLKV2brpMUcMQRbKH/N2T+UlTpaMls6cmc6CCNy3JdYYSUzzJQ4oSD3oKLncULOiJvjBEC2oqnCJkJluCYy2ZQ5so9YYlZ1VLlQU1mXEW1jZERwj/MUSRc24TdexlqLKfQBtDTScJUV8FszXBEY5ktpD5Ur9hYB4Nb1iikw3JoYpkKX+RodRKFt53MMuRnKSpY31PwYaGaILh3wxJGz9TkTPEETxoCWZrgvOlmyMzxFEwVJE5xZKzvyJ4WxEc16Gd4Xe3Weq4XH2jKRikqOkGQ87hQnC7wBmGYLAnesX3M+S87eFATauuN+Qcrh7xIxXJbUIdMw3JGE3ylCWzrieaqCn4zhGM19TQ3z1oH1AX+pWEqIc7wNGAkULBo/ZxRaV9NNyh4Br3rCHZzbzmSfawBL0dNRwpW1kK9mxPXR9povcdrGSZK9c2k0xwFGzjuniCtRSZCZ6ccZ7gaktmgAOtKbG/JnOkJrjcQTdFMsxRQ2cLY3WTIrlCw1eWKn8R6pvt4GFDso3QoL4a3nLk3G6JrtME3dSenpx7PNFTmga0EaJTLQ061sEeQoWXhSo9LTXsaSjoJQRXeZLtDclbCrYzfzHHeaKjHCVOUkQHO3JeEepr56mhiyaYYKjjNU+Fed1wS5VlhWSqI/hYUdDOkaxiKehoyOnrCV5yBHtbWFqTHCCwtpDcYolesVR5yUzTZBb3RNMd0d6WP+SvhuBmRcGxnuQzT95IC285cr41cLGQ6aJJhmi4TMGempxeimBRQw1tFKV+8jd6KuzoSTqqDxzRtpZkurvKEHxlqXKRIjjfUNNXQsNOsRScoWFLT+YeRZVD3GRN0MdQcKqQjHDMrdGGVu3iYJpQx3WGUvfbmxwFfR20WBq0oYY7LMFhhgYtr8jpaEnaOzjawWWaTP8mMr0t/EPDPoqcnxTBI5o58L7uoWnMrpoqPwgVrlAUWE+V+TQl9rawoyP6QGAlQw2TPRX+YSkxyBC8Z6jhHkXBgQL7WII3DVFnRfCrBfxewv9D6xsyjys4VkhWb9pUU627JllV0YDNHMku/ldNMMXDEo4aFnAkk4U6frNEU4XgZUPmEKHUl44KrzmYamjAbh0JFvGnaTLPu1s9jPCwjFpYiN7z1DTOk/nc07CfDFzmCf7i+bfNHXhDtLeBXzTBT5rkMvWOIxpl4EMh2LGJBu2syDnAEx2naEhHDWMMzPZEhygyS1mS5RTJr5ZkoKbEUoYqr2kqdDUE8ztK7OaIntJkFrIECwv8LJTaVx5XJE86go8dFeZ3FN3rjabCAYpoYEeC9zzJVULBbmZhDyd7ko09ydpNZ3nm2Kee4FPPXHnYEF1nqOFEC08LUVcDvYXkJHW8gTaKCk9YGOeIJhqiE4ToPEepdp7IWFjdwnWaufGMwJJCMtUTTBBK9BGCOy2tGGrJTHIwyEOzp6aPzNMOtlZkDvcEWpP5SVNhfkvDxhmSazTJXYrM9U1E0xwFVwqZQwzJxw6+kGGGUj2FglGGmnb1/G51udRSMNlTw6GGnCcUwVcOpmsqTHa06o72sw1RL02p9z0VbnMLOaIX3QKaYKSCFQzBKEUNHTSc48k53RH9wxGMtpQa5KjjW0W0n6XCCCG4yxNNdhQ4R4l1Ff+2sSd6UFHiIEOyqqFgT01mEUMD+joy75jPhOA+oVVLm309FR4yVOlp4RhLiScNmSmaYF5Pw0STrOIoWMSR2UkRXOMp+M4SHW8o8Zoi6OZgjKOaFar8zZDzkWzvKOjkKBjmCXby8JahhjXULY4KlzgKLvAwxVGhvyd4zxB1d9T0piazmKLCVZY5sKiD0y2ZSYrkUEPUbIk+dlQ4SJHTR50k1DPaUWIdTZW9NJwnJMOECgd7ou/MnppMJ02O1VT4Wsh85MnZzcFTngpXGKo84qmwgKbCL/orR/SzJ2crA+t6Mp94KvxJUeIbT3CQu1uIdlQEOzlKfS3UMcrTiFmOuroocrZrT2AcmamOKg8YomeEKm/rlT2sociMaybaUlFhuqHCM2qIJ+rg4EcDFymiDSxzaHdPcpE62pD5kyM5SBMoA1PaUtfIthS85ig1VPiPPYXgYEMNk4Qq7TXBgo7oT57gPUdwgCHzhIVFPFU6OYJzHAX9m5oNrVjeE61miDrqQ4VSa1oiURTsKHC0IfjNwU2WzK6eqK8jWln4g15TVBnqmDteCJ501PGAocJhhqjZdtBEB6lnhLreFJKxmlKbeGrqLiSThVIbCdGzloasa6lpMQXHCME2boLpJgT7yWaemu6wBONbqGNVRS0PKIL7LckbjmQtR7K8I5qtqel+T/ChJTNIKLjdUMNIRyvOEko9YYl2cwQveBikCNawJKcLBbc7+JM92mysNvd/Fqp8a0k6CNEe7cnZrxlW0wQXaXjaktnRwNOGZKYiONwS7a1JVheq3WgJHlQUGKHKmp4KAxXR/ULURcNgoa4zhKSLpZR3kxRRb0NmD0OFn+UCS7CzI1nbP6+o4x47QZE5xRCt3ZagnYcvmpYQktXdk5YKXTzBC57kKEe0VVuiSYqapssMS3C9p2CKkHOg8B8Pa8p5atrIw3qezIWanMGa5HRDNF6RM9wcacl0N+Q8Z8hsIkSnaIIdHRUOEebAPy1zbCkhM062FCJtif7PU+UtoVXzWKqM1PxXO8cfdruhFQ/a6x3JKYagvVDhQEtNiyiiSQ7OsuRsZUku0CRNDs4Sog6KKjsZgk2bYJqijgsEenoKeniinRXBn/U3lgpPdyDZynQx8IiioMnCep5Ky8mjGs6Wty0l1hUQTcNWswS3WRp2kCNZwJG8omG8JphPUaFbC8lEfabwP7VtM9yoaNCAjpR41VNhrD9LkbN722v0CoZMByFzhaW+MyzRYEWFDQwN2M4/JiT76PuljT3VU/A36eaIThb+R9oZGOAJ9tewkgGvqOMNRWYjT/Cwu99Q8LqDE4TgbLWxJ1jaDDAERsFOFrobgjUsBScaguXU8kKm2RL19tRypSHnHNlHiIZqgufs4opgQdVdwxBNNFBR6kVFqb8ogimOzB6a6HTzrlDHEpYaxjiiA4TMQobkDg2vejjfwJGWmnbVFAw3H3hq2NyQfG7hz4aC+w3BbwbesG0swYayvpAs6++Ri1Vfzx93mFChvyN5xVHTS+0p9aqCAxyZ6ZacZyw5+7uuQkFPR9DDk9NOiE7X1PCYJVjVUqq7JlrHwWALF5nfHNGjApdpqgzx5OwilDhCiDYTgnc9waGW4BdLNNUQvOtpzDOWHDH8D7TR/A/85KljEQu3NREc4Pl/6B1Hhc8Umb5CsKMmGC9EPcxoT2amwHNCmeOEnOPbklnMkbOgIvO5UMOpQrS9UGVdt6iH/fURjhI/WOpaW9OKLYRod6HCUEdOX000wpDZQ6hwg6LgZfOqo1RfT/CrJzjekXOGhpc1VW71ZLbXyyp+93ILbC1kPtIEYx0FIx1VDrLoVzXRKRYWk809yYlC9ImcrinxtabKnzRJk3lAU1OLEN1j2zrYzr2myHRXJFf4h4QKT1qSTzTB5+ZNTzTRkAxX8FcLV2uS8eoQQ2aAkFzvCM72sJIcJET3WPjRk5wi32uSS9rfZajpWEvj9hW42F4o5NytSXYy8IKHay10VYdrcl4SkqscrXpMwyGOgtkajheSxdQqmpxP1L3t4R5PqasFnrQEjytq6qgp9Y09Qx9o4S1FzhUCn1kyHSzBWLemoSGvOqLNhZyBjmCaAUYpMgt4Ck7wBBMMwWKWgjsUwTaGVsxWC1mYoKiyqqeGKYqonSIRQ3KIkHO0pmAxTdBHkbOvfllfr+AA+7gnc50huVKYK393FOyg7rbPO/izI7hE4CnHHHnJ0ogNPRUGeUpsrZZTBJcrovUcJe51BPsr6GkJdhCCsZ6aTtMEb2pqWkqeVtDXE/QVggsU/Nl86d9RMF3DxvZTA58agu810RWawCiSzzXBeU3MMW9oyJUedvNEvQyNu1f10BSMddR1vaLCYpYa/mGocLSiYDcLbQz8aMn5iyF4xBNMs1P0QEOV7o5gaWGuzSeLue4tt3ro7y4Tgm4G/mopdZgl6q0o6KzJWE3mMksNr3r+a6CbT8g5wZNzT9O7fi/zpaOmnz3BRoqos+tv9zMbdpxsqDBOEewtJLt7cg5wtKKbvldpSzRRCD43VFheCI7yZLppggMVBS/KMAdHODJvOwq2NQSbKKKPLdFWQs7Fqo+mpl01JXYRgq8dnGLhTiFzqmWsUMdpllZdbKlyvSdYxhI9YghOtxR8LgSLWHK62mGGVoxzBE8LNWzqH9CUesQzFy5RQzTc56mhi6fgXEWwpKfE5Z7M05ZgZUPmo6auiv8YKzDYwWBLMErIbKHJvOwIrvEdhOBcQ9JdU1NHQ7CXn2XIDFBKU2WAgcX9UAUzDXWd5alwuyJ41Z9rjKLCL4aCp4WarhPm2rH+SaHUYE001JDZ2ZAzXPjdMpZWvC9wmqIB2lLhQ01D5jO06hghWMndbM7yRJMsoCj1vYbnFQVrW9jak3OlEJ3s/96+p33dEPRV5GxiqaGjIthUU6FFEZyqCa5qJrpBdzSw95IUnOPIrCUUjRZQFrbw5PR0R1qiYx3cb6nrWUMrBmmiBQxVHtTew5ICP/ip6g4hed/Akob/32wvBHsIOX83cI8hGeNeNPCIkPmXe8fPKx84OMSRM1MTdXSwjCZ4S30jVGhvqTRak/OVhgGazHuOCud5onEO1lJr6ecVyaOK6H7zqlBlIaHE0oroCgfvGJIdPcmfLNGLjpz7hZwZQpUbFME0A1cIJa7VNORkgfsMBatbKgwwJM9bSvQXeNOvbIjelg6WWvo5kvbKaJJNHexkKNHL9xRyFlH8Ti2riB5wVPhUk7nGkJnoCe428LR/wRGdYIlmWebCyxou1rCk4g/ShugBDX0V0ZQWkh0dOVsagkM0yV6OoLd5ye+pRlsCr0n+KiQrGuq5yJDzrTAXHtLUMduTDBVKrSm3eHL+6ijxhFDX9Z5gVU/wliHYTMiMFpKLNMEywu80wd3meoFmt6VbRMPenhrOc6DVe4pgXU8DnnHakLOIIrlF4FZPIw6R+zxBP0dyq6OOZ4Q5sLKCcz084ok+VsMMyQhNZmmBgX5xIXOEJTmi7VsGTvMTNdHHhpzdbE8Du2oKxgvBqQKdDDnTFOylCFaxR1syz2iqrOI/FEpNc3C6f11/7+ASS6l2inq2ciTrCCzgyemrCL5SVPjQkdPZUmGy2c9Sw9FtR1sS30RmsKPCS4rkIC/2U0MduwucYolGaPjKEyhzmiPYXagyWbYz8LWBDdzRimAXzxx4z8K9hpzlhLq+NiQ97HuKorMUfK/OVvC2JfiHUPCQI/q7J2gjK+tTDNxkCc4TMssqCs4TGtLVwQihyoAWgj9bosU80XGW6Ac9TJGziaUh5+hnFcHOnlaM1iRn29NaqGENTTTSUHCH2tWTeV0osUhH6psuVLjRUmGWhm6OZEshGeNowABHcJ2Bpy2ZszRcKkRXd2QuKVEeXnbfaEq825FguqfgfE2whlChSRMdron+LATTPQ2Z369t4B9C5gs/ylzv+CMmepIDPclFQl13W0rspPd1JOcbghGOEutqCv5qacURQl3dDKyvyJlqKXGPgcM9FfawJAMVmdcspcYKOZc4GjDYkFlK05olNMHyHn4zFNykyOxt99RkHlfwmiHo60l2EKI+mhreEKp080Tbug08BVPcgoqC5zWt+NLDTZ7oNSF51N1qie7Va3uCCwyZbkINf/NED6jzOsBdZjFN8oqG3wxVunqCSYYKf3EdhJyf9YWGf7tRU2oH3VHgPr1fe5J9hOgHd7xQ0y7qBwXr23aGErP0cm64JVjZwsOGqL+mhNgZmhJLW2oY4UhedsyBgzrCKrq7BmcpNVhR6jBPq64Vgi+kn6XE68pp8J5/+0wRHGOpsKenQn9DZntPzjRLZpDAdD2fnSgkG9tmIXnUwQ6WVighs7Yi2MxQ0N3CqYaCXkJ0oyOztMDJjmSSpcpvlrk0RMMOjmArQ04PRV1DO1FwhCVaUVPpKUM03JK5SxPsIWRu8/CGHi8UHChiqGFDTbSRJWeYUDDcH6vJWUxR4k1FXbMUwV6e4AJFXS8oMqsZKqzvYQ9DDQdZckY4aGsIhtlubbd2r3j4QBMoTamdPZk7O/Bf62lacZwneNjQoGcdVU7zJOd7ghsUHOkosagic6cnWc8+4gg285R6zZP5s1/LUbCKIznTwK36PkdwlOrl4U1LwfdCCa+IrvFkmgw1PCAUXKWo0sURXWcI2muKJlgyFzhynCY4RBOsqCjoI1R5zREco0n2Vt09BQtYSizgKNHfUmUrQ5UOCh51BFcLmY7umhYqXKQomOop8bUnWNNQcIiBcYaC6xzMNOS8JQQfeqKBmmglB+97ok/lfk3ygaHSyZaCRTzRxQo6GzLfa2jWBPepw+UmT7SQEJyiyRkhBLMVOfcoMjcK0eZChfUNzFAUzCsEN5vP/X1uP/n/aoMX+K+nw/Hjr/9xOo7j7Pju61tLcgvJpTWXNbfN5jLpi6VfCOviTktKlFusQixdEKWmEBUKNaIpjZRSSOXSgzaaKLdabrm1/9nZ+/f+vd/vz/v9+Xy+zZ7PRorYoZqyLrCwQdEAixxVOEXNNnjX2nUSRlkqGmWowk8lxR50JPy9Bo6qJXaXwNvREBvnThPEPrewryLhcAnj5WE15Fqi8W7R1sAuEu86S4ENikItFN4xkv9Af4nXSnUVcLiA9xzesFpivRRVeFKtsMRaKBhuSbjOELnAUtlSQUpXgdfB4Z1oSbnFEetbQ0IrAe+Y+pqnDcEJFj6S8LDZzZHwY4e3XONNlARraomNEt2bkvGsosA3ioyHm+6jCMbI59wqt4eeara28IzEmyPgoRaUOEDhTVdEJhmCoTWfC0p8aNkCp0oYqih2iqGi4yXeMkOsn4LdLLnmKfh/YogjNsPebeFGR4m9BJHLzB61XQ3BtpISfS2FugsK9FAtLWX1dCRcrCnUp44CNzuCowUZmxSRgYaE6Za0W2u/E7CVXCiI/UOR8aAm1+OSyE3mOUcwyc1zBBeoX1kiKy0Zfxck1Gsyulti11i83QTBF5Kg3pDQThFMVHiPSlK+0cSedng/VaS8bOZbtsBcTcZAR8JP5KeqQ1OYKAi20njdNNRpgnsU//K+JnaXJaGTomr7aYIphoRn9aeShJWKEq9LcozSF7QleEfDI5LYm5bgVkFkRwVDBCVu0DDIkGupo8TZBq+/pMQURYErJQmPKGKjNDkWOLx7Jd5QizdUweIaKrlP7SwJDhZvONjLkOsBBX9UpGxnydhXkfBLQ8IxgojQbLFnJf81JytSljclYYyEFyx0kVBvKWOFJmONpshGAcsduQY5giVNCV51eOdJYo/pLhbvM0uDHSevNKRcrKZIqnCtJeEsO95RoqcgGK4ocZcho1tTYtcZvH41pNQ7vA0WrhIfOSraIIntIAi+NXWCErdbkvrWwjRLrt0NKUdL6KSOscTOdMSOUtBHwL6OLA0vNSdynaWQEnCpIvKaIrJJEbvHkmuNhn6OjM8VkSGSqn1uYJCGHnq9I3aLhNME3t6GjIkO7xrNFumpyTNX/NrwX7CrIRiqqWijI9JO4d1iieykyfiposQIQ8YjjsjlBh6oHWbwRjgYJQn2NgSnNycmJAk3NiXhx44Sxykihxm8ybUwT1OVKySc7vi3OXVkdBJ4AyXBeksDXG0IhgtYY0lY5ahCD0ehborIk5aUWRJviMA7Xt5kyRjonrXENkm8yYqgs8VzgrJmClK20uMM3jRJ0FiQICQF9hdETlLQWRIb5ki6WDfWRPobvO6a4GP5mcOrNzDFELtTkONLh9dXE8xypEg7z8A9jkhrQ6Fhjlg/QVktJXxt4WXzT/03Q8IaQWSqIuEvloQ2mqC9Jfi7wRul4RX3pSPlzpoVlmCtI2jvKHCFhjcM3sN6lqF6HxnKelLjXWbwrpR4xzuCrTUZx2qq9oAh8p6ixCUGr78g8oyjRAtB5CZFwi80VerVpI0h+IeBxa6Zg6kWvpDHaioYYuEsRbDC3eOmC2JvGYLeioxGknL2UATNJN6hmtj1DlpLvDVmocYbrGCVJKOrg4X6DgddLA203BKMFngdJJFtFd7vJLm6KEpc5yjQrkk7M80SGe34X24nSex1Ra5Omgb71JKyg8SrU3i/kARKwWpH0kOGhKkObyfd0ZGjvyXlAkVZ4xRbYJ2irFMkFY1SwyWxr2oo4zlNiV+7zmaweFpT4kR3kaDAFW6xpSqzJay05FtYR4HmZhc9UxKbbfF2V8RG1MBmSaE+kmC6JnaRXK9gsiXhJHl/U0qM0WTcbyhwkYIvFGwjSbjfwhiJt8ZSQU+Bd5+marPMOkVkD0muxYLIfEuhh60x/J92itguihJSEMySVPQnTewnEm+620rTQEMsOfo4/kP/0ARvWjitlpSX7GxBgcMEsd3EEeYWvdytd+Saawi6aCIj1CkGb6Aj9rwhx16Cf3vAwFy5pyLhVonXzy51FDpdEblbkdJbUcEPDEFzQ8qNmhzzLTmmKWKbFCXeEuRabp6rxbvAtLF442QjQ+wEA9eL1xSR7Q0JXzlSHjJ4exq89yR0laScJ/FW6z4a73pFMEfDiRZvuvijIt86RaSFOl01riV2mD1UEvxGk/Geg5aWwGki1zgKPG9J2U8PEg8qYvMsZeytiTRXBMslCU8JSlxi8EabjwUldlDNLfzTUmCgxWsjqWCOHavYAqsknKFIO0yQ61VL5AVFxk6WhEaCAkdJgt9aSkzXlKNX2jEa79waYuc7gq0N3GDJGCBhoiTXUEPsdknCUE1CK0fwsiaylSF2uiDyO4XX3pFhNd7R4itFGc0k/ElBZwWvq+GC6szVeEoS/MZ+qylwpKNKv9Z469UOjqCjwlusicyTxG6VpNxcQ8IncoR4RhLbR+NdpGGmJWOcIzJGUuKPGpQg8rrG21dOMqQssJQ4RxH5jaUqnZuQ0F4Q+cjxLwPtpZbIAk3QTJHQWBE5S1BokoVtDd6lhqr9UpHSUxMcIYl9pojsb8h4SBOsMQcqvOWC2E8EVehqiJ1hrrAEbQxeK0NGZ0Gkq+guSRgniM23bIHVkqwx4hiHd7smaOyglyIyQuM978j4VS08J/A2G1KeMBRo4fBaSNhKUEZfQewVQ/C1I+MgfbEleEzCUw7mKXI0M3hd1EESVji8x5uQ41nxs1q4RMJCCXs7Iq9acpxn22oSDnQ/sJTxsCbHIYZiLyhY05TY0ZLIOQrGaSJDDN4t8pVaIrsqqFdEegtizc1iTew5Q4ayBDMUsQMkXocaYkc0hZua412siZ1rSXlR460zRJ5SlHGe5j801RLMlJTxtaOM3Q1pvxJ45zUlWFD7rsAbpfEm1JHxG0eh8w2R7QQVzBUw28FhFp5QZzq8t2rx2joqulYTWSuJdTYfWwqMFMcovFmSyJPNyLhE4E10pHzYjOC3huArRa571ZsGajQpQx38SBP5pyZB6lMU3khDnp0MBV51BE9o2E+TY5Ml2E8S7C0o6w1xvCZjf0HkVEHCzFoyNmqC+9wdcqN+Tp7jSDheE9ws8Y5V0NJCn2bk2tqSY4okdrEhx1iDN8cSudwepWmAGXKcJXK65H9to8jYQRH7SBF01ESUJdd0TayVInaWhLkOjlXE5irKGOnI6GSWGCJa482zBI9rCr0jyTVcEuzriC1vcr6mwFGSiqy5zMwxBH/TJHwjSPhL8+01kaaSUuMFKTcLEvaUePcrSmwn8DZrgikWb7CGPxkSjhQwrRk57tctmxLsb9sZvL9LSlyuSLlWkqOjwduo8b6Uv1DkmudIeFF2dHCgxVtk8dpIvHpBxhEOdhKk7OLIUSdJ+cSRY57B+0DgGUUlNfpthTfGkauzxrvTsUUaCVhlKeteTXCoJDCa2NOKhOmC4G1H8JBd4OBZReSRGkqcb/CO1PyLJTLB4j1q8JYaIutEjSLX8YKM+a6phdMsdLFUoV5RTm9JSkuDN8WcIon0NZMNZWh1q8C7SJEwV5HxrmnnTrf3KoJBlmCYI2ilSLlfEvlE4011NNgjgthzEua0oKK7JLE7HZHlEl60BLMVFewg4EWNt0ThrVNEVkkiTwpKXSWJzdRENgvKGq4IhjsiezgSFtsfCUq8qki5S1LRQeYQQ4nemmCkImWMw3tFUoUBZk4NOeZYEp4XRKTGa6wJjrWNHBVJR4m3FCnbuD6aak2WsMTh3SZImGCIPKNgsDpVwnsa70K31lCFJZYcwwSMFcQulGTsZuEaSdBXkPGZhu0FsdUO73RHjq8MPGGIfaGIbVTk6iuI3GFgucHrIQkmWSJdBd7BBu+uOryWAhY7+Lki9rK5wtEQzWwvtbqGhIMFwWRJsElsY4m9IIg9L6lCX0VklaPAYkfkZEGDnOWowlBJjtMUkcGK4Lg6EtoZInMUBVYLgn0UsdmCyCz7gIGHFfk+k1QwTh5We7A9x+IdJ6CvIkEagms0hR50eH9UnTQJ+2oiKyVlLFUE+8gBGu8MQ3CppUHesnjTHN4QB/UGPhCTHLFPHMFrCqa73gqObUJGa03wgbhHkrCfpEpzNLE7JDS25FMKhlhKKWKfCgqstLCPu1zBXy0J2ztwjtixBu8UTRn9LVtkmCN2iyFhtME70JHRQ1KVZXqKI/KNIKYMCYs1GUMEKbM1bKOI9LDXC7zbHS+bt+1MTWS9odA9DtrYtpbImQJ2VHh/lisEwaHqUk1kjKTAKknkBEXkbkdMGwq0dnhzLJF3NJH3JVwrqOB4Sca2hti75nmJN0WzxS6UxDYoEpxpa4htVlRjkYE7DZGzJVU72uC9IyhQL4i8YfGWSYLLNcHXloyz7QhNifmKSE9JgfGmuyLhc403Xm9vqcp6gXe3xuuv8F6VJNxkyTHEkHG2g0aKXL0MsXc1bGfgas2//dCONXiNLCX+5mB7eZIl1kHh7ajwpikyzlUUWOVOsjSQlsS+M0R+pPje/dzBXRZGO0rMtgQrLLG9VSu9n6CMXS3BhwYmSoIBhsjNBmZbgusE9BCPCP5triU4VhNbJfE+swSP27aayE8tuTpYYjtrYjMVGZdp2NpS1s6aBnKSHDsbKuplKbHM4a0wMFd/5/DmGyKrJSUaW4IBrqUhx0vyfzTBBLPIUcnZdrAkNsKR0sWRspumSns6Ch0v/qqIbBYUWKvPU/CFoyrDJGwSNFhbA/MlzKqjrO80hRbpKx0Jewsi/STftwGSlKc1JZyAzx05dhLEdnfQvhZOqiHWWEAHC7+30FuRcZUgaO5gpaIK+xsiHRUsqaPElTV40xQZQ107Q9BZE1nryDVGU9ZSQ47bmhBpLcYpUt7S+xuK/FiT8qKjwXYw5ypS2iuCv7q1gtgjhuBuB8LCFY5cUuCNtsQOFcT+4Ih9JX+k8Ea6v0iCIRZOtCT0Et00JW5UeC85Cg0ScK0k411HcG1zKtre3SeITBRk7WfwDhEvaYLTHP9le0m8By0JDwn4TlLW/aJOvGHxdjYUes+ScZigCkYQdNdEOhkiezgShqkx8ueKjI8lDfK2oNiOFvrZH1hS+tk7NV7nOmLHicGWEgubkXKdwdtZknCLJXaCpkrjZBtLZFsDP9CdxWsSr05Sxl6CMmoFbCOgryX40uDtamB7SVmXW4Ihlgpmq+00tBKUUa83WbjLUNkzDmY7cow1JDygyPGlhgGKYKz4vcV7QBNbJIgM11TUqZaMdwTeSguH6rOaw1JRKzaaGyxVm2EJ/uCIrVWUcZUkcp2grMsEjK+DMwS59jQk3Kd6SEq1d0S6uVmO4Bc1lDXTUcHjluCXEq+1OlBDj1pi9zgiXxnKuE0SqTXwhqbETW6RggMEnGl/q49UT2iCzgJvRwVXS2K/d6+ZkyUl7jawSVLit46EwxVljDZwoSQ20sDBihztHfk2yA8NVZghiXwrYHQdfKAOtzsayjhY9bY0yE2CWEeJ9xfzO423xhL5syS2TFJofO2pboHob0nY4GiAgRrvGQEDa/FWSsoaaYl0syRsEt3kWoH3B01shCXhTUWe9w3Bt44SC9QCh3eShQctwbaK2ApLroGCMlZrYqvlY3qYhM0aXpFkPOuoqJ3Dm6fxXrGwVF9gCWZagjPqznfkuMKQ8DPTQRO8ZqG1hPGKEm9IgpGW4DZDgTNriTxvFiq+Lz+0cKfp4wj6OCK9JSnzNSn9LFU7UhKZZMnYwcJ8s8yRsECScK4j5UOB95HFO0CzhY4xJxuCix0lDlEUeMdS6EZBkTsUkZ4K74dugyTXS7aNgL8aqjDfkCE0ZbwkCXpaWCKhl8P7VD5jxykivSyxyZrYERbe168LYu9ZYh86IkscgVLE7tWPKmJv11CgoyJltMEbrohtVAQfO4ImltiHEroYEs7RxAarVpY8AwXMcMReFOTYWe5iiLRQxJ5Q8DtJ8LQhWOhIeFESPGsILhbNDRljNbHzNRlTFbk2S3L0NOS6V1KFJYKUbSTcIIhM0wQ/s2TM0SRMNcQmSap3jCH4yhJZKSkwyRHpYYgsFeQ4U7xoCB7VVOExhXepo9ABBsYbvGWKXPME3lyH95YioZ0gssQRWWbI+FaSMkXijZXwgiTlYdPdkNLaETxlyDVIwqeaEus0aTcYcg0RVOkpR3CSJqIddK+90JCxzsDVloyrFd5ZAr4TBKfaWa6boEA7C7s6EpYaeFPjveooY72mjIccLHJ9HUwVlDhKkmutJDJBwnp1rvulJZggKDRfbXAkvC/4l3ozQOG9a8lxjx0i7nV4jSXc7vhe3OwIxjgSHjdEhhsif9YkPGlus3iLFDnWOFhtCZbJg0UbQcIaR67JjthoCyMEZRwhiXWyxO5QxI6w5NhT4U1WsJvDO60J34fW9hwzwlKij6ZAW9ne4L0s8C6XeBMEkd/LQy1VucBRot6QMlbivaBhoBgjqGiCJNhsqVp/S2SsG6DIONCR0dXhvWbJ+MRRZJkkuEjgDXJjFQW6SSL7GXK8Z2CZg7cVsbWGoKmEpzQ5elpiy8Ryg7dMkLLUEauzeO86CuwlSOlgYLojZWeJ9xM3S1PWfEfKl5ISLQ0MEKR8YOB2QfCxJBjrKPCN4f9MkaSsqoVXJBmP7EpFZ9UQfOoOFwSzBN4MQ8LsGrymlipcJQhmy0GaQjPqCHaXRwuCZwRbqK2Fg9wlClZqYicrIgMdZfxTQ0c7TBIbrChxmuzoKG8XRaSrIhhiyNFJkrC7oIAWMEOQa5aBekPCRknCo4IKPrYkvCDI8aYmY7WFtprgekcJZ3oLIqssCSMtFbQTJKwXYy3BY5oCh2iKPCpJOE+zRdpYgi6O2KmOAgvVCYaU4ySRek1sgyFhJ403QFHiVEmJHwtybO1gs8Hr5+BETQX3War0qZngYGgtVZtoqd6vFSk/UwdZElYqyjrF4HXUeFspIi9IGKf4j92pKGAdCYMVsbcV3kRF0N+R8LUd5PCsIGWoxDtBkCI0nKofdJQxT+LtZflvuc8Q3CjwWkq8KwUpHzkK/NmSsclCL0nseQdj5FRH5CNHSgtLiW80Of5HU9Hhlsga9bnBq3fEVltKfO5IaSTmGjjc4J0otcP7QsJUSQM8pEj5/wCuUuC2DWz8AAAAAElFTkSuQmCC")}',""])},JnrT:function(e,t,r){var o,n,i,a;a=function(e,t){"use strict";var r,o,n="function"==typeof Map?new Map:(r=[],o=[],{has:function(e){return r.indexOf(e)>-1},get:function(e){return o[r.indexOf(e)]},set:function(e,t){-1===r.indexOf(e)&&(r.push(e),o.push(t))},delete:function(e){var t=r.indexOf(e);t>-1&&(r.splice(t,1),o.splice(t,1))}}),i=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){i=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function a(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!n.has(e)){var t,r=null,o=null,a=null,s=function(){e.clientWidth!==o&&d()},c=function(t){window.removeEventListener("resize",s,!1),e.removeEventListener("input",d,!1),e.removeEventListener("keyup",d,!1),e.removeEventListener("autosize:destroy",c,!1),e.removeEventListener("autosize:update",d,!1),Object.keys(t).forEach(function(r){e.style[r]=t[r]}),n.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",c,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",d,!1),window.addEventListener("resize",s,!1),e.addEventListener("input",d,!1),e.addEventListener("autosize:update",d,!1),e.style.overflowX="hidden",e.style.wordWrap="break-word",n.set(e,{destroy:c,update:d}),"vertical"===(t=window.getComputedStyle(e,null)).resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),r="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(r)&&(r=0),d()}function l(t){var r=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=r,e.style.overflowY=t}function u(){if(0!==e.scrollHeight){var t=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(e),n=document.documentElement&&document.documentElement.scrollTop;e.style.height="",e.style.height=e.scrollHeight+r+"px",o=e.clientWidth,t.forEach(function(e){e.node.scrollTop=e.scrollTop}),n&&(document.documentElement.scrollTop=n)}}function d(){u();var t=Math.round(parseFloat(e.style.height)),r=window.getComputedStyle(e,null),o="content-box"===r.boxSizing?Math.round(parseFloat(r.height)):e.offsetHeight;if(o>e/4).toString(16)}),index:0}},beforeDestroy:function(){this.cleanUp()},mounted:function(){var e=this;Nova.$on(this.field.attribute+"-value",function(t){e.value=t,e.index++})},methods:{handleChange:function(e){this.value=e,this.$emit("field-changed")},fill:function(e){e.append(this.field.attribute,this.value||""),e.append(this.field.attribute+"DraftId",this.draftId)},handleFileAdd:function(e){var t=e.attachment;t.file&&this.uploadAttachment(t)},uploadAttachment:function(e){var t=this,r=new FormData;r.append("Content-Type",e.file.type),r.append("attachment",e.file),r.append("draftId",this.draftId),Nova.request().post("/nova-api/"+this.resourceName+"/trix-attachment/"+this.field.attribute,r,{onUploadProgress:function(t){e.setUploadProgress(Math.round(100*t.loaded/t.total))}}).then(function(t){var r=t.data.url;return e.setAttributes({url:r,href:r})}).catch(function(e){t.$toasted.show(__("An error occured while uploading your file."),{type:"error"})})},handleFileRemove:function(e){var t=e.attachment.attachment;Nova.request().delete("/nova-api/"+this.resourceName+"/trix-attachment/"+this.field.attribute,{params:{attachmentUrl:t.attributes.values.url}}).then(function(e){}).catch(function(e){})},cleanUp:function(){this.field.withFiles&&Nova.request().delete("/nova-api/"+this.resourceName+"/trix-attachment/"+this.field.attribute+"/"+this.draftId).then(function(e){}).catch(function(e){})}},computed:{defaultAttributes:function(){return{placeholder:this.field.placeholder||this.field.name}},extraAttributes:function(){var e=this.field.extraAttributes;return(0,o.default)({},this.defaultAttributes,e)}}}},K7IC:function(e,t,r){"use strict";var o=r("4oCz"),n=r("7BgP"),i=r("40Wg"),a=r("UoVS");function s(e){var t=new i(e),r=n(i.prototype.request,t);return o.extend(r,i.prototype,t),o.extend(r,t),r}var c=s(a);c.Axios=i,c.create=function(e){return s(o.merge(a,e))},c.Cancel=r("Lc+h"),c.CancelToken=r("tPLS"),c.isCancel=r("Mpsm"),c.all=function(e){return Promise.all(e)},c.spread=r("AglC"),e.exports=c,e.exports.default=c},KAsS:function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{"fill-rule":"nonzero",d:"M6 4V2a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2h5a1 1 0 0 1 0 2h-1v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6H1a1 1 0 1 1 0-2h5zM4 6v12h12V6H4zm8-2V2H8v2h4zM8 8a1 1 0 0 1 1 1v6a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1zm4 0a1 1 0 0 1 1 1v6a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1z"}})},staticRenderFns:[]}},KBf1:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-midnight .CodeMirror-activeline-background{background:#253540}.cm-s-midnight.CodeMirror{background:#0f192a;color:#d1edff}.cm-s-midnight div.CodeMirror-selected{background:#314d67}.cm-s-midnight .CodeMirror-line::selection,.cm-s-midnight .CodeMirror-line>span::selection,.cm-s-midnight .CodeMirror-line>span>span::selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-line::-moz-selection,.cm-s-midnight .CodeMirror-line>span::-moz-selection,.cm-s-midnight .CodeMirror-line>span>span::-moz-selection{background:rgba(49,77,103,.99)}.cm-s-midnight .CodeMirror-gutters{background:#0f192a;border-right:1px solid}.cm-s-midnight .CodeMirror-guttermarker{color:#fff}.cm-s-midnight .CodeMirror-guttermarker-subtle,.cm-s-midnight .CodeMirror-linenumber{color:#d0d0d0}.cm-s-midnight .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-midnight span.cm-comment{color:#428bdd}.cm-s-midnight span.cm-atom{color:#ae81ff}.cm-s-midnight span.cm-number{color:#d1edff}.cm-s-midnight span.cm-attribute,.cm-s-midnight span.cm-property{color:#a6e22e}.cm-s-midnight span.cm-keyword{color:#e83737}.cm-s-midnight span.cm-string{color:#1dc116}.cm-s-midnight span.cm-variable,.cm-s-midnight span.cm-variable-2{color:#ffaa3e}.cm-s-midnight span.cm-def{color:#4dd}.cm-s-midnight span.cm-bracket{color:#d1edff}.cm-s-midnight span.cm-tag{color:#449}.cm-s-midnight span.cm-link{color:#ae81ff}.cm-s-midnight span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-midnight .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},KFjZ:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","resourceId","field"]}},KGj5:function(e,t,r){var o=r("VU/8")(r("tDi6"),r("kwcr"),!1,null,null,null);e.exports=o.exports},KUPZ:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resource","resourceName","resourceId"]}},KbsS:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{stacked:{type:Boolean,default:!1}}}},KdqA:function(e,t,r){var o=r("VU/8")(r("KUPZ"),r("Qsdw"),!1,null,null,null);e.exports=o.exports},KiKW:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("Xxa5")),n=a(r("exGp")),i=r("vilh");function a(e){return e&&e.__esModule?e:{default:e}}t.default={metaInfo:function(){return{title:""+this.label}},data:function(){return{label:"",cards:""}},props:{name:{type:String,required:!1,default:"main"}},watch:{name:function(){this.fetchDashboard()}},created:function(){this.fetchDashboard()},methods:{fetchDashboard:function(){var e=(0,n.default)(o.default.mark(function e(){var t,r,n,i,a=this;return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Nova.request().get(this.dashboardEndpoint,{params:this.extraCardParams}).catch(function(e){a.$router.push({name:"404"})});case 2:t=e.sent,r=t.data,n=r.label,i=r.cards,this.label=n,this.cards=i;case 8:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},computed:{dashboardEndpoint:function(){return"/nova-api/dashboards/"+this.name},shouldShowCards:function(){return this.cards.length>0},smallCards:function(){return _.filter(this.cards,function(e){return-1!==i.CardSizes.indexOf(e.width)})},largeCards:function(){return _.filter(this.cards,function(e){return"full"==e.width})},extraCardParams:function(){return null}}}},Kl7s:function(e,t){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},KmWZ:function(e,t,r){var o=r("duB3");e.exports=function(){this.__data__=new o,this.size=0}},KoEH:function(e,t,r){var o=r("VHa8");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("2353d6c8",o,!0,{})},Kwis:function(e,t,r){var o=r("XsBG");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("5e086509",o,!0,{})},Kzd6:function(e,t,r){var o=r("qwTf");e.exports=function(e){var t=new e.constructor(e.byteLength);return new o(t).set(new o(e)),t}},L164:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("Dd8w"),i=(o=n)&&o.__esModule?o:{default:o},a=r("vilh");t.default={mixins:[a.PreventsFormAbandonment],props:(0,i.default)({mode:{type:String,default:"form",validator:function(e){return["modal","form"].includes(e)}}},(0,a.mapProps)(["resourceName","viaResource","viaResourceId","viaRelationship"])),methods:{handleResourceCreated:function(e){var t=e.redirect,r=e.id;return this.canLeave=!0,"form"==this.mode?this.$router.push({path:t}):this.$emit("refresh",{redirect:t,id:r})},handleCancelledCreate:function(){return"form"==this.mode?this.$router.back():this.$emit("cancelled-create")}}}},L42u:function(e,t,r){var o,n,i,a=r("+ZMJ"),s=r("knuC"),c=r("RPLV"),l=r("ON07"),u=r("7KvD"),d=u.process,m=u.setImmediate,f=u.clearImmediate,p=u.MessageChannel,h=u.Dispatch,g=0,b={},v=function(){var e=+this;if(b.hasOwnProperty(e)){var t=b[e];delete b[e],t()}},y=function(e){v.call(e.data)};m&&f||(m=function(e){for(var t=[],r=1;arguments.length>r;)t.push(arguments[r++]);return b[++g]=function(){s("function"==typeof e?e:Function(e),t)},o(g),g},f=function(e){delete b[e]},"process"==r("R9M2")(d)?o=function(e){d.nextTick(a(v,e,1))}:h&&h.now?o=function(e){h.now(a(v,e,1))}:p?(i=(n=new p).port2,n.port1.onmessage=y,o=a(i.postMessage,i,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(o=function(e){u.postMessage(e+"","*")},u.addEventListener("message",y,!1)):o="onreadystatechange"in l("script")?function(e){c.appendChild(l("script")).onreadystatechange=function(){c.removeChild(this),v.call(e)}}:function(e){setTimeout(a(v,e,1),0)}),e.exports={set:m,clear:f}},L7GT:function(e,t,r){var o=r("gomk");"string"==typeof o&&(o=[[e.i,o,""]]);var n={transform:void 0};r("MTIv")(o,n);o.locals&&(e.exports=o.locals)},LDLc:function(e,t,r){var o=r("o+M/");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("747b5fff",o,!0,{})},LF1e:function(e,t,r){var o=r("VU/8")(r("2tWh"),r("QEi2"),!1,null,null,null);e.exports=o.exports},LHHS:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"],computed:{formattedDate:function(){return this.field.format?moment(this.field.value).format(this.field.format):this.field.value}}}},"LHx/":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"dropdown-trigger h-dropdown-trigger flex items-center cursor-pointer select-none"},[this._t("default"),this._v(" "),this.showArrow?t("svg",{staticClass:"ml-2",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"6",viewBox:"0 0 10 6"}},[t("path",{attrs:{fill:this.activeIconColor,d:"M8.292893.292893c.390525-.390524 1.023689-.390524 1.414214 0 .390524.390525.390524 1.023689 0 1.414214l-4 4c-.390525.390524-1.023689.390524-1.414214 0l-4-4c-.390524-.390525-.390524-1.023689 0-1.414214.390525-.390524 1.023689-.390524 1.414214 0L5 3.585786 8.292893.292893z"}})]):this._e()],2)},staticRenderFns:[]}},LLZc:function(e,t,r){var o=r("yPFv");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("9282cf94",o,!0,{})},LNVR:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh");t.default={mixins:[o.BehavesAsPanel],methods:{resolveComponentName:function(e){return e.prefixComponent?"detail-"+e.component:e.component},showAllFields:function(){return this.panel.limit=0}},computed:{fields:function(){return this.panel.limit>0?this.panel.fields.slice(0,this.panel.limit):this.panel.fields},shouldShowShowAllFieldsButton:function(){return this.panel.limit>0}}}},LSla:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".\\!cursor-not-allowed[data-v-7cad3195]{cursor:not-allowed!important}",""])},LUh8:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement;return(e._self._c||t)("BaseValueMetric",{attrs:{title:e.card.name,"help-text":e.card.helpText,"help-width":e.card.helpWidth,previous:e.previous,value:e.value,ranges:e.card.ranges,format:e.format,prefix:e.prefix,suffix:e.suffix,"suffix-inflection":e.suffixInflection,"selected-range-key":e.selectedRangeKey,loading:e.loading,"zero-result":e.zeroResult},on:{selected:e.handleRangeSelected}})},staticRenderFns:[]}},LVwy:function(e,t,r){var o=r("VU/8")(r("VWXz"),r("onkR"),!1,null,null,null);e.exports=o.exports},LXEF:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("Dd8w"),i=(o=n)&&o.__esModule?o:{default:o},a=r("vilh");t.default={mixins:[a.HandlesValidationErrors,a.FormField],computed:{defaultAttributes:function(){return{type:this.field.type||"text",min:this.field.min,max:this.field.max,step:this.field.step,pattern:this.field.pattern,placeholder:this.field.placeholder||this.field.name,class:this.errorClasses}},extraAttributes:function(){var e=this.field.extraAttributes;return(0,i.default)({},this.defaultAttributes,e)}}}},LYnf:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("panel-item",{attrs:{field:e.field}},[r("div",{attrs:{slot:"value"},slot:"value"},[e.shouldShowLoader?[r("ImageLoader",{attrs:{src:e.imageUrl,maxWidth:e.maxWidth,rounded:e.rounded},on:{missing:function(t){return e.missing=t}}})]:e._e(),e._v(" "),e.field.value&&!e.imageUrl?[r("span",{staticClass:"break-words"},[e._v(e._s(e.field.value))])]:e._e(),e._v(" "),e.field.value||e.imageUrl?e._e():r("span",[e._v("—")]),e._v(" "),e.shouldShowToolbar?r("p",{staticClass:"flex items-center text-sm mt-3"},[e.field.downloadable?r("a",{staticClass:"cursor-pointer dim btn btn-link text-primary inline-flex items-center",attrs:{dusk:e.field.attribute+"-download-link",tabindex:"0"},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),e.download(t))},click:function(t){return t.preventDefault(),e.download(t)}}},[r("icon",{staticClass:"mr-2",attrs:{type:"download","view-box":"0 0 24 24",width:"16",height:"16"}}),e._v(" "),r("span",{staticClass:"class mt-1"},[e._v(e._s(e.__("Download")))])],1):e._e()]):e._e()],2)])},staticRenderFns:[]}},"Lc+h":function(e,t,r){"use strict";function o(e){this.message=e}o.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},o.prototype.__CANCEL__=!0,e.exports=o},Ldxf:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("p",{staticClass:"text-90",attrs:{slot:"value"},slot:"value"},[this._v("\n ·········\n ")])])},staticRenderFns:[]}},LiwM:function(e,t,r){var o=r("VU/8")(r("4p+X"),r("y9hn"),!1,null,null,null);e.exports=o.exports},LlOd:function(e,t,r){var o=r("8w4N");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("f5395994",o,!0,{})},Lum6:function(e,t,r){var o=r("VU/8")(r("K/3p"),r("Py83"),!1,null,null,null);e.exports=o.exports},LzvO:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"flex border-b border-40 -mx-6 px-6"},[r("div",{staticClass:"w-1/4 py-4"},[e._t("default",[r("h4",{staticClass:"font-normal text-80"},[e._v(e._s(e.label))])])],2),e._v(" "),r("div",{staticClass:"w-3/4 py-4 break-words"},[e._t("value",[e.fieldValue&&!e.shouldDisplayAsHtml?r("p",{staticClass:"text-90"},[e._v("\n "+e._s(e.fieldValue)+"\n ")]):e.fieldValue&&e.shouldDisplayAsHtml?r("div",{domProps:{innerHTML:e._s(e.field.value)}}):r("p",[e._v("—")])])],2)])},staticRenderFns:[]}},M6a0:function(e,t){},MADm:function(e,t,r){var o=r("VU/8")(r("LNVR"),r("XZsl"),!1,null,null,null);e.exports=o.exports},MGtH:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-shadowfox.CodeMirror{background:#2a2a2e;color:#b1b1b3}.cm-s-shadowfox div.CodeMirror-selected{background:#353b48}.cm-s-shadowfox .CodeMirror-line::selection,.cm-s-shadowfox .CodeMirror-line>span::selection,.cm-s-shadowfox .CodeMirror-line>span>span::selection{background:#353b48}.cm-s-shadowfox .CodeMirror-line::-moz-selection,.cm-s-shadowfox .CodeMirror-line>span::-moz-selection,.cm-s-shadowfox .CodeMirror-line>span>span::-moz-selection{background:#353b48}.cm-s-shadowfox .CodeMirror-gutters{background:#0c0c0d;border-right:1px solid #0c0c0d}.cm-s-shadowfox .CodeMirror-guttermarker{color:#555}.cm-s-shadowfox .CodeMirror-linenumber{color:#939393}.cm-s-shadowfox .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-shadowfox span.cm-comment{color:#939393}.cm-s-shadowfox span.cm-atom,.cm-s-shadowfox span.cm-attribute,.cm-s-shadowfox span.cm-builtin,.cm-s-shadowfox span.cm-error,.cm-s-shadowfox span.cm-keyword,.cm-s-shadowfox span.cm-quote{color:#ff7de9}.cm-s-shadowfox span.cm-number,.cm-s-shadowfox span.cm-string,.cm-s-shadowfox span.cm-string-2{color:#6b89ff}.cm-s-shadowfox span.cm-hr,.cm-s-shadowfox span.cm-meta{color:#939393}.cm-s-shadowfox span.cm-header,.cm-s-shadowfox span.cm-qualifier,.cm-s-shadowfox span.cm-variable-2{color:#75bfff}.cm-s-shadowfox span.cm-property{color:#86de74}.cm-s-shadowfox span.cm-bracket,.cm-s-shadowfox span.cm-def,.cm-s-shadowfox span.cm-link:visited,.cm-s-shadowfox span.cm-tag{color:#75bfff}.cm-s-shadowfox span.cm-variable{color:#b98eff}.cm-s-shadowfox span.cm-variable-3{color:#d7d7db}.cm-s-shadowfox span.cm-link{color:#737373}.cm-s-shadowfox span.cm-operator{color:#b1b1b3}.cm-s-shadowfox span.cm-special{color:#d7d7db}.cm-s-shadowfox .CodeMirror-activeline-background{background:rgba(185,215,253,.15)}.cm-s-shadowfox .CodeMirror-matchingbracket{outline:1px solid hsla(0,0%,100%,.25);color:#fff!important}",""])},MMop:function(e,t){e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},MOAJ:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{currentlyPolling:{type:Boolean,default:!1}},methods:{togglePolling:function(){return this.currentlyPolling?this.$emit("stop-polling"):this.$emit("start-polling")}},computed:{buttonLabel:function(){return this.currentlyPolling?this.__("Stop Polling"):this.__("Start Polling")}}}},MTIv:function(e,t,r){var o,n,i={},a=(o=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===n&&(n=o.apply(this,arguments)),n}),s=function(e){var t={};return function(e){return void 0===t[e]&&(t[e]=function(e){return document.querySelector(e)}.call(this,e)),t[e]}}(),c=null,l=0,u=[],d=r("mJPh");function m(e,t){for(var r=0;r=0&&u.splice(t,1)}function g(e){var t=document.createElement("style");return e.attrs.type="text/css",b(t,e.attrs),p(e,t),t}function b(e,t){Object.keys(t).forEach(function(r){e.setAttribute(r,t[r])})}function v(e,t){var r,o,n,i;if(t.transform&&e.css){if(!(i=t.transform(e.css)))return function(){};e.css=i}if(t.singleton){var a=l++;r=c||(c=g(t)),o=k.bind(null,r,a,!1),n=k.bind(null,r,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(r=function(e){var t=document.createElement("link");return e.attrs.type="text/css",e.attrs.rel="stylesheet",b(t,e.attrs),p(e,t),t}(t),o=function(e,t,r){var o=r.css,n=r.sourceMap,i=void 0===t.convertToAbsoluteUrls&&n;(t.convertToAbsoluteUrls||i)&&(o=d(o));n&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */");var a=new Blob([o],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,r,t),n=function(){h(r),r.href&&URL.revokeObjectURL(r.href)}):(r=g(t),o=function(e,t){var r=t.css,o=t.media;o&&e.setAttribute("media",o);if(e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}.bind(null,r),n=function(){h(r)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else n()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var r=f(e,t);return m(r,t),function(e){for(var o=[],n=0;n0&&void 0!==arguments[0]?arguments[0]:"";return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Nova.request().get("/nova-api/"+this.resourceName+"/"+this.resourceId+"/attachable/"+this.relatedResourceName,{params:{search:r,current:this.relatedResourceId,first:!0,withTrashed:this.withTrashed}});case 3:t=e.sent,this.viaResourceField=t.data.viaResource,this.availableResources=t.data.resources,this.withTrashed=t.data.withTrashed,this.softDeletes=t.data.softDeletes,e.next=12;break;case 10:e.prev=10,e.t0=e.catch(0);case 12:case"end":return e.stop()}},e,this,[[0,10]])}));return function(){return e.apply(this,arguments)}}(),determineIfSoftDeletes:function(){var e=this;Nova.request().get("/nova-api/"+this.relatedResourceName+"/soft-deletes").then(function(t){e.softDeletes=t.data.softDeletes})},updateAttachedResource:function(){var e=(0,n.default)(o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.submittedViaUpdateAttachedResource=!0,e.prev=1,e.next=4,this.updateRequest();case 4:this.submittedViaUpdateAttachedResource=!1,this.canLeave=!0,Nova.success(this.__("The resource was updated!")),this.$router.push({name:"detail",params:{resourceName:this.resourceName,resourceId:this.resourceId}}),e.next=17;break;case 10:e.prev=10,e.t0=e.catch(1),window.scrollTo(0,0),this.submittedViaUpdateAttachedResource=!1,this.resourceInformation&&this.resourceInformation.preventFormAbandonment&&(this.canLeave=!1),422==e.t0.response.status&&(this.validationErrors=new a.Errors(e.t0.response.data.errors),Nova.error(this.__("There was a problem submitting the form."))),409==e.t0.response.status&&Nova.error(this.__("Another user has updated this resource since this page was loaded. Please refresh the page and try again."));case 17:case"end":return e.stop()}},e,this,[[1,10]])}));return function(){return e.apply(this,arguments)}}(),updateAndContinueEditing:function(){var e=(0,n.default)(o.default.mark(function e(){return o.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.submittedViaUpdateAndContinueEditing=!0,e.prev=1,e.next=4,this.updateRequest();case 4:this.submittedViaUpdateAndContinueEditing=!1,Nova.success(this.__("The resource was updated!")),this.initializeComponent(),e.next=14;break;case 9:e.prev=9,e.t0=e.catch(1),this.submittedViaUpdateAndContinueEditing=!1,422==e.t0.response.status&&(this.validationErrors=new a.Errors(e.t0.response.data.errors),Nova.error(this.__("There was a problem submitting the form."))),409==e.t0.response.status&&Nova.error(this.__("Another user has updated this resource since this page was loaded. Please refresh the page and try again."));case 14:case"end":return e.stop()}},e,this,[[1,9]])}));return function(){return e.apply(this,arguments)}}(),updateRequest:function(){return Nova.request().post("/nova-api/"+this.resourceName+"/"+this.resourceId+"/update-attached/"+this.relatedResourceName+"/"+this.relatedResourceId,this.updateAttachmentFormData,{params:{editing:!0,editMode:"update-attached",viaPivotId:this.viaPivotId}})},selectResourceFromSelectControl:function(e){this.selectedResourceId=e.target.value,this.selectInitialResource(),this.field&&Nova.$emit(this.field.attribute+"-change",this.selectedResourceId)},toggleWithTrashed:function(){this.withTrashed=!this.withTrashed,this.isSearchable||this.getAvailableResources()},selectInitialResource:function(){var e=this;this.selectedResource=i.default.find(this.availableResources,function(t){return t.value==e.selectedResourceId})},updateLastRetrievedAtTimestamp:function(){this.lastRetrievedAt=Math.floor((new Date).getTime()/1e3)},onUpdateFormStatus:function(){this.resourceInformation&&this.resourceInformation.preventFormAbandonment&&this.updateFormStatus()}},computed:{attachmentEndpoint:function(){return this.polymorphic?"/nova-api/"+this.resourceName+"/"+this.resourceId+"/attach-morphed/"+this.relatedResourceName:"/nova-api/"+this.resourceName+"/"+this.resourceId+"/attach/"+this.relatedResourceName},updateAttachmentFormData:function(){var e=this;return i.default.tap(new FormData,function(t){i.default.each(e.fields,function(e){e.fill(t)}),t.append("viaRelationship",e.viaRelationship),e.selectedResource?t.append(e.relatedResourceName,e.selectedResource.value):t.append(e.relatedResourceName,""),t.append(e.relatedResourceName+"_trashed",e.withTrashed),t.append("_retrieved_at",e.lastRetrievedAt)})},relatedResourceLabel:function(){if(this.field)return this.field.singularLabel},isSearchable:function(){return this.field.searchable},isWorking:function(){return this.submittedViaUpdateAttachedResource||this.submittedViaUpdateAndContinueEditing}}}},N75n:function(e,t,r){var o=r("pqb9");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("04fa37f8",o,!0,{})},N9l2:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-ttcn .cm-quote{color:#090}.cm-s-ttcn .cm-header,.cm-strong{font-weight:700}.cm-s-ttcn .cm-header{color:#00f;font-weight:700}.cm-s-ttcn .cm-atom{color:#219}.cm-s-ttcn .cm-attribute{color:#00c}.cm-s-ttcn .cm-bracket{color:#997}.cm-s-ttcn .cm-comment{color:#333}.cm-s-ttcn .cm-def{color:#00f}.cm-s-ttcn .cm-em{font-style:italic}.cm-s-ttcn .cm-error{color:red}.cm-s-ttcn .cm-hr{color:#999}.cm-s-ttcn .cm-keyword{font-weight:700}.cm-s-ttcn .cm-link{color:#00c;text-decoration:underline}.cm-s-ttcn .cm-meta{color:#555}.cm-s-ttcn .cm-negative{color:#d44}.cm-s-ttcn .cm-positive{color:#292}.cm-s-ttcn .cm-qualifier{color:#555}.cm-s-ttcn .cm-strikethrough{text-decoration:line-through}.cm-s-ttcn .cm-string{color:#006400}.cm-s-ttcn .cm-string-2{color:#f50}.cm-s-ttcn .cm-strong{font-weight:700}.cm-s-ttcn .cm-tag{color:#170}.cm-s-ttcn .cm-variable{color:#8b2252}.cm-s-ttcn .cm-variable-2{color:#05a}.cm-s-ttcn .cm-type,.cm-s-ttcn .cm-variable-3{color:#085}.cm-s-ttcn .cm-invalidchar{color:red}.cm-s-ttcn .cm-accessTypes,.cm-s-ttcn .cm-compareTypes{color:#27408b}.cm-s-ttcn .cm-cmipVerbs{color:#8b2252}.cm-s-ttcn .cm-modifier{color:#d2691e}.cm-s-ttcn .cm-status{color:#8b4545}.cm-s-ttcn .cm-storage{color:#a020f0}.cm-s-ttcn .cm-tags{color:#006400}.cm-s-ttcn .cm-externalCommands{color:#8b4545;font-weight:700}.cm-s-ttcn .cm-fileNCtrlMaskOptions,.cm-s-ttcn .cm-sectionTitle{color:#2e8b57;font-weight:700}.cm-s-ttcn .cm-booleanConsts,.cm-s-ttcn .cm-otherConsts,.cm-s-ttcn .cm-verdictConsts{color:#006400}.cm-s-ttcn .cm-configOps,.cm-s-ttcn .cm-functionOps,.cm-s-ttcn .cm-portOps,.cm-s-ttcn .cm-sutOps,.cm-s-ttcn .cm-timerOps,.cm-s-ttcn .cm-verdictOps{color:#00f}.cm-s-ttcn .cm-preprocessor,.cm-s-ttcn .cm-templateMatch,.cm-s-ttcn .cm-ttcn3Macros{color:#27408b}.cm-s-ttcn .cm-types{color:brown;font-weight:700}.cm-s-ttcn .cm-visibilityModifiers{font-weight:700}",""])},NGEn:function(e,t){var r=Array.isArray;e.exports=r},NLm3:function(e,t,r){r("Zujg"),e.exports=r("FeBl").Math.sign},NS2U:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-lesser-dark{line-height:1.3em}.cm-s-lesser-dark.CodeMirror{background:#262626;color:#ebefe7;text-shadow:0 -1px 1px #262626}.cm-s-lesser-dark div.CodeMirror-selected{background:#45443b}.cm-s-lesser-dark .CodeMirror-line::selection,.cm-s-lesser-dark .CodeMirror-line>span::selection,.cm-s-lesser-dark .CodeMirror-line>span>span::selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-line::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span::-moz-selection,.cm-s-lesser-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(69,68,59,.99)}.cm-s-lesser-dark .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-lesser-dark pre{padding:0 8px}.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket{color:#7efc7e}.cm-s-lesser-dark .CodeMirror-gutters{background:#262626;border-right:1px solid #aaa}.cm-s-lesser-dark .CodeMirror-guttermarker{color:#599eff}.cm-s-lesser-dark .CodeMirror-guttermarker-subtle,.cm-s-lesser-dark .CodeMirror-linenumber{color:#777}.cm-s-lesser-dark span.cm-header{color:#a0a}.cm-s-lesser-dark span.cm-quote{color:#090}.cm-s-lesser-dark span.cm-keyword{color:#599eff}.cm-s-lesser-dark span.cm-atom{color:#c2b470}.cm-s-lesser-dark span.cm-number{color:#b35e4d}.cm-s-lesser-dark span.cm-def{color:#fff}.cm-s-lesser-dark span.cm-variable{color:#d9bf8c}.cm-s-lesser-dark span.cm-variable-2{color:#669199}.cm-s-lesser-dark span.cm-type,.cm-s-lesser-dark span.cm-variable-3{color:#fff}.cm-s-lesser-dark span.cm-operator,.cm-s-lesser-dark span.cm-property{color:#92a75c}.cm-s-lesser-dark span.cm-comment{color:#666}.cm-s-lesser-dark span.cm-string{color:#bcd279}.cm-s-lesser-dark span.cm-string-2{color:#f50}.cm-s-lesser-dark span.cm-meta{color:#738c73}.cm-s-lesser-dark span.cm-qualifier{color:#555}.cm-s-lesser-dark span.cm-builtin{color:#ff9e59}.cm-s-lesser-dark span.cm-bracket{color:#ebefe7}.cm-s-lesser-dark span.cm-tag{color:#669199}.cm-s-lesser-dark span.cm-attribute{color:#81a4d5}.cm-s-lesser-dark span.cm-hr{color:#999}.cm-s-lesser-dark span.cm-link{color:#7070e6}.cm-s-lesser-dark span.cm-error{color:#9d1e15}.cm-s-lesser-dark .CodeMirror-activeline-background{background:#3c3a3a}.cm-s-lesser-dark .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},NUKO:function(e,t,r){"use strict";var o=r("4oCz"),n=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,r,i,a={};return e?(o.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=o.trim(e.substr(0,i)).toLowerCase(),r=o.trim(e.substr(i+1)),t){if(a[t]&&n.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([r]):a[t]?a[t]+", "+r:r}}),a):a}},"NWt+":function(e,t,r){var o=r("+ZMJ"),n=r("msXi"),i=r("Mhyx"),a=r("77Pl"),s=r("QRG4"),c=r("3fs2"),l={},u={};(t=e.exports=function(e,t,r,d,m){var f,p,h,g,b=m?function(){return e}:c(e),v=o(r,d,t?2:1),y=0;if("function"!=typeof b)throw TypeError(e+" is not iterable!");if(i(b)){for(f=s(e.length);f>y;y++)if((g=t?v(a(p=e[y])[0],p[1]):v(e[y]))===l||g===u)return g}else for(h=b.call(e);!(p=h.next()).done;)if((g=n(h,v,p.value,t))===l||g===u)return g}).BREAK=l,t.RETURN=u},NYl6:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[t("div",{ref:"chart",staticClass:"ct-chart",style:{width:this.chartWidth,height:this.chartHeight}})])],2)},staticRenderFns:[]}},NYxO:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){r.d(t,"Store",function(){return d}),r.d(t,"createLogger",function(){return z}),r.d(t,"createNamespacedHelpers",function(){return C}),r.d(t,"install",function(){return y}),r.d(t,"mapActions",function(){return _}),r.d(t,"mapGetters",function(){return w}),r.d(t,"mapMutations",function(){return k}),r.d(t,"mapState",function(){return x});var o=("undefined"!=typeof window?window:void 0!==e?e:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function n(e,t){if(void 0===t&&(t=[]),null===e||"object"!=typeof e)return e;var r,o=(r=function(t){return t.original===e},t.filter(r)[0]);if(o)return o.copy;var i=Array.isArray(e)?[]:{};return t.push({original:e,copy:i}),Object.keys(e).forEach(function(r){i[r]=n(e[r],t)}),i}function i(e,t){Object.keys(e).forEach(function(r){return t(e[r],r)})}function a(e){return null!==e&&"object"==typeof e}var s=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var r=e.state;this.state=("function"==typeof r?r():r)||{}},c={namespaced:{configurable:!0}};c.namespaced.get=function(){return!!this._rawModule.namespaced},s.prototype.addChild=function(e,t){this._children[e]=t},s.prototype.removeChild=function(e){delete this._children[e]},s.prototype.getChild=function(e){return this._children[e]},s.prototype.hasChild=function(e){return e in this._children},s.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},s.prototype.forEachChild=function(e){i(this._children,e)},s.prototype.forEachGetter=function(e){this._rawModule.getters&&i(this._rawModule.getters,e)},s.prototype.forEachAction=function(e){this._rawModule.actions&&i(this._rawModule.actions,e)},s.prototype.forEachMutation=function(e){this._rawModule.mutations&&i(this._rawModule.mutations,e)},Object.defineProperties(s.prototype,c);var l=function(e){this.register([],e,!1)};l.prototype.get=function(e){return e.reduce(function(e,t){return e.getChild(t)},this.root)},l.prototype.getNamespace=function(e){var t=this.root;return e.reduce(function(e,r){return e+((t=t.getChild(r)).namespaced?r+"/":"")},"")},l.prototype.update=function(e){!function e(t,r,o){0;r.update(o);if(o.modules)for(var n in o.modules){if(!r.getChild(n))return void 0;e(t.concat(n),r.getChild(n),o.modules[n])}}([],this.root,e)},l.prototype.register=function(e,t,r){var o=this;void 0===r&&(r=!0);var n=new s(t,r);0===e.length?this.root=n:this.get(e.slice(0,-1)).addChild(e[e.length-1],n);t.modules&&i(t.modules,function(t,n){o.register(e.concat(n),t,r)})},l.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1],o=t.getChild(r);o&&o.runtime&&t.removeChild(r)},l.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),r=e[e.length-1];return!!t&&t.hasChild(r)};var u;var d=function(e){var t=this;void 0===e&&(e={}),!u&&"undefined"!=typeof window&&window.Vue&&y(window.Vue);var r=e.plugins;void 0===r&&(r=[]);var n=e.strict;void 0===n&&(n=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new l(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new u,this._makeLocalGettersCache=Object.create(null);var i=this,a=this.dispatch,s=this.commit;this.dispatch=function(e,t){return a.call(i,e,t)},this.commit=function(e,t,r){return s.call(i,e,t,r)},this.strict=n;var c=this._modules.root.state;g(this,c,[],this._modules.root),h(this,c),r.forEach(function(e){return e(t)}),(void 0!==e.devtools?e.devtools:u.config.devtools)&&function(e){o&&(e._devtoolHook=o,o.emit("vuex:init",e),o.on("vuex:travel-to-state",function(t){e.replaceState(t)}),e.subscribe(function(e,t){o.emit("vuex:mutation",e,t)},{prepend:!0}),e.subscribeAction(function(e,t){o.emit("vuex:action",e,t)},{prepend:!0}))}(this)},m={state:{configurable:!0}};function f(e,t,r){return t.indexOf(e)<0&&(r&&r.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function p(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var r=e.state;g(e,r,[],e._modules.root,!0),h(e,r,t)}function h(e,t,r){var o=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var n={};i(e._wrappedGetters,function(t,r){n[r]=function(e,t){return function(){return e(t)}}(t,e),Object.defineProperty(e.getters,r,{get:function(){return e._vm[r]},enumerable:!0})});var a=u.config.silent;u.config.silent=!0,e._vm=new u({data:{$$state:t},computed:n}),u.config.silent=a,e.strict&&function(e){e._vm.$watch(function(){return this._data.$$state},function(){0},{deep:!0,sync:!0})}(e),o&&(r&&e._withCommit(function(){o._data.$$state=null}),u.nextTick(function(){return o.$destroy()}))}function g(e,t,r,o,n){var i=!r.length,a=e._modules.getNamespace(r);if(o.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=o),!i&&!n){var s=b(t,r.slice(0,-1)),c=r[r.length-1];e._withCommit(function(){u.set(s,c,o.state)})}var l=o.context=function(e,t,r){var o=""===t,n={dispatch:o?e.dispatch:function(r,o,n){var i=v(r,o,n),a=i.payload,s=i.options,c=i.type;return s&&s.root||(c=t+c),e.dispatch(c,a)},commit:o?e.commit:function(r,o,n){var i=v(r,o,n),a=i.payload,s=i.options,c=i.type;s&&s.root||(c=t+c),e.commit(c,a,s)}};return Object.defineProperties(n,{getters:{get:o?function(){return e.getters}:function(){return function(e,t){if(!e._makeLocalGettersCache[t]){var r={},o=t.length;Object.keys(e.getters).forEach(function(n){if(n.slice(0,o)===t){var i=n.slice(o);Object.defineProperty(r,i,{get:function(){return e.getters[n]},enumerable:!0})}}),e._makeLocalGettersCache[t]=r}return e._makeLocalGettersCache[t]}(e,t)}},state:{get:function(){return b(e.state,r)}}}),n}(e,a,r);o.forEachMutation(function(t,r){!function(e,t,r,o){(e._mutations[t]||(e._mutations[t]=[])).push(function(t){r.call(e,o.state,t)})}(e,a+r,t,l)}),o.forEachAction(function(t,r){var o=t.root?r:a+r,n=t.handler||t;!function(e,t,r,o){(e._actions[t]||(e._actions[t]=[])).push(function(t){var n,i=r.call(e,{dispatch:o.dispatch,commit:o.commit,getters:o.getters,state:o.state,rootGetters:e.getters,rootState:e.state},t);return(n=i)&&"function"==typeof n.then||(i=Promise.resolve(i)),e._devtoolHook?i.catch(function(t){throw e._devtoolHook.emit("vuex:error",t),t}):i})}(e,o,n,l)}),o.forEachGetter(function(t,r){!function(e,t,r,o){if(e._wrappedGetters[t])return void 0;e._wrappedGetters[t]=function(e){return r(o.state,o.getters,e.state,e.getters)}}(e,a+r,t,l)}),o.forEachChild(function(o,i){g(e,t,r.concat(i),o,n)})}function b(e,t){return t.reduce(function(e,t){return e[t]},e)}function v(e,t,r){return a(e)&&e.type&&(r=t,t=e,e=e.type),{type:e,payload:t,options:r}}function y(e){u&&e===u||function(e){if(Number(e.version.split(".")[0])>=2)e.mixin({beforeCreate:r});else{var t=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[r].concat(e.init):r,t.call(this,e)}}function r(){var e=this.$options;e.store?this.$store="function"==typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(u=e)}m.state.get=function(){return this._vm._data.$$state},m.state.set=function(e){0},d.prototype.commit=function(e,t,r){var o=this,n=v(e,t,r),i=n.type,a=n.payload,s=(n.options,{type:i,payload:a}),c=this._mutations[i];c&&(this._withCommit(function(){c.forEach(function(e){e(a)})}),this._subscribers.slice().forEach(function(e){return e(s,o.state)}))},d.prototype.dispatch=function(e,t){var r=this,o=v(e,t),n=o.type,i=o.payload,a={type:n,payload:i},s=this._actions[n];if(s){try{this._actionSubscribers.slice().filter(function(e){return e.before}).forEach(function(e){return e.before(a,r.state)})}catch(e){0}var c=s.length>1?Promise.all(s.map(function(e){return e(i)})):s[0](i);return new Promise(function(e,t){c.then(function(t){try{r._actionSubscribers.filter(function(e){return e.after}).forEach(function(e){return e.after(a,r.state)})}catch(e){0}e(t)},function(e){try{r._actionSubscribers.filter(function(e){return e.error}).forEach(function(t){return t.error(a,r.state,e)})}catch(e){0}t(e)})})}},d.prototype.subscribe=function(e,t){return f(e,this._subscribers,t)},d.prototype.subscribeAction=function(e,t){return f("function"==typeof e?{before:e}:e,this._actionSubscribers,t)},d.prototype.watch=function(e,t,r){var o=this;return this._watcherVM.$watch(function(){return e(o.state,o.getters)},t,r)},d.prototype.replaceState=function(e){var t=this;this._withCommit(function(){t._vm._data.$$state=e})},d.prototype.registerModule=function(e,t,r){void 0===r&&(r={}),"string"==typeof e&&(e=[e]),this._modules.register(e,t),g(this,this.state,e,this._modules.get(e),r.preserveState),h(this,this.state)},d.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit(function(){var r=b(t.state,e.slice(0,-1));u.delete(r,e[e.length-1])}),p(this)},d.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),this._modules.isRegistered(e)},d.prototype.hotUpdate=function(e){this._modules.update(e),p(this,!0)},d.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(d.prototype,m);var x=R(function(e,t){var r={};return M(t).forEach(function(t){var o=t.key,n=t.val;r[o]=function(){var t=this.$store.state,r=this.$store.getters;if(e){var o=S(this.$store,"mapState",e);if(!o)return;t=o.context.state,r=o.context.getters}return"function"==typeof n?n.call(this,t,r):t[n]},r[o].vuex=!0}),r}),k=R(function(e,t){var r={};return M(t).forEach(function(t){var o=t.key,n=t.val;r[o]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var o=this.$store.commit;if(e){var i=S(this.$store,"mapMutations",e);if(!i)return;o=i.context.commit}return"function"==typeof n?n.apply(this,[o].concat(t)):o.apply(this.$store,[n].concat(t))}}),r}),w=R(function(e,t){var r={};return M(t).forEach(function(t){var o=t.key,n=t.val;n=e+n,r[o]=function(){if(!e||S(this.$store,"mapGetters",e))return this.$store.getters[n]},r[o].vuex=!0}),r}),_=R(function(e,t){var r={};return M(t).forEach(function(t){var o=t.key,n=t.val;r[o]=function(){for(var t=[],r=arguments.length;r--;)t[r]=arguments[r];var o=this.$store.dispatch;if(e){var i=S(this.$store,"mapActions",e);if(!i)return;o=i.context.dispatch}return"function"==typeof n?n.apply(this,[o].concat(t)):o.apply(this.$store,[n].concat(t))}}),r}),C=function(e){return{mapState:x.bind(null,e),mapGetters:w.bind(null,e),mapMutations:k.bind(null,e),mapActions:_.bind(null,e)}};function M(e){return function(e){return Array.isArray(e)||a(e)}(e)?Array.isArray(e)?e.map(function(e){return{key:e,val:e}}):Object.keys(e).map(function(t){return{key:t,val:e[t]}}):[]}function R(e){return function(t,r){return"string"!=typeof t?(r=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,r)}}function S(e,t,r){return e._modulesNamespaceMap[r]}function z(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var r=e.filter;void 0===r&&(r=function(e,t,r){return!0});var o=e.transformer;void 0===o&&(o=function(e){return e});var i=e.mutationTransformer;void 0===i&&(i=function(e){return e});var a=e.actionFilter;void 0===a&&(a=function(e,t){return!0});var s=e.actionTransformer;void 0===s&&(s=function(e){return e});var c=e.logMutations;void 0===c&&(c=!0);var l=e.logActions;void 0===l&&(l=!0);var u=e.logger;return void 0===u&&(u=console),function(e){var d=n(e.state);void 0!==u&&(c&&e.subscribe(function(e,a){var s=n(a);if(r(e,d,s)){var c=O(),l=i(e),m="mutation "+e.type+c;E(u,m,t),u.log("%c prev state","color: #9E9E9E; font-weight: bold",o(d)),u.log("%c mutation","color: #03A9F4; font-weight: bold",l),u.log("%c next state","color: #4CAF50; font-weight: bold",o(s)),T(u)}d=s}),l&&e.subscribeAction(function(e,r){if(a(e,r)){var o=O(),n=s(e),i="action "+e.type+o;E(u,i,t),u.log("%c action","color: #03A9F4; font-weight: bold",n),T(u)}}))}}function E(e,t,r){var o=r?e.groupCollapsed:e.group;try{o.call(e,t)}catch(r){e.log(t)}}function T(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function O(){var e=new Date;return" @ "+F(e.getHours(),2)+":"+F(e.getMinutes(),2)+":"+F(e.getSeconds(),2)+"."+F(e.getMilliseconds(),3)}function F(e,t){return r="0",o=t-e.toString().length,new Array(o+1).join(r)+e;var r,o}var N={Store:d,install:y,version:"3.6.0",mapState:x,mapMutations:k,mapGetters:w,mapActions:_,createNamespacedHelpers:C,createLogger:z};t.default=N}.call(t,r("DuR2"))},Na2O:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-card",{staticClass:"px-6 py-4",attrs:{loading:e.loading}},[r("h3",{staticClass:"flex mb-3 text-base text-80 font-bold"},[e._v("\n "+e._s(e.title)+"\n\n "),r("span",{staticClass:"ml-auto font-semibold text-70 text-sm"},[e._v("("+e._s(e.formattedTotal)+" "+e._s(e.__("total"))+")")])]),e._v(" "),e.helpText?r("div",{staticClass:"absolute pin-r pin-b p-2"},[r("tooltip",{attrs:{trigger:"hover",placement:"top-start"}},[r("icon",{staticClass:"cursor-pointer text-60 -mb-1",attrs:{type:"help",viewBox:"0 0 17 17",height:"16",width:"16"}}),e._v(" "),r("tooltip-content",{attrs:{slot:"content","max-width":e.helpWidth},domProps:{innerHTML:e._s(e.helpText)},slot:"content"})],1)],1):e._e(),e._v(" "),r("div",{staticClass:"min-h-90px"},[r("div",{staticClass:"overflow-hidden overflow-y-auto max-h-90px"},[r("ul",{staticClass:"list-reset"},e._l(e.formattedItems,function(t){return r("li",{staticClass:"text-xs text-80 leading-normal"},[r("span",{staticClass:"inline-block rounded-full w-2 h-2 mr-2",style:{backgroundColor:t.color}}),e._v(e._s(t.label)+" ("+e._s(t.value)+" - "+e._s(t.percentage)+"%)\n ")])}),0)]),e._v(" "),r("div",{ref:"chart",class:e.chartClasses,staticStyle:{width:"90px",height:"90px",right:"20px",bottom:"30px",top:"calc(50% + 15px)"}})])])},staticRenderFns:[]}},NeP4:function(e,t,r){var o=r("VU/8")(r("yf2y"),r("Wsx6"),!1,null,null,null);e.exports=o.exports},Nh2i:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-eclipse span.cm-meta{color:#ff1717}.cm-s-eclipse span.cm-keyword{line-height:1em;font-weight:700;color:#7f0055}.cm-s-eclipse span.cm-atom{color:#219}.cm-s-eclipse span.cm-number{color:#164}.cm-s-eclipse span.cm-def{color:#00f}.cm-s-eclipse span.cm-variable{color:#000}.cm-s-eclipse span.cm-type,.cm-s-eclipse span.cm-variable-2,.cm-s-eclipse span.cm-variable-3{color:#0000c0}.cm-s-eclipse span.cm-operator,.cm-s-eclipse span.cm-property{color:#000}.cm-s-eclipse span.cm-comment{color:#3f7f5f}.cm-s-eclipse span.cm-string{color:#2a00ff}.cm-s-eclipse span.cm-string-2{color:#f50}.cm-s-eclipse span.cm-qualifier{color:#555}.cm-s-eclipse span.cm-builtin{color:#30a}.cm-s-eclipse span.cm-bracket{color:#cc7}.cm-s-eclipse span.cm-tag{color:#170}.cm-s-eclipse span.cm-attribute{color:#00c}.cm-s-eclipse span.cm-link{color:#219}.cm-s-eclipse span.cm-error{color:red}.cm-s-eclipse .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-eclipse .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}",""])},Njcc:function(e,t,r){var o=r("NS2U");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("681c0b3c",o,!0,{})},NkRn:function(e,t,r){var o=r("TQ3y").Symbol;e.exports=o},NpIQ:function(e,t){t.f={}.propertyIsEnumerable},NqZt:function(e,t){e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},NrOo:function(e,t,r){var o=r("VU/8")(r("Oa4a"),r("hcZi"),!1,null,null,null);e.exports=o.exports},NtVW:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,'.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:transparent}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5)}.cm-animate-fat-cursor,.cm-fat-cursor-mark{-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;background-color:#7e7}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}',""])},Ntvx:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},[r("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"w-full form-control form-input form-input-bordered",class:e.errorClasses,attrs:{id:e.field.attribute,dusk:e.field.attribute,type:"password",placeholder:e.field.name,autocomplete:"new-password",disabled:e.isReadonly},domProps:{value:e.value},on:{input:function(t){t.target.composing||(e.value=t.target.value)}}})])],2)},staticRenderFns:[]}},O1jc:function(e,t,r){var o=r("nw3t"),n=r("22B7");e.exports=function(e,t,r){(void 0===r||n(e[t],r))&&(void 0!==r||t in e)||o(e,t,r)}},O4g8:function(e,t){e.exports=!0},O6EO:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=r("vilh"),n=a(r("678s")),i=a(r("p5OT"));function a(e){return e&&e.__esModule?e:{default:e}}t.default={name:"ValueMetric",mixins:[o.InteractsWithDates,i.default],components:{BaseValueMetric:n.default},props:{card:{type:Object,required:!0},resourceName:{type:String,default:""},resourceId:{type:[Number,String],default:""},lens:{type:String,default:""}},data:function(){return{loading:!0,format:"(0[.]00a)",value:0,previous:0,prefix:"",suffix:"",suffixInflection:!0,selectedRangeKey:null,zeroResult:!1}},watch:{resourceId:function(){this.fetch()}},created:function(){this.hasRanges&&(this.selectedRangeKey=this.card.selectedRangeKey||this.card.ranges[0].value)},mounted:function(){this.fetch(this.selectedRangeKey)},methods:{handleRangeSelected:function(e){this.selectedRangeKey=e,this.fetch()},fetch:function(){var e=this;this.loading=!0,(0,o.Minimum)(Nova.request().get(this.metricEndpoint,this.metricPayload)).then(function(t){var r=t.data.value,o=r.value,n=r.previous,i=r.prefix,a=r.suffix,s=r.suffixInflection,c=r.format,l=r.zeroResult;e.value=o,e.format=c||e.format,e.prefix=i||e.prefix,e.suffix=a||e.suffix,e.suffixInflection=s,e.zeroResult=l||e.zeroResult,e.previous=n,e.loading=!1})}},computed:{hasRanges:function(){return this.card.ranges.length>0},metricPayload:function(){var e={params:{timezone:this.userTimezone}};return this.hasRanges&&(e.params.range=this.selectedRangeKey),e},metricEndpoint:function(){var e=""!==this.lens?"/lens/"+this.lens:"";return this.resourceName&&this.resourceId?"/nova-api/"+this.resourceName+e+"/"+this.resourceId+"/metrics/"+this.card.uriKey:this.resourceName?"/nova-api/"+this.resourceName+e+"/metrics/"+this.card.uriKey:"/nova-api/metrics/"+this.card.uriKey}}}},OAZY:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-panda-syntax{background:#292a2b;color:#e6e6e6;line-height:1.5;font-family:Operator Mono,Source Code Pro,Menlo,Monaco,Consolas,Courier New,monospace}.cm-s-panda-syntax .CodeMirror-cursor{border-color:#ff2c6d}.cm-s-panda-syntax .CodeMirror-activeline-background{background:rgba(99,123,156,.1)}.cm-s-panda-syntax .CodeMirror-selected{background:#fff}.cm-s-panda-syntax .cm-comment{font-style:italic;color:#676b79}.cm-s-panda-syntax .cm-operator{color:#f3f3f3}.cm-s-panda-syntax .cm-string{color:#19f9d8}.cm-s-panda-syntax .cm-string-2{color:#ffb86c}.cm-s-panda-syntax .cm-tag{color:#ff2c6d}.cm-s-panda-syntax .cm-meta{color:#b084eb}.cm-s-panda-syntax .cm-number{color:#ffb86c}.cm-s-panda-syntax .cm-atom{color:#ff2c6d}.cm-s-panda-syntax .cm-keyword{color:#ff75b5}.cm-s-panda-syntax .cm-variable{color:#ffb86c}.cm-s-panda-syntax .cm-type,.cm-s-panda-syntax .cm-variable-2,.cm-s-panda-syntax .cm-variable-3{color:#ff9ac1}.cm-s-panda-syntax .cm-def{color:#e6e6e6}.cm-s-panda-syntax .cm-property{color:#f3f3f3}.cm-s-panda-syntax .cm-attribute,.cm-s-panda-syntax .cm-unit{color:#ffb86c}.cm-s-panda-syntax .CodeMirror-matchingbracket{border-bottom:1px dotted #19f9d8;padding-bottom:2px;color:#e6e6e6}.cm-s-panda-syntax .CodeMirror-gutters{background:#292a2b;border-right-color:hsla(0,0%,100%,.1)}.cm-s-panda-syntax .CodeMirror-linenumber{color:#e6e6e6;opacity:.6}",""])},OEhc:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".solarized.base03{color:#002b36}.solarized.base02{color:#073642}.solarized.base01{color:#586e75}.solarized.base00{color:#657b83}.solarized.base0{color:#839496}.solarized.base1{color:#93a1a1}.solarized.base2{color:#eee8d5}.solarized.base3{color:#fdf6e3}.solarized.solar-yellow{color:#b58900}.solarized.solar-orange{color:#cb4b16}.solarized.solar-red{color:#dc322f}.solarized.solar-magenta{color:#d33682}.solarized.solar-violet{color:#6c71c4}.solarized.solar-blue{color:#268bd2}.solarized.solar-cyan{color:#2aa198}.solarized.solar-green{color:#859900}.cm-s-solarized{line-height:1.45em;color-profile:sRGB;rendering-intent:auto}.cm-s-solarized.cm-s-dark{color:#839496;background-color:#002b36;text-shadow:#002b36 0 1px}.cm-s-solarized.cm-s-light{background-color:#fdf6e3;color:#657b83;text-shadow:#eee8d5 0 1px}.cm-s-solarized .CodeMirror-widget{text-shadow:none}.cm-s-solarized .cm-header{color:#586e75}.cm-s-solarized .cm-quote{color:#93a1a1}.cm-s-solarized .cm-keyword{color:#cb4b16}.cm-s-solarized .cm-atom,.cm-s-solarized .cm-number{color:#d33682}.cm-s-solarized .cm-def{color:#2aa198}.cm-s-solarized .cm-variable{color:#839496}.cm-s-solarized .cm-variable-2{color:#b58900}.cm-s-solarized .cm-type,.cm-s-solarized .cm-variable-3{color:#6c71c4}.cm-s-solarized .cm-property{color:#2aa198}.cm-s-solarized .cm-operator{color:#6c71c4}.cm-s-solarized .cm-comment{color:#586e75;font-style:italic}.cm-s-solarized .cm-string{color:#859900}.cm-s-solarized .cm-string-2{color:#b58900}.cm-s-solarized .cm-meta{color:#859900}.cm-s-solarized .cm-qualifier{color:#b58900}.cm-s-solarized .cm-builtin{color:#d33682}.cm-s-solarized .cm-bracket{color:#cb4b16}.cm-s-solarized .CodeMirror-matchingbracket{color:#859900}.cm-s-solarized .CodeMirror-nonmatchingbracket{color:#dc322f}.cm-s-solarized .cm-tag{color:#93a1a1}.cm-s-solarized .cm-attribute{color:#2aa198}.cm-s-solarized .cm-hr{color:transparent;border-top:1px solid #586e75;display:block}.cm-s-solarized .cm-link{color:#93a1a1;cursor:pointer}.cm-s-solarized .cm-special{color:#6c71c4}.cm-s-solarized .cm-em{color:#999;text-decoration:underline;text-decoration-style:dotted}.cm-s-solarized .cm-error,.cm-s-solarized .cm-invalidchar{color:#586e75;border-bottom:1px dotted #dc322f}.cm-s-solarized.cm-s-dark div.CodeMirror-selected{background:#073642}.cm-s-solarized.cm-s-dark.CodeMirror ::selection{background:rgba(7,54,66,.99)}.cm-s-dark .CodeMirror-line>span::-moz-selection,.cm-s-dark .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection{background:rgba(7,54,66,.99)}.cm-s-solarized.cm-s-light div.CodeMirror-selected{background:#eee8d5}.cm-s-light .CodeMirror-line>span::selection,.cm-s-light .CodeMirror-line>span>span::selection,.cm-s-solarized.cm-s-light .CodeMirror-line::selection{background:#eee8d5}.cm-s-light .CodeMirror-line>span::-moz-selection,.cm-s-light .CodeMirror-line>span>span::-moz-selection,.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection{background:#eee8d5}.cm-s-solarized.CodeMirror{-moz-box-shadow:inset 7px 0 12px -6px #000;-webkit-box-shadow:inset 7px 0 12px -6px #000;box-shadow:inset 7px 0 12px -6px #000}.cm-s-solarized .CodeMirror-gutters{border-right:0}.cm-s-solarized.cm-s-dark .CodeMirror-gutters{background-color:#073642}.cm-s-solarized.cm-s-dark .CodeMirror-linenumber{color:#586e75;text-shadow:#021014 0 -1px}.cm-s-solarized.cm-s-light .CodeMirror-gutters{background-color:#eee8d5}.cm-s-solarized.cm-s-light .CodeMirror-linenumber{color:#839496}.cm-s-solarized .CodeMirror-linenumber{padding:0 5px}.cm-s-solarized .CodeMirror-guttermarker-subtle{color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-guttermarker{color:#ddd}.cm-s-solarized.cm-s-light .CodeMirror-guttermarker{color:#cb4b16}.cm-s-solarized .CodeMirror-gutter .CodeMirror-gutter-text{color:#586e75}.cm-s-solarized .CodeMirror-cursor{border-left:1px solid #819090}.cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor{background:#7e7}.cm-s-solarized.cm-s-light .cm-animate-fat-cursor{background-color:#7e7}.cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor{background:#586e75}.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor{background-color:#586e75}.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.06)}.cm-s-solarized.cm-s-light .CodeMirror-activeline-background{background:rgba(0,0,0,.06)}",""])},OEyw:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("715g"),i=(o=n)&&o.__esModule?o:{default:o};r("m3vp");t.default={props:["resource","resourceName","resourceId","field"],data:function(){return{chartist:null}},watch:{"field.data":function(e,t){this.renderChart()}},methods:{renderChart:function(){this.chartist.update(this.field.data)}},mounted:function(){this.chartist=new i.default[this.chartStyle](this.$refs.chart,{series:[this.field.data]},{height:this.chartHeight,width:this.chartWidth,showPoint:!1,fullWidth:!0,chartPadding:{top:0,right:0,bottom:0,left:0},axisX:{showGrid:!1,showLabel:!1,offset:0},axisY:{showGrid:!1,showLabel:!1,offset:0}})},computed:{hasData:function(){return this.field.data.length>0},chartStyle:function(){var e=this.field.chartStyle.toLowerCase();return["line","bar"].includes(e)?e.charAt(0).toUpperCase()+e.slice(1):"Line"},chartHeight:function(){return this.field.height?this.field.height+"px":"120px"},chartWidth:function(){if(this.field.width)return this.field.width+"px"}}}},OLRZ:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("gRE1")),n=a(r("AeMR")),i=a(r("OTY/"));function a(e){return e&&e.__esModule?e:{default:e}}if(window.config.locale){var s=window.config.locale.replace("_","-");(0,o.default)(i.default).forEach(function(e){var t=e.languageTag;s!==t&&s!==t.substr(0,2)||n.default.registerLanguage(e)}),n.default.setLanguage(s)}n.default.setDefaults({thousandSeparated:!0}),t.default=n.default},ON07:function(e,t,r){var o=r("EqjI"),n=r("7KvD").document,i=o(n)&&o(n.createElement);e.exports=function(e){return i?n.createElement(e):{}}},OOqN:function(e,t,r){var o=r("G/6X");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("63a6c56e",o,!0,{})},"OSM+":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"full-width-content":!0,"show-help-text":!e.isReadonly&&e.showHelpText}},[r("template",{slot:"field"},[e.hasValue?r("div",{class:{"mb-6":!e.isReadonly}},[e.shouldShowLoader?[r("ImageLoader",{attrs:{src:e.imageUrl,maxWidth:e.maxWidth,rounded:e.field.rounded},on:{missing:function(t){return e.missing=t}}})]:e._e(),e._v(" "),e.field.value&&!e.imageUrl?[r("card",{staticClass:"flex item-center relative border border-lg border-50 overflow-hidden p-4"},[r("span",{staticClass:"truncate mr-3"},[e._v(" "+e._s(e.field.value)+" ")]),e._v(" "),e.shouldShowRemoveButton?r("DeleteButton",{staticClass:"ml-auto",attrs:{dusk:e.field.attribute+"-internal-delete-link"},on:{click:e.confirmRemoval}}):e._e()],1)]:e._e(),e._v(" "),e.imageUrl&&!e.isReadonly?r("p",{staticClass:"mt-3 flex items-center text-sm"},[e.shouldShowRemoveButton?r("DeleteButton",{attrs:{dusk:e.field.attribute+"-delete-link"},on:{click:e.confirmRemoval}},[r("span",{staticClass:"class ml-2 mt-1"},[e._v(" "+e._s(e.__("Delete"))+" ")])]):e._e()],1):e._e(),e._v(" "),r("portal",{attrs:{to:"modals"}},[e.removeModalOpen?r("confirm-upload-removal-modal",{on:{confirm:e.removeFile,close:e.closeRemoveModal}}):e._e()],1)],2):e._e(),e._v(" "),!e.hasValue&&e.isReadonly?r("p",{staticClass:"pt-2 text-sm text-90"},[e._v("\n "+e._s(e.__("This file field is read-only."))+"\n ")]):e._e(),e._v(" "),e.shouldShowField?r("span",{staticClass:"form-file mr-4",class:{"opacity-75":e.isReadonly}},[r("input",{ref:"fileField",staticClass:"form-file-input select-none",attrs:{dusk:e.field.attribute,type:"file",id:e.idAttr,name:"name",disabled:e.isReadonly||e.uploading,accept:e.field.acceptedTypes},on:{change:e.fileChange}}),e._v(" "),r("label",{staticClass:"form-file-btn btn btn-default btn-primary select-none",attrs:{for:e.labelFor}},[e.uploading?r("span",[e._v(e._s(e.__("Uploading"))+" ("+e._s(e.uploadProgress)+"%)")]):r("span",[e._v(e._s(e.__("Choose File")))])])]):e._e(),e._v(" "),e.shouldShowField?r("span",{staticClass:"text-90 text-sm select-none"},[e._v("\n "+e._s(e.currentLabel)+"\n ")]):e._e(),e._v(" "),e.hasError?r("p",{staticClass:"text-xs mt-2 text-danger"},[e._v(e._s(e.firstError))]):e._e()])],2)},staticRenderFns:[]}},OXlv:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("panel-item",{attrs:{field:this.field}})},staticRenderFns:[]}},Oa4a:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resource","resourceName","resourceId","field"]}},OaL9:function(e,t,r){var o=r("JgSA");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("f92ac8d4",o,!0,{})},Od4a:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-ambiance.CodeMirror{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}",""])},Oeoi:function(e,t,r){var o=r("rLho");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("5e9fb906",o,!0,{})},"Oer/":function(e,t,r){var o=r("VU/8")(null,r("+cmD"),!1,null,null,null);e.exports=o.exports},Ojrj:function(e,t,r){var o=r("hnAm");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("65a82e6a",o,!0,{})},Oke2:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"bg-30 rounded-t-lg flex border-b border-50"},[t("div",{staticClass:"bg-clip w-48 uppercase font-bold text-xs text-80 tracking-wide px-3 py-3"},[this._v("\n "+this._s(this.keyLabel)+"\n ")]),this._v(" "),t("div",{staticClass:"bg-clip flex-grow uppercase font-bold text-xs text-80 tracking-wide px-3 py-3 border-l border-50"},[this._v("\n "+this._s(this.valueLabel)+"\n ")])])},staticRenderFns:[]}},Ol1r:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"full-width-content":!0,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},[r("div",{staticClass:"bg-white rounded-lg overflow-hidden",class:{"markdown-fullscreen fixed pin z-50":e.isFullScreen,"form-input form-input-bordered px-0":!e.isFullScreen,"form-control-focus":e.isFocused,"border-danger":e.errors.has("body")}},[r("header",{staticClass:"flex items-center content-center justify-between border-b border-60",class:{"bg-30":e.isReadonly}},[r("ul",{staticClass:"w-full flex items-center content-center list-reset"},[r("button",{staticClass:"ml-1 text-90 px-3 py-2",class:{"text-primary font-bold":"write"==this.mode},on:{click:function(t){return t.preventDefault(),e.write(t)}}},[e._v("\n "+e._s(e.__("Write"))+"\n ")]),e._v(" "),r("button",{staticClass:"text-90 px-3 py-2",class:{"text-primary font-bold":"preview"==this.mode},on:{click:function(t){return t.preventDefault(),e.preview(t)}}},[e._v("\n "+e._s(e.__("Preview"))+"\n ")])]),e._v(" "),e.isReadonly?e._e():r("ul",{staticClass:"flex items-center list-reset"},e._l(e.tools,function(t){return r("button",{key:t.action,staticClass:"rounded-none ico-button inline-flex items-center justify-center px-2 text-sm text-80 border-l border-60",on:{click:function(r){return r.preventDefault(),e.callAction(t.action)}}},[r(t.icon,{tag:"component",staticClass:"fill-80 w-editor-icon h-editor-icon"})],1)}),0)]),e._v(" "),r("div",{directives:[{name:"show",rawName:"v-show",value:"write"==e.mode,expression:"mode == 'write'"}],staticClass:"flex markdown-content relative p-4",class:{"readonly bg-30":e.isReadonly}},[r("textarea",{ref:"theTextarea",class:{"bg-30":e.isReadonly}})]),e._v(" "),"preview"==e.mode?r("div",{staticClass:"markdown overflow-scroll p-4",domProps:{innerHTML:e._s(e.previewContent)}}):e._e()])])],2)},staticRenderFns:[]}},OqfM:function(e,t,r){e.exports=r("K7IC")},OtcX:function(e,t,r){var o=r("wPit");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("7cb76296",o,!0,{})},"P84+":function(e,t,r){"use strict";var o=r("4oCz");e.exports=function(e,t,r){return o.forEach(r,function(r){e=r(e,t)}),e}},P9RO:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e.actions.length>0||e.availablePivotActions.length>0?r("div",{staticClass:"flex items-center mr-3"},[r("select",{directives:[{name:"model",rawName:"v-model",value:e.selectedActionKey,expression:"selectedActionKey"}],ref:"selectBox",staticClass:"form-control form-select mr-2",attrs:{"data-testid":"action-select",dusk:"action-select"},on:{change:function(t){var r=Array.prototype.filter.call(t.target.options,function(e){return e.selected}).map(function(e){return"_value"in e?e._value:e.value});e.selectedActionKey=t.target.multiple?r:r[0]}}},[r("option",{attrs:{value:"",disabled:"",selected:""}},[e._v(e._s(e.__("Select Action")))]),e._v(" "),e.availableActions.length>0?r("optgroup",{attrs:{label:e.resourceInformation.singularLabel}},e._l(e.availableActions,function(t){return r("option",{key:t.urikey,domProps:{value:t.uriKey,selected:t.uriKey==e.selectedActionKey}},[e._v("\n "+e._s(t.name)+"\n ")])}),0):e._e(),e._v(" "),e.availablePivotActions.length>0?r("optgroup",{staticClass:"pivot-option-group",attrs:{label:e.pivotName}},e._l(e.availablePivotActions,function(t){return r("option",{key:t.urikey,domProps:{value:t.uriKey,selected:t.uriKey==e.selectedActionKey}},[e._v("\n "+e._s(t.name)+"\n ")])}),0):e._e()]),e._v(" "),r("button",{staticClass:"btn btn-default btn-primary flex items-center justify-center px-3",class:{"btn-disabled":!e.selectedAction},attrs:{"data-testid":"action-confirm",dusk:"run-action-button",disabled:!e.selectedAction,title:e.__("Run Action")},on:{click:function(t){return t.preventDefault(),e.determineActionStrategy(t)}}},[r("icon",{staticClass:"text-white",staticStyle:{"margin-left":"7px"},attrs:{type:"play"}})],1)]):e._e(),e._v(" "),r("portal",{attrs:{to:"modals",transition:"fade-transition"}},[e.confirmActionModalOpened?r(e.selectedAction.component,{tag:"component",staticClass:"text-left",attrs:{working:e.working,"selected-resources":e.selectedResources,"resource-name":e.resourceName,action:e.selectedAction,errors:e.errors},on:{confirm:e.executeAction,close:e.closeConfirmationModal}}):e._e(),e._v(" "),e.showActionResponseModal?r(e.actionResponseData.modal,{tag:"component",attrs:{data:e.actionResponseData},on:{close:e.closeActionResponseModal}}):e._e()],1)],1)},staticRenderFns:[]}},PBGk:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.panel.fields.length>0?r("div",[r("heading",{class:e.panel.helpText?"mb-2":"mb-3",attrs:{level:1}},[e._v(e._s(e.panel.name))]),e._v(" "),e.panel.helpText?r("p",{staticClass:"text-80 text-sm font-semibold italic mb-3",domProps:{innerHTML:e._s(e.panel.helpText)}}):e._e(),e._v(" "),r("card",e._l(e.panel.fields,function(t,o){return r(e.mode+"-"+t.component,{key:o,tag:"component",class:{"remove-bottom-border":o==e.panel.fields.length-1},attrs:{errors:e.validationErrors,"resource-id":e.resourceId,"resource-name":e.resourceName,field:t,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"shown-via-new-relation-modal":e.shownViaNewRelationModal,"show-help-text":null!=t.helpText},on:{"field-changed":function(t){return e.$emit("field-changed")},"file-deleted":function(t){return e.$emit("update-last-retrieved-at-timestamp")},"file-upload-started":function(t){return e.$emit("file-upload-started")},"file-upload-finished":function(t){return e.$emit("file-upload-finished")}}})}),1)],1):e._e()},staticRenderFns:[]}},PG9i:function(e,t,r){(function(e){"use strict";e.defineMode("shell",function(){var t={};function r(e,r){for(var o=0;o1&&e.eat("$");var r=e.next();return/['"({]/.test(r)?(t.tokens[0]=a(r,"("==r?"quote":"{"==r?"def":"string"),l(e,t)):(/\d/.test(r)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function l(e,r){return(r.tokens[0]||function(e,r){if(e.eatSpace())return null;var o,n=e.sol(),i=e.next();if("\\"===i)return e.next(),null;if("'"===i||'"'===i||"`"===i)return r.tokens.unshift(a(i,"`"===i?"quote":"string")),l(e,r);if("#"===i)return n&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===i)return r.tokens.unshift(c),l(e,r);if("+"===i||"="===i)return"operator";if("-"===i)return e.eat("-"),e.eatWhile(/\w/),"attribute";if("<"==i){if(e.match("<<"))return"operator";var s=e.match(/^<-?\s*['"]?([^'"]*)['"]?/);if(s)return r.tokens.unshift((o=s[1],function(e,t){return e.sol()&&e.string==o&&t.tokens.shift(),e.skipToEnd(),"string-2"})),"string-2"}if(/\d/.test(i)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var u=e.current();return"="===e.peek()&&/\w+/.test(u)?"def":t.hasOwnProperty(u)?t[u]:null})(e,r)}return{startState:function(){return{tokens:[]}},token:function(e,t){return l(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")})(r("8U58"))},PGnj:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("checkbox-with-label",{staticClass:"m-2",attrs:{checked:e.isChecked},on:{input:function(t){return e.updateCheckedState(e.option.value,t.target.checked)}}},[e._v("\n "+e._s(e.option.name)+"\n ")])],1)},staticRenderFns:[]}},PL8L:function(e,t,r){var o=r("VU/8")(r("WHQv"),r("0UgE"),!1,null,null,null);e.exports=o.exports},POb3:function(e,t,r){var o=r("ICSD")(r("TQ3y"),"Map");e.exports=o},"PdD+":function(e,t,r){(function(e){"use strict";e.defineMode("pug",function(t){var r="keyword",o="meta",n="builtin",i="qualifier",a={"{":"}","(":")","[":"]"},s=e.getMode(t,"javascript");function c(){this.javaScriptLine=!1,this.javaScriptLineExcludesColon=!1,this.javaScriptArguments=!1,this.javaScriptArgumentsDepth=0,this.isInterpolating=!1,this.interpolationNesting=0,this.jsState=e.startState(s),this.restOfLine="",this.isIncludeFiltered=!1,this.isEach=!1,this.lastTag="",this.scriptType="",this.isAttrs=!1,this.attrsNest=[],this.inAttributeName=!0,this.attributeIsType=!1,this.attrValue="",this.indentOf=1/0,this.indentToken="",this.innerMode=null,this.innerState=null,this.innerModeForLine=!1}function l(e,t){if(e.match("#{"))return t.isInterpolating=!0,t.interpolationNesting=0,"punctuation"}function u(r,o){var n;if(r.match(/^:([\w\-]+)/))return t&&t.innerModes&&(n=t.innerModes(r.current().substring(1))),n||(n=r.current().substring(1)),"string"==typeof n&&(n=e.getMode(t,n)),d(r,o,n),"atom"}function d(r,o,n){n=e.mimeModes[n]||n,n=t.innerModes&&t.innerModes(n)||n,n=e.mimeModes[n]||n,n=e.getMode(t,n),o.indentOf=r.indentation(),n&&"null"!==n.name?o.innerMode=n:o.indentToken="string"}function m(t,r,o){if(t.indentation()>r.indentOf||r.innerModeForLine&&!t.sol()||o)return r.innerMode?(r.innerState||(r.innerState=r.innerMode.startState?e.startState(r.innerMode,t.indentation()):{}),t.hideFirstChars(r.indentOf+2,function(){return r.innerMode.token(t,r.innerState)||!0})):(t.skipToEnd(),r.indentToken);t.sol()&&(r.indentOf=1/0,r.indentToken=null,r.innerMode=null,r.innerState=null)}return c.prototype.copy=function(){var t=new c;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=e.copyState(s,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=e.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new c},copyState:function(e){return e.copy()},token:function(t,c){var f=m(t,c)||function(e,t){if(e.sol()&&(t.restOfLine=""),t.restOfLine){e.skipToEnd();var r=t.restOfLine;return t.restOfLine="",r}}(t,c)||function(e,t){if(t.isInterpolating){if("}"===e.peek()){if(t.interpolationNesting--,t.interpolationNesting<0)return e.next(),t.isInterpolating=!1,"punctuation"}else"{"===e.peek()&&t.interpolationNesting++;return s.token(e,t.jsState)||!0}}(t,c)||function(e,t){if(t.isIncludeFiltered){var r=u(e,t);return t.isIncludeFiltered=!1,t.restOfLine="string",r}}(t,c)||function(e,t){if(t.isEach){if(e.match(/^ in\b/))return t.javaScriptLine=!0,t.isEach=!1,r;if(e.sol()||e.eol())t.isEach=!1;else if(e.next()){for(;!e.match(/^ in\b/,!1)&&e.next(););return"variable"}}}(t,c)||function t(r,o){if(o.isAttrs){if(a[r.peek()]&&o.attrsNest.push(a[r.peek()]),o.attrsNest[o.attrsNest.length-1]===r.peek())o.attrsNest.pop();else if(r.eat(")"))return o.isAttrs=!1,"punctuation";if(o.inAttributeName&&r.match(/^[^=,\)!]+/))return"="!==r.peek()&&"!"!==r.peek()||(o.inAttributeName=!1,o.jsState=e.startState(s),"script"===o.lastTag&&"type"===r.current().trim().toLowerCase()?o.attributeIsType=!0:o.attributeIsType=!1),"attribute";var n=s.token(r,o.jsState);if(o.attributeIsType&&"string"===n&&(o.scriptType=r.current().toString()),0===o.attrsNest.length&&("string"===n||"variable"===n||"keyword"===n))try{return Function("","var x "+o.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),o.inAttributeName=!0,o.attrValue="",r.backUp(r.current().length),t(r,o)}catch(e){}return o.attrValue+=r.current(),n||!0}}(t,c)||function(e,t){if(e.sol()&&(t.javaScriptLine=!1,t.javaScriptLineExcludesColon=!1),t.javaScriptLine){if(t.javaScriptLineExcludesColon&&":"===e.peek())return t.javaScriptLine=!1,void(t.javaScriptLineExcludesColon=!1);var r=s.token(e,t.jsState);return e.eol()&&(t.javaScriptLine=!1),r||!0}}(t,c)||function(e,t){if(t.javaScriptArguments)return 0===t.javaScriptArgumentsDepth&&"("!==e.peek()?void(t.javaScriptArguments=!1):("("===e.peek()?t.javaScriptArgumentsDepth++:")"===e.peek()&&t.javaScriptArgumentsDepth--,0===t.javaScriptArgumentsDepth?void(t.javaScriptArguments=!1):s.token(e,t.jsState)||!0)}(t,c)||function(e,t){if(t.mixinCallAfter)return t.mixinCallAfter=!1,e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),!0}(t,c)||function(e){if(e.match(/^yield\b/))return"keyword"}(t)||function(e){if(e.match(/^(?:doctype) *([^\n]+)?/))return o}(t)||l(t,c)||function(e,t){if(e.match(/^case\b/))return t.javaScriptLine=!0,r}(t,c)||function(e,t){if(e.match(/^when\b/))return t.javaScriptLine=!0,t.javaScriptLineExcludesColon=!0,r}(t,c)||function(e){if(e.match(/^default\b/))return r}(t)||function(e,t){if(e.match(/^extends?\b/))return t.restOfLine="string",r}(t,c)||function(e,t){if(e.match(/^append\b/))return t.restOfLine="variable",r}(t,c)||function(e,t){if(e.match(/^prepend\b/))return t.restOfLine="variable",r}(t,c)||function(e,t){if(e.match(/^block\b *(?:(prepend|append)\b)?/))return t.restOfLine="variable",r}(t,c)||function(e,t){if(e.match(/^include\b/))return t.restOfLine="string",r}(t,c)||function(e,t){if(e.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&e.match("include"))return t.isIncludeFiltered=!0,r}(t,c)||function(e,t){if(e.match(/^mixin\b/))return t.javaScriptLine=!0,r}(t,c)||function(e,t){return e.match(/^\+([-\w]+)/)?(e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),"variable"):e.match(/^\+#{/,!1)?(e.next(),t.mixinCallAfter=!0,l(e,t)):void 0}(t,c)||function(e,t){if(e.match(/^(if|unless|else if|else)\b/))return t.javaScriptLine=!0,r}(t,c)||function(e,t){if(e.match(/^(- *)?(each|for)\b/))return t.isEach=!0,r}(t,c)||function(e,t){if(e.match(/^while\b/))return t.javaScriptLine=!0,r}(t,c)||function(e,t){var r;if(r=e.match(/^(\w(?:[-:\w]*\w)?)\/?/))return t.lastTag=r[1].toLowerCase(),"script"===t.lastTag&&(t.scriptType="application/javascript"),"tag"}(t,c)||u(t,c)||function(e,t){if(e.match(/^(!?=|-)/))return t.javaScriptLine=!0,"punctuation"}(t,c)||function(e){if(e.match(/^#([\w-]+)/))return n}(t)||function(e){if(e.match(/^\.([\w-]+)/))return i}(t)||function(e,t){if("("==e.peek())return e.next(),t.isAttrs=!0,t.attrsNest=[],t.inAttributeName=!0,t.attrValue="",t.attributeIsType=!1,"punctuation"}(t,c)||function(e,t){if(e.match(/^&attributes\b/))return t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0,"keyword"}(t,c)||function(e){if(e.sol()&&e.eatSpace())return"indent"}(t)||function(e,t){return e.match(/^(?:\| ?| )([^\n]+)/)?"string":e.match(/^(<[^\n]*)/,!1)?(d(e,t,"htmlmixed"),t.innerModeForLine=!0,m(e,t,!0)):void 0}(t,c)||function(e,t){if(e.match(/^ *\/\/(-)?([^\n]*)/))return t.indentOf=e.indentation(),t.indentToken="comment","comment"}(t,c)||function(e){if(e.match(/^: */))return"colon"}(t)||function(e,t){if(e.eat(".")){var r=null;return"script"===t.lastTag&&-1!=t.scriptType.toLowerCase().indexOf("javascript")?r=t.scriptType.toLowerCase().replace(/"|'/g,""):"style"===t.lastTag&&(r="css"),d(e,t,r),"dot"}}(t,c)||function(e){return e.next(),null}(t);return!0===f?null:f}}},"javascript","css","htmlmixed"),e.defineMIME("text/x-pug","pug"),e.defineMIME("text/x-jade","pug")})(r("8U58"),r("5IAE"),r("puAj"),r("8Nur"))},PePT:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","resourceId","resource","field"],methods:{actionExecuted:function(){this.$emit("actionExecuted")}}}},PjGZ:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-base16-light.CodeMirror{background:#f5f5f5;color:#202020}.cm-s-base16-light div.CodeMirror-selected{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::selection,.cm-s-base16-light .CodeMirror-line>span::selection,.cm-s-base16-light .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-line::-moz-selection,.cm-s-base16-light .CodeMirror-line>span::-moz-selection,.cm-s-base16-light .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}.cm-s-base16-light .CodeMirror-gutters{background:#f5f5f5;border-right:0}.cm-s-base16-light .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-light .CodeMirror-guttermarker-subtle,.cm-s-base16-light .CodeMirror-linenumber{color:#b0b0b0}.cm-s-base16-light .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-base16-light span.cm-comment{color:#8f5536}.cm-s-base16-light span.cm-atom,.cm-s-base16-light span.cm-number{color:#aa759f}.cm-s-base16-light span.cm-attribute,.cm-s-base16-light span.cm-property{color:#90a959}.cm-s-base16-light span.cm-keyword{color:#ac4142}.cm-s-base16-light span.cm-string{color:#f4bf75}.cm-s-base16-light span.cm-variable{color:#90a959}.cm-s-base16-light span.cm-variable-2{color:#6a9fb5}.cm-s-base16-light span.cm-def{color:#d28445}.cm-s-base16-light span.cm-bracket{color:#202020}.cm-s-base16-light span.cm-tag{color:#ac4142}.cm-s-base16-light span.cm-link{color:#aa759f}.cm-s-base16-light span.cm-error{background:#ac4142;color:#505050}.cm-s-base16-light .CodeMirror-activeline-background{background:#dddcdc}.cm-s-base16-light .CodeMirror-matchingbracket{color:#f5f5f5!important;background-color:#6a9fb5!important}",""])},PjfB:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName"]}},PkgM:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-yeti.CodeMirror{background-color:#eceae8!important;color:#d1c9c0!important;border:none}.cm-s-yeti .CodeMirror-gutters{color:#adaba6;background-color:#e5e1db;border:none}.cm-s-yeti .CodeMirror-cursor{border-left:thin solid #d1c9c0}.cm-s-yeti .CodeMirror-linenumber{color:#adaba6}.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::selection,.cm-s-yeti .CodeMirror-line>span::selection,.cm-s-yeti .CodeMirror-line>span>span::selection{background:#dcd8d2}.cm-s-yeti .CodeMirror-line::-moz-selection,.cm-s-yeti .CodeMirror-line>span::-moz-selection,.cm-s-yeti .CodeMirror-line>span>span::-moz-selection{background:#dcd8d2}.cm-s-yeti span.cm-comment{color:#d4c8be}.cm-s-yeti span.cm-string,.cm-s-yeti span.cm-string-2{color:#96c0d8}.cm-s-yeti span.cm-number{color:#a074c4}.cm-s-yeti span.cm-variable{color:#55b5db}.cm-s-yeti span.cm-variable-2{color:#a074c4}.cm-s-yeti span.cm-def{color:#55b5db}.cm-s-yeti span.cm-keyword,.cm-s-yeti span.cm-operator{color:#9fb96e}.cm-s-yeti span.cm-atom{color:#a074c4}.cm-s-yeti span.cm-meta,.cm-s-yeti span.cm-tag{color:#96c0d8}.cm-s-yeti span.cm-attribute{color:#9fb96e}.cm-s-yeti span.cm-qualifier{color:#96c0d8}.cm-s-yeti span.cm-builtin,.cm-s-yeti span.cm-property{color:#a074c4}.cm-s-yeti span.cm-type,.cm-s-yeti span.cm-variable-3{color:#96c0d8}.cm-s-yeti .CodeMirror-activeline-background{background:#e7e4e0}.cm-s-yeti .CodeMirror-matchingbracket{text-decoration:underline}",""])},PoHx:function(e,t,r){var o=r("Jo/A");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("0be85ea7",o,!0,{})},Psw3:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-neat span.cm-comment{color:#a86}.cm-s-neat span.cm-keyword{line-height:1em;font-weight:700;color:blue}.cm-s-neat span.cm-string{color:#a22}.cm-s-neat span.cm-builtin{line-height:1em;font-weight:700;color:#077}.cm-s-neat span.cm-special{line-height:1em;font-weight:700;color:#0aa}.cm-s-neat span.cm-variable{color:#000}.cm-s-neat span.cm-atom,.cm-s-neat span.cm-number{color:#3a3}.cm-s-neat span.cm-meta{color:#555}.cm-s-neat span.cm-link{color:#3a3}.cm-s-neat .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-neat .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}",""])},Py83:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.shouldShowButtons?r("div",[e.shouldShowAttachButton?r("router-link",{class:e.classes,attrs:{dusk:"attach-button",to:{name:"attach",params:{resourceName:e.viaResource,resourceId:e.viaResourceId,relatedResourceName:e.resourceName},query:{viaRelationship:e.viaRelationship,polymorphic:"morphToMany"==e.relationshipType?"1":"0"}}}},[e._t("default",[e._v(" "+e._s(e.__("Attach :resource",{resource:e.singularName})))])],2):e.shouldShowCreateButton?r("router-link",{class:e.classes,attrs:{dusk:"create-button",to:{name:"create",params:{resourceName:e.resourceName},query:{viaResource:e.viaResource,viaResourceId:e.viaResourceId,viaRelationship:e.viaRelationship}}}},[e._v("\n "+e._s(e.label)+"\n ")]):e._e()],1):e._e()},staticRenderFns:[]}},PzxK:function(e,t,r){var o=r("D2L2"),n=r("sB3e"),i=r("ax3d")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=n(e),o(e,i)?e[i]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},"Q/Cm":function(e,t,r){var o=r("WBOZ");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("c690bb46",o,!0,{})},Q2wK:function(e,t,r){var o=r("8AZL"),n=Math.max;e.exports=function(e,t,r){return t=n(void 0===t?e.length-1:t,0),function(){for(var i=arguments,a=-1,s=n(i.length-t,0),c=Array(s);++aspan::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;-moz-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)}.cm-s-ambiance.CodeMirror,.cm-s-ambiance .CodeMirror-gutters{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAQAAAAHUWYVAABFFUlEQVQYGbzBCeDVU/74/6fj9HIcx/FRHx9JCFmzMyGRURhLZIkUsoeRfUjS2FNDtr6WkMhO9sm+S8maJfu+Jcsg+/o/c+Z4z/t97/vezy3z+z8ekGlnYICG/o7gdk+wmSHZ1z4pJItqapjoKXWahm8NmV6eOTbWUOp6/6a/XIg6GQqmenJ2lDHyvCFZ2cBDbmtHA043VFhHwXxClWmeYAdLhV00Bd85go8VmaFCkbVkzlQENzfBDZ5gtN7HwF0KDrTwJ0dypSOzpaKCMwQHKTIreYIxlmhXTzTWkVm+LTynZhiSBT3RZQ7aGfjGEd3qyXQ1FDymqbKxpspERQN2MiRjNZlFFQXfCNFm9nM1zpAsoYjmtRTc5ajwuaXc5xrWskT97RaKzAGe5ARHhVUsDbjKklziiX5WROcJwSNCNI+9w1Jwv4Zb2r7lCMZ4oq5C0EdTx+2GzNuKpJ+iFf38JEWkHJn9DNF7mmBDITrWEg0VWL3pHU20tSZnuqWu+R3BtYa8XxV1HO7GyD32UkOpL/yDloINFTmvtId+nmAjxRw40VMwVKiwrKLE4bK5UOVntYwhOcSSXKrJHKPJedocpGjVz/ZMIbnYUPB10/eKCrs5apqpgVmWzBYWpmtKHecJPjaUuEgRDDaU0oZghCJ6zNMQ5ZhDYx05r5v2muQdM0EILtXUsaKiQX9WMEUotagQzFbUNN6NUPC2nm5pxEWGCjMc3GdJHjSU2kORLK/JGSrkfGEIjncU/CYUnOipoYemwj8tST9NsJmB7TUVXtbUtXATJVZXBMvYeTXJfobgJUPmGMP/yFaWonaa6BcFO3nqcIqCozSZoZoSr1g4zJOzuyGnxTEX3lUEJ7WcZgme8ddaWvWJo2AJR9DZU3CUIbhCSG6ybSwN6qtJVnCU2svDTP2ZInOw2cBTrqtQahtNZn9NcJ4l2NaSmSkkP1noZWnVwkLmdUPOwLZEwy2Z3S3R+4rIG9hcbpPXHFVWcQdZkn2FOta3cKWQnNRC5g1LsJah4GCzSVsKnCOY5OAFRTBekyyryeyilhFKva75r4Mc0aWanGEaThcy31s439KKxTzJYY5WTHPU1FtIHjQU3Oip4xlNzj/lBw23dYZVliQa7WAXf4shetcQfatI+jWRDBPmyNeW6A1P5kdDgyYJlba0BIM8BZu1JfrFwItyjcAMR3K0BWOIrtMEXyhyrlVEx3ui5dUBjmB/Q3CXW85R4mBD0s7B+4q5tKUjOlb9qqmhi5AZ6GFIC5HXtOobdYGlVdMVbNJ8toNTFcHxnoL+muBagcctjWnbNMuR00uI7nQESwg5q2qqrKWIfrNUmeQocY6HuyxJV02wj36w00yhpmUFenv4p6fUkZYqLyuinx2RGOjhCXYyJF84oiU00YMOOhhquNdfbOB7gU88pY4xJO8LVdp6/q2voeB4R04vIdhSE40xZObx1HGGJ/ja0LBthFInKaLPPFzuCaYaoj8JjPME8yoyxo6zlBqkiUZYgq00OYMswbWO5NGmq+xhipxHLRW29ARjNKXO0wRnear8XSg4XFPLKEPUS1GqvyLwiuBUoa7zpZ0l5xxFwWmWZC1H5h5FwU8eQ7K+g8UcVY6TMQreVQT/8uQ8Z+ALIXnSEa2pYZQneE9RZbSBNYXfWYJzW/h/4j4Dp1tYVcFIC5019Vyi4ThPqSFCzjGWaHQTBU8q6vrVwgxP9Lkm840imWKpcLCjYTtrKuwvsKSnrvHCXGkSMk9p6lhckfRpIeis+N2PiszT+mFLspyGleUhDwcLrZqmyeylxwjBcKHEapqkmyangyLZRVOijwOtCY5SsG5zL0OwlCJ4y5KznF3EUNDDrinwiyLZRzOXtlBbK5ITHFGLp8Q0R6ab6mS7enI2cFrxOyHvOCFaT1HThS1krjCwqWeurCkk+willhCC+RSZnRXBiZaC5RXRIZYKp2lyfrHwiKPKR0JDzrdU2EFgpidawlFDR6FgXUMNa+g1FY3bUQh2cLCwosRdnuQTS/S+JVrGLeWIvtQUvONJxlqSQYYKpwoN2kaocLjdVsis4Mk80ESF2YpSkzwldjHkjFCUutI/r+EHDU8oCs6yzL3PhWiEooZdFMkymlas4AcI3KmoMMNSQ3tHzjGWCrcJJdYyZC7QFGwjRL9p+MrRkAGWzIaWCn9W0F3TsK01c2ZvQw0byvxuQU0r1lM0qJO7wW0kRIMdDTtXEdzi4VIh+EoIHm0mWtAtpCixlabgn83fKTI7anJe9ST7WIK1DMGpQmYeA58ImV6ezOGOzK2Kgq01pd60cKWiUi9Lievb/0vIDPHQ05Kzt4ddPckQBQtoaurjyHnek/nKzpQLrVgKPjIkh2v4uyezpv+Xoo7fPFXaGFp1vaLKxQ4uUpQQS5VuQs7BCq4xRJv7fwpVvvFEB3j+620haOuocqMhWd6TTPAEx+mdFNGHdranFe95WrWmIvlY4F1Dle2ECgc6cto7SryuqGGGha0tFQ5V53migUKmg6XKAo4qS3mik+0OZpAhOLeZKicacgaYcyx5hypYQE02ZA4xi/pNhOQxR4klNKyqacj+mpxnLTnnGSo85++3ZCZq6lrZkXlGEX3o+C9FieccJbZWVFjC0Yo1FZnJhoYMFoI1hEZ9r6hwg75HwzBNhbZCdJEfJwTPGzJvaKImw1yYX1HDAmpXR+ZJQ/SmgqMNVQb5vgamGwLtt7VwvP7Qk1xpiM5x5Cyv93E06MZmgs0Nya2azIKOYKCGBQQW97RmhKNKF02JZqHEJ4o58qp7X5EcZmc56trXEqzjCBZ1MFGR87Ql2tSTs6CGxS05PTzRQorkbw7aKoKXFDXsYW42VJih/q+FP2BdTzDTwVqOYB13liM50vG7wy28qagyuIXMeQI/Oqq8bcn5wJI50xH00CRntyfpL1T4hydYpoXgNiFzoIUTDZnLNRzh4TBHwbYGDvZkxmlyJloyr6tRihpeUG94GnKtIznREF0tzJG/OOr73JBcrSh1k6WuTprgLU+mnSGnv6Zge0NNz+kTDdH8nuAuTdJDCNb21LCiIuqlYbqGzT3RAoZofQfjFazkqeNWdYaGvYTM001EW2oKPvVk1ldUGSgUtHFwjKM1h9jnFcmy5lChoLNaQMGGDsYbKixlaMBmmsx1QjCfflwTfO/gckW0ruZ3jugKR3R5W9hGUWqCgxuFgsuaCHorotGKzGaeZB9DMsaTnKCpMtwTvOzhYk0rdrArKCqcaWmVk1+F372ur1YkKxgatI8Qfe1gIX9wE9FgS8ESmuABIXnRUbCapcKe+nO7slClSZFzpV/LkLncEb1qiO42fS3R855Su2mCLh62t1SYZZYVmKwIHjREF2uihTzB20JOkz7dkxzYQnK0UOU494wh+VWRc6Un2kpTaVgLDFEkJ/uhzRcI0YKGgpGWOlocBU/a4fKoJ/pEaNV6jip3+Es9VXY078rGnmAdf7t9ylPXS34RBSuYPs1UecZTU78WanhBCHpZ5sAoTz0LGZKjPf9TRypqWEiTvOFglL1fCEY3wY/++rbk7C8bWebA6p6om6PgOL2kp44TFJlVNBXae2rqqdZztOJpT87GQsE9jqCPIe9VReZuQ/CIgacsyZdCpIScSYqcZk8r+nsyCzhyfhOqHGOIvrLknC8wTpFcaYiGC/RU1NRbUeUpocQOnkRpGOrIOcNRx+1uA0UrzhSSt+VyS3SJpnFWkzNDqOFGIWcfR86DnmARTQ1HKIL33ExPiemeOhYSSjzlSUZZuE4TveoJLnBUOFof6KiysCbnAEcZgcUNTDOwkqWu3RWtmGpZwlHhJENdZ3miGz0lJlsKnjbwqSHQjpxnFDlTLLwqJPMZMjd7KrzkSG7VsxXBZE+F8YZkb01Oe00yyRK9psh5SYh29ySPKBo2ylNht7ZkZnsKenjKNJu9PNEyZpaCHv4Kt6RQsLvAVp7M9kIimmCUwGeWqLMmGuIotYMmWNpSahkhZw9FqZsVnKJhsjAHvtHMsTM9fCI06Dx/u3vfUXCqfsKRc4oFY2jMsoo/7DJDwZ1CsIKnJu+J9ldkpmiCxQx1rWjI+T9FwcWWzOuaYH0Hj7klNRVWEQpmaqosakiGNTFHdjS/qnUdmf0NJW5xsL0HhimCCZZSRzmSPTXJQ4aaztAwtZnoabebJ+htCaZ7Cm535ByoqXKbX1WRc4Eh2MkRXWzImVc96Cj4VdOKVxR84VdQsIUM8Psoou2byVHyZFuq7O8otbSQ2UAoeEWTudATLGSpZzVLlXVkPU2Jc+27lsw2jmg5T5VhbeE3BT083K9WsTTkFU/Osi0rC5lRlpwRHUiesNS0sOvmqGML1aRbPAxTJD9ZKtxuob+hhl8cwYGWpJ8nub7t5p6coYbMovZ1BTdaKn1jYD6h4GFDNFyT/Kqe1XCXphXHOKLZmuRSRdBPEfVUXQzJm5YGPGGJdvAEr7hHNdGZnuBvrpciGmopOLf5N0uVMy0FfYToJk90uUCbJupaVpO53UJXR2bVpoU00V2KOo4zMFrBd0Jtz2pa0clT5Q5L8IpQ177mWQejPMEJhuQjS10ref6HHjdEhy1P1EYR7GtO0uSsKJQYLiTnG1rVScj5lyazpqWGl5uBbRWl7m6ixGOOnEsMJR7z8J0n6KMnCdxhiNYQCoZ6CmYLnO8omC3MkW3bktlPmEt/VQQHejL3+dOE5FlPdK/Mq8hZxxJtLyRrepLThYKbLZxkSb5W52vYxNOaOxUF0yxMUPwBTYqCzy01XayYK0sJyWBLqX0MwU5CzoymRzV0EjjeUeLgDpTo6ij42ZAzvD01dHUUTPLU96MdLbBME8nFBn7zJCMtJcZokn8YoqU0FS5WFKyniHobguMcmW8N0XkWZjkyN3hqOMtS08r+/xTBwpZSZ3qiVRX8SzMHHjfUNFjgHEPmY9PL3ykEzxkSre/1ZD6z/NuznuB0RcE1TWTm9zRgfUWVJiG6yrzgmWPXC8EAR4Wxhlad0ZbgQyEz3pG5RVEwwDJH2mgKpjcTiCOzn1lfUWANFbZ2BA8balnEweJC9J0iuaeZoI+ippFCztEKVvckR2iice1JvhVytrQwUAZpgsubCPaU7xUe9vWnaOpaSBEspalykhC9bUlOMpT42ZHca6hyrqKmw/wMR8H5ZmdFoBVJb03O4UL0tSNnvIeRmkrLWqrs78gcrEn2tpcboh0UPOW3UUR9PMk4T4nnNKWmCjlrefhCwxRNztfmIQVdDElvS4m1/WuOujoZCs5XVOjtKPGokJzsYCtFYoWonSPT21DheU/wWhM19FcElwqNGOsp9Q8N/cwXaiND1MmeL1Q5XROtYYgGeFq1aTMsoMmcrKjQrOFQTQ1fmBYhmW6o8Jkjc7iDJRTBIo5kgJD5yMEYA3srCg7VFKwiVJkmRCc5ohGOKhsYMn/XBLdo5taZjlb9YAlGWRimqbCsoY7HFAXLa5I1HPRxMMsQDHFkWtRNniqT9UEeNjcE7RUlrCJ4R2CSJuqlKHWvJXjAUNcITYkenuBRB84TbeepcqTj3zZyFJzgYQdHnqfgI0ddUwS6GqWpsKWhjq9cV0vBAEMN2znq+EBfIWT+pClYw5xsTlJU6GeIBsjGmmANTzJZiIYpgrM0Oa8ZMjd7NP87jxhqGOhJlnQtjuQpB+8aEE00wZFznSJPyHxgH3HkPOsJFvYk8zqCHzTs1BYOa4J3PFU+UVRZxlHDM4YavlNUuMoRveiZA2d7grMNc2g+RbSCEKzmgYsUmWmazFJyoiOZ4KnyhKOGRzWJa0+moyV4TVHDzn51Awtqaphfk/lRQ08FX1iiqxTB/kLwd0VynKfEvI6cd4XMV5bMhZ7gZUWVzYQ6Nm2BYzxJbw3bGthEUUMfgbGeorae6DxHtJoZ6alhZ0+ytiVoK1R4z5PTrOECT/SugseEOlb1MMNR4VRNcJy+V1Hg9ONClSZFZjdHlc6W6FBLdJja2MC5hhpu0DBYEY1TFGwiFAxRRCsYkiM9JRb0JNMVkW6CZYT/2EiTGWmo8k+h4FhDNE7BvppoTSFnmCV5xZKzvcCdDo7VVPnIU+I+Rc68juApC90MwcFCsJ5hDqxgScYKreruyQwTqrzoqDCmhWi4IbhB0Yrt3RGa6GfDv52rKXWhh28dyZaWUvcZeMTBaZoSGyiCtRU5J8iviioHaErs7Jkj61syVzTTgOcUOQ8buFBTYWdL5g3T4qlpe0+wvD63heAXRfCCIed9RbCsp2CiI7raUOYOTU13N8PNHvpaGvayo4a3LLT1lDrVEPT2zLUlheB1R+ZTRfKWJ+dcocLJfi11vyJ51lLqJ0WD7tRwryezjiV5W28uJO9qykzX8JDe2lHl/9oyBwa2UMfOngpXCixvKdXTk3wrsKmiVYdZIqsoWEERjbcUNDuiaQomGoIbFdEHmsyWnuR+IeriKDVLnlawlyNHKwKlSU631PKep8J4Q+ayjkSLKYLhalNHlYvttb6fHm0p6OApsZ4l2VfdqZkjuysy6ysKLlckf1KUutCTs39bmCgEyyoasIWlVaMF7mgmWtBT8Kol5xpH9IGllo8cJdopcvZ2sImlDmMIbtDk3KIpeNiS08lQw11NFPTwVFlPP6pJ2gvRfI7gQUfmNAtf6Gs0wQxDsKGlVBdF8rCa3jzdwMaGHOsItrZk7hAyOzpK9VS06j5F49b0VNGOOfKs3lDToMsMBe9ZWtHFEgxTJLs7qrygKZjUnmCYoeAqeU6jqWuLJup4WghOdvCYJnrSkSzoyRkm5M2StQwVltPkfCAk58tET/CSg+8MUecmotMEnhBKfWBIZsg2ihruMJQaoIm+tkTLKEqspMh00w95gvFCQRtDwTT1gVDDSEVdlwqZfxoQRbK0g+tbiBZxzKlpnpypejdDwTaeOvorMk/IJE10h9CqRe28hhLbe0pMsdSwv4ZbhKivo2BjDWfL8UKJgeavwlwb5KlwhyE4u4XkGE2ytZCznKLCDZZq42VzT8HLCrpruFbIfOIINmh/qCdZ1ZBc65kLHR1Bkyf5zn6pN3SvGKIlFNGplhrO9QSXanLOMQTLCa0YJCRrCZm/CZmrLTm7WzCK4GJDiWUdFeYx1LCFg3NMd0XmCuF3Y5rITLDUsYS9zoHVzwnJoYpSTQoObyEzr4cFBNqYTopoaU/wkyLZ2lPhX/5Y95ulxGTV7KjhWrOZgl8MyUUafjYraNjNU1N3IWcjT5WzWqjwtoarHSUObGYO3GCJZpsBlnJGPd6ZYLyl1GdCA2625IwwJDP8GUKymbzuyPlZlvTUsaUh5zFDhRWFzPKKZLAlWdcQbObgF9tOqOsmB1dqcqYJmWstFbZRRI9poolmqiLnU0POvxScpah2iSL5UJNzgScY5+AuIbpO0YD3NCW+dLMszFSdFCWGqG6eVq2uYVNDdICGD6W7EPRWZEY5gpsE9rUkS3mijzzJnm6UpUFXG1hCUeVoS5WfNcFpblELL2qqrCvMvRfd45oalvKU2tiQ6ePJOVMRXase9iTtLJztPxJKLWpo2CRDcJwn2sWSLKIO1WQWNTCvpVUvOZhgSC40JD0dOctaSqzkCRbXsKlb11Oip6PCJ0IwSJM31j3akRxlP7Rwn6aGaUL0qiLnJkvB3xWZ2+Q1TfCwpQH3G0o92UzmX4o/oJNQMMSQc547wVHhdk+VCw01DFYEnTxzZKAm74QmeNNR1w6WzEhNK15VJzuCdxQ53dRUDws5KvwgBMOEgpcVNe0hZI6RXT1Jd0cyj5nsaEAHgVmGaJIlWdsc5Ui2ElrRR6jrRAttNMEAIWrTDFubkZaok7/AkzfIwfuWVq0jHzuCK4QabtLUMVPB3kJ0oyHTSVFlqMALilJf2Rf8k5aaHtMfayocLBS8L89oKoxpJvnAkDPa0qp5DAUTHKWmCcnthlou8iCKaFFLHWcINd1nyIwXqrSxMNmSs6KmoL2QrKuWtlQ5V0120xQ5vRyZS1rgFkWwhiOwiuQbR0OOVhQM9iS3tiXp4RawRPMp5tDletOOBL95MpM01dZTBM9pkn5qF010rIeHFcFZhmSGpYpTsI6nwhqe5C9ynhlpp5ophuRb6WcJFldkVnVEwwxVfrVkvnWUuNLCg5bgboFHPDlDPDmnK7hUrWiIbjadDclujlZcaokOFup4Ri1kacV6jmrrK1hN9bGwpKEBQ4Q6DvIUXOmo6U5LqQM6EPyiKNjVkPnJkDPNEaxhiFay5ExW1NXVUGqcpYYdPcGiCq7z/TSlbhL4pplWXKd7NZO5QQFrefhRQW/NHOsqcIglc4UhWklR8K0QzbAw08CBDnpbgqXdeD/QUsM4RZXDFBW6WJKe/mFPdH0LtBgiq57wFLzlyQzz82qYx5D5WJP5yVJDW01BfyHnS6HKO/reZqId1WGa4Hkh2kWodJ8i6KoIPlAj2hPt76CzXsVR6koPRzWTfKqIentatYpQw2me4AA3y1Kind3SwoOKZDcFXTwl9tWU6mfgRk9d71sKtlNwrjnYw5tC5n5LdKiGry3JKNlHEd3oaMCFHrazBPMp/uNJ+V7IudcSbeOIdjUEdwl0VHCOZo5t6YluEuaC9mQeMgSfOyKnYGFHcIeQ84yQWbuJYJpZw5CzglDH7gKnWqqM9ZTaXcN0TeYhR84eQtJT76JJ1lREe7WnnvsMmRc9FQ7SBBM9mV3lCUdmHk/S2RAMt0QjFNFqQpWjDPQ01DXWUdDBkXziKPjGEP3VP+zIWU2t7im41FOloyWzn/L6dkUy3VLDaZ6appgDLHPjJEsyvJngWEPUyVBiAaHCTEXwrLvSEbV1e1gKJniicWorC1MUrVjB3uDhJE/wgSOzk1DXpk0k73qCM8xw2UvD5kJmDUfOomqMpWCkJRlvKXGmoeBm18USjVIk04SClxTB6YrgLAPLWYK9HLUt5cmc0vYES8GnTeRc6skZbQkWdxRsIcyBRzx1DbTk9FbU0caTPOgJHhJKnOGIVhQqvKmo0llRw9sabrZkDtdg3PqaKi9oatjY8B+G371paMg6+mZFNNtQ04mWBq3rYLOmtWWQp8KJnpy9DdFensyjdqZ+yY40VJlH8wcdLzC8PZnvHMFUTZUrDTkLyQaGus5X5LzpYAf3i+e/ZlhqGqWhh6Ou6xTR9Z6oi5AZZtp7Mj2EEm8oSpxiYZCHU/1fbGdNNNRRoZMhmilEb2gqHOEJDtXkHK/JnG6IrvbPCwV3NhONVdS1thBMs1T4QOBcTWa2IzhMk2nW5Kyn9tXUtpv9RsG2msxk+ZsQzRQacJncpgke0+T8y5Fzj8BiGo7XlJjaTIlpQs7KFjpqGnKuoyEPeIKnFMkZHvopgh81ySxNFWvJWcKRs70j2FOT012IllEEO1n4pD1513Yg2ssQPOThOkvyrqHUdEXOSEsihmBbTbKX1kLBPWqWkLOqJbjB3GBIZmoa8qWl4CG/iZ7oiA72ZL7TJNeZUY7kFQftDcHHluBzRbCegzMtrRjVQpX2lgoPKKLJAkcbMl01XK2p7yhL8pCBbQ3BN2avJgKvttcrWDK3CiUOVxQ8ZP+pqXKyIxnmBymCg5vJjNfkPK4+c8cIfK8ocVt7kmfd/I5SR1hKvCzUtb+lhgc00ZaO6CyhIQP1Uv4yIZjload72PXX0OIJvnFU+0Zf6MhsJwTfW0r0UwQfW4LNLZl5HK261JCZ4qnBaAreVAS3WrjV0LBnNDUNNDToCEeFfwgcb4gOEqLRhirWkexrCEYKVV711DLYEE1XBEsp5tpTGjorkomKYF9FDXv7fR3BGwbettSxnyL53MBPjsxDZjMh+VUW9NRxq1DhVk+FSxQcaGjV9Pawv6eGByw5qzoy7xk4RsOShqjJwWKe/1pEEfzkobeD/dQJmpqedcyBTy2sr4nGNRH0c0SPWTLrqAc0OQcb/gemKgqucQT7ySWKCn2EUotoCvpZct7RO2sy/QW0IWcXd7pQRQyZVwT2USRO87uhjioTLKV2brpMUcMQRbKH/N2T+UlTpaMls6cmc6CCNy3JdYYSUzzJQ4oSD3oKLncULOiJvjBEC2oqnCJkJluCYy2ZQ5so9YYlZ1VLlQU1mXEW1jZERwj/MUSRc24TdexlqLKfQBtDTScJUV8FszXBEY5ktpD5Ur9hYB4Nb1iikw3JoYpkKX+RodRKFt53MMuRnKSpY31PwYaGaILh3wxJGz9TkTPEETxoCWZrgvOlmyMzxFEwVJE5xZKzvyJ4WxEc16Gd4Xe3Weq4XH2jKRikqOkGQ87hQnC7wBmGYLAnesX3M+S87eFATauuN+Qcrh7xIxXJbUIdMw3JGE3ylCWzrieaqCn4zhGM19TQ3z1oH1AX+pWEqIc7wNGAkULBo/ZxRaV9NNyh4Br3rCHZzbzmSfawBL0dNRwpW1kK9mxPXR9povcdrGSZK9c2k0xwFGzjuniCtRSZCZ6ccZ7gaktmgAOtKbG/JnOkJrjcQTdFMsxRQ2cLY3WTIrlCw1eWKn8R6pvt4GFDso3QoL4a3nLk3G6JrtME3dSenpx7PNFTmga0EaJTLQ061sEeQoWXhSo9LTXsaSjoJQRXeZLtDclbCrYzfzHHeaKjHCVOUkQHO3JeEepr56mhiyaYYKjjNU+Fed1wS5VlhWSqI/hYUdDOkaxiKehoyOnrCV5yBHtbWFqTHCCwtpDcYolesVR5yUzTZBb3RNMd0d6WP+SvhuBmRcGxnuQzT95IC285cr41cLGQ6aJJhmi4TMGempxeimBRQw1tFKV+8jd6KuzoSTqqDxzRtpZkurvKEHxlqXKRIjjfUNNXQsNOsRScoWFLT+YeRZVD3GRN0MdQcKqQjHDMrdGGVu3iYJpQx3WGUvfbmxwFfR20WBq0oYY7LMFhhgYtr8jpaEnaOzjawWWaTP8mMr0t/EPDPoqcnxTBI5o58L7uoWnMrpoqPwgVrlAUWE+V+TQl9rawoyP6QGAlQw2TPRX+YSkxyBC8Z6jhHkXBgQL7WII3DVFnRfCrBfxewv9D6xsyjys4VkhWb9pUU627JllV0YDNHMku/ldNMMXDEo4aFnAkk4U6frNEU4XgZUPmEKHUl44KrzmYamjAbh0JFvGnaTLPu1s9jPCwjFpYiN7z1DTOk/nc07CfDFzmCf7i+bfNHXhDtLeBXzTBT5rkMvWOIxpl4EMh2LGJBu2syDnAEx2naEhHDWMMzPZEhygyS1mS5RTJr5ZkoKbEUoYqr2kqdDUE8ztK7OaIntJkFrIECwv8LJTaVx5XJE86go8dFeZ3FN3rjabCAYpoYEeC9zzJVULBbmZhDyd7ko09ydpNZ3nm2Kee4FPPXHnYEF1nqOFEC08LUVcDvYXkJHW8gTaKCk9YGOeIJhqiE4ToPEepdp7IWFjdwnWaufGMwJJCMtUTTBBK9BGCOy2tGGrJTHIwyEOzp6aPzNMOtlZkDvcEWpP5SVNhfkvDxhmSazTJXYrM9U1E0xwFVwqZQwzJxw6+kGGGUj2FglGGmnb1/G51udRSMNlTw6GGnCcUwVcOpmsqTHa06o72sw1RL02p9z0VbnMLOaIX3QKaYKSCFQzBKEUNHTSc48k53RH9wxGMtpQa5KjjW0W0n6XCCCG4yxNNdhQ4R4l1Ff+2sSd6UFHiIEOyqqFgT01mEUMD+joy75jPhOA+oVVLm309FR4yVOlp4RhLiScNmSmaYF5Pw0STrOIoWMSR2UkRXOMp+M4SHW8o8Zoi6OZgjKOaFar8zZDzkWzvKOjkKBjmCXby8JahhjXULY4KlzgKLvAwxVGhvyd4zxB1d9T0piazmKLCVZY5sKiD0y2ZSYrkUEPUbIk+dlQ4SJHTR50k1DPaUWIdTZW9NJwnJMOECgd7ou/MnppMJ02O1VT4Wsh85MnZzcFTngpXGKo84qmwgKbCL/orR/SzJ2crA+t6Mp94KvxJUeIbT3CQu1uIdlQEOzlKfS3UMcrTiFmOuroocrZrT2AcmamOKg8YomeEKm/rlT2sociMaybaUlFhuqHCM2qIJ+rg4EcDFymiDSxzaHdPcpE62pD5kyM5SBMoA1PaUtfIthS85ig1VPiPPYXgYEMNk4Qq7TXBgo7oT57gPUdwgCHzhIVFPFU6OYJzHAX9m5oNrVjeE61miDrqQ4VSa1oiURTsKHC0IfjNwU2WzK6eqK8jWln4g15TVBnqmDteCJ501PGAocJhhqjZdtBEB6lnhLreFJKxmlKbeGrqLiSThVIbCdGzloasa6lpMQXHCME2boLpJgT7yWaemu6wBONbqGNVRS0PKIL7LckbjmQtR7K8I5qtqel+T/ChJTNIKLjdUMNIRyvOEko9YYl2cwQveBikCNawJKcLBbc7+JM92mysNvd/Fqp8a0k6CNEe7cnZrxlW0wQXaXjaktnRwNOGZKYiONwS7a1JVheq3WgJHlQUGKHKmp4KAxXR/ULURcNgoa4zhKSLpZR3kxRRb0NmD0OFn+UCS7CzI1nbP6+o4x47QZE5xRCt3ZagnYcvmpYQktXdk5YKXTzBC57kKEe0VVuiSYqapssMS3C9p2CKkHOg8B8Pa8p5atrIw3qezIWanMGa5HRDNF6RM9wcacl0N+Q8Z8hsIkSnaIIdHRUOEebAPy1zbCkhM062FCJtif7PU+UtoVXzWKqM1PxXO8cfdruhFQ/a6x3JKYagvVDhQEtNiyiiSQ7OsuRsZUku0CRNDs4Sog6KKjsZgk2bYJqijgsEenoKeniinRXBn/U3lgpPdyDZynQx8IiioMnCep5Ky8mjGs6Wty0l1hUQTcNWswS3WRp2kCNZwJG8omG8JphPUaFbC8lEfabwP7VtM9yoaNCAjpR41VNhrD9LkbN722v0CoZMByFzhaW+MyzRYEWFDQwN2M4/JiT76PuljT3VU/A36eaIThb+R9oZGOAJ9tewkgGvqOMNRWYjT/Cwu99Q8LqDE4TgbLWxJ1jaDDAERsFOFrobgjUsBScaguXU8kKm2RL19tRypSHnHNlHiIZqgufs4opgQdVdwxBNNFBR6kVFqb8ogimOzB6a6HTzrlDHEpYaxjiiA4TMQobkDg2vejjfwJGWmnbVFAw3H3hq2NyQfG7hz4aC+w3BbwbesG0swYayvpAs6++Ri1Vfzx93mFChvyN5xVHTS+0p9aqCAxyZ6ZacZyw5+7uuQkFPR9DDk9NOiE7X1PCYJVjVUqq7JlrHwWALF5nfHNGjApdpqgzx5OwilDhCiDYTgnc9waGW4BdLNNUQvOtpzDOWHDH8D7TR/A/85KljEQu3NREc4Pl/6B1Hhc8Umb5CsKMmGC9EPcxoT2amwHNCmeOEnOPbklnMkbOgIvO5UMOpQrS9UGVdt6iH/fURjhI/WOpaW9OKLYRod6HCUEdOX000wpDZQ6hwg6LgZfOqo1RfT/CrJzjekXOGhpc1VW71ZLbXyyp+93ILbC1kPtIEYx0FIx1VDrLoVzXRKRYWk809yYlC9ImcrinxtabKnzRJk3lAU1OLEN1j2zrYzr2myHRXJFf4h4QKT1qSTzTB5+ZNTzTRkAxX8FcLV2uS8eoQQ2aAkFzvCM72sJIcJET3WPjRk5wi32uSS9rfZajpWEvj9hW42F4o5NytSXYy8IKHay10VYdrcl4SkqscrXpMwyGOgtkajheSxdQqmpxP1L3t4R5PqasFnrQEjytq6qgp9Y09Qx9o4S1FzhUCn1kyHSzBWLemoSGvOqLNhZyBjmCaAUYpMgt4Ck7wBBMMwWKWgjsUwTaGVsxWC1mYoKiyqqeGKYqonSIRQ3KIkHO0pmAxTdBHkbOvfllfr+AA+7gnc50huVKYK393FOyg7rbPO/izI7hE4CnHHHnJ0ogNPRUGeUpsrZZTBJcrovUcJe51BPsr6GkJdhCCsZ6aTtMEb2pqWkqeVtDXE/QVggsU/Nl86d9RMF3DxvZTA58agu810RWawCiSzzXBeU3MMW9oyJUedvNEvQyNu1f10BSMddR1vaLCYpYa/mGocLSiYDcLbQz8aMn5iyF4xBNMs1P0QEOV7o5gaWGuzSeLue4tt3ro7y4Tgm4G/mopdZgl6q0o6KzJWE3mMksNr3r+a6CbT8g5wZNzT9O7fi/zpaOmnz3BRoqos+tv9zMbdpxsqDBOEewtJLt7cg5wtKKbvldpSzRRCD43VFheCI7yZLppggMVBS/KMAdHODJvOwq2NQSbKKKPLdFWQs7Fqo+mpl01JXYRgq8dnGLhTiFzqmWsUMdpllZdbKlyvSdYxhI9YghOtxR8LgSLWHK62mGGVoxzBE8LNWzqH9CUesQzFy5RQzTc56mhi6fgXEWwpKfE5Z7M05ZgZUPmo6auiv8YKzDYwWBLMErIbKHJvOwIrvEdhOBcQ9JdU1NHQ7CXn2XIDFBKU2WAgcX9UAUzDXWd5alwuyJ41Z9rjKLCL4aCp4WarhPm2rH+SaHUYE001JDZ2ZAzXPjdMpZWvC9wmqIB2lLhQ01D5jO06hghWMndbM7yRJMsoCj1vYbnFQVrW9jak3OlEJ3s/96+p33dEPRV5GxiqaGjIthUU6FFEZyqCa5qJrpBdzSw95IUnOPIrCUUjRZQFrbw5PR0R1qiYx3cb6nrWUMrBmmiBQxVHtTew5ICP/ip6g4hed/Akob/32wvBHsIOX83cI8hGeNeNPCIkPmXe8fPKx84OMSRM1MTdXSwjCZ4S30jVGhvqTRak/OVhgGazHuOCud5onEO1lJr6ecVyaOK6H7zqlBlIaHE0oroCgfvGJIdPcmfLNGLjpz7hZwZQpUbFME0A1cIJa7VNORkgfsMBatbKgwwJM9bSvQXeNOvbIjelg6WWvo5kvbKaJJNHexkKNHL9xRyFlH8Ti2riB5wVPhUk7nGkJnoCe428LR/wRGdYIlmWebCyxou1rCk4g/ShugBDX0V0ZQWkh0dOVsagkM0yV6OoLd5ye+pRlsCr0n+KiQrGuq5yJDzrTAXHtLUMduTDBVKrSm3eHL+6ijxhFDX9Z5gVU/wliHYTMiMFpKLNMEywu80wd3meoFmt6VbRMPenhrOc6DVe4pgXU8DnnHakLOIIrlF4FZPIw6R+zxBP0dyq6OOZ4Q5sLKCcz084ok+VsMMyQhNZmmBgX5xIXOEJTmi7VsGTvMTNdHHhpzdbE8Du2oKxgvBqQKdDDnTFOylCFaxR1syz2iqrOI/FEpNc3C6f11/7+ASS6l2inq2ciTrCCzgyemrCL5SVPjQkdPZUmGy2c9Sw9FtR1sS30RmsKPCS4rkIC/2U0MduwucYolGaPjKEyhzmiPYXagyWbYz8LWBDdzRimAXzxx4z8K9hpzlhLq+NiQ97HuKorMUfK/OVvC2JfiHUPCQI/q7J2gjK+tTDNxkCc4TMssqCs4TGtLVwQihyoAWgj9bosU80XGW6Ac9TJGziaUh5+hnFcHOnlaM1iRn29NaqGENTTTSUHCH2tWTeV0osUhH6psuVLjRUmGWhm6OZEshGeNowABHcJ2Bpy2ZszRcKkRXd2QuKVEeXnbfaEq825FguqfgfE2whlChSRMdron+LATTPQ2Z369t4B9C5gs/ylzv+CMmepIDPclFQl13W0rspPd1JOcbghGOEutqCv5qacURQl3dDKyvyJlqKXGPgcM9FfawJAMVmdcspcYKOZc4GjDYkFlK05olNMHyHn4zFNykyOxt99RkHlfwmiHo60l2EKI+mhreEKp080Tbug08BVPcgoqC5zWt+NLDTZ7oNSF51N1qie7Va3uCCwyZbkINf/NED6jzOsBdZjFN8oqG3wxVunqCSYYKf3EdhJyf9YWGf7tRU2oH3VHgPr1fe5J9hOgHd7xQ0y7qBwXr23aGErP0cm64JVjZwsOGqL+mhNgZmhJLW2oY4UhedsyBgzrCKrq7BmcpNVhR6jBPq64Vgi+kn6XE68pp8J5/+0wRHGOpsKenQn9DZntPzjRLZpDAdD2fnSgkG9tmIXnUwQ6WVighs7Yi2MxQ0N3CqYaCXkJ0oyOztMDJjmSSpcpvlrk0RMMOjmArQ04PRV1DO1FwhCVaUVPpKUM03JK5SxPsIWRu8/CGHi8UHChiqGFDTbSRJWeYUDDcH6vJWUxR4k1FXbMUwV6e4AJFXS8oMqsZKqzvYQ9DDQdZckY4aGsIhtlubbd2r3j4QBMoTamdPZk7O/Bf62lacZwneNjQoGcdVU7zJOd7ghsUHOkosagic6cnWc8+4gg285R6zZP5s1/LUbCKIznTwK36PkdwlOrl4U1LwfdCCa+IrvFkmgw1PCAUXKWo0sURXWcI2muKJlgyFzhynCY4RBOsqCjoI1R5zREco0n2Vt09BQtYSizgKNHfUmUrQ5UOCh51BFcLmY7umhYqXKQomOop8bUnWNNQcIiBcYaC6xzMNOS8JQQfeqKBmmglB+97ok/lfk3ygaHSyZaCRTzRxQo6GzLfa2jWBPepw+UmT7SQEJyiyRkhBLMVOfcoMjcK0eZChfUNzFAUzCsEN5vP/X1uP/n/aoMX+K+nw/Hjr/9xOo7j7Pju61tLcgvJpTWXNbfN5jLpi6VfCOviTktKlFusQixdEKWmEBUKNaIpjZRSSOXSgzaaKLdabrm1/9nZ+/f+vd/vz/v9+Xy+zZ7PRorYoZqyLrCwQdEAixxVOEXNNnjX2nUSRlkqGmWowk8lxR50JPy9Bo6qJXaXwNvREBvnThPEPrewryLhcAnj5WE15Fqi8W7R1sAuEu86S4ENikItFN4xkv9Af4nXSnUVcLiA9xzesFpivRRVeFKtsMRaKBhuSbjOELnAUtlSQUpXgdfB4Z1oSbnFEetbQ0IrAe+Y+pqnDcEJFj6S8LDZzZHwY4e3XONNlARraomNEt2bkvGsosA3ioyHm+6jCMbI59wqt4eeara28IzEmyPgoRaUOEDhTVdEJhmCoTWfC0p8aNkCp0oYqih2iqGi4yXeMkOsn4LdLLnmKfh/YogjNsPebeFGR4m9BJHLzB61XQ3BtpISfS2FugsK9FAtLWX1dCRcrCnUp44CNzuCowUZmxSRgYaE6Za0W2u/E7CVXCiI/UOR8aAm1+OSyE3mOUcwyc1zBBeoX1kiKy0Zfxck1Gsyulti11i83QTBF5Kg3pDQThFMVHiPSlK+0cSedng/VaS8bOZbtsBcTcZAR8JP5KeqQ1OYKAi20njdNNRpgnsU//K+JnaXJaGTomr7aYIphoRn9aeShJWKEq9LcozSF7QleEfDI5LYm5bgVkFkRwVDBCVu0DDIkGupo8TZBq+/pMQURYErJQmPKGKjNDkWOLx7Jd5QizdUweIaKrlP7SwJDhZvONjLkOsBBX9UpGxnydhXkfBLQ8IxgojQbLFnJf81JytSljclYYyEFyx0kVBvKWOFJmONpshGAcsduQY5giVNCV51eOdJYo/pLhbvM0uDHSevNKRcrKZIqnCtJeEsO95RoqcgGK4ocZcho1tTYtcZvH41pNQ7vA0WrhIfOSraIIntIAi+NXWCErdbkvrWwjRLrt0NKUdL6KSOscTOdMSOUtBHwL6OLA0vNSdynaWQEnCpIvKaIrJJEbvHkmuNhn6OjM8VkSGSqn1uYJCGHnq9I3aLhNME3t6GjIkO7xrNFumpyTNX/NrwX7CrIRiqqWijI9JO4d1iieykyfiposQIQ8YjjsjlBh6oHWbwRjgYJQn2NgSnNycmJAk3NiXhx44Sxykihxm8ybUwT1OVKySc7vi3OXVkdBJ4AyXBeksDXG0IhgtYY0lY5ahCD0ehborIk5aUWRJviMA7Xt5kyRjonrXENkm8yYqgs8VzgrJmClK20uMM3jRJ0FiQICQF9hdETlLQWRIb5ki6WDfWRPobvO6a4GP5mcOrNzDFELtTkONLh9dXE8xypEg7z8A9jkhrQ6Fhjlg/QVktJXxt4WXzT/03Q8IaQWSqIuEvloQ2mqC9Jfi7wRul4RX3pSPlzpoVlmCtI2jvKHCFhjcM3sN6lqF6HxnKelLjXWbwrpR4xzuCrTUZx2qq9oAh8p6ixCUGr78g8oyjRAtB5CZFwi80VerVpI0h+IeBxa6Zg6kWvpDHaioYYuEsRbDC3eOmC2JvGYLeioxGknL2UATNJN6hmtj1DlpLvDVmocYbrGCVJKOrg4X6DgddLA203BKMFngdJJFtFd7vJLm6KEpc5yjQrkk7M80SGe34X24nSex1Ra5Omgb71JKyg8SrU3i/kARKwWpH0kOGhKkObyfd0ZGjvyXlAkVZ4xRbYJ2irFMkFY1SwyWxr2oo4zlNiV+7zmaweFpT4kR3kaDAFW6xpSqzJay05FtYR4HmZhc9UxKbbfF2V8RG1MBmSaE+kmC6JnaRXK9gsiXhJHl/U0qM0WTcbyhwkYIvFGwjSbjfwhiJt8ZSQU+Bd5+marPMOkVkD0muxYLIfEuhh60x/J92itguihJSEMySVPQnTewnEm+620rTQEMsOfo4/kP/0ARvWjitlpSX7GxBgcMEsd3EEeYWvdytd+Saawi6aCIj1CkGb6Aj9rwhx16Cf3vAwFy5pyLhVonXzy51FDpdEblbkdJbUcEPDEFzQ8qNmhzzLTmmKWKbFCXeEuRabp6rxbvAtLF442QjQ+wEA9eL1xSR7Q0JXzlSHjJ4exq89yR0laScJ/FW6z4a73pFMEfDiRZvuvijIt86RaSFOl01riV2mD1UEvxGk/Geg5aWwGki1zgKPG9J2U8PEg8qYvMsZeytiTRXBMslCU8JSlxi8EabjwUldlDNLfzTUmCgxWsjqWCOHavYAqsknKFIO0yQ61VL5AVFxk6WhEaCAkdJgt9aSkzXlKNX2jEa79waYuc7gq0N3GDJGCBhoiTXUEPsdknCUE1CK0fwsiaylSF2uiDyO4XX3pFhNd7R4itFGc0k/ElBZwWvq+GC6szVeEoS/MZ+qylwpKNKv9Z469UOjqCjwlusicyTxG6VpNxcQ8IncoR4RhLbR+NdpGGmJWOcIzJGUuKPGpQg8rrG21dOMqQssJQ4RxH5jaUqnZuQ0F4Q+cjxLwPtpZbIAk3QTJHQWBE5S1BokoVtDd6lhqr9UpHSUxMcIYl9pojsb8h4SBOsMQcqvOWC2E8EVehqiJ1hrrAEbQxeK0NGZ0Gkq+guSRgniM23bIHVkqwx4hiHd7smaOyglyIyQuM978j4VS08J/A2G1KeMBRo4fBaSNhKUEZfQewVQ/C1I+MgfbEleEzCUw7mKXI0M3hd1EESVji8x5uQ41nxs1q4RMJCCXs7Iq9acpxn22oSDnQ/sJTxsCbHIYZiLyhY05TY0ZLIOQrGaSJDDN4t8pVaIrsqqFdEegtizc1iTew5Q4ayBDMUsQMkXocaYkc0hZua412siZ1rSXlR460zRJ5SlHGe5j801RLMlJTxtaOM3Q1pvxJ45zUlWFD7rsAbpfEm1JHxG0eh8w2R7QQVzBUw28FhFp5QZzq8t2rx2joqulYTWSuJdTYfWwqMFMcovFmSyJPNyLhE4E10pHzYjOC3huArRa571ZsGajQpQx38SBP5pyZB6lMU3khDnp0MBV51BE9o2E+TY5Ml2E8S7C0o6w1xvCZjf0HkVEHCzFoyNmqC+9wdcqN+Tp7jSDheE9ws8Y5V0NJCn2bk2tqSY4okdrEhx1iDN8cSudwepWmAGXKcJXK65H9to8jYQRH7SBF01ESUJdd0TayVInaWhLkOjlXE5irKGOnI6GSWGCJa482zBI9rCr0jyTVcEuzriC1vcr6mwFGSiqy5zMwxBH/TJHwjSPhL8+01kaaSUuMFKTcLEvaUePcrSmwn8DZrgikWb7CGPxkSjhQwrRk57tctmxLsb9sZvL9LSlyuSLlWkqOjwduo8b6Uv1DkmudIeFF2dHCgxVtk8dpIvHpBxhEOdhKk7OLIUSdJ+cSRY57B+0DgGUUlNfpthTfGkauzxrvTsUUaCVhlKeteTXCoJDCa2NOKhOmC4G1H8JBd4OBZReSRGkqcb/CO1PyLJTLB4j1q8JYaIutEjSLX8YKM+a6phdMsdLFUoV5RTm9JSkuDN8WcIon0NZMNZWh1q8C7SJEwV5HxrmnnTrf3KoJBlmCYI2ilSLlfEvlE4011NNgjgthzEua0oKK7JLE7HZHlEl60BLMVFewg4EWNt0ThrVNEVkkiTwpKXSWJzdRENgvKGq4IhjsiezgSFtsfCUq8qki5S1LRQeYQQ4nemmCkImWMw3tFUoUBZk4NOeZYEp4XRKTGa6wJjrWNHBVJR4m3FCnbuD6aak2WsMTh3SZImGCIPKNgsDpVwnsa70K31lCFJZYcwwSMFcQulGTsZuEaSdBXkPGZhu0FsdUO73RHjq8MPGGIfaGIbVTk6iuI3GFgucHrIQkmWSJdBd7BBu+uOryWAhY7+Lki9rK5wtEQzWwvtbqGhIMFwWRJsElsY4m9IIg9L6lCX0VklaPAYkfkZEGDnOWowlBJjtMUkcGK4Lg6EtoZInMUBVYLgn0UsdmCyCz7gIGHFfk+k1QwTh5We7A9x+IdJ6CvIkEagms0hR50eH9UnTQJ+2oiKyVlLFUE+8gBGu8MQ3CppUHesnjTHN4QB/UGPhCTHLFPHMFrCqa73gqObUJGa03wgbhHkrCfpEpzNLE7JDS25FMKhlhKKWKfCgqstLCPu1zBXy0J2ztwjtixBu8UTRn9LVtkmCN2iyFhtME70JHRQ1KVZXqKI/KNIKYMCYs1GUMEKbM1bKOI9LDXC7zbHS+bt+1MTWS9odA9DtrYtpbImQJ2VHh/lisEwaHqUk1kjKTAKknkBEXkbkdMGwq0dnhzLJF3NJH3JVwrqOB4Sca2hti75nmJN0WzxS6UxDYoEpxpa4htVlRjkYE7DZGzJVU72uC9IyhQL4i8YfGWSYLLNcHXloyz7QhNifmKSE9JgfGmuyLhc403Xm9vqcp6gXe3xuuv8F6VJNxkyTHEkHG2g0aKXL0MsXc1bGfgas2//dCONXiNLCX+5mB7eZIl1kHh7ajwpikyzlUUWOVOsjSQlsS+M0R+pPje/dzBXRZGO0rMtgQrLLG9VSu9n6CMXS3BhwYmSoIBhsjNBmZbgusE9BCPCP5triU4VhNbJfE+swSP27aayE8tuTpYYjtrYjMVGZdp2NpS1s6aBnKSHDsbKuplKbHM4a0wMFd/5/DmGyKrJSUaW4IBrqUhx0vyfzTBBLPIUcnZdrAkNsKR0sWRspumSns6Ch0v/qqIbBYUWKvPU/CFoyrDJGwSNFhbA/MlzKqjrO80hRbpKx0Jewsi/STftwGSlKc1JZyAzx05dhLEdnfQvhZOqiHWWEAHC7+30FuRcZUgaO5gpaIK+xsiHRUsqaPElTV40xQZQ107Q9BZE1nryDVGU9ZSQ47bmhBpLcYpUt7S+xuK/FiT8qKjwXYw5ypS2iuCv7q1gtgjhuBuB8LCFY5cUuCNtsQOFcT+4Ih9JX+k8Ea6v0iCIRZOtCT0Et00JW5UeC85Cg0ScK0k411HcG1zKtre3SeITBRk7WfwDhEvaYLTHP9le0m8By0JDwn4TlLW/aJOvGHxdjYUes+ScZigCkYQdNdEOhkiezgShqkx8ueKjI8lDfK2oNiOFvrZH1hS+tk7NV7nOmLHicGWEgubkXKdwdtZknCLJXaCpkrjZBtLZFsDP9CdxWsSr05Sxl6CMmoFbCOgryX40uDtamB7SVmXW4Ihlgpmq+00tBKUUa83WbjLUNkzDmY7cow1JDygyPGlhgGKYKz4vcV7QBNbJIgM11TUqZaMdwTeSguH6rOaw1JRKzaaGyxVm2EJ/uCIrVWUcZUkcp2grMsEjK+DMwS59jQk3Kd6SEq1d0S6uVmO4Bc1lDXTUcHjluCXEq+1OlBDj1pi9zgiXxnKuE0SqTXwhqbETW6RggMEnGl/q49UT2iCzgJvRwVXS2K/d6+ZkyUl7jawSVLit46EwxVljDZwoSQ20sDBihztHfk2yA8NVZghiXwrYHQdfKAOtzsayjhY9bY0yE2CWEeJ9xfzO423xhL5syS2TFJofO2pboHob0nY4GiAgRrvGQEDa/FWSsoaaYl0syRsEt3kWoH3B01shCXhTUWe9w3Bt44SC9QCh3eShQctwbaK2ApLroGCMlZrYqvlY3qYhM0aXpFkPOuoqJ3Dm6fxXrGwVF9gCWZagjPqznfkuMKQ8DPTQRO8ZqG1hPGKEm9IgpGW4DZDgTNriTxvFiq+Lz+0cKfp4wj6OCK9JSnzNSn9LFU7UhKZZMnYwcJ8s8yRsECScK4j5UOB95HFO0CzhY4xJxuCix0lDlEUeMdS6EZBkTsUkZ4K74dugyTXS7aNgL8aqjDfkCE0ZbwkCXpaWCKhl8P7VD5jxykivSyxyZrYERbe168LYu9ZYh86IkscgVLE7tWPKmJv11CgoyJltMEbrohtVAQfO4ImltiHEroYEs7RxAarVpY8AwXMcMReFOTYWe5iiLRQxJ5Q8DtJ8LQhWOhIeFESPGsILhbNDRljNbHzNRlTFbk2S3L0NOS6V1KFJYKUbSTcIIhM0wQ/s2TM0SRMNcQmSap3jCH4yhJZKSkwyRHpYYgsFeQ4U7xoCB7VVOExhXepo9ABBsYbvGWKXPME3lyH95YioZ0gssQRWWbI+FaSMkXijZXwgiTlYdPdkNLaETxlyDVIwqeaEus0aTcYcg0RVOkpR3CSJqIddK+90JCxzsDVloyrFd5ZAr4TBKfaWa6boEA7C7s6EpYaeFPjveooY72mjIccLHJ9HUwVlDhKkmutJDJBwnp1rvulJZggKDRfbXAkvC/4l3ozQOG9a8lxjx0i7nV4jSXc7vhe3OwIxjgSHjdEhhsif9YkPGlus3iLFDnWOFhtCZbJg0UbQcIaR67JjthoCyMEZRwhiXWyxO5QxI6w5NhT4U1WsJvDO60J34fW9hwzwlKij6ZAW9ne4L0s8C6XeBMEkd/LQy1VucBRot6QMlbivaBhoBgjqGiCJNhsqVp/S2SsG6DIONCR0dXhvWbJ+MRRZJkkuEjgDXJjFQW6SSL7GXK8Z2CZg7cVsbWGoKmEpzQ5elpiy8Ryg7dMkLLUEauzeO86CuwlSOlgYLojZWeJ9xM3S1PWfEfKl5ISLQ0MEKR8YOB2QfCxJBjrKPCN4f9MkaSsqoVXJBmP7EpFZ9UQfOoOFwSzBN4MQ8LsGrymlipcJQhmy0GaQjPqCHaXRwuCZwRbqK2Fg9wlClZqYicrIgMdZfxTQ0c7TBIbrChxmuzoKG8XRaSrIhhiyNFJkrC7oIAWMEOQa5aBekPCRknCo4IKPrYkvCDI8aYmY7WFtprgekcJZ3oLIqssCSMtFbQTJKwXYy3BY5oCh2iKPCpJOE+zRdpYgi6O2KmOAgvVCYaU4ySRek1sgyFhJ403QFHiVEmJHwtybO1gs8Hr5+BETQX3War0qZngYGgtVZtoqd6vFSk/UwdZElYqyjrF4HXUeFspIi9IGKf4j92pKGAdCYMVsbcV3kRF0N+R8LUd5PCsIGWoxDtBkCI0nKofdJQxT+LtZflvuc8Q3CjwWkq8KwUpHzkK/NmSsclCL0nseQdj5FRH5CNHSgtLiW80Of5HU9Hhlsga9bnBq3fEVltKfO5IaSTmGjjc4J0otcP7QsJUSQM8pEj5/wCuUuC2DWz8AAAAAElFTkSuQmCC")}',""])},QRG4:function(e,t,r){var o=r("UuGF"),n=Math.min;e.exports=function(e){return e>0?n(o(e),9007199254740991):0}},QYai:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{value:{type:Boolean,default:!1},viewBox:{default:"0 0 24 24"},height:{default:24},width:{default:24}}}},Qei9:function(e,t,r){(function(e){"use strict";e.defineSimpleMode("handlebars-tags",{start:[{regex:/\{\{\{/,push:"handlebars_raw",token:"tag"},{regex:/\{\{!--/,push:"dash_comment",token:"comment"},{regex:/\{\{!/,push:"comment",token:"comment"},{regex:/\{\{/,push:"handlebars",token:"tag"}],handlebars_raw:[{regex:/\}\}\}/,pop:!0,token:"tag"}],handlebars:[{regex:/\}\}/,pop:!0,token:"tag"},{regex:/"(?:[^\\"]|\\.)*"?/,token:"string"},{regex:/'(?:[^\\']|\\.)*'?/,token:"string"},{regex:/>|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),e.defineMode("handlebars",function(t,r){var o=e.getMode(t,"handlebars-tags");return r&&r.base?e.multiplexingMode(e.getMode(t,r.base),{open:"{{",close:/\}\}\}?/,mode:o,parseDelimiters:!0}):o}),e.defineMIME("text/x-handlebars-template","handlebars")})(r("8U58"),r("cNXT"),r("+kUs"))},QpH2:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("bOdI")),n=a(r("Dd8w")),i=a(r("4J+A"));function a(e){return e&&e.__esModule?e:{default:e}}t.default={components:{Checkbox:i.default},props:{resourceName:{type:String,required:!0},filter:Object,option:Object},methods:{updateCheckedState:function(e,t){var r=this.filter.currentValue,i=(0,n.default)({},r,(0,o.default)({},e,t));this.$store.commit(this.resourceName+"/updateFilterState",{filterClass:this.filter.class,value:i}),this.$emit("change")}},computed:{isChecked:function(){return 1==this.$store.getters[this.resourceName+"/filterOptionValue"](this.filter.class,this.option.value)}}}},Qsdw:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},R2jj:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{keyLabel:{type:String},valueLabel:{type:String}}}},R3QX:function(e,t,r){var o=r("VU/8")(r("RNwY"),r("eqiH"),!1,function(e){r("j8vo")},"data-v-7cad3195",null);e.exports=o.exports},R4wc:function(e,t,r){var o=r("kM2E");o(o.S+o.F,"Object",{assign:r("To3L")})},R5AI:function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{d:"M17 11a1 1 0 0 1 0 2h-4v4a1 1 0 0 1-2 0v-4H7a1 1 0 0 1 0-2h4V7a1 1 0 0 1 2 0v4h4z"}})},staticRenderFns:[]}},R9M2:function(e,t){var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},RCVP:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("NeP4"),i=(o=n)&&o.__esModule?o:{default:o};t.default={components:{Badge:i.default},props:["resourceName","viaResource","viaResourceId","field"]}},RGrk:function(e,t,r){var o=r("dCZQ"),n=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return o?void 0!==t[e]:n.call(t,e)}},RNwY:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("GxBP"),i=(o=n)&&o.__esModule?o:{default:o};r("SGyC"),t.default={props:{value:{required:!1},placeholder:{type:String,default:function(){return moment().format("YYYY-MM-DD HH:mm:ss")}},disabled:{type:Boolean,default:!1},dateFormat:{type:String,default:"Y-m-d H:i:S"},altFormat:{type:String,default:"Y-m-d H:i:S"},twelveHourTime:{type:Boolean,default:!1},enableTime:{type:Boolean,default:!0},enableSeconds:{type:Boolean,default:!0},firstDayOfWeek:{type:Number,default:0}},data:function(){return{flatpickr:null}},watch:{value:function(e,t){this.flatpickr&&this.flatpickr.setDate(e)}},mounted:function(){var e=this;this.$nextTick(function(){return e.createFlatpickr()})},methods:{createFlatpickr:function(){this.flatpickr=(0,i.default)(this.$refs.datePicker,{enableTime:this.enableTime,enableSeconds:this.enableSeconds,onClose:this.onChange,onChange:this.onChange,dateFormat:this.dateFormat,altInput:!0,altFormat:this.altFormat,allowInput:!0,time_24hr:!this.twelveHourTime,locale:{firstDayOfWeek:this.firstDayOfWeek}})},onChange:function(e){this.$emit("change",this.$refs.datePicker.value)},clear:function(){this.flatpickr.clear()}},beforeDestroy:function(){this.flatpickr.destroy()}}},RPLV:function(e,t,r){var o=r("7KvD").document;e.exports=o&&o.documentElement},RRnK:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-panda-syntax{background:#292a2b;color:#e6e6e6;line-height:1.5;font-family:Operator Mono,Source Code Pro,Menlo,Monaco,Consolas,Courier New,monospace}.cm-s-panda-syntax .CodeMirror-cursor{border-color:#ff2c6d}.cm-s-panda-syntax .CodeMirror-activeline-background{background:rgba(99,123,156,.1)}.cm-s-panda-syntax .CodeMirror-selected{background:#fff}.cm-s-panda-syntax .cm-comment{font-style:italic;color:#676b79}.cm-s-panda-syntax .cm-operator{color:#f3f3f3}.cm-s-panda-syntax .cm-string{color:#19f9d8}.cm-s-panda-syntax .cm-string-2{color:#ffb86c}.cm-s-panda-syntax .cm-tag{color:#ff2c6d}.cm-s-panda-syntax .cm-meta{color:#b084eb}.cm-s-panda-syntax .cm-number{color:#ffb86c}.cm-s-panda-syntax .cm-atom{color:#ff2c6d}.cm-s-panda-syntax .cm-keyword{color:#ff75b5}.cm-s-panda-syntax .cm-variable{color:#ffb86c}.cm-s-panda-syntax .cm-type,.cm-s-panda-syntax .cm-variable-2,.cm-s-panda-syntax .cm-variable-3{color:#ff9ac1}.cm-s-panda-syntax .cm-def{color:#e6e6e6}.cm-s-panda-syntax .cm-property{color:#f3f3f3}.cm-s-panda-syntax .cm-attribute,.cm-s-panda-syntax .cm-unit{color:#ffb86c}.cm-s-panda-syntax .CodeMirror-matchingbracket{border-bottom:1px dotted #19f9d8;padding-bottom:2px;color:#e6e6e6}.cm-s-panda-syntax .CodeMirror-gutters{background:#292a2b;border-right-color:hsla(0,0%,100%,.1)}.cm-s-panda-syntax .CodeMirror-linenumber{color:#e6e6e6;opacity:.6}",""])},RT6M:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("Dd8w"),i=(o=n)&&o.__esModule?o:{default:o},a=r("vilh");t.default={mixins:[a.HandlesValidationErrors],props:(0,i.default)({field:{type:Object,required:!0},fieldName:{type:String},showErrors:{type:Boolean,default:!0},fullWidthContent:{type:Boolean,default:!1}},(0,a.mapProps)(["showHelpText"])),computed:{fieldLabel:function(){return""===this.fieldName?"":this.fieldName||this.field.name||this.field.singularLabel},fieldClasses:function(){return this.fullWidthContent?this.field.stacked?"w-full":"w-4/5":"w-1/2"}}}},RUW7:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{page:{type:Number,required:!0},pages:{type:Number,default:0},next:{type:Boolean,default:!1},previous:{type:Boolean,default:!1}},data:function(){return{linksDisabled:!1}},mounted:function(){var e=this;Nova.$on("resources-loaded",function(){e.linksDisabled=!1})},methods:{selectPreviousPage:function(){this.selectPage(this.page-1)},selectNextPage:function(){this.selectPage(this.page+1)},selectPage:function(e){this.linksDisabled=!0,this.$emit("page",e)}},computed:{hasPreviousPages:function(){return this.previous},hasMorePages:function(){return this.next}}}},RWU5:function(e,t,r){var o=r("VU/8")(r("9Rg2"),r("eNw8"),!1,null,null,null);e.exports=o.exports},"RY/4":function(e,t,r){var o=r("R9M2"),n=r("dSzd")("toStringTag"),i="Arguments"==o(function(){return arguments}());e.exports=function(e){var t,r,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),n))?r:i?o(t):"Object"==(a=o(t))&&"function"==typeof t.callee?"Arguments":a}},RfqI:function(e,t,r){(function(e){"use strict";e.defineMode("twig:inner",function(){var e=["and","as","autoescape","endautoescape","block","do","endblock","else","elseif","extends","for","endfor","embed","endembed","filter","endfilter","flush","from","if","endif","in","is","include","import","not","or","set","spaceless","endspaceless","with","endwith","trans","endtrans","blocktrans","endblocktrans","macro","endmacro","use","verbatim","endverbatim"],t=/^[+\-*&%=<>!?|~^]/,r=/^[:\[\(\{]/,o=["true","false","null","empty","defined","divisibleby","divisible by","even","odd","iterable","sameas","same as"],n=/^(\d[+\-\*\/])?\d+(\.\d+)?/;return e=new RegExp("(("+e.join(")|(")+"))\\b"),o=new RegExp("(("+o.join(")|(")+"))\\b"),{startState:function(){return{}},token:function(i,a){return function(i,a){var s=i.peek();if(a.incomment)return i.skipTo("#}")?(i.eatWhile(/\#|}/),a.incomment=!1):i.skipToEnd(),"comment";if(a.intag){if(a.operator){if(a.operator=!1,i.match(o))return"atom";if(i.match(n))return"number"}if(a.sign){if(a.sign=!1,i.match(o))return"atom";if(i.match(n))return"number"}if(a.instring)return s==a.instring&&(a.instring=!1),i.next(),"string";if("'"==s||'"'==s)return a.instring=s,i.next(),"string";if(i.match(a.intag+"}")||i.eat("-")&&i.match(a.intag+"}"))return a.intag=!1,"tag";if(i.match(t))return a.operator=!0,"operator";if(i.match(r))a.sign=!0;else if(i.eat(" ")||i.sol()){if(i.match(e))return"keyword";if(i.match(o))return"atom";if(i.match(n))return"number";i.sol()&&i.next()}else i.next();return"variable"}if(i.eat("{")){if(i.eat("#"))return a.incomment=!0,i.skipTo("#}")?(i.eatWhile(/\#|}/),a.incomment=!1):i.skipToEnd(),"comment";if(s=i.eat(/\{|%/))return a.intag=s,"{"==s&&(a.intag="}"),i.eat("-"),"tag"}i.next()}(i,a)}}}),e.defineMode("twig",function(t,r){var o=e.getMode(t,"twig:inner");return r&&r.base?e.multiplexingMode(e.getMode(t,r.base),{open:/\{[{#%]/,close:/[}#%]\}/,mode:o,parseDelimiters:!0}):o}),e.defineMIME("text/x-twig","twig")})(r("8U58"),r("+kUs"))},Rh28:function(e,t){var r=9007199254740991;e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}},Rhd4:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-neat span.cm-comment{color:#a86}.cm-s-neat span.cm-keyword{line-height:1em;font-weight:700;color:blue}.cm-s-neat span.cm-string{color:#a22}.cm-s-neat span.cm-builtin{line-height:1em;font-weight:700;color:#077}.cm-s-neat span.cm-special{line-height:1em;font-weight:700;color:#0aa}.cm-s-neat span.cm-variable{color:#000}.cm-s-neat span.cm-atom,.cm-s-neat span.cm-number{color:#3a3}.cm-s-neat span.cm-meta{color:#555}.cm-s-neat span.cm-link{color:#3a3}.cm-s-neat .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-neat .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}",""])},RjDc:function(e,t,r){var o=r("3rZI"),n=r("lAob"),i=r("IPGu"),a=RegExp("['’]","g");e.exports=function(e){return function(t){return o(i(n(t).replace(a,"")),e,"")}}},RkhK:function(e,t,r){(function(e){function t(t,r,o){var n,i=t.getWrapperElement();return(n=i.appendChild(document.createElement("div"))).className=o?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof r?n.innerHTML=r:n.appendChild(r),e.addClass(i,"dialog-opened"),n}function r(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",function(o,n,i){i||(i={}),r(this,null);var a=t(this,o,i.bottom),s=!1,c=this;function l(t){if("string"==typeof t)d.value=t;else{if(s)return;s=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),c.focus(),i.onClose&&i.onClose(a)}}var u,d=a.getElementsByTagName("input")[0];return d?(d.focus(),i.value&&(d.value=i.value,!1!==i.selectValueOnOpen&&d.select()),i.onInput&&e.on(d,"input",function(e){i.onInput(e,d.value,l)}),i.onKeyUp&&e.on(d,"keyup",function(e){i.onKeyUp(e,d.value,l)}),e.on(d,"keydown",function(t){i&&i.onKeyDown&&i.onKeyDown(t,d.value,l)||((27==t.keyCode||!1!==i.closeOnEnter&&13==t.keyCode)&&(d.blur(),e.e_stop(t),l()),13==t.keyCode&&n(d.value,t))}),!1!==i.closeOnBlur&&e.on(a,"focusout",function(e){null!==e.relatedTarget&&l()})):(u=a.getElementsByTagName("button")[0])&&(e.on(u,"click",function(){l(),c.focus()}),!1!==i.closeOnBlur&&e.on(u,"blur",l),u.focus()),l}),e.defineExtension("openConfirm",function(o,n,i){r(this,null);var a=t(this,o,i&&i.bottom),s=a.getElementsByTagName("button"),c=!1,l=this,u=1;function d(){c||(c=!0,e.rmClass(a.parentNode,"dialog-opened"),a.parentNode.removeChild(a),l.focus())}s[0].focus();for(var m=0;m0?r("cards",{staticClass:"mb-3",attrs:{cards:e.smallCards,"resource-name":e.resourceName}}):e._e(),e._v(" "),e.largeCards.length>0?r("cards",{attrs:{cards:e.largeCards,size:"large","resource-name":e.resourceName}}):e._e()],1):e._e(),e._v(" "),r("heading",{staticClass:"mb-3",attrs:{level:1},domProps:{innerHTML:e._s(e.headingTitle)}}),e._v(" "),r("div",{staticClass:"flex"},[e.resourceInformation.searchable&&!e.viaHasOne?r("div",{staticClass:"relative h-9 flex-no-shrink",class:{"mb-6":e.resourceInformation.searchable&&!e.viaHasOne}},[r("icon",{staticClass:"absolute search-icon-center ml-3 text-70",attrs:{type:"search"}}),e._v(" "),r("input",{directives:[{name:"model",rawName:"v-model",value:e.search,expression:"search"}],staticClass:"appearance-none form-search w-search pl-search shadow",attrs:{"data-testid":"search-input",dusk:"search",placeholder:e.__("Search"),type:"search",spellcheck:"false"},domProps:{value:e.search},on:{keydown:function(t){return t.stopPropagation(),e.performSearch(t)},search:e.performSearch,input:function(t){t.target.composing||(e.search=t.target.value)}}})],1):e._e(),e._v(" "),r("div",{staticClass:"w-full flex items-center",class:{"mb-6":!e.viaResource}},[e.viaResource?e._e():r("custom-index-toolbar",{attrs:{"resource-name":e.resourceName}}),e._v(" "),r("create-resource-button",{staticClass:"flex-no-shrink ml-auto",class:{"mb-6":e.viaResource},attrs:{label:e.createButtonLabel,"singular-name":e.singularName,"resource-name":e.resourceName,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"relationship-type":e.relationshipType,"authorized-to-create":e.authorizedToCreate&&!e.resourceIsFull,"authorized-to-relate":e.authorizedToRelate}})],1)]),e._v(" "),r("card",[r("div",{staticClass:"flex items-center",class:{"py-3 border-b border-50":e.shouldShowCheckBoxes||e.shouldShowDeleteMenu||e.softDeletes||!e.viaResource||e.hasFilters||e.haveStandaloneActions}},[r("div",{staticClass:"flex items-center"},[e.shouldShowCheckBoxes?r("div",{staticClass:"px-3"},[r("dropdown",{staticClass:"-mx-2",attrs:{dusk:"select-all-dropdown",placement:"bottom-end"}},[r("dropdown-trigger",{staticClass:"px-2"},[r("fake-checkbox",{attrs:{checked:e.selectAllChecked}})],1),e._v(" "),r("dropdown-menu",{attrs:{slot:"menu",direction:"ltr",width:"250"},slot:"menu"},[r("div",{staticClass:"p-4"},[r("ul",{staticClass:"list-reset"},[r("li",{staticClass:"flex items-center mb-4"},[r("checkbox-with-label",{attrs:{checked:e.selectAllChecked,dusk:"select-all-button"},on:{input:e.toggleSelectAll}},[e._v("\n "+e._s(e.__("Select All"))+"\n ")])],1),e._v(" "),r("li",{staticClass:"flex items-center"},[r("checkbox-with-label",{attrs:{dusk:"select-all-matching-button",checked:e.selectAllMatchingChecked},on:{input:e.toggleSelectAllMatching}},[[r("span",{staticClass:"mr-1"},[e._v("\n "+e._s(e.__("Select All Matching"))+" ("+e._s(e.allMatchingResourceCount)+")\n ")])]],2)],1)])])])],1)],1):e._e()]),e._v(" "),r("div",{staticClass:"flex items-center ml-auto px-3"},[e.shouldShowPollingToggle?r("resource-polling-button",{staticClass:"mr-1",attrs:{"currently-polling":e.currentlyPolling},on:{"start-polling":e.startPolling,"stop-polling":e.stopPolling}}):e._e(),e._v(" "),e.selectedResources.length>0||e.haveStandaloneActions?r("action-selector",{attrs:{"resource-name":e.resourceName,actions:e.availableActions,"pivot-actions":e.pivotActions,"pivot-name":e.pivotName,"query-string":{currentSearch:e.currentSearch,encodedFilters:e.encodedFilters,currentTrashed:e.currentTrashed,viaResource:e.viaResource,viaResourceId:e.viaResourceId,viaRelationship:e.viaRelationship},"selected-resources":e.selectedResourcesForActionSelector},on:{actionExecuted:e.getResources}}):e._e(),e._v(" "),e.lenses.length>0?r("dropdown",{staticClass:"bg-30 hover:bg-40 mr-3 rounded"},[r("dropdown-trigger",{staticClass:"px-3"},[r("h3",{staticClass:"flex items-center font-normal text-base text-90 h-9",attrs:{slot:"default"},slot:"default"},[e._v("\n "+e._s(e.__("Lens"))+"\n ")])]),e._v(" "),r("dropdown-menu",{attrs:{slot:"menu",width:"240",direction:"rtl"},slot:"menu"},[r("lens-selector",{attrs:{"resource-name":e.resourceName,lenses:e.lenses}})],1)],1):e._e(),e._v(" "),r("filter-menu",{attrs:{"resource-name":e.resourceName,"soft-deletes":e.softDeletes,"via-resource":e.viaResource,"via-has-one":e.viaHasOne,trashed:e.trashed,"per-page":e.perPage,"per-page-options":e.perPageOptions||e.resourceInformation.perPageOptions},on:{"clear-selected-filters":e.clearSelectedFilters,"filter-changed":e.filterChanged,"trashed-changed":e.trashedChanged,"per-page-changed":e.updatePerPageChanged}}),e._v(" "),e.shouldShowDeleteMenu?r("delete-menu",{attrs:{dusk:"delete-menu","soft-deletes":e.softDeletes,resources:e.resources,"selected-resources":e.selectedResources,"via-many-to-many":e.viaManyToMany,"all-matching-resource-count":e.allMatchingResourceCount,"all-matching-selected":e.selectAllMatchingChecked,"authorized-to-delete-selected-resources":e.authorizedToDeleteSelectedResources,"authorized-to-force-delete-selected-resources":e.authorizedToForceDeleteSelectedResources,"authorized-to-delete-any-resources":e.authorizedToDeleteAnyResources,"authorized-to-force-delete-any-resources":e.authorizedToForceDeleteAnyResources,"authorized-to-restore-selected-resources":e.authorizedToRestoreSelectedResources,"authorized-to-restore-any-resources":e.authorizedToRestoreAnyResources},on:{deleteSelected:e.deleteSelectedResources,deleteAllMatching:e.deleteAllMatchingResources,forceDeleteSelected:e.forceDeleteSelectedResources,forceDeleteAllMatching:e.forceDeleteAllMatchingResources,restoreSelected:e.restoreSelectedResources,restoreAllMatching:e.restoreAllMatchingResources,close:function(t){e.deleteModalOpen=!1}}}):e._e()],1)]),e._v(" "),r("loading-view",{attrs:{loading:e.loading}},[e.resources.length?e._e():r("div",{staticClass:"flex justify-center items-center px-6 py-8"},[r("div",{staticClass:"text-center"},[r("svg",{staticClass:"mb-3",attrs:{xmlns:"http://www.w3.org/2000/svg",width:"65",height:"51",viewBox:"0 0 65 51"}},[r("path",{attrs:{fill:"#A8B9C5",d:"M56 40h2c.552285 0 1 .447715 1 1s-.447715 1-1 1h-2v2c0 .552285-.447715 1-1 1s-1-.447715-1-1v-2h-2c-.552285 0-1-.447715-1-1s.447715-1 1-1h2v-2c0-.552285.447715-1 1-1s1 .447715 1 1v2zm-5.364125-8H38v8h7.049375c.350333-3.528515 2.534789-6.517471 5.5865-8zm-5.5865 10H6c-3.313708 0-6-2.686292-6-6V6c0-3.313708 2.686292-6 6-6h44c3.313708 0 6 2.686292 6 6v25.049375C61.053323 31.5511 65 35.814652 65 41c0 5.522847-4.477153 10-10 10-5.185348 0-9.4489-3.946677-9.950625-9zM20 30h16v-8H20v8zm0 2v8h16v-8H20zm34-2v-8H38v8h16zM2 30h16v-8H2v8zm0 2v4c0 2.209139 1.790861 4 4 4h12v-8H2zm18-12h16v-8H20v8zm34 0v-8H38v8h16zM2 20h16v-8H2v8zm52-10V6c0-2.209139-1.790861-4-4-4H6C3.790861 2 2 3.790861 2 6v4h52zm1 39c4.418278 0 8-3.581722 8-8s-3.581722-8-8-8-8 3.581722-8 8 3.581722 8 8 8z"}})]),e._v(" "),r("h3",{staticClass:"text-base text-80 font-normal",class:{"mb-6":e.authorizedToCreate&&!e.resourceIsFull}},[e._v("\n "+e._s(e.__("No :resource matched the given criteria.",{resource:e.singularName.toLowerCase()}))+"\n ")]),e._v(" "),r("create-resource-button",{attrs:{classes:"btn btn-sm btn-outline inline-flex items-center focus:outline-none focus:shadow-outline active:outline-none active:shadow-outline",label:e.createButtonLabel,"singular-name":e.singularName,"resource-name":e.resourceName,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"relationship-type":e.relationshipType,"authorized-to-create":e.authorizedToCreate&&!e.resourceIsFull,"authorized-to-relate":e.authorizedToRelate}})],1)]),e._v(" "),r("div",{staticClass:"overflow-hidden overflow-x-auto relative"},[r("resource-table",{ref:"resourceTable",attrs:{"authorized-to-relate":e.authorizedToRelate,"resource-name":e.resourceName,resources:e.resources,"singular-name":e.singularName,"selected-resources":e.selectedResources,"selected-resource-ids":e.selectedResourceIds,"actions-are-available":e.allActions.length>0,"should-show-checkboxes":e.shouldShowCheckBoxes,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"relationship-type":e.relationshipType,"update-selection-status":e.updateSelectionStatus},on:{order:e.orderByField,"reset-order-by":e.resetOrderBy,delete:e.deleteResources,restore:e.restoreResources,actionExecuted:e.getResources}})],1),e._v(" "),e.shouldShowPagination?r(e.paginationComponent,{tag:"component",attrs:{next:e.hasNextPage,previous:e.hasPreviousPage,pages:e.totalPages,page:e.currentPage,"per-page":e.perPage,"resource-count-label":e.resourceCountLabel,"current-resource-count":e.resources.length,"all-matching-resource-count":e.allMatchingResourceCount},on:{"load-more":e.loadMore,page:e.selectPage}},[e.resourceCountLabel?r("span",{staticClass:"text-sm text-80 px-4",class:{"ml-auto":"pagination-links"==e.paginationComponent}},[e._v("\n "+e._s(e.resourceCountLabel)+"\n ")]):e._e()]):e._e()],1)],1)],1)},staticRenderFns:[]}},SayF:function(e,t){var r=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(r)||[]}},Se6X:function(e,t,r){var o=r("xgPg");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("52831946",o,!0,{})},Sey9:function(e,t,r){var o=r("VU/8")(r("eo/O"),r("gx/6"),!1,null,null,null);e.exports=o.exports},SfB7:function(e,t,r){e.exports=!r("+E39")&&!r("S82l")(function(){return 7!=Object.defineProperty(r("ON07")("div"),"a",{get:function(){return 7}}).a})},SlHg:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["field","viaResource","viaResourceId","resourceName"]}},SldL:function(e,t){!function(t){"use strict";var r,o=Object.prototype,n=o.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",s=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag",l="object"==typeof e,u=t.regeneratorRuntime;if(u)l&&(e.exports=u);else{(u=t.regeneratorRuntime=l?e.exports:{}).wrap=x;var d="suspendedStart",m="suspendedYield",f="executing",p="completed",h={},g={};g[a]=function(){return this};var b=Object.getPrototypeOf,v=b&&b(b(O([])));v&&v!==o&&n.call(v,a)&&(g=v);var y=C.prototype=w.prototype=Object.create(g);_.prototype=y.constructor=C,C.constructor=_,C[c]=_.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===_||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,C):(e.__proto__=C,c in e||(e[c]="GeneratorFunction")),e.prototype=Object.create(y),e},u.awrap=function(e){return{__await:e}},M(R.prototype),R.prototype[s]=function(){return this},u.AsyncIterator=R,u.async=function(e,t,r,o){var n=new R(x(e,t,r,o));return u.isGeneratorFunction(t)?n:n.next().then(function(e){return e.done?e.value:n.next()})},M(y),y[c]="Generator",y[a]=function(){return this},y.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var o=t.pop();if(o in e)return r.value=o,r.done=!1,r}return r.done=!0,r}},u.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=r,this.done=!1,this.delegate=null,this.method="next",this.arg=r,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=r)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function o(o,n){return s.type="throw",s.arg=e,t.next=o,n&&(t.method="next",t.arg=r),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(c&&l){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var o=r.completion;if("throw"===o.type){var n=o.arg;E(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,o){return this.delegate={iterator:O(e),resultName:t,nextLoc:o},"next"===this.method&&(this.arg=r),h}}}function x(e,t,r,o){var n=t&&t.prototype instanceof w?t:w,i=Object.create(n.prototype),a=new T(o||[]);return i._invoke=function(e,t,r){var o=d;return function(n,i){if(o===f)throw new Error("Generator is already running");if(o===p){if("throw"===n)throw i;return F()}for(r.method=n,r.arg=i;;){var a=r.delegate;if(a){var s=S(a,r);if(s){if(s===h)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(o===d)throw o=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o=f;var c=k(e,t,r);if("normal"===c.type){if(o=r.done?p:m,c.arg===h)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(o=p,r.method="throw",r.arg=c.arg)}}}(e,r,a),i}function k(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function w(){}function _(){}function C(){}function M(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function R(e){var t;this._invoke=function(r,o){function i(){return new Promise(function(t,i){!function t(r,o,i,a){var s=k(e[r],e,o);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&n.call(l,"__await")?Promise.resolve(l.__await).then(function(e){t("next",e,i,a)},function(e){t("throw",e,i,a)}):Promise.resolve(l).then(function(e){c.value=e,i(c)},a)}a(s.arg)}(r,o,t,i)})}return t=t?t.then(i,i):i()}}function S(e,t){var o=e.iterator[t.method];if(o===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,S(e,t),"throw"===t.method))return h;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var n=k(o,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,h;var i=n.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,h):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function z(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(z,this),this.reset(!0)}function O(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++ospan::selection,.cm-s-twilight .CodeMirror-line>span>span::selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-line::-moz-selection,.cm-s-twilight .CodeMirror-line>span::-moz-selection,.cm-s-twilight .CodeMirror-line>span>span::-moz-selection{background:rgba(50,50,50,.99)}.cm-s-twilight .CodeMirror-gutters{background:#222;border-right:1px solid #aaa}.cm-s-twilight .CodeMirror-guttermarker{color:#fff}.cm-s-twilight .CodeMirror-guttermarker-subtle,.cm-s-twilight .CodeMirror-linenumber{color:#aaa}.cm-s-twilight .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-twilight .cm-keyword{color:#f9ee98}.cm-s-twilight .cm-atom{color:#fc0}.cm-s-twilight .cm-number{color:#ca7841}.cm-s-twilight .cm-def{color:#8da6ce}.cm-s-twilight span.cm-def,.cm-s-twilight span.cm-tag,.cm-s-twilight span.cm-type,.cm-s-twilight span.cm-variable-2,.cm-s-twilight span.cm-variable-3{color:#607392}.cm-s-twilight .cm-operator{color:#cda869}.cm-s-twilight .cm-comment{color:#777;font-style:italic;font-weight:400}.cm-s-twilight .cm-string{color:#8f9d6a;font-style:italic}.cm-s-twilight .cm-string-2{color:#bd6b18}.cm-s-twilight .cm-meta{background-color:#141414;color:#f7f7f7}.cm-s-twilight .cm-builtin{color:#cda869}.cm-s-twilight .cm-tag{color:#997643}.cm-s-twilight .cm-attribute{color:#d6bb6d}.cm-s-twilight .cm-header{color:#ff6400}.cm-s-twilight .cm-hr{color:#aeaeae}.cm-s-twilight .cm-link{color:#ad9361;font-style:italic;text-decoration:none}.cm-s-twilight .cm-error{border-bottom:1px solid red}.cm-s-twilight .CodeMirror-activeline-background{background:#27282e}.cm-s-twilight .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}",""])},ThYW:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("mvHQ"),i=(o=n)&&o.__esModule?o:{default:o},a=r("vilh");t.default={mixins:[a.HandlesValidationErrors,a.FormField],data:function(){return{value:[]}},methods:{setInitialValue:function(){var e=this;this.field.value=this.field.value||{},this.value=_(this.field.options).map(function(t){return{name:t.name,label:t.label,checked:e.field.value[t.name]||!1}}).value()},fill:function(e){e.append(this.field.attribute,(0,i.default)(this.finalPayload))},toggle:function(e,t){_(this.value).find(function(e){return e.name==t.name}).checked=e.target.checked}},computed:{finalPayload:function(){return _(this.value).map(function(e){return[e.name,e.checked]}).fromPairs().value()}}}},TlPD:function(e,t,r){var o=r("tv3T"),n=r("t8rQ");e.exports=function(e){return o(e,n(e))}},TmV0:function(e,t,r){r("fZOM"),e.exports=r("FeBl").Object.values},"To+g":function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return e.shouldShow&&e.hasContent?r("div",[r("div",{staticClass:"markdown leading-normal",class:{"whitespace-pre-wrap":e.plainText},domProps:{innerHTML:e._s(e.content)}})]):e.hasContent?r("div",[e.expanded?r("div",{staticClass:"markdown leading-normal",class:{"whitespace-pre-wrap":e.plainText},domProps:{innerHTML:e._s(e.content)}}):e._e(),e._v(" "),e.shouldShow?e._e():r("a",{staticClass:"cursor-pointer dim inline-block text-primary font-bold",class:{"mt-6":e.expanded},attrs:{"aria-role":"button"},on:{click:e.toggle}},[e._v("\n "+e._s(e.showHideLabel)+"\n ")])]):r("div",[e._v("—")])},staticRenderFns:[]}},To3L:function(e,t,r){"use strict";var o=r("+E39"),n=r("lktj"),i=r("1kS7"),a=r("NpIQ"),s=r("sB3e"),c=r("MU5D"),l=Object.assign;e.exports=!l||r("S82l")(function(){var e={},t={},r=Symbol(),o="abcdefghijklmnopqrst";return e[r]=7,o.split("").forEach(function(e){t[e]=e}),7!=l({},e)[r]||Object.keys(l({},t)).join("")!=o})?function(e,t){for(var r=s(e),l=arguments.length,u=1,d=i.f,m=a.f;l>u;)for(var f,p=c(arguments[u++]),h=d?n(p).concat(d(p)):n(p),g=h.length,b=0;g>b;)f=h[b++],o&&!m.call(p,f)||(r[f]=p[f]);return r}:l},ToXU:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".progress[data-v-8affbeb6]{position:fixed;top:0;left:0;right:0;height:2px;width:0;transition:width .2s,opacity .4s;opacity:1;background-color:#efc14e;z-index:999999}",""])},U2jv:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"fixed pin bg-40 z-50 flex items-center justify-center min-w-site p-6"},[r("div",{staticClass:"flex items-center w-error"},[r("div",{staticClass:"flex-no-shrink illustration"},[r("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"520",height:"560",viewBox:"0 0 520 560"}},[r("g",{attrs:{fill:"none","fill-rule":"evenodd",transform:"translate(3 73)"}},[r("g",{attrs:{"stroke-width":"2",transform:"rotate(-30 140.579 22.242)"}},[r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E",d:"M26.03 0h76.9c7.9 0 15.46 3.16 21.04 8.79L145 30l-21.03 21.21A29.62 29.62 0 0 1 102.94 60H26.03V0z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#4A90E2",d:"M102.62 60c8.2 0 14.87-13.43 14.87-30s-6.66-30-14.87-30"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2",d:"M33.46 60c8.22 0 14.87-13.43 14.87-30S41.68 0 33.46 0"}}),e._v(" "),r("ellipse",{attrs:{cx:"26.03",cy:"30",fill:"#FFF",stroke:"#0D2B3E",rx:"14.87",ry:"30"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E",d:"M12.15 8.92v42.16c6.35-2.3 10.75-4.58 13.2-6.82l1.53-1.4C30.94 39 32.46 36 32.46 30c0-6.42-1.69-9.3-6.8-13.98l-.31-.28c-2.44-2.24-6.84-4.52-13.2-6.82z"}}),e._v(" "),r("ellipse",{attrs:{cx:"11.15",cy:"30",fill:"#FFF",stroke:"#0D2B3E",rx:"10.15",ry:"21.5"}}),e._v(" "),r("ellipse",{attrs:{cx:"79.56",cy:"30",stroke:"#4A90E2",rx:"17.85",ry:"18"}}),e._v(" "),r("ellipse",{attrs:{cx:"79.56",cy:"30",fill:"#FFF",stroke:"#0D2B3E",rx:"13.38",ry:"13.5"}})]),e._v(" "),r("path",{attrs:{fill:"#DDE4EB",d:"M425 74.5A16.5 16.5 0 0 0 441.5 91h44a16.5 16.5 0 0 1 0 33h-143a16.5 16.5 0 0 1 0-33 16.5 16.5 0 0 0 0-33h-66a16.5 16.5 0 0 1 0-33h165a16.5 16.5 0 0 1 0 33A16.5 16.5 0 0 0 425 74.5z"}}),e._v(" "),r("g",{attrs:{transform:"translate(424 130)"}},[r("circle",{attrs:{cx:"45",cy:"45",r:"45",stroke:"#4A90E2","stroke-width":"2"}}),e._v(" "),r("circle",{attrs:{cx:"45.83",cy:"45.83",r:"39.17",fill:"#FFF"}}),e._v(" "),r("circle",{attrs:{cx:"47.5",cy:"15.83",r:"4.17",stroke:"#4A90E2","stroke-width":"2"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2","stroke-linecap":"round","stroke-width":"2",d:"M48.33 25c4.6 0 8.34-3.73 8.34-8.33"}}),e._v(" "),r("circle",{attrs:{cx:"70",cy:"40",r:"6.67",stroke:"#4A90E2","stroke-width":"2"}}),e._v(" "),r("circle",{attrs:{cx:"19.17",cy:"42.5",r:"2.5",stroke:"#4A90E2","stroke-width":"2"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2","stroke-linecap":"round","stroke-width":"2",d:"M26.67 42.5a7.5 7.5 0 0 0-7.5-7.5m-7.5 7.5a7.5 7.5 0 0 0 7.5 7.5"}}),e._v(" "),r("circle",{attrs:{cx:"53.33",cy:"66.67",r:"3.33",stroke:"#4A90E2","stroke-width":"2"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2","stroke-linecap":"round","stroke-width":"2",d:"M45 66.67c0 4.6 3.73 8.33 8.33 8.33"}}),e._v(" "),r("circle",{attrs:{cx:"19.17",cy:"65.83",r:"2.5",fill:"#4A90E2"}}),e._v(" "),r("circle",{attrs:{cx:"32.5",cy:"10.83",r:"2.5",fill:"#4A90E2"}})]),e._v(" "),r("path",{attrs:{fill:"#DDE4EB",d:"M309.1 302.8a19.4 19.4 0 0 0-19.4-19.4H177.14a19.4 19.4 0 0 0 0 38.8h11.65a19.4 19.4 0 1 1 0 38.8H63.63a19.4 19.4 0 0 1-19.4-19.4v-.48a18.92 18.92 0 0 1 18.92-18.92 18.92 18.92 0 0 0 18.91-18.92v-.48a19.4 19.4 0 0 0-19.4-19.4H38.4a19.4 19.4 0 0 1 0-38.8h87.33a19.4 19.4 0 0 0 0-38.8h-11.65a19.4 19.4 0 1 1 0-38.8h200.84a19.4 19.4 0 0 1 0 38.8h-36.87a19.4 19.4 0 0 0 0 38.8H390.6a19.4 19.4 0 0 1 0 38.8h-11.65a19.4 19.4 0 0 0-19.4 19.4v.48a18.92 18.92 0 0 0 18.92 18.92 18.92 18.92 0 0 1 18.92 18.92v.48a19.4 19.4 0 0 1-19.4 19.4h-99.94a19.4 19.4 0 0 1 0-38.8h11.65a19.4 19.4 0 0 0 19.4-19.4z"}}),e._v(" "),r("g",{attrs:{"stroke-width":"2",transform:"rotate(-30 693.38531629 74.76561894)"}},[r("rect",{attrs:{width:"72.05",height:"22.36",x:"25.68",y:"7.09",fill:"#FFF",stroke:"#0D2B3E",rx:"11.18"}}),e._v(" "),r("rect",{attrs:{width:"72.05",height:"34.54",x:"1",y:"1",fill:"#FFF",stroke:"#0D2B3E",rx:"17.27"}}),e._v(" "),r("ellipse",{staticStyle:{"mix-blend-mode":"multiply"},attrs:{cx:"18.51",cy:"18.27",stroke:"#4A90E2",rx:"17.51",ry:"17.27"}})]),e._v(" "),r("path",{attrs:{fill:"#E0EEFF",d:"M120.056 377.079l27.34-15.999L196 398.001 168.66 414zM21.329 303.999L48.669 288l48.604 36.921-27.34 15.999z",opacity:".58"}}),e._v(" "),r("path",{attrs:{stroke:"#0D2B3E","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M107.4 354.78l20.25 15.12-20.25-15.12zM75.76 332.1l10.12 7.56-10.12-7.56z"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2","stroke-width":"2",d:"M115.52 377.19l46.88 35.6 25.48-14.9-46.89-35.6-25.47 14.9zm58.96 27.99l-46.83-36.54 46.83 36.54zM16.8 304.11l46.88 35.6 25.47-14.9-46.88-35.6L16.8 304.1zm58.96 29.25l-46.84-36.54 46.84 36.54z"}}),e._v(" "),r("path",{attrs:{stroke:"#8DDCFF","stroke-linecap":"round","stroke-width":"2",d:"M169.42 329.58a30.3 30.3 0 0 0-30.38-30.24m21.52 31.5a21.47 21.47 0 0 0-21.52-21.42"}}),e._v(" "),r("path",{attrs:{fill:"#FFF","fill-rule":"nonzero",stroke:"#0D2B3E","stroke-width":"2",d:"M363.8119003 126.44094699c2.51661541-6.60148066 6.09613872-22.6187686-2.2109135-24.895539-8.3168685-2.2748623-10.42540197 10.4614671-16.03584328 18.70341761-10.59995244 15.53804391-23.66683084 23.41606326-43.2306606 27.21888653-7.11679709 1.38336522-14.27332024 1.40937203-21.21489804.130389-6.98465907-1.29098322-13.7264579 3.27938314-15.03870592 10.20705267a12.7 12.7 0 0 0 10.24523714 14.86828894 82.91 82.91 0 0 0 30.8739962-.17423743c28.42792323-5.5258285 46.57886712-19.68941689 56.611788-46.05825832z"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M361.7030833 130.52842676l-17.8049339-7.7449551"}}),e._v(" "),r("path",{attrs:{fill:"#FFF","fill-rule":"nonzero",stroke:"#0D2B3E","stroke-width":"2",d:"M266.54686983 241.69757868l16.77256314 26.0176618a41.79 41.79 0 0 1 54.9786567 8.5873516l8.01291943 14.232555 39.8983953-23.55575834-24.11546673-10.38943521a72.65 72.65 0 0 0-95.54897593-14.90219112z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF","fill-rule":"nonzero",stroke:"#0D2B3E","stroke-width":"2",d:"M237.8794903 217.16687444l-11.75143341 28.63844816a47.76 47.76 0 0 1 29.336647 40.02772592 47.59 47.59 0 0 1-9.23738334 32.6626813l-11.68590493 13.9867518 37.64817267 31.6885988-1.18280452-27.15319085a78.6 78.6 0 0 0 15.2180959-53.88374576 78.74 78.74 0 0 0-48.34538937-65.96726937z"}}),e._v(" "),r("path",{attrs:{fill:"#E5F7FF",d:"M212.38792337 148.28534705l-12.63354185 2.45571177 22.40860842 115.28229643 12.63354185-2.45571177z"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M277.14421373 136.00361432l-58.67185675 11.40465366-8.69325783-44.72293448a29.885 29.885 0 1 1 58.67185675-11.40465366l8.69325783 44.72293448z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E","stroke-width":"2",d:"M266.45521183 136.46158627l-5.90935459-30.40099387c-1.90427377-9.79663929-11.36964991-16.19817461-21.13684039-14.2996251s-16.13355271 11.38765018-14.23118703 21.1744732l5.90935459 30.40099388"}}),e._v(" "),r("path",{attrs:{stroke:"#0D2B3E","stroke-width":"2",d:"M199.41437503 150.51172155l87.71820511-17.05069183 22.52118573 115.86145646-87.71820512 17.05069183-22.52118572-115.86145646z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E","stroke-width":"2",d:"M287.13258014 133.46102972l22.52118573 115.86145646-75.09447954 14.59688815-22.52118572-115.86145646 75.09447953-14.59688815z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E","stroke-width":"2",d:"M291.89999763 154.8951691l6.86065974 4.63610266 9.58051965 49.28750088-49.1402568 9.55189831-6.86065974-4.63610267-9.58242774-49.29731715 49.1402568-9.55189831z"}}),e._v(" "),r("path",{attrs:{fill:"#FFF",stroke:"#0D2B3E","stroke-width":"2",d:"M298.87323467 160.1104318l-48.56109676 9.439321 9.46794235 48.70834085 48.56109676-9.439321z"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M280.23508038 323.43753826l-27.22702477-17.43517197"}}),e._v(" "),r("path",{attrs:{fill:"#FFF","fill-rule":"nonzero",stroke:"#0D2B3E","stroke-width":"2",d:"M172.12419639 259.31801112c2.31538206 6.67076501 9.8636495 21.23813123 17.69252677 17.64835676 7.83678545-3.60149884 1.26419427-14.7216987.27446604-24.63498464-1.87754554-18.72579298 3.06823431-33.16477708 15.6036019-48.65116657a56.95 56.95 0 0 1 16.17568934-13.73888912 12.91 12.91 0 0 0 4.954421-17.48662668 12.7 12.7 0 0 0-17.40510779-4.79708482 82.91 82.91 0 0 0-23.5305555 19.97687308c-18.2294437 22.51194976-23.0325701 45.02200255-13.76504176 71.68352199z"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M189.24009043 249.42029566l-19.63254367 3.8161799"}}),e._v(" "),r("path",{attrs:{stroke:"#0D2B3E","stroke-width":"2",d:"M275.89003883 328.33662123l-25.60278694-16.41637296m107.79044764-58.64485824l-21.48773566 20.47625982"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M352.8061952 248.16739216l-21.48773565 20.47625982"}}),e._v(" "),r("path",{attrs:{stroke:"#4A90E2","stroke-width":"2",d:"M293.81436735 168.98883038l-10.79789902 2.09889895 2.09889895 10.79789902 10.79789901-2.09889895z"}}),e._v(" "),r("path",{attrs:{stroke:"#7ED7FF","stroke-width":"2",d:"M297.24892926 186.65811968l-4.90813592.95404498.95404498 4.90813592 4.90813592-.95404498zM285.46940306 188.94782763l-4.90813592.95404498.95404498 4.90813591 4.90813592-.95404497zM265.34717903 174.52229125l-4.90813592.95404498 6.48750584 33.37532423 4.90813592-.95404497zM276.14507804 172.4233923l-3.92650873.76323598.38161799 1.96325437 3.92650873-.76323598z"}}),e._v(" "),r("circle",{attrs:{cx:"401",cy:"44",r:"6",fill:"#9AC2F0"}}),e._v(" "),r("path",{attrs:{stroke:"#031836","stroke-linecap":"round","stroke-width":"2",d:"M398 53a6 6 0 1 0-6-6"}}),e._v(" "),r("circle",{attrs:{cx:"90",cy:"164",r:"6",fill:"#9AC2F0"}}),e._v(" "),r("path",{attrs:{stroke:"#031836","stroke-linecap":"round","stroke-width":"2",d:"M87 173a6 6 0 1 0-6-6"}}),e._v(" "),r("path",{attrs:{fill:"#031836",d:"M400.75 335h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1zM416 349.75v.5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1zM401.25 365h-.5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1zM386 350.25v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v.5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1zM14.75 202h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1zM30 216.75v.5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1zM15.25 232h-.5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1zM0 217.25v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v.5a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1zM224.75 7h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-.5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1zM240 21.75v.5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1zM225.25 37h-.5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1zM210 22.25v-.5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v.5a1 1 0 0 1-1 1h-8a1 1 0 0 1-1-1z"}}),e._v(" "),r("circle",{attrs:{cx:"377",cy:"173",r:"4",fill:"#031836"}}),e._v(" "),r("circle",{attrs:{cx:"255",cy:"403",r:"4",fill:"#031836"}})])])]),e._v(" "),r("div",[r("h1",{staticClass:"text-error-title font-normal mb-1"},[e._v("404")]),e._v(" "),r("p",{staticClass:"text-error-subtitle mb-6"},[e._v(e._s(e.__("Whoops"))+"…")]),e._v(" "),r("p",{staticClass:"text-error-message mb-8 leading-normal"},[e._v("\n "+e._s(e.__("We're lost in space. The page you were trying to view does not exist."))+"\n ")]),e._v(" "),r("router-link",{staticClass:"dim btn btn-lg btn-default btn-white text-90 no-text-shadow tracking-wide uppercase",attrs:{to:{name:"dashboard"}}},[e._v("\n "+e._s(e.__("Go Home"))+"\n ")])],1)])])},staticRenderFns:[]}},U5ju:function(e,t,r){r("M6a0"),r("zQR9"),r("+tPU"),r("CXw9"),r("EqBC"),r("jKW+"),e.exports=r("FeBl").Promise},U7Ds:function(e,t,r){var o=r("VU/8")(r("7glo"),r("Af2f"),!1,null,null,null);e.exports=o.exports},UCwy:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=a(r("Dd8w")),n=a(r("8U58"));r("f6fj"),r("5IAE"),r("c6RA"),r("uOPQ"),r("PG9i"),r("7BQ2"),r("uqUb"),r("ybz3"),r("fQr+"),r("ezqs"),r("/9hD"),r("bNms"),r("Hyg2"),r("JGZi"),r("RfqI"),r("8Nur");var i=r("vilh");function a(e){return e&&e.__esModule?e:{default:e}}n.default.defineMode("htmltwig",function(e,t){return n.default.overlayMode(n.default.getMode(e,t.backdrop||"text/html"),n.default.getMode(e,"twig"))}),t.default={mixins:[i.HandlesValidationErrors,i.FormField],data:function(){return{codemirror:null}},mounted:function(){var e=this,t=(0,o.default)((0,o.default)({tabSize:4,indentWithTabs:!0,lineWrapping:!0,lineNumbers:!0,theme:"dracula"},{readOnly:this.isReadonly}),this.field.options);this.codemirror=n.default.fromTextArea(this.$refs.theTextarea,t),this.doc.on("change",function(t,r){e.value=t.getValue()}),this.doc.setValue(this.field.value),this.codemirror.setSize("100%",this.field.height)},computed:{doc:function(){return this.codemirror.getDoc()}}}},UFKg:function(e,t,r){var o=r("VU/8")(null,r("DdWK"),!1,null,null,null);e.exports=o.exports},UIUU:function(e,t,r){var o=r("VU/8")(r("6RUu"),r("GnAz"),!1,null,null,null);e.exports=o.exports},ULbL:function(e,t,r){var o=r("VU/8")(r("TPqT"),r("/W3r"),!1,null,null,null);e.exports=o.exports},UVwW:function(e,t,r){var o=r("VU/8")(r("D09v"),r("DkqJ"),!1,null,null,null);e.exports=o.exports},UWVk:function(e,t,r){var o=r("Dcue");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("48f39e9d",o,!0,{})},UYrm:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{type:{type:String,default:"delete"},viewBox:{type:String,default:"0 0 20 20"},width:{type:[Number,String],default:20},height:{type:[Number,String],default:20}},computed:{iconName:function(){return"icon-"+this.type}}}},UhbC:function(e,t,r){var o=r("/90R");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("0d6fb32b",o,!0,{})},UnEC:function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},UoVS:function(e,t,r){"use strict";(function(t){var o=r("4oCz"),n=r("GQ7U"),i={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!o.isUndefined(e)&&o.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,c={adapter:("undefined"!=typeof XMLHttpRequest?s=r("mN2L"):void 0!==t&&(s=r("mN2L")),s),transformRequest:[function(e,t){return n(t,"Content-Type"),o.isFormData(e)||o.isArrayBuffer(e)||o.isBuffer(e)||o.isStream(e)||o.isFile(e)||o.isBlob(e)?e:o.isArrayBufferView(e)?e.buffer:o.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):o.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};c.headers={common:{Accept:"application/json, text/plain, */*"}},o.forEach(["delete","get","head"],function(e){c.headers[e]={}}),o.forEach(["post","put","patch"],function(e){c.headers[e]=o.merge(i)}),e.exports=c}).call(t,r("W2nU"))},UuGF:function(e,t){var r=Math.ceil,o=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?o:r)(e)}},Uy0u:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-zenburn .CodeMirror-gutters{background:#3f3f3f!important}.cm-s-zenburn .CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded{color:#999}.cm-s-zenburn .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-zenburn.CodeMirror{background-color:#3f3f3f;color:#dcdccc}.cm-s-zenburn span.cm-builtin{color:#dcdccc;font-weight:700}.cm-s-zenburn span.cm-comment{color:#7f9f7f}.cm-s-zenburn span.cm-keyword{color:#f0dfaf;font-weight:700}.cm-s-zenburn span.cm-atom{color:#bfebbf}.cm-s-zenburn span.cm-def{color:#dcdccc}.cm-s-zenburn span.cm-variable{color:#dfaf8f}.cm-s-zenburn span.cm-variable-2{color:#dcdccc}.cm-s-zenburn span.cm-string,.cm-s-zenburn span.cm-string-2{color:#cc9393}.cm-s-zenburn span.cm-number{color:#dcdccc}.cm-s-zenburn span.cm-tag{color:#93e0e3}.cm-s-zenburn span.cm-attribute,.cm-s-zenburn span.cm-property{color:#dfaf8f}.cm-s-zenburn span.cm-qualifier{color:#7cb8bb}.cm-s-zenburn span.cm-meta{color:#f0dfaf}.cm-s-zenburn span.cm-header,.cm-s-zenburn span.cm-operator{color:#f0efd0}.cm-s-zenburn span.CodeMirror-matchingbracket{box-sizing:border-box;background:transparent;border-bottom:1px solid}.cm-s-zenburn span.CodeMirror-nonmatchingbracket{border-bottom:1px solid;background:none}.cm-s-zenburn .CodeMirror-activeline,.cm-s-zenburn .CodeMirror-activeline-background{background:#000}.cm-s-zenburn div.CodeMirror-selected{background:#545454}.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected{background:#4f4f4f}",""])},UyH0:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffec}.cm-s-mbo div.CodeMirror-selected{background:#716c62}.cm-s-mbo .CodeMirror-line::selection,.cm-s-mbo .CodeMirror-line>span::selection,.cm-s-mbo .CodeMirror-line>span>span::selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-line::-moz-selection,.cm-s-mbo .CodeMirror-line>span::-moz-selection,.cm-s-mbo .CodeMirror-line>span>span::-moz-selection{background:hsla(40,7%,41%,.99)}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-guttermarker{color:#fff}.cm-s-mbo .CodeMirror-guttermarker-subtle{color:grey}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom,.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-attribute,.cm-s-mbo span.cm-property{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-string.cm-property,.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{border-bottom:#636363;color:#ffffec}.cm-s-mbo span.cm-qualifier{color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41}.cm-s-mbo .CodeMirror-matchingbracket{color:#ffb928!important}.cm-s-mbo .CodeMirror-matchingtag{background:hsla(0,0%,100%,.37)}",""])},UyKC:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("h3",{staticClass:"text-sm uppercase tracking-wide text-80 bg-30 p-3"},[e._v("\n "+e._s(e.filter.name)+"\n ")]),e._v(" "),r("div",{staticClass:"p-2"},[r("date-time-picker",{staticClass:"w-full form-control form-input form-input-bordered",attrs:{dusk:"date-filter",name:"date-filter",autocomplete:"off",value:e.value,"alt-format":"Y-m-d","date-format":"Y-m-d",placeholder:e.placeholder,"enable-time":!1,"enable-seconds":!1,"first-day-of-week":e.firstDayOfWeek},on:{input:function(e){e.preventDefault()},change:e.handleChange}})],1)])},staticRenderFns:[]}},Uz1a:function(e,t,r){var o=r("bJWQ"),n=r("FhcP"),i=r("EHRO"),a=r("SHWz"),s=r("gHOb"),c=r("NGEn"),l=r("ggOT"),u=r("YsVG"),d=1,m="[object Arguments]",f="[object Array]",p="[object Object]",h=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,g,b,v){var y=c(e),x=c(t),k=y?f:s(e),w=x?f:s(t),_=(k=k==m?p:k)==p,C=(w=w==m?p:w)==p,M=k==w;if(M&&l(e)){if(!l(t))return!1;y=!0,_=!1}if(M&&!_)return v||(v=new o),y||u(e)?n(e,t,r,g,b,v):i(e,t,k,r,g,b,v);if(!(r&d)){var R=_&&h.call(e,"__wrapped__"),S=C&&h.call(t,"__wrapped__");if(R||S){var z=R?e.value():e,E=S?t.value():t;return v||(v=new o),b(z,E,r,g,v)}}return!!M&&(v||(v=new o),a(e,t,r,g,b,v))}},Uz53:function(e,t,r){var o=r("31IT");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("54bc3419",o,!0,{})},UzId:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"flex border-b border-40"},[r("div",{staticClass:"w-1/4 py-4"},[e._t("default",[r("h4",{staticClass:"font-normal text-80"},[e._v(e._s(e.field.name))])])],2),e._v(" "),r("div",{staticClass:"w-3/4 py-4"},[e._t("value",[r("div",{staticClass:"flex items-center"},[e.field.loadingWords.includes(e.field.value)?r("span",{staticClass:"mr-3 text-60"},[r("loader",{attrs:{width:"30"}})],1):e._e(),e._v(" "),e.field.value?r("p",{staticClass:"text-90",class:{"text-danger":e.field.failedWords.includes(e.field.value)}},[e._v("\n "+e._s(e.field.value)+"\n ")]):r("p",[e._v("—")])])])],2)])},staticRenderFns:[]}},V3tA:function(e,t,r){r("R4wc"),e.exports=r("FeBl").Object.assign},VGKn:function(e,t,r){var o=r("VU/8")(r("2Tcl"),r("UyKC"),!1,null,null,null);e.exports=o.exports},VGnH:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:{resourceName:{type:String,required:!0},filterKey:{type:String,required:!0},lens:String},methods:{handleChange:function(e){this.$store.commit(this.resourceName+"/updateFilterState",{filterClass:this.filterKey,value:e.target.value}),this.$emit("change")}},computed:{filter:function(){return this.$store.getters[this.resourceName+"/getFilter"](this.filterKey)},value:function(){return this.filter.currentValue}}}},VHa8:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-monokai.CodeMirror{background:#272822;color:#f8f8f2}.cm-s-monokai div.CodeMirror-selected{background:#49483e}.cm-s-monokai .CodeMirror-line::selection,.cm-s-monokai .CodeMirror-line>span::selection,.cm-s-monokai .CodeMirror-line>span>span::selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-line::-moz-selection,.cm-s-monokai .CodeMirror-line>span::-moz-selection,.cm-s-monokai .CodeMirror-line>span>span::-moz-selection{background:rgba(73,72,62,.99)}.cm-s-monokai .CodeMirror-gutters{background:#272822;border-right:0}.cm-s-monokai .CodeMirror-guttermarker{color:#fff}.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:#d0d0d0}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid #f8f8f0}.cm-s-monokai span.cm-comment{color:#75715e}.cm-s-monokai span.cm-atom,.cm-s-monokai span.cm-number{color:#ae81ff}.cm-s-monokai span.cm-comment.cm-attribute{color:#97b757}.cm-s-monokai span.cm-comment.cm-def{color:#bc9262}.cm-s-monokai span.cm-comment.cm-tag{color:#bc6283}.cm-s-monokai span.cm-comment.cm-type{color:#5998a6}.cm-s-monokai span.cm-attribute,.cm-s-monokai span.cm-property{color:#a6e22e}.cm-s-monokai span.cm-keyword{color:#f92672}.cm-s-monokai span.cm-builtin{color:#66d9ef}.cm-s-monokai span.cm-string{color:#e6db74}.cm-s-monokai span.cm-variable{color:#f8f8f2}.cm-s-monokai span.cm-variable-2{color:#9effff}.cm-s-monokai span.cm-type,.cm-s-monokai span.cm-variable-3{color:#66d9ef}.cm-s-monokai span.cm-def{color:#fd971f}.cm-s-monokai span.cm-bracket{color:#f8f8f2}.cm-s-monokai span.cm-tag{color:#f92672}.cm-s-monokai span.cm-header,.cm-s-monokai span.cm-link{color:#ae81ff}.cm-s-monokai span.cm-error{background:#f92672;color:#f8f8f0}.cm-s-monokai .CodeMirror-activeline-background{background:#373831}.cm-s-monokai .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},VJUA:function(e,t,r){"use strict";r("y7AC"),r("yjTL"),r("jq6j")},VLvP:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("div")},staticRenderFns:[]}},VN6J:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){r.d(t,"VClosePopover",function(){return Y}),r.d(t,"VPopover",function(){return $}),r.d(t,"VTooltip",function(){return G}),r.d(t,"createTooltip",function(){return E}),r.d(t,"destroyTooltip",function(){return T}),r.d(t,"install",function(){return Q});var o=r("Zgw8"),n=r("hygk"),i=r.n(n),a=r("A4r5"),s=r("HN2V"),c=r.n(s);function l(e){"@babel/helpers - typeof";return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var r=0;r
',trigger:"hover focus",offset:0},k=[],w=function(){function e(t,r){var o=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),d(this,"_events",[]),d(this,"_setTooltipNodeEvent",function(e,t,r,n){var i=e.relatedreference||e.toElement||e.relatedTarget;return!!o._tooltipNode.contains(i)&&(o._tooltipNode.addEventListener(e.type,function r(i){var a=i.relatedreference||i.toElement||i.relatedTarget;o._tooltipNode.removeEventListener(e.type,r),t.contains(a)||o._scheduleHide(t,n.delay,n,i)}),!0)}),r=f(f({},x),r),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=r,this._isOpen=!1,this._init()}var t,r,n;return t=e,(r=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,r=e&&e.classes||F.options.defaultClass;i()(this._classes,r)||(this.setClasses(r),t=!0),e=R(e);var o=!1,n=!1;for(var a in this.options.offset===e.offset&&this.options.placement===e.placement||(o=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(n=!0),e)this.options[a]=e[a];if(this._tooltipNode)if(n){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else o&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var r=this,o=window.document.createElement("div");o.innerHTML=t.trim();var n=o.childNodes[0];return n.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),n.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(n.addEventListener("mouseenter",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)}),n.addEventListener("click",function(t){return r._scheduleHide(e,r.options.delay,r.options,t)})),n}},{key:"_setContent",value:function(e,t){var r=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){r.popperInstance&&r.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var r=this;return new Promise(function(o,n){var i=t.html,a=r._tooltipNode;if(a){var s=a.querySelector(r.options.innerSelector);if(1===e.nodeType){if(i){for(;s.firstChild;)s.removeChild(s.firstChild);s.appendChild(e)}}else{if("function"==typeof e){var c=e();return void(c&&"function"==typeof c.then?(r.asyncContent=!0,t.loadingClass&&g(a,t.loadingClass),t.loadingContent&&r._applyContent(t.loadingContent,t),c.then(function(e){return t.loadingClass&&b(a,t.loadingClass),r._applyContent(e,t)}).then(o).catch(n)):r._applyContent(c,t).then(o).catch(n))}i?s.innerHTML=e:s.innerText=e}o()}})}},{key:"_show",value:function(e,t){if(t&&"string"==typeof t.container&&!document.querySelector(t.container))return;clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var r=!0;this._tooltipNode&&(g(this._tooltipNode,this._classes),r=!1);var o=this._ensureShown(e,t);return r&&this._tooltipNode&&g(this._tooltipNode,this._classes),g(e,["v-tooltip-open"]),o}},{key:"_ensureShown",value:function(e,t){var r=this;if(this._isOpen)return this;if(this._isOpen=!0,k.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var n=e.getAttribute("title")||t.title;if(!n)return this;var i=this._create(e,t.template);this._tooltipNode=i,e.setAttribute("aria-describedby",i.id);var a=this._findContainer(t.container,e);this._append(i,a);var s=f(f({},t.popperOptions),{},{placement:t.placement});return s.modifiers=f(f({},s.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new o.default(e,i,s),this._setContent(n,t),requestAnimationFrame(function(){!r._isDisposed&&r.popperInstance?(r.popperInstance.update(),requestAnimationFrame(function(){r._isDisposed?r.dispose():r._isOpen&&i.setAttribute("aria-hidden","false")})):r.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=k.indexOf(this);-1!==e&&k.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=F.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())},t)),b(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach(function(t){var r=t.func,o=t.event;e.reference.removeEventListener(o,r)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,r){var o=this,n=[],i=[];t.forEach(function(e){switch(e){case"hover":n.push("mouseenter"),i.push("mouseleave"),o.options.hideOnTargetClick&&i.push("click");break;case"focus":n.push("focus"),i.push("blur"),o.options.hideOnTargetClick&&i.push("click");break;case"click":n.push("click"),i.push("click")}}),n.forEach(function(t){var n=function(t){!0!==o._isOpen&&(t.usedByTooltip=!0,o._scheduleShow(e,r.delay,r,t))};o._events.push({event:t,func:n}),e.addEventListener(t,n)}),i.forEach(function(t){var n=function(t){!0!==t.usedByTooltip&&o._scheduleHide(e,r.delay,r,t)};o._events.push({event:t,func:n}),e.addEventListener(t,n)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,r){var o=this,n=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return o._show(e,r)},n)}},{key:"_scheduleHide",value:function(e,t,r,o){var n=this,i=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==n._isOpen&&n._tooltipNode.ownerDocument.body.contains(n._tooltipNode)){if("mouseleave"===o.type)if(n._setTooltipNodeEvent(o,e,t,r))return;n._hide(e,r)}},i)}}])&&u(t.prototype,r),n&&u(t,n),e}();"undefined"!=typeof document&&document.addEventListener("touchstart",function(e){for(var t=0;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function R(e){var t={placement:void 0!==e.placement?e.placement:F.options.defaultPlacement,delay:void 0!==e.delay?e.delay:F.options.defaultDelay,html:void 0!==e.html?e.html:F.options.defaultHtml,template:void 0!==e.template?e.template:F.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:F.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:F.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:F.options.defaultTrigger,offset:void 0!==e.offset?e.offset:F.options.defaultOffset,container:void 0!==e.container?e.container:F.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:F.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:F.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:F.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:F.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:F.options.defaultLoadingContent,popperOptions:f({},void 0!==e.popperOptions?e.popperOptions:F.options.defaultPopperOptions)};if(t.offset){var r=l(t.offset),o=t.offset;("number"===r||"string"===r&&-1===o.indexOf(","))&&(o="0, ".concat(o)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:o}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function S(e,t){for(var r=e.placement,o=0;o2&&void 0!==arguments[2]?arguments[2]:{},o=z(t),n=void 0!==t.classes?t.classes:F.options.defaultClass,i=f({title:o},R(f(f({},"object"===l(t)?t:{}),{},{placement:S(t,r)}))),a=e._tooltip=new w(e,i);a.setClasses(n),a._vueEl=e;var s=void 0!==t.targetClasses?t.targetClasses:F.options.defaultTargetClass;return e._tooltipTargetClasses=s,g(e,s),a}function T(e){e._tooltip&&(e._tooltip.dispose(),delete e._tooltip,delete e._tooltipOldShow),e._tooltipTargetClasses&&(b(e,e._tooltipTargetClasses),delete e._tooltipTargetClasses)}function O(e,t){var r,o=t.value,n=(t.oldValue,t.modifiers),i=z(o);i&&_.enabled?(e._tooltip?((r=e._tooltip).setContent(i),r.setOptions(f(f({},o),{},{placement:S(o,n)}))):r=E(e,o,n),void 0!==o.show&&o.show!==e._tooltipOldShow&&(e._tooltipOldShow=o.show,o.show?r.show():r.hide())):T(e)}var F={options:M,bind:O,update:O,unbind:function(e){T(e)}};function N(e){e.addEventListener("click",j),e.addEventListener("touchstart",I,!!v&&{passive:!0})}function A(e){e.removeEventListener("click",j),e.removeEventListener("touchstart",I),e.removeEventListener("touchend",L),e.removeEventListener("touchcancel",q)}function j(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function I(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var r=e.changedTouches[0];t.$_vclosepopover_touchPoint=r,t.addEventListener("touchend",L),t.addEventListener("touchcancel",q)}}function L(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var r=e.changedTouches[0],o=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(r.screenY-o.screenY)<20&&Math.abs(r.screenX-o.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function q(e){e.currentTarget.$_vclosepopover_touch=!1}var D={bind:function(e,t){var r=t.value,o=t.modifiers;e.$_closePopoverModifiers=o,(void 0===r||r)&&N(e)},update:function(e,t){var r=t.value,o=t.oldValue,n=t.modifiers;e.$_closePopoverModifiers=n,r!==o&&(void 0===r||r?N(e):A(e))},unbind:function(e){A(e)}};function P(e){var t=F.options.popover[e];return void 0===t?F.options[e]:t}var U=!1;"undefined"!=typeof window&&"undefined"!=typeof navigator&&(U=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream);var B=[],V=function(){};"undefined"!=typeof window&&(V=window.Element);var K={name:"VPopover",components:{ResizeObserver:a.a},props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},placement:{type:String,default:function(){return P("defaultPlacement")}},delay:{type:[String,Number,Object],default:function(){return P("defaultDelay")}},offset:{type:[String,Number],default:function(){return P("defaultOffset")}},trigger:{type:String,default:function(){return P("defaultTrigger")}},container:{type:[String,Object,V,Boolean],default:function(){return P("defaultContainer")}},boundariesElement:{type:[String,V],default:function(){return P("defaultBoundariesElement")}},popperOptions:{type:Object,default:function(){return P("defaultPopperOptions")}},popoverClass:{type:[String,Array],default:function(){return P("defaultClass")}},popoverBaseClass:{type:[String,Array],default:function(){return F.options.popover.defaultBaseClass}},popoverInnerClass:{type:[String,Array],default:function(){return F.options.popover.defaultInnerClass}},popoverWrapperClass:{type:[String,Array],default:function(){return F.options.popover.defaultWrapperClass}},popoverArrowClass:{type:[String,Array],default:function(){return F.options.popover.defaultArrowClass}},autoHide:{type:Boolean,default:function(){return F.options.popover.defaultAutoHide}},handleResize:{type:Boolean,default:function(){return F.options.popover.defaultHandleResize}},openGroup:{type:String,default:null},openClass:{type:[String,Array],default:function(){return F.options.popover.defaultOpenClass}},ariaId:{default:null}},data:function(){return{isOpen:!1,id:Math.random().toString(36).substr(2,10)}},computed:{cssClass:function(){return d({},this.openClass,this.isOpen)},popoverId:function(){return"popover_".concat(null!=this.ariaId?this.ariaId:this.id)}},watch:{open:function(e){e?this.show():this.hide()},disabled:function(e,t){e!==t&&(e?this.hide():this.open&&this.show())},container:function(e){if(this.isOpen&&this.popperInstance){var t=this.$refs.popover,r=this.$refs.trigger,o=this.$_findContainer(this.container,r);if(!o)return void console.warn("No container for popover",this);o.appendChild(t),this.popperInstance.scheduleUpdate()}},trigger:function(e){this.$_removeEventListeners(),this.$_addEventListeners()},placement:function(e){var t=this;this.$_updatePopper(function(){t.popperInstance.options.placement=e})},offset:"$_restartPopper",boundariesElement:"$_restartPopper",popperOptions:{handler:"$_restartPopper",deep:!0}},created:function(){this.$_isDisposed=!1,this.$_mounted=!1,this.$_events=[],this.$_preventOpen=!1},mounted:function(){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e),this.$_init(),this.open&&this.show()},deactivated:function(){this.hide()},beforeDestroy:function(){this.dispose()},methods:{show:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.event,o=(t.skipDelay,t.force);!(void 0!==o&&o)&&this.disabled||(this.$_scheduleShow(r),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay;this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,r=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var n=this.$_findContainer(this.container,t);if(!n)return void console.warn("No container for popover",this);n.appendChild(r),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame(function(){e.hidden||(e.isOpen=!0)})}if(!this.popperInstance){var i=f(f({},this.popperOptions),{},{placement:this.placement});if(i.modifiers=f(f({},i.modifiers),{},{arrow:f(f({},i.modifiers&&i.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var a=this.$_getOffset();i.modifiers.offset=f(f({},i.modifiers&&i.modifiers.offset),{},{offset:a})}this.boundariesElement&&(i.modifiers.preventOverflow=f(f({},i.modifiers&&i.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new o.default(t,r,i),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var s=this.openGroup;if(s)for(var c,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),r)this.$_hide();else{var o=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type)if(e.$_setTooltipNodeEvent(t))return;e.$_hide()}},o)}},$_setTooltipNodeEvent:function(e){var t=this,r=this.$refs.trigger,o=this.$refs.popover,n=e.relatedreference||e.toElement||e.relatedTarget;return!!o.contains(n)&&(o.addEventListener(e.type,function n(i){var a=i.relatedreference||i.toElement||i.relatedTarget;o.removeEventListener(e.type,n),r.contains(a)||t.hide({event:i})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var r=t.func,o=t.event;e.removeEventListener(o,r)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),r&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function W(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=function(r){var o=B[r];if(o.$refs.popover){var n=o.$refs.popover.contains(e.target);requestAnimationFrame(function(){(e.closeAllPopover||e.closePopover&&n||o.autoHide&&!n)&&o.$_handleGlobalClose(e,t)})}},o=0;o1&&void 0!==arguments[1]?arguments[1]:{};if(!Q.installed){Q.installed=!0;var r={};c()(r,M,t),X.options=r,F.options=r,e.directive("tooltip",F),e.directive("close-popover",D),e.component("VPopover",J)}}!function(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===r&&o.firstChild?o.insertBefore(n,o.firstChild):o.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}(".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}");var G=F,Y=D,$=J,X={install:Q,get enabled(){return _.enabled},set enabled(e){_.enabled=e}},ee=null;"undefined"!=typeof window?ee=window.Vue:void 0!==e&&(ee=e.Vue),ee&&ee.use(X),t.default=X}.call(t,r("DuR2"))},VORN:function(e,t,r){var o=r("yCNF"),n=Object.create,i=function(){function e(){}return function(t){if(!o(t))return{};if(n)return n(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=i},VRsr:function(e,t,r){var o=r("9Bvo");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("7466f743",o,!0,{})},VTtk:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=c(r("fZjL")),n=c(r("M4fF")),i=r("vilh"),a=c(r("Sey9")),s=c(r("p5OT"));function c(e){return e&&e.__esModule?e:{default:e}}t.default={name:"TrendMetric",mixins:[i.InteractsWithDates,s.default],components:{BaseTrendMetric:a.default},props:{card:{type:Object,required:!0},resourceName:{type:String,default:""},resourceId:{type:[Number,String],default:""},lens:{type:String,default:""}},data:function(){return{loading:!0,value:"",data:[],format:"(0[.]00a)",prefix:"",suffix:"",suffixInflection:!0,selectedRangeKey:null}},watch:{resourceId:function(){this.fetch()}},created:function(){this.hasRanges&&(this.selectedRangeKey=this.card.selectedRangeKey||this.card.ranges[0].value)},mounted:function(){this.fetch()},methods:{handleRangeSelected:function(e){this.selectedRangeKey=e,this.fetch()},fetch:function(){var e=this;this.loading=!0,(0,i.Minimum)(Nova.request().get(this.metricEndpoint,this.metricPayload)).then(function(t){var r=t.data.value,i=(r.labels,r.trend),a=r.value,s=r.prefix,c=r.suffix,l=r.suffixInflection,u=r.format;e.value=a,e.labels=(0,o.default)(i),e.data={labels:(0,o.default)(i),series:[n.default.map(i,function(e,t){return{meta:t,value:e}})]},e.format=u||e.format,e.prefix=s||e.prefix,e.suffix=c||e.suffix,e.suffixInflection=l,e.loading=!1})}},computed:{hasRanges:function(){return this.card.ranges.length>0},metricPayload:function(){var e={params:{timezone:this.userTimezone,twelveHourTime:this.usesTwelveHourTime}};return this.hasRanges&&(e.params.range=this.selectedRangeKey),e},metricEndpoint:function(){var e=""!==this.lens?"/lens/"+this.lens:"";return this.resourceName&&this.resourceId?"/nova-api/"+this.resourceName+e+"/"+this.resourceId+"/metrics/"+this.card.uriKey:this.resourceName?"/nova-api/"+this.resourceName+e+"/metrics/"+this.card.uriKey:"/nova-api/metrics/"+this.card.uriKey}}}},"VU/8":function(e,t){e.exports=function(e,t,r,o,n,i){var a,s=e=e||{},c=typeof e.default;"object"!==c&&"function"!==c||(a=e,s=e.default);var l,u="function"==typeof s?s.options:s;if(t&&(u.render=t.render,u.staticRenderFns=t.staticRenderFns,u._compiled=!0),r&&(u.functional=!0),n&&(u._scopeId=n),i?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},u._ssrRegister=l):o&&(l=o),l){var d=u.functional,m=d?u.render:u.beforeCreate;d?(u._injectStyles=l,u.render=function(e,t){return l.call(t),m(e,t)}):u.beforeCreate=m?[].concat(m,l):[l]}return{esModule:a,exports:s,options:u}}},VWXz:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=l(r("Gu7T")),n=l(r("mvHQ")),i=r("vilh"),a=l(r("Ipqp")),s=l(r("GFMP")),c=l(r("U7Ds"));function l(e){return e&&e.__esModule?e:{default:e}}function u(){var e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)};return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}t.default={mixins:[i.HandlesValidationErrors,i.FormField],components:{KeyValueTable:c.default,KeyValueHeader:s.default,KeyValueItem:a.default},data:function(){return{theData:[]}},mounted:function(){this.theData=_.map(this.value||{},function(e,t){return{id:u(),key:""+t,value:e}}),0==this.theData.length&&this.addRow()},methods:{fill:function(e){e.append(this.field.attribute,(0,n.default)(this.finalPayload))},addRow:function(){var e=this;return _.tap(u(),function(t){return e.theData=[].concat((0,o.default)(e.theData),[{id:t,key:"",value:""}]),t})},addRowAndSelect:function(){return this.selectRow(this.addRow())},removeRow:function(e){var t=this;return _.tap(_.findIndex(this.theData,function(t){return t.id==e}),function(e){return t.theData.splice(e,1)})},selectRow:function(e){var t=this;return this.$nextTick(function(){t.$refs[e][0].$refs.keyField.select()})}},computed:{finalPayload:function(){return _(this.theData).map(function(e){return e&&e.key?[e.key,e.value]:void 0}).reject(function(e){return void 0===e}).fromPairs().value()}}}},VafH:function(e,t,r){var o=r("VU/8")(r("0nDz"),null,!1,null,null,null);e.exports=o.exports},VbKC:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"]}},VeN8:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-icecoder{color:#666;background:#1d1d1b}.cm-s-icecoder span.cm-keyword{color:#eee;font-weight:700}.cm-s-icecoder span.cm-atom{color:#e1c76e}.cm-s-icecoder span.cm-number{color:#6cb5d9}.cm-s-icecoder span.cm-def{color:#b9ca4a}.cm-s-icecoder span.cm-variable{color:#6cb5d9}.cm-s-icecoder span.cm-variable-2{color:#cc1e5c}.cm-s-icecoder span.cm-type,.cm-s-icecoder span.cm-variable-3{color:#f9602c}.cm-s-icecoder span.cm-property{color:#eee}.cm-s-icecoder span.cm-operator{color:#9179bb}.cm-s-icecoder span.cm-comment{color:#97a3aa}.cm-s-icecoder span.cm-string{color:#b9ca4a}.cm-s-icecoder span.cm-string-2{color:#6cb5d9}.cm-s-icecoder span.cm-meta,.cm-s-icecoder span.cm-qualifier{color:#555}.cm-s-icecoder span.cm-builtin{color:#214e7b}.cm-s-icecoder span.cm-bracket{color:#cc7}.cm-s-icecoder span.cm-tag{color:#e8e8e8}.cm-s-icecoder span.cm-attribute{color:#099}.cm-s-icecoder span.cm-header{color:#6a0d6a}.cm-s-icecoder span.cm-quote{color:#186718}.cm-s-icecoder span.cm-hr{color:#888}.cm-s-icecoder span.cm-link{color:#e1c76e}.cm-s-icecoder span.cm-error{color:#d00}.cm-s-icecoder .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-icecoder div.CodeMirror-selected{color:#fff;background:#037}.cm-s-icecoder .CodeMirror-gutters{background:#1d1d1b;min-width:41px;border-right:0}.cm-s-icecoder .CodeMirror-linenumber{color:#555;cursor:default}.cm-s-icecoder .CodeMirror-matchingbracket{color:#fff!important;background:#555!important}.cm-s-icecoder .CodeMirror-activeline-background{background:#000}",""])},VfH7:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("loading-view",{attrs:{loading:e.loading}},[r("custom-attach-header",{staticClass:"mb-3",attrs:{"resource-name":e.resourceName,"resource-id":e.resourceId}}),e._v(" "),r("heading",{staticClass:"mb-3"},[e._v(e._s(e.__("Attach :resource",{resource:e.relatedResourceLabel})))]),e._v(" "),e.field?r("form",{attrs:{autocomplete:"off"},on:{submit:function(t){return t.preventDefault(),e.attachResource(t)},change:e.onUpdateFormStatus}},[r("card",{staticClass:"overflow-hidden mb-8"},[e.viaResourceField?r("div",{staticClass:"flex border-b border-40",attrs:{dusk:"via-resource-field"}},[r("div",{staticClass:"w-1/5 px-8 py-6"},[r("label",{staticClass:"inline-block text-80 pt-2 leading-tight",attrs:{for:e.viaResourceField.name}},[e._v("\n "+e._s(e.viaResourceField.name)+"\n ")])]),e._v(" "),r("div",{staticClass:"py-6 px-8 w-1/2"},[r("span",{staticClass:"inline-block font-bold text-80 pt-2"},[e._v("\n "+e._s(e.viaResourceField.display)+"\n ")])])]):e._e(),e._v(" "),r("default-field",{attrs:{field:e.field,errors:e.validationErrors,"show-help-text":null!=e.field.helpText}},[r("template",{slot:"field"},[e.field.searchable?r("search-input",{attrs:{"data-testid":e.field.resourceName+"-search-input",debounce:e.field.debounce,value:e.selectedResource,data:e.availableResources,trackBy:"value"},on:{input:e.performSearch,clear:e.clearSelection,selected:e.selectResource},scopedSlots:e._u([{key:"option",fn:function(t){var o=t.option,n=t.selected;return r("div",{staticClass:"flex items-center"},[o.avatar?r("div",{staticClass:"mr-3"},[r("img",{staticClass:"w-8 h-8 rounded-full block",attrs:{src:o.avatar}})]):e._e(),e._v(" "),r("div",[r("div",{staticClass:"text-sm font-semibold leading-5 text-90",class:{"text-white":n}},[e._v("\n "+e._s(o.display)+"\n ")]),e._v(" "),e.field.withSubtitles?r("div",{staticClass:"mt-1 text-xs font-semibold leading-5 text-80",class:{"text-white":n}},[o.subtitle?r("span",[e._v(e._s(o.subtitle))]):r("span",[e._v(e._s(e.__("No additional information...")))])]):e._e()])])}}],null,!1,3878820312)},[e.selectedResource?r("div",{staticClass:"flex items-center",attrs:{slot:"default"},slot:"default"},[e.selectedResource.avatar?r("div",{staticClass:"mr-3"},[r("img",{staticClass:"w-8 h-8 rounded-full block",attrs:{src:e.selectedResource.avatar}})]):e._e(),e._v("\n\n "+e._s(e.selectedResource.display)+"\n ")]):e._e()]):r("select-control",{staticClass:"form-control form-select w-full",class:{"border-danger":e.validationErrors.has(e.field.attribute)},attrs:{dusk:"attachable-select","data-testid":e.field.resourceName+"-select",options:e.availableResources,label:"display",selected:e.selectedResourceId},on:{change:e.selectResourceFromSelectControl}},[r("option",{attrs:{value:"",disabled:"",selected:""}},[e._v("\n "+e._s(e.__("Choose :resource",{resource:e.relatedResourceLabel}))+"\n ")])]),e._v(" "),e.softDeletes?r("div",{staticClass:"mt-3"},[r("checkbox-with-label",{attrs:{dusk:e.field.resourceName+"-with-trashed-checkbox",checked:e.withTrashed},on:{input:e.toggleWithTrashed}},[e._v("\n "+e._s(e.__("With Trashed"))+"\n ")])],1):e._e()],1)],2),e._v(" "),e._l(e.fields,function(t){return r("div",[r("form-"+t.component,{tag:"component",attrs:{"resource-name":e.resourceName,field:t,errors:e.validationErrors,"via-resource":e.viaResource,"via-resource-id":e.viaResourceId,"via-relationship":e.viaRelationship,"show-help-text":null!=t.helpText}})],1)})],2),e._v(" "),r("div",{staticClass:"flex items-center"},[r("cancel-button",{on:{click:function(t){return e.$router.back()}}}),e._v(" "),r("progress-button",{staticClass:"mr-3",attrs:{dusk:"attach-and-attach-another-button",disabled:e.isWorking,processing:e.submittedViaAttachAndAttachAnother},nativeOn:{click:function(t){return e.attachAndAttachAnother(t)}}},[e._v("\n "+e._s(e.__("Attach & Attach Another"))+"\n ")]),e._v(" "),r("progress-button",{attrs:{dusk:"attach-button",type:"submit",disabled:e.isWorking,processing:e.submittedViaAttachResource}},[e._v("\n "+e._s(e.__("Attach :resource",{resource:e.relatedResourceLabel}))+"\n ")])],1)],1):e._e()],1)},staticRenderFns:[]}},VpsE:function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("p",[this.imageUrl?t("img",{staticClass:"align-bottom w-8 h-8",class:{"rounded-full":this.field.rounded,rounded:!this.field.rounded},staticStyle:{"object-fit":"cover"},attrs:{src:this.imageUrl}}):t("span",[this._v("—")])])},staticRenderFns:[]}},VqRb:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-dracula.CodeMirror,.cm-s-dracula .CodeMirror-gutters{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-keyword,.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute,.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:hsla(0,0%,100%,.1)}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},W529:function(e,t,r){var o=r("f931")(Object.keys,Object);e.exports=o},WBOZ:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-3024-day.CodeMirror{background:#f7f7f7;color:#3a3432}.cm-s-3024-day div.CodeMirror-selected{background:#d6d5d4}.cm-s-3024-day .CodeMirror-line::selection,.cm-s-3024-day .CodeMirror-line>span::selection,.cm-s-3024-day .CodeMirror-line>span>span::selection{background:#d6d5d4}.cm-s-3024-day .CodeMirror-line::-moz-selection,.cm-s-3024-day .CodeMirror-line>span::-moz-selection,.cm-s-3024-day .CodeMirror-line>span>span::selection{background:#d9d9d9}.cm-s-3024-day .CodeMirror-gutters{background:#f7f7f7;border-right:0}.cm-s-3024-day .CodeMirror-guttermarker{color:#db2d20}.cm-s-3024-day .CodeMirror-guttermarker-subtle,.cm-s-3024-day .CodeMirror-linenumber{color:#807d7c}.cm-s-3024-day .CodeMirror-cursor{border-left:1px solid #5c5855}.cm-s-3024-day span.cm-comment{color:#cdab53}.cm-s-3024-day span.cm-atom,.cm-s-3024-day span.cm-number{color:#a16a94}.cm-s-3024-day span.cm-attribute,.cm-s-3024-day span.cm-property{color:#01a252}.cm-s-3024-day span.cm-keyword{color:#db2d20}.cm-s-3024-day span.cm-string{color:#fded02}.cm-s-3024-day span.cm-variable{color:#01a252}.cm-s-3024-day span.cm-variable-2{color:#01a0e4}.cm-s-3024-day span.cm-def{color:#e8bbd0}.cm-s-3024-day span.cm-bracket{color:#3a3432}.cm-s-3024-day span.cm-tag{color:#db2d20}.cm-s-3024-day span.cm-link{color:#a16a94}.cm-s-3024-day span.cm-error{background:#db2d20;color:#5c5855}.cm-s-3024-day .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-3024-day .CodeMirror-matchingbracket{text-decoration:underline;color:#a16a94!important}",""])},WC2Z:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{class:"text-"+e.field.textAlign},[r("span",[e.field.viewable&&e.field.value?r("span",[r("router-link",{staticClass:"no-underline dim text-primary font-bold",attrs:{to:{name:"detail",params:{resourceName:e.field.resourceName,resourceId:e.field.morphToId}}}},[e._v("\n "+e._s(e.field.resourceLabel)+": "+e._s(e.field.value)+"\n ")])],1):e.field.value?r("span",[e._v("\n "+e._s(e.field.resourceLabel||e.field.morphToType)+": "+e._s(e.field.value)+"\n ")]):r("span",[e._v("-")])])])},staticRenderFns:[]}},"WE0+":function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-liquibyte.CodeMirror{background-color:#000;color:#fff;line-height:1.2em;font-size:1em}.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight{text-decoration:underline;text-decoration-color:#0f0;text-decoration-style:wavy}.cm-s-liquibyte .cm-trailingspace{text-decoration:line-through;text-decoration-color:red;text-decoration-style:dotted}.cm-s-liquibyte .cm-tab{text-decoration:line-through;text-decoration-color:#404040;text-decoration-style:dotted}.cm-s-liquibyte .CodeMirror-gutters{background-color:#262626;border-right:1px solid #505050;padding-right:.8em}.cm-s-liquibyte .CodeMirror-gutter-elt div{font-size:1.2em}.cm-s-liquibyte .CodeMirror-linenumber{color:#606060;padding-left:0}.cm-s-liquibyte .CodeMirror-cursor{border-left:1px solid #eee}.cm-s-liquibyte span.cm-comment{color:green}.cm-s-liquibyte span.cm-def{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-keyword{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-builtin{color:#ffaf40;font-weight:700}.cm-s-liquibyte span.cm-variable{color:#5967ff;font-weight:700}.cm-s-liquibyte span.cm-string{color:#ff8000}.cm-s-liquibyte span.cm-number{color:#0f0;font-weight:700}.cm-s-liquibyte span.cm-atom{color:#bf3030;font-weight:700}.cm-s-liquibyte span.cm-variable-2{color:#007f7f;font-weight:700}.cm-s-liquibyte span.cm-type,.cm-s-liquibyte span.cm-variable-3{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-property{color:#999;font-weight:700}.cm-s-liquibyte span.cm-operator{color:#fff}.cm-s-liquibyte span.cm-meta{color:#0f0}.cm-s-liquibyte span.cm-qualifier{color:#fff700;font-weight:700}.cm-s-liquibyte span.cm-bracket{color:#cc7}.cm-s-liquibyte span.cm-tag{color:#ff0;font-weight:700}.cm-s-liquibyte span.cm-attribute{color:#c080ff;font-weight:700}.cm-s-liquibyte span.cm-error{color:red}.cm-s-liquibyte div.CodeMirror-selected{background-color:rgba(255,0,0,.25)}.cm-s-liquibyte span.cm-compilation{background-color:hsla(0,0%,100%,.12)}.cm-s-liquibyte .CodeMirror-activeline-background{background-color:rgba(0,255,0,.15)}.cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket{color:#0f0;font-weight:700}.cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket{color:red;font-weight:700}.CodeMirror-matchingtag{background-color:rgba(150,255,0,.3)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover,.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div:hover{background-color:rgba(80,80,80,.7)}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div,.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div{background-color:rgba(80,80,80,.3);border:1px solid #404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div{border-top:1px solid #404040;border-bottom:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div{border-left:1px solid #404040;border-right:1px solid #404040}.cm-s-liquibyte div.CodeMirror-simplescroll-vertical{background-color:#262626}.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal{background-color:#262626;border-top:1px solid #404040}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,div.CodeMirror-overlayscroll-vertical div{background-color:#404040;border-radius:5px}.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div,.cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div{border:1px solid #404040}",""])},WFiI:function(e,t){e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,o){r[++t]=[o,e]}),r}},WH1o:function(e,t,r){var o=r("VU/8")(r("PePT"),r("MgaM"),!1,null,null,null);e.exports=o.exports},WHQv:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName","field"]}},WHce:function(e,t,r){var o=r("037f"),n=r("Zk5a")(o);e.exports=n},WKBd:function(e,t){e.exports={render:function(e,t){return(0,t._c)("path",{attrs:{d:"M4 15a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm8 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm8 2a3 3 0 1 1 0-6 3 3 0 0 1 0 6zm0-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2z"}})},staticRenderFns:[]}},WQFf:function(e,t,r){var o=r("VORN"),n=r("vi0E"),i=r("HT7L");e.exports=function(e){return"function"!=typeof e.constructor||i(e)?{}:o(n(e))}},WTcs:function(e,t,r){"use strict";var o=r("4oCz");function n(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,r){if(!t)return e;var i;if(r)i=r(t);else if(o.isURLSearchParams(t))i=t.toString();else{var a=[];o.forEach(t,function(e,t){null!==e&&void 0!==e&&(o.isArray(e)?t+="[]":e=[e],o.forEach(e,function(e){o.isDate(e)?e=e.toISOString():o.isObject(e)&&(e=JSON.stringify(e)),a.push(n(t)+"="+n(e))}))}),i=a.join("&")}return i&&(e+=(-1===e.indexOf("?")?"?":"&")+i),e}},"WXa/":function(e,t){e.exports={render:function(){var e=this.$createElement,t=this._self._c||e;return t("panel-item",{attrs:{field:this.field}},[t("template",{slot:"value"},[t("div",{staticClass:"form-input form-input-bordered px-0 overflow-hidden"},[t("textarea",{ref:"theTextarea"})])])],2)},staticRenderFns:[]}},Wd8F:function(e,t,r){"use strict";var o=r("4oCz");function n(){this.handlers=[]}n.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},n.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},n.prototype.forEach=function(e){o.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=n},Wsx6:function(e,t){e.exports={render:function(){var e=this.$createElement;return(this._self._c||e)("span",{staticClass:"whitespace-no-wrap px-2 py-1 rounded-full uppercase text-xs font-bold",class:this.extraClasses},[this._v("\n "+this._s(this.label)+"\n")])},staticRenderFns:[]}},WwEB:function(e,t,r){var o=r("VU/8")(r("yiZv"),r("xK26"),!1,null,null,null);e.exports=o.exports},WxI4:function(e,t){e.exports=function(){this.__data__=[],this.size=0}},"X+m+":function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={props:["resourceName"]}},X4Mt:function(e,t){e.exports={render:function(e,t){return(0,t._c)("transition",{attrs:{name:"fade",mode:"out-in"}},[t._t("default")],2)},staticRenderFns:[]}},X81A:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=f(r("90KW")),n=f(r("ym2W")),i=f(r("g7/C")),a=f(r("oMVo")),s=f(r("5iyv")),c=f(r("sU1D")),l=f(r("xpAd")),u=f(r("KGj5")),d=f(r("Xmrl")),m=f(r("HVp0"));function f(e){return e&&e.__esModule?e:{default:e}}t.default=[{name:"dashboard",path:"/",redirect:"/dashboards/main"},{name:"dashboard.custom",path:"/dashboards/:name",component:o.default,props:!0},{name:"action-events.edit",path:"/resources/action-events/:id/edit",redirect:{name:"404"}},{name:"index",path:"/resources/:resourceName",component:n.default,props:!0},{name:"lens",path:"/resources/:resourceName/lens/:lens",component:u.default,props:!0},{name:"create",path:"/resources/:resourceName/new",component:a.default,props:function(e){return{resourceName:e.params.resourceName,viaResource:e.query.viaResource||"",viaResourceId:e.query.viaResourceId||"",viaRelationship:e.query.viaRelationship||""}}},{name:"edit",path:"/resources/:resourceName/:resourceId/edit",component:s.default,props:function(e){return{resourceName:e.params.resourceName,resourceId:e.params.resourceId,viaResource:e.query.viaResource||"",viaResourceId:e.query.viaResourceId||"",viaRelationship:e.query.viaRelationship||""}}},{name:"attach",path:"/resources/:resourceName/:resourceId/attach/:relatedResourceName",component:c.default,props:function(e){return{resourceName:e.params.resourceName,resourceId:e.params.resourceId,relatedResourceName:e.params.relatedResourceName,viaRelationship:e.query.viaRelationship,polymorphic:"1"==e.query.polymorphic}}},{name:"edit-attached",path:"/resources/:resourceName/:resourceId/edit-attached/:relatedResourceName/:relatedResourceId",component:l.default,props:function(e){return{resourceName:e.params.resourceName,resourceId:e.params.resourceId,relatedResourceName:e.params.relatedResourceName,relatedResourceId:e.params.relatedResourceId,viaRelationship:e.query.viaRelationship,viaPivotId:e.query.viaPivotId}}},{name:"detail",path:"/resources/:resourceName/:resourceId",component:i.default,props:!0},{name:"403",path:"/403",component:d.default},{name:"404",path:"/404",component:m.default},{name:"catch-all",path:"*",component:m.default}]},X8DO:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},XJk5:function(e,t,r){var o=r("VU/8")(r("dxqn"),r("P9RO"),!1,null,null,null);e.exports=o.exports},XR3G:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42!important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498!important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom,.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-attribute,.cm-s-hopscotch span.cm-property{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020}",""])},XZsl:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[e._t("default",[r("heading",{class:e.panel.helpText?"mb-2":"mb-3",attrs:{level:1}},[e._v(e._s(e.panel.name))]),e._v(" "),e.panel.helpText?r("p",{staticClass:"text-80 text-sm font-semibold italic mb-3",domProps:{innerHTML:e._s(e.panel.helpText)}}):e._e()]),e._v(" "),r("card",{staticClass:"mb-6 py-3 px-6"},[e._l(e.fields,function(t,o){return r(e.resolveComponentName(t),{key:o,tag:"component",class:{"remove-bottom-border":o==e.panel.fields.length-1},attrs:{"resource-name":e.resourceName,"resource-id":e.resourceId,resource:e.resource,field:t},on:{actionExecuted:e.actionExecuted}})}),e._v(" "),e.shouldShowShowAllFieldsButton?r("div",{staticClass:"bg-20 -mt-px -mx-6 -mb-6 border-t border-40 p-3 text-center rounded-b text-center"},[r("button",{staticClass:"block w-full dim text-sm text-80 font-bold",on:{click:e.showAllFields}},[e._v("\n "+e._s(e.__("Show All Fields"))+"\n ")])]):e._e()],2)],2)},staticRenderFns:[]}},XZx3:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={name:"Help",props:{card:Object},methods:{link:function(e){return"https://nova.laravel.com/docs/"+this.version+"/"+e}},computed:{resources:function(){return this.link("resources")},actions:function(){return this.link("actions/defining-actions.html")},filters:function(){return this.link("filters/defining-filters.html")},lenses:function(){return this.link("lenses/defining-lenses.html")},metrics:function(){return this.link("metrics/defining-metrics.html")},cards:function(){return this.link("customization/cards.html")},version:function(){var e=window.Nova.config.version.split(".");return e.splice(-2),e+".0"}}}},Xmrl:function(e,t,r){var o=r("VU/8")(null,r("A9Ff"),!1,null,null,null);e.exports=o.exports},XpZl:function(e,t,r){var o=r("VU/8")(null,r("bn3U"),!0,null,null,null);e.exports=o.exports},XsBG:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-base16-dark.CodeMirror{background:#151515;color:#e0e0e0}.cm-s-base16-dark div.CodeMirror-selected{background:#303030}.cm-s-base16-dark .CodeMirror-line::selection,.cm-s-base16-dark .CodeMirror-line>span::selection,.cm-s-base16-dark .CodeMirror-line>span>span::selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-line::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span::-moz-selection,.cm-s-base16-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(48,48,48,.99)}.cm-s-base16-dark .CodeMirror-gutters{background:#151515;border-right:0}.cm-s-base16-dark .CodeMirror-guttermarker{color:#ac4142}.cm-s-base16-dark .CodeMirror-guttermarker-subtle,.cm-s-base16-dark .CodeMirror-linenumber{color:#505050}.cm-s-base16-dark .CodeMirror-cursor{border-left:1px solid #b0b0b0}.cm-s-base16-dark span.cm-comment{color:#8f5536}.cm-s-base16-dark span.cm-atom,.cm-s-base16-dark span.cm-number{color:#aa759f}.cm-s-base16-dark span.cm-attribute,.cm-s-base16-dark span.cm-property{color:#90a959}.cm-s-base16-dark span.cm-keyword{color:#ac4142}.cm-s-base16-dark span.cm-string{color:#f4bf75}.cm-s-base16-dark span.cm-variable{color:#90a959}.cm-s-base16-dark span.cm-variable-2{color:#6a9fb5}.cm-s-base16-dark span.cm-def{color:#d28445}.cm-s-base16-dark span.cm-bracket{color:#e0e0e0}.cm-s-base16-dark span.cm-tag{color:#ac4142}.cm-s-base16-dark span.cm-link{color:#aa759f}.cm-s-base16-dark span.cm-error{background:#ac4142;color:#b0b0b0}.cm-s-base16-dark .CodeMirror-activeline-background{background:#202020}.cm-s-base16-dark .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},Xxa5:function(e,t,r){e.exports=r("jyFz")},YDHx:function(e,t,r){var o=r("Uz1a"),n=r("UnEC");e.exports=function e(t,r,i,a,s){return t===r||(null==t||null==r||!n(t)&&!n(r)?t!=t&&r!=r:o(t,r,i,a,e,s))}},YHmi:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("default-field",{attrs:{field:e.field,errors:e.errors,"show-help-text":e.showHelpText}},[r("template",{slot:"field"},["checkbox"===e.inputType?r("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"w-full form-control form-input form-input-bordered",class:e.errorClasses,attrs:{id:e.field.attribute,min:e.inputMin,max:e.inputMax,step:e.inputStep,placeholder:e.field.name,type:"checkbox"},domProps:{checked:Array.isArray(e.value)?e._i(e.value,null)>-1:e.value},on:{change:function(t){var r=e.value,o=t.target,n=!!o.checked;if(Array.isArray(r)){var i=e._i(r,null);o.checked?i<0&&(e.value=r.concat([null])):i>-1&&(e.value=r.slice(0,i).concat(r.slice(i+1)))}else e.value=n}}}):"radio"===e.inputType?r("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"w-full form-control form-input form-input-bordered",class:e.errorClasses,attrs:{id:e.field.attribute,min:e.inputMin,max:e.inputMax,step:e.inputStep,placeholder:e.field.name,type:"radio"},domProps:{checked:e._q(e.value,null)},on:{change:function(t){e.value=null}}}):r("input",{directives:[{name:"model",rawName:"v-model",value:e.value,expression:"value"}],staticClass:"w-full form-control form-input form-input-bordered",class:e.errorClasses,attrs:{id:e.field.attribute,min:e.inputMin,max:e.inputMax,step:e.inputStep,placeholder:e.field.name,type:e.inputType},domProps:{value:e.value},on:{input:function(t){t.target.composing||(e.value=t.target.value)}}})])],2)},staticRenderFns:[]}},YQ0D:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("field-wrapper",[e.shouldDisplayAsHtml?r("div",{class:e.classes,domProps:{innerHTML:e._s(e.field.value)}}):r("div",{class:e.classes},[r("p",[e._v(e._s(e.field.value))])])])},staticRenderFns:[]}},"YT/z":function(e,t,r){var o=r("b1KS");"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);r("rjj0")("7dd00f54",o,!0,{})},YTDC:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,'.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #eee,-1px 0 0 #eee,0 1px 0 #eee,0 -1px 0 #eee,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 0 #eee,-1px 0 0 #eee,0 1px 0 #eee,0 -1px 0 #eee,0 3px 13px rgba(0,0,0,.08)}.flatpickr-calendar.inline,.flatpickr-calendar.open{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6}.flatpickr-calendar .hasTime .dayContainer,.flatpickr-calendar .hasWeeks .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #eee}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:after,.flatpickr-calendar:before{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.arrowRight:after,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.rightMost:before{left:auto;right:22px}.flatpickr-calendar.arrowCenter:after,.flatpickr-calendar.arrowCenter:before{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowTop:before{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#eee}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#eee}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#3c3f40;fill:#3c3f40;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#3c3f40;fill:#3c3f40}.flatpickr-months .flatpickr-next-month.flatpickr-disabled,.flatpickr-months .flatpickr-prev-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-next-month i,.flatpickr-months .flatpickr-prev-month i{position:relative}.flatpickr-months .flatpickr-next-month.flatpickr-prev-month,.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-next-month.flatpickr-next-month,.flatpickr-months .flatpickr-prev-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-next-month:hover,.flatpickr-months .flatpickr-prev-month:hover{color:#f64747}.flatpickr-months .flatpickr-next-month:hover svg,.flatpickr-months .flatpickr-prev-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-next-month svg,.flatpickr-months .flatpickr-prev-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-next-month svg path,.flatpickr-months .flatpickr-prev-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-inner-spin-button,.numInputWrapper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(64,72,72,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:rgba(0,0,0,.1)}.numInputWrapper span:active{background:rgba(0,0,0,.2)}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(64,72,72,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(64,72,72,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:rgba(60,63,64,.5)}.numInputWrapper:hover{background:rgba(0,0,0,.05)}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translateZ(0);transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch\\0;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#3c3f40}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#3c3f40}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:rgba(60,63,64,.5);background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:active,.flatpickr-current-month .flatpickr-monthDropdown-months:focus{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(0,0,0,.05)}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays,.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-weekdays .flatpickr-weekdaycontainer,span.flatpickr-weekday{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:rgba(0,0,0,.54);line-height:1;margin:0;text-align:center;display:block;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #eee;box-shadow:-1px 0 0 #eee}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#404848;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e9e9e9;border-color:#e9e9e9}.flatpickr-day.today{border-color:#f64747}.flatpickr-day.today:focus,.flatpickr-day.today:hover{border-color:#f64747;background:#f64747;color:#fff}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#4f99ff;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#4f99ff}.flatpickr-day.endRange.startRange,.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.endRange.endRange,.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #4f99ff;box-shadow:-10px 0 0 #4f99ff}.flatpickr-day.endRange.startRange.endRange,.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e9e9e9,5px 0 0 #e9e9e9;box-shadow:-5px 0 0 #e9e9e9,5px 0 0 #e9e9e9}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:rgba(64,72,72,.3);background:transparent;border-color:#e9e9e9;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:rgba(64,72,72,.1)}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #4f99ff,5px 0 0 #4f99ff;box-shadow:-5px 0 0 #4f99ff,5px 0 0 #4f99ff}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #eee;box-shadow:1px 0 0 #eee}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:rgba(64,72,72,.3);background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden}.flatpickr-innerContainer,.flatpickr-rContainer{-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-rContainer{display:inline-block;padding:0}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#404848}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#404848}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#404848;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator{height:inherit;float:left;line-height:inherit;color:#404848;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:#f1f1f1}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.flatpickr-calendar{width:307.875px}.dayContainer{padding:0;border-right:0}span.flatpickr-day,span.flatpickr-day.nextMonthDay,span.flatpickr-day.prevMonthDay{border-radius:0!important;border:1px solid #e9e9e9;max-width:none;border-right-color:transparent}span.flatpickr-day.nextMonthDay:nth-child(n+8),span.flatpickr-day.prevMonthDay:nth-child(n+8),span.flatpickr-day:nth-child(n+8){border-top-color:transparent}span.flatpickr-day.nextMonthDay:nth-child(7n-6),span.flatpickr-day.prevMonthDay:nth-child(7n-6),span.flatpickr-day:nth-child(7n-6){border-left:0}span.flatpickr-day.nextMonthDay:nth-child(n+36),span.flatpickr-day.prevMonthDay:nth-child(n+36),span.flatpickr-day:nth-child(n+36){border-bottom:0}span.flatpickr-day.nextMonthDay:nth-child(-n+7),span.flatpickr-day.prevMonthDay:nth-child(-n+7),span.flatpickr-day:nth-child(-n+7){margin-top:0}span.flatpickr-day.nextMonthDay.today:not(.selected),span.flatpickr-day.prevMonthDay.today:not(.selected),span.flatpickr-day.today:not(.selected){border-color:#e9e9e9;border-right-color:transparent;border-top-color:transparent;border-bottom-color:#f64747}span.flatpickr-day.nextMonthDay.today:not(.selected):hover,span.flatpickr-day.prevMonthDay.today:not(.selected):hover,span.flatpickr-day.today:not(.selected):hover{border:1px solid #f64747}span.flatpickr-day.endRange,span.flatpickr-day.nextMonthDay.endRange,span.flatpickr-day.nextMonthDay.startRange,span.flatpickr-day.prevMonthDay.endRange,span.flatpickr-day.prevMonthDay.startRange,span.flatpickr-day.startRange{border-color:#4f99ff}span.flatpickr-day.nextMonthDay.selected,span.flatpickr-day.nextMonthDay.today,span.flatpickr-day.prevMonthDay.selected,span.flatpickr-day.prevMonthDay.today,span.flatpickr-day.selected,span.flatpickr-day.today{z-index:2}.rangeMode .flatpickr-day{margin-top:-1px}.flatpickr-weekwrapper .flatpickr-weeks{-webkit-box-shadow:none;box-shadow:none}.flatpickr-weekwrapper span.flatpickr-day{border:0;margin:-1px 0 0 -1px}.hasWeeks .flatpickr-days{border-right:0}@media screen and (min-width:0\\0) and (min-resolution:+72dpi){span.flatpickr-day{display:block;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}}',""])},YXvZ:function(e,t,r){(e.exports=r("FZ+f")(!1)).push([e.i,".cm-s-seti.CodeMirror{background-color:#151718!important;color:#cfd2d1!important;border:none}.cm-s-seti .CodeMirror-gutters{color:#404b53;background-color:#0e1112;border:none}.cm-s-seti .CodeMirror-cursor{border-left:thin solid #f8f8f0}.cm-s-seti .CodeMirror-linenumber{color:#6d8a88}.cm-s-seti.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-seti .CodeMirror-line::selection,.cm-s-seti .CodeMirror-line>span::selection,.cm-s-seti .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-seti .CodeMirror-line::-moz-selection,.cm-s-seti .CodeMirror-line>span::-moz-selection,.cm-s-seti .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-seti span.cm-comment{color:#41535b}.cm-s-seti span.cm-string,.cm-s-seti span.cm-string-2{color:#55b5db}.cm-s-seti span.cm-number{color:#cd3f45}.cm-s-seti span.cm-variable{color:#55b5db}.cm-s-seti span.cm-variable-2{color:#a074c4}.cm-s-seti span.cm-def{color:#55b5db}.cm-s-seti span.cm-keyword{color:#ff79c6}.cm-s-seti span.cm-operator{color:#9fca56}.cm-s-seti span.cm-keyword{color:#e6cd69}.cm-s-seti span.cm-atom{color:#cd3f45}.cm-s-seti span.cm-meta,.cm-s-seti span.cm-tag{color:#55b5db}.cm-s-seti span.cm-attribute,.cm-s-seti span.cm-qualifier{color:#9fca56}.cm-s-seti span.cm-property{color:#a074c4}.cm-s-seti span.cm-builtin,.cm-s-seti span.cm-type,.cm-s-seti span.cm-variable-3{color:#9fca56}.cm-s-seti .CodeMirror-activeline-background{background:#101213}.cm-s-seti .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}",""])},YZK2:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o,n=r("715g"),i=(o=n)&&o.__esModule?o:{default:o};r("m3vp");t.default={props:["resourceName","field"],data:function(){return{chartist:null}},watch:{"field.data":function(e,t){this.renderChart()}},methods:{renderChart:function(){this.chartist.update(this.field.data)}},mounted:function(){this.chartist=new i.default[this.chartStyle](this.$refs.chart,{series:[this.field.data]},{height:this.chartHeight,width:this.chartWidth,showPoint:!1,fullWidth:!0,chartPadding:{top:0,right:0,bottom:0,left:0},axisX:{showGrid:!1,showLabel:!1,offset:0},axisY:{showGrid:!1,showLabel:!1,offset:0}})},computed:{hasData:function(){return this.field.data.length>0},chartStyle:function(){var e=this.field.chartStyle.toLowerCase();return["line","bar"].includes(e)?e.charAt(0).toUpperCase()+e.slice(1):"Line"},chartHeight:function(){return this.field.height||50},chartWidth:function(){return this.field.width||100}}}},YeCl:function(e,t,r){var o=r("CW5P"),n=r("A9mX"),i=r("v8Dt"),a=r("agim"),s=r("Dv2r");function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++tspan::selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span::-moz-selection,.cm-s-pastel-on-dark .CodeMirror-line>span>span::-moz-selection{background:rgba(221,240,255,.2)}.cm-s-pastel-on-dark .CodeMirror-gutters{background:#34302f;border-right:0;padding:0 3px}.cm-s-pastel-on-dark .CodeMirror-guttermarker{color:#fff}.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle,.cm-s-pastel-on-dark .CodeMirror-linenumber{color:#8f938f}.cm-s-pastel-on-dark .CodeMirror-cursor{border-left:1px solid #a7a7a7}.cm-s-pastel-on-dark span.cm-comment{color:#a6c6ff}.cm-s-pastel-on-dark span.cm-atom{color:#de8e30}.cm-s-pastel-on-dark span.cm-number{color:#ccc}.cm-s-pastel-on-dark span.cm-property{color:#8f938f}.cm-s-pastel-on-dark span.cm-attribute{color:#a6e22e}.cm-s-pastel-on-dark span.cm-keyword{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-string{color:#66a968}.cm-s-pastel-on-dark span.cm-variable{color:#aeb2f8}.cm-s-pastel-on-dark span.cm-variable-2{color:#bebf55}.cm-s-pastel-on-dark span.cm-type,.cm-s-pastel-on-dark span.cm-variable-3{color:#de8e30}.cm-s-pastel-on-dark span.cm-def{color:#757ad8}.cm-s-pastel-on-dark span.cm-bracket{color:#f8f8f2}.cm-s-pastel-on-dark span.cm-tag{color:#c1c144}.cm-s-pastel-on-dark span.cm-link{color:#ae81ff}.cm-s-pastel-on-dark span.cm-builtin,.cm-s-pastel-on-dark span.cm-qualifier{color:#c1c144}.cm-s-pastel-on-dark span.cm-error{background:#757ad8;color:#f8f8f0}.cm-s-pastel-on-dark .CodeMirror-activeline-background{background:hsla(0,0%,100%,.031)}.cm-s-pastel-on-dark .CodeMirror-matchingbracket{border:1px solid hsla(0,0%,100%,.25);color:#8f938f!important;margin:-1px -1px 0}",""])},YkxI:function(e,t,r){var o=r("wSKX"),n=r("Q2wK"),i=r("WHce");e.exports=function(e,t){return i(n(e,t,o),e+"")}},Yobk:function(e,t,r){var o=r("77Pl"),n=r("qio6"),i=r("xnc9"),a=r("ax3d")("IE_PROTO"),s=function(){},c=function(){var e,t=r("ON07")("iframe"),o=i.length;for(t.style.display="none",r("RPLV").appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" diff --git a/nova/resources/js/components/Badge.vue b/nova/resources/js/components/Badge.vue new file mode 100755 index 00000000..9b181b99 --- /dev/null +++ b/nova/resources/js/components/Badge.vue @@ -0,0 +1,24 @@ + + + diff --git a/nova/resources/js/components/BooleanOption.vue b/nova/resources/js/components/BooleanOption.vue new file mode 100755 index 00000000..5b70ce51 --- /dev/null +++ b/nova/resources/js/components/BooleanOption.vue @@ -0,0 +1,53 @@ + + + diff --git a/nova/resources/js/components/Card.vue b/nova/resources/js/components/Card.vue new file mode 100755 index 00000000..b11f167c --- /dev/null +++ b/nova/resources/js/components/Card.vue @@ -0,0 +1,3 @@ + diff --git a/nova/resources/js/components/CardWrapper.vue b/nova/resources/js/components/CardWrapper.vue new file mode 100755 index 00000000..f6fd09ab --- /dev/null +++ b/nova/resources/js/components/CardWrapper.vue @@ -0,0 +1,78 @@ + + + diff --git a/nova/resources/js/components/Cards.vue b/nova/resources/js/components/Cards.vue new file mode 100755 index 00000000..d3d0531a --- /dev/null +++ b/nova/resources/js/components/Cards.vue @@ -0,0 +1,62 @@ + + + diff --git a/nova/resources/js/components/Cards/HelpCard.vue b/nova/resources/js/components/Cards/HelpCard.vue new file mode 100755 index 00000000..989f69b0 --- /dev/null +++ b/nova/resources/js/components/Cards/HelpCard.vue @@ -0,0 +1,225 @@ + + + diff --git a/nova/resources/js/components/CheckboxWithLabel.vue b/nova/resources/js/components/CheckboxWithLabel.vue new file mode 100755 index 00000000..5064edb3 --- /dev/null +++ b/nova/resources/js/components/CheckboxWithLabel.vue @@ -0,0 +1,25 @@ + + + diff --git a/nova/resources/js/components/Controls/SelectControl.vue b/nova/resources/js/components/Controls/SelectControl.vue new file mode 100755 index 00000000..8f3b8bd7 --- /dev/null +++ b/nova/resources/js/components/Controls/SelectControl.vue @@ -0,0 +1,68 @@ + + + diff --git a/nova/resources/js/components/CreateForm.vue b/nova/resources/js/components/CreateForm.vue new file mode 100755 index 00000000..fd5f853b --- /dev/null +++ b/nova/resources/js/components/CreateForm.vue @@ -0,0 +1,374 @@ + + + diff --git a/nova/resources/js/components/CreateResourceButton.vue b/nova/resources/js/components/CreateResourceButton.vue new file mode 100755 index 00000000..e5e83eab --- /dev/null +++ b/nova/resources/js/components/CreateResourceButton.vue @@ -0,0 +1,96 @@ + + + diff --git a/nova/resources/js/components/CustomAttachHeader.vue b/nova/resources/js/components/CustomAttachHeader.vue new file mode 100755 index 00000000..c24a2386 --- /dev/null +++ b/nova/resources/js/components/CustomAttachHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomCreateHeader.vue b/nova/resources/js/components/CustomCreateHeader.vue new file mode 100755 index 00000000..b37bb190 --- /dev/null +++ b/nova/resources/js/components/CustomCreateHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomDashboardHeader.vue b/nova/resources/js/components/CustomDashboardHeader.vue new file mode 100755 index 00000000..258b9f2c --- /dev/null +++ b/nova/resources/js/components/CustomDashboardHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomDetailHeader.vue b/nova/resources/js/components/CustomDetailHeader.vue new file mode 100755 index 00000000..c24a2386 --- /dev/null +++ b/nova/resources/js/components/CustomDetailHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomDetailToolbar.vue b/nova/resources/js/components/CustomDetailToolbar.vue new file mode 100755 index 00000000..2a333901 --- /dev/null +++ b/nova/resources/js/components/CustomDetailToolbar.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomIndexHeader.vue b/nova/resources/js/components/CustomIndexHeader.vue new file mode 100755 index 00000000..099709d2 --- /dev/null +++ b/nova/resources/js/components/CustomIndexHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomIndexToolbar.vue b/nova/resources/js/components/CustomIndexToolbar.vue new file mode 100755 index 00000000..18b1f8df --- /dev/null +++ b/nova/resources/js/components/CustomIndexToolbar.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomLensHeader.vue b/nova/resources/js/components/CustomLensHeader.vue new file mode 100755 index 00000000..099709d2 --- /dev/null +++ b/nova/resources/js/components/CustomLensHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomUpdateAttachedHeader.vue b/nova/resources/js/components/CustomUpdateAttachedHeader.vue new file mode 100755 index 00000000..c24a2386 --- /dev/null +++ b/nova/resources/js/components/CustomUpdateAttachedHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/CustomUpdateHeader.vue b/nova/resources/js/components/CustomUpdateHeader.vue new file mode 100755 index 00000000..c24a2386 --- /dev/null +++ b/nova/resources/js/components/CustomUpdateHeader.vue @@ -0,0 +1,9 @@ + + + diff --git a/nova/resources/js/components/DateTimePicker.vue b/nova/resources/js/components/DateTimePicker.vue new file mode 100755 index 00000000..0340aa59 --- /dev/null +++ b/nova/resources/js/components/DateTimePicker.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/nova/resources/js/components/DeleteButton.vue b/nova/resources/js/components/DeleteButton.vue new file mode 100755 index 00000000..d8afbe65 --- /dev/null +++ b/nova/resources/js/components/DeleteButton.vue @@ -0,0 +1,16 @@ + + + diff --git a/nova/resources/js/components/DeleteMenu.vue b/nova/resources/js/components/DeleteMenu.vue new file mode 100755 index 00000000..edf5e1ff --- /dev/null +++ b/nova/resources/js/components/DeleteMenu.vue @@ -0,0 +1,231 @@ + + + diff --git a/nova/resources/js/components/Detail/BadgeField.vue b/nova/resources/js/components/Detail/BadgeField.vue new file mode 100755 index 00000000..1974ddfe --- /dev/null +++ b/nova/resources/js/components/Detail/BadgeField.vue @@ -0,0 +1,23 @@ + + + diff --git a/nova/resources/js/components/Detail/BelongsToField.vue b/nova/resources/js/components/Detail/BelongsToField.vue new file mode 100755 index 00000000..4311de99 --- /dev/null +++ b/nova/resources/js/components/Detail/BelongsToField.vue @@ -0,0 +1,27 @@ + + + diff --git a/nova/resources/js/components/Detail/BelongsToManyField.vue b/nova/resources/js/components/Detail/BelongsToManyField.vue new file mode 100755 index 00000000..69da01c8 --- /dev/null +++ b/nova/resources/js/components/Detail/BelongsToManyField.vue @@ -0,0 +1,29 @@ + + + diff --git a/nova/resources/js/components/Detail/BooleanField.vue b/nova/resources/js/components/Detail/BooleanField.vue new file mode 100755 index 00000000..5dec643a --- /dev/null +++ b/nova/resources/js/components/Detail/BooleanField.vue @@ -0,0 +1,34 @@ + + + diff --git a/nova/resources/js/components/Detail/BooleanGroupField.vue b/nova/resources/js/components/Detail/BooleanGroupField.vue new file mode 100755 index 00000000..59a4ca32 --- /dev/null +++ b/nova/resources/js/components/Detail/BooleanGroupField.vue @@ -0,0 +1,55 @@ + + + diff --git a/nova/resources/js/components/Detail/CodeField.vue b/nova/resources/js/components/Detail/CodeField.vue new file mode 100755 index 00000000..e29871ff --- /dev/null +++ b/nova/resources/js/components/Detail/CodeField.vue @@ -0,0 +1,121 @@ +