You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by bh...@apache.org on 2019/07/25 11:31:22 UTC
[incubator-dlab] branch v2.1.1 updated (d052709 -> fbeb333)
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a change to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.
from d052709 Merge pull request #99 from apache/v2.1-master-merged
add e756741 Merge pull request #11 from apache/DLAB-380
add 0d26914 added Nginx parameter client_max_body_size
add 586d9a1 Merge pull request #12 from apache/DLAB-447
add 20f4ae8 DLAB-418 updated readme
add 1867260 Merge pull request #8 from apache/feature-DLAB-418
add 0c7322c [DLAB-363]: Upgrade Angular version to 7.x
add fe5fd4a [DLAB-363]: rx new version breaking changes fixes
add 306b655 [DLAB-363]: debugging deprecated components
add c70b67a [DLAB-363]: fixed models circular dependencies
add 228d75c [DLAB-363]: fixed services circular dependencies
add 6257b2f [DLAB-363]: fixed components circular dependencies; privacy invocation
add 3a59e76 [DLAB-363]: added http interceptor with jwt service
add 749a2b4 [DLAB-363]: changed fonts props according prod build
add 88f1116 [DLAB-363]: moved core service collections
add e5a6216 [DLAB-363]: added no cache interceptor
add c489911 [DLAB-363]: added service changes to app.module
add 372fb4b [DLAB-363]: adapted backup module
add 6442d9d [DLAB-363]: adapted login module
add 6a0ae96 [DLAB-363]: added storage service
add 1660e8f [DLAB-363]: prevent state change issues on templates
add 618beb2 [DLAB-363]: prevent state change issues on templates
add ec66195 [DLAB-363]: prevent state change issues on templates
add 23fe50e [DLAB-363]: updated storage service
add bd72bde [DLAB-363]: updated billing, rolesManagement, healthStatus services
add 3d10578 [DLAB-363]: updated main facade with new option types
add af282fb [DLAB-363]: updated scheduler services
add 9f3f3a1 [DLAB-363]: updated users request Ņonverting
add bb65966 Merge branch 'develop' of github.com:epam/DLab into bugfix-DLAB-311
add 66d79c8 [DLAB-373]: fixed issue with start stop edge requests
add 7c7a604 [DLAB-373]: fixed issue with action butts aligning
add d1cc5ef [DLAB-373]: added extra check on edge actions to prevent premature error
add ce305b6 [DLAB-373]: additional header param for key uploading
add 249dc8b [DLAB-373]: fixed issue with library installation
add 6ae0a25 [DLAB-373]: fixed issue with dowmloading csv report and pem key
add 0cbdaf3 [DLAB-373]: updated cdk and material packages
add fd0d3d5 [DLAB-373]: moved loading of BrowserAnimationsModule to the top of list
add 524758d [DLAB-373]: replaced mat input component with field wrapper
add 0c8362c [DLAB-373]: adapted ng rangepicher with new packages versions
add dd1f4d8 [DLAB-373]: fixed initialUserAccessKeyCheck added takeWhile alive
add ccd3c2b [DLAB-373]: fixed error parse format on auth check request
add 807d13b [DLAB-373]: added redirect to login page on unauthorized response
add 7d4016c [DLAB-373]: added notification module
add 55daf6f [DLAB-373]: removed unused service files
add d953944 [DLAB-373]: added missed license header
add f6c1ec8 [DLAB-373]: fixed issue with backup response reader
add 747003a [DLAB-373]: updated toasts templates according new notification module
add 1bcaeff [DLAB-373]: fixed build prod command
add 7f13e70 [DLAB-373]: fixed validation messages posirioning
add e98b277 [DLAB-373]: theme differences fixes
add a4bf3b1 [DLAB-373]: added build dev command
add 5da9dad merge develop into bugfix-DLAB-311
add 8199053 Merge pull request #14 from apache/bugfix-DLAB-311
add dce86ca DLAB-434 fixed bug on billing connected with filtering by shared resources
add ac65176 Merge pull request #15 from apache/bugfix-DLAB-434
add 1979e30 [DLAB-462]: Warning concerning limit fixes
add f432e4b Merge pull request #18 from apache/DLAB-462
add 66e0eaa [DLAB-375]: active manage env link
add b879b8c [DLAB-375]: added isAdmin property to manage views
add 6e29cd2 [DLAB-375]: moved modal dialogs; admin preferences
add 4f48d6c [DLAB-375]: moved admin preferences functionality to management page
add 4299eeb [DLAB-375]: changed statusbar link to environment management page
add 6691e3b [DLAB-375]: toggle management env grids by admin access
add 7426997 [DLAB-375]: toggle management env grids by admin access
add 5f7fedc [DLAB-375]:added service data for health status of all/personal accounts
add 1918151 [DLAB-375]: unified health status params, simplified params reading
add 88a7d94 [DLAB-375]: missed entry Components declaration added
add ea2520a [DLAB-375]: deprecated imports cleanup
add d437305 [DLAB-375]: deprecated imports cleanup
add b59b1c1 DLAB-434 fixed bug connected with filtering by shared resources
add 4886f5a DLAB-000 removed unused code
add 81235ef added script for deploying LDAP server
add dacbd0f DLAB-000 updated licence header for ldab deployment script
add 66c5ce7 DLAB-000 licence headers were updated for java and js files
add c2abd62 DLAB-000 updated notice and licence files
add 075aaeb DLAB-000 update license header for integration tests
add c14079b DLAB-000 updated license headers
add ee68d4e DLAB-000 license headers updated
add f762434 merge develop into DLAB-375
add 2b08c03 Merge pull request #21 from apache/DLAB-375
add ea5a99a [DLAB-375]: removed unexpected argument
add f832c3e Merge pull request #22 from apache/DLAB-375
add a431128 [DLAB-477]: active filter fixes during first env creation
add aabd415 [DLAB-477]: active filter fixes during first env creation
add 0eced0c Merge pull request #24 from apache/DLAB-477
add 363be87 Fix for gcp entropy bug
add a4e06ba Fix for gcp entropy bug
add 748a157 Fix for gcp entropy bug, placed fix in ensure_pkg function
add 80eee57 Merge pull request #26 from Dyoma33/EPMCDLAB-390
add b641d5b fixed issue with removing shared bucket;
add f6b3437 Merge pull request #27 from apache/DLAB-52
add dbec36f [DLAB-475] Parametrise also keras r package same as python library
add 350dd37 [DLAB-475] Parametrise also keras r package same as python library
add 529cc77 Merge pull request #28 from ioleksandr/DLAB-475
add 9fca6e8 [DLAB-318] fix DeepLearning creation for GCP
add f3aa28b Merge pull request #30 from ioleksandr/DLAB-318
add 1714ef6 Deleted toree binaries from source code and wrote function that downloads those files from official toree repository
add 6dd0a9d bugfix
add 59aed6b bugfix
add 1b7d2be Bugfix, moving execution of download_toree function to position when conf files are already copied to ssn. Previously execution failed, cause at the moment of execution of function there was no folder, where toree should have been placed.
add ad0848f Bugfix, moving execution of download_toree function to position when conf files are already copied to ssn. Previously execution failed, cause at the moment of execution of function there was no folder, where toree should have been placed.
add c8b4b63 Bugfix
add 340d823 Bugfix
add c7bf730 Bugfix
add 83d560d Merge pull request #29 from Dyoma33/EPMCDLAB-328
add e3db50b [DLAB-318] partial changes to use GCP images. - create image after provision notebook - check if image exist - run notebook from image
add 92e1ce1 [DLAB-318] partial changes to use GCP images. - add role policies - terminate image on env termination - run notebook(two disks) from image - small fixes - refactor termination script
add 5dc35b7 [DLAB-318] final partial changes to use GCP images. - one more role permission - add shared image steps for other notebooks - remove image on notebook configure step
add 1455168 typo fix
add 919389b typo fix
add fc58499 typo fix
add d3415c8 Refactoring. Added link to download toree-assembly-0.2.0.jar instead of pulling it from toree_kernel.tar.gz.
add de83a8f Fixed data engine creation issue, jira ticket 328. Files from toree_kernel.tar.gz were placed in "/home/{user-name}/.local/share/jupyter/kernels/{cluster-name}/toree-0.2.0-incubating/", and should be directly in cluster folder.
add e7cf207 Merge pull request #34 from Dyoma33/epmcdlab-dev-328
add 55a4676 Assigned role to ssn service account that allow to use BigQuery API, ticket 529
add db2dabf Merge pull request #36 from Dyoma33/EPMCDLAB-dev-529
add 5458efb [DLAB-529] Added Bigquery job User role
add d9320d1 Merge pull request #41 from Dyoma33/DLAB-dev-529
add eba0942 [DLAB-532] Fixed matplotlib downloading bug
add 71ed477 Merge pull request #43 from Dyoma33/DLAB-dev-532
add a35a550 added installation and configuration of reverse proxy;
add 4ed0a4f fixed issue with reverse proxy for jupyter
add 1426dfd added reverse proxy to all notebooks and dataengine
add 7f25aaa fixed issue with missed scripts
add 31dd48f added reverse proxy to dataengine-service
add 309b82f fixed typo
add 597c14e Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-253
add 18dc734 Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-253
add b171ae7 fixed issue with DNS name for Dataproc
add a86be19 fixed issue with DNS name for Dataproc
add c19c8f7 added additional output
add cb997d6 fixed issue with http proxy on edge node;
add ff68bae fixed typo
add e31a935 Merge pull request #44 from apache/DLAB-253
add 7cf976e DLAB-524 added possibility to use bundles from maven repo during java dependencies installation
add 4644641 Merge pull request #45 from apache/bugfix-DLAB-524
add dbbc91b Fixed issue with S3 bucket tagging
add 8f2fed6 Merge pull request #46 from apache/DLAB-518
add 9cac83c [DLAB-538]: fixed issue with roles updation in firefox
add 93384eb Merge pull request #47 from apache/DLAB-538
add 6e44c41 DLAB-530 fixed bug connected with availability of resource templates
add 36d86f7 DLAB-000 removed test
add 2f1b703 fixed typo
add efa4f09 fixed issue with spark reconfiguration after stop
add 2e222ee fixed issue with missed spark properties
add a34eb23 fixed issue with missed spark properties
add a4c3bdb fixed issue with jar list
add 0848a23 fixed typo
add e5f26c6 Merge pull request #49 from apache/DLAB-483
add 345c332 Merge branch 'develop' into DLAB-285
add 0ff5153 Merge pull request #51 from ioleksandr/DLAB-285
add 3225e23 [DLAB-475] Parametrise also keras r package same as python library (for Debian)
add b0601ce Merge pull request #54 from ioleksandr/DLAB-475-d
add c4bb8b3 [DLAB-540] Updated nvidia driver version
add 1a7cd82 [DLAB-535] Updated debian image and set up installing linux-aws-hwe for kernel upgrade
add 37a3af5 [DLAB-535] Changed package name linux-modules-extra to linux-modules, cause there no extra packages for new kernel
add 290f3de Merge pull request #53 from Dyoma33/DLAB-535
add 95fdf7b [DLAB-535] Fixed instance creation issue due to missing -y flag and added condition to install linux-aws-hwe only on AWS
add 2d83485 Merge pull request #57 from Dyoma33/DLAB-535-dev
add 9c6f497 added reverse proxy to azure
add c6c2c4a fixed typo
add 2d2d1b7 Fixed issue with type of Edge IP address
add 63f001e fixed typo
add afc04ea increased keep-alive timeout for nginx;
add 522a66e fixed typo;
add 1017a12 fixed issue with timeout
add 3f2eecc fixed issue with timeout
add dfbce93 Merge pull request #59 from apache/DLAB-252
add 2c899b4 [DLAB-552]: Fix notebook stopping/termination fails on GCP
add 038fb9d Merge pull request #60 from ioleksandr/DLAB-552
add 70a9151 [DLAB-573]:fixed issue with azure_client_id
add afa9711 [DLAB-573]: added needed parameters
add 044a120 DLAB-573 added refresh token param for spark reconfiguration
add 34ef8f4 Merge pull request #65 from apache/DLAB-573-dev
add aff4ce5 DLAB-000 fixed bug connected with cluster configuration dto
add 24d92a7 DLAB-000 2.1 Release notes updated
add 78acb1d [DLAB-372]: added fixes on Manage Git Credentials page
add 8ee12bb [DLAB-573]: fixed preemptible node validation
add b7d3df5 [DLAB-573]: fixed preemptible node validation
add dd801d2 Merge pull request #63 from apache/DLAB-537
add 49bd075 [DLAB-378]: fixed issue with edge node action selectors
add 4b2d6e3 Merge pull request #50 from apache/DLAB-378_2
add 59058fc Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-372
add 0600f33 Merge pull request #66 from apache/DLAB-372
add fb8d1c9 [DLAB-449]: fixed issue with error handling on login
add a722270 [DLAB-449]: fixed issue with in grid multiselect filters
add 5dda84c [DLAB-449]: libraries version fixes
add 2b002e0 [DLAB-449]: fixed issue with extra scrollbar for users column
add f68e584 [DLAB-449]: reset classes on resource creation without permission
add 5c2e232 [DLAB-449]: added headers to alert dialogs
add a8c1b59 Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-449
add c6f2b5d merge develop into DLAB-449
add b54b336 Merge pull request #62 from apache/DLAB-449
add 623fd3c [DLAB-531]: Fix broken python on jupyter/zeppelin after DataProc install
add 759651d Merge pull request #67 from ioleksandr/DLAB-531
add 4a9afaf [DLAB-578]: merge preemptible node labels
add e0ff817 [DLAB-576]: Added succeess notification after creating/removing account
add dbc9c05 [DLAB-577][Manage roles]: removed extra scrollbar from users column
add 790f827 Merge pull request #69 from apache/DLAB-576
add f804563 [DLAB-550]: fixed Issues with merging of Health status and Environment Management pages
add 70605a8 Merge pull request #68 from apache/DLAB-550
add 1ac5a1a Merge branch 'develop' of github.com:apache/incubator-dlab into DLAB-578
add cc643a1 Merge pull request #70 from apache/DLAB-578
add 41ee4c7 DLAB-518 fixed bug with wrong billing information for personal bucket
add c0f3d8b Merge pull request #71 from apache/bugfix-DLAB-518
add 69f9d28 [DLAB-77] Created Rstudio with Tensorflow image
add 3d9a205 [DLAB-77] Corrected Tensorflow version
add 6677420 Merge pull request #72 from Dyoma33/DLAB-77-dev
add 005f11e DLAB-527 fixed bug connected with billing on azure
add 086fc51 Merge pull request #73 from apache/bugfix-DLAB-527
add ddc2044 [DLAB-77] Fixed result.write operation
add ceb071c Merge pull request #74 from Dyoma33/DLAB-77-dev
add 2f79cd9 DLAB-574 removed azure_client_id param from docker requests
add c042f0d Merge pull request #75 from apache/bugfix-DLAB-574
add 7bea848 [DLAB-77] Added username and pass to json
add be9cc6a Merge pull request #76 from Dyoma33/DLAB-77-dev
add ce25664 DLAB-000 unit test fixed
add 0b74de8 [DLAB-551]: Fix problem with create notebooks of the same template simultaneously
add cd23b5d [DLAB-551]: Fix problem with create notebooks of the same template simultaneously add all templates
add effe960 Merge pull request #77 from ioleksandr/DLAB-551
add 0410ffc [DLAB-589] Remove n1-standard-1 shape
add 7932305 Merge pull request #78 from Dyoma33/DLAB-580
add c1c4451 [DLAB-77-551] Fixed image creation issue for Tensor-Rstudio
add 04ccc64 Merge pull request #79 from Dyoma33/DLAB-77-dev
add b898523 [DLAB-77] Added missing coma
add e3bc758 Merge pull request #80 from Dyoma33/DLAB-77-dev
add 12771be [DLAB-551]: add forgotten lib
add 31518ab Merge pull request #81 from ioleksandr/DLAB-551
add 06f1da6 DLAB-582 added API for getting DLab version
add d2deca8 Merge pull request #82 from apache/feature-DLAB-582
add 2ee1914 [DLAB-77] Fixed dataengine creation issue due to missing GPU in spark cluster nodes
add 2d42d33 Merge pull request #83 from Dyoma33/DLAB-77-dev
add 709033c create ssn subnet in chosen zone
add 970b474 create ssn subnet in chosen zone
add efb4852 create ssn subnet in chosen zone
add ad5c564 fix_typo
add b362662 typo fix
add a25502c add possibility to choose zone on edge provisioning
add 7f9695e [DLAB-599] Add possibility to choose zone during DLab deployment
add 837e8f1 [DLAB-599] Add possibility to choose zone during DLab deployment
add d27782d [GCP]: Fix Data Engine creation fails on DeepLearning -remove old and unsupported library Caffe -change versionc of cuda for Data Engine on deeplearning
add 7c6f1c9 Merge pull request #84 from apache/DLAB-523
add d58afd8 [DLAB-580] Changed shape in integration tests
add 6cfbeb5 Merge pull request #85 from Dyoma33/DLAB-580
add 0858bba [DLAB-456]: fixed issue with header structure
add 3e3c33a Merge pull request #86 from apache/DLAB-456
add 583cf02 [DLAB-593]: Fixed issue with removing IAM resources
add e66a70a Merge pull request #87 from apache/DLAB-593
add 4c04431 [DLAB-594]: added tags for Elastic IPs
add 2cad14f [DLAB-594]: added tags for VPCs,subnets, Route tables, SGs and IAM roles
add e506e4b [DLAB-594]: fixed issue with creating IAM role and added tag for peering connection
add 4348401 [DLAB-594]: fixed issue with creating IAM role
add 6c7a30a [DLAB-594]: fixed issue with removing peering connection during rolling back
add e2b5f80 debugging
add 74788b1 [DLAB-594]: Fixed issue second VPC
add b8bec80 [DLAB-594]: Fixed typo
add 4900f52 [DLAB-594]: Fixed typo
add f74984a Merge pull request #88 from apache/DLAB-594
add ae2926a [DLAB-596]: Fixed issue with header structure after Dataengine creation with custom Spark configuration
add aff5303 Merge pull request #89 from apache/DLAB-596
add 404eb3c [DLAB-597]: Fixed issue with getting list of Service Accounts
add 8dae908 Merge pull request #90 from apache/DLAB-597-fix
add bdc7fea DLAB-453 added possibility to terminate computational by scheduler
add d1842f7 Merge pull request #91 from apache/feature-DLAB-453-1
add 9260408 EPMCDLAB-000 refactored ldap authentication
add d2a1a40 DLAB-000 fixed merge conflicts
add 875566d DLAB-000 copyright updated
add 85f0db8 Merge pull request #92 from apache/ldab_refactored
add 22aba18 [DLAB-600]: Fixed issue with missed tags
add bbf8b59 Merge pull request #93 from apache/DLAB-600
add 8d86774 [DLAB-592]: use DataProc v1.4 instead of v1.1
add 4bfaf01 Merge pull request #94 from apache/DLAB-592
add bbf373e DLAB-602 fixed bug connected with wrong error message in case of wrong user login entered
add b6e7f8a Merge pull request #95 from apache/bugfix-DLAB-602-1
add 4c04126 [DLAB-580] Removed n1-standard-1 shape from Dataproc jenkins job
add 55cd899 Merge pull request #96 from Dyoma33/DLAB-580
add e4d5dd4 DLAB-570 fixed bug connected with wrong key status in case of fail
add 7d37d3c Merge branch 'bugfix-DLAB-570' of github.com:apache/incubator-dlab into DLAB-572
add 4e21daa [DLAB-572]: added handler on edge creation failing; app version added
add 76c8a67 [DLAB-572]: linter configuration updates
add 87e5ba8 DLAB-572 added status to health status page in case of edge is not exist
add 652e3eb [DLAB-583]: added meta data service
add b990cac Merge pull request #97 from apache/DLAB-572
add 25f93b5 DLAB-000 changed error message in case of wrong credentials
add 4e0c60f DLAB-000 changed error message in case of wrong credentials for dev mode
add 5077696 Merge branch 'develop' into DLAB-599
add a43f961 Merge pull request #98 from apache/DLAB-599
add 264f901 [DLAB-590] add information to status.json about error
add 1693024 Merge pull request #100 from apache/DLAB-590
add 6ef4981 DLAB-603 added public ip to getAllEnv API
add e68872d Merge pull request #101 from apache/feature-DLAB-603
add 5961fff DLAB-000 removed --rm arg from docker status command
add 216a632 DLAB-000 moved dlab-process module to provisioning service
add 697ebb4 DLAB-000 removed not needed classes
add 5465d33 DLAB-000 removed dlab-auth-common and dlab-rest-client module
add d5cdabb Merge pull request #102 from apache/refactoring
add 36f93e9 [DLAB-606] create peering route for secondary VPC
add 8450ca0 Merge pull request #103 from apache/DLAB-606
add f2b2fab [DLAB-603]: added Edge IP on management grid
add 826848e Merge pull request #104 from apache/DLAB-603
add dcd7dfa DLAB-582 added scm maven properties
add 6f5c164 [DLAB-582]: added copying of git directory
add 9d14250 Merge pull request #105 from apache/bugfix-DLAB-582
add ce3633c DLAB-000 fixed bug on gcp connected with security configuration
add d0c23d2 [DLAB-592] Upgrade Dataproc to 1.2 and 1.4 [bugfix] - update Zeppelin from 0.8.0 to 0.8.1 for Spark 2.4.0 support - change autotest Dataproc version to 1.2 from 1.1
add e681bd1 Merge pull request #107 from apache/DLAB-592
add 393e8a1 [DLAB-569]: Added installation of NTPd
add 9d0fc97 [DLAB-569]: Fixed issue with NTP in private subnet
add b1d0863 [DLAB-569]: Fixed issue with NTP in private subnet
add 3bf62d8 [DLAB-569]: Fixed issue with NTP in private subnet
add 8f8ddaa [DLAB-569]: Fixed issue with NTP in private subnet
add a40d5e2 [DLAB-569]: Fixed issue with NTP in private subnet
add 9b2266c [DLAB-569]: fixed issue with ntpd
add 302c380 Merge pull request #106 from apache/DLAB-569
add 7d9c594 [DLAB-598]: added cluster version on Data Engine Service popup
add 28bc5e3 Merge pull request #108 from apache/DLAB-598
add 8e1662e [DLAB-607]: added last status check on key upload complete
add 755c938 [DLAB-607]: added key upload proccess emitter
add 03e76b1 [DLAB-607]: added extra health status check on admin page for action managing rights
add ba059cc [DLAB-607]: refresh data after key upload
add 3da8f9e [DLAB-612]: case sensitivity of current user fixes
add d009337 Merge pull request #110 from apache/DLAB-607
add 3e7a730 DLAB-000 updated versions of notebook templates for IT
add dbdee77 DLAB-000 updated EMR version for IT
add 8ea57be [DLAB-613][Azure][Data Lake]: fixed issue with login
add fea9db2 Merge pull request #111 from apache/DLAB-613
add f622c90 [DLAB-617]: fixed labels spacing between values on Notebook popup
add aaa896e Merge pull request #112 from apache/DLAB-617
add 970d431 [DLAB-615]: added possibility to manage all users instances in spite of Admins edge status
add b36975e Merge pull request #113 from apache/DLAB-615
add e2baf50 [DLAB-579]: fixed issue with filters labeling on billing report grid
add 97e9cbe Merge pull request #114 from apache/DLAB-579
add 97af247 EPMCDLAB-000 changed logic for inactivity checking
add b497ae5 EPMCDLAB-000 inactivity bugfix
add 05f5143 add markers for spark and emr
add 29c1762 partial changes
add 2c7e43e correct names of notebooks
add 2b1edbf change function for other notebooks
add e5ea52f fixes for previous commit
add 56f36f8 remove java idle marker
add c16d3c4 create initial inactivity log
add 9b36fc1 create initial inactivity log
add a91f8bc changes in edge SG port range for spark application master
add 67c154a fix for rstudio
add e4342eb EPMCDLAB-000 fixed merge conflicts
add a3dda6b DLAB-406 prevent executing exploratory scheduler when it has corresponding computational with status creating/terminating/configuring
add 4e97969 Merge pull request #3 from apache/bugfix-DLAB-406
add db483d4 DLAB-401 last activity field is updated when any action was performed with instance
add b44c1f2 Merge pull request #4 from apache/bugfix-DLAB-401
add bb8056b DLAB-415 added possibility to consider cluster inactivity when executing stop scheduler for exploratory
add b2ebbcd Merge pull request #5 from apache/feature-DLAB-415
add ef7c735 [DLAB-402] Update last time inactivity after restarting by starting time [DLAB-405] Changes in names of idle_check parameters
add 7152eb7 Merge pull request #6 from ioleksandr/inactivity_integration
add 6108bbe DLAB-410 forbid to show reminder for inactivity scheduler
add 224b9d1 Merge pull request #7 from apache/bugfix-DLAB-410
add 1cb5c3c DLAB-444 fixed bug connected with scheduler with more than 1 computational
add 1b59798 Merge pull request #9 from apache/bugfix-DLAB-444
add cd949fd DLAB-442 fixed bug with scheduler when no computational resources exist on exploratory
add 5f80ab6 Merge pull request #10 from apache/bugfix-DLAB-442
add 0e2c6a4 DLAB-445 fixed bug connected with computational last activity updating
add 99b3e4b Merge pull request #13 from apache/bugfix-DLAB-445
add 2220603 merge develop into inactivity_integration
add eacac5e [DLAB-395]: removed days selection note
add 379d67b [DLAB-395]: removed base info notification in case scheduler is not set
add 1ce57d8 [DLAB-395]: close scheduler after inactivity settings is settled up
add d317e60 [DLAB-398]: changed inactivityLimits; Include max_inactivity in request
add 0ae19f3 [DLAB-398]: added switcher of scheduler by type
add ce9015c [DLAB-398]: select offset state fixes; time picker theme fixes
add 25598d0 [DLAB-398]: added force scheduler usage even some jobs are ran on computational resources
add 5b24b4d [DLAB-416]: removed inherit settings for notebook without active dataengines
add 7cda4ff [DLAB-465] Fix problem with Inactivity file which doesn't have ID for Data Engine Cluster in Azure and GCP
add 9d9562c Merge pull request #20 from ioleksandr/inactivity_integration
add f8460f3 DLAB-406 fixed bug with inactivity scheduler
add a7903eb DLAB-471 adding parameter that will remove docker container for check inactivity after it is executed
add 1422829 [DLAB-482] fix fail of Spark configuration on installing kernels step
add e249549 Merge pull request #23 from ioleksandr/inactivity_integration
add 47979d7 DLAB-527 fixed bug connected with azure billing
add 99a5829 Merge remote-tracking branch 'remotes/origin/develop' into inactivity_integration
add 121ffc5 DLAB-000 Licence headers updated
add 635251d [DLAB-480]: fixed action buttons overlapping in case of not selected hours
add 3c975be [DLAB-480]: added scheduler.calculations; setDefault for week selections model
add eef52dd [DLAB-480]: prevent float and negative numbers; inactivity validation fixes
add 7ca2e08 [DLAB-480]: error handling labeling fixes
add 102d497 [DLAB-480]: added consider_inactivity patameter to idle time scheduler
add 63b1b25 [DLAB-480]: moved general isNumeric Key check into utils
add 539bbcb [DLAB-480]: updated scheduler with set/reset actions separation
add f738195 DLAB-000 fixed bug connected with inactivity scheduler
add 9bacc95 [DLAB-454]: added controls for resources termination
add 04860fe [DLAB-454]: added controls for resources termination
add 4bb0fbc [DLAB-454]: added terminate_datetime request parameter
add f4fdcbe DLAB-000 fixed merge conflicts
add 6426d06 DLAB-000 fixed merge conflicts
add 5586273 Change copyrights due to new standards
add e7f029b [DLAB-454]: added terminate date validity check
add f168cd6 Merge branch 'develop' of github.com:apache/incubator-dlab into inactivity_integration
add 9a56ccb Merge remote-tracking branch 'origin/inactivity_integration' into inactivity_integration
add 234f465 Merge pull request #109 from apache/inactivity_integration
add bccbee4 [DLAB-583]: added meta data fixes
add b40c062 Merge pull request #115 from apache/DLAB-583
add 6ce6964 [DLAB-docker-script] Created script that rebuilds docker images on ssn
add b1f4eab [DLAB-docker-script] Added conditional for azure_auth.json.
add 04dd664 [DLAB-docker-script] Bugfix
add 7c232b5 [DLAB-docker-script] Changed name to more appropriate
add ad2aa2c [DLAB-docker-script] Parametrized docker-build script
add a9fc846 Merge pull request #116 from apache/docker-script
add ba2bd75 Update README.md
add 0533553 DLAB-0 added release notes link
add 107a039 [DLAB-592] Change dataproc and Zeppelin version because of bug in 0.8.1
add 9d8f298 Merge pull request #117 from apache/DLAB-592
add 764000d [DLAB-592] Change Zeppelin version to 0.8.0 in descriptions
add e42803a Merge pull request #119 from apache/DLAB-592
add f0d166f [DLAB-290]: metadata infolist fixes
add 87ddd9b Merge pull request #120 from apache/DLAB-290
add 15c5db6 DLAB-0 Changed manifest dlab version property name
add d0c9806 change ssn primary drive size first configuration of guacamole
add 0d22e40 change ssn primary drive size first configuration of guacamole
add 8640b86 change ssn primary drive size first configuration of guacamole
add 616c4c0 change ssn primary drive size first configuration of guacamole
add 6f604a4 Update configure_docker.py
add 546ac58 Update configure_docker.py
add c14cc21 Merge remote-tracking branch 'origin/DLAB-3' into DLAB-3
add 8ac2297 Update configure_docker.py
add 4f09046 Update configure_docker.py
add 2e49780 Update configure_docker.py
add 4fe05f7 Update configure_docker.py
add 7b96471 Update configure_docker.py
add 146e250 Update configure_docker.py
add d2fd4dd Update configure_docker.py
add d094ac8 add cron reboot job and autorestart to dockers
add ef32ed9 add cron reboot job and autorestart to dockers
add c89eb75 add cron reboot job and autorestart to dockers
add 0496b4c Update configure_docker.py
add 1645fc8 Merge remote-tracking branch 'origin/DLAB-3' into DLAB-3
add 973ca43 add cron reboot job and autorestart to dockers
add 21344ef add cron reboot job and autorestart to dockers
add 2ce65bf final fixes
add c5b71de final fixes
add ccc00a3 final fixes
add d5e6e97 pass fix
add 7f6f1a0 change size of storage device for GCP also
new 0fb6b6b DLAB-000 fixed merge conflicts
new b9f736e [DLAB-4]: added guacamole-common-js lib
new 255cb90 [DLAB-4]: added web terminal component
new ad18801 [DLAB-4]: redirect to terminal with new tab by notebook ip
new 736a26e [DLAB-4]: added routing to web terminal connection
new 45378b0 [DLAB-4]: added terminal per notebook on actions panel
new 1a7be78 [DLAB-4]: fixed location and token for connection
new 84ee642 DLAB-2 added backend for web terminal
new deb3d36 DLAB-2 added possibility to use admin key during ssh connection
new 4e70035 DLAB-2 disabled gzip handler for guacamole servlet
new 040ecad [DLAB-583]: added meta data service
new fbeb333 [DLAB-583]: added meta data fixes
The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
README.md | 180 +-
USER_GUIDE.md | 2 +-
infrastructure-provisioning/scripts/deploy_dlab.py | 1 +
infrastructure-provisioning/scripts/deploy_ldap.sh | 26 +-
infrastructure-provisioning/src/base/entrypoint.py | 4 +
.../src/base/scripts/install_prerequisites.py | 7 +-
.../src/dataengine/scripts/configure_dataengine.py | 8 +-
.../src/deeplearning/fabfile.py | 16 +
.../scripts/configure_deep_learning_node.py | 7 +-
.../edge/scripts/configure_nginx_reverse_proxy.py | 3 +-
.../{emr.conf => dataengine-service.conf} | 0
.../src/edge/templates/nginx.conf | 8 +-
.../api/{git_creds.py => check_inactivity.py} | 2 +-
.../src/general/conf/dlab.ini | 2 +
.../files/aws/dataengine-service_Dockerfile | 3 +
.../src/general/files/aws/dataengine_Dockerfile | 1 +
.../src/general/files/aws/deeplearning_Dockerfile | 3 +
.../src/general/files/aws/jupyter_Dockerfile | 3 +
.../src/general/files/aws/rstudio_Dockerfile | 3 +
.../src/general/files/aws/ssn_Dockerfile | 2 +-
.../src/general/files/aws/ssn_policy.json | 3 +-
.../general/files/aws/tensor-rstudio_Dockerfile | 3 +
.../src/general/files/aws/tensor_Dockerfile | 3 +
.../src/general/files/aws/tensor_description.json | 2 +-
.../src/general/files/aws/zeppelin_Dockerfile | 3 +
.../src/general/files/azure/base_Dockerfile | 1 +
.../src/general/files/azure/dataengine_Dockerfile | 1 +
.../general/files/azure/deeplearning_Dockerfile | 3 +
.../src/general/files/azure/jupyter_Dockerfile | 4 +
.../src/general/files/azure/rstudio_Dockerfile | 3 +
.../src/general/files/azure/ssn_Dockerfile | 1 +
.../src/general/files/azure/tensor_Dockerfile | 3 +
.../src/general/files/azure/zeppelin_Dockerfile | 3 +
.../src/general/files/gcp/base_Dockerfile | 1 +
.../files/gcp/dataengine-service_Dockerfile | 5 +-
.../files/gcp/dataengine-service_description.json | 5 +-
.../src/general/files/gcp/dataengine_Dockerfile | 3 +-
.../general/files/gcp/dataengine_description.json | 1 -
.../src/general/files/gcp/deeplearning_Dockerfile | 3 +
.../src/general/files/gcp/jupyter_Dockerfile | 3 +
.../src/general/files/gcp/jupyter_description.json | 1 -
.../src/general/files/gcp/rstudio_Dockerfile | 3 +
.../src/general/files/gcp/rstudio_description.json | 1 -
.../src/general/files/gcp/ssn_Dockerfile | 1 +
.../src/general/files/gcp/ssn_policy.json | 7 +-
.../src/general/files/gcp/ssn_roles.json | 3 +-
.../files/{aws => gcp}/tensor-rstudio_Dockerfile | 5 +-
...iption.json => tensor-rstudio_description.json} | 6 +-
.../src/general/files/gcp/tensor_Dockerfile | 3 +
.../src/general/files/gcp/tensor_description.json | 6 +-
.../src/general/files/gcp/zeppelin_Dockerfile | 3 +
.../general/files/gcp/zeppelin_description.json | 1 -
.../src/general/lib/aws/actions_lib.py | 409 +-
.../src/general/lib/aws/meta_lib.py | 5 +-
.../src/general/lib/azure/actions_lib.py | 45 +-
.../src/general/lib/gcp/actions_lib.py | 124 +-
.../src/general/lib/gcp/meta_lib.py | 80 +-
.../src/general/lib/os/debian/common_lib.py | 15 +
.../src/general/lib/os/debian/notebook_lib.py | 39 -
.../src/general/lib/os/fab.py | 25 +
.../src/general/lib/os/redhat/common_lib.py | 19 +-
.../src/general/lib/os/redhat/notebook_lib.py | 46 -
.../general/scripts/aws/common_create_bucket.py | 3 +-
.../scripts/aws/common_create_role_policy.py | 5 +-
.../general/scripts/aws/common_create_subnet.py | 11 +-
.../aws/common_notebook_configure_dataengine.py | 6 +-
.../general/scripts/aws/common_start_notebook.py | 14 +
.../scripts/aws/dataengine-service_configure.py | 9 +-
.../general/scripts/aws/dataengine_configure.py | 11 +-
.../src/general/scripts/aws/dataengine_start.py | 52 +-
.../general/scripts/aws/deeplearning_configure.py | 20 +-
.../scripts/aws/edge_associate_elastic_ip.py | 7 +-
.../src/general/scripts/aws/edge_configure.py | 2 +-
.../src/general/scripts/aws/edge_prepare.py | 87 +-
.../src/general/scripts/aws/jupyter_configure.py | 30 +-
.../jupyter_dataengine-service_create_configs.py | 2 +
.../src/general/scripts/aws/rstudio_configure.py | 18 +-
.../scripts/aws/ssn_associate_elastic_ip.py | 7 +-
.../src/general/scripts/aws/ssn_configure.py | 60 +-
.../src/general/scripts/aws/ssn_create_vpc.py | 5 +
.../src/general/scripts/aws/ssn_prepare.py | 112 +-
.../scripts/aws/tensor-rstudio_configure.py | 22 +-
.../src/general/scripts/aws/tensor_configure.py | 18 +-
.../src/general/scripts/aws/zeppelin_configure.py | 28 +-
.../azure/common_notebook_configure_dataengine.py | 5 +-
.../general/scripts/azure/common_start_notebook.py | 14 +
.../general/scripts/azure/dataengine_configure.py | 90 +-
.../src/general/scripts/azure/dataengine_start.py | 20 +
.../scripts/azure/deeplearning_configure.py | 106 +-
.../src/general/scripts/azure/edge_configure.py | 67 +-
.../src/general/scripts/azure/edge_prepare.py | 35 +-
.../src/general/scripts/azure/jupyter_configure.py | 79 +-
.../src/general/scripts/azure/rstudio_configure.py | 78 +-
.../src/general/scripts/azure/ssn_configure.py | 2 +
.../src/general/scripts/azure/tensor_configure.py | 83 +-
.../general/scripts/azure/zeppelin_configure.py | 91 +-
.../general/scripts/gcp/common_create_instance.py | 7 +-
.../gcp/common_notebook_configure_dataengine.py | 6 +-
.../general/scripts/gcp/common_prepare_notebook.py | 38 +-
.../general/scripts/gcp/common_start_notebook.py | 14 +
.../general/scripts/gcp/common_stop_notebook.py | 17 +-
.../scripts/gcp/common_terminate_notebook.py | 14 +-
.../scripts/gcp/dataengine-service_configure.py | 79 +-
.../scripts/gcp/dataengine-service_jars_parser.py | 14 +-
.../general/scripts/gcp/dataengine_configure.py | 71 +-
.../src/general/scripts/gcp/dataengine_prepare.py | 2 +-
.../src/general/scripts/gcp/dataengine_start.py | 22 +
.../general/scripts/gcp/deeplearning_configure.py | 83 +-
.../src/general/scripts/gcp/edge_configure.py | 43 +-
.../src/general/scripts/gcp/edge_prepare.py | 8 +-
.../src/general/scripts/gcp/jupyter_configure.py | 83 +-
.../src/general/scripts/gcp/rstudio_configure.py | 95 +-
.../src/general/scripts/gcp/ssn_configure.py | 3 +
.../src/general/scripts/gcp/ssn_prepare.py | 6 +-
.../scripts/gcp/ssn_terminate_gcp_resources.py | 10 +
...io_configure.py => tensor-rstudio_configure.py} | 123 +-
.../src/general/scripts/gcp/tensor_configure.py | 92 +-
.../src/general/scripts/gcp/zeppelin_configure.py | 93 +-
...mmon_configure_proxy.py => check_inactivity.py} | 41 +-
.../general/scripts/os/common_clean_instance.py | 4 +
.../scripts/os/common_configure_reverse_proxy.py | 8 +-
.../general/scripts/os/common_configure_spark.py | 20 +-
.../os/deeplearning_install_dataengine_kernels.py | 5 +
.../os/jupyter_install_dataengine_kernels.py | 5 +
...igure_spark.py => notebook_inactivity_check.py} | 46 +-
.../os/rstudio_install_dataengine_kernels.py | 5 +
.../tensor-rstudio_install_dataengine_kernels.py | 5 +
.../os/tensor_install_dataengine_kernels.py | 5 +
.../update_inactivity_on_start.py} | 18 +-
.../os/zeppelin_install_dataengine_kernels.py | 5 +
.../gcp/jenkins_jobs/create_data_engine/config.xml | 4 +-
.../create_dataengine-service/config.xml | 5 +-
.../jenkins_jobs/create_notebook_server/config.xml | 2 +-
.../jenkins_jobs/start_notebook_server/config.xml | 1 +
.../jenkins_jobs/stop_notebook_server/config.xml | 1 +
.../terminate_notebook_server/config.xml | 1 +
..._spark-defaults_local.conf => inactive.service} | 10 +-
.../src/general/templates/os/inactive.sh | 49 +
...ok_spark-defaults_local.conf => inactive.timer} | 12 +-
.../src/general/templates/os/inactive_rs.sh | 48 +
infrastructure-provisioning/src/jupyter/fabfile.py | 16 +
.../src/jupyter/scripts/configure_jupyter_node.py | 5 +
infrastructure-provisioning/src/rstudio/fabfile.py | 16 +
.../src/rstudio/scripts/configure_rstudio_node.py | 7 +-
.../src/ssn/files/gcp/mongo_roles.json | 32 +-
.../src/ssn/scripts/configure_docker.py | 44 +
.../src/ssn/scripts/configure_ssn_node.py | 14 +-
.../src/ssn/templates/docker_build.py | 73 +
.../src/tensor-rstudio/fabfile.py | 16 +
.../scripts/configure_tensor-rstudio_node.py | 5 +
infrastructure-provisioning/src/tensor/fabfile.py | 16 +
.../src/tensor/scripts/configure_tensor_node.py | 5 +
.../src/zeppelin/fabfile.py | 16 +
.../zeppelin/scripts/configure_zeppelin_node.py | 5 +
.../deeplearning/deeplearning-notebook.json | 4 +-
.../azure_templates/jupyter/jupyter-notebook.json | 4 +-
.../azure_templates/rstudio/rstudio-notebook.json | 4 +-
.../examples/ec2_templates/deeplearning/EMR.json | 2 +-
.../ec2_templates/deeplearning/EMR_spot.json | 2 +-
.../deeplearning/deeplearning-notebook.json | 4 +-
.../examples/ec2_templates/jupyter/EMR.json | 2 +-
.../examples/ec2_templates/jupyter/EMR_spot.json | 2 +-
.../ec2_templates/jupyter/jupyter-notebook.json | 4 +-
.../examples/ec2_templates/rstudio/EMR.json | 2 +-
.../examples/ec2_templates/rstudio/EMR_spot.json | 2 +-
.../ec2_templates/rstudio/rstudio-notebook.json | 4 +-
.../examples/ec2_templates/tensor/EMR.json | 2 +-
.../examples/ec2_templates/tensor/EMR_spot.json | 2 +-
.../examples/ec2_templates/zeppelin/EMR.json | 2 +-
.../examples/ec2_templates/zeppelin/EMR_spot.json | 2 +-
.../gcp_templates/deeplearning/dataproc.json | 6 +-
.../examples/gcp_templates/jupyter/dataproc.json | 6 +-
.../examples/gcp_templates/rstudio/dataproc.json | 6 +-
.../examples/gcp_templates/tensor/dataproc.json | 6 +-
.../examples/gcp_templates/zeppelin/dataproc.json | 6 +-
.../epam/dlab/automation/test/TestServices.java | 4 +-
pom.xml | 12 +-
.../com/epam/dlab/mongo/DlabResourceTypeDAO.java | 7 +-
.../dlab/core/parser/ParserStatisticsTest.java | 64 -
.../epam/dlab/auth/conf/GcpLoginConfiguration.java | 2 +-
services/dlab-auth-common/pom.xml | 56 -
.../InfrastructureMetaInfoDTO.java} | 22 +-
.../java/com/epam/dlab/dto/SchedulerJobDTO.java | 7 +
.../SparkComputationalCreateAzure.java | 8 -
.../exploratory/ExploratoryActionStartAzure.java | 76 +-
.../azure/exploratory/ExploratoryCreateAzure.java | 16 -
.../com/epam/dlab/dto/base/DataEngineType.java | 54 +-
.../computational/CheckInactivityStatusDTO.java | 30 +-
.../ComputationalCheckInactivityDTO.java | 52 +-
.../ExploratoryCheckInactivityAction.java} | 7 +-
.../dlab/dto/exploratory/ExploratoryStatusDTO.java | 12 +
.../ComputationalResourceShapeDto.java | 198 +-
services/dlab-process/pom.xml | 60 -
.../com/epam/dlab/process/ProcessConveyorTest.java | 225 -
services/dlab-rest-client/pom.xml | 42 -
.../java/com/epam/dlab/util/AnnotationUtils.java | 61 -
.../main/java/com/epam/dlab/util/ObjectUtils.java | 49 -
services/dlab-webapp-common/pom.xml | 18 +-
.../com/epam/dlab/auth/SecurityAuthorizer.java | 0
.../dlab/auth/SecurityUnauthorizedHandler.java | 0
.../src/main/java/com/epam/dlab/auth/UserInfo.java | 0
.../main/java/com/epam/dlab/auth/UserInfoDAO.java | 10 +-
.../epam/dlab/auth/UserVerificationService.java | 2 +-
.../com/epam/dlab/auth/contract/SecurityAPI.java | 0
.../com/epam/dlab/auth/dto/UserCredentialDTO.java | 1 -
.../auth/oauth2/Oauth2AuthenticationService.java | 0
.../auth/rest/AbstractAuthenticationService.java | 0
.../epam/dlab/auth/rest/ConfigurableResource.java | 0
.../auth/rest/UserSessionDurationAuthorizer.java | 0
.../auth/rest/UserSessionDurationCallback.java | 0
.../com/epam/dlab/rest/client/RESTService.java | 0
.../epam/dlab/rest/client/RESTServiceFactory.java | 0
.../com/epam/dlab/rest/contracts/ApiCallbacks.java | 4 +-
.../dlab/rest/contracts/InfrasctructureAPI.java | 3 +-
.../java/com/epam/dlab/rest/contracts/KeyAPI.java | 3 +-
services/provisioning-service/pom.xml | 10 +-
services/provisioning-service/provisioning.yml | 2 +-
.../epam/dlab/backendapi/core/DockerWarmuper.java | 2 +-
.../backendapi/core/commands/RunDockerCommand.java | 8 +-
.../handlers/CheckInactivityCallbackHandler.java | 94 +-
.../dlab/backendapi/modules/ProductionModule.java | 3 +
.../backendapi/modules/ProvisioningDevModule.java | 19 +-
.../resources/InfrastructureResource.java | 19 +-
.../backendapi/resources/base/KeyResource.java | 23 +-
.../service/CheckInactivityService.java} | 8 +-
.../service/impl/CheckInactivityService.java | 103 -
.../service/impl/CheckInactivityServiceImpl.java | 114 +
.../backendapi/service/impl/DockerService.java | 3 +
.../{ReuploadKeyService.java => KeyService.java} | 29 +-
.../com/epam/dlab/process/ProcessConveyor.java | 6 +-
.../dlab/process/builder/ProcessInfoBuilder.java | 0
.../process/exception/DlabProcessException.java | 0
.../com/epam/dlab/process/model/DlabProcess.java | 0
.../com/epam/dlab/process/model/ProcessId.java | 0
.../com/epam/dlab/process/model/ProcessInfo.java | 0
.../com/epam/dlab/process/model/ProcessStatus.java | 0
.../com/epam/dlab/process/model/ProcessStep.java | 0
.../aws/dataengine-service_check_inactivity.json | 8 +
.../aws/dataengine_check_inactivity.json | 8 +
.../aws/notebook_check_inactivity.json | 16 +-
.../azure/dataengine-service_check_inactivity.json | 8 +
.../azure/dataengine_check_inactivity.json | 8 +
.../azure/notebook_check_inactivity.json | 22 +-
.../gcp/dataengine-service_check_inactivity.json | 8 +
.../gcp/dataengine_check_inactivity.json | 8 +
.../gcp/notebook_check_inactivity.json | 22 +-
.../dlab/backendapi/core/DockerWarmuperTest.java | 4 +-
services/security-aws/pom.xml | 7 +-
.../aws/service/AwsUserVerificationService.java | 16 +-
services/security-azure/pom.xml | 4 -
.../auth/azure/AzureAuthenticationResource.java | 14 +-
services/security-gcp/pom.xml | 15 +-
.../auth/gcp/service/GcpAuthenticationService.java | 2 +-
services/security-service/pom.xml | 6 +
services/security-service/security.yml | 112 +-
.../dlab/auth/SecurityServiceConfiguration.java | 39 +-
.../epam/dlab/auth/core/CacheableReference.java | 56 -
.../epam/dlab/auth/core/DlabLdapConnection.java | 2 +-
.../dlab/auth/core/DlabLdapConnectionFactory.java | 49 +
.../com/epam/dlab/auth/core/LdapFilterCache.java | 79 -
.../java/com/epam/dlab/auth/core/LoginCache.java | 83 -
.../com/epam/dlab/auth/core/LoginConveyor.java | 67 -
.../java/com/epam/dlab/auth/core/LoginStep.java | 47 -
.../com/epam/dlab/auth/core/UserInfoBuilder.java | 197 -
.../java/com/epam/dlab/auth/dao/LdapUserDAO.java | 189 +-
.../com/epam/dlab/auth/dao/LdapUserDAOImpl.java | 165 +
.../main/java/com/epam/dlab/auth/dao/Request.java | 92 +-
.../epam/dlab/auth/dao/SearchRequestBuilder.java | 26 -
.../epam/dlab/auth/dao/UserInfoDAODumbImpl.java | 6 +-
.../epam/dlab/auth/dao/UserInfoDAOMongoImpl.java | 85 +-
.../dlab/auth/dao/filter/SearchResultMapper.java | 31 -
.../auth/dao/filter/SearchResultProcessor.java | 68 -
.../com/epam/dlab/auth/dao/script/DeepMap.java | 57 -
.../epam/dlab/auth/dao/script/ScriptHolder.java | 59 -
.../dao/script/SearchResultToDictionaryMapper.java | 98 -
.../auth/modules/AwsSecurityServiceModule.java | 4 +-
.../auth/modules/AzureSecurityServiceModule.java | 4 +-
.../auth/modules/GcpSecurityServiceModule.java | 8 +-
.../dlab/auth/modules/SecurityServiceModule.java | 13 +-
.../SynchronousLdapAuthenticationResource.java | 80 +
.../SynchronousLdapAuthenticationService.java | 186 -
.../dlab/auth/service/AuthenticationService.java} | 15 +-
.../service/impl/LdapAuthenticationService.java | 89 +
.../test/java/com/epam/dlab/auth/aws/AwsTest.java | 78 -
.../com/epam/dlab/auth/core/LoginConveyorTest.java | 131 -
.../dlab/auth/dao/script/ScriptHolderTest.java | 65 -
.../java/com/epam/dlab/auth/ldap/AuthTest.java | 29 -
.../java/com/epam/dlab/auth/ldap/BasicTest.java | 116 -
.../java/com/epam/dlab/auth/ldap/JsonTest.java | 84 -
.../java/com/epam/dlab/auth/ldap/ScriptList.java | 76 -
.../impl/LdapAuthenticationServiceTest.java | 139 +
services/self-service/pom.xml | 14 +-
services/self-service/self-service.yml | 12 +
.../dlab/backendapi/SelfServiceApplication.java | 30 +
.../SelfServiceApplicationConfiguration.java | 16 +
.../epam/dlab/backendapi/dao/BaseBillingDAO.java | 21 +-
.../com/epam/dlab/backendapi/dao/BillingDAO.java | 4 +-
.../epam/dlab/backendapi/dao/ComputationalDAO.java | 14 +-
.../java/com/epam/dlab/backendapi/dao/EnvDAO.java | 21 +-
.../epam/dlab/backendapi/dao/ExploratoryDAO.java | 33 +-
.../epam/dlab/backendapi/dao/SchedulerJobDAO.java | 62 +-
.../dlab/backendapi/dao/aws/AwsBillingDAO.java | 309 +-
.../dlab/backendapi/dao/azure/AzureBillingDAO.java | 325 +-
.../dlab/backendapi/dao/gcp/GcpBillingDao.java | 5 +-
.../epam/dlab/backendapi/modules/DevModule.java | 31 +-
.../dlab/backendapi/modules/ProductionModule.java | 1 +
.../resources/InfrastructureInfoResource.java | 9 +
.../resources/aws/BillingResourceAws.java | 62 +-
.../resources/azure/BillingResourceAzure.java | 2 +-
.../callback/CheckInactivityCallback.java | 40 +-
.../resources/callback/ComputationalCallback.java | 45 +-
.../resources/callback/ExploratoryCallback.java | 3 +-
.../callback/base/KeyUploaderCallback.java | 5 +-
.../AwsBillingFilter.java => BillingFilter.java} | 23 +-
.../backendapi/resources/dto/UserResourceInfo.java | 8 +
.../resources/dto/aws/AwsBillingFilter.java | 17 +-
.../resources/dto/azure/AzureBillingFilter.java | 16 +-
.../com/epam/dlab/backendapi/roles/UserGroup.java | 31 -
.../schedulers/CheckInactivityScheduledJob.java | 12 +-
.../computational/StopComputationalJob.java | 2 -
...onalJob.java => TerminateComputationalJob.java} | 19 +-
.../dlab/backendapi/service/BillingService.java | 73 +-
.../dlab/backendapi/service/GuacamoleService.java | 10 +
.../dlab/backendapi/service/InactivityService.java | 15 +-
.../service/InfrastructureInfoService.java | 3 +
.../backendapi/service/SchedulerJobService.java | 5 -
.../backendapi/service/aws/AwsBillingService.java | 10 +-
.../service/azure/AzureBillingService.java | 172 +-
.../service/impl/EnvironmentServiceImpl.java | 3 +-
.../service/impl/GuacamoleServiceImpl.java | 61 +
.../service/impl/InactivityServiceImpl.java | 100 +-
.../impl/InfrastructureInfoServiceBase.java | 15 +
.../service/impl/MavenCentralLibraryService.java | 6 +-
.../service/impl/SchedulerJobServiceImpl.java | 123 +-
.../servlet/guacamole/GuacamoleSecurityFilter.java | 56 +
.../servlet/guacamole/GuacamoleServlet.java | 32 +
.../epam/dlab/backendapi/util/RequestBuilder.java | 1072 +-
.../validation/SchedulerJobDTOValidator.java | 2 +-
.../src/main/resources/webapp/.angular-cli.json | 61 -
.../src/main/resources/webapp/angular.json | 113 +
.../src/main/resources/webapp/package-lock.json | 15502 +++++++++++++++++++
.../src/main/resources/webapp/package.json | 49 +-
.../main/resources/webapp/src/app/app.module.ts | 35 +-
.../resources/webapp/src/app/app.routing.module.ts | 9 +-
.../dictionary => collections}/dictionary.ts | 10 +-
.../core/collections/index.ts} | 5 +-
.../resources/webapp/src/app/core/core.module.ts | 4 +-
.../app/core/directives/click-outside.directive.ts | 20 +-
.../src/app/core/interceptors/error.interceptor.ts | 58 +
.../http.token.interceptor.ts} | 38 +-
.../core/interceptors/httpInterceptor.service.ts | 101 -
.../core/interceptors/logInterceptor.factory.ts | 27 -
.../nocache.interceptor.ts} | 36 +-
...mputationalResourceApplicationTemplate.model.ts | 3 +-
.../models/computationalResourceImage.model.ts | 4 +-
.../models/exploratoryEnvironmentVersion.model.ts | 3 +-
.../app/core/models/resourceShapeTypes.model.ts | 2 +-
.../webapp/src/app/core/pipes/highlight.pipe.ts | 1 -
.../src/app/core/services/appRouting.service.ts | 2 +-
.../core/services/applicationSecurity.service.ts | 199 +-
.../services/applicationServiceFacade.service.ts | 334 +-
.../src/app/core/services/authorization.guard.ts | 17 +-
.../webapp/src/app/core/services/backup.service.ts | 17 +-
.../src/app/core/services/billingReport.service.ts | 15 +-
.../src/app/core/services/checkParams.guard.ts | 26 +-
.../src/app/core/services/cloudProvider.guard.ts | 4 +-
.../services/dataengineConfiguration.service.ts | 25 +-
.../src/app/core/services/healthStatus.service.ts | 120 +-
.../webapp/src/app/core/services/index.ts | 1 +
.../core/services/librariesInstallation.service.ts | 40 +-
.../src/app/core/services/manageUngit.service.ts | 18 +-
.../services/managementEnvironments.service.ts | 15 +-
.../app/core/services/rolesManagement.service.ts | 45 +-
.../src/app/core/services/scheduler.service.ts | 28 +-
.../{appRouting.service.ts => storage.service.ts} | 36 +-
.../src/app/core/services/userAccessKey.service.ts | 41 +-
.../src/app/core/services/userResource.service.ts | 85 +-
.../webapp/src/app/core/util/checkUtils.ts | 9 +
.../util/collections/dictionary/idictionary.ts | 28 -
.../webapp/src/app/core/util/errorUtils.ts | 9 +-
.../webapp/src/app/core/util/fileUtils.ts | 9 +-
.../resources/webapp/src/app/core/util/index.ts | 2 -
.../app/health-status/environment-status.model.ts | 54 -
.../health-status-grid.component.html | 69 -
.../health-status-grid.component.ts | 90 -
.../app/health-status/health-status.component.html | 50 -
.../app/health-status/health-status.component.scss | 37 -
.../app/health-status/health-status.component.ts | 233 -
.../src/app/health-status/health-status.module.ts | 73 -
.../webapp/src/app/login/login.component.css | 8 +-
.../webapp/src/app/login/login.component.ts | 5 +-
.../backup-dilog/backup-dilog.component.html | 0
.../backup-dilog/backup-dilog.component.scss | 0
.../backup-dilog/backup-dilog.component.ts | 2 +-
.../resources/webapp/src/app/management/index.ts | 61 +-
.../manage-environment-dilog.component.html | 0
.../manage-environment-dilog.component.scss | 0
.../manage-environment-dilog.component.ts | 14 +-
.../group-name-validarion.directive.ts | 1 -
.../manage-roles-groups.component.html | 0
.../manage-roles-groups.component.scss | 4 +-
.../manage-roles-groups.component.ts | 12 +-
.../management-grid/management-grid.component.html | 114 +-
.../management-grid/management-grid.component.scss | 3 +
.../management-grid/management-grid.component.ts | 82 +-
.../src/app/management/management.component.html | 35 +-
.../src/app/management/management.component.scss | 8 +-
.../src/app/management/management.component.ts | 248 +-
.../webapp/src/app/management/management.model.ts | 32 +-
.../ssn-monitor/ssn-monitor.component.html | 0
.../ssn-monitor/ssn-monitor.component.scss | 0
.../ssn-monitor/ssn-monitor.component.ts | 0
.../src/main/resources/webapp/src/app/operators.ts | 4 -
.../src/app/reporting/reporting.component.ts | 20 +-
.../webapp/src/app/reporting/reporting.module.ts | 6 +-
.../src/app/reporting/toolbar/toolbar.component.ts | 5 +-
.../cluster-details/cluster-details.component.html | 10 +-
.../cluster-details/cluster-details.component.ts | 15 +-
...utational-resource-create-dialog.component.html | 53 +-
...utational-resource-create-dialog.component.scss | 13 +-
...mputational-resource-create-dialog.component.ts | 39 +-
.../computational-resource-create.model.ts | 2 +-
.../computational-resource-create-dialog/index.ts | 3 -
.../computational-resources-list.component.html | 2 +-
.../computational-resources-list.component.ts | 25 +-
.../ami-create-dialog.component.scss | 7 +-
.../ami-create-dialog.component.ts | 14 +-
.../detail-dialog/detail-dialog.component.html | 68 +-
.../detail-dialog/detail-dialog.component.ts | 16 +-
.../resources/exploratory/detail-dialog/index.ts | 1 -
...ratory-environment-create-dialog.component.html | 2 +-
...loratory-environment-create-dialog.component.ts | 18 +-
.../exploratory-environment-create.model.ts | 2 +-
.../exploratory-environment-create-dialog/index.ts | 3 -
.../exploratory/install-libraries/index.ts | 3 -
.../install-libraries.component.html | 2 +-
.../install-libraries.component.scss | 6 +-
.../install-libraries.component.ts | 61 +-
.../install-libraries/install-libraries.model.ts | 2 +-
.../manage-ungit/manage-ungit.component.html | 9 +-
.../manage-ungit/manage-ungit.component.scss | 9 +-
.../manage-ungit/manage-ungit.component.ts | 20 +-
.../resources/manage-ungit/manage-ungit.model.ts | 2 +-
.../src/app/resources/resources-grid/index.ts | 8 +-
.../resources-grid/resources-grid.component.css | 11 +-
.../resources-grid/resources-grid.component.html | 18 +-
.../resources-grid/resources-grid.component.ts | 46 +-
.../src/app/resources/resources.component.html | 2 +-
.../src/app/resources/resources.component.ts | 25 +-
.../scheduler/scheduler.calculations.ts} | 34 +-
.../resources/scheduler/scheduler.component.html | 188 +-
.../resources/scheduler/scheduler.component.scss | 82 +-
.../app/resources/scheduler/scheduler.component.ts | 252 +-
.../src/app/resources/scheduler/scheduler.model.ts | 25 +-
.../webapp/src/app/shared/bubble/bubble.service.ts | 2 +-
.../shared/form-controls/dropdowns.component.scss | 7 +
.../confirmation-dialog.component.html | 2 +-
.../confirmation-dialog.component.ts | 22 +-
.../confirmation-dialog.model.ts | 12 +-
.../key-upload-dialog.component.ts | 14 +-
.../key-upload-dialog/key-upload.model.ts | 8 +-
.../app/shared/modal-dialog/modal.component.html | 41 +-
.../app/shared/modal-dialog/modal.component.scss | 25 +-
.../notification-dialog.component.ts | 4 +-
.../webapp/src/app/shared/navbar/index.ts | 5 +-
.../src/app/shared/navbar/navbar.component.html | 29 +-
.../src/app/shared/navbar/navbar.component.scss | 29 +-
.../src/app/shared/navbar/navbar.component.ts | 73 +-
.../shared/time-picker/time-picker.component.scss | 3 +
.../shared/time-picker/time-picker.component.ts | 6 +-
.../login.module.ts => webterminal/index.ts} | 20 +-
.../webterminal.component.html} | 5 +-
.../webterminal.component.scss} | 16 +-
.../src/app/webterminal/webterminal.component.ts | 75 +
.../webapp/src/assets/styles/_general.scss | 18 +-
.../resources/webapp/src/assets/styles/_reset.scss | 3 +-
.../resources/webapp/src/assets/styles/_theme.scss | 193 +-
.../webapp/src/dictionary/aws.dictionary.ts | 1 +
.../webapp/src/dictionary/azure.dictionary.ts | 1 +
.../webapp/src/dictionary/gcp.dictionary.ts | 1 +
.../webapp/src/dictionary/global.dictionary.ts | 4 +-
.../src/main/resources/webapp/src/polyfills.ts | 1 -
.../src/main/resources/webapp/src/styles.scss | 12 +-
.../main/resources/webapp/src/tsconfig.app.json | 8 +-
.../main/resources/webapp/src/tsconfig.spec.json | 20 +-
.../src/main/resources/webapp/tsconfig.json | 16 +-
.../src/main/resources/webapp/tslint.json | 3 +-
.../resources/InfrastructureInfoResourceTest.java | 17 +
.../service/impl/InactivityServiceImplTest.java | 187 -
.../impl/MavenCentralLibraryServiceTest.java | 3 +-
.../service/impl/ReuploadKeyServiceImplTest.java | 10 +-
.../service/impl/SchedulerJobServiceImplTest.java | 99 +-
.../dlab/backendapi/util/RequestBuilderTest.java | 4 -
493 files changed, 23862 insertions(+), 8057 deletions(-)
rename infrastructure-provisioning/src/edge/templates/locations/{emr.conf => dataengine-service.conf} (100%)
copy infrastructure-provisioning/src/general/api/{git_creds.py => check_inactivity.py} (97%)
copy infrastructure-provisioning/src/general/files/{aws => gcp}/tensor-rstudio_Dockerfile (91%)
copy infrastructure-provisioning/src/general/files/gcp/{tensor_description.json => tensor-rstudio_description.json} (73%)
copy infrastructure-provisioning/src/general/scripts/gcp/{rstudio_configure.py => tensor-rstudio_configure.py} (62%)
copy infrastructure-provisioning/src/general/scripts/os/{common_configure_proxy.py => check_inactivity.py} (61%)
copy infrastructure-provisioning/src/general/scripts/os/{notebook_reconfigure_spark.py => notebook_inactivity_check.py} (68%)
copy infrastructure-provisioning/src/general/scripts/{gcp/common_download_git_certfile.py => os/update_inactivity_on_start.py} (76%)
copy infrastructure-provisioning/src/general/templates/os/{notebook_spark-defaults_local.conf => inactive.service} (88%)
create mode 100644 infrastructure-provisioning/src/general/templates/os/inactive.sh
copy infrastructure-provisioning/src/general/templates/os/{notebook_spark-defaults_local.conf => inactive.timer} (88%)
create mode 100644 infrastructure-provisioning/src/general/templates/os/inactive_rs.sh
create mode 100644 infrastructure-provisioning/src/ssn/templates/docker_build.py
delete mode 100644 services/billing-aws/src/test/java/com/epam/dlab/core/parser/ParserStatisticsTest.java
delete mode 100644 services/dlab-auth-common/pom.xml
copy services/dlab-model/src/main/java/com/epam/dlab/{model/systeminfo/DiskInfo.java => dto/InfrastructureMetaInfoDTO.java} (78%)
copy integration-tests/src/main/java/com/epam/dlab/automation/model/DeployClusterDto.java => services/dlab-model/src/main/java/com/epam/dlab/dto/computational/ComputationalCheckInactivityDTO.java (55%)
copy services/{dlab-mongo-migration/src/main/java/com/epam/dlab/migration/DbMigration.java => dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCheckInactivityAction.java} (84%)
delete mode 100644 services/dlab-process/pom.xml
delete mode 100644 services/dlab-process/src/test/java/com/epam/dlab/process/ProcessConveyorTest.java
delete mode 100644 services/dlab-rest-client/pom.xml
delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/AnnotationUtils.java
delete mode 100644 services/dlab-utils/src/main/java/com/epam/dlab/util/ObjectUtils.java
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/SecurityAuthorizer.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/SecurityUnauthorizedHandler.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/UserInfo.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/UserInfoDAO.java (79%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/UserVerificationService.java (95%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/contract/SecurityAPI.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/dto/UserCredentialDTO.java (99%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/oauth2/Oauth2AuthenticationService.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/rest/AbstractAuthenticationService.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/rest/ConfigurableResource.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/rest/UserSessionDurationAuthorizer.java (100%)
rename services/{dlab-auth-common => dlab-webapp-common}/src/main/java/com/epam/dlab/auth/rest/UserSessionDurationCallback.java (100%)
rename services/{dlab-rest-client => dlab-webapp-common}/src/main/java/com/epam/dlab/rest/client/RESTService.java (100%)
rename services/{dlab-rest-client => dlab-webapp-common}/src/main/java/com/epam/dlab/rest/client/RESTServiceFactory.java (100%)
copy services/{self-service/src/main/java/com/epam/dlab/backendapi/service/ExternalLibraryService.java => provisioning-service/src/main/java/com/epam/dlab/backendapi/service/CheckInactivityService.java} (69%)
delete mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/CheckInactivityService.java
create mode 100644 services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/CheckInactivityServiceImpl.java
rename services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/{ReuploadKeyService.java => KeyService.java} (82%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/ProcessConveyor.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/builder/ProcessInfoBuilder.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/exception/DlabProcessException.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/model/DlabProcess.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/model/ProcessId.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/model/ProcessInfo.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/model/ProcessStatus.java (100%)
rename services/{dlab-process => provisioning-service}/src/main/java/com/epam/dlab/process/model/ProcessStep.java (100%)
create mode 100644 services/provisioning-service/src/main/resources/mock_response/aws/dataengine-service_check_inactivity.json
create mode 100644 services/provisioning-service/src/main/resources/mock_response/aws/dataengine_check_inactivity.json
create mode 100644 services/provisioning-service/src/main/resources/mock_response/azure/dataengine-service_check_inactivity.json
create mode 100644 services/provisioning-service/src/main/resources/mock_response/azure/dataengine_check_inactivity.json
create mode 100644 services/provisioning-service/src/main/resources/mock_response/gcp/dataengine-service_check_inactivity.json
create mode 100644 services/provisioning-service/src/main/resources/mock_response/gcp/dataengine_check_inactivity.json
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/CacheableReference.java
create mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/DlabLdapConnectionFactory.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/LdapFilterCache.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/LoginCache.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/LoginConveyor.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/LoginStep.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/core/UserInfoBuilder.java
create mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/LdapUserDAOImpl.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/SearchRequestBuilder.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/filter/SearchResultMapper.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/filter/SearchResultProcessor.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/script/DeepMap.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/script/ScriptHolder.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/dao/script/SearchResultToDictionaryMapper.java
create mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/resources/SynchronousLdapAuthenticationResource.java
delete mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/resources/SynchronousLdapAuthenticationService.java
copy services/{self-service/src/main/java/com/epam/dlab/backendapi/service/GitCredentialService.java => security-service/src/main/java/com/epam/dlab/auth/service/AuthenticationService.java} (74%)
create mode 100644 services/security-service/src/main/java/com/epam/dlab/auth/service/impl/LdapAuthenticationService.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/aws/AwsTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/core/LoginConveyorTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/dao/script/ScriptHolderTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/ldap/AuthTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/ldap/BasicTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/ldap/JsonTest.java
delete mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/ldap/ScriptList.java
create mode 100644 services/security-service/src/test/java/com/epam/dlab/auth/service/impl/LdapAuthenticationServiceTest.java
copy services/self-service/src/main/java/com/epam/dlab/backendapi/resources/dto/{aws/AwsBillingFilter.java => BillingFilter.java} (72%)
delete mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/roles/UserGroup.java
copy services/self-service/src/main/java/com/epam/dlab/backendapi/schedulers/computational/{StopComputationalJob.java => TerminateComputationalJob.java} (70%)
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/GuacamoleService.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleSecurityFilter.java
create mode 100644 services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleServlet.java
delete mode 100644 services/self-service/src/main/resources/webapp/.angular-cli.json
create mode 100644 services/self-service/src/main/resources/webapp/angular.json
create mode 100644 services/self-service/src/main/resources/webapp/package-lock.json
rename services/self-service/src/main/resources/webapp/src/app/core/{util/collections/dictionary => collections}/dictionary.ts (89%)
copy services/self-service/src/main/resources/webapp/src/{environments/environment.prod.ts => app/core/collections/index.ts} (94%)
create mode 100644 services/self-service/src/main/resources/webapp/src/app/core/interceptors/error.interceptor.ts
copy services/self-service/src/main/resources/webapp/src/app/core/{services/appRouting.service.ts => interceptors/http.token.interceptor.ts} (51%)
copy services/self-service/src/main/resources/webapp/src/app/core/{services/appRouting.service.ts => interceptors/nocache.interceptor.ts} (59%)
copy services/self-service/src/main/resources/webapp/src/app/core/services/{appRouting.service.ts => storage.service.ts} (52%)
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/core/util/collections/dictionary/idictionary.ts
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/environment-status.model.ts
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status-grid/health-status-grid.component.html
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status-grid/health-status-grid.component.ts
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status.component.html
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status.component.scss
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status.component.ts
delete mode 100644 services/self-service/src/main/resources/webapp/src/app/health-status/health-status.module.ts
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/backup-dilog/backup-dilog.component.html (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/backup-dilog/backup-dilog.component.scss (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/backup-dilog/backup-dilog.component.ts (97%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-environment/manage-environment-dilog.component.html (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-environment/manage-environment-dilog.component.scss (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-environment/manage-environment-dilog.component.ts (92%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-roles-groups/group-name-validarion.directive.ts (99%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-roles-groups/manage-roles-groups.component.html (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-roles-groups/manage-roles-groups.component.scss (98%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/manage-roles-groups/manage-roles-groups.component.ts (94%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/ssn-monitor/ssn-monitor.component.html (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/ssn-monitor/ssn-monitor.component.scss (100%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status => management}/ssn-monitor/ssn-monitor.component.ts (100%)
copy services/self-service/src/main/resources/webapp/src/app/{core/util/fileUtils.ts => resources/scheduler/scheduler.calculations.ts} (54%)
copy services/self-service/src/main/resources/webapp/src/app/{login/login.module.ts => webterminal/index.ts} (74%)
copy services/self-service/src/main/resources/webapp/src/app/{app.component.html => webterminal/webterminal.component.html} (92%)
rename services/self-service/src/main/resources/webapp/src/app/{health-status/health-status-grid/health-status-grid.component.scss => webterminal/webterminal.component.scss} (81%)
create mode 100644 services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
delete mode 100644 services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/InactivityServiceImplTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 04/12: [DLAB-4]: redirect to terminal with new tab
by notebook ip
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit ad18801246d64cb7cbccf029a91f8f7b9bf36f71
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Tue May 7 17:13:02 2019 +0300
[DLAB-4]: redirect to terminal with new tab by notebook ip
---
.../detail-dialog/detail-dialog.component.html | 168 +++++++++++----------
.../resources/exploratory/detail-dialog/index.ts | 3 +-
2 files changed, 92 insertions(+), 79 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index 1b2ac38..8e9373e 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -18,100 +18,112 @@
-->
<modal-dialog #bindDialog modalClass="detail-dialog modal-lg header-white">
- <modal-header></modal-header>
- <modal-content>
- <div *ngIf="notebook">
- <table class="detail-header">
- <tr>
- <td>{{notebook.template_name}}</td>
- <td>
- <span class="status" ngClass="{{notebook.status || ''}}">
+ <modal-header></modal-header>
+ <modal-content>
+ <div *ngIf="notebook">
+ <table class="detail-header">
+ <tr>
+ <td>{{notebook.template_name}}</td>
+ <td>
+ <span class="status" ngClass="{{notebook.status || ''}}">
{{notebook.status}}
</span>
- </td>
- <td>{{notebook.shape}}</td>
- </tr>
- </table>
- <div class="content-box">
- <div class="detail-info" *ngIf="notebook.error_message">
- <p class="failed">{{ notebook.error_message }}</p>
- </div>
+ </td>
+ <td>{{notebook.shape}}</td>
+ </tr>
+ </table>
+ <div class="content-box">
+ <div class="detail-info" *ngIf="notebook.error_message">
+ <p class="failed">{{ notebook.error_message }}</p>
+ </div>
- <div class="scroll-box" id="scrolling">
- <div class="detail-info" *ngIf="!notebook.error_message">
- <p>Edge Node IP Address {{notebook.ip}}</p>
- <p *ngIf="notebook.status === 'running'">Up time {{upTimeInHours}} hour(s) since {{upTimeSince || "not specified."}}</p>
- <p>Open following URL(s) in your browser to access this box:</p>
- <div class="links_block">
- <p *ngFor="let item of notebook.url">
- <strong class="description">{{item.description}}:  </strong>
- <a class="ellipsis" href="{{item.url}}" target="_blank"> {{item.url}}</a>
- </p>
- </div>
- <p *ngIf="notebook.username">Node User:  <strong>{{ notebook.username }}</strong></p>
- <p *ngIf="notebook.password">Password:  <strong>{{ notebook.password }}</strong></p>
+ <div class="scroll-box" id="scrolling">
+ <div class="detail-info" *ngIf="!notebook.error_message">
+ <p>Edge Node IP Address {{notebook.ip}}</p>
+ <p *ngIf="notebook.status === 'running'">Up time {{upTimeInHours}} hour(s) since
+ {{upTimeSince || "not specified."}}</p>
+ <p>Open following URL(s) in your browser to access this box:</p>
+ <div class="links_block">
+ <p *ngFor="let item of notebook.url">
+ <strong class="description">{{item.description}}:  </strong>
+ <a class="ellipsis" href="{{item.url}}" target="_blank"> {{item.url}}</a>
+ </p>
+ </div>
+ <p *ngIf="notebook.username">Node User:  <strong>{{ notebook.username }}</strong></p>
+ <p *ngIf="notebook.password">Password:  <strong>{{ notebook.password }}</strong></p>
- <p class="m-top-30">{{ DICTIONARY.personal_storage }}:  </p>
- <div class="links_block">
- <p *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.account_name">{{ DICTIONARY.account }}
- <strong>{{ notebook.account_name}}</strong></p>
- <p *ngIf="notebook.bucket_name">{{ DICTIONARY.container }} <strong>{{ notebook.bucket_name }}</strong></p>
- </div>
- <p>{{ DICTIONARY.collaboration_storage }}:  </p>
- <div class="links_block">
- <p *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.shared_account_name">{{ DICTIONARY.account }}
- <strong>{{ notebook.shared_account_name}}</strong></p>
- <p *ngIf="notebook.shared_bucket_name">{{ DICTIONARY.container }}
- <strong>{{ notebook.shared_bucket_name }}</strong></p>
- </div>
- <br />
+ <p class="m-top-30">{{ DICTIONARY.personal_storage }}:  </p>
+ <div class="links_block">
+ <p *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.account_name">{{ DICTIONARY.account }}
+ <strong>{{ notebook.account_name}}</strong></p>
+ <p *ngIf="notebook.bucket_name">{{ DICTIONARY.container }} <strong>{{ notebook.bucket_name }}</strong></p>
+ </div>
+ <p>{{ DICTIONARY.collaboration_storage }}:  </p>
+ <div class="links_block">
+ <p *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.shared_account_name">{{ DICTIONARY.account }}
+ <strong>{{ notebook.shared_account_name}}</strong></p>
+ <p *ngIf="notebook.shared_bucket_name">{{ DICTIONARY.container }}
+ <strong>{{ notebook.shared_bucket_name }}</strong></p>
+ </div>
+ <br />
- <div *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.datalake_name">
- <p>Data Lake Store:  </p>
- <div class="links_block">
- <p>Data Lake Store Account:  <strong>{{ notebook.datalake_name }}</strong></p>
- <p>Personal folder:  <strong>{{ notebook.datalake_directory }}</strong></p>
- <p>Collaboration folder:  <strong>{{ notebook.datalake_shared_directory }}</strong></p>
- </div>
- </div>
+ <div *ngIf="DICTIONARY.cloud_provider === 'azure' && notebook.datalake_name">
+ <p>Data Lake Store:  </p>
+ <div class="links_block">
+ <p>Data Lake Store Account:  <strong>{{ notebook.datalake_name }}</strong></p>
+ <p>Personal folder:  <strong>{{ notebook.datalake_directory }}</strong></p>
+ <p>Collaboration folder:  <strong>{{ notebook.datalake_shared_directory }}</strong></p>
+ </div>
+ </div>
- <p>
- <a href="#/help/accessnotebookguide" target="_blank">
- <small class="helper_instruction">
+ <p>
+ <a href="#/help/accessnotebookguide" target="_blank">
+ <small class="helper_instruction">
<i class="material-icons">help_outline</i>
Read instruction how to create the tunnel</small>
- </a>
- </p>
- </div>
+ </a>
+ </p>
+ </div>
- <div class="checkbox-group" *ngIf="notebook.image !== 'docker.dlab-zeppelin'; else not_support" [hidden]="notebook.status !== 'running'">
- <label>
+ <div class="checkbox-group" *ngIf="notebook.image !== 'docker.dlab-zeppelin'; else not_support"
+ [hidden]="notebook.status !== 'running'">
+ <label>
<input #configurationNode type="checkbox" (change)="selectConfiguration()" /> Cluster configurations
</label>
- <div class="checkbox-group">
- <form [formGroup]="configurationForm" novalidate>
- <div class="config-details" *ngIf="configuration?.nativeElement['checked'] || false">
- <textarea formControlName="configuration_parameters" id="config" placeholder="Cluster configuration template, JSON" data-gramm_editor="false"></textarea>
- <span class="danger_color" *ngIf="!configurationForm.controls.configuration_parameters.valid && configurationForm.controls['configuration_parameters'].dirty">Configuration
+ <div class="checkbox-group">
+ <form [formGroup]="configurationForm" novalidate>
+ <div class="config-details" *ngIf="configuration?.nativeElement['checked'] || false">
+ <textarea formControlName="configuration_parameters" id="config"
+ placeholder="Cluster configuration template, JSON" data-gramm_editor="false"></textarea>
+ <span class="danger_color"
+ *ngIf="!configurationForm.controls.configuration_parameters.valid && configurationForm.controls['configuration_parameters'].dirty">Configuration
parameters is not in a valid format</span>
- </div>
- </form>
- </div>
- </div>
- <ng-template #not_support>
- <small [hidden]="notebook.status !== 'running'">Spark default configuration for Apache Zeppelin can not be
+ </div>
+ </form>
+ </div>
+ </div>
+ <ng-template #not_support>
+ <small [hidden]="notebook.status !== 'running'">Spark default configuration for Apache Zeppelin can not be
changed from DLab UI. Currently it can be done directly through Apache Zeppelin interpreter menu.
For more details please refer for Apache Zeppelin <a
href="https://zeppelin.apache.org/docs/0.8.0/usage/interpreter/overview.html" target="_blank">official
documentation</a>.
</small>
- </ng-template>
- <div [scrollTo]="configuration?.nativeElement['checked'] || false" class="text-center m-top-20 m-bott-10" *ngIf="(configuration?.nativeElement['checked'] || false) && notebook.status === 'running'">
- <button mat-raised-button type="button" (click)="bindDialog.close()" class="butt action">Cancel</button>
- <button mat-raised-button type="submit" [disabled]="!configurationForm.valid" class="butt butt-success action" [ngClass]="{'not-allowed': !configurationForm.valid}" (click)="editClusterConfiguration(configurationForm.value)">Update</button>
- </div>
- </div>
- </div>
+ </ng-template>
+ <div [scrollTo]="configuration?.nativeElement['checked'] || false" class="text-center m-top-20 m-bott-10"
+ *ngIf="(configuration?.nativeElement['checked'] || false) && notebook.status === 'running'">
+ <button mat-raised-button type="button" (click)="bindDialog.close()" class="butt action">Cancel</button>
+ <button mat-raised-button type="submit" [disabled]="!configurationForm.valid"
+ class="butt butt-success action" [ngClass]="{'not-allowed': !configurationForm.valid}"
+ (click)="editClusterConfiguration(configurationForm.value)">Update</button>
+ </div>
+ </div>
+
+ <div>
+ <label>Terminal: </label>
+ <a target="_blank" [routerLink]="['/terminal', notebook.ip]" mat-raised-button type="button" class="butt action">Open terminal</a>
</div>
- </modal-content>
+ </div>
+ </div>
+ </modal-content>
</modal-dialog>
\ No newline at end of file
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
index 12fecee..0a7bcac 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
@@ -20,7 +20,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-
+import { RouterModule } from '@angular/router';
import { ModalModule } from '../../../shared';
import { MaterialModule } from '../../../shared/material.module';
import { DetailDialogComponent } from './detail-dialog.component';
@@ -34,6 +34,7 @@ export * from './detail-dialog.component';
ModalModule,
FormsModule,
ReactiveFormsModule,
+ RouterModule,
MaterialModule,
DirectivesModule
],
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 12/12: [DLAB-583]: added meta data fixes
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit fbeb3338b548b040dfce11fb4f4aa8eda02de8e1
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Fri Apr 26 15:15:32 2019 +0300
[DLAB-583]: added meta data fixes
---
.../src/app/shared/navbar/navbar.component.html | 23 ++++++++++++++++++----
.../src/app/shared/navbar/navbar.component.scss | 13 +++++++++---
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
index d13c23e..914edbc 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
@@ -42,13 +42,28 @@
<a *ngIf="healthStatus.status" [routerLink]="['/environment_management']" class="statusbar">
<span class="material-icons" ngClass="{{healthStatus.status || ''}}">radio_button_checked</span>
</a>
- <a *ngIf="metadata" class="statusbar" #info (click)="actions.toggle($event, info)">
- <span class="material-icons meta">share</span>
+ <!-- *ngIf="metadata" -->
+ <a class="statusbar" #info (click)="actions.toggle($event, info)">
+ <span class="material-icons meta">info</span>
</a>
<bubble-up #actions class="list-menu" position="bottom-right">
<div class="app-info">
- <p><strong>Version: </strong> {{ metadata?.version }}</p>
- <p><strong>Branch: </strong> {{ metadata?.branch }}</p>
+ <p>
+ <strong>Version: </strong>
+ <span class="ellipsis">{{ metadata?.version }}</span>
+ </p>
+ <p>
+ <strong>Branch: </strong>
+ <span class="ellipsis">{{ metadata?.branch }}</span>
+ </p>
+ <p>
+ <strong>Revision: </strong>
+ <span class="ellipsis">{{ metadata?.commmit }}</span>
+ </p>
+ <p>
+ <strong>Release notes: </strong>
+ <span class="ellipsis">{{ metadata?.release_notes }}</span>
+ </p>
</div>
</bubble-up>
<button class="btn btn-logout" (click)="logout_btnClick()">Log out <span class="user-name">{{currentUserName}}</span></button>
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
index e79d196..cc52dc6 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
@@ -45,7 +45,7 @@
.statusbar {
display: flex;
- width: 60px;
+ width: 50px;
height: 46px;
text-decoration: none;
justify-content: center;
@@ -70,9 +70,9 @@
}
}
.meta {
- color: #fff;
+ color: #c7d4d6;
&:hover {
- color: #c7d4d6;
+ color: #fff;
}
}
}
@@ -100,6 +100,13 @@
color: #455c74;
font-size: 16px;
font-weight: 600;
+ width: 120px;
+ display: inline-block;
+ }
+ span {
+ width: 180px;
+ display: inline-block;
+ vertical-align: bottom;
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 10/12: DLAB-2 disabled gzip handler for guacamole
servlet
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 4e70035fc481446185d8dc959884c5b16005805a
Author: bhliva <bo...@epam.com>
AuthorDate: Tue May 7 13:47:24 2019 +0300
DLAB-2 disabled gzip handler for guacamole servlet
---
.../dlab/backendapi/resources/base/KeyResource.java | 4 +---
services/self-service/self-service.yml | 2 --
.../epam/dlab/backendapi/SelfServiceApplication.java | 19 ++++++++++++++++++-
3 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
index fcacef0..bbff7b9 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
@@ -46,13 +46,11 @@ public class KeyResource {
private final KeyService keyService;
private final ProvisioningServiceApplicationConfiguration configuration;
- private final String keyContent;
@Inject
public KeyResource(KeyService keyService, ProvisioningServiceApplicationConfiguration configuration) {
this.keyService = keyService;
this.configuration = configuration;
- this.keyContent = keyService.getAdminKey();
}
@@ -69,7 +67,7 @@ public class KeyResource {
@GET
public String getAdminKey(@Auth UserInfo userInfo) {
- return keyContent;
+ return keyService.getAdminKey();
}
private void replaceKeyfile(ReuploadKeyDTO dto) throws IOException {
diff --git a/services/self-service/self-service.yml b/services/self-service/self-service.yml
index 8ae3c02..6e25287 100644
--- a/services/self-service/self-service.yml
+++ b/services/self-service/self-service.yml
@@ -67,8 +67,6 @@ maxSessionDurabilityMilliseconds: 288000000
</#if>
server:
- gzip:
- enabled: false
requestLog:
appenders:
- type: file
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
index 1a8f59b..979464f 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
@@ -48,11 +48,15 @@ import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.forms.MultiPartBundle;
import io.dropwizard.jersey.setup.JerseyEnvironment;
+import io.dropwizard.jetty.BiDiGzipHandler;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import io.federecio.dropwizard.swagger.SwaggerBundle;
import io.federecio.dropwizard.swagger.SwaggerBundleConfiguration;
import lombok.extern.slf4j.Slf4j;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.handler.HandlerWrapper;
import javax.servlet.DispatcherType;
import java.util.EnumSet;
@@ -62,6 +66,7 @@ import java.util.EnumSet;
*/
@Slf4j
public class SelfServiceApplication extends Application<SelfServiceApplicationConfiguration> {
+ private static final String GUACAMOLE_SERVLET_PATH = "/api/tunnel";
private static Injector appInjector;
public static Injector getInjector() {
@@ -110,6 +115,7 @@ public class SelfServiceApplication extends Application<SelfServiceApplicationCo
new RestoreHandlerStartupListener(injector.getInstance(Key.get(RESTService.class,
Names.named(ServiceConsts.PROVISIONING_SERVICE_NAME))));
environment.lifecycle().addServerLifecycleListener(restoreHandlerStartupListener);
+ environment.lifecycle().addServerLifecycleListener(this::disableGzipHandlerForGuacamoleServlet);
environment.lifecycle().manage(injector.getInstance(IndexCreator.class));
environment.lifecycle().manage(injector.getInstance(EnvStatusListener.class));
environment.lifecycle().manage(injector.getInstance(ExploratoryLibCache.class));
@@ -120,7 +126,7 @@ public class SelfServiceApplication extends Application<SelfServiceApplicationCo
final String guacamoleServletName = "GuacamoleServlet";
environment.servlets().addServlet(guacamoleServletName, injector.getInstance(GuacamoleServlet.class))
- .addMapping("/api/tunnel");
+ .addMapping(GUACAMOLE_SERVLET_PATH);
environment.servlets().addFilter("GuacamoleSecurityFilter",
injector.getInstance(GuacamoleSecurityFilter.class))
.addMappingForServletNames(EnumSet.allOf(DispatcherType.class), true, guacamoleServletName);
@@ -169,6 +175,17 @@ public class SelfServiceApplication extends Application<SelfServiceApplicationCo
jersey.register(injector.getInstance(ApplicationSettingResource.class));
}
+ private void disableGzipHandlerForGuacamoleServlet(Server server) {
+ Handler handler = server.getHandler();
+ while (handler instanceof HandlerWrapper) {
+ handler = ((HandlerWrapper) handler).getHandler();
+ if (handler instanceof BiDiGzipHandler) {
+ log.debug("Disabling Gzip handler for guacamole servlet");
+ ((BiDiGzipHandler) handler).setExcludedPaths(GUACAMOLE_SERVLET_PATH);
+ }
+ }
+ }
+
private void applyMongoMigration(SelfServiceApplicationConfiguration configuration) {
final MongoServiceFactory mongoFactory = configuration.getMongoFactory();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 01/12: DLAB-000 fixed merge conflicts
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 0fb6b6bf0ae976e22d4bb8807421f1ed89c2cef4
Merge: d052709 7f6f1a0
Author: bhliva <bo...@epam.com>
AuthorDate: Thu Jul 25 12:53:19 2019 +0300
DLAB-000 fixed merge conflicts
README.md | 180 +-
USER_GUIDE.md | 2 +-
infrastructure-provisioning/scripts/deploy_dlab.py | 1 +
infrastructure-provisioning/scripts/deploy_ldap.sh | 26 +-
infrastructure-provisioning/src/base/entrypoint.py | 4 +
.../src/base/scripts/install_prerequisites.py | 7 +-
.../src/dataengine/scripts/configure_dataengine.py | 8 +-
.../src/deeplearning/fabfile.py | 16 +
.../scripts/configure_deep_learning_node.py | 7 +-
.../edge/scripts/configure_nginx_reverse_proxy.py | 3 +-
.../{emr.conf => dataengine-service.conf} | 0
.../src/edge/templates/nginx.conf | 8 +-
.../check_inactivity.py} | 65 +-
.../src/general/conf/dlab.ini | 2 +
.../files/aws/dataengine-service_Dockerfile | 3 +
.../src/general/files/aws/dataengine_Dockerfile | 1 +
.../src/general/files/aws/deeplearning_Dockerfile | 3 +
.../src/general/files/aws/jupyter_Dockerfile | 3 +
.../src/general/files/aws/rstudio_Dockerfile | 3 +
.../src/general/files/aws/ssn_Dockerfile | 2 +-
.../src/general/files/aws/ssn_policy.json | 3 +-
.../general/files/aws/tensor-rstudio_Dockerfile | 3 +
.../src/general/files/aws/tensor_Dockerfile | 3 +
.../src/general/files/aws/tensor_description.json | 2 +-
.../src/general/files/aws/zeppelin_Dockerfile | 3 +
.../src/general/files/azure/base_Dockerfile | 1 +
.../src/general/files/azure/dataengine_Dockerfile | 1 +
.../general/files/azure/deeplearning_Dockerfile | 3 +
.../src/general/files/azure/jupyter_Dockerfile | 4 +
.../src/general/files/azure/rstudio_Dockerfile | 3 +
.../src/general/files/azure/ssn_Dockerfile | 1 +
.../src/general/files/azure/tensor_Dockerfile | 3 +
.../src/general/files/azure/zeppelin_Dockerfile | 3 +
.../src/general/files/gcp/base_Dockerfile | 1 +
.../files/gcp/dataengine-service_Dockerfile | 5 +-
.../files/gcp/dataengine-service_description.json | 5 +-
.../src/general/files/gcp/dataengine_Dockerfile | 3 +-
.../general/files/gcp/dataengine_description.json | 1 -
.../src/general/files/gcp/deeplearning_Dockerfile | 3 +
.../src/general/files/gcp/jupyter_Dockerfile | 3 +
.../src/general/files/gcp/jupyter_description.json | 1 -
.../src/general/files/gcp/rstudio_Dockerfile | 3 +
.../src/general/files/gcp/rstudio_description.json | 1 -
.../src/general/files/gcp/ssn_Dockerfile | 1 +
.../src/general/files/gcp/ssn_policy.json | 7 +-
.../src/general/files/gcp/ssn_roles.json | 3 +-
.../files/{aws => gcp}/tensor-rstudio_Dockerfile | 5 +-
...iption.json => tensor-rstudio_description.json} | 6 +-
.../src/general/files/gcp/tensor_Dockerfile | 3 +
.../src/general/files/gcp/tensor_description.json | 6 +-
.../src/general/files/gcp/zeppelin_Dockerfile | 3 +
.../general/files/gcp/zeppelin_description.json | 1 -
.../src/general/lib/aws/actions_lib.py | 409 +-
.../src/general/lib/aws/meta_lib.py | 5 +-
.../src/general/lib/azure/actions_lib.py | 45 +-
.../src/general/lib/gcp/actions_lib.py | 124 +-
.../src/general/lib/gcp/meta_lib.py | 80 +-
.../src/general/lib/os/debian/common_lib.py | 15 +
.../src/general/lib/os/debian/notebook_lib.py | 39 -
.../src/general/lib/os/fab.py | 25 +
.../src/general/lib/os/redhat/common_lib.py | 19 +-
.../src/general/lib/os/redhat/notebook_lib.py | 46 -
.../general/scripts/aws/common_create_bucket.py | 3 +-
.../scripts/aws/common_create_role_policy.py | 5 +-
.../general/scripts/aws/common_create_subnet.py | 11 +-
.../aws/common_notebook_configure_dataengine.py | 6 +-
.../general/scripts/aws/common_start_notebook.py | 14 +
.../scripts/aws/dataengine-service_configure.py | 9 +-
.../general/scripts/aws/dataengine_configure.py | 11 +-
.../src/general/scripts/aws/dataengine_start.py | 52 +-
.../general/scripts/aws/deeplearning_configure.py | 20 +-
.../scripts/aws/edge_associate_elastic_ip.py | 7 +-
.../src/general/scripts/aws/edge_configure.py | 2 +-
.../src/general/scripts/aws/edge_prepare.py | 87 +-
.../src/general/scripts/aws/jupyter_configure.py | 30 +-
.../jupyter_dataengine-service_create_configs.py | 2 +
.../src/general/scripts/aws/rstudio_configure.py | 18 +-
.../scripts/aws/ssn_associate_elastic_ip.py | 7 +-
.../src/general/scripts/aws/ssn_configure.py | 60 +-
.../src/general/scripts/aws/ssn_create_vpc.py | 5 +
.../src/general/scripts/aws/ssn_prepare.py | 112 +-
.../scripts/aws/tensor-rstudio_configure.py | 22 +-
.../src/general/scripts/aws/tensor_configure.py | 18 +-
.../src/general/scripts/aws/zeppelin_configure.py | 28 +-
.../azure/common_notebook_configure_dataengine.py | 5 +-
.../general/scripts/azure/common_start_notebook.py | 14 +
.../general/scripts/azure/dataengine_configure.py | 90 +-
.../src/general/scripts/azure/dataengine_start.py | 20 +
.../scripts/azure/deeplearning_configure.py | 106 +-
.../src/general/scripts/azure/edge_configure.py | 67 +-
.../src/general/scripts/azure/edge_prepare.py | 35 +-
.../src/general/scripts/azure/jupyter_configure.py | 79 +-
.../src/general/scripts/azure/rstudio_configure.py | 78 +-
.../src/general/scripts/azure/ssn_configure.py | 2 +
.../src/general/scripts/azure/tensor_configure.py | 83 +-
.../general/scripts/azure/zeppelin_configure.py | 91 +-
.../general/scripts/gcp/common_create_instance.py | 7 +-
.../gcp/common_notebook_configure_dataengine.py | 6 +-
.../general/scripts/gcp/common_prepare_notebook.py | 38 +-
.../general/scripts/gcp/common_start_notebook.py | 14 +
.../general/scripts/gcp/common_stop_notebook.py | 17 +-
.../scripts/gcp/common_terminate_notebook.py | 14 +-
.../scripts/gcp/dataengine-service_configure.py | 79 +-
.../scripts/gcp/dataengine-service_jars_parser.py | 14 +-
.../general/scripts/gcp/dataengine_configure.py | 71 +-
.../src/general/scripts/gcp/dataengine_prepare.py | 2 +-
.../src/general/scripts/gcp/dataengine_start.py | 22 +
.../general/scripts/gcp/deeplearning_configure.py | 83 +-
.../src/general/scripts/gcp/edge_configure.py | 43 +-
.../src/general/scripts/gcp/edge_prepare.py | 8 +-
.../src/general/scripts/gcp/jupyter_configure.py | 83 +-
.../src/general/scripts/gcp/rstudio_configure.py | 95 +-
.../src/general/scripts/gcp/ssn_configure.py | 3 +
.../src/general/scripts/gcp/ssn_prepare.py | 6 +-
.../scripts/gcp/ssn_terminate_gcp_resources.py | 10 +
...io_configure.py => tensor-rstudio_configure.py} | 123 +-
.../src/general/scripts/gcp/tensor_configure.py | 92 +-
.../src/general/scripts/gcp/zeppelin_configure.py | 93 +-
.../check_inactivity.py} | 56 +-
.../general/scripts/os/common_clean_instance.py | 4 +
.../scripts/os/common_configure_reverse_proxy.py | 8 +-
.../general/scripts/os/common_configure_spark.py | 20 +-
.../os/deeplearning_install_dataengine_kernels.py | 5 +
.../os/jupyter_install_dataengine_kernels.py | 5 +
.../scripts/os/notebook_inactivity_check.py | 73 +
.../os/rstudio_install_dataengine_kernels.py | 5 +
.../tensor-rstudio_install_dataengine_kernels.py | 5 +
.../os/tensor_install_dataengine_kernels.py | 5 +
.../update_inactivity_on_start.py} | 40 +-
.../os/zeppelin_install_dataengine_kernels.py | 5 +
.../gcp/jenkins_jobs/create_data_engine/config.xml | 4 +-
.../create_dataengine-service/config.xml | 5 +-
.../jenkins_jobs/create_notebook_server/config.xml | 2 +-
.../jenkins_jobs/start_notebook_server/config.xml | 1 +
.../jenkins_jobs/stop_notebook_server/config.xml | 1 +
.../terminate_notebook_server/config.xml | 1 +
.../os/inactive.service} | 19 +-
.../src/general/templates/os/inactive.sh | 49 +
.../os/inactive.timer} | 21 +-
.../src/general/templates/os/inactive_rs.sh | 48 +
infrastructure-provisioning/src/jupyter/fabfile.py | 16 +
.../src/jupyter/scripts/configure_jupyter_node.py | 5 +
infrastructure-provisioning/src/rstudio/fabfile.py | 16 +
.../src/rstudio/scripts/configure_rstudio_node.py | 7 +-
.../src/ssn/files/gcp/mongo_roles.json | 32 +-
.../src/ssn/scripts/configure_docker.py | 44 +
.../src/ssn/scripts/configure_ssn_node.py | 14 +-
.../src/ssn/templates/docker_build.py | 73 +
.../src/tensor-rstudio/fabfile.py | 16 +
.../scripts/configure_tensor-rstudio_node.py | 5 +
infrastructure-provisioning/src/tensor/fabfile.py | 16 +
.../src/tensor/scripts/configure_tensor_node.py | 5 +
.../src/zeppelin/fabfile.py | 16 +
.../zeppelin/scripts/configure_zeppelin_node.py | 5 +
.../deeplearning/deeplearning-notebook.json | 4 +-
.../azure_templates/jupyter/jupyter-notebook.json | 4 +-
.../azure_templates/rstudio/rstudio-notebook.json | 4 +-
.../examples/ec2_templates/deeplearning/EMR.json | 2 +-
.../ec2_templates/deeplearning/EMR_spot.json | 2 +-
.../deeplearning/deeplearning-notebook.json | 4 +-
.../examples/ec2_templates/jupyter/EMR.json | 2 +-
.../examples/ec2_templates/jupyter/EMR_spot.json | 2 +-
.../ec2_templates/jupyter/jupyter-notebook.json | 4 +-
.../examples/ec2_templates/rstudio/EMR.json | 2 +-
.../examples/ec2_templates/rstudio/EMR_spot.json | 2 +-
.../ec2_templates/rstudio/rstudio-notebook.json | 4 +-
.../examples/ec2_templates/tensor/EMR.json | 2 +-
.../examples/ec2_templates/tensor/EMR_spot.json | 2 +-
.../examples/ec2_templates/zeppelin/EMR.json | 2 +-
.../examples/ec2_templates/zeppelin/EMR_spot.json | 2 +-
.../gcp_templates/deeplearning/dataproc.json | 6 +-
.../examples/gcp_templates/jupyter/dataproc.json | 6 +-
.../examples/gcp_templates/rstudio/dataproc.json | 6 +-
.../examples/gcp_templates/tensor/dataproc.json | 6 +-
.../examples/gcp_templates/zeppelin/dataproc.json | 6 +-
.../epam/dlab/automation/test/TestServices.java | 4 +-
pom.xml | 12 +-
.../com/epam/dlab/mongo/DlabResourceTypeDAO.java | 7 +-
.../dlab/core/parser/ParserStatisticsTest.java | 64 -
.../epam/dlab/auth/conf/GcpLoginConfiguration.java | 2 +-
services/dlab-auth-common/pom.xml | 56 -
.../epam/dlab/dto/InfrastructureMetaInfoDTO.java} | 17 +-
.../java/com/epam/dlab/dto/SchedulerJobDTO.java | 7 +
.../SparkComputationalCreateAzure.java | 8 -
.../exploratory/ExploratoryActionStartAzure.java | 76 +-
.../azure/exploratory/ExploratoryCreateAzure.java | 16 -
.../com/epam/dlab/dto/base/DataEngineType.java | 54 +-
.../computational/CheckInactivityStatusDTO.java | 30 +-
...O.java => ComputationalCheckInactivityDTO.java} | 45 +-
.../ExploratoryCheckInactivityAction.java} | 7 +-
.../dlab/dto/exploratory/ExploratoryStatusDTO.java | 12 +
.../ComputationalResourceShapeDto.java | 198 +-
services/dlab-process/pom.xml | 60 -
.../com/epam/dlab/process/ProcessConveyorTest.java | 225 -
services/dlab-rest-client/pom.xml | 42 -
.../java/com/epam/dlab/util/AnnotationUtils.java | 61 -
.../main/java/com/epam/dlab/util/ObjectUtils.java | 49 -
services/dlab-webapp-common/pom.xml | 18 +-
.../com/epam/dlab/auth/SecurityAuthorizer.java | 0
.../dlab/auth/SecurityUnauthorizedHandler.java | 0
.../src/main/java/com/epam/dlab/auth/UserInfo.java | 0
.../main/java/com/epam/dlab/auth/UserInfoDAO.java | 10 +-
.../epam/dlab/auth/UserVerificationService.java | 2 +-
.../com/epam/dlab/auth/contract/SecurityAPI.java | 0
.../com/epam/dlab/auth/dto/UserCredentialDTO.java | 1 -
.../auth/oauth2/Oauth2AuthenticationService.java | 0
.../auth/rest/AbstractAuthenticationService.java | 0
.../epam/dlab/auth/rest/ConfigurableResource.java | 0
.../auth/rest/UserSessionDurationAuthorizer.java | 0
.../auth/rest/UserSessionDurationCallback.java | 0
.../com/epam/dlab/rest/client/RESTService.java | 0
.../epam/dlab/rest/client/RESTServiceFactory.java | 0
.../com/epam/dlab/rest/contracts/ApiCallbacks.java | 4 +-
.../dlab/rest/contracts/InfrasctructureAPI.java | 3 +-
services/provisioning-service/pom.xml | 10 +-
services/provisioning-service/provisioning.yml | 2 +-
.../epam/dlab/backendapi/core/DockerWarmuper.java | 2 +-
.../backendapi/core/commands/RunDockerCommand.java | 8 +-
.../handlers/CheckInactivityCallbackHandler.java | 94 +-
.../dlab/backendapi/modules/ProductionModule.java | 3 +
.../backendapi/modules/ProvisioningDevModule.java | 19 +-
.../resources/InfrastructureResource.java | 19 +-
.../service/CheckInactivityService.java} | 10 +-
.../service/impl/CheckInactivityService.java | 103 -
.../service/impl/CheckInactivityServiceImpl.java | 114 +
.../backendapi/service/impl/DockerService.java | 3 +
.../com/epam/dlab/process/ProcessConveyor.java | 6 +-
.../dlab/process/builder/ProcessInfoBuilder.java | 0
.../process/exception/DlabProcessException.java | 0
.../com/epam/dlab/process/model/DlabProcess.java | 0
.../com/epam/dlab/process/model/ProcessId.java | 0
.../com/epam/dlab/process/model/ProcessInfo.java | 0
.../com/epam/dlab/process/model/ProcessStatus.java | 0
.../com/epam/dlab/process/model/ProcessStep.java | 0
.../aws/dataengine-service_check_inactivity.json | 8 +
.../aws/dataengine_check_inactivity.json | 8 +
.../aws/notebook_check_inactivity.json | 16 +-
.../azure/dataengine-service_check_inactivity.json | 8 +
.../azure/dataengine_check_inactivity.json | 8 +
.../azure/notebook_check_inactivity.json | 22 +-
.../gcp/dataengine-service_check_inactivity.json | 8 +
.../gcp/dataengine_check_inactivity.json | 8 +
.../gcp/notebook_check_inactivity.json | 22 +-
.../dlab/backendapi/core/DockerWarmuperTest.java | 4 +-
services/security-aws/pom.xml | 7 +-
.../aws/service/AwsUserVerificationService.java | 16 +-
services/security-azure/pom.xml | 4 -
.../auth/azure/AzureAuthenticationResource.java | 14 +-
services/security-gcp/pom.xml | 15 +-
.../auth/gcp/service/GcpAuthenticationService.java | 2 +-
services/security-service/pom.xml | 6 +
services/security-service/security.yml | 112 +-
.../dlab/auth/SecurityServiceConfiguration.java | 39 +-
.../epam/dlab/auth/core/CacheableReference.java | 56 -
.../epam/dlab/auth/core/DlabLdapConnection.java | 2 +-
.../dlab/auth/core/DlabLdapConnectionFactory.java | 49 +
.../com/epam/dlab/auth/core/LdapFilterCache.java | 79 -
.../java/com/epam/dlab/auth/core/LoginCache.java | 83 -
.../com/epam/dlab/auth/core/LoginConveyor.java | 67 -
.../java/com/epam/dlab/auth/core/LoginStep.java | 47 -
.../com/epam/dlab/auth/core/UserInfoBuilder.java | 197 -
.../java/com/epam/dlab/auth/dao/LdapUserDAO.java | 189 +-
.../com/epam/dlab/auth/dao/LdapUserDAOImpl.java | 165 +
.../main/java/com/epam/dlab/auth/dao/Request.java | 92 +-
.../epam/dlab/auth/dao/UserInfoDAODumbImpl.java | 6 +-
.../epam/dlab/auth/dao/UserInfoDAOMongoImpl.java | 85 +-
.../auth/dao/filter/SearchResultProcessor.java | 68 -
.../com/epam/dlab/auth/dao/script/DeepMap.java | 57 -
.../epam/dlab/auth/dao/script/ScriptHolder.java | 59 -
.../dao/script/SearchResultToDictionaryMapper.java | 98 -
.../auth/modules/AwsSecurityServiceModule.java | 4 +-
.../auth/modules/AzureSecurityServiceModule.java | 4 +-
.../auth/modules/GcpSecurityServiceModule.java | 8 +-
.../dlab/auth/modules/SecurityServiceModule.java | 13 +-
.../SynchronousLdapAuthenticationResource.java | 80 +
.../SynchronousLdapAuthenticationService.java | 186 -
.../AuthenticationService.java} | 17 +-
.../service/impl/LdapAuthenticationService.java | 89 +
.../test/java/com/epam/dlab/auth/aws/AwsTest.java | 78 -
.../com/epam/dlab/auth/core/LoginConveyorTest.java | 131 -
.../dlab/auth/dao/script/ScriptHolderTest.java | 65 -
.../java/com/epam/dlab/auth/ldap/BasicTest.java | 116 -
.../java/com/epam/dlab/auth/ldap/JsonTest.java | 84 -
.../java/com/epam/dlab/auth/ldap/ScriptList.java | 76 -
.../impl/LdapAuthenticationServiceTest.java | 139 +
services/self-service/pom.xml | 8 +-
services/self-service/self-service.yml | 14 +-
.../epam/dlab/backendapi/dao/BaseBillingDAO.java | 21 +-
.../com/epam/dlab/backendapi/dao/BillingDAO.java | 4 +-
.../epam/dlab/backendapi/dao/ComputationalDAO.java | 14 +-
.../java/com/epam/dlab/backendapi/dao/EnvDAO.java | 21 +-
.../epam/dlab/backendapi/dao/ExploratoryDAO.java | 33 +-
.../epam/dlab/backendapi/dao/SchedulerJobDAO.java | 62 +-
.../dlab/backendapi/dao/aws/AwsBillingDAO.java | 309 +-
.../dlab/backendapi/dao/azure/AzureBillingDAO.java | 325 +-
.../dlab/backendapi/dao/gcp/GcpBillingDao.java | 5 +-
.../epam/dlab/backendapi/modules/DevModule.java | 16 +-
.../resources/InfrastructureInfoResource.java | 9 +
.../resources/aws/BillingResourceAws.java | 62 +-
.../resources/azure/BillingResourceAzure.java | 2 +-
.../callback/CheckInactivityCallback.java | 40 +-
.../resources/callback/ComputationalCallback.java | 45 +-
.../resources/callback/ExploratoryCallback.java | 3 +-
.../callback/base/KeyUploaderCallback.java | 5 +-
.../AwsBillingFilter.java => BillingFilter.java} | 23 +-
.../backendapi/resources/dto/UserResourceInfo.java | 8 +
.../resources/dto/aws/AwsBillingFilter.java | 17 +-
.../resources/dto/azure/AzureBillingFilter.java | 16 +-
.../com/epam/dlab/backendapi/roles/UserGroup.java | 31 -
.../schedulers/CheckInactivityScheduledJob.java | 12 +-
.../computational/StopComputationalJob.java | 2 -
.../computational/TerminateComputationalJob.java} | 20 +-
.../dlab/backendapi/service/BillingService.java | 73 +-
.../dlab/backendapi/service/InactivityService.java | 15 +-
.../service/InfrastructureInfoService.java | 3 +
.../backendapi/service/SchedulerJobService.java | 5 -
.../backendapi/service/aws/AwsBillingService.java | 10 +-
.../service/azure/AzureBillingService.java | 172 +-
.../service/impl/EnvironmentServiceImpl.java | 3 +-
.../service/impl/InactivityServiceImpl.java | 100 +-
.../impl/InfrastructureInfoServiceBase.java | 15 +
.../service/impl/MavenCentralLibraryService.java | 6 +-
.../service/impl/SchedulerJobServiceImpl.java | 123 +-
.../epam/dlab/backendapi/util/RequestBuilder.java | 1072 +-
.../validation/SchedulerJobDTOValidator.java | 2 +-
.../src/main/resources/webapp/.angular-cli.json | 61 -
.../src/main/resources/webapp/angular.json | 113 +
.../src/main/resources/webapp/package-lock.json | 15497 +++++++++++++++++++
.../src/main/resources/webapp/package.json | 48 +-
.../main/resources/webapp/src/app/app.module.ts | 33 +-
.../resources/webapp/src/app/app.routing.module.ts | 5 -
.../dictionary => collections}/dictionary.ts | 10 +-
.../collections/index.ts} | 8 +-
.../resources/webapp/src/app/core/core.module.ts | 4 +-
.../app/core/directives/click-outside.directive.ts | 20 +-
.../src/app/core/interceptors/error.interceptor.ts | 58 +
.../http.token.interceptor.ts} | 38 +-
.../core/interceptors/httpInterceptor.service.ts | 101 -
.../core/interceptors/logInterceptor.factory.ts | 27 -
.../nocache.interceptor.ts} | 36 +-
...mputationalResourceApplicationTemplate.model.ts | 3 +-
.../models/computationalResourceImage.model.ts | 4 +-
.../models/exploratoryEnvironmentVersion.model.ts | 3 +-
.../app/core/models/resourceShapeTypes.model.ts | 2 +-
.../webapp/src/app/core/pipes/highlight.pipe.ts | 1 -
.../src/app/core/services/appRouting.service.ts | 2 +-
.../core/services/applicationSecurity.service.ts | 199 +-
.../services/applicationServiceFacade.service.ts | 334 +-
.../src/app/core/services/authorization.guard.ts | 17 +-
.../webapp/src/app/core/services/backup.service.ts | 17 +-
.../src/app/core/services/billingReport.service.ts | 15 +-
.../src/app/core/services/checkParams.guard.ts | 26 +-
.../src/app/core/services/cloudProvider.guard.ts | 4 +-
.../services/dataengineConfiguration.service.ts | 25 +-
.../src/app/core/services/healthStatus.service.ts | 120 +-
.../webapp/src/app/core/services/index.ts | 1 +
.../core/services/librariesInstallation.service.ts | 40 +-
.../src/app/core/services/manageUngit.service.ts | 18 +-
.../services/managementEnvironments.service.ts | 15 +-
.../app/core/services/rolesManagement.service.ts | 45 +-
.../src/app/core/services/scheduler.service.ts | 28 +-
.../{appRouting.service.ts => storage.service.ts} | 36 +-
.../src/app/core/services/userAccessKey.service.ts | 41 +-
.../src/app/core/services/userResource.service.ts | 85 +-
.../webapp/src/app/core/util/checkUtils.ts | 9 +
.../util/collections/dictionary/idictionary.ts | 28 -
.../webapp/src/app/core/util/errorUtils.ts | 9 +-
.../webapp/src/app/core/util/fileUtils.ts | 9 +-
.../resources/webapp/src/app/core/util/index.ts | 2 -
.../app/health-status/environment-status.model.ts | 54 -
.../health-status-grid.component.html | 69 -
.../health-status-grid.component.ts | 90 -
.../app/health-status/health-status.component.html | 50 -
.../app/health-status/health-status.component.scss | 37 -
.../app/health-status/health-status.component.ts | 233 -
.../src/app/health-status/health-status.module.ts | 73 -
.../webapp/src/app/login/login.component.css | 8 +-
.../webapp/src/app/login/login.component.ts | 5 +-
.../backup-dilog/backup-dilog.component.html | 0
.../backup-dilog/backup-dilog.component.scss | 0
.../backup-dilog/backup-dilog.component.ts | 2 +-
.../resources/webapp/src/app/management/index.ts | 61 +-
.../manage-environment-dilog.component.html | 0
.../manage-environment-dilog.component.scss | 0
.../manage-environment-dilog.component.ts | 14 +-
.../group-name-validarion.directive.ts | 1 -
.../manage-roles-groups.component.html | 0
.../manage-roles-groups.component.scss | 4 +-
.../manage-roles-groups.component.ts | 12 +-
.../management-grid/management-grid.component.html | 114 +-
.../management-grid/management-grid.component.scss | 3 +
.../management-grid/management-grid.component.ts | 82 +-
.../src/app/management/management.component.html | 35 +-
.../src/app/management/management.component.scss | 8 +-
.../src/app/management/management.component.ts | 248 +-
.../webapp/src/app/management/management.model.ts | 32 +-
.../ssn-monitor/ssn-monitor.component.html | 0
.../ssn-monitor/ssn-monitor.component.scss | 0
.../ssn-monitor/ssn-monitor.component.ts | 0
.../src/main/resources/webapp/src/app/operators.ts | 4 -
.../src/app/reporting/reporting.component.ts | 20 +-
.../webapp/src/app/reporting/reporting.module.ts | 6 +-
.../src/app/reporting/toolbar/toolbar.component.ts | 5 +-
.../cluster-details/cluster-details.component.html | 10 +-
.../cluster-details/cluster-details.component.ts | 15 +-
...utational-resource-create-dialog.component.html | 53 +-
...utational-resource-create-dialog.component.scss | 13 +-
...mputational-resource-create-dialog.component.ts | 39 +-
.../computational-resource-create.model.ts | 2 +-
.../computational-resource-create-dialog/index.ts | 3 -
.../computational-resources-list.component.html | 2 +-
.../computational-resources-list.component.ts | 25 +-
.../ami-create-dialog.component.scss | 7 +-
.../ami-create-dialog.component.ts | 14 +-
.../detail-dialog/detail-dialog.component.html | 169 +-
.../detail-dialog/detail-dialog.component.ts | 16 +-
...ratory-environment-create-dialog.component.html | 2 +-
...loratory-environment-create-dialog.component.ts | 18 +-
.../exploratory-environment-create.model.ts | 2 +-
.../exploratory-environment-create-dialog/index.ts | 3 -
.../exploratory/install-libraries/index.ts | 3 -
.../install-libraries.component.html | 2 +-
.../install-libraries.component.scss | 6 +-
.../install-libraries.component.ts | 61 +-
.../install-libraries/install-libraries.model.ts | 2 +-
.../manage-ungit/manage-ungit.component.html | 9 +-
.../manage-ungit/manage-ungit.component.scss | 9 +-
.../manage-ungit/manage-ungit.component.ts | 20 +-
.../resources/manage-ungit/manage-ungit.model.ts | 2 +-
.../src/app/resources/resources-grid/index.ts | 5 -
.../resources-grid/resources-grid.component.css | 3 +
.../resources-grid/resources-grid.component.html | 12 +-
.../resources-grid/resources-grid.component.ts | 41 +-
.../src/app/resources/resources.component.html | 2 +-
.../src/app/resources/resources.component.ts | 25 +-
.../scheduler/scheduler.calculations.ts} | 34 +-
.../resources/scheduler/scheduler.component.html | 188 +-
.../resources/scheduler/scheduler.component.scss | 82 +-
.../app/resources/scheduler/scheduler.component.ts | 252 +-
.../src/app/resources/scheduler/scheduler.model.ts | 25 +-
.../webapp/src/app/shared/bubble/bubble.service.ts | 2 +-
.../shared/form-controls/dropdowns.component.scss | 7 +
.../confirmation-dialog.component.html | 2 +-
.../confirmation-dialog.component.ts | 22 +-
.../confirmation-dialog.model.ts | 12 +-
.../key-upload-dialog.component.ts | 14 +-
.../key-upload-dialog/key-upload.model.ts | 8 +-
.../app/shared/modal-dialog/modal.component.html | 41 +-
.../app/shared/modal-dialog/modal.component.scss | 25 +-
.../notification-dialog.component.ts | 4 +-
.../webapp/src/app/shared/navbar/index.ts | 5 +-
.../src/app/shared/navbar/navbar.component.html | 29 +-
.../src/app/shared/navbar/navbar.component.scss | 35 +-
.../src/app/shared/navbar/navbar.component.ts | 73 +-
.../shared/time-picker/time-picker.component.scss | 3 +
.../shared/time-picker/time-picker.component.ts | 6 +-
.../webapp/src/assets/styles/_general.scss | 18 +-
.../resources/webapp/src/assets/styles/_reset.scss | 3 +-
.../resources/webapp/src/assets/styles/_theme.scss | 193 +-
.../webapp/src/dictionary/aws.dictionary.ts | 1 +
.../webapp/src/dictionary/azure.dictionary.ts | 1 +
.../webapp/src/dictionary/gcp.dictionary.ts | 1 +
.../webapp/src/dictionary/global.dictionary.ts | 4 +-
.../src/main/resources/webapp/src/polyfills.ts | 1 -
.../src/main/resources/webapp/src/styles.scss | 12 +-
.../main/resources/webapp/src/tsconfig.app.json | 8 +-
.../main/resources/webapp/src/tsconfig.spec.json | 20 +-
.../src/main/resources/webapp/tsconfig.json | 16 +-
.../src/main/resources/webapp/tslint.json | 3 +-
.../resources/InfrastructureInfoResourceTest.java | 17 +
.../service/impl/InactivityServiceImplTest.java | 187 -
.../impl/MavenCentralLibraryServiceTest.java | 3 +-
.../service/impl/SchedulerJobServiceImplTest.java | 99 +-
.../dlab/backendapi/util/RequestBuilderTest.java | 4 -
474 files changed, 23630 insertions(+), 8010 deletions(-)
diff --cc services/self-service/src/main/resources/webapp/package-lock.json
index 0000000,9e0f215..7f36983
mode 000000,100644..100644
--- a/services/self-service/src/main/resources/webapp/package-lock.json
+++ b/services/self-service/src/main/resources/webapp/package-lock.json
@@@ -1,0 -1,15398 +1,15497 @@@
+ {
+ "name": "webapp",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@angular-devkit/architect": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.0.tgz",
+ "integrity": "sha512-oDBrWlfKh/0t2ag4T8gz9xzPMItxfctinlsHxhw7dPQ+etq1mIcWgQkiKiDrz4l46YiGipBRlC55j+6f37omAA==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "7.3.0",
+ "rxjs": "6.3.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/build-angular": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.13.0.tgz",
+ "integrity": "sha512-JjoSXbmwOsuDJxngyChr6aOSZ2qsrvSL1MHwqgXhZswmC/KghBF0aZ7y8Wzr27zDCQ174Axts7+IAk6b+aWIqw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.13.0",
+ "@angular-devkit/build-optimizer": "0.13.0",
+ "@angular-devkit/build-webpack": "0.13.0",
+ "@angular-devkit/core": "7.3.0",
+ "@ngtools/webpack": "7.3.0",
+ "ajv": "6.7.0",
+ "autoprefixer": "9.4.6",
+ "circular-dependency-plugin": "5.0.2",
+ "clean-css": "4.2.1",
+ "copy-webpack-plugin": "4.6.0",
+ "file-loader": "3.0.1",
+ "glob": "7.1.3",
+ "istanbul": "0.4.5",
+ "istanbul-instrumenter-loader": "3.0.1",
+ "karma-source-map-support": "1.3.0",
+ "less": "3.9.0",
+ "less-loader": "4.1.0",
+ "license-webpack-plugin": "2.1.0",
+ "loader-utils": "1.2.3",
+ "mini-css-extract-plugin": "0.5.0",
+ "minimatch": "3.0.4",
+ "node-sass": "4.11.0",
+ "opn": "5.4.0",
+ "parse5": "4.0.0",
+ "postcss": "7.0.14",
+ "postcss-import": "12.0.1",
+ "postcss-loader": "3.0.0",
+ "raw-loader": "1.0.0",
+ "rxjs": "6.3.3",
+ "sass-loader": "7.1.0",
+ "semver": "5.6.0",
+ "source-map-loader": "0.2.4",
+ "source-map-support": "0.5.10",
+ "speed-measure-webpack-plugin": "1.3.0",
+ "stats-webpack-plugin": "0.7.0",
+ "style-loader": "0.23.1",
+ "stylus": "0.54.5",
+ "stylus-loader": "3.0.2",
+ "terser-webpack-plugin": "1.2.1",
+ "tree-kill": "1.2.1",
+ "webpack": "4.29.0",
+ "webpack-dev-middleware": "3.5.1",
+ "webpack-dev-server": "3.1.14",
+ "webpack-merge": "4.2.1",
+ "webpack-sources": "1.3.0",
+ "webpack-subresource-integrity": "1.1.0-rc.6"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "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"
+ }
+ },
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "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-support": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
+ "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==",
+ "dev": true,
+ "requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
++ "buffer-from": "^1.0.0",
++ "source-map": "^0.6.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/build-optimizer": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.0.tgz",
+ "integrity": "sha512-fhWuzbMVV/UNYE7rHSKutrWTCZle34N5cdtFz6qhK1k/wn7Vmtg9cFOwzx0SPdIlOEn576NB4DS/4UG3B5WCUQ==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.2.3",
+ "source-map": "0.5.6",
+ "typescript": "3.2.4",
+ "webpack-sources": "1.3.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ }
+ }
+ },
+ "@angular-devkit/build-webpack": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.13.0.tgz",
+ "integrity": "sha512-idtFoSbQ3Y3WqXlDlU7oTPV9TIU1kjLqce0nK1Kst+t40GTc+Q4iUJJ7KsKE3nV6TPyrL1N/IvIF7+hSJnYm8A==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.13.0",
+ "@angular-devkit/core": "7.3.0",
+ "rxjs": "6.3.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ }
+ }
+ },
+ "@angular-devkit/core": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.0.tgz",
+ "integrity": "sha512-b0qtAUpgqLpWY8W6vWRv1aj6bXkZCP1rvywl8i8TbGMY67CWRcy5J3fNAMmjiZS+LJixFlIXYf4iOydglyJMfg==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.7.0",
+ "chokidar": "2.0.4",
+ "fast-json-stable-stringify": "2.0.0",
+ "rxjs": "6.3.3",
+ "source-map": "0.7.3"
+ },
+ "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.10",
- "normalize-path": "2.1.1"
++ "micromatch": "^3.1.4",
++ "normalize-path": "^2.1.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.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
++ "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.1"
++ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "chokidar": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+ "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.1",
- "is-glob": "4.0.0",
- "lodash.debounce": "4.0.8",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0",
- "upath": "1.1.0"
++ "anymatch": "^2.0.0",
++ "async-each": "^1.0.0",
++ "braces": "^2.3.0",
++ "fsevents": "^1.2.2",
++ "glob-parent": "^3.1.0",
++ "inherits": "^2.0.1",
++ "is-binary-path": "^1.0.0",
++ "is-glob": "^4.0.0",
++ "lodash.debounce": "^4.0.8",
++ "normalize-path": "^2.1.1",
++ "path-is-absolute": "^1.0.0",
++ "readdirp": "^2.0.0",
++ "upath": "^1.0.5"
+ }
+ },
+ "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.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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.6"
++ "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.1"
++ "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.2.2"
++ "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-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.2.2"
++ "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-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.1.0"
++ "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.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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.2"
++ "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.1"
++ "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.1"
++ "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.1"
++ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fsevents": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
+ "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "nan": "2.12.1",
- "node-pre-gyp": "0.10.3"
++ "nan": "^2.9.2",
++ "node-pre-gyp": "^0.10.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
++ "delegates": "^1.0.0",
++ "readable-stream": "^2.0.6"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "balanced-match": "1.0.0",
++ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "minipass": "2.3.5"
++ "minipass": "^2.2.1"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.3"
++ "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"
+ }
+ },
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "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"
+ }
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "safer-buffer": "2.1.2"
++ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "minimatch": "3.0.4"
++ "minimatch": "^3.0.4"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
++ "once": "^1.3.0",
++ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "number-is-nan": "1.0.1"
++ "number-is-nan": "^1.0.0"
+ }
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "brace-expansion": "1.1.11"
++ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "safe-buffer": "5.1.2",
- "yallist": "3.0.3"
++ "safe-buffer": "^5.1.2",
++ "yallist": "^3.0.0"
+ }
+ },
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "minipass": "2.3.5"
++ "minipass": "^2.2.1"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "needle": {
+ "version": "2.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.24",
- "sax": "1.2.4"
++ "debug": "^2.1.2",
++ "iconv-lite": "^0.4.4",
++ "sax": "^1.2.4"
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.10.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.4",
- "nopt": "4.0.1",
- "npm-packlist": "1.2.0",
- "npmlog": "4.1.2",
- "rc": "1.2.8",
- "rimraf": "2.6.3",
- "semver": "5.6.0",
- "tar": "4.4.8"
++ "detect-libc": "^1.0.2",
++ "mkdirp": "^0.5.1",
++ "needle": "^2.2.1",
++ "nopt": "^4.0.1",
++ "npm-packlist": "^1.1.6",
++ "npmlog": "^4.0.2",
++ "rc": "^1.2.7",
++ "rimraf": "^2.6.1",
++ "semver": "^5.3.0",
++ "tar": "^4"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
++ "abbrev": "1",
++ "osenv": "^0.1.4"
+ }
+ },
+ "npm-bundled": {
+ "version": "1.0.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.5"
++ "ignore-walk": "^3.0.1",
++ "npm-bundled": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "are-we-there-yet": "1.1.5",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
++ "are-we-there-yet": "~1.1.2",
++ "console-control-strings": "~1.1.0",
++ "gauge": "~2.7.3",
++ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "wrappy": "1.0.2"
++ "wrappy": "1"
+ }
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
++ "os-homedir": "^1.0.0",
++ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "deep-extend": "0.6.0",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
++ "deep-extend": "^0.6.0",
++ "ini": "~1.3.0",
++ "minimist": "^1.2.0",
++ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.2",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
++ "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"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "glob": "7.1.3"
++ "glob": "^7.1.3"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
++ "code-point-at": "^1.0.0",
++ "is-fullwidth-code-point": "^1.0.0",
++ "strip-ansi": "^3.0.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "safe-buffer": "5.1.2"
++ "safe-buffer": "~5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
++ "optional": true,
+ "requires": {
- "ansi-regex": "2.1.1"
++ "ansi-regex": "^2.0.0"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "chownr": "1.1.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.3.5",
- "minizlib": "1.2.1",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.2",
- "yallist": "3.0.3"
++ "chownr": "^1.1.1",
++ "fs-minipass": "^1.2.5",
++ "minipass": "^2.3.4",
++ "minizlib": "^1.1.1",
++ "mkdirp": "^0.5.0",
++ "safe-buffer": "^5.1.2",
++ "yallist": "^3.0.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
- "string-width": "1.0.2"
++ "string-width": "^1.0.2 || 2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true,
- "dev": true
++ "dev": true,
++ "optional": 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.2"
++ "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.1"
++ "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.2"
++ "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.2"
++ "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-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.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
- "is-extglob": "2.1.1"
++ "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.2.2"
++ "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-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.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "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.2",
- "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.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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"
+ }
+ },
+ "nan": {
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
+ "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+ "dev": true,
+ "optional": true
+ },
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ }
+ }
+ },
+ "@angular-devkit/schematics": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.0.tgz",
+ "integrity": "sha512-glOduymftH0LmJhITWgWUJK8QCDUltgTZ943/OyArIvLXTLL/8zCb+G6xL+3k33EQjwJicgQ3WIjonJmeTK/Ww==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "7.3.0",
+ "rxjs": "6.3.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ }
+ }
+ },
+ "@angular/animations": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.0.0-beta.2.tgz",
+ "integrity": "sha512-Nc6iOJtoUvjKC+yfg+zOZKH/i1J98T+OtBxVSc1usAil21VqhhGyze0/ISsbsYrN4/QH+mH0LMb/tIvPd18hKg==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/cdk": {
+ "version": "6.4.7",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-6.4.7.tgz",
+ "integrity": "sha512-18x0U66fLD5kGQWZ9n3nb75xQouXlWs7kUDaTd8HTrHpT1s2QIAqlLd1KxfrYiVhsEC2jPQaoiae7VnBlcvkBg==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.7.1"
+ }
+ },
+ "@angular/cli": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.0.tgz",
+ "integrity": "sha512-6+NoHsW1MYG7GBHUg71zaWIFeIRps/SVksCmRFCpW0RXqErCQmzf0GZuDTZZ2Yo4RzU01150sVp1R8wEvEZfZQ==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/architect": "0.13.0",
+ "@angular-devkit/core": "7.3.0",
+ "@angular-devkit/schematics": "7.3.0",
+ "@schematics/angular": "7.3.0",
+ "@schematics/update": "0.13.0",
+ "@yarnpkg/lockfile": "1.1.0",
+ "ini": "1.3.5",
+ "inquirer": "6.2.1",
+ "npm-package-arg": "6.1.0",
+ "opn": "5.4.0",
+ "pacote": "9.4.0",
+ "semver": "5.6.0",
+ "symbol-observable": "1.2.0"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ }
+ }
+ },
+ "@angular/common": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-8.0.0-beta.2.tgz",
+ "integrity": "sha512-uF56iPXrvIbQRF6H6Xb18ZY2r4wNOqhbx43oMwxdphWwafzhSWewUbqZGLJ2fAq4k+0s8rVb3bxaklkU9ijFYA==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/compiler": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-8.0.0-beta.2.tgz",
+ "integrity": "sha512-Y4kdZ8GjLF9pkQrz5BRYKvoGMugmB9+GshEcwxsBu2E6TTK8LJeW+6QIJAcSidtL4bTRQAv8XbszluGG17quZg==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/compiler-cli": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-8.0.0-beta.2.tgz",
+ "integrity": "sha512-vOHsane3CcdTFlCDa8VRxTBfsJN3moxaLAu2oBOnILCQZBFfeLPhTOD2Oe5oMEvwwKKWPi/0gHWAKc6TWONZug==",
+ "dev": true,
+ "requires": {
+ "canonical-path": "1.0.0",
- "chokidar": "1.7.0",
- "convert-source-map": "1.6.0",
- "dependency-graph": "0.7.2",
- "magic-string": "0.25.2",
- "minimist": "1.2.0",
- "reflect-metadata": "0.1.13",
- "shelljs": "0.8.3",
- "source-map": "0.6.1",
- "tslib": "1.9.3",
++ "chokidar": "^1.4.2",
++ "convert-source-map": "^1.5.1",
++ "dependency-graph": "^0.7.2",
++ "magic-string": "^0.25.0",
++ "minimist": "^1.2.0",
++ "reflect-metadata": "^0.1.2",
++ "shelljs": "^0.8.1",
++ "source-map": "^0.6.1",
++ "tslib": "^1.9.0",
+ "yargs": "9.0.1"
+ },
+ "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
+ },
+ "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.1.1",
- "shebang-command": "1.2.0",
- "which": "1.3.0"
++ "lru-cache": "^4.0.1",
++ "shebang-command": "^1.2.0",
++ "which": "^1.2.9"
+ }
+ },
+ "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.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
++ "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"
+ }
+ },
+ "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"
++ "locate-path": "^2.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
+ },
+ "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.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
++ "graceful-fs": "^4.1.2",
++ "parse-json": "^2.2.0",
++ "pify": "^2.0.0",
++ "strip-bom": "^3.0.0"
+ }
+ },
+ "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.2.0"
++ "mimic-fn": "^1.0.0"
+ }
+ },
+ "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"
++ "execa": "^0.7.0",
++ "lcid": "^1.0.0",
++ "mem": "^1.1.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.3.0"
++ "pify": "^2.0.0"
+ }
+ },
+ "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.4.0",
- "path-type": "2.0.0"
++ "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.1.0",
- "read-pkg": "2.0.0"
++ "find-up": "^2.0.0",
++ "read-pkg": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "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
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
+ "dev": true,
+ "requires": {
- "camelcase": "4.1.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.2",
- "os-locale": "2.1.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.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "7.0.0"
++ "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"
+ }
+ },
+ "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"
++ "camelcase": "^4.1.0"
+ }
+ }
+ }
+ },
+ "@angular/core": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-8.0.0-beta.2.tgz",
+ "integrity": "sha512-Z9cmhFqLDSe6fsmnGPHnhFUG+4mMXbQ2w92Uq3g3jsduGghliCo7vV4Se/UkOHZeUVHne0nBIHbCMJJxytn9Cw==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/forms": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.0.0-beta.2.tgz",
+ "integrity": "sha512-gewuklnd+OCe7bHTUoOyq/mgH45td2nT+FN+AbX2XhGrfEeXm5YaaRj6L5kNQeykm397nIfNko3k4U52rY688Q==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/http": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/http/-/http-8.0.0-beta.2.tgz",
+ "integrity": "sha512-4wlMlwTNSxT+5bjcdisXVhxs/s6gZWXsqNH4kW0Rmuxl9GW5fL8PABXyP8MZKnETfGEV6OQPeGeqLFbaNX4bcg==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/material": {
+ "version": "6.4.7",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-6.4.7.tgz",
+ "integrity": "sha512-SdNx7Xovi24Kw9eU6lkLhY/7f2M7L9F+/uh6XuPr4jbGgCUVVpeeVI5ztZhsZRbj1sN+/r1p5w8u62apWWl5Ww==",
+ "requires": {
- "parse5": "5.1.0",
- "tslib": "1.9.3"
++ "parse5": "^5.0.0",
++ "tslib": "^1.7.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "optional": true
+ }
+ }
+ },
+ "@angular/material-moment-adapter": {
+ "version": "5.2.5",
+ "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-5.2.5.tgz",
+ "integrity": "sha512-6h1JXjIdI5jzNLbr+A/oml9eXLtCYxLX/BUc+ulv6tqQsLhsT4oCUys5EssvaC98ExY+v1i+9LnsK9K6VX0ZSw==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.7.1"
+ }
+ },
+ "@angular/platform-browser": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.0.0-beta.2.tgz",
+ "integrity": "sha512-ofPx95TxTYX2Nu0Pz0UMjeTKZz3Fp1eZNdilz4tx0QplSt0BJTtjj0KfUn/3W4knNTxapgYhhy3VVS3sL52fAA==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/platform-browser-dynamic": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.0.0-beta.2.tgz",
+ "integrity": "sha512-DbpW7GCzf7qt6GkEHtq8hfCb7vObWatJRSDYo+A0aEcIQolIiKdqHFBvtnvRu3IHeTQ+N40mqSwB8KQ1VnOcvQ==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@angular/platform-server": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-8.0.0-beta.2.tgz",
+ "integrity": "sha512-2SkpaLj4HsxCrBMtW7xw3uf2gAn8PYjzRX7MXHNnjxxQtsuZgXmV34ayTHmas+cMQWqvOXvPHU6f4hUcSp/l9g==",
+ "requires": {
- "domino": "2.1.1",
- "tslib": "1.9.3",
- "xhr2": "0.1.4"
++ "domino": "^2.1.0",
++ "tslib": "^1.9.0",
++ "xhr2": "^0.1.4"
+ }
+ },
+ "@angular/router": {
+ "version": "8.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.0.0-beta.2.tgz",
+ "integrity": "sha512-SpPfLkcRR+ZTz8v9JOdxWIiK9xZa5FR+9mZ7378SB6jhxNNsRqk/3A51HNMV8lXgOAv6t8SCEre/b5fowqjgdA==",
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "@ngtools/webpack": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.0.tgz",
+ "integrity": "sha512-U/By0Jlwy7nYwrGNtFirTg1aAsEHBL/9DhfFxPI0iu27FWiMttROuN6hmKbbnOmpbiYAVl5qTy3WXPXUIJjG1A==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "7.3.0",
+ "enhanced-resolve": "4.1.0",
+ "rxjs": "6.3.3",
+ "tree-kill": "1.2.1",
+ "webpack-sources": "1.3.0"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ }
+ }
+ },
+ "@schematics/angular": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.0.tgz",
+ "integrity": "sha512-fOjP/3Rz+Nqrgc+YVaiN88uhPX0FZgUjmMKgMp06lc3xmoc1ScGxoz8AF1fV50Zkvh0Etykzy1LTUczzEUJQqw==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "7.3.0",
+ "@angular-devkit/schematics": "7.3.0",
+ "typescript": "3.2.2"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz",
+ "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==",
+ "dev": true
+ }
+ }
+ },
+ "@schematics/update": {
+ "version": "0.13.0",
+ "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.0.tgz",
+ "integrity": "sha512-HGpZdIL/0w46UyaxpnIAg6SBwzKfaRixHIEihmgJUqA0DG8GZUixRPr1L0YIWC1EZ81cQ+yWL85XhkKBYR+wQg==",
+ "dev": true,
+ "requires": {
+ "@angular-devkit/core": "7.3.0",
+ "@angular-devkit/schematics": "7.3.0",
+ "@yarnpkg/lockfile": "1.1.0",
+ "ini": "1.3.5",
+ "pacote": "9.4.0",
+ "rxjs": "6.3.3",
+ "semver": "5.6.0",
+ "semver-intersect": "1.4.0"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ }
+ }
+ },
+ "@types/jasmine": {
+ "version": "2.5.38",
+ "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.38.tgz",
+ "integrity": "sha1-pDeRJMSSHU4h3lTsdGacnps1Zxc=",
+ "dev": true
+ },
+ "@types/moment-timezone": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/@types/moment-timezone/-/moment-timezone-0.5.10.tgz",
+ "integrity": "sha512-sSFfubyYd0Z9C89/M5wZ+GJOWNTYTPhXAB2wrzmElJcQROyWTj0y1NCLSwYqovDYeFezlFE8+aopIyZTMsDVnA==",
+ "dev": true,
+ "requires": {
- "moment": "2.23.0"
++ "moment": ">=2.14.0"
+ }
+ },
+ "@types/node": {
+ "version": "6.0.89",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.89.tgz",
+ "integrity": "sha512-Z/67L97+6H1qJiEEHSN1SQapkWjDss1D90rAnFcQ6UxKkah9juzotK5UNEP1bDv/0lJ3NAQTnVfc/JWdgCGruA==",
+ "dev": true
+ },
+ "@types/q": {
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
+ "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
+ "dev": true
+ },
+ "@types/selenium-webdriver": {
+ "version": "2.53.42",
+ "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-2.53.42.tgz",
+ "integrity": "sha1-dMt3+2BS7a/yqJhN2v2I1BnyXKw=",
+ "dev": true
+ },
+ "@types/source-list-map": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
+ "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
+ "dev": true
+ },
+ "@types/webpack-sources": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz",
+ "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==",
+ "dev": true,
+ "requires": {
- "@types/node": "6.0.89",
- "@types/source-list-map": "0.1.2",
- "source-map": "0.6.1"
++ "@types/node": "*",
++ "@types/source-list-map": "*",
++ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
+ "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-module-context": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/wast-parser": "1.7.11"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz",
+ "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz",
+ "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
+ "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz",
+ "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/wast-printer": "1.7.11"
+ }
+ },
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz",
+ "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz",
+ "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz",
+ "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==",
+ "dev": true
+ },
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
+ "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11"
+ }
+ },
+ "@webassemblyjs/ieee754": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
+ "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
+ "dev": true,
+ "requires": {
- "@xtuc/ieee754": "1.2.0"
++ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "@webassemblyjs/leb128": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
+ "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
+ "dev": true,
+ "requires": {
+ "@xtuc/long": "4.2.1"
+ }
+ },
+ "@webassemblyjs/utf8": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
+ "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
+ "dev": true
+ },
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
+ "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/helper-wasm-section": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11",
+ "@webassemblyjs/wasm-opt": "1.7.11",
+ "@webassemblyjs/wasm-parser": "1.7.11",
+ "@webassemblyjs/wast-printer": "1.7.11"
+ }
+ },
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
+ "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/ieee754": "1.7.11",
+ "@webassemblyjs/leb128": "1.7.11",
+ "@webassemblyjs/utf8": "1.7.11"
+ }
+ },
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
+ "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11",
+ "@webassemblyjs/wasm-parser": "1.7.11"
+ }
+ },
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
+ "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-api-error": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/ieee754": "1.7.11",
+ "@webassemblyjs/leb128": "1.7.11",
+ "@webassemblyjs/utf8": "1.7.11"
+ }
+ },
+ "@webassemblyjs/wast-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz",
+ "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.11",
+ "@webassemblyjs/helper-api-error": "1.7.11",
+ "@webassemblyjs/helper-code-frame": "1.7.11",
+ "@webassemblyjs/helper-fsm": "1.7.11",
+ "@xtuc/long": "4.2.1"
+ }
+ },
+ "@webassemblyjs/wast-printer": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz",
+ "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/wast-parser": "1.7.11",
+ "@xtuc/long": "4.2.1"
+ }
+ },
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true
+ },
+ "@xtuc/long": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
+ "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
+ "dev": true
+ },
+ "@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true
+ },
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "requires": {
- "jsonparse": "1.3.1",
- "through": "2.3.8"
++ "jsonparse": "^1.2.0",
++ "through": ">=2.2.7 <3"
+ }
+ },
+ "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.5",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "dev": true,
+ "requires": {
- "mime-types": "2.1.21",
++ "mime-types": "~2.1.18",
+ "negotiator": "0.6.1"
+ },
+ "dependencies": {
+ "mime-db": {
+ "version": "1.37.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.21",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "dev": true,
+ "requires": {
- "mime-db": "1.37.0"
++ "mime-db": "~1.37.0"
+ }
+ }
+ }
+ },
+ "acorn": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.7.tgz",
+ "integrity": "sha512-HNJNgE60C9eOTgn974Tlp3dpLZdUr+SoxxDwPaY9J/kDNOLQTkaDgwBUXAF4SSsrAwD9RpdxuHK/EbuF+W9Ahw==",
+ "dev": true
+ },
+ "acorn-dynamic-import": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
+ "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
+ "dev": true
+ },
+ "adm-zip": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz",
+ "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=",
+ "dev": true
+ },
+ "after": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "dev": true
+ },
+ "agent-base": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
+ "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
+ "dev": true,
+ "requires": {
- "extend": "3.0.1",
- "semver": "5.0.3"
++ "extend": "~3.0.0",
++ "semver": "~5.0.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
+ "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
+ "dev": true
+ }
+ }
+ },
+ "agentkeepalive": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
+ "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
+ "dev": true,
+ "requires": {
- "humanize-ms": "1.2.1"
++ "humanize-ms": "^1.2.1"
+ }
+ },
+ "ajv": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz",
+ "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==",
+ "dev": true,
+ "requires": {
- "fast-deep-equal": "2.0.1",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.4.1",
- "uri-js": "4.2.2"
++ "fast-deep-equal": "^2.0.1",
++ "fast-json-stable-stringify": "^2.0.0",
++ "json-schema-traverse": "^0.4.1",
++ "uri-js": "^4.2.2"
+ },
+ "dependencies": {
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "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
+ }
+ }
+ },
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+ "dev": true
+ },
+ "ajv-keywords": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.3.0.tgz",
+ "integrity": "sha512-CMzN9S62ZOO4sA/mJZIO4S++ZM7KFWzH3PPWkveLhy4OZ9i1/VatgwWMD46w/XbGCBy7Ye0gCk+Za6mmyfKK7g==",
+ "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,
++ "optional": true,
+ "requires": {
- "kind-of": "3.2.2",
- "longest": "1.0.1",
- "repeat-string": "1.6.1"
++ "kind-of": "^3.0.2",
++ "longest": "^1.0.1",
++ "repeat-string": "^1.5.2"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-colors": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+ "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+ "dev": true
+ },
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true
+ },
+ "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": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
+ "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.3.11",
- "normalize-path": "2.1.1"
++ "micromatch": "^2.1.5",
++ "normalize-path": "^2.0.0"
+ }
+ },
+ "app-root-path": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz",
+ "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
+ "dev": true
+ },
+ "append-transform": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
+ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "dev": true,
+ "requires": {
- "default-require-extensions": "1.0.0"
++ "default-require-extensions": "^1.0.0"
+ }
+ },
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "dev": true,
+ "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.3"
++ "delegates": "^1.0.0",
++ "readable-stream": "^2.0.6"
+ }
+ },
+ "argparse": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=",
+ "dev": true,
+ "requires": {
- "sprintf-js": "1.0.3"
++ "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.1.0"
++ "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-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-slice": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+ "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "dev": true
+ },
+ "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.3"
++ "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
+ },
+ "arraybuffer.slice": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
+ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
+ "requires": {
- "bn.js": "4.11.8",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
++ "bn.js": "^4.0.0",
++ "inherits": "^2.0.1",
++ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "dev": true,
+ "requires": {
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "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"
+ }
+ }
+ }
+ },
+ "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
+ },
+ "async": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
+ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==",
+ "dev": true,
+ "requires": {
- "lodash": "4.17.4"
++ "lodash": "^4.14.0"
+ }
+ },
+ "async-each": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+ "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": "9.4.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz",
+ "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==",
+ "dev": true,
+ "requires": {
- "browserslist": "4.4.1",
- "caniuse-lite": "1.0.30000935",
- "normalize-range": "0.1.2",
- "num2fraction": "1.2.2",
- "postcss": "7.0.14",
- "postcss-value-parser": "3.3.1"
++ "browserslist": "^4.4.1",
++ "caniuse-lite": "^1.0.30000929",
++ "normalize-range": "^0.1.2",
++ "num2fraction": "^1.2.2",
++ "postcss": "^7.0.13",
++ "postcss-value-parser": "^3.3.1"
+ }
+ },
+ "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.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "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"
++ "chalk": "^1.1.3",
++ "esutils": "^2.0.2",
++ "js-tokens": "^3.0.2"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz",
+ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=",
+ "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"
++ "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.6",
++ "trim-right": "^1.0.1"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ }
+ }
+ },
+ "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.26.0"
++ "babel-runtime": "^6.22.0"
+ }
+ },
+ "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.1",
- "regenerator-runtime": "0.11.0"
++ "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-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.9",
- "globals": "9.18.0",
- "invariant": "2.2.2",
- "lodash": "4.17.4"
++ "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"
++ "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
+ },
+ "backo2": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+ "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+ "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.6",
- "component-emitter": "1.2.1",
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "mixin-deep": "1.3.1",
- "pascalcase": "0.1.1"
++ "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": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "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.2"
++ "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.2"
++ "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.2"
++ "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-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.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "base64-arraybuffer": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+ "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+ "dev": true
+ },
+ "base64-js": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
+ "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==",
+ "dev": true
+ },
+ "base64id": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+ "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.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "tweetnacl": "0.14.5"
++ "tweetnacl": "^0.14.3"
+ }
+ },
+ "better-assert": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+ "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+ "dev": true,
+ "requires": {
+ "callsite": "1.0.0"
+ }
+ },
+ "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
+ },
+ "binary-extensions": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz",
+ "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
+ "dev": true
+ },
+ "blob": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
+ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
+ "dev": true
+ },
+ "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.3"
++ "inherits": "~2.0.0"
+ }
+ },
+ "blocking-proxy": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-0.0.5.tgz",
+ "integrity": "sha1-RikF4Nz76pcPQao3Ij3anAexkSs=",
+ "dev": true,
+ "requires": {
- "minimist": "1.2.0"
++ "minimist": "^1.2.0"
+ }
+ },
+ "bluebird": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
+ "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.18.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
+ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
- "content-type": "1.0.4",
++ "content-type": "~1.0.4",
+ "debug": "2.6.9",
- "depd": "1.1.1",
- "http-errors": "1.6.2",
++ "depd": "~1.1.1",
++ "http-errors": "~1.6.2",
+ "iconv-lite": "0.4.19",
- "on-finished": "2.3.0",
++ "on-finished": "~2.3.0",
+ "qs": "6.5.1",
+ "raw-body": "2.3.2",
- "type-is": "1.6.15"
++ "type-is": "~1.6.15"
+ }
+ },
+ "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.2",
- "deep-equal": "1.0.1",
- "dns-equal": "1.0.0",
- "dns-txt": "2.0.2",
- "multicast-dns": "6.2.3",
- "multicast-dns-service-types": "1.1.0"
++ "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"
+ }
+ },
+ "boom": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
+ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
+ "dev": true,
+ "requires": {
- "hoek": "4.2.0"
++ "hoek": "4.x.x"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
+ "dev": true,
+ "requires": {
- "balanced-match": "1.0.0",
++ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ },
+ "dependencies": {
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ }
+ }
+ },
+ "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.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.2"
++ "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.4",
- "create-hash": "1.2.0",
- "evp_bytestokey": "1.0.3",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
++ "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.2.0",
- "browserify-des": "1.0.2",
- "evp_bytestokey": "1.0.3"
++ "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.4",
- "des.js": "1.0.0",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
++ "cipher-base": "^1.0.1",
++ "des.js": "^1.0.0",
++ "inherits": "^2.0.1",
++ "safe-buffer": "^5.1.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
+ "requires": {
- "bn.js": "4.11.8",
- "randombytes": "2.0.6"
++ "bn.js": "^4.1.0",
++ "randombytes": "^2.0.1"
+ }
+ },
+ "browserify-sign": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
+ "requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "elliptic": "6.4.1",
- "inherits": "2.0.3",
- "parse-asn1": "5.1.3"
++ "bn.js": "^4.1.1",
++ "browserify-rsa": "^4.0.0",
++ "create-hash": "^1.1.0",
++ "create-hmac": "^1.1.2",
++ "elliptic": "^6.0.0",
++ "inherits": "^2.0.1",
++ "parse-asn1": "^5.0.0"
+ }
+ },
+ "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.8"
++ "pako": "~1.0.5"
+ }
+ },
+ "browserslist": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.1.tgz",
+ "integrity": "sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A==",
+ "dev": true,
+ "requires": {
- "caniuse-lite": "1.0.30000935",
- "electron-to-chromium": "1.3.113",
- "node-releases": "1.1.7"
++ "caniuse-lite": "^1.0.30000929",
++ "electron-to-chromium": "^1.3.103",
++ "node-releases": "^1.1.3"
+ }
+ },
+ "buffer": {
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
+ "requires": {
- "base64-js": "1.3.0",
- "ieee754": "1.1.12",
- "isarray": "1.0.0"
++ "base64-js": "^1.0.2",
++ "ieee754": "^1.1.4",
++ "isarray": "^1.0.0"
+ }
+ },
+ "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-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "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
+ },
+ "builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
+ "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": "11.3.2",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
+ "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "dev": true,
+ "requires": {
- "bluebird": "3.5.3",
- "chownr": "1.1.1",
- "figgy-pudding": "3.5.1",
- "glob": "7.1.3",
- "graceful-fs": "4.1.15",
- "lru-cache": "5.1.1",
- "mississippi": "3.0.0",
- "mkdirp": "0.5.1",
- "move-concurrently": "1.0.1",
- "promise-inflight": "1.0.1",
- "rimraf": "2.6.2",
- "ssri": "6.0.1",
- "unique-filename": "1.1.1",
- "y18n": "4.0.0"
++ "bluebird": "^3.5.3",
++ "chownr": "^1.1.1",
++ "figgy-pudding": "^3.5.1",
++ "glob": "^7.1.3",
++ "graceful-fs": "^4.1.15",
++ "lru-cache": "^5.1.1",
++ "mississippi": "^3.0.0",
++ "mkdirp": "^0.5.1",
++ "move-concurrently": "^1.0.1",
++ "promise-inflight": "^1.0.1",
++ "rimraf": "^2.6.2",
++ "ssri": "^6.0.1",
++ "unique-filename": "^1.1.1",
++ "y18n": "^4.0.0"
+ },
+ "dependencies": {
+ "bluebird": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
+ "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "dev": true,
+ "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "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"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
- "yallist": "3.0.3"
++ "yallist": "^3.0.2"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
+ }
+ }
+ },
+ "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"
++ "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": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ }
+ }
+ },
+ "callsite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+ "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+ "dev": true
+ },
+ "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.1.1",
- "map-obj": "1.0.1"
++ "camelcase": "^2.0.0",
++ "map-obj": "^1.0.0"
+ }
+ },
+ "caniuse-lite": {
+ "version": "1.0.30000935",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000935.tgz",
+ "integrity": "sha512-1Y2uJ5y56qDt3jsDTdBHL1OqiImzjoQcBG6Yl3Qizq8mcc2SgCFpi+ZwLLqkztYnk9l87IYqRlNBnPSOTbFkXQ==",
+ "dev": true
+ },
+ "canonical-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz",
+ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==",
+ "dev": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "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,
+ "optional": true,
+ "requires": {
- "align-text": "0.1.4",
- "lazy-cache": "1.0.4"
++ "align-text": "^0.1.3",
++ "lazy-cache": "^1.0.3"
+ }
+ },
+ "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.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
++ "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
+ }
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "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.2",
- "async-each": "1.0.1",
- "fsevents": "1.1.2",
- "glob-parent": "2.0.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "2.0.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.1.0"
++ "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.1",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
+ "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
+ "dev": true
+ },
+ "chrome-trace-event": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz",
+ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "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.3",
- "safe-buffer": "5.1.1"
++ "inherits": "^2.0.1",
++ "safe-buffer": "^5.0.1"
+ }
+ },
+ "circular-dependency-plugin": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz",
+ "integrity": "sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA==",
+ "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.1",
- "static-extend": "0.1.2"
++ "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.6"
++ "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.1",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
+ "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
+ "dev": true,
+ "requires": {
- "source-map": "0.6.1"
++ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
+ "requires": {
- "restore-cursor": "2.0.0"
++ "restore-cursor": "^2.0.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "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.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
++ "string-width": "^1.0.1",
++ "strip-ansi": "^3.0.1",
++ "wrap-ansi": "^2.0.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.1"
++ "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.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
++ "code-point-at": "^1.0.0",
++ "is-fullwidth-code-point": "^1.0.0",
++ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "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.2",
- "shallow-clone": "1.0.0"
++ "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.2"
++ "for-in": "^1.0.1"
+ }
+ },
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "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
+ },
+ "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
+ },
+ "codelyzer": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-3.2.2.tgz",
+ "integrity": "sha512-VNvW9gRThsqRarEnLioiILd0Pdk0yCq/7cVgYvqHpC+3CHqfnrJfmXjoana7vzWfSis+9pODXofjCWX+nlU9Gw==",
+ "dev": true,
+ "requires": {
- "app-root-path": "2.2.1",
- "css-selector-tokenizer": "0.7.1",
- "cssauron": "1.4.0",
- "semver-dsl": "1.0.1",
- "source-map": "0.5.7",
- "sprintf-js": "1.0.3"
++ "app-root-path": "^2.0.1",
++ "css-selector-tokenizer": "^0.7.0",
++ "cssauron": "^1.4.0",
++ "semver-dsl": "^1.0.1",
++ "source-map": "^0.5.6",
++ "sprintf-js": "^1.0.3"
+ }
+ },
+ "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.1"
++ "map-visit": "^1.0.0",
++ "object-visit": "^1.0.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
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "combine-lists": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+ "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+ "dev": true,
+ "requires": {
- "lodash": "4.17.4"
++ "lodash": "^4.5.0"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true,
+ "requires": {
- "delayed-stream": "1.0.0"
++ "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-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
+ "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
+ "dev": true
+ },
+ "component-inherit": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+ "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+ "dev": true
+ },
+ "compressible": {
+ "version": "2.0.15",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz",
+ "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==",
+ "dev": true,
+ "requires": {
- "mime-db": "1.38.0"
++ "mime-db": ">= 1.36.0 < 2"
+ },
+ "dependencies": {
+ "mime-db": {
+ "version": "1.38.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz",
+ "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==",
+ "dev": true
+ }
+ }
+ },
+ "compression": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz",
+ "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==",
+ "dev": true,
+ "requires": {
- "accepts": "1.3.5",
++ "accepts": "~1.3.5",
+ "bytes": "3.0.0",
- "compressible": "2.0.15",
++ "compressible": "~2.0.14",
+ "debug": "2.6.9",
- "on-headers": "1.0.1",
++ "on-headers": "~1.0.1",
+ "safe-buffer": "5.1.2",
- "vary": "1.1.2"
++ "vary": "~1.1.2"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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.1.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.3",
- "typedarray": "0.0.6"
++ "buffer-from": "^1.0.0",
++ "inherits": "^2.0.3",
++ "readable-stream": "^2.2.2",
++ "typedarray": "^0.0.6"
+ }
+ },
+ "connect": {
+ "version": "3.6.5",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.5.tgz",
+ "integrity": "sha1-+43ee6B2OHfQ7J352sC0tA5yx9o=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
+ "finalhandler": "1.0.6",
- "parseurl": "1.3.2",
++ "parseurl": "~1.3.2",
+ "utils-merge": "1.0.1"
+ },
+ "dependencies": {
+ "finalhandler": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.6.tgz",
+ "integrity": "sha1-AHrqM9Gk0+QgF/YkhIrVjSEvgU8=",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
- "encodeurl": "1.0.1",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.3.1",
- "unpipe": "1.0.0"
++ "encodeurl": "~1.0.1",
++ "escape-html": "~1.0.3",
++ "on-finished": "~2.3.0",
++ "parseurl": "~1.3.2",
++ "statuses": "~1.3.1",
++ "unpipe": "~1.0.0"
+ }
+ }
+ }
+ },
+ "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.1.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
+ "requires": {
- "date-now": "0.1.4"
++ "date-now": "^0.1.4"
+ }
+ },
+ "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
+ },
+ "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.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
+ "dev": true
+ },
+ "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.6.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
+ "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "dev": true,
+ "requires": {
- "safe-buffer": "5.1.1"
++ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cookie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "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.2.0",
- "fs-write-stream-atomic": "1.0.10",
- "iferr": "0.1.5",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "run-queue": "1.0.3"
++ "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
+ },
+ "copy-webpack-plugin": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
+ "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==",
+ "dev": true,
+ "requires": {
- "cacache": "10.0.4",
- "find-cache-dir": "1.0.0",
- "globby": "7.1.1",
- "is-glob": "4.0.0",
- "loader-utils": "1.2.3",
- "minimatch": "3.0.4",
- "p-limit": "1.3.0",
- "serialize-javascript": "1.6.1"
++ "cacache": "^10.0.4",
++ "find-cache-dir": "^1.0.0",
++ "globby": "^7.1.1",
++ "is-glob": "^4.0.0",
++ "loader-utils": "^1.1.0",
++ "minimatch": "^3.0.4",
++ "p-limit": "^1.0.0",
++ "serialize-javascript": "^1.4.0"
+ },
+ "dependencies": {
+ "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.1.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.3.0",
- "unique-filename": "1.1.1",
- "y18n": "4.0.0"
++ "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"
+ }
+ },
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+ "dev": true,
+ "requires": {
- "array-union": "1.0.2",
- "dir-glob": "2.2.2",
- "glob": "7.1.2",
- "ignore": "3.3.10",
- "pify": "3.0.0",
- "slash": "1.0.0"
++ "array-union": "^1.0.1",
++ "dir-glob": "^2.0.0",
++ "glob": "^7.1.2",
++ "ignore": "^3.3.5",
++ "pify": "^3.0.0",
++ "slash": "^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": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
- "is-extglob": "2.1.1"
++ "is-extglob": "^2.1.1"
+ }
+ },
+ "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.6.2",
- "duplexify": "3.7.1",
- "end-of-stream": "1.4.1",
- "flush-write-stream": "1.1.0",
- "from2": "2.3.0",
- "parallel-transform": "1.1.0",
- "pump": "2.0.1",
- "pumpify": "1.5.1",
- "stream-each": "1.2.3",
- "through2": "2.0.5"
++ "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"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "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.4.1",
- "once": "1.4.0"
++ "end-of-stream": "^1.1.0",
++ "once": "^1.3.1"
+ }
+ },
+ "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"
++ "safe-buffer": "^5.1.1"
+ }
+ },
+ "y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
+ }
+ }
+ },
+ "core-js": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
+ "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4="
+ },
+ "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": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
+ "dev": true,
+ "requires": {
- "is-directory": "0.3.1",
- "js-yaml": "3.12.1",
- "parse-json": "4.0.0",
- "require-from-string": "2.0.2"
++ "is-directory": "^0.3.1",
++ "js-yaml": "^3.9.0",
++ "parse-json": "^4.0.0",
++ "require-from-string": "^2.0.1"
+ },
+ "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.12.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz",
+ "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==",
+ "dev": true,
+ "requires": {
- "argparse": "1.0.9",
- "esprima": "4.0.1"
++ "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.2"
++ "error-ex": "^1.3.1",
++ "json-parse-better-errors": "^1.0.1"
+ }
+ }
+ }
+ },
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "dev": true,
+ "requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.1"
++ "bn.js": "^4.1.0",
++ "elliptic": "^6.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.4",
- "inherits": "2.0.3",
- "md5.js": "1.3.5",
- "ripemd160": "2.0.2",
- "sha.js": "2.4.11"
++ "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.4",
- "create-hash": "1.2.0",
- "inherits": "2.0.3",
- "ripemd160": "2.0.2",
- "safe-buffer": "5.1.1",
- "sha.js": "2.4.11"
++ "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-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.1.1",
- "which": "1.3.0"
++ "lru-cache": "^4.0.1",
++ "which": "^1.2.9"
+ }
+ },
+ "cryptiles": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
+ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
+ "dev": true,
+ "requires": {
- "boom": "5.2.0"
++ "boom": "5.x.x"
+ },
+ "dependencies": {
+ "boom": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
+ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
+ "dev": true,
+ "requires": {
- "hoek": "4.2.0"
++ "hoek": "4.x.x"
+ }
+ }
+ }
+ },
+ "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.1",
- "browserify-sign": "4.0.4",
- "create-ecdh": "4.0.3",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "diffie-hellman": "5.0.3",
- "inherits": "2.0.3",
- "pbkdf2": "3.0.17",
- "public-encrypt": "4.0.3",
- "randombytes": "2.0.6",
- "randomfill": "1.0.4"
++ "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-parse": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
+ "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
+ "dev": true
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
+ "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+ "dev": true,
+ "requires": {
- "cssesc": "0.1.0",
- "fastparse": "1.1.2",
- "regexpu-core": "1.0.0"
++ "cssesc": "^0.1.0",
++ "fastparse": "^1.1.1",
++ "regexpu-core": "^1.0.0"
+ }
+ },
+ "cssauron": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz",
+ "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
+ "dev": true,
+ "requires": {
- "through": "2.3.8"
++ "through": "X.X.X"
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "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.2"
++ "array-find-index": "^1.0.1"
+ }
+ },
+ "custom-event": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+ "dev": true
+ },
+ "cyclist": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+ "dev": true
+ },
+ "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"
++ "assert-plus": "^1.0.0"
+ }
+ },
+ "date-fns": {
+ "version": "1.30.1",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
+ "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "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
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "default-gateway": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz",
+ "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==",
+ "dev": true,
+ "requires": {
- "execa": "0.10.0",
- "ip-regex": "2.1.0"
++ "execa": "^0.10.0",
++ "ip-regex": "^2.1.0"
+ }
+ },
+ "default-require-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
+ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "dev": true,
+ "requires": {
- "strip-bom": "2.0.0"
++ "strip-bom": "^2.0.0"
+ }
+ },
+ "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"
++ "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.2"
++ "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.2"
++ "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-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.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ }
+ }
+ },
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
- "globby": "5.0.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.0",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "rimraf": "2.6.2"
++ "globby": "^5.0.0",
++ "is-path-cwd": "^1.0.0",
++ "is-path-in-cwd": "^1.0.0",
++ "object-assign": "^4.0.1",
++ "pify": "^2.0.0",
++ "pinkie-promise": "^2.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.1",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
+ "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
+ "dev": true
+ },
+ "dependency-graph": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz",
+ "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
++ "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.1"
++ "repeating": "^2.0.0"
+ }
+ },
+ "detect-node": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
+ "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
+ "dev": true
+ },
+ "di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+ "dev": true
+ },
+ "diff": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.4.0.tgz",
+ "integrity": "sha512-QpVuMTEoJMF7cKzi6bvWhRulU1fZqZnvyVQgNhPaxxuTYwyjn/j1v9falseQ/uXWwPnO56RBfwtg4h/EQXmucA==",
+ "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.11.8",
- "miller-rabin": "4.0.1",
- "randombytes": "2.0.6"
++ "bn.js": "^4.1.0",
++ "miller-rabin": "^4.0.0",
++ "randombytes": "^2.0.0"
+ }
+ },
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "dev": true,
+ "requires": {
- "path-type": "3.0.0"
++ "path-type": "^3.0.0"
+ },
+ "dependencies": {
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "requires": {
- "pify": "3.0.0"
++ "pify": "^3.0.0"
+ }
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "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.5",
- "safe-buffer": "5.1.1"
++ "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.1.1"
++ "buffer-indexof": "^1.0.0"
+ }
+ },
+ "dom-serialize": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dev": true,
+ "requires": {
- "custom-event": "1.0.1",
- "ent": "2.2.0",
- "extend": "3.0.1",
- "void-elements": "2.0.1"
++ "custom-event": "~1.0.0",
++ "ent": "~2.2.0",
++ "extend": "^3.0.0",
++ "void-elements": "^2.0.0"
+ }
+ },
+ "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
+ },
+ "domino": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/domino/-/domino-2.1.1.tgz",
+ "integrity": "sha512-fqoTi6oQ881wYRENIEmz78hKVoc3X9HqVpklo419yxzebys6dtU5c83iVh3UYvvexPFdAuwlDYCsUM9//CrMMg=="
+ },
+ "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.4.1",
- "inherits": "2.0.3",
- "readable-stream": "2.3.3",
- "stream-shift": "1.0.0"
++ "end-of-stream": "^1.0.0",
++ "inherits": "^2.0.1",
++ "readable-stream": "^2.0.0",
++ "stream-shift": "^1.0.0"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "jsbn": "0.1.1"
++ "jsbn": "~0.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.113",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz",
+ "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==",
+ "dev": true
+ },
+ "elliptic": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+ "dev": true,
+ "requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0",
- "hash.js": "1.1.7",
- "hmac-drbg": "1.0.1",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
++ "bn.js": "^4.4.0",
++ "brorand": "^1.0.1",
++ "hash.js": "^1.0.0",
++ "hmac-drbg": "^1.0.0",
++ "inherits": "^2.0.1",
++ "minimalistic-assert": "^1.0.0",
++ "minimalistic-crypto-utils": "^1.0.0"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
+ "dev": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "dev": true,
+ "requires": {
- "iconv-lite": "0.4.19"
++ "iconv-lite": "~0.4.13"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
- "once": "1.4.0"
++ "once": "^1.4.0"
+ }
+ },
+ "engine.io": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.2.tgz",
+ "integrity": "sha1-a1m+cws0jAElsKRYneHDVavPen4=",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.3",
+ "base64id": "1.0.0",
+ "cookie": "0.3.1",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "ws": "1.1.1"
+ },
+ "dependencies": {
+ "accepts": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ "dev": true,
+ "requires": {
- "mime-types": "2.1.17",
++ "mime-types": "~2.1.11",
+ "negotiator": "0.6.1"
+ }
+ },
+ "debug": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
+ },
+ "ms": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.2.tgz",
+ "integrity": "sha1-w4dnVH8qfRhPV1L28K1QEAZwN2Y=",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "2.3.3",
+ "engine.io-parser": "1.3.2",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parsejson": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "1.1.1",
+ "xmlhttprequest-ssl": "1.5.3",
+ "yeast": "0.1.2"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
+ "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "dev": true,
+ "requires": {
+ "ms": "0.7.2"
+ }
+ },
+ "ms": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+ "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
+ "dev": true
+ }
+ }
+ },
+ "engine.io-parser": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
+ "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
+ "dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.6",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.4",
+ "has-binary": "0.1.7",
+ "wtf-8": "1.0.0"
+ }
+ },
+ "enhanced-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
+ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+ "dev": true,
+ "requires": {
- "graceful-fs": "4.1.11",
- "memory-fs": "0.4.1",
- "tapable": "1.1.1"
++ "graceful-fs": "^4.1.2",
++ "memory-fs": "^0.4.0",
++ "tapable": "^1.0.0"
+ }
+ },
+ "ent": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+ "dev": true
+ },
+ "err-code": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
+ "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true,
+ "requires": {
- "prr": "1.0.1"
++ "prr": "~1.0.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
+ "dev": true,
+ "requires": {
- "is-arrayish": "0.2.1"
++ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
+ "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
+ "requires": {
- "es6-promise": "4.2.5"
++ "es6-promise": "^4.0.3"
+ }
+ },
+ "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
+ },
+ "escodegen": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+ "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+ "dev": true,
+ "requires": {
- "esprima": "2.7.3",
- "estraverse": "1.9.3",
- "esutils": "2.0.2",
- "optionator": "0.8.2",
- "source-map": "0.2.0"
++ "esprima": "^2.7.1",
++ "estraverse": "^1.9.1",
++ "esutils": "^2.0.2",
++ "optionator": "^0.8.1",
++ "source-map": "~0.2.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+ "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "amdefine": "1.0.1"
++ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
+ "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+ "dev": true,
+ "requires": {
- "esrecurse": "4.2.1",
- "estraverse": "4.2.0"
++ "esrecurse": "^4.1.0",
++ "estraverse": "^4.1.1"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "esprima": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+ "dev": true
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
- "estraverse": "4.2.0"
++ "estraverse": "^4.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+ "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "dev": true
+ },
+ "eventemitter3": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
+ "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
+ "dev": true
+ },
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
+ "dev": true
+ },
+ "eventsource": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
+ "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
+ "dev": true,
+ "requires": {
- "original": "1.0.2"
++ "original": "^1.0.0"
+ }
+ },
+ "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.5",
- "safe-buffer": "5.1.1"
++ "md5.js": "^1.3.4",
++ "safe-buffer": "^5.1.1"
+ }
+ },
+ "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.5",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
++ "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.5",
- "path-key": "2.0.1",
- "semver": "5.6.0",
- "shebang-command": "1.2.0",
- "which": "1.3.0"
++ "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
+ },
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+ "dev": true
+ }
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "expand-braces": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+ "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+ "dev": true,
+ "requires": {
- "array-slice": "0.2.3",
- "array-unique": "0.2.1",
- "braces": "0.1.5"
++ "array-slice": "^0.2.3",
++ "array-unique": "^0.2.1",
++ "braces": "^0.1.2"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+ "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+ "dev": true,
+ "requires": {
- "expand-range": "0.1.1"
++ "expand-range": "^0.1.0"
+ }
+ },
+ "expand-range": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+ "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+ "dev": true,
+ "requires": {
- "is-number": "0.1.1",
- "repeat-string": "0.2.2"
++ "is-number": "^0.1.1",
++ "repeat-string": "^0.2.2"
+ }
+ },
+ "is-number": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+ "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+ "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
+ "dev": true
+ }
+ }
+ },
+ "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.1"
++ "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.2.3"
++ "fill-range": "^2.1.0"
+ }
+ },
+ "express": {
+ "version": "4.16.4",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
+ "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
+ "dev": true,
+ "requires": {
- "accepts": "1.3.5",
++ "accepts": "~1.3.5",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.18.3",
+ "content-disposition": "0.5.2",
- "content-type": "1.0.4",
++ "content-type": "~1.0.4",
+ "cookie": "0.3.1",
+ "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",
++ "depd": "~1.1.2",
++ "encodeurl": "~1.0.2",
++ "escape-html": "~1.0.3",
++ "etag": "~1.8.1",
+ "finalhandler": "1.1.1",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
- "methods": "1.1.2",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
++ "methods": "~1.1.2",
++ "on-finished": "~2.3.0",
++ "parseurl": "~1.3.2",
+ "path-to-regexp": "0.1.7",
- "proxy-addr": "2.0.4",
++ "proxy-addr": "~2.0.4",
+ "qs": "6.5.2",
- "range-parser": "1.2.0",
++ "range-parser": "~1.2.0",
+ "safe-buffer": "5.1.2",
+ "send": "0.16.2",
+ "serve-static": "1.13.2",
+ "setprototypeof": "1.1.0",
- "statuses": "1.4.0",
- "type-is": "1.6.16",
++ "statuses": "~1.4.0",
++ "type-is": "~1.6.16",
+ "utils-merge": "1.0.1",
- "vary": "1.1.2"
++ "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
+ },
+ "body-parser": {
+ "version": "1.18.3",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
+ "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
- "content-type": "1.0.4",
++ "content-type": "~1.0.4",
+ "debug": "2.6.9",
- "depd": "1.1.2",
- "http-errors": "1.6.3",
++ "depd": "~1.1.2",
++ "http-errors": "~1.6.3",
+ "iconv-lite": "0.4.23",
- "on-finished": "2.3.0",
++ "on-finished": "~2.3.0",
+ "qs": "6.5.2",
+ "raw-body": "2.3.3",
- "type-is": "1.6.16"
++ "type-is": "~1.6.16"
+ }
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "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",
++ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
- "statuses": "1.4.0"
++ "statuses": ">= 1.4.0 < 2"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+ "dev": true,
+ "requires": {
- "safer-buffer": "2.1.2"
++ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "mime-db": {
+ "version": "1.37.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+ "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+ "dev": true
+ },
+ "mime-types": {
+ "version": "2.1.21",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+ "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "dev": true,
+ "requires": {
- "mime-db": "1.37.0"
++ "mime-db": "~1.37.0"
+ }
+ },
+ "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
+ },
+ "raw-body": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
+ "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+ "dev": true,
+ "requires": {
+ "bytes": "3.0.0",
+ "http-errors": "1.6.3",
+ "iconv-lite": "0.4.23",
+ "unpipe": "1.0.0"
+ }
+ },
+ "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
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "dev": true
+ },
+ "type-is": {
+ "version": "1.6.16",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+ "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "dev": true,
+ "requires": {
+ "media-typer": "0.3.0",
- "mime-types": "2.1.21"
++ "mime-types": "~2.1.18"
+ }
+ }
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "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"
++ "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"
++ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "external-editor": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
+ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+ "dev": true,
+ "requires": {
- "chardet": "0.7.0",
- "iconv-lite": "0.4.24",
- "tmp": "0.0.33"
++ "chardet": "^0.7.0",
++ "iconv-lite": "^0.4.24",
++ "tmp": "^0.0.33"
+ },
+ "dependencies": {
+ "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"
++ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ }
+ }
+ },
+ "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"
++ "is-extglob": "^1.0.0"
+ }
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
+ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "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.7.0"
++ "websocket-driver": ">=0.5.1"
+ }
+ },
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
+ "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+ "dev": true
+ },
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
- "escape-string-regexp": "1.0.5"
++ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz",
+ "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==",
+ "dev": true,
+ "requires": {
- "loader-utils": "1.2.3",
- "schema-utils": "1.0.0"
++ "loader-utils": "^1.0.2",
++ "schema-utils": "^1.0.0"
+ }
+ },
+ "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
+ },
+ "fileset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "dev": true,
+ "requires": {
- "glob": "7.1.2",
- "minimatch": "3.0.4"
++ "glob": "^7.0.3",
++ "minimatch": "^3.0.3"
+ }
+ },
+ "fill-range": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz",
+ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=",
+ "dev": true,
+ "requires": {
- "is-number": "2.1.0",
- "isobject": "2.1.0",
- "randomatic": "1.1.7",
- "repeat-element": "1.1.2",
- "repeat-string": "1.6.1"
++ "is-number": "^2.1.0",
++ "isobject": "^2.0.0",
++ "randomatic": "^1.1.3",
++ "repeat-element": "^1.1.2",
++ "repeat-string": "^1.5.2"
+ }
+ },
+ "finalhandler": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+ "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
+ "dev": true,
+ "requires": {
+ "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.4.0",
- "unpipe": "1.0.0"
++ "encodeurl": "~1.0.2",
++ "escape-html": "~1.0.3",
++ "on-finished": "~2.3.0",
++ "parseurl": "~1.3.2",
++ "statuses": "~1.4.0",
++ "unpipe": "~1.0.0"
+ },
+ "dependencies": {
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "statuses": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+ "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+ "dev": true
+ }
+ }
+ },
+ "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.3.0",
- "pkg-dir": "2.0.0"
++ "commondir": "^1.0.1",
++ "make-dir": "^1.0.0",
++ "pkg-dir": "^2.0.0"
+ }
+ },
+ "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.1.0",
- "pinkie-promise": "2.0.1"
++ "path-exists": "^2.0.0",
++ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "flush-write-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.0.tgz",
+ "integrity": "sha512-6MHED/cmsyux1G4/Cek2Z776y9t7WCNd3h2h/HW91vFeU7pzMhA8XvAlDhHcanG5IWuIh/xcC7JASY4WQpG6xg==",
+ "dev": true,
+ "requires": {
- "inherits": "2.0.3",
- "readable-stream": "3.1.1"
++ "inherits": "^2.0.3",
++ "readable-stream": "^3.1.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
+ "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
+ "dev": true,
+ "requires": {
- "inherits": "2.0.3",
- "string_decoder": "1.2.0",
- "util-deprecate": "1.0.2"
++ "inherits": "^2.0.3",
++ "string_decoder": "^1.1.1",
++ "util-deprecate": "^1.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz",
+ "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==",
+ "dev": true,
+ "requires": {
- "safe-buffer": "5.1.1"
++ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "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.2"
++ "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.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
+ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
+ "dev": true,
+ "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.17"
++ "asynckit": "^0.4.0",
++ "combined-stream": "^1.0.5",
++ "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"
++ "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
+ },
+ "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.3",
- "readable-stream": "2.3.3"
++ "inherits": "^2.0.1",
++ "readable-stream": "^2.0.0"
+ }
+ },
+ "fs-access": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+ "dev": true,
+ "requires": {
- "null-check": "1.0.0"
++ "null-check": "^1.0.0"
+ }
+ },
+ "fs-minipass": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
+ "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
+ "dev": true,
+ "requires": {
- "minipass": "2.3.5"
++ "minipass": "^2.2.1"
+ }
+ },
+ "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.11",
- "iferr": "0.1.5",
- "imurmurhash": "0.1.4",
- "readable-stream": "2.3.3"
++ "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.1.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz",
+ "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "nan": "2.7.0",
- "node-pre-gyp": "0.6.36"
++ "nan": "^2.3.0",
++ "node-pre-gyp": "^0.6.36"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=",
+ "dev": true,
+ "optional": true
+ },
+ "ajv": {
+ "version": "4.11.8",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "co": "4.6.0",
- "json-stable-stringify": "1.0.1"
++ "co": "^4.6.0",
++ "json-stable-stringify": "^1.0.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "aproba": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz",
+ "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=",
+ "dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
+ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.2.9"
++ "delegates": "^1.0.0",
++ "readable-stream": "^2.0.6"
+ }
+ },
+ "asn1": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+ "dev": true,
+ "optional": true
+ },
+ "assert-plus": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
+ "dev": true,
+ "optional": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true,
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
+ "dev": true,
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
+ "dev": true,
+ "optional": true
+ },
+ "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
++ "dev": true,
++ "optional": true
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "tweetnacl": "0.14.5"
++ "tweetnacl": "^0.14.3"
+ }
+ },
+ "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,
++ "optional": true,
+ "requires": {
- "inherits": "2.0.3"
++ "inherits": "~2.0.0"
+ }
+ },
+ "boom": {
+ "version": "2.10.1",
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "hoek": "2.16.3"
++ "hoek": "2.x.x"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz",
+ "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "balanced-match": "0.4.2",
++ "balanced-match": "^0.4.1",
+ "concat-map": "0.0.1"
+ }
+ },
+ "buffer-shims": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
+ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true,
+ "optional": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true,
+ "optional": true
+ },
+ "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
++ "dev": true,
++ "optional": true
+ },
+ "combined-stream": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "delayed-stream": "1.0.0"
++ "delayed-stream": "~1.0.0"
+ }
+ },
+ "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
++ "dev": true,
++ "optional": 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
++ "dev": true,
++ "optional": 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
++ "dev": true,
++ "optional": true
+ },
+ "cryptiles": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "boom": "2.10.1"
++ "boom": "2.x.x"
+ }
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "assert-plus": "1.0.0"
++ "assert-plus": "^1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "debug": {
+ "version": "2.6.8",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
+ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
+ "dev": true,
+ "optional": true
+ },
+ "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
++ "dev": true,
++ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true,
+ "optional": true
+ },
+ "ecc-jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "jsbn": "0.1.1"
++ "jsbn": "~0.1.0"
+ }
+ },
+ "extend": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
+ "dev": true,
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true,
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.5",
- "mime-types": "2.1.15"
++ "asynckit": "^0.4.0",
++ "combined-stream": "^1.0.5",
++ "mime-types": "^2.1.12"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "graceful-fs": "4.1.11",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.1"
++ "graceful-fs": "^4.1.2",
++ "inherits": "~2.0.0",
++ "mkdirp": ">=0.5 0",
++ "rimraf": "2"
+ }
+ },
+ "fstream-ignore": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
+ "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "fstream": "1.0.11",
- "inherits": "2.0.3",
- "minimatch": "3.0.4"
++ "fstream": "^1.0.0",
++ "inherits": "2",
++ "minimatch": "^3.0.0"
+ }
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "aproba": "1.1.1",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.2"
+ }
+ },
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "assert-plus": "1.0.0"
++ "assert-plus": "^1.0.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "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"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "har-schema": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
+ "dev": true,
+ "optional": true
+ },
+ "har-validator": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "ajv": "4.11.8",
- "har-schema": "1.0.5"
++ "ajv": "^4.9.1",
++ "har-schema": "^1.0.5"
+ }
+ },
+ "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,
+ "optional": true
+ },
+ "hawk": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
++ "boom": "2.x.x",
++ "cryptiles": "2.x.x",
++ "hoek": "2.x.x",
++ "sntp": "1.x.x"
+ }
+ },
+ "hoek": {
+ "version": "2.16.3",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "http-signature": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.4.0",
- "sshpk": "1.13.0"
++ "assert-plus": "^0.2.0",
++ "jsprim": "^1.2.2",
++ "sshpk": "^1.7.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
++ "optional": true,
+ "requires": {
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true,
+ "optional": 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,
++ "optional": true,
+ "requires": {
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true,
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "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,
+ "optional": true
+ },
+ "jodid25519": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz",
+ "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "jsbn": "0.1.1"
++ "jsbn": "~0.1.0"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true,
+ "optional": 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,
+ "optional": true
+ },
+ "json-stable-stringify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "jsonify": "0.0.0"
++ "jsonify": "~0.0.0"
+ }
+ },
+ "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,
+ "optional": true
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true,
+ "optional": true
+ },
+ "jsprim": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
+ "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.0.2",
+ "json-schema": "0.2.3",
+ "verror": "1.3.6"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "mime-db": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
+ "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "mime-types": {
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "mime-db": "1.27.0"
++ "mime-db": "~1.27.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
++ "optional": true,
+ "requires": {
+ "brace-expansion": "1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
++ "optional": true,
+ "requires": {
+ "minimist": "0.0.8"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true,
+ "optional": true
+ },
+ "node-pre-gyp": {
+ "version": "0.6.36",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz",
+ "integrity": "sha1-22BBEst04NR3VU6bUFsXq936t4Y=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "mkdirp": "0.5.1",
- "nopt": "4.0.1",
- "npmlog": "4.1.0",
- "rc": "1.2.1",
- "request": "2.81.0",
- "rimraf": "2.6.1",
- "semver": "5.3.0",
- "tar": "2.2.1",
- "tar-pack": "3.4.0"
++ "mkdirp": "^0.5.1",
++ "nopt": "^4.0.1",
++ "npmlog": "^4.0.2",
++ "rc": "^1.1.7",
++ "request": "^2.81.0",
++ "rimraf": "^2.6.1",
++ "semver": "^5.3.0",
++ "tar": "^2.2.1",
++ "tar-pack": "^3.4.0"
+ }
+ },
+ "nopt": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.0",
+ "osenv": "0.1.4"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz",
+ "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
++ "are-we-there-yet": "~1.1.2",
++ "console-control-strings": "~1.1.0",
++ "gauge": "~2.7.3",
++ "set-blocking": "~2.0.0"
+ }
+ },
+ "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
++ "dev": true,
++ "optional": true
+ },
+ "oauth-sign": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "dev": true,
+ "optional": 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,
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
++ "optional": true,
+ "requires": {
+ "wrappy": "1.0.2"
+ }
+ },
+ "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,
+ "optional": true
+ },
+ "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,
+ "optional": true
+ },
+ "osenv": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
+ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
++ "os-homedir": "^1.0.0",
++ "os-tmpdir": "^1.0.0"
+ }
+ },
+ "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
++ "dev": true,
++ "optional": true
+ },
+ "performance-now": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true,
+ "optional": true
+ },
+ "qs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
+ "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "deep-extend": "0.4.2",
- "ini": "1.3.4",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
++ "deep-extend": "~0.4.0",
++ "ini": "~1.3.0",
++ "minimist": "^1.2.0",
++ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.2.9",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
+ "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "buffer-shims": "1.0.0",
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "1.0.1",
- "util-deprecate": "1.0.2"
++ "buffer-shims": "~1.0.0",
++ "core-util-is": "~1.0.0",
++ "inherits": "~2.0.1",
++ "isarray": "~1.0.0",
++ "process-nextick-args": "~1.0.6",
++ "string_decoder": "~1.0.0",
++ "util-deprecate": "~1.0.1"
+ }
+ },
+ "request": {
+ "version": "2.81.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.6.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.5",
- "extend": "3.0.1",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "4.2.1",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.15",
- "oauth-sign": "0.8.2",
- "performance-now": "0.2.0",
- "qs": "6.4.0",
- "safe-buffer": "5.0.1",
- "stringstream": "0.0.5",
- "tough-cookie": "2.3.2",
- "tunnel-agent": "0.6.0",
- "uuid": "3.0.1"
++ "aws-sign2": "~0.6.0",
++ "aws4": "^1.2.1",
++ "caseless": "~0.12.0",
++ "combined-stream": "~1.0.5",
++ "extend": "~3.0.0",
++ "forever-agent": "~0.6.1",
++ "form-data": "~2.1.1",
++ "har-validator": "~4.2.1",
++ "hawk": "~3.1.3",
++ "http-signature": "~1.1.0",
++ "is-typedarray": "~1.0.0",
++ "isstream": "~0.1.2",
++ "json-stringify-safe": "~5.0.1",
++ "mime-types": "~2.1.7",
++ "oauth-sign": "~0.8.1",
++ "performance-now": "^0.2.0",
++ "qs": "~6.4.0",
++ "safe-buffer": "^5.0.1",
++ "stringstream": "~0.0.4",
++ "tough-cookie": "~2.3.0",
++ "tunnel-agent": "^0.6.0",
++ "uuid": "^3.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
+ "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "glob": "7.1.2"
++ "glob": "^7.0.5"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
+ "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true,
+ "optional": true
+ },
+ "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,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true,
+ "optional": true
+ },
+ "sntp": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "hoek": "2.16.3"
++ "hoek": "2.x.x"
+ }
+ },
+ "sshpk": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz",
+ "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "asn1": "0.2.3",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.1",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.1",
- "getpass": "0.1.7",
- "jodid25519": "1.0.2",
- "jsbn": "0.1.1",
- "tweetnacl": "0.14.5"
++ "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",
++ "jodid25519": "^1.0.0",
++ "jsbn": "~0.1.0",
++ "tweetnacl": "~0.14.0"
+ },
+ "dependencies": {
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true,
+ "optional": 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,
++ "optional": true,
+ "requires": {
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
+ }
+ },
+ "string_decoder": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
+ "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "safe-buffer": "5.0.1"
++ "safe-buffer": "^5.0.1"
+ }
+ },
+ "stringstream": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
+ "dev": true,
+ "optional": true
+ },
+ "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,
++ "optional": true,
+ "requires": {
+ "ansi-regex": "2.1.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,
+ "optional": true
+ },
+ "tar": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
+ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
+ "dev": true,
++ "optional": true,
+ "requires": {
- "block-stream": "0.0.9",
- "fstream": "1.0.11",
- "inherits": "2.0.3"
++ "block-stream": "*",
++ "fstream": "^1.0.2",
++ "inherits": "2"
+ }
+ },
+ "tar-pack": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
+ "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "debug": "2.6.8",
- "fstream": "1.0.11",
- "fstream-ignore": "1.0.5",
- "once": "1.4.0",
- "readable-stream": "2.2.9",
- "rimraf": "2.6.1",
- "tar": "2.2.1",
- "uid-number": "0.0.6"
++ "debug": "^2.2.0",
++ "fstream": "^1.0.10",
++ "fstream-ignore": "^1.0.5",
++ "once": "^1.3.3",
++ "readable-stream": "^2.1.4",
++ "rimraf": "^2.5.1",
++ "tar": "^2.2.1",
++ "uid-number": "^0.0.6"
+ }
+ },
+ "tough-cookie": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "punycode": "1.4.1"
++ "punycode": "^1.4.1"
+ }
+ },
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "safe-buffer": "5.0.1"
++ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true,
+ "optional": true
+ },
+ "uid-number": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
+ "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=",
+ "dev": true,
+ "optional": 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
++ "dev": true,
++ "optional": true
+ },
+ "uuid": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
+ "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
+ "dev": true,
+ "optional": true
+ },
+ "verror": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "extsprintf": "1.0.2"
+ }
+ },
+ "wide-align": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
+ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "string-width": "1.0.2"
++ "string-width": "^1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
++ "dev": true,
++ "optional": true
+ }
+ }
+ },
+ "fstream": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
+ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
+ "dev": true,
+ "requires": {
- "graceful-fs": "4.1.11",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2"
++ "graceful-fs": "^4.1.2",
++ "inherits": "~2.0.0",
++ "mkdirp": ">=0.5 0",
++ "rimraf": "2"
+ }
+ },
+ "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.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
++ "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.1"
++ "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.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
++ "code-point-at": "^1.0.0",
++ "is-fullwidth-code-point": "^1.0.0",
++ "strip-ansi": "^3.0.0"
+ }
+ }
+ }
+ },
+ "gaze": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
+ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=",
+ "dev": true,
+ "requires": {
- "globule": "1.2.0"
++ "globule": "^1.0.0"
+ }
+ },
+ "genfun": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
+ "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
+ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
+ "dev": true
+ },
+ "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": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
- "pump": "3.0.0"
++ "pump": "^3.0.0"
+ }
+ },
+ "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"
++ "assert-plus": "^1.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+ "dev": true,
+ "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "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.1"
++ "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.1"
++ "is-glob": "^2.0.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": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
- "array-union": "1.0.2",
- "arrify": "1.0.1",
- "glob": "7.1.2",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
++ "array-union": "^1.0.1",
++ "arrify": "^1.0.0",
++ "glob": "^7.0.3",
++ "object-assign": "^4.0.1",
++ "pify": "^2.0.0",
++ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "globule": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
+ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
+ "dev": true,
+ "requires": {
- "glob": "7.1.2",
- "lodash": "4.17.4",
- "minimatch": "3.0.4"
++ "glob": "~7.1.1",
++ "lodash": "~4.17.4",
++ "minimatch": "~3.0.2"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.1.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
+ "dev": true
+ },
+ "hammerjs": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
+ "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE="
+ },
+ "handle-thing": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
+ "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
+ "dev": true
+ },
+ "handlebars": {
+ "version": "4.0.12",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
+ "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
+ "dev": true,
+ "requires": {
- "async": "2.5.0",
- "optimist": "0.6.1",
- "source-map": "0.6.1",
- "uglify-js": "3.4.9"
++ "async": "^2.5.0",
++ "optimist": "^0.6.1",
++ "source-map": "^0.6.1",
++ "uglify-js": "^3.1.4"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "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.0.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
+ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+ "dev": true,
+ "requires": {
- "ajv": "5.2.3",
- "har-schema": "2.0.0"
++ "ajv": "^5.1.0",
++ "har-schema": "^2.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz",
+ "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=",
+ "dev": true,
+ "requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.0.0",
- "json-schema-traverse": "0.3.1",
- "json-stable-stringify": "1.0.1"
++ "co": "^4.6.0",
++ "fast-deep-equal": "^1.0.0",
++ "json-schema-traverse": "^0.3.0",
++ "json-stable-stringify": "^1.0.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.1.1"
++ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-binary": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
+ "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
+ "dev": true,
+ "requires": {
+ "isarray": "0.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+ "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "dev": true
+ }
+ }
+ },
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "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
+ },
+ "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.1"
++ "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"
++ "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.2.2"
++ "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-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"
++ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
+ "requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.1"
++ "inherits": "^2.0.1",
++ "safe-buffer": "^5.0.1"
+ }
+ },
+ "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"
++ "inherits": "^2.0.3",
++ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hawk": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
+ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
+ "dev": true,
+ "requires": {
- "boom": "4.3.1",
- "cryptiles": "3.1.2",
- "hoek": "4.2.0",
- "sntp": "2.0.2"
++ "boom": "4.x.x",
++ "cryptiles": "3.x.x",
++ "hoek": "4.x.x",
++ "sntp": "2.x.x"
+ }
+ },
+ "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.1.7",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
++ "hash.js": "^1.0.3",
++ "minimalistic-assert": "^1.0.0",
++ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "hoek": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
+ "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
+ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==",
+ "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.3",
- "obuf": "1.1.2",
- "readable-stream": "2.3.3",
- "wbuf": "1.7.3"
++ "inherits": "^2.0.1",
++ "obuf": "^1.0.0",
++ "readable-stream": "^2.0.1",
++ "wbuf": "^1.1.0"
+ }
+ },
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+ "dev": true
+ },
+ "http-cache-semantics": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
+ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
+ "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.6.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
+ "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
+ "dev": true,
+ "requires": {
+ "depd": "1.1.1",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.0.3",
- "statuses": "1.3.1"
++ "statuses": ">= 1.3.1 < 2"
+ },
+ "dependencies": {
+ "setprototypeof": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
+ "dev": true
+ }
+ }
+ },
+ "http-parser-js": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+ "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
+ "dev": true
+ },
+ "http-proxy": {
+ "version": "1.16.2",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz",
+ "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=",
+ "dev": true,
+ "requires": {
- "eventemitter3": "1.2.0",
- "requires-port": "1.0.0"
++ "eventemitter3": "1.x.x",
++ "requires-port": "1.x.x"
+ }
+ },
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+ "dev": true,
+ "requires": {
- "agent-base": "4.2.1",
++ "agent-base": "4",
+ "debug": "3.1.0"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "dev": true,
+ "requires": {
- "es6-promisify": "5.0.0"
++ "es6-promisify": "^5.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
+ }
+ },
+ "http-proxy-middleware": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
+ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
+ "dev": true,
+ "requires": {
- "http-proxy": "1.16.2",
- "is-glob": "4.0.0",
- "lodash": "4.17.11",
- "micromatch": "3.1.10"
++ "http-proxy": "^1.16.2",
++ "is-glob": "^4.0.0",
++ "lodash": "^4.17.5",
++ "micromatch": "^3.1.9"
+ },
+ "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.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
++ "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.1"
++ "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.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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.6"
++ "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.1"
++ "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.2.2"
++ "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-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.2.2"
++ "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-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.1.0"
++ "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.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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.2"
++ "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.1"
++ "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.1"
++ "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.1"
++ "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.2"
++ "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.2"
++ "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-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.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "dev": true,
+ "requires": {
- "is-extglob": "2.1.1"
++ "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.2.2"
++ "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-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.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "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.2",
- "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.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
++ "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.4.1",
- "sshpk": "1.13.1"
++ "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
+ },
+ "https-proxy-agent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
+ "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+ "dev": true,
+ "requires": {
- "agent-base": "2.1.1",
- "debug": "2.6.9",
- "extend": "3.0.1"
++ "agent-base": "2",
++ "debug": "2",
++ "extend": "3"
+ }
+ },
+ "humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "dev": true,
+ "requires": {
- "ms": "2.0.0"
++ "ms": "^2.0.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.19",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
+ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
+ "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==",
+ "dev": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
+ "dev": true,
+ "requires": {
- "minimatch": "3.0.4"
++ "minimatch": "^3.0.4"
+ }
+ },
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
+ },
+ "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-from": "^2.1.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"
++ "resolve-from": "^3.0.0"
+ }
+ },
+ "import-local": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "dev": true,
+ "requires": {
- "pkg-dir": "3.0.0",
- "resolve-cwd": "2.0.0"
++ "pkg-dir": "^3.0.0",
++ "resolve-cwd": "^2.0.0"
+ },
+ "dependencies": {
+ "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": "^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-locate": "^3.0.0",
++ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
+ "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
+ "dev": true,
+ "requires": {
- "p-try": "2.0.0"
++ "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.1.0"
++ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
+ "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "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
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
- "find-up": "3.0.0"
++ "find-up": "^3.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.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "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.1"
++ "repeating": "^2.0.0"
+ }
+ },
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+ "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.4.0",
- "wrappy": "1.0.2"
++ "once": "^1.3.0",
++ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
+ "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
+ "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
+ "dev": true,
+ "requires": {
- "ansi-escapes": "3.2.0",
- "chalk": "2.4.2",
- "cli-cursor": "2.1.0",
- "cli-width": "2.2.0",
- "external-editor": "3.0.3",
- "figures": "2.0.0",
- "lodash": "4.17.11",
++ "ansi-escapes": "^3.0.0",
++ "chalk": "^2.0.0",
++ "cli-cursor": "^2.1.0",
++ "cli-width": "^2.0.0",
++ "external-editor": "^3.0.0",
++ "figures": "^2.0.0",
++ "lodash": "^4.17.10",
+ "mute-stream": "0.0.7",
- "run-async": "2.3.0",
- "rxjs": "6.4.0",
- "string-width": "2.1.1",
- "strip-ansi": "5.0.0",
- "through": "2.3.8"
++ "run-async": "^2.2.0",
++ "rxjs": "^6.1.0",
++ "string-width": "^2.1.0",
++ "strip-ansi": "^5.0.0",
++ "through": "^2.3.6"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
+ "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
+ "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.3"
++ "color-convert": "^1.9.0"
+ }
+ },
+ "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.5.0"
++ "ansi-styles": "^3.2.1",
++ "escape-string-regexp": "^1.0.5",
++ "supports-color": "^5.3.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.4.0",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz",
+ "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==",
+ "dev": true,
+ "requires": {
- "tslib": "1.9.3"
++ "tslib": "^1.9.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
+ "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
+ "dev": true,
+ "requires": {
- "ansi-regex": "4.0.0"
++ "ansi-regex": "^4.0.0"
+ }
+ },
+ "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"
++ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
+ "internal-ip": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz",
+ "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==",
+ "dev": true,
+ "requires": {
- "default-gateway": "2.7.2",
- "ipaddr.js": "1.8.0"
++ "default-gateway": "^2.6.0",
++ "ipaddr.js": "^1.5.2"
+ }
+ },
+ "interpret": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz",
+ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=",
+ "dev": true,
+ "requires": {
- "loose-envify": "1.3.1"
++ "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": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
+ "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
+ "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.2.2"
++ "kind-of": "^3.0.2"
+ }
+ },
+ "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-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.10.0"
++ "binary-extensions": "^1.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz",
+ "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=",
+ "dev": true
+ },
+ "is-builtin-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
+ "dev": true,
+ "requires": {
- "builtin-modules": "1.1.1"
++ "builtin-modules": "^1.0.0"
+ }
+ },
+ "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.2.2"
++ "kind-of": "^3.0.2"
+ }
+ },
+ "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.1.0"
++ "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-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-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.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
+ "dev": true,
+ "requires": {
- "number-is-nan": "1.0.1"
++ "number-is-nan": "^1.0.0"
+ }
+ },
+ "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-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-extglob": "^1.0.0"
+ }
+ },
+ "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.2.2"
++ "kind-of": "^3.0.2"
+ }
+ },
+ "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.0",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz",
+ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=",
+ "dev": true,
+ "requires": {
- "is-path-inside": "1.0.0"
++ "is-path-inside": "^1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz",
+ "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=",
+ "dev": true,
+ "requires": {
- "path-is-inside": "1.0.2"
++ "path-is-inside": "^1.0.1"
+ }
+ },
+ "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"
++ "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-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-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "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-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "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-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
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isbinaryfile": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.2.tgz",
+ "integrity": "sha1-Sj6XTsDLqQBNP8bN5yCeppNopiE=",
+ "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
+ },
+ "istanbul": {
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+ "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
+ "dev": true,
+ "requires": {
- "abbrev": "1.0.9",
- "async": "1.5.2",
- "escodegen": "1.8.1",
- "esprima": "2.7.3",
- "glob": "5.0.15",
- "handlebars": "4.0.12",
- "js-yaml": "3.7.0",
- "mkdirp": "0.5.1",
- "nopt": "3.0.6",
- "once": "1.4.0",
- "resolve": "1.1.7",
- "supports-color": "3.2.3",
- "which": "1.3.0",
- "wordwrap": "1.0.0"
++ "abbrev": "1.0.x",
++ "async": "1.x",
++ "escodegen": "1.8.x",
++ "esprima": "2.7.x",
++ "glob": "^5.0.15",
++ "handlebars": "^4.0.1",
++ "js-yaml": "3.x",
++ "mkdirp": "0.5.x",
++ "nopt": "3.x",
++ "once": "1.x",
++ "resolve": "1.1.x",
++ "supports-color": "^3.1.0",
++ "which": "^1.1.1",
++ "wordwrap": "^1.0.0"
+ },
+ "dependencies": {
+ "abbrev": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+ "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+ "dev": true
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "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.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
++ "inflight": "^1.0.4",
++ "inherits": "2",
++ "minimatch": "2 || 3",
++ "once": "^1.3.0",
++ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "dev": true
+ }
+ }
+ },
+ "istanbul-api": {
+ "version": "1.1.14",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz",
+ "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=",
+ "dev": true,
+ "requires": {
- "async": "2.5.0",
- "fileset": "2.0.3",
- "istanbul-lib-coverage": "1.1.1",
- "istanbul-lib-hook": "1.0.7",
- "istanbul-lib-instrument": "1.8.0",
- "istanbul-lib-report": "1.1.1",
- "istanbul-lib-source-maps": "1.2.1",
- "istanbul-reports": "1.1.2",
- "js-yaml": "3.7.0",
- "mkdirp": "0.5.1",
- "once": "1.4.0"
++ "async": "^2.1.4",
++ "fileset": "^2.0.2",
++ "istanbul-lib-coverage": "^1.1.1",
++ "istanbul-lib-hook": "^1.0.7",
++ "istanbul-lib-instrument": "^1.8.0",
++ "istanbul-lib-report": "^1.1.1",
++ "istanbul-lib-source-maps": "^1.2.1",
++ "istanbul-reports": "^1.1.2",
++ "js-yaml": "^3.7.0",
++ "mkdirp": "^0.5.1",
++ "once": "^1.4.0"
+ }
+ },
+ "istanbul-instrumenter-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+ "dev": true,
+ "requires": {
- "convert-source-map": "1.6.0",
- "istanbul-lib-instrument": "1.8.0",
- "loader-utils": "1.2.3",
- "schema-utils": "0.3.0"
++ "convert-source-map": "^1.5.0",
++ "istanbul-lib-instrument": "^1.7.3",
++ "loader-utils": "^1.1.0",
++ "schema-utils": "^0.3.0"
+ },
+ "dependencies": {
+ "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.1"
++ "co": "^4.6.0",
++ "fast-deep-equal": "^1.0.0",
++ "fast-json-stable-stringify": "^2.0.0",
++ "json-schema-traverse": "^0.3.0"
+ }
+ },
+ "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.5.2"
++ "ajv": "^5.0.0"
+ }
+ }
+ }
+ },
+ "istanbul-lib-coverage": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz",
+ "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz",
+ "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==",
+ "dev": true,
+ "requires": {
- "append-transform": "0.4.0"
++ "append-transform": "^0.4.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz",
+ "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=",
+ "dev": true,
+ "requires": {
- "babel-generator": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "istanbul-lib-coverage": "1.1.1",
- "semver": "5.4.1"
++ "babel-generator": "^6.18.0",
++ "babel-template": "^6.16.0",
++ "babel-traverse": "^6.18.0",
++ "babel-types": "^6.18.0",
++ "babylon": "^6.18.0",
++ "istanbul-lib-coverage": "^1.1.1",
++ "semver": "^5.3.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
+ "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==",
+ "dev": true,
+ "requires": {
- "istanbul-lib-coverage": "1.1.1",
- "mkdirp": "0.5.1",
- "path-parse": "1.0.5",
- "supports-color": "3.2.3"
++ "istanbul-lib-coverage": "^1.1.1",
++ "mkdirp": "^0.5.1",
++ "path-parse": "^1.0.5",
++ "supports-color": "^3.1.2"
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz",
+ "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==",
+ "dev": true,
+ "requires": {
- "debug": "2.6.9",
- "istanbul-lib-coverage": "1.1.1",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "source-map": "0.5.7"
++ "debug": "^2.6.3",
++ "istanbul-lib-coverage": "^1.1.1",
++ "mkdirp": "^0.5.1",
++ "rimraf": "^2.6.1",
++ "source-map": "^0.5.3"
+ }
+ },
+ "istanbul-reports": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=",
+ "dev": true,
+ "requires": {
- "handlebars": "4.0.10"
++ "handlebars": "^4.0.3"
+ },
+ "dependencies": {
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+ "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+ "dev": true,
+ "optional": true
+ },
+ "cliui": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
++ "center-align": "^0.1.1",
++ "right-align": "^0.1.1",
+ "wordwrap": "0.0.2"
+ },
+ "dependencies": {
+ "wordwrap": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "handlebars": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz",
+ "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=",
+ "dev": true,
+ "requires": {
- "async": "1.5.2",
- "optimist": "0.6.1",
- "source-map": "0.4.4",
- "uglify-js": "2.8.29"
++ "async": "^1.4.0",
++ "optimist": "^0.6.1",
++ "source-map": "^0.4.4",
++ "uglify-js": "^2.6"
+ }
+ },
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
- "minimist": "0.0.10",
- "wordwrap": "0.0.3"
++ "minimist": "~0.0.1",
++ "wordwrap": "~0.0.2"
+ }
+ },
+ "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": "1.0.1"
++ "amdefine": ">=0.0.4"
+ }
+ },
+ "uglify-js": {
+ "version": "2.8.29",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
++ "source-map": "~0.5.1",
++ "uglify-to-browserify": "~1.0.0",
++ "yargs": "~3.10.0"
+ },
+ "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,
+ "optional": true
+ }
+ }
+ },
+ "yargs": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "dev": true,
+ "optional": true,
+ "requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
++ "camelcase": "^1.0.2",
++ "cliui": "^2.1.0",
++ "decamelize": "^1.0.0",
+ "window-size": "0.1.0"
+ }
+ }
+ }
+ },
+ "jasmine": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
+ "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
+ "dev": true,
+ "requires": {
- "exit": "0.1.2",
- "glob": "7.1.2",
- "jasmine-core": "2.8.0"
++ "exit": "^0.1.2",
++ "glob": "^7.0.6",
++ "jasmine-core": "~2.8.0"
+ },
+ "dependencies": {
+ "jasmine-core": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
+ "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
+ "dev": true
+ }
+ }
+ },
+ "jasmine-core": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.5.2.tgz",
+ "integrity": "sha1-b2G9eQYeJ/Q+b5NV5Es8bKtv8pc=",
+ "dev": true
+ },
+ "jasmine-spec-reporter": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-3.2.0.tgz",
+ "integrity": "sha1-/b6FqAzN07J2dGvHf96Dwc53Pv8=",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2"
+ }
+ },
+ "jasminewd2": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
+ "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz",
+ "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==",
+ "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.9",
- "esprima": "2.7.3"
++ "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,
+ "optional": true
+ },
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "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": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "dev": true,
+ "requires": {
- "jsonify": "0.0.0"
++ "jsonify": "~0.0.0"
+ }
+ },
+ "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.2",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
+ "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "dev": true
+ },
+ "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"
++ "minimist": "^1.2.0"
+ }
+ },
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "karma": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-1.4.1.tgz",
+ "integrity": "sha1-QZgacdVCN2BrCj6oxYyQdz9BZQ4=",
+ "dev": true,
+ "requires": {
- "bluebird": "3.5.1",
- "body-parser": "1.18.2",
- "chokidar": "1.7.0",
- "colors": "1.1.2",
- "combine-lists": "1.0.1",
- "connect": "3.6.5",
- "core-js": "2.4.1",
- "di": "0.0.1",
- "dom-serialize": "2.2.1",
- "expand-braces": "0.1.2",
- "glob": "7.1.2",
- "graceful-fs": "4.1.11",
- "http-proxy": "1.16.2",
- "isbinaryfile": "3.0.2",
- "lodash": "3.10.1",
- "log4js": "0.6.38",
- "mime": "1.4.1",
- "minimatch": "3.0.4",
- "optimist": "0.6.1",
- "qjobs": "1.1.5",
- "range-parser": "1.2.0",
- "rimraf": "2.6.2",
- "safe-buffer": "5.1.1",
++ "bluebird": "^3.3.0",
++ "body-parser": "^1.12.4",
++ "chokidar": "^1.4.1",
++ "colors": "^1.1.0",
++ "combine-lists": "^1.0.0",
++ "connect": "^3.3.5",
++ "core-js": "^2.2.0",
++ "di": "^0.0.1",
++ "dom-serialize": "^2.2.0",
++ "expand-braces": "^0.1.1",
++ "glob": "^7.1.1",
++ "graceful-fs": "^4.1.2",
++ "http-proxy": "^1.13.0",
++ "isbinaryfile": "^3.0.0",
++ "lodash": "^3.8.0",
++ "log4js": "^0.6.31",
++ "mime": "^1.3.4",
++ "minimatch": "^3.0.0",
++ "optimist": "^0.6.1",
++ "qjobs": "^1.1.4",
++ "range-parser": "^1.2.0",
++ "rimraf": "^2.3.3",
++ "safe-buffer": "^5.0.1",
+ "socket.io": "1.7.2",
- "source-map": "0.5.7",
++ "source-map": "^0.5.3",
+ "tmp": "0.0.28",
- "useragent": "2.2.1"
++ "useragent": "^2.1.10"
+ },
+ "dependencies": {
+ "lodash": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+ "dev": true
+ },
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
+ },
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
+ "requires": {
- "minimist": "0.0.10",
- "wordwrap": "0.0.3"
++ "minimist": "~0.0.1",
++ "wordwrap": "~0.0.2"
+ }
+ },
+ "tmp": {
+ "version": "0.0.28",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
+ "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=",
+ "dev": true,
+ "requires": {
- "os-tmpdir": "1.0.2"
++ "os-tmpdir": "~1.0.1"
+ }
+ }
+ }
+ },
+ "karma-chrome-launcher": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.0.0.tgz",
+ "integrity": "sha1-wnkMWjKxVXfQ//Wk1aJwOztDnCU=",
+ "dev": true,
+ "requires": {
- "fs-access": "1.0.1",
- "which": "1.3.0"
++ "fs-access": "^1.0.0",
++ "which": "^1.2.1"
+ }
+ },
+ "karma-cli": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz",
+ "integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=",
+ "dev": true,
+ "requires": {
- "resolve": "1.4.0"
++ "resolve": "^1.1.6"
+ }
+ },
+ "karma-coverage-istanbul-reporter": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-0.2.3.tgz",
+ "integrity": "sha1-EfG+nPqTdVp3usOasW4xWnEAtcU=",
+ "dev": true,
+ "requires": {
- "istanbul-api": "1.1.14"
++ "istanbul-api": "^1.1.1"
+ }
+ },
+ "karma-jasmine": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.0.tgz",
+ "integrity": "sha1-IuTAa/mhguUpTR9wXjczgRuBCs8=",
+ "dev": true
+ },
+ "karma-jasmine-html-reporter": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz",
+ "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=",
+ "dev": true,
+ "requires": {
- "karma-jasmine": "1.1.0"
++ "karma-jasmine": "^1.0.2"
+ }
+ },
+ "karma-source-map-support": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.3.0.tgz",
+ "integrity": "sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q==",
+ "dev": true,
+ "requires": {
- "source-map-support": "0.5.10"
++ "source-map-support": "^0.5.5"
+ },
+ "dependencies": {
+ "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-support": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
+ "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==",
+ "dev": true,
+ "requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
++ "buffer-from": "^1.0.0",
++ "source-map": "^0.6.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"
++ "is-buffer": "^1.1.5"
+ }
+ },
+ "lazy-cache": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+ "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+ "dev": true,
+ "optional": true
+ },
+ "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"
++ "invert-kv": "^1.0.0"
+ }
+ },
+ "less": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
+ "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
+ "dev": true,
+ "requires": {
- "clone": "2.1.2",
- "errno": "0.1.7",
- "graceful-fs": "4.1.11",
- "image-size": "0.5.5",
- "mime": "1.4.1",
- "mkdirp": "0.5.1",
- "promise": "7.3.1",
- "request": "2.83.0",
- "source-map": "0.6.1"
++ "clone": "^2.1.2",
++ "errno": "^0.1.1",
++ "graceful-fs": "^4.1.2",
++ "image-size": "~0.5.0",
++ "mime": "^1.4.1",
++ "mkdirp": "^0.5.0",
++ "promise": "^7.1.1",
++ "request": "^2.83.0",
++ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "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,
+ "optional": true
+ }
+ }
+ },
+ "less-loader": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz",
+ "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==",
+ "dev": true,
+ "requires": {
- "clone": "2.1.2",
- "loader-utils": "1.2.3",
- "pify": "3.0.0"
++ "clone": "^2.1.1",
++ "loader-utils": "^1.1.0",
++ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
- "prelude-ls": "1.1.2",
- "type-check": "0.3.2"
++ "prelude-ls": "~1.1.2",
++ "type-check": "~0.3.2"
+ }
+ },
+ "license-webpack-plugin": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.0.tgz",
+ "integrity": "sha512-vDiBeMWxjE9n6TabQ9J4FH8urFdsRK0Nvxn1cit9biCiR9aq1zBR0X2BlAkEiIG6qPamLeU0GzvIgLkrFc398A==",
+ "dev": true,
+ "requires": {
- "@types/webpack-sources": "0.1.5",
- "webpack-sources": "1.3.0"
++ "@types/webpack-sources": "^0.1.5",
++ "webpack-sources": "^1.2.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.11",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
++ "graceful-fs": "^4.1.2",
++ "parse-json": "^2.2.0",
++ "pify": "^2.0.0",
++ "pinkie-promise": "^2.0.0",
++ "strip-bom": "^2.0.0"
+ }
+ },
+ "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.2.3",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+ "dev": true,
+ "requires": {
- "big.js": "5.2.2",
- "emojis-list": "2.1.0",
- "json5": "1.0.1"
++ "big.js": "^5.2.2",
++ "emojis-list": "^2.0.0",
++ "json5": "^1.0.1"
+ }
+ },
+ "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"
++ "p-locate": "^2.0.0",
++ "path-exists": "^3.0.0"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "lodash": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
+ "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.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+ "dev": true
+ },
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "dev": true
+ },
+ "lodash.mergewith": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
+ "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=",
+ "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
+ },
+ "log4js": {
+ "version": "0.6.38",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
+ "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+ "dev": true,
+ "requires": {
- "readable-stream": "1.0.34",
- "semver": "4.3.6"
++ "readable-stream": "~1.0.2",
++ "semver": "~4.3.3"
+ },
+ "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.2",
- "inherits": "2.0.3",
++ "core-util-is": "~1.0.0",
++ "inherits": "~2.0.1",
+ "isarray": "0.0.1",
- "string_decoder": "0.10.31"
++ "string_decoder": "~0.10.x"
+ }
+ },
+ "semver": {
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+ "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+ "dev": true
+ },
+ "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
+ }
+ }
+ },
+ "loglevel": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz",
+ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=",
+ "dev": true
+ },
+ "longest": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+ "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
- "dev": true
++ "dev": true,
++ "optional": true
+ },
+ "loose-envify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
+ "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "dev": true,
+ "requires": {
- "js-tokens": "3.0.2"
++ "js-tokens": "^3.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.2"
++ "currently-unhandled": "^0.4.1",
++ "signal-exit": "^3.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz",
+ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==",
+ "dev": true,
+ "requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
++ "pseudomap": "^1.0.2",
++ "yallist": "^2.1.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.2",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz",
+ "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==",
+ "dev": true,
+ "requires": {
- "sourcemap-codec": "1.4.4"
++ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "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"
++ "pify": "^3.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ }
+ }
+ },
+ "make-error": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.0.tgz",
+ "integrity": "sha1-Uq06M5zPEM5itAQLcI/nByRLi5Y=",
+ "dev": true
+ },
+ "make-fetch-happen": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz",
+ "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==",
+ "dev": true,
+ "requires": {
- "agentkeepalive": "3.5.2",
- "cacache": "11.3.2",
- "http-cache-semantics": "3.8.1",
- "http-proxy-agent": "2.1.0",
- "https-proxy-agent": "2.2.1",
- "lru-cache": "4.1.5",
- "mississippi": "3.0.0",
- "node-fetch-npm": "2.0.2",
- "promise-retry": "1.1.1",
- "socks-proxy-agent": "4.0.1",
- "ssri": "6.0.1"
++ "agentkeepalive": "^3.4.1",
++ "cacache": "^11.0.1",
++ "http-cache-semantics": "^3.8.1",
++ "http-proxy-agent": "^2.1.0",
++ "https-proxy-agent": "^2.2.1",
++ "lru-cache": "^4.1.2",
++ "mississippi": "^3.0.0",
++ "node-fetch-npm": "^2.0.2",
++ "promise-retry": "^1.1.1",
++ "socks-proxy-agent": "^4.0.0",
++ "ssri": "^6.0.0"
+ },
+ "dependencies": {
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "dev": true,
+ "requires": {
- "es6-promisify": "5.0.0"
++ "es6-promisify": "^5.0.0"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
- "ms": "2.1.1"
++ "ms": "^2.1.1"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
+ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+ "dev": true,
+ "requires": {
- "agent-base": "4.2.1",
- "debug": "3.2.6"
++ "agent-base": "^4.1.0",
++ "debug": "^3.1.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"
++ "pseudomap": "^1.0.2",
++ "yallist": "^2.1.2"
+ }
+ },
+ "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
+ }
+ }
+ },
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
- "p-defer": "1.0.0"
++ "p-defer": "^1.0.0"
+ }
+ },
+ "map-cache": {
+ "version": "0.2.2",
... 8531 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 06/12: [DLAB-4]: added terminal per notebook on
actions panel
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 45378b00994e6411db9501210794bc139ced6ef0
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Wed May 8 16:32:10 2019 +0300
[DLAB-4]: added terminal per notebook on actions panel
---
.../exploratory/detail-dialog/detail-dialog.component.html | 5 -----
.../webapp/src/app/resources/exploratory/detail-dialog/index.ts | 2 --
.../resources/webapp/src/app/resources/resources-grid/index.ts | 3 ++-
.../src/app/resources/resources-grid/resources-grid.component.css | 8 +++++++-
.../app/resources/resources-grid/resources-grid.component.html | 6 ++++++
.../src/app/resources/resources-grid/resources-grid.component.ts | 5 -----
6 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index 8e9373e..4fe8794 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -118,11 +118,6 @@
(click)="editClusterConfiguration(configurationForm.value)">Update</button>
</div>
</div>
-
- <div>
- <label>Terminal: </label>
- <a target="_blank" [routerLink]="['/terminal', notebook.ip]" mat-raised-button type="button" class="butt action">Open terminal</a>
- </div>
</div>
</div>
</modal-content>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
index 0a7bcac..1571d71 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/index.ts
@@ -20,7 +20,6 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-import { RouterModule } from '@angular/router';
import { ModalModule } from '../../../shared';
import { MaterialModule } from '../../../shared/material.module';
import { DetailDialogComponent } from './detail-dialog.component';
@@ -34,7 +33,6 @@ export * from './detail-dialog.component';
ModalModule,
FormsModule,
ReactiveFormsModule,
- RouterModule,
MaterialModule,
DirectivesModule
],
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
index b078349..ea94971 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/index.ts
@@ -19,7 +19,7 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
-
+import { RouterModule } from '@angular/router';
import { MaterialModule } from '../../shared/material.module';
import { ResourcesGridComponent } from './resources-grid.component';
import { ComputationalResourcesModule } from '../computational/computational-resources-list';
@@ -36,6 +36,7 @@ import { UnderscorelessPipeModule } from '../../core/pipes/underscoreless-pipe';
@NgModule({
imports: [
CommonModule,
+ RouterModule,
ComputationalResourcesModule,
ModalModule,
ConfirmationDialogModule,
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.css b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.css
index 6b4682f..ec1d129 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.css
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.css
@@ -174,6 +174,11 @@
color: #577289;
transition: all 0.45s ease-in-out;
}
+.dashboard_table .list-menu a.navigate {
+ text-decoration: none;
+ color: #577289;
+ transition: all 0.45s ease-in-out;
+}
.dashboard_table .list-menu li i {
font-size: 18px;
@@ -181,7 +186,8 @@
vertical-align: bottom;
}
-.dashboard_table .list-menu li:hover {
+.dashboard_table .list-menu li:hover,
+.dashboard_table .list-menu li:hover a {
background: none !important;
color: #36afd5;
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
index 8502953..559cd13 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.html
@@ -141,6 +141,12 @@
<i class="material-icons">developer_board</i>
<span>Manage libraries</span>
</li>
+ <li (click)="openTerminal(env.ip)">
+ <a target="_blank" [routerLink]="['/terminal', env.ip]" class="navigate">
+ <i class="material-icons">laptop</i>
+ <span>Open terminal</span>
+ </a>
+ </li>
</ul>
</bubble-up>
</td>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
index c897950..1a5564b 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
@@ -305,9 +305,4 @@ export class ResourcesGridComponent implements OnInit {
this.createAMI.open({ isFooter: false }, data);
}
}
-
- dropdownPosition($event): void {
- const contentHeight = document.body.offsetHeight > window.outerHeight ? document.body.offsetHeight : window.outerHeight;
- this.isOutscreenDropdown = $event.pageY + 285 > contentHeight ? true : false;
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 08/12: DLAB-2 added backend for web terminal
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 84ee64251853fe78e0f7339fcd661e8a09194d91
Author: bhliva <bo...@epam.com>
AuthorDate: Thu May 2 15:21:23 2019 +0300
DLAB-2 added backend for web terminal
---
services/self-service/pom.xml | 6 +++
services/self-service/self-service.yml | 22 +++++++--
.../dlab/backendapi/SelfServiceApplication.java | 13 +++++
.../SelfServiceApplicationConfiguration.java | 16 +++++++
.../epam/dlab/backendapi/modules/DevModule.java | 17 +++++--
.../dlab/backendapi/modules/ProductionModule.java | 1 +
.../dlab/backendapi/service/GuacamoleService.java | 10 ++++
.../service/impl/GuacamoleServiceImpl.java | 56 ++++++++++++++++++++++
.../servlet/guacamole/GuacamoleSecurityFilter.java | 56 ++++++++++++++++++++++
.../servlet/guacamole/GuacamoleServlet.java | 32 +++++++++++++
10 files changed, 219 insertions(+), 10 deletions(-)
diff --git a/services/self-service/pom.xml b/services/self-service/pom.xml
index e1190a6..5521958 100644
--- a/services/self-service/pom.xml
+++ b/services/self-service/pom.xml
@@ -161,6 +161,12 @@
</exclusions>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.guacamole</groupId>
+ <artifactId>guacamole-common</artifactId>
+ <version>1.0.0</version>
+ </dependency>
</dependencies>
<build>
diff --git a/services/self-service/self-service.yml b/services/self-service/self-service.yml
index 8a2fc60..8ae3c02 100644
--- a/services/self-service/self-service.yml
+++ b/services/self-service/self-service.yml
@@ -67,6 +67,8 @@ maxSessionDurabilityMilliseconds: 288000000
</#if>
server:
+ gzip:
+ enabled: false
requestLog:
appenders:
- type: file
@@ -76,8 +78,8 @@ server:
archivedFileCount: 10
rootPath: "/api"
applicationConnectors:
-# - type: http
-# port: 8080
+ # - type: http
+ # port: 8080
- type: https
port: 8443
certAlias: dlab
@@ -87,8 +89,8 @@ server:
trustStorePath: ${TRUST_STORE_PATH}
trustStorePassword: ${TRUST_STORE_PASSWORD}
adminConnectors:
-# - type: http
-# port: 8081
+ # - type: http
+ # port: 8081
- type: https
port: 8444
certAlias: dlab
@@ -105,6 +107,7 @@ logging:
loggers:
com.epam: TRACE
com.novemberain: ERROR
+ org.apache.guacamole: TRACE
appenders:
<#if DEV_MODE == "true">
- type: console
@@ -158,4 +161,13 @@ schedulers:
cron: "0 0 * ? * * *"
checkUserQuoteScheduler:
enabled: true
- cron: "0 0 * ? * * *"
\ No newline at end of file
+ cron: "0 0 * ? * * *"
+
+guacamole:
+ connectionProtocol: ssh
+ serverHost: localhost
+ serverPort: 4822
+ port: 22
+ username: dlab-user
+
+
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
index 7df4e47..1a8f59b 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplication.java
@@ -29,6 +29,8 @@ import com.epam.dlab.backendapi.modules.ModuleFactory;
import com.epam.dlab.backendapi.resources.*;
import com.epam.dlab.backendapi.resources.callback.*;
import com.epam.dlab.backendapi.schedulers.internal.ManagedScheduler;
+import com.epam.dlab.backendapi.servlet.guacamole.GuacamoleSecurityFilter;
+import com.epam.dlab.backendapi.servlet.guacamole.GuacamoleServlet;
import com.epam.dlab.cloud.CloudModule;
import com.epam.dlab.constants.ServiceConsts;
import com.epam.dlab.migration.mongo.DlabMongoMigration;
@@ -52,6 +54,9 @@ import io.federecio.dropwizard.swagger.SwaggerBundle;
import io.federecio.dropwizard.swagger.SwaggerBundleConfiguration;
import lombok.extern.slf4j.Slf4j;
+import javax.servlet.DispatcherType;
+import java.util.EnumSet;
+
/**
* Self Service based on Dropwizard application.
*/
@@ -113,6 +118,14 @@ public class SelfServiceApplication extends Application<SelfServiceApplicationCo
environment.healthChecks().register(
ServiceConsts.PROVISIONING_SERVICE_NAME, injector.getInstance(ProvisioningServiceHealthCheck.class));
+ final String guacamoleServletName = "GuacamoleServlet";
+ environment.servlets().addServlet(guacamoleServletName, injector.getInstance(GuacamoleServlet.class))
+ .addMapping("/api/tunnel");
+ environment.servlets().addFilter("GuacamoleSecurityFilter",
+ injector.getInstance(GuacamoleSecurityFilter.class))
+ .addMappingForServletNames(EnumSet.allOf(DispatcherType.class), true, guacamoleServletName);
+
+
JerseyEnvironment jersey = environment.jersey();
jersey.register(new RuntimeExceptionMapper());
jersey.register(new JsonProcessingExceptionMapper());
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplicationConfiguration.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplicationConfiguration.java
index 78a074b..6499b67 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplicationConfiguration.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/SelfServiceApplicationConfiguration.java
@@ -121,6 +121,22 @@ public class SelfServiceApplicationConfiguration extends ServiceConfiguration {
@JsonProperty(ServiceConsts.MAVEN_SEARCH_API)
private RESTServiceFactory mavenApiFactory;
+ @Valid
+ @NotNull
+ private Map<String, String> guacamole;
+
+ public Map<String, String> getGuacamole() {
+ return guacamole;
+ }
+
+ public String getGuacamoleHost() {
+ return guacamole.get("serverHost");
+ }
+
+ public Integer getGuacamolePort() {
+ return Integer.valueOf(guacamole.get("serverPort"));
+ }
+
@JsonProperty("jerseyClient")
public JerseyClientConfiguration getJerseyClientConfiguration() {
return jerseyClient;
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
index 27c38e4..bd4a5ab 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/DevModule.java
@@ -109,6 +109,7 @@ public class DevModule extends ModuleBase<SelfServiceApplicationConfiguration> i
bind(UserGroupDao.class).to(UserGroupDaoImpl.class);
bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
bind(UserSettingService.class).to(UserSettingServiceImpl.class);
+ bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
}
/**
@@ -133,6 +134,8 @@ public class DevModule extends ModuleBase<SelfServiceApplicationConfiguration> i
return authorize((UserCredentialDTO) parameter);
} else if (GET_USER_INFO.equals(path) && TOKEN.equals(parameter) && clazz.equals(UserInfo.class)) {
return (T) getUserInfo();
+ } else if (GET_USER_INFO.equals(path) && !TOKEN.equals(parameter) && clazz.equals(UserInfo.class)) {
+ return null;
} else if (LOGOUT.equals(path)) {
return (T) Response.ok().build();
}
@@ -144,14 +147,18 @@ public class DevModule extends ModuleBase<SelfServiceApplicationConfiguration> i
if (LOGIN_NAME.equals(credential.getUsername())) {
return (T) Response.ok(TOKEN).build();
} else {
- return (T) Response.status(Response.Status.UNAUTHORIZED)
- .entity(new ErrorDTO(Response.Status.UNAUTHORIZED.getStatusCode(), "Username or password" +
- " is invalid"))
- .type(MediaType.APPLICATION_JSON_TYPE)
- .build();
+ return (T) unauthorized();
}
}
+ private Response unauthorized() {
+ return Response.status(Response.Status.UNAUTHORIZED)
+ .entity(new ErrorDTO(Response.Status.UNAUTHORIZED.getStatusCode(), "Username or password" +
+ " is invalid"))
+ .type(MediaType.APPLICATION_JSON_TYPE)
+ .build();
+ }
+
@Override
public <T> T get(String path, Class<T> clazz) {
throw new UnsupportedOperationException(OPERATION_IS_NOT_SUPPORTED);
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
index e3ed4dc..7db5b26 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/modules/ProductionModule.java
@@ -86,5 +86,6 @@ public class ProductionModule extends ModuleBase<SelfServiceApplicationConfigura
bind(InactivityService.class).to(InactivityServiceImpl.class);
bind(ApplicationSettingService.class).to(ApplicationSettingServiceImpl.class);
bind(UserSettingService.class).to(UserSettingServiceImpl.class);
+ bind(GuacamoleService.class).to(GuacamoleServiceImpl.class);
}
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/GuacamoleService.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/GuacamoleService.java
new file mode 100644
index 0000000..760e701
--- /dev/null
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/GuacamoleService.java
@@ -0,0 +1,10 @@
+package com.epam.dlab.backendapi.service;
+
+import com.epam.dlab.auth.UserInfo;
+import org.apache.guacamole.net.GuacamoleTunnel;
+
+public interface GuacamoleService {
+
+ GuacamoleTunnel getTunnel(UserInfo userInfo, String host);
+
+}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
new file mode 100644
index 0000000..7292646
--- /dev/null
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
@@ -0,0 +1,56 @@
+package com.epam.dlab.backendapi.service.impl;
+
+import com.epam.dlab.auth.UserInfo;
+import com.epam.dlab.backendapi.SelfServiceApplicationConfiguration;
+import com.epam.dlab.backendapi.service.GuacamoleService;
+import com.epam.dlab.exceptions.DlabException;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.net.InetGuacamoleSocket;
+import org.apache.guacamole.net.SimpleGuacamoleTunnel;
+import org.apache.guacamole.protocol.ConfiguredGuacamoleSocket;
+import org.apache.guacamole.protocol.GuacamoleConfiguration;
+
+import java.util.Map;
+
+@Slf4j
+@Singleton
+public class GuacamoleServiceImpl implements GuacamoleService {
+
+ private static final String PRIVATE_KEY_PARAM_NAME = "private-key";
+ private static final String HOSTNAME_PARAM = "hostname";
+ private static final String CONNECTION_PROTOCOL_PARAM = "connectionProtocol";
+ private final SelfServiceApplicationConfiguration conf;
+
+ @Inject
+ public GuacamoleServiceImpl(SelfServiceApplicationConfiguration conf) {
+ this.conf = conf;
+ }
+
+ @Override
+ public GuacamoleTunnel getTunnel(UserInfo userInfo, String host) {
+ try {
+ final String privateKeyContent = "";// TODO figure out from which place private key should be taken
+ final InetGuacamoleSocket socket = new InetGuacamoleSocket(conf.getGuacamoleHost(),
+ conf.getGuacamolePort());
+ final GuacamoleConfiguration guacamoleConfig = getGuacamoleConfig(privateKeyContent, conf.getGuacamole(),
+ host);
+ return new SimpleGuacamoleTunnel(new ConfiguredGuacamoleSocket(socket, guacamoleConfig));
+ } catch (Exception e) {
+ log.error("Can not create guacamole tunnel due to: " + e.getMessage());
+ throw new DlabException("Can not create guacamole tunnel due to: " + e.getMessage(), e);
+ }
+ }
+
+ private GuacamoleConfiguration getGuacamoleConfig(String privateKeyContent, Map<String, String> guacamoleParams,
+ String host) {
+ GuacamoleConfiguration guacamoleConfiguration = new GuacamoleConfiguration();
+ guacamoleConfiguration.setProtocol(guacamoleParams.get(CONNECTION_PROTOCOL_PARAM));
+ guacamoleConfiguration.setParameters(guacamoleParams);
+ guacamoleConfiguration.setParameter(HOSTNAME_PARAM, host);
+ guacamoleConfiguration.setParameter(PRIVATE_KEY_PARAM_NAME, privateKeyContent);
+ return guacamoleConfiguration;
+ }
+}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleSecurityFilter.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleSecurityFilter.java
new file mode 100644
index 0000000..4545ed7
--- /dev/null
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleSecurityFilter.java
@@ -0,0 +1,56 @@
+package com.epam.dlab.backendapi.servlet.guacamole;
+
+import com.epam.dlab.auth.UserInfo;
+import com.epam.dlab.backendapi.auth.SelfServiceSecurityAuthenticator;
+import com.google.inject.Inject;
+import io.dropwizard.auth.AuthenticationException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.core.HttpHeaders;
+import java.io.IOException;
+import java.util.Optional;
+
+@Slf4j
+public class GuacamoleSecurityFilter implements Filter {
+ private static final String AUTH_HEADER_PREFIX = "Bearer ";
+ private final SelfServiceSecurityAuthenticator authenticator;
+
+ @Inject
+ public GuacamoleSecurityFilter(SelfServiceSecurityAuthenticator authenticator) {
+ this.authenticator = authenticator;
+ }
+
+ @Override
+ public void init(FilterConfig filterConfig) {
+
+ }
+
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ HttpServletResponse response = (HttpServletResponse) servletResponse;
+ final String authorization = request.getHeader(HttpHeaders.AUTHORIZATION);
+ try {
+ final String credentials = StringUtils.substringAfter(authorization, AUTH_HEADER_PREFIX);
+ final Optional<UserInfo> user = authenticator.authenticate(credentials);
+ if (user.isPresent()) {
+ request.setAttribute(GuacamoleServlet.USER_ATTRIBUTE, user.get());
+ filterChain.doFilter(servletRequest, servletResponse);
+ } else {
+ response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
+ }
+ } catch (AuthenticationException e) {
+ log.error("Authentication error occurred: {}", e.getMessage());
+ }
+
+ }
+
+ @Override
+ public void destroy() {
+
+ }
+}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleServlet.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleServlet.java
new file mode 100644
index 0000000..d0025ba
--- /dev/null
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/servlet/guacamole/GuacamoleServlet.java
@@ -0,0 +1,32 @@
+package com.epam.dlab.backendapi.servlet.guacamole;
+
+import com.epam.dlab.auth.UserInfo;
+import com.epam.dlab.backendapi.service.GuacamoleService;
+import com.epam.dlab.exceptions.DlabException;
+import com.google.inject.Inject;
+import org.apache.guacamole.net.GuacamoleTunnel;
+import org.apache.guacamole.servlet.GuacamoleHTTPTunnelServlet;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+public class GuacamoleServlet extends GuacamoleHTTPTunnelServlet {
+ static final String USER_ATTRIBUTE = "user";
+ private final GuacamoleService guacamoleService;
+
+ @Inject
+ public GuacamoleServlet(GuacamoleService guacamoleService) {
+ this.guacamoleService = guacamoleService;
+ }
+
+ @Override
+ protected GuacamoleTunnel doConnect(HttpServletRequest request) {
+ try {
+ final UserInfo userInfo = (UserInfo) request.getAttribute(USER_ATTRIBUTE);
+ final String host = request.getReader().readLine();
+ return guacamoleService.getTunnel(userInfo, host);
+ } catch (IOException e) {
+ throw new DlabException("Can not read request body: " + e.getMessage(), e);
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 02/12: [DLAB-4]: added guacamole-common-js lib
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit b9f736e4ba1dc34efd341460e4f93b5bb0aadf3d
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Tue May 7 17:04:05 2019 +0300
[DLAB-4]: added guacamole-common-js lib
---
services/self-service/src/main/resources/webapp/package-lock.json | 5 +++++
services/self-service/src/main/resources/webapp/package.json | 1 +
2 files changed, 6 insertions(+)
diff --git a/services/self-service/src/main/resources/webapp/package-lock.json b/services/self-service/src/main/resources/webapp/package-lock.json
index 7f36983..a4d77b4 100644
--- a/services/self-service/src/main/resources/webapp/package-lock.json
+++ b/services/self-service/src/main/resources/webapp/package-lock.json
@@ -6098,6 +6098,11 @@
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
+ "guacamole-common-js": {
+ "version": "1.0.0-b",
+ "resolved": "https://registry.npmjs.org/guacamole-common-js/-/guacamole-common-js-1.0.0-b.tgz",
+ "integrity": "sha512-DLEy7yBQvwwJ4xoWfj1Z+DLOKCy5zwW4ELdpDeYKVWZMpBegbGGwI5qWb61b3aT7KBWsF6DRJHviPlcFHUdMRA=="
+ },
"hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
diff --git a/services/self-service/src/main/resources/webapp/package.json b/services/self-service/src/main/resources/webapp/package.json
index 740a719..ecb4388 100644
--- a/services/self-service/src/main/resources/webapp/package.json
+++ b/services/self-service/src/main/resources/webapp/package.json
@@ -28,6 +28,7 @@
"@angular/platform-server": "^8.0.0-beta.2",
"@angular/router": "^8.0.0-beta.2",
"core-js": "2.4.1",
+ "guacamole-common-js": "^1.0.0-b",
"hammerjs": "^2.0.8",
"moment": "^2.20.1",
"moment-timezone": "^0.5.16",
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 07/12: [DLAB-4]: fixed location and token for
connection
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 1a7be785a6206e6613d972a91085eb769110f0c2
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Mon May 13 12:55:39 2019 +0300
[DLAB-4]: fixed location and token for connection
---
.../src/app/webterminal/webterminal.component.scss | 9 +++++++-
.../src/app/webterminal/webterminal.component.ts | 26 ++++++++++------------
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss
index 57b8cc4..cdf9269 100644
--- a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss
@@ -19,5 +19,12 @@
#terminal {
height: 100vh;
- display: block;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+@media screen and (min-width: 1281px) {
+ #terminal {
+ justify-content: center;
+ }
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
index eae2e12..e11964f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
@@ -17,12 +17,13 @@
* under the License.
*/
-import { Component, OnInit, ViewEncapsulation, ViewContainerRef, ViewChild, Renderer2, ElementRef, Inject } from '@angular/core';
+import { Component, OnInit, ViewEncapsulation, ViewContainerRef, ViewChild, Inject } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { ActivatedRoute } from '@angular/router';
-
import Guacamole from 'guacamole-common-js';
+import { StorageService } from '../core/services';
+
@Component({
selector: 'dlab-webterminal',
templateUrl: './webterminal.component.html',
@@ -33,9 +34,8 @@ export class WebterminalComponent implements OnInit {
@ViewChild('terminal', { read: ViewContainerRef }) terminal: ViewContainerRef;
constructor(
- private elementRef: ElementRef,
- private renderer: Renderer2,
private route: ActivatedRoute,
+ private storageService: StorageService,
@Inject(DOCUMENT) private document) {
}
@@ -45,33 +45,31 @@ export class WebterminalComponent implements OnInit {
this.open(this.id);
}
- open(parameters) {
-
+ public open(id_parameter: string) {
const tunnel = new Guacamole.HTTPTunnel(
- 'https://localhost:8443/api/tunnel', false,
- { 'Authorization': 'Bearer token123' }
+ `${window.location.origin}/api/tunnel`, false,
+ { 'Authorization': `Bearer ${this.storageService.getToken()}` }
);
+
const guac = new Guacamole.Client(tunnel);
const display = document.getElementById('display');
display.appendChild(guac.getDisplay().getElement());
-
- guac.connect('52.10.77.216');
+ const guacDisplay = guac.getDisplay();
+ const layer = guacDisplay.getDefaultLayer();
+ guac.connect(id_parameter);
// Error handler
- guac.onerror = (error) => alert(error);
+ guac.onerror = (error) => console.log(error.message);
window.onunload = () => guac.disconnect();
// Mouse
const mouse = new Guacamole.Mouse(guac.getDisplay().getElement());
-
mouse.onmousemove = (mouseState) => guac.sendMouseState(mouseState);
// Keyboard
const keyboard = new Guacamole.Keyboard(document);
-
keyboard.onkeydown = (keysym) => guac.sendKeyEvent(1, keysym);
-
keyboard.onkeyup = (keysym) => guac.sendKeyEvent(0, keysym);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 09/12: DLAB-2 added possibility to use admin key
during ssh connection
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit deb3d36497297d3972bc349d64db8c41ca731b7a
Author: bhliva <bo...@epam.com>
AuthorDate: Mon May 6 14:44:02 2019 +0300
DLAB-2 added possibility to use admin key during ssh connection
---
.../java/com/epam/dlab/rest/contracts/KeyAPI.java | 3 ++-
.../backendapi/resources/base/KeyResource.java | 25 ++++++++++++++-----
.../{ReuploadKeyService.java => KeyService.java} | 29 +++++++++++++++++++---
.../service/impl/GuacamoleServiceImpl.java | 17 ++++++++-----
.../service/impl/ReuploadKeyServiceImplTest.java | 10 ++++----
5 files changed, 63 insertions(+), 21 deletions(-)
diff --git a/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/KeyAPI.java b/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/KeyAPI.java
index 422d36b..4b5eba3 100644
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/KeyAPI.java
+++ b/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/KeyAPI.java
@@ -20,7 +20,8 @@
package com.epam.dlab.rest.contracts;
public class KeyAPI {
- public static final String REUPLOAD_KEY = "/reupload_key";
+ public static final String REUPLOAD_KEY = "/key/reupload";
+ public static final String GET_ADMIN_KEY = "/key";
public static final String KEY_EXTENTION = ".pub";
private KeyAPI() {
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
index 9e8b975..fcacef0 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/base/KeyResource.java
@@ -23,7 +23,7 @@ package com.epam.dlab.backendapi.resources.base;
import com.epam.dlab.auth.UserInfo;
import com.epam.dlab.backendapi.ProvisioningServiceApplicationConfiguration;
import com.epam.dlab.backendapi.core.commands.DockerAction;
-import com.epam.dlab.backendapi.service.impl.ReuploadKeyService;
+import com.epam.dlab.backendapi.service.impl.KeyService;
import com.epam.dlab.dto.reuploadkey.ReuploadKeyDTO;
import com.epam.dlab.rest.contracts.KeyAPI;
import com.epam.dlab.util.FileUtils;
@@ -39,26 +39,39 @@ import java.util.UUID;
/**
* Provides API for reuploading keys
*/
-@Path(KeyAPI.REUPLOAD_KEY)
+@Path("key")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class KeyResource {
+ private final KeyService keyService;
+ private final ProvisioningServiceApplicationConfiguration configuration;
+ private final String keyContent;
+
@Inject
- private ReuploadKeyService reuploadKeyService;
- @Inject
- private ProvisioningServiceApplicationConfiguration configuration;
+ public KeyResource(KeyService keyService, ProvisioningServiceApplicationConfiguration configuration) {
+ this.keyService = keyService;
+ this.configuration = configuration;
+ this.keyContent = keyService.getAdminKey();
+ }
+
+ @Path("/reupload")
@POST
public String reuploadKey(@Auth UserInfo ui, @DefaultValue("true") @QueryParam("is_primary_reuploading")
boolean isPrimaryReuploading, ReuploadKeyDTO dto) throws IOException {
if (isPrimaryReuploading) {
replaceKeyfile(dto);
}
- reuploadKeyService.reuploadKeyAction(ui.getName(), dto, DockerAction.REUPLOAD_KEY);
+ keyService.reuploadKeyAction(ui.getName(), dto, DockerAction.REUPLOAD_KEY);
return UUID.randomUUID().toString();
}
+ @GET
+ public String getAdminKey(@Auth UserInfo userInfo) {
+ return keyContent;
+ }
+
private void replaceKeyfile(ReuploadKeyDTO dto) throws IOException {
String edgeUserName = dto.getEdgeUserName();
String filename = UsernameUtils.replaceWhitespaces(edgeUserName) + KeyAPI.KEY_EXTENTION;
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyService.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/KeyService.java
similarity index 82%
rename from services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyService.java
rename to services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/KeyService.java
index e3889cb..6394564 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyService.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/service/impl/KeyService.java
@@ -20,28 +20,42 @@
package com.epam.dlab.backendapi.service.impl;
import com.epam.dlab.auth.SystemUserInfoService;
+import com.epam.dlab.backendapi.ProvisioningServiceApplicationConfiguration;
import com.epam.dlab.backendapi.core.Directories;
import com.epam.dlab.backendapi.core.commands.DockerAction;
import com.epam.dlab.backendapi.core.commands.DockerCommands;
import com.epam.dlab.backendapi.core.commands.RunDockerCommand;
import com.epam.dlab.backendapi.core.response.handlers.ReuploadKeyCallbackHandler;
-import com.epam.dlab.backendapi.service.impl.DockerService;
import com.epam.dlab.dto.reuploadkey.ReuploadKeyCallbackDTO;
import com.epam.dlab.dto.reuploadkey.ReuploadKeyDTO;
+import com.epam.dlab.exceptions.DlabException;
import com.epam.dlab.model.ResourceData;
import com.epam.dlab.rest.contracts.ApiCallbacks;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
+import java.io.IOException;
+
+import static java.lang.String.format;
+import static java.nio.file.Files.readAllBytes;
+import static java.nio.file.Paths.get;
+
@Slf4j
@Singleton
-public class ReuploadKeyService extends DockerService implements DockerCommands {
+public class KeyService extends DockerService implements DockerCommands {
private static final String REUPLOAD_KEY_ACTION = "reupload_key";
+ private final SystemUserInfoService systemUserInfoService;
+ private final ProvisioningServiceApplicationConfiguration conf;
+
@Inject
- private SystemUserInfoService systemUserInfoService;
+ public KeyService(SystemUserInfoService systemUserInfoService, ProvisioningServiceApplicationConfiguration conf) {
+ this.systemUserInfoService = systemUserInfoService;
+ this.conf = conf;
+ }
+
public void reuploadKeyAction(String userName, ReuploadKeyDTO dto, DockerAction action) {
log.debug("{} for edge user {}", action, dto.getEdgeUserName());
@@ -57,6 +71,15 @@ public class ReuploadKeyService extends DockerService implements DockerCommands
log.debug("Executed {} Docker commands", count);
}
+ public String getAdminKey() {
+ try {
+ return new String(readAllBytes(get(format("%s/%s.pem", conf.getKeyDirectory(), conf.getAdminKey()))));
+ } catch (IOException e) {
+ log.error("Can not read admin key: {}", e.getMessage());
+ throw new DlabException("Can not read admin key: " + e.getMessage(), e);
+ }
+ }
+
private String getUuid() {
return DockerCommands.generateUUID();
}
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
index 7292646..62721ec 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/service/impl/GuacamoleServiceImpl.java
@@ -3,7 +3,10 @@ package com.epam.dlab.backendapi.service.impl;
import com.epam.dlab.auth.UserInfo;
import com.epam.dlab.backendapi.SelfServiceApplicationConfiguration;
import com.epam.dlab.backendapi.service.GuacamoleService;
+import com.epam.dlab.constants.ServiceConsts;
import com.epam.dlab.exceptions.DlabException;
+import com.epam.dlab.rest.client.RESTService;
+import com.epam.dlab.rest.contracts.KeyAPI;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
@@ -13,6 +16,7 @@ import org.apache.guacamole.net.SimpleGuacamoleTunnel;
import org.apache.guacamole.protocol.ConfiguredGuacamoleSocket;
import org.apache.guacamole.protocol.GuacamoleConfiguration;
+import javax.inject.Named;
import java.util.Map;
@Slf4j
@@ -23,20 +27,21 @@ public class GuacamoleServiceImpl implements GuacamoleService {
private static final String HOSTNAME_PARAM = "hostname";
private static final String CONNECTION_PROTOCOL_PARAM = "connectionProtocol";
private final SelfServiceApplicationConfiguration conf;
+ private final RESTService provisioningService;
@Inject
- public GuacamoleServiceImpl(SelfServiceApplicationConfiguration conf) {
+ public GuacamoleServiceImpl(SelfServiceApplicationConfiguration conf,
+ @Named(ServiceConsts.PROVISIONING_SERVICE_NAME) RESTService provisioningService) {
this.conf = conf;
+ this.provisioningService = provisioningService;
}
@Override
public GuacamoleTunnel getTunnel(UserInfo userInfo, String host) {
try {
- final String privateKeyContent = "";// TODO figure out from which place private key should be taken
- final InetGuacamoleSocket socket = new InetGuacamoleSocket(conf.getGuacamoleHost(),
- conf.getGuacamolePort());
- final GuacamoleConfiguration guacamoleConfig = getGuacamoleConfig(privateKeyContent, conf.getGuacamole(),
- host);
+ String key = provisioningService.get(KeyAPI.GET_ADMIN_KEY, userInfo.getAccessToken(), String.class);
+ InetGuacamoleSocket socket = new InetGuacamoleSocket(conf.getGuacamoleHost(), conf.getGuacamolePort());
+ GuacamoleConfiguration guacamoleConfig = getGuacamoleConfig(key, conf.getGuacamole(), host);
return new SimpleGuacamoleTunnel(new ConfiguredGuacamoleSocket(socket, guacamoleConfig));
} catch (Exception e) {
log.error("Can not create guacamole tunnel due to: " + e.getMessage());
diff --git a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImplTest.java b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImplTest.java
index 06dd1a5..6e4bdc1 100644
--- a/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImplTest.java
+++ b/services/self-service/src/test/java/com/epam/dlab/backendapi/service/impl/ReuploadKeyServiceImplTest.java
@@ -141,7 +141,7 @@ public class ReuploadKeyServiceImplTest {
Arrays.asList(RUNNING, REUPLOADING_KEY), Arrays.asList(DataEngineType.SPARK_STANDALONE,
DataEngineType.CLOUD_SERVICE), RUNNING);
verify(requestBuilder).newKeyReupload(refEq(userInfo), anyString(), eq(keyContent), any(List.class));
- verify(provisioningService).post("/reupload_key", TOKEN, reuploadFile, String.class);
+ verify(provisioningService).post("/key/reupload", TOKEN, reuploadFile, String.class);
verifyNoMoreInteractions(userResourceService, exploratoryService, keyDAO, exploratoryDAO, computationalDAO,
requestBuilder, provisioningService);
verifyZeroInteractions(requestId);
@@ -184,7 +184,7 @@ public class ReuploadKeyServiceImplTest {
Arrays.asList(RUNNING, REUPLOADING_KEY), Arrays.asList(DataEngineType.SPARK_STANDALONE,
DataEngineType.CLOUD_SERVICE), RUNNING);
verify(requestBuilder).newKeyReupload(refEq(userInfo), anyString(), eq(keyContent), any(List.class));
- verify(provisioningService).post("/reupload_key", TOKEN, reuploadFile, String.class);
+ verify(provisioningService).post("/key/reupload", TOKEN, reuploadFile, String.class);
verifyNoMoreInteractions(userResourceService, exploratoryService, keyDAO, exploratoryDAO, computationalDAO,
requestBuilder, provisioningService);
verifyZeroInteractions(requestId);
@@ -299,7 +299,7 @@ public class ReuploadKeyServiceImplTest {
verify(keyDAO).updateEdgeStatus(USER, "reuploading key");
verify(requestBuilder).newKeyReupload(refEq(userInfo), anyString(), eq(""), any(List.class));
- verify(provisioningService).post("/reupload_key", TOKEN, reuploadFile, String.class,
+ verify(provisioningService).post("/key/reupload", TOKEN, reuploadFile, String.class,
Collections.singletonMap("is_primary_reuploading", false));
verify(requestId).put(USER, expectedUuid);
verifyNoMoreInteractions(keyDAO, requestBuilder, provisioningService, requestId);
@@ -347,7 +347,7 @@ public class ReuploadKeyServiceImplTest {
verify(exploratoryDAO).updateStatusForExploratory(USER, EXPLORATORY_NAME, REUPLOADING_KEY);
verify(requestBuilder).newKeyReupload(refEq(userInfo), anyString(), eq(""), any(List.class));
- verify(provisioningService).post("/reupload_key", TOKEN, reuploadFile, String.class,
+ verify(provisioningService).post("/key/reupload", TOKEN, reuploadFile, String.class,
Collections.singletonMap("is_primary_reuploading", false));
verify(requestId).put(USER, expectedUuid);
verifyNoMoreInteractions(exploratoryDAO, requestBuilder, provisioningService, requestId);
@@ -399,7 +399,7 @@ public class ReuploadKeyServiceImplTest {
verify(computationalDAO).updateStatusForComputationalResource(USER, EXPLORATORY_NAME,
"compName", REUPLOADING_KEY);
verify(requestBuilder).newKeyReupload(refEq(userInfo), anyString(), eq(""), any(List.class));
- verify(provisioningService).post("/reupload_key", TOKEN, reuploadFile, String.class,
+ verify(provisioningService).post("/key/reupload", TOKEN, reuploadFile, String.class,
Collections.singletonMap("is_primary_reuploading", false));
verify(requestId).put(USER, expectedUuid);
verifyNoMoreInteractions(computationalDAO, requestBuilder, provisioningService, requestId);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 05/12: [DLAB-4]: added routing to web terminal
connection
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 736a26e9e046ac7448e2704bf0d4de63920221fb
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Tue May 7 17:14:08 2019 +0300
[DLAB-4]: added routing to web terminal connection
---
services/self-service/src/main/resources/webapp/src/app/app.module.ts | 2 ++
.../src/main/resources/webapp/src/app/app.routing.module.ts | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/services/self-service/src/main/resources/webapp/src/app/app.module.ts b/services/self-service/src/main/resources/webapp/src/app/app.module.ts
index 6307cd8..88aa630 100644
--- a/services/self-service/src/main/resources/webapp/src/app/app.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/app.module.ts
@@ -40,6 +40,7 @@ import { ErrorInterceptor } from './core/interceptors/error.interceptor';
import { ReportingModule } from './reporting/reporting.module';
import { ManagenementModule } from './management';
+import { WebterminalModule } from './webterminal';
import { CoreModule } from './core/core.module';
import { ToastrModule } from 'ngx-toastr';
@@ -60,6 +61,7 @@ import { ToastrModule } from 'ngx-toastr';
AccessDeniedModule,
ReportingModule,
ManagenementModule,
+ WebterminalModule,
RouterModule,
AppRoutingModule,
CoreModule.forRoot(),
diff --git a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
index 43d0abf..eba8d7e 100644
--- a/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/app.routing.module.ts
@@ -26,6 +26,7 @@ import { AccessNotebookGuideComponent, PublicKeyGuideComponent } from './help';
import { NotFoundComponent } from './not-found/not-found.component';
import { AccessDeniedComponent } from './access-denied/access-denied.component';
import { ReportingComponent } from './reporting/reporting.component';
+import { WebterminalComponent } from './webterminal/webterminal.component';
import { ManagementComponent } from './management/management.component';
import { AuthorizationGuard, CheckParamsGuard, CloudProviderGuard } from './core/services';
@@ -45,6 +46,9 @@ const routes: Routes = [{
component: ManagementComponent,
canActivate: [AuthorizationGuard]
}, {
+ path: 'terminal/:id',
+ component: WebterminalComponent
+ }, {
path: 'help/publickeyguide',
component: PublicKeyGuideComponent,
canActivate: [AuthorizationGuard]
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 03/12: [DLAB-4]: added web terminal component
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 255cb90c631d8a52affc1add7872f4cbca44b3b3
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Tue May 7 17:09:43 2019 +0300
[DLAB-4]: added web terminal component
---
.../resources/webapp/src/app/webterminal/index.ts | 36 ++++++++++
.../src/app/webterminal/webterminal.component.html | 20 ++++++
.../src/app/webterminal/webterminal.component.scss | 23 +++++++
.../src/app/webterminal/webterminal.component.ts | 77 ++++++++++++++++++++++
4 files changed, 156 insertions(+)
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/index.ts b/services/self-service/src/main/resources/webapp/src/app/webterminal/index.ts
new file mode 100644
index 0000000..5b01d6a
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/index.ts
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { MaterialModule } from '../shared/material.module';
+import { WebterminalComponent } from './webterminal.component';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ ReactiveFormsModule,
+ MaterialModule
+ ],
+ declarations: [WebterminalComponent],
+ exports: [WebterminalComponent]
+})
+export class WebterminalModule { }
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.html b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.html
new file mode 100644
index 0000000..d99bf42
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.html
@@ -0,0 +1,20 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+-->
+
+<div id="display" #display></div>
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss
new file mode 100644
index 0000000..57b8cc4
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.scss
@@ -0,0 +1,23 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#terminal {
+ height: 100vh;
+ display: block;
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
new file mode 100644
index 0000000..eae2e12
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/webterminal/webterminal.component.ts
@@ -0,0 +1,77 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import { Component, OnInit, ViewEncapsulation, ViewContainerRef, ViewChild, Renderer2, ElementRef, Inject } from '@angular/core';
+import { DOCUMENT } from '@angular/common';
+import { ActivatedRoute } from '@angular/router';
+
+import Guacamole from 'guacamole-common-js';
+
+@Component({
+ selector: 'dlab-webterminal',
+ templateUrl: './webterminal.component.html',
+ styleUrls: ['./webterminal.component.scss']
+})
+export class WebterminalComponent implements OnInit {
+ public id: string;
+ @ViewChild('terminal', { read: ViewContainerRef }) terminal: ViewContainerRef;
+
+ constructor(
+ private elementRef: ElementRef,
+ private renderer: Renderer2,
+ private route: ActivatedRoute,
+ @Inject(DOCUMENT) private document) {
+ }
+
+ ngOnInit() {
+ this.id = this.route.snapshot.paramMap.get('id');
+ console.log(this.id);
+ this.open(this.id);
+ }
+
+ open(parameters) {
+
+ const tunnel = new Guacamole.HTTPTunnel(
+ 'https://localhost:8443/api/tunnel', false,
+ { 'Authorization': 'Bearer token123' }
+ );
+ const guac = new Guacamole.Client(tunnel);
+ const display = document.getElementById('display');
+
+ display.appendChild(guac.getDisplay().getElement());
+
+ guac.connect('52.10.77.216');
+
+ // Error handler
+ guac.onerror = (error) => alert(error);
+ window.onunload = () => guac.disconnect();
+
+ // Mouse
+ const mouse = new Guacamole.Mouse(guac.getDisplay().getElement());
+
+ mouse.onmousemove = (mouseState) => guac.sendMouseState(mouseState);
+
+ // Keyboard
+ const keyboard = new Guacamole.Keyboard(document);
+
+ keyboard.onkeydown = (keysym) => guac.sendKeyEvent(1, keysym);
+
+ keyboard.onkeyup = (keysym) => guac.sendKeyEvent(0, keysym);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org
[incubator-dlab] 11/12: [DLAB-583]: added meta data service
Posted by bh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bhliva pushed a commit to branch v2.1.1
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit 040ecad826314c09addbd2475c6f4b1a84d32474
Author: Andriana Kovalyshyn <an...@epam.com>
AuthorDate: Fri Apr 12 16:08:29 2019 +0300
[DLAB-583]: added meta data service
---
.../src/app/shared/navbar/navbar.component.html | 23 ++++------------------
.../src/app/shared/navbar/navbar.component.scss | 21 ++++----------------
2 files changed, 8 insertions(+), 36 deletions(-)
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
index 8bb75c9..d13c23e 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.html
@@ -42,28 +42,13 @@
<a *ngIf="healthStatus.status" [routerLink]="['/environment_management']" class="statusbar">
<span class="material-icons" ngClass="{{healthStatus.status || ''}}">radio_button_checked</span>
</a>
- <!-- *ngIf="metadata" -->
- <a class="statusbar" #info (click)="actions.toggle($event, info)">
- <span class="material-icons meta">info</span>
+ <a *ngIf="metadata" class="statusbar" #info (click)="actions.toggle($event, info)">
+ <span class="material-icons meta">share</span>
</a>
<bubble-up #actions class="list-menu" position="bottom-right">
<div class="app-info">
- <p>
- <strong>Version: </strong>
- <span class="ellipsis">{{ metadata?.version }}</span>
- </p>
- <p>
- <strong>Branch: </strong>
- <span class="ellipsis">{{ metadata?.branch }}</span>
- </p>
- <p>
- <strong>Revision: </strong>
- <span class="ellipsis">{{ metadata?.commit }}</span>
- </p>
- <p>
- <a class="helper_instruction" [attr.href]="metadata?.release_notes" target="_blank">
- <i class="material-icons">link</i>Release notes </a>
- </p>
+ <p><strong>Version: </strong> {{ metadata?.version }}</p>
+ <p><strong>Branch: </strong> {{ metadata?.branch }}</p>
</div>
</bubble-up>
<button class="btn btn-logout" (click)="logout_btnClick()">Log out <span class="user-name">{{currentUserName}}</span></button>
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
index 45bc4da..e79d196 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/navbar/navbar.component.scss
@@ -45,7 +45,7 @@
.statusbar {
display: flex;
- width: 50px;
+ width: 60px;
height: 46px;
text-decoration: none;
justify-content: center;
@@ -70,9 +70,9 @@
}
}
.meta {
- color: #c7d4d6;
+ color: #fff;
&:hover {
- color: #fff;
+ color: #c7d4d6;
}
}
}
@@ -98,21 +98,8 @@
p {
strong {
color: #455c74;
- font-size: 14px;
+ font-size: 16px;
font-weight: 600;
- width: 120px;
- display: inline-block;
- }
- .helper_instructiongit {
- font-size: 14px;
- i {
- vertical-align: bottom;
- }
- }
- span {
- width: 180px;
- display: inline-block;
- vertical-align: bottom;
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org