Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xanadu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
SYNERG
xanadu
Commits
c945c9a1
Commit
c945c9a1
authored
Mar 07, 2020
by
Nilanjan Daw
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'function_chain_predict'
parents
e349248d
e9cfe3d5
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1134 additions
and
80 deletions
+1134
-80
dispatch_system/dispatch_daemon/config.json
dispatch_system/dispatch_daemon/config.json
+1
-1
dispatch_system/dispatch_daemon/execute.js
dispatch_system/dispatch_daemon/execute.js
+3
-3
dispatch_system/dispatch_daemon/lib.js
dispatch_system/dispatch_daemon/lib.js
+1
-1
dispatch_system/dispatch_daemon/package.json
dispatch_system/dispatch_daemon/package.json
+1
-0
dispatch_system/dispatch_manager/index.js
dispatch_system/dispatch_manager/index.js
+27
-18
dispatch_system/dispatch_manager/lib.js
dispatch_system/dispatch_manager/lib.js
+123
-1
dispatch_system/dispatch_manager/repository/worker_env/env.js
...atch_system/dispatch_manager/repository/worker_env/env.js
+15
-2
dispatch_system/dispatch_manager/repository/worker_env/node_modules/express/package.json
...r/repository/worker_env/node_modules/express/package.json
+7
-7
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/README.md
...er/repository/worker_env/node_modules/ipaddr.js/README.md
+1
-1
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/lib/ipaddr.js.d.ts
...tory/worker_env/node_modules/ipaddr.js/lib/ipaddr.js.d.ts
+6
-9
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/package.json
...repository/worker_env/node_modules/ipaddr.js/package.json
+13
-12
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/HISTORY.md
.../repository/worker_env/node_modules/proxy-addr/HISTORY.md
+5
-0
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/index.js
...er/repository/worker_env/node_modules/proxy-addr/index.js
+1
-1
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/package.json
...epository/worker_env/node_modules/proxy-addr/package.json
+16
-16
dispatch_system/dispatch_manager/repository/worker_env/package-lock.json
.../dispatch_manager/repository/worker_env/package-lock.json
+909
-7
dispatch_system/dispatch_manager/repository/worker_env/package.json
...ystem/dispatch_manager/repository/worker_env/package.json
+3
-1
resource_manager/src/common/cJSON
resource_manager/src/common/cJSON
+1
-0
resource_manager/src/common/nlib
resource_manager/src/common/nlib
+1
-0
No files found.
dispatch_system/dispatch_daemon/config.json
View file @
c945c9a1
{
"id"
:
"192.168.31.51"
,
"master_node"
:
"10.129.6.5"
}
{
"id"
:
"10.196.6.51"
,
"master_node"
:
"10.129.6.5"
}
\ No newline at end of file
\ No newline at end of file
dispatch_system/dispatch_daemon/execute.js
View file @
c945c9a1
...
@@ -57,7 +57,7 @@ function runProcess(local_repository, metadata) {
...
@@ -57,7 +57,7 @@ function runProcess(local_repository, metadata) {
});
});
process
.
on
(
'
close
'
,
(
code
)
=>
{
process
.
on
(
'
close
'
,
(
code
)
=>
{
resolve
(
code
);
resolve
(
process
.
pid
);
logger
.
info
(
`Process Environment with resource_id
${
resource_id
}
blown`
);
logger
.
info
(
`Process Environment with resource_id
${
resource_id
}
blown`
);
});
});
})
})
...
@@ -100,7 +100,7 @@ function runContainer(metadata) {
...
@@ -100,7 +100,7 @@ function runContainer(metadata) {
let
timeDifference
=
Math
.
ceil
((
Date
.
now
()
-
timeStart
))
let
timeDifference
=
Math
.
ceil
((
Date
.
now
()
-
timeStart
))
logger
.
info
(
"
container run time taken:
"
,
timeDifference
);
logger
.
info
(
"
container run time taken:
"
,
timeDifference
);
result
+=
data
;
result
+=
data
;
resolve
(
res
ult
);
resolve
(
res
ource_id
);
});
});
process
.
stderr
.
on
(
'
data
'
,
(
data
)
=>
{
process
.
stderr
.
on
(
'
data
'
,
(
data
)
=>
{
...
@@ -126,7 +126,7 @@ function runContainer(metadata) {
...
@@ -126,7 +126,7 @@ function runContainer(metadata) {
logger
.
info
(
`stdout:
${
data
}
`
);
logger
.
info
(
`stdout:
${
data
}
`
);
let
timeDifference
=
Math
.
ceil
((
Date
.
now
()
-
timeStart
))
let
timeDifference
=
Math
.
ceil
((
Date
.
now
()
-
timeStart
))
logger
.
info
(
"
container run time taken:
"
,
timeDifference
);
logger
.
info
(
"
container run time taken:
"
,
timeDifference
);
resolve
(
res
ult
);
resolve
(
res
ource_id
);
});
});
process
.
stderr
.
on
(
'
data
'
,
(
data
)
=>
{
process
.
stderr
.
on
(
'
data
'
,
(
data
)
=>
{
...
...
dispatch_system/dispatch_daemon/lib.js
View file @
c945c9a1
...
@@ -55,7 +55,7 @@ var download = function (url, dest, cb) {
...
@@ -55,7 +55,7 @@ var download = function (url, dest, cb) {
console
.
log
(
url
);
console
.
log
(
url
);
if
(
!
fs
.
existsSync
(
dest
))
{
if
(
!
fs
.
existsSync
(
dest
))
{
var
file
=
fs
.
createWriteStream
(
dest
);
var
file
=
fs
.
createWriteStream
(
dest
);
var
request
=
http
.
get
(
url
,
function
(
response
)
{
var
request
=
http
s
.
get
(
url
,
function
(
response
)
{
response
.
pipe
(
file
);
response
.
pipe
(
file
);
file
.
on
(
'
finish
'
,
function
()
{
file
.
on
(
'
finish
'
,
function
()
{
file
.
close
(
cb
);
// close() is async, call cb after close completes.
file
.
close
(
cb
);
// close() is async, call cb after close completes.
...
...
dispatch_system/dispatch_daemon/package.json
View file @
c945c9a1
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
"morgan"
:
"^1.9.1"
,
"morgan"
:
"^1.9.1"
,
"mqtt"
:
"^3.0.0"
,
"mqtt"
:
"^3.0.0"
,
"redis"
:
"^2.8.0"
,
"redis"
:
"^2.8.0"
,
"request"
:
"^2.88.2"
,
"winston"
:
"^3.2.1"
"winston"
:
"^3.2.1"
}
}
}
}
dispatch_system/dispatch_manager/index.js
View file @
c945c9a1
...
@@ -25,8 +25,9 @@ let log_channel = constants.log_channel
...
@@ -25,8 +25,9 @@ let log_channel = constants.log_channel
let
usedPort
=
new
Map
(),
// TODO: remove after integration with RM
let
usedPort
=
new
Map
(),
// TODO: remove after integration with RM
db
=
new
Map
(),
// queue holding request to be dispatched
db
=
new
Map
(),
// queue holding request to be dispatched
resourceMap
=
new
Map
(),
// map between resource_id and resource details like node_id, port, associated function etc
resourceMap
=
new
Map
(),
// map between resource_id and resource details like node_id, port, associated function etc
functionToResource
=
new
Map
()
// a function to resource map. Each map contains a minheap of
functionToResource
=
new
Map
()
,
// a function to resource map. Each map contains a minheap of
// resources associated with the function
// resources associated with the function
workerNodes
=
new
Map
()
let
kafka
=
require
(
'
kafka-node
'
),
let
kafka
=
require
(
'
kafka-node
'
),
Producer
=
kafka
.
Producer
,
Producer
=
kafka
.
Producer
,
...
@@ -41,7 +42,7 @@ let kafka = require('kafka-node'),
...
@@ -41,7 +42,7 @@ let kafka = require('kafka-node'),
{
topic
:
'
heartbeat
'
},
// receives heartbeat messages from workers, also acts as worker join message
{
topic
:
'
heartbeat
'
},
// receives heartbeat messages from workers, also acts as worker join message
{
topic
:
"
deployed
"
},
// receives deployment confirmation from workers
{
topic
:
"
deployed
"
},
// receives deployment confirmation from workers
{
topic
:
"
removeWorker
"
},
// received when a executor environment is blown at the worker
{
topic
:
"
removeWorker
"
},
// received when a executor environment is blown at the worker
{
topic
:
"
RESPONSE_RM_2_DM
_DUMMY
"
},
// receives deployment details from RM
{
topic
:
"
RESPONSE_RM_2_DM
"
},
// receives deployment details from RM
{
topic
:
"
hscale
"
}
// receives signals for horizontal scaling
{
topic
:
"
hscale
"
}
// receives signals for horizontal scaling
],
],
[
[
...
@@ -60,7 +61,6 @@ app.use(fileUpload())
...
@@ -60,7 +61,6 @@ app.use(fileUpload())
app
.
use
(
swStats
.
getMiddleware
({
swaggerSpec
:
apiSpec
}));
app
.
use
(
swStats
.
getMiddleware
({
swaggerSpec
:
apiSpec
}));
let
requestQueue
=
[]
let
requestQueue
=
[]
let
workerNodes
=
[]
const
WINDOW_SIZE
=
10
const
WINDOW_SIZE
=
10
const
port
=
constants
.
master_port
const
port
=
constants
.
master_port
...
@@ -150,9 +150,9 @@ function deployContainer(path, imageName) {
...
@@ -150,9 +150,9 @@ function deployContainer(path, imageName) {
fs
.
writeFile
(
'
./repository/Dockerfile
'
,
fs
.
writeFile
(
'
./repository/Dockerfile
'
,
`FROM node:latest
`FROM node:latest
WORKDIR /app
WORKDIR /app
COPY package.json /app
COPY
./worker_env/
package.json /app
RUN npm install
ADD ./worker_env/node_modules /app/node_modules
COPY
.
/app
COPY
${
imageName
}
.js
/app
ENTRYPOINT ["node", "
${
imageName
}
.js"]`
ENTRYPOINT ["node", "
${
imageName
}
.js"]`
,
function
(
err
)
{
,
function
(
err
)
{
if
(
err
)
{
if
(
err
)
{
...
@@ -204,6 +204,7 @@ function deployContainer(path, imageName) {
...
@@ -204,6 +204,7 @@ function deployContainer(path, imageName) {
* REST API to receive execute requests
* REST API to receive execute requests
*/
*/
app
.
post
(
'
/serverless/execute/:id
'
,
(
req
,
res
)
=>
{
app
.
post
(
'
/serverless/execute/:id
'
,
(
req
,
res
)
=>
{
let
runtime
=
req
.
body
.
runtime
let
runtime
=
req
.
body
.
runtime
let
id
=
req
.
params
.
id
+
runtime
let
id
=
req
.
params
.
id
+
runtime
if
(
functionToResource
.
has
(
id
))
{
if
(
functionToResource
.
has
(
id
))
{
...
@@ -258,10 +259,11 @@ function dispatch() {
...
@@ -258,10 +259,11 @@ function dispatch() {
let
payloadToRM
=
[{
let
payloadToRM
=
[{
topic
:
"
request
"
,
// changing from REQUEST_DM_2_RM
topic
:
"
REQUEST_DM_2_RM
"
,
// changing from REQUEST_DM_2_RM
messages
:
JSON
.
stringify
({
messages
:
JSON
.
stringify
({
resource_id
,
resource_id
,
"
memory
"
:
332
,
"
memory
"
:
332
,
timestamp
:
Date
.
now
()
}),
}),
partition
:
0
partition
:
0
}]
}]
...
@@ -279,9 +281,6 @@ function dispatch() {
...
@@ -279,9 +281,6 @@ function dispatch() {
}
}
}
}
function
getAddress
()
{
return
workerNodes
[
Math
.
floor
(
Math
.
random
()
*
workerNodes
.
length
)];
}
function
postDeploy
(
message
)
{
function
postDeploy
(
message
)
{
logger
.
info
(
"
Deployed Resource:
"
+
JSON
.
stringify
(
message
));
logger
.
info
(
"
Deployed Resource:
"
+
JSON
.
stringify
(
message
));
...
@@ -328,12 +327,14 @@ function postDeploy(message) {
...
@@ -328,12 +327,14 @@ function postDeploy(message) {
topic
:
log_channel
,
topic
:
log_channel
,
messages
:
JSON
.
stringify
({
messages
:
JSON
.
stringify
({
resource_id
:
message
.
resource_id
,
resource_id
:
message
.
resource_id
,
// type: "deployment_launch",
node_id
:
resource
.
node_id
,
node_id
:
resource
.
node_id
,
runtime
:
resource
.
runtime
,
runtime
:
resource
.
runtime
,
function_id
:
resource
.
functionHash
,
function_id
:
resource
.
functionHash
,
entity_id
:
message
.
entity_id
,
"
reason
"
:
"
deployment
"
,
"
reason
"
:
"
deployment
"
,
"
status
"
:
true
,
"
status
"
:
true
,
"
timestamp
"
:
date
.
toISOString
()
"
timestamp
"
:
Date
.
now
()
}),
}),
partition
:
0
partition
:
0
}]
}]
...
@@ -363,6 +364,7 @@ consumer.on('message', function (message) {
...
@@ -363,6 +364,7 @@ consumer.on('message', function (message) {
let
topic
=
message
.
topic
let
topic
=
message
.
topic
message
=
message
.
value
message
=
message
.
value
// console.log(topic, message)
if
(
topic
===
"
response
"
)
{
if
(
topic
===
"
response
"
)
{
logger
.
info
(
"
response
"
+
message
);
logger
.
info
(
"
response
"
+
message
);
...
@@ -370,9 +372,10 @@ consumer.on('message', function (message) {
...
@@ -370,9 +372,10 @@ consumer.on('message', function (message) {
}
else
if
(
topic
===
"
heartbeat
"
)
{
}
else
if
(
topic
===
"
heartbeat
"
)
{
message
=
JSON
.
parse
(
message
)
message
=
JSON
.
parse
(
message
)
if
(
Date
.
now
()
-
message
.
timestamp
<
1000
)
if
(
Date
.
now
()
-
message
.
timestamp
<
1000
)
if
(
workerNodes
.
indexOf
(
message
.
address
)
===
-
1
)
{
if
(
!
workerNodes
.
has
(
message
.
address
))
{
workerNodes
.
push
(
message
.
address
)
workerNodes
.
set
(
message
.
address
,
message
.
timestamp
)
logger
.
warn
(
"
New worker discovered. Worker List:
"
+
workerNodes
)
logger
.
warn
(
"
New worker discovered. Worker List:
"
)
logger
.
warn
(
workerNodes
)
}
}
}
else
if
(
topic
==
"
deployed
"
)
{
}
else
if
(
topic
==
"
deployed
"
)
{
try
{
try
{
...
@@ -439,15 +442,21 @@ consumer.on('message', function (message) {
...
@@ -439,15 +442,21 @@ consumer.on('message', function (message) {
console
.
log
(
"
sent rm
"
);
console
.
log
(
"
sent rm
"
);
})
})
}
else
if
(
topic
==
"
RESPONSE_RM_2_DM
_DUMMY
"
)
{
}
else
if
(
topic
==
"
RESPONSE_RM_2_DM
"
)
{
logger
.
info
(
"
Response from RM:
"
+
message
);
logger
.
info
(
"
Response from RM:
"
+
message
);
message
=
JSON
.
parse
(
message
)
message
=
JSON
.
parse
(
message
)
let
resourceChoice
=
message
.
grunt
s
[
0
]
let
resourceChoice
=
message
.
node
s
[
0
]
if
(
resourceMap
.
has
(
message
.
resource_id
))
{
if
(
resourceMap
.
has
(
message
.
resource_id
))
{
let
resource
=
resourceMap
.
get
(
message
.
resource_id
)
let
resource
=
resourceMap
.
get
(
message
.
resource_id
)
resource
.
port
=
(
resourceChoice
.
port
)
?
resourceChoice
.
port
:
libSupport
.
getPort
(
usedPort
)
if
(
typeof
resourceChoice
===
'
string
'
)
{
resource
.
node_id
=
resourceChoice
.
node_id
resource
.
port
=
libSupport
.
getPort
(
usedPort
)
resource
.
node_id
=
resourceChoice
}
else
{
resource
.
port
=
(
resourceChoice
.
port
)
?
resourceChoice
.
port
:
libSupport
.
getPort
(
usedPort
)
resource
.
node_id
=
resourceChoice
.
node_id
}
let
payload
=
[{
let
payload
=
[{
topic
:
resource
.
node_id
,
topic
:
resource
.
node_id
,
messages
:
JSON
.
stringify
({
messages
:
JSON
.
stringify
({
...
...
dispatch_system/dispatch_manager/lib.js
View file @
c945c9a1
...
@@ -7,6 +7,7 @@ const constants = require('.././constants.json')
...
@@ -7,6 +7,7 @@ const constants = require('.././constants.json')
const
{
createLogger
,
format
,
transports
}
=
winston
;
const
{
createLogger
,
format
,
transports
}
=
winston
;
const
heap
=
require
(
'
heap
'
)
const
heap
=
require
(
'
heap
'
)
functionBranchTree
=
new
Map
()
// a tree to store function branch predictions
/**
/**
* Generates unique IDs of arbitrary length
* Generates unique IDs of arbitrary length
...
@@ -46,7 +47,7 @@ function generateExecutor(functionPath, functionHash) {
...
@@ -46,7 +47,7 @@ function generateExecutor(functionPath, functionHash) {
}
}
function
reverseProxy
(
req
,
res
,
functionToResource
,
resourceMap
)
{
function
reverseProxy
(
req
,
res
,
functionToResource
,
resourceMap
)
{
branchChainPredictor
(
req
,
resourceMap
)
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
let
runtime
=
req
.
body
.
runtime
let
runtime
=
req
.
body
.
runtime
let
id
=
req
.
params
.
id
+
runtime
let
id
=
req
.
params
.
id
+
runtime
...
@@ -139,6 +140,127 @@ function compare(a, b) {
...
@@ -139,6 +140,127 @@ function compare(a, b) {
return
a
.
open_request_count
-
b
.
open_request_count
return
a
.
open_request_count
-
b
.
open_request_count
}
}
function
branchChainPredictor
(
req
,
resourceMap
)
{
// console.log(req.headers['x-resource-id']);
if
(
req
.
headers
[
'
x-resource-id
'
]
===
undefined
)
{
let
functionHash
=
req
.
params
.
id
if
(
functionBranchTree
.
has
(
functionHash
))
{
let
branchInfo
=
functionBranchTree
.
get
(
functionHash
)
branchInfo
.
req_count
++
}
else
{
let
data
=
{
req_count
:
1
,
parent
:
true
,
branches
:
new
Map
()
}
functionBranchTree
.
set
(
functionHash
,
data
)
}
}
else
{
let
resource_id
=
req
.
headers
[
'
x-resource-id
'
]
let
resource
=
resourceMap
.
get
(
resource_id
)
let
forwardBranch
=
req
.
params
.
id
if
(
!
functionBranchTree
.
has
(
resource
.
functionHash
))
{
let
data
=
{
req_count
:
1
,
parent
:
false
,
branches
:
new
Map
()
}
data
.
branches
.
set
(
forwardBranch
,
1
)
functionBranchTree
.
set
(
resource
.
functionHash
,
data
)
}
else
{
let
branchInfo
=
functionBranchTree
.
get
(
resource
.
functionHash
)
if
(
!
branchInfo
.
parent
)
branchInfo
.
req_count
++
if
(
branchInfo
.
branches
.
has
(
forwardBranch
))
{
let
branchProb
=
branchInfo
.
branches
.
get
(
forwardBranch
)
branchProb
=
(
branchProb
*
(
branchInfo
.
req_count
-
1
)
+
1.0
)
branchInfo
.
branches
.
set
(
forwardBranch
,
branchProb
)
}
else
{
branchInfo
.
branches
.
set
(
forwardBranch
,
1.0
)
}
for
(
let
[
branch
,
prob
]
of
branchInfo
.
branches
.
entries
())
{
if
(
branch
!==
forwardBranch
)
prob
*=
(
branchInfo
.
req_count
-
1
)
prob
/=
branchInfo
.
req_count
branchInfo
.
branches
.
set
(
branch
,
prob
)
}
}
}
console
.
log
(
"
branch tree
"
,
functionBranchTree
);
}
function
viterbi
()
{
let
path
=
[]
functionBranchTree
.
forEach
((
metadata
,
node
)
=>
{
if
(
metadata
.
parent
)
{
let
parents
=
[[
node
,
{
prob
:
1
,
metadata
}]]
path
.
push
({
node
,
probability
:
1
})
let
siblings
=
new
Map
()
while
(
parents
.
length
>
0
)
{
// console.log("parent_group", parents);
for
(
const
parent
of
parents
)
{
// console.log("=========begin==========\n",parent, "\n=============end============");
// console.log(parent[1].metadata);
if
(
parent
[
1
].
metadata
===
undefined
)
continue
let
forwardBranches
=
parent
[
1
].
metadata
.
branches
// console.log(forwardBranches);
let
parentProbability
=
parent
[
1
].
prob
forwardBranches
.
forEach
((
branchProb
,
subNode
)
=>
{
let
probability
=
0
if
(
siblings
.
has
(
subNode
))
probability
=
siblings
.
get
(
subNode
)
probability
+=
branchProb
*
parentProbability
// console.log("prob", probability);
siblings
.
set
(
subNode
,
probability
)
})
// console.log("siblings", siblings);
}
parents
=
[]
let
maxSibling
,
maxProb
=
0
siblings
.
forEach
((
prob
,
sibling
)
=>
{
if
(
prob
>
maxProb
)
{
maxSibling
=
sibling
maxProb
=
prob
}
})
parentIDs
=
Array
.
from
(
siblings
.
keys
()
);
for
(
const
id
of
parentIDs
)
{
let
metadata
=
functionBranchTree
.
get
(
id
)
parents
.
push
([
id
,
{
prob
:
siblings
.
get
(
id
),
metadata
}
])
}
if
(
maxSibling
!==
undefined
)
path
.
push
({
node
:
maxSibling
,
probability
:
maxProb
})
siblings
=
new
Map
()
}
}
});
if
(
path
.
length
>
0
)
console
.
log
(
"
path
"
,
path
);
}
setInterval
(
viterbi
,
5000
)
module
.
exports
=
{
module
.
exports
=
{
makeid
,
generateExecutor
,
reverseProxy
,
getPort
,
logger
,
compare
makeid
,
generateExecutor
,
reverseProxy
,
getPort
,
logger
,
compare
}
}
\ No newline at end of file
dispatch_system/dispatch_manager/repository/worker_env/env.js
View file @
c945c9a1
'
use strict
'
;
'
use strict
'
;
const
express
=
require
(
'
express
'
)
const
express
=
require
(
'
express
'
)
const
bodyParser
=
require
(
'
body-parser
'
)
const
bodyParser
=
require
(
'
body-parser
'
)
let
request
=
require
(
'
request
'
)
const
process
=
require
(
'
process
'
)
const
app
=
express
()
const
app
=
express
()
let
port
=
5000
,
resource_id
,
functionHash
,
runtime
let
port
=
5000
,
resource_id
,
functionHash
,
runtime
...
@@ -8,6 +11,9 @@ resource_id = process.argv[2]
...
@@ -8,6 +11,9 @@ resource_id = process.argv[2]
functionHash
=
process
.
argv
[
3
]
functionHash
=
process
.
argv
[
3
]
port
=
process
.
argv
[
4
]
port
=
process
.
argv
[
4
]
runtime
=
process
.
argv
[
5
]
runtime
=
process
.
argv
[
5
]
request
=
request
.
defaults
({
headers
:
{
'
x-resource-id
'
:
resource_id
}
});
let
kafka
=
require
(
'
kafka-node
'
),
let
kafka
=
require
(
'
kafka-node
'
),
Producer
=
kafka
.
Producer
,
Producer
=
kafka
.
Producer
,
...
@@ -30,15 +36,22 @@ app.post('/serverless/function/execute/', (req, res) => {
...
@@ -30,15 +36,22 @@ app.post('/serverless/function/execute/', (req, res) => {
function
executor
(
payload
)
{
function
executor
(
payload
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
})
})
}
}
app
.
post
(
'
/serverless/function/execute/2
'
,
(
req
,
res
)
=>
{
console
.
log
(
"
2
"
,
JSON
.
stringify
(
req
.
headers
))
res
.
send
(
"
done
"
)
})
app
.
listen
(
port
,
()
=>
{
app
.
listen
(
port
,
()
=>
{
console
.
log
(
`Resource
${
resource_id
}
Server listening on port
${
port
}
!`
)
console
.
log
(
`Resource
${
resource_id
}
Server listening on port
${
port
}
!`
)
producer
.
send
(
producer
.
send
(
[{
[{
topic
:
"
deployed
"
,
topic
:
"
deployed
"
,
messages
:
JSON
.
stringify
({
functionHash
,
portExternal
:
port
,
runtime
,
resource_id
}),
messages
:
JSON
.
stringify
({
functionHash
,
portExternal
:
port
,
runtime
,
resource_id
,
entity_id
:
process
.
pid
}),
"
status
"
:
true
"
status
"
:
true
}],
()
=>
{
})
}],
()
=>
{
})
})
})
...
@@ -50,7 +63,7 @@ function shouldDie() {
...
@@ -50,7 +63,7 @@ function shouldDie() {
producer
.
send
(
producer
.
send
(
[{
[{
topic
:
"
removeWorker
"
,
topic
:
"
removeWorker
"
,
messages
:
JSON
.
stringify
({
functionHash
,
portExternal
:
port
,
runtime
,
resource_id
})
messages
:
JSON
.
stringify
({
functionHash
,
portExternal
:
port
,
runtime
,
resource_id
,
entity_id
:
process
.
pid
})
}],
()
=>
{
}],
()
=>
{
console
.
log
(
"
Ending worker for function
"
,
functionHash
,
"
resource_id
"
,
resource_id
);
console
.
log
(
"
Ending worker for function
"
,
functionHash
,
"
resource_id
"
,
resource_id
);
process
.
exit
(
0
)
process
.
exit
(
0
)
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/express/package.json
View file @
c945c9a1
{
{
"_from"
:
"express"
,
"_from"
:
"express
@^4.17.1
"
,
"_id"
:
"express@4.17.1"
,
"_id"
:
"express@4.17.1"
,
"_inBundle"
:
false
,
"_inBundle"
:
false
,
"_integrity"
:
"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="
,
"_integrity"
:
"sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="
,
"_location"
:
"/express"
,
"_location"
:
"/express"
,
"_phantomChildren"
:
{},
"_phantomChildren"
:
{},
"_requested"
:
{
"_requested"
:
{
"type"
:
"
tag
"
,
"type"
:
"
range
"
,
"registry"
:
true
,
"registry"
:
true
,
"raw"
:
"express"
,
"raw"
:
"express
@^4.17.1
"
,
"name"
:
"express"
,
"name"
:
"express"
,
"escapedName"
:
"express"
,
"escapedName"
:
"express"
,
"rawSpec"
:
""
,
"rawSpec"
:
"
^4.17.1
"
,
"saveSpec"
:
null
,
"saveSpec"
:
null
,
"fetchSpec"
:
"
latest
"
"fetchSpec"
:
"
^4.17.1
"
},
},
"_requiredBy"
:
[
"_requiredBy"
:
[
"#USER"
,
"#USER"
,
...
@@ -21,8 +21,8 @@
...
@@ -21,8 +21,8 @@
],
],
"_resolved"
:
"https://registry.npmjs.org/express/-/express-4.17.1.tgz"
,
"_resolved"
:
"https://registry.npmjs.org/express/-/express-4.17.1.tgz"
,
"_shasum"
:
"4491fc38605cf51f8629d39c2b5d026f98a4c134"
,
"_shasum"
:
"4491fc38605cf51f8629d39c2b5d026f98a4c134"
,
"_spec"
:
"express"
,
"_spec"
:
"express
@^4.17.1
"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
module/dispatch
er/repository/worker_env"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
system/dispatch_manag
er/repository/worker_env"
,
"author"
:
{
"author"
:
{
"name"
:
"TJ Holowaychuk"
,
"name"
:
"TJ Holowaychuk"
,
"email"
:
"tj@vision-media.ca"
"email"
:
"tj@vision-media.ca"
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/README.md
View file @
c945c9a1
...
@@ -173,7 +173,7 @@ addr.octets // => [192, 168, 1, 1]
...
@@ -173,7 +173,7 @@ addr.octets // => [192, 168, 1, 1]
```
```
`prefixLengthFromSubnetMask()`
will return a CIDR prefix length for a valid IPv4 netmask or
`prefixLengthFromSubnetMask()`
will return a CIDR prefix length for a valid IPv4 netmask or
false
if the netmask is not valid.
null
if the netmask is not valid.
```
js
```
js
ipaddr
.
IPv4
.
parse
(
'
255.255.255.240
'
).
prefixLengthFromSubnetMask
()
==
28
ipaddr
.
IPv4
.
parse
(
'
255.255.255.240
'
).
prefixLengthFromSubnetMask
()
==
28
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/lib/ipaddr.js.d.ts
View file @
c945c9a1
declare
module
"
ipaddr.js
"
{
declare
module
"
ipaddr.js
"
{
type
IPv4Range
=
'
unicast
'
|
'
unspecified
'
|
'
broadcast
'
|
'
multicast
'
|
'
linkLocal
'
|
'
loopback
'
|
'
carrierGradeNat
'
|
'
private
'
|
'
reserved
'
;
type
IPv4Range
=
'
unicast
'
|
'
unspecified
'
|
'
broadcast
'
|
'
multicast
'
|
'
linkLocal
'
|
'
loopback
'
|
'
carrierGradeNat
'
|
'
private
'
|
'
reserved
'
;
type
IPv6Range
=
'
unicast
'
|
'
unspecified
'
|
'
linkLocal
'
|
'
multicast
'
|
'
loopback
'
|
'
uniqueLocal
'
|
'
ipv4Mapped
'
|
'
rfc6145
'
|
'
rfc6052
'
|
'
6to4
'
|
'
teredo
'
|
'
reserved
'
;
type
IPv6Range
=
'
unicast
'
|
'
unspecified
'
|
'
linkLocal
'
|
'
multicast
'
|
'
loopback
'
|
'
uniqueLocal
'
|
'
ipv4Mapped
'
|
'
rfc6145
'
|
'
rfc6052
'
|
'
6to4
'
|
'
teredo
'
|
'
reserved
'
;
...
@@ -9,23 +6,20 @@ declare module "ipaddr.js" {
...
@@ -9,23 +6,20 @@ declare module "ipaddr.js" {
[
name
:
string
]:
[
T
,
number
]
|
[
T
,
number
][];
[
name
:
string
]:
[
T
,
number
]
|
[
T
,
number
][];
}
}
// Common methods/properties for IPv4 and IPv6 classes.
// Common methods/properties for IPv4 and IPv6 classes.
class
IP
{
class
IP
{
prefixLengthFromSubnetMask
():
number
|
null
;
prefixLengthFromSubnetMask
():
number
|
false
;
toByteArray
():
number
[];
toByteArray
():
number
[];
toNormalizedString
():
string
;
toNormalizedString
():
string
;
toString
():
string
;
toString
():
string
;
}
}
namespace
Address
{
namespace
Address
{
export
function
isValid
(
addr
:
string
):
boolean
;
export
function
isValid
(
addr
:
string
):
boolean
;
export
function
fromByteArray
(
bytes
:
number
[]):
IPv4
|
IPv6
;
export
function
fromByteArray
(
bytes
:
number
[]):
IPv4
|
IPv6
;
export
function
parse
(
addr
:
string
):
IPv4
|
IPv6
;
export
function
parse
(
addr
:
string
):
IPv4
|
IPv6
;
export
function
parseCIDR
(
mask
:
string
):
[
IPv4
|
IPv6
,
number
];
export
function
parseCIDR
(
mask
:
string
):
[
IPv4
|
IPv6
,
number
];
export
function
process
(
addr
ess
:
string
):
IPv4
|
IPv6
;
export
function
process
(
addr
:
string
):
IPv4
|
IPv6
;
export
function
subnetMatch
(
addr
:
IPv4
,
rangeList
:
RangeList
<
IPv4
>
,
defaultName
?:
string
):
string
;
export
function
subnetMatch
(
addr
:
IPv4
,
rangeList
:
RangeList
<
IPv4
>
,
defaultName
?:
string
):
string
;
export
function
subnetMatch
(
addr
:
IPv6
,
rangeList
:
RangeList
<
IPv6
>
,
defaultName
?:
string
):
string
;
export
function
subnetMatch
(
addr
:
IPv6
,
rangeList
:
RangeList
<
IPv6
>
,
defaultName
?:
string
):
string
;
...
@@ -39,6 +33,7 @@ declare module "ipaddr.js" {
...
@@ -39,6 +33,7 @@ declare module "ipaddr.js" {
static
parseCIDR
(
addr
:
string
):
[
IPv4
,
number
];
static
parseCIDR
(
addr
:
string
):
[
IPv4
,
number
];
static
subnetMaskFromPrefixLength
(
prefix
:
number
):
IPv4
;
static
subnetMaskFromPrefixLength
(
prefix
:
number
):
IPv4
;
constructor
(
octets
:
number
[]);
constructor
(
octets
:
number
[]);
octets
:
number
[]
kind
():
'
ipv4
'
;
kind
():
'
ipv4
'
;
match
(
addr
:
IPv4
,
bits
:
number
):
boolean
;
match
(
addr
:
IPv4
,
bits
:
number
):
boolean
;
...
@@ -55,7 +50,9 @@ declare module "ipaddr.js" {
...
@@ -55,7 +50,9 @@ declare module "ipaddr.js" {
static
parse
(
addr
:
string
):
IPv6
;
static
parse
(
addr
:
string
):
IPv6
;
static
parseCIDR
(
addr
:
string
):
[
IPv6
,
number
];
static
parseCIDR
(
addr
:
string
):
[
IPv6
,
number
];
static
subnetMaskFromPrefixLength
(
prefix
:
number
):
IPv6
;
static
subnetMaskFromPrefixLength
(
prefix
:
number
):
IPv6
;
constructor
(
octets
:
number
[]);
constructor
(
parts
:
number
[]);
parts
:
number
[]
zoneId
?:
string
isIPv4MappedAddress
():
boolean
;
isIPv4MappedAddress
():
boolean
;
kind
():
'
ipv6
'
;
kind
():
'
ipv6
'
;
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/ipaddr.js/package.json
View file @
c945c9a1
{
{
"_from"
:
"ipaddr.js@1.9.
0
"
,
"_from"
:
"ipaddr.js@1.9.
1
"
,
"_id"
:
"ipaddr.js@1.9.
0
"
,
"_id"
:
"ipaddr.js@1.9.
1
"
,
"_inBundle"
:
false
,
"_inBundle"
:
false
,
"_integrity"
:
"sha512-
M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA
=="
,
"_integrity"
:
"sha512-
0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g
=="
,
"_location"
:
"/ipaddr.js"
,
"_location"
:
"/ipaddr.js"
,
"_phantomChildren"
:
{},
"_phantomChildren"
:
{},
"_requested"
:
{
"_requested"
:
{
"type"
:
"version"
,
"type"
:
"version"
,
"registry"
:
true
,
"registry"
:
true
,
"raw"
:
"ipaddr.js@1.9.
0
"
,
"raw"
:
"ipaddr.js@1.9.
1
"
,
"name"
:
"ipaddr.js"
,
"name"
:
"ipaddr.js"
,
"escapedName"
:
"ipaddr.js"
,
"escapedName"
:
"ipaddr.js"
,
"rawSpec"
:
"1.9.
0
"
,
"rawSpec"
:
"1.9.
1
"
,
"saveSpec"
:
null
,
"saveSpec"
:
null
,
"fetchSpec"
:
"1.9.
0
"
"fetchSpec"
:
"1.9.
1
"
},
},
"_requiredBy"
:
[
"_requiredBy"
:
[
"/proxy-addr"
"/proxy-addr"
],
],
"_resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.
0
.tgz"
,
"_resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.
1
.tgz"
,
"_shasum"
:
"
37df74e430a0e47550fe54a2defe30d8acd95f65
"
,
"_shasum"
:
"
bff38543eeb8984825079ff3a2a8e6cbd46781b3
"
,
"_spec"
:
"ipaddr.js@1.9.
0
"
,
"_spec"
:
"ipaddr.js@1.9.
1
"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
module/dispatch
er/repository/worker_env/node_modules/proxy-addr"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
system/dispatch_manag
er/repository/worker_env/node_modules/proxy-addr"
,
"author"
:
{
"author"
:
{
"name"
:
"whitequark"
,
"name"
:
"whitequark"
,
"email"
:
"whitequark@whitequark.org"
"email"
:
"whitequark@whitequark.org"
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
"description"
:
"A library for manipulating IPv4 and IPv6 addresses in JavaScript."
,
"description"
:
"A library for manipulating IPv4 and IPv6 addresses in JavaScript."
,
"devDependencies"
:
{
"devDependencies"
:
{
"coffee-script"
:
"~1.12.6"
,
"coffee-script"
:
"~1.12.6"
,
"nodeunit"
:
"
>=0.8.2 <0.8.7
"
,
"nodeunit"
:
"
^0.11.3
"
,
"uglify-js"
:
"~3.0.19"
"uglify-js"
:
"~3.0.19"
},
},
"directories"
:
{
"directories"
:
{
...
@@ -46,6 +46,7 @@
...
@@ -46,6 +46,7 @@
},
},
"files"
:
[
"files"
:
[
"lib/"
,
"lib/"
,
"LICENSE"
,
"ipaddr.min.js"
"ipaddr.min.js"
],
],
"homepage"
:
"https://github.com/whitequark/ipaddr.js#readme"
,
"homepage"
:
"https://github.com/whitequark/ipaddr.js#readme"
,
...
@@ -65,5 +66,5 @@
...
@@ -65,5 +66,5 @@
"test"
:
"cake build test"
"test"
:
"cake build test"
},
},
"types"
:
"./lib/ipaddr.js.d.ts"
,
"types"
:
"./lib/ipaddr.js.d.ts"
,
"version"
:
"1.9.
0
"
"version"
:
"1.9.
1
"
}
}
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/HISTORY.md
View file @
c945c9a1
2.0.6 / 2020-02-24
==================
*
deps: ipaddr.js@1.9.1
2.
0.5 / 2019-04-16
2.
0.5 / 2019-04-16
==================
==================
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/index.js
View file @
c945c9a1
...
@@ -99,7 +99,7 @@ function compile (val) {
...
@@ -99,7 +99,7 @@ function compile (val) {
for
(
var
i
=
0
;
i
<
trust
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
trust
.
length
;
i
++
)
{
val
=
trust
[
i
]
val
=
trust
[
i
]
if
(
!
IP_RANGES
.
hasOwnProperty
(
val
))
{
if
(
!
Object
.
prototype
.
hasOwnProperty
.
call
(
IP_RANGES
,
val
))
{
continue
continue
}
}
...
...
dispatch_system/dispatch_manager/repository/worker_env/node_modules/proxy-addr/package.json
View file @
c945c9a1
{
{
"_from"
:
"proxy-addr@~2.0.5"
,
"_from"
:
"proxy-addr@~2.0.5"
,
"_id"
:
"proxy-addr@2.0.
5
"
,
"_id"
:
"proxy-addr@2.0.
6
"
,
"_inBundle"
:
false
,
"_inBundle"
:
false
,
"_integrity"
:
"sha512-
t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ
=="
,
"_integrity"
:
"sha512-
dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw
=="
,
"_location"
:
"/proxy-addr"
,
"_location"
:
"/proxy-addr"
,
"_phantomChildren"
:
{},
"_phantomChildren"
:
{},
"_requested"
:
{
"_requested"
:
{
...
@@ -18,10 +18,10 @@
...
@@ -18,10 +18,10 @@
"_requiredBy"
:
[
"_requiredBy"
:
[
"/express"
"/express"
],
],
"_resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.
5
.tgz"
,
"_resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.
6
.tgz"
,
"_shasum"
:
"
34cbd64a2d81f4b1fd21e76f9f06c8a45299ee34
"
,
"_shasum"
:
"
fdc2336505447d3f2f2c638ed272caf614bbb2bf
"
,
"_spec"
:
"proxy-addr@~2.0.5"
,
"_spec"
:
"proxy-addr@~2.0.5"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
module/dispatch
er/repository/worker_env/node_modules/express"
,
"_where"
:
"/home/nilanjan/Desktop/serverless/hybrid/dispatch_
system/dispatch_manag
er/repository/worker_env/node_modules/express"
,
"author"
:
{
"author"
:
{
"name"
:
"Douglas Christopher Wilson"
,
"name"
:
"Douglas Christopher Wilson"
,
"email"
:
"doug@somethingdoug.com"
"email"
:
"doug@somethingdoug.com"
...
@@ -32,7 +32,7 @@
...
@@ -32,7 +32,7 @@
"bundleDependencies"
:
false
,
"bundleDependencies"
:
false
,
"dependencies"
:
{
"dependencies"
:
{
"forwarded"
:
"~0.1.2"
,
"forwarded"
:
"~0.1.2"
,
"ipaddr.js"
:
"1.9.
0
"
"ipaddr.js"
:
"1.9.
1
"
},
},
"deprecated"
:
false
,
"deprecated"
:
false
,
"description"
:
"Determine address of proxied request"
,
"description"
:
"Determine address of proxied request"
,
...
@@ -40,15 +40,15 @@
...
@@ -40,15 +40,15 @@
"beautify-benchmark"
:
"0.2.4"
,
"beautify-benchmark"
:
"0.2.4"
,
"benchmark"
:
"2.1.4"
,
"benchmark"
:
"2.1.4"
,
"deep-equal"
:
"1.0.1"
,
"deep-equal"
:
"1.0.1"
,
"eslint"
:
"
5.16
.0"
,
"eslint"
:
"
6.8
.0"
,
"eslint-config-standard"
:
"1
2.0
.0"
,
"eslint-config-standard"
:
"1
4.1
.0"
,
"eslint-plugin-import"
:
"2.
17
.1"
,
"eslint-plugin-import"
:
"2.
20
.1"
,
"eslint-plugin-markdown"
:
"1.0.
0
"
,
"eslint-plugin-markdown"
:
"1.0.
1
"
,
"eslint-plugin-node"
:
"
8.0.1
"
,
"eslint-plugin-node"
:
"
11.0.0
"
,
"eslint-plugin-promise"
:
"4.
1
.1"
,
"eslint-plugin-promise"
:
"4.
2
.1"
,
"eslint-plugin-standard"
:
"4.0.
0
"
,
"eslint-plugin-standard"
:
"4.0.
1
"
,
"mocha"
:
"
6.1.3
"
,
"mocha"
:
"
7.0.1
"
,
"nyc"
:
"1
3.3
.0"
"nyc"
:
"1
5.0
.0"
},
},
"engines"
:
{
"engines"
:
{
"node"
:
">= 0.10"
"node"
:
">= 0.10"
...
@@ -78,5 +78,5 @@
...
@@ -78,5 +78,5 @@
"test-cov"
:
"nyc --reporter=text npm test"
,
"test-cov"
:
"nyc --reporter=text npm test"
,
"test-travis"
:
"nyc --reporter=html --reporter=text npm test"
"test-travis"
:
"nyc --reporter=html --reporter=text npm test"
},
},
"version"
:
"2.0.
5
"
"version"
:
"2.0.
6
"
}
}
dispatch_system/dispatch_manager/repository/worker_env/package-lock.json
View file @
c945c9a1
...
@@ -13,11 +13,85 @@
...
@@ -13,11 +13,85 @@
"negotiator"
:
"0.6.2"
"negotiator"
:
"0.6.2"
}
}
},
},
"ajv"
:
{
"version"
:
"6.12.0"
,
"resolved"
:
"https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz"
,
"integrity"
:
"sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw=="
,
"requires"
:
{
"fast-deep-equal"
:
"^3.1.1"
,
"fast-json-stable-stringify"
:
"^2.0.0"
,
"json-schema-traverse"
:
"^0.4.1"
,
"uri-js"
:
"^4.2.2"
}
},
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
,
"integrity"
:
"sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
,
"optional"
:
true
},
"aproba"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"
,
"integrity"
:
"sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
,
"optional"
:
true
},
"are-we-there-yet"
:
{
"version"
:
"1.1.5"
,
"resolved"
:
"https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"
,
"integrity"
:
"sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w=="
,
"optional"
:
true
,
"requires"
:
{
"delegates"
:
"^1.0.0"
,
"readable-stream"
:
"^2.0.6"
}
},
"array-flatten"
:
{
"array-flatten"
:
{
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
,
"integrity"
:
"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
"integrity"
:
"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
},
"asn1"
:
{
"version"
:
"0.2.4"
,
"resolved"
:
"https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"
,
"integrity"
:
"sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="
,
"requires"
:
{
"safer-buffer"
:
"~2.1.0"
}
},
"assert-plus"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
,
"integrity"
:
"sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"async"
:
{
"version"
:
"2.6.3"
,
"resolved"
:
"https://registry.npmjs.org/async/-/async-2.6.3.tgz"
,
"integrity"
:
"sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg=="
,
"requires"
:
{
"lodash"
:
"^4.17.14"
}
},
"asynckit"
:
{
"version"
:
"0.4.0"
,
"resolved"
:
"https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
,
"integrity"
:
"sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"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="
},
"aws4"
:
{
"version"
:
"1.9.1"
,
"resolved"
:
"https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz"
,
"integrity"
:
"sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
},
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
,
"integrity"
:
"sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"basic-auth"
:
{
"basic-auth"
:
{
"version"
:
"2.0.1"
,
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz"
,
...
@@ -26,6 +100,41 @@
...
@@ -26,6 +100,41 @@
"safe-buffer"
:
"5.1.2"
"safe-buffer"
:
"5.1.2"
}
}
},
},
"bcrypt-pbkdf"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"
,
"integrity"
:
"sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4="
,
"requires"
:
{
"tweetnacl"
:
"^0.14.3"
}
},
"binary"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"https://registry.npmjs.org/binary/-/binary-0.3.0.tgz"
,
"integrity"
:
"sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk="
,
"requires"
:
{
"buffers"
:
"~0.1.1"
,
"chainsaw"
:
"~0.1.0"
}
},
"bindings"
:
{
"version"
:
"1.5.0"
,
"resolved"
:
"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"
,
"integrity"
:
"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="
,
"optional"
:
true
,
"requires"
:
{
"file-uri-to-path"
:
"1.0.0"
}
},
"bl"
:
{
"version"
:
"2.2.0"
,
"resolved"
:
"https://registry.npmjs.org/bl/-/bl-2.2.0.tgz"
,
"integrity"
:
"sha512-wbgvOpqopSr7uq6fJrLH8EsvYMJf9gzfo2jCsL2eTy75qXPukA4pCgHamOQkZtY5vmfVtjB+P3LNlMHW5CEZXA=="
,
"requires"
:
{
"readable-stream"
:
"^2.3.5"
,
"safe-buffer"
:
"^5.1.1"
}
},
"body-parser"
:
{
"body-parser"
:
{
"version"
:
"1.19.0"
,
"version"
:
"1.19.0"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"
,
...
@@ -43,11 +152,82 @@
...
@@ -43,11 +152,82 @@
"type-is"
:
"~1.6.17"
"type-is"
:
"~1.6.17"
}
}
},
},
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
}
},
"buffer-crc32"
:
{
"version"
:
"0.2.13"
,
"resolved"
:
"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
,
"integrity"
:
"sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
},
"buffermaker"
:
{
"version"
:
"1.2.1"
,
"resolved"
:
"https://registry.npmjs.org/buffermaker/-/buffermaker-1.2.1.tgz"
,
"integrity"
:
"sha512-IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ=="
,
"requires"
:
{
"long"
:
"1.1.2"
}
},
"buffers"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz"
,
"integrity"
:
"sha1-skV5w77U1tOWru5tmorn9Ugqt7s="
},
"bytes"
:
{
"bytes"
:
{
"version"
:
"3.1.0"
,
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"
,
"integrity"
:
"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
"integrity"
:
"sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
},
},
"caseless"
:
{
"version"
:
"0.12.0"
,
"resolved"
:
"https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"
,
"integrity"
:
"sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chainsaw"
:
{
"version"
:
"0.1.0"
,
"resolved"
:
"https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz"
,
"integrity"
:
"sha1-XqtQsor+WAdNDVgpE4iCi15fvJg="
,
"requires"
:
{
"traverse"
:
">=0.3.0 <0.4"
}
},
"chownr"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"
,
"integrity"
:
"sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
,
"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="
,
"optional"
:
true
},
"combined-stream"
:
{
"version"
:
"1.0.8"
,
"resolved"
:
"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
,
"integrity"
:
"sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="
,
"requires"
:
{
"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="
},
"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="
,
"optional"
:
true
},
"content-disposition"
:
{
"content-disposition"
:
{
"version"
:
"0.5.3"
,
"version"
:
"0.5.3"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"
,
...
@@ -71,6 +251,19 @@
...
@@ -71,6 +251,19 @@
"resolved"
:
"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
,
"integrity"
:
"sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
"integrity"
:
"sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
},
"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="
},
"dashdash"
:
{
"version"
:
"1.14.1"
,
"resolved"
:
"https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"
,
"integrity"
:
"sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA="
,
"requires"
:
{
"assert-plus"
:
"^1.0.0"
}
},
"debug"
:
{
"debug"
:
{
"version"
:
"2.6.9"
,
"version"
:
"2.6.9"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
,
...
@@ -79,6 +272,37 @@
...
@@ -79,6 +272,37 @@
"ms"
:
"2.0.0"
"ms"
:
"2.0.0"
}
}
},
},
"decompress-response"
:
{
"version"
:
"4.2.1"
,
"resolved"
:
"https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz"
,
"integrity"
:
"sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw=="
,
"optional"
:
true
,
"requires"
:
{
"mimic-response"
:
"^2.0.0"
}
},
"deep-extend"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
,
"integrity"
:
"sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
,
"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="
},
"delegates"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
,
"integrity"
:
"sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
,
"optional"
:
true
},
"denque"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/denque/-/denque-1.4.1.tgz"
,
"integrity"
:
"sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
},
"depd"
:
{
"depd"
:
{
"version"
:
"1.1.2"
,
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
,
...
@@ -89,6 +313,21 @@
...
@@ -89,6 +313,21 @@
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
},
"detect-libc"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz"
,
"integrity"
:
"sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
,
"optional"
:
true
},
"ecc-jsbn"
:
{
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"
,
"integrity"
:
"sha1-OoOpBOVDUyh4dMVkt1SThoSamMk="
,
"requires"
:
{
"jsbn"
:
"~0.1.0"
,
"safer-buffer"
:
"^2.1.0"
}
},
"ee-first"
:
{
"ee-first"
:
{
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
,
...
@@ -99,6 +338,15 @@
...
@@ -99,6 +338,15 @@
"resolved"
:
"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
,
"integrity"
:
"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
"integrity"
:
"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
},
"end-of-stream"
:
{
"version"
:
"1.4.4"
,
"resolved"
:
"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
,
"integrity"
:
"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
,
"optional"
:
true
,
"requires"
:
{
"once"
:
"^1.4.0"
}
},
"escape-html"
:
{
"escape-html"
:
{
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
,
...
@@ -109,6 +357,12 @@
...
@@ -109,6 +357,12 @@
"resolved"
:
"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
,
"integrity"
:
"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
"integrity"
:
"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
},
"expand-template"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz"
,
"integrity"
:
"sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="
,
"optional"
:
true
},
"express"
:
{
"express"
:
{
"version"
:
"4.17.1"
,
"version"
:
"4.17.1"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.17.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.17.1.tgz"
,
...
@@ -146,6 +400,32 @@
...
@@ -146,6 +400,32 @@
"vary"
:
"~1.1.2"
"vary"
:
"~1.1.2"
}
}
},
},
"extend"
:
{
"version"
:
"3.0.2"
,
"resolved"
:
"https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"
,
"integrity"
:
"sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extsprintf"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"
,
"integrity"
:
"sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal"
:
{
"version"
:
"3.1.1"
,
"resolved"
:
"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"
,
"integrity"
:
"sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
},
"fast-json-stable-stringify"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
,
"integrity"
:
"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"file-uri-to-path"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"
,
"integrity"
:
"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
,
"optional"
:
true
},
"finalhandler"
:
{
"finalhandler"
:
{
"version"
:
"1.1.2"
,
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"
,
...
@@ -160,6 +440,21 @@
...
@@ -160,6 +440,21 @@
"unpipe"
:
"~1.0.0"
"unpipe"
:
"~1.0.0"
}
}
},
},
"forever-agent"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
,
"integrity"
:
"sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data"
:
{
"version"
:
"2.3.3"
,
"resolved"
:
"https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"
,
"integrity"
:
"sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="
,
"requires"
:
{
"asynckit"
:
"^0.4.0"
,
"combined-stream"
:
"^1.0.6"
,
"mime-types"
:
"^2.1.12"
}
},
"forwarded"
:
{
"forwarded"
:
{
"version"
:
"0.1.2"
,
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"
,
...
@@ -170,6 +465,62 @@
...
@@ -170,6 +465,62 @@
"resolved"
:
"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
,
"integrity"
:
"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
"integrity"
:
"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
},
"fs-constants"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz"
,
"integrity"
:
"sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
,
"optional"
:
true
},
"gauge"
:
{
"version"
:
"2.7.4"
,
"resolved"
:
"https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"
,
"integrity"
:
"sha1-LANAXHU4w51+s3sxcCLjJfsBi/c="
,
"optional"
:
true
,
"requires"
:
{
"aproba"
:
"^1.0.3"
,
"console-control-strings"
:
"^1.0.0"
,
"has-unicode"
:
"^2.0.0"
,
"object-assign"
:
"^4.1.0"
,
"signal-exit"
:
"^3.0.0"
,
"string-width"
:
"^1.0.1"
,
"strip-ansi"
:
"^3.0.1"
,
"wide-align"
:
"^1.1.0"
}
},
"getpass"
:
{
"version"
:
"0.1.7"
,
"resolved"
:
"https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"
,
"integrity"
:
"sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo="
,
"requires"
:
{
"assert-plus"
:
"^1.0.0"
}
},
"github-from-package"
:
{
"version"
:
"0.0.0"
,
"resolved"
:
"https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz"
,
"integrity"
:
"sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4="
,
"optional"
:
true
},
"har-schema"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"
,
"integrity"
:
"sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator"
:
{
"version"
:
"5.1.3"
,
"resolved"
:
"https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"
,
"integrity"
:
"sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="
,
"requires"
:
{
"ajv"
:
"^6.5.5"
,
"har-schema"
:
"^2.0.0"
}
},
"has-unicode"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
,
"integrity"
:
"sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
,
"optional"
:
true
},
"http-errors"
:
{
"http-errors"
:
{
"version"
:
"1.7.2"
,
"version"
:
"1.7.2"
,
"resolved"
:
"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"
,
...
@@ -182,6 +533,16 @@
...
@@ -182,6 +533,16 @@
"toidentifier"
:
"1.0.0"
"toidentifier"
:
"1.0.0"
}
}
},
},
"http-signature"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"
,
"integrity"
:
"sha1-muzZJRFHcvPZW2WmCruPfBj7rOE="
,
"requires"
:
{
"assert-plus"
:
"^1.0.0"
,
"jsprim"
:
"^1.2.2"
,
"sshpk"
:
"^1.7.0"
}
},
"iconv-lite"
:
{
"iconv-lite"
:
{
"version"
:
"0.4.24"
,
"version"
:
"0.4.24"
,
"resolved"
:
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
,
"resolved"
:
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
,
...
@@ -195,10 +556,102 @@
...
@@ -195,10 +556,102 @@
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
,
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
},
"ini"
:
{
"version"
:
"1.3.5"
,
"resolved"
:
"https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"
,
"integrity"
:
"sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
,
"optional"
:
true
},
"ipaddr.js"
:
{
"ipaddr.js"
:
{
"version"
:
"1.9.0"
,
"version"
:
"1.9.1"
,
"resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
,
"integrity"
:
"sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA=="
"integrity"
:
"sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
},
"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="
,
"optional"
:
true
,
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
}
},
"is-typedarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
,
"integrity"
:
"sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"isarray"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
,
"integrity"
:
"sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
"isstream"
:
{
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
,
"integrity"
:
"sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jsbn"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"
,
"integrity"
:
"sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"json-schema"
:
{
"version"
:
"0.2.3"
,
"resolved"
:
"https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"
,
"integrity"
:
"sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"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=="
},
"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="
},
"jsprim"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"
,
"integrity"
:
"sha1-MT5mvB5cwG5Di8G3SZwuXFastqI="
,
"requires"
:
{
"assert-plus"
:
"1.0.0"
,
"extsprintf"
:
"1.3.0"
,
"json-schema"
:
"0.2.3"
,
"verror"
:
"1.10.0"
}
},
"kafka-node"
:
{
"version"
:
"5.0.0"
,
"resolved"
:
"https://registry.npmjs.org/kafka-node/-/kafka-node-5.0.0.tgz"
,
"integrity"
:
"sha512-dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug=="
,
"requires"
:
{
"async"
:
"^2.6.2"
,
"binary"
:
"~0.3.0"
,
"bl"
:
"^2.2.0"
,
"buffer-crc32"
:
"~0.2.5"
,
"buffermaker"
:
"~1.2.0"
,
"debug"
:
"^2.1.3"
,
"denque"
:
"^1.3.0"
,
"lodash"
:
"^4.17.4"
,
"minimatch"
:
"^3.0.2"
,
"nested-error-stacks"
:
"^2.0.0"
,
"optional"
:
"^0.1.3"
,
"retry"
:
"^0.10.1"
,
"snappy"
:
"^6.0.1"
,
"uuid"
:
"^3.0.0"
}
},
"lodash"
:
{
"version"
:
"4.17.15"
,
"resolved"
:
"https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz"
,
"integrity"
:
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
},
"long"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/long/-/long-1.1.2.tgz"
,
"integrity"
:
"sha1-6u9ZUcp1UdlpJrgtokLbnWso+1M="
},
},
"media-typer"
:
{
"media-typer"
:
{
"version"
:
"0.3.0"
,
"version"
:
"0.3.0"
,
...
@@ -233,6 +686,43 @@
...
@@ -233,6 +686,43 @@
"mime-db"
:
"1.43.0"
"mime-db"
:
"1.43.0"
}
}
},
},
"mimic-response"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz"
,
"integrity"
:
"sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA=="
,
"optional"
:
true
},
"minimatch"
:
{
"version"
:
"3.0.4"
,
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
,
"integrity"
:
"sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
,
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
}
},
"minimist"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
,
"integrity"
:
"sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
,
"optional"
:
true
},
"mkdirp"
:
{
"version"
:
"0.5.1"
,
"resolved"
:
"https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"
,
"integrity"
:
"sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM="
,
"optional"
:
true
,
"requires"
:
{
"minimist"
:
"0.0.8"
},
"dependencies"
:
{
"minimist"
:
{
"version"
:
"0.0.8"
,
"resolved"
:
"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
,
"integrity"
:
"sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
,
"optional"
:
true
}
}
},
"morgan"
:
{
"morgan"
:
{
"version"
:
"1.9.1"
,
"version"
:
"1.9.1"
,
"resolved"
:
"https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/morgan/-/morgan-1.9.1.tgz"
,
...
@@ -250,11 +740,72 @@
...
@@ -250,11 +740,72 @@
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
,
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
},
"nan"
:
{
"version"
:
"2.14.0"
,
"resolved"
:
"https://registry.npmjs.org/nan/-/nan-2.14.0.tgz"
,
"integrity"
:
"sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
,
"optional"
:
true
},
"napi-build-utils"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz"
,
"integrity"
:
"sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA=="
,
"optional"
:
true
},
"negotiator"
:
{
"negotiator"
:
{
"version"
:
"0.6.2"
,
"version"
:
"0.6.2"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"
,
"integrity"
:
"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
"integrity"
:
"sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
},
"nested-error-stacks"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz"
,
"integrity"
:
"sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug=="
},
"node-abi"
:
{
"version"
:
"2.15.0"
,
"resolved"
:
"https://registry.npmjs.org/node-abi/-/node-abi-2.15.0.tgz"
,
"integrity"
:
"sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg=="
,
"optional"
:
true
,
"requires"
:
{
"semver"
:
"^5.4.1"
}
},
"noop-logger"
:
{
"version"
:
"0.1.1"
,
"resolved"
:
"https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz"
,
"integrity"
:
"sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI="
,
"optional"
:
true
},
"npmlog"
:
{
"version"
:
"4.1.2"
,
"resolved"
:
"https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz"
,
"integrity"
:
"sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg=="
,
"optional"
:
true
,
"requires"
:
{
"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="
,
"optional"
:
true
},
"oauth-sign"
:
{
"version"
:
"0.9.0"
,
"resolved"
:
"https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"
,
"integrity"
:
"sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
,
"integrity"
:
"sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
,
"optional"
:
true
},
"on-finished"
:
{
"on-finished"
:
{
"version"
:
"2.3.0"
,
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
,
...
@@ -268,6 +819,20 @@
...
@@ -268,6 +819,20 @@
"resolved"
:
"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
,
"integrity"
:
"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
"integrity"
:
"sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
},
},
"once"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"integrity"
:
"sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
,
"optional"
:
true
,
"requires"
:
{
"wrappy"
:
"1"
}
},
"optional"
:
{
"version"
:
"0.1.4"
,
"resolved"
:
"https://registry.npmjs.org/optional/-/optional-0.1.4.tgz"
,
"integrity"
:
"sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw=="
},
"parseurl"
:
{
"parseurl"
:
{
"version"
:
"1.3.3"
,
"version"
:
"1.3.3"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
,
...
@@ -278,15 +843,68 @@
...
@@ -278,15 +843,68 @@
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
,
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
,
"integrity"
:
"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
"integrity"
:
"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
},
"performance-now"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"
,
"integrity"
:
"sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"prebuild-install"
:
{
"version"
:
"5.3.3"
,
"resolved"
:
"https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz"
,
"integrity"
:
"sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g=="
,
"optional"
:
true
,
"requires"
:
{
"detect-libc"
:
"^1.0.3"
,
"expand-template"
:
"^2.0.3"
,
"github-from-package"
:
"0.0.0"
,
"minimist"
:
"^1.2.0"
,
"mkdirp"
:
"^0.5.1"
,
"napi-build-utils"
:
"^1.0.1"
,
"node-abi"
:
"^2.7.0"
,
"noop-logger"
:
"^0.1.1"
,
"npmlog"
:
"^4.0.1"
,
"pump"
:
"^3.0.0"
,
"rc"
:
"^1.2.7"
,
"simple-get"
:
"^3.0.3"
,
"tar-fs"
:
"^2.0.0"
,
"tunnel-agent"
:
"^0.6.0"
,
"which-pm-runs"
:
"^1.0.0"
}
},
"process-nextick-args"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
,
"integrity"
:
"sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"proxy-addr"
:
{
"proxy-addr"
:
{
"version"
:
"2.0.
5
"
,
"version"
:
"2.0.
6
"
,
"resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.
5
.tgz"
,
"resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.
6
.tgz"
,
"integrity"
:
"sha512-
t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ
=="
,
"integrity"
:
"sha512-
dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw
=="
,
"requires"
:
{
"requires"
:
{
"forwarded"
:
"~0.1.2"
,
"forwarded"
:
"~0.1.2"
,
"ipaddr.js"
:
"1.9.0"
"ipaddr.js"
:
"1.9.1"
}
},
"psl"
:
{
"version"
:
"1.7.0"
,
"resolved"
:
"https://registry.npmjs.org/psl/-/psl-1.7.0.tgz"
,
"integrity"
:
"sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ=="
},
"pump"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
,
"integrity"
:
"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
,
"optional"
:
true
,
"requires"
:
{
"end-of-stream"
:
"^1.1.0"
,
"once"
:
"^1.3.1"
}
}
},
},
"punycode"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
,
"integrity"
:
"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"qs"
:
{
"qs"
:
{
"version"
:
"6.7.0"
,
"version"
:
"6.7.0"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"
,
...
@@ -308,6 +926,71 @@
...
@@ -308,6 +926,71 @@
"unpipe"
:
"1.0.0"
"unpipe"
:
"1.0.0"
}
}
},
},
"rc"
:
{
"version"
:
"1.2.8"
,
"resolved"
:
"https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
,
"integrity"
:
"sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="
,
"optional"
:
true
,
"requires"
:
{
"deep-extend"
:
"^0.6.0"
,
"ini"
:
"~1.3.0"
,
"minimist"
:
"^1.2.0"
,
"strip-json-comments"
:
"~2.0.1"
}
},
"readable-stream"
:
{
"version"
:
"2.3.7"
,
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
,
"integrity"
:
"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="
,
"requires"
:
{
"core-util-is"
:
"~1.0.0"
,
"inherits"
:
"~2.0.3"
,
"isarray"
:
"~1.0.0"
,
"process-nextick-args"
:
"~2.0.0"
,
"safe-buffer"
:
"~5.1.1"
,
"string_decoder"
:
"~1.1.1"
,
"util-deprecate"
:
"~1.0.1"
}
},
"request"
:
{
"version"
:
"2.88.2"
,
"resolved"
:
"https://registry.npmjs.org/request/-/request-2.88.2.tgz"
,
"integrity"
:
"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="
,
"requires"
:
{
"aws-sign2"
:
"~0.7.0"
,
"aws4"
:
"^1.8.0"
,
"caseless"
:
"~0.12.0"
,
"combined-stream"
:
"~1.0.6"
,
"extend"
:
"~3.0.2"
,
"forever-agent"
:
"~0.6.1"
,
"form-data"
:
"~2.3.2"
,
"har-validator"
:
"~5.1.3"
,
"http-signature"
:
"~1.2.0"
,
"is-typedarray"
:
"~1.0.0"
,
"isstream"
:
"~0.1.2"
,
"json-stringify-safe"
:
"~5.0.1"
,
"mime-types"
:
"~2.1.19"
,
"oauth-sign"
:
"~0.9.0"
,
"performance-now"
:
"^2.1.0"
,
"qs"
:
"~6.5.2"
,
"safe-buffer"
:
"^5.1.2"
,
"tough-cookie"
:
"~2.5.0"
,
"tunnel-agent"
:
"^0.6.0"
,
"uuid"
:
"^3.3.2"
},
"dependencies"
:
{
"qs"
:
{
"version"
:
"6.5.2"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
,
"integrity"
:
"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
}
}
},
"retry"
:
{
"version"
:
"0.10.1"
,
"resolved"
:
"https://registry.npmjs.org/retry/-/retry-0.10.1.tgz"
,
"integrity"
:
"sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
},
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"version"
:
"5.1.2"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
...
@@ -318,6 +1001,12 @@
...
@@ -318,6 +1001,12 @@
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
},
"semver"
:
{
"version"
:
"5.7.1"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
,
"integrity"
:
"sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
,
"optional"
:
true
},
"send"
:
{
"send"
:
{
"version"
:
"0.17.1"
,
"version"
:
"0.17.1"
,
"resolved"
:
"https://registry.npmjs.org/send/-/send-0.17.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/send/-/send-0.17.1.tgz"
,
...
@@ -356,21 +1045,185 @@
...
@@ -356,21 +1045,185 @@
"send"
:
"0.17.1"
"send"
:
"0.17.1"
}
}
},
},
"set-blocking"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
,
"integrity"
:
"sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
,
"optional"
:
true
},
"setprototypeof"
:
{
"setprototypeof"
:
{
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"
,
"integrity"
:
"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
"integrity"
:
"sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
},
"signal-exit"
:
{
"version"
:
"3.0.2"
,
"resolved"
:
"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz"
,
"integrity"
:
"sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
,
"optional"
:
true
},
"simple-concat"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz"
,
"integrity"
:
"sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
,
"optional"
:
true
},
"simple-get"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz"
,
"integrity"
:
"sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA=="
,
"optional"
:
true
,
"requires"
:
{
"decompress-response"
:
"^4.2.0"
,
"once"
:
"^1.3.1"
,
"simple-concat"
:
"^1.0.0"
}
},
"snappy"
:
{
"version"
:
"6.2.3"
,
"resolved"
:
"https://registry.npmjs.org/snappy/-/snappy-6.2.3.tgz"
,
"integrity"
:
"sha512-HZpVoIxMfQ4fL3iDuMdI1R5xycw1o9YDCAndTKZCY/EHRoKFvzwplttuBBVGeEg2fd1hYiwAXos/sM24W7N1LA=="
,
"optional"
:
true
,
"requires"
:
{
"bindings"
:
"^1.3.1"
,
"nan"
:
"^2.14.0"
,
"prebuild-install"
:
"^5.2.2"
}
},
"sshpk"
:
{
"version"
:
"1.16.1"
,
"resolved"
:
"https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"
,
"integrity"
:
"sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="
,
"requires"
:
{
"asn1"
:
"~0.2.3"
,
"assert-plus"
:
"^1.0.0"
,
"bcrypt-pbkdf"
:
"^1.0.0"
,
"dashdash"
:
"^1.12.0"
,
"ecc-jsbn"
:
"~0.1.1"
,
"getpass"
:
"^0.1.1"
,
"jsbn"
:
"~0.1.0"
,
"safer-buffer"
:
"^2.0.2"
,
"tweetnacl"
:
"~0.14.0"
}
},
"statuses"
:
{
"statuses"
:
{
"version"
:
"1.5.0"
,
"version"
:
"1.5.0"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
,
"integrity"
:
"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
"integrity"
:
"sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
},
"string-width"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
,
"integrity"
:
"sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M="
,
"optional"
:
true
,
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"strip-ansi"
:
"^3.0.0"
}
},
"string_decoder"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
,
"integrity"
:
"sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
,
"requires"
:
{
"safe-buffer"
:
"~5.1.0"
}
},
"strip-ansi"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
,
"integrity"
:
"sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
,
"optional"
:
true
,
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
}
},
"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="
,
"optional"
:
true
},
"tar-fs"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz"
,
"integrity"
:
"sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA=="
,
"optional"
:
true
,
"requires"
:
{
"chownr"
:
"^1.1.1"
,
"mkdirp"
:
"^0.5.1"
,
"pump"
:
"^3.0.0"
,
"tar-stream"
:
"^2.0.0"
}
},
"tar-stream"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.0.tgz"
,
"integrity"
:
"sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw=="
,
"optional"
:
true
,
"requires"
:
{
"bl"
:
"^3.0.0"
,
"end-of-stream"
:
"^1.4.1"
,
"fs-constants"
:
"^1.0.0"
,
"inherits"
:
"^2.0.3"
,
"readable-stream"
:
"^3.1.1"
},
"dependencies"
:
{
"bl"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/bl/-/bl-3.0.0.tgz"
,
"integrity"
:
"sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A=="
,
"optional"
:
true
,
"requires"
:
{
"readable-stream"
:
"^3.0.1"
}
},
"readable-stream"
:
{
"version"
:
"3.6.0"
,
"resolved"
:
"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
,
"integrity"
:
"sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
,
"optional"
:
true
,
"requires"
:
{
"inherits"
:
"^2.0.3"
,
"string_decoder"
:
"^1.1.1"
,
"util-deprecate"
:
"^1.0.1"
}
}
}
},
"toidentifier"
:
{
"toidentifier"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"
,
"integrity"
:
"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
"integrity"
:
"sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
},
"tough-cookie"
:
{
"version"
:
"2.5.0"
,
"resolved"
:
"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz"
,
"integrity"
:
"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="
,
"requires"
:
{
"psl"
:
"^1.1.28"
,
"punycode"
:
"^2.1.1"
}
},
"traverse"
:
{
"version"
:
"0.3.9"
,
"resolved"
:
"https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz"
,
"integrity"
:
"sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk="
},
"tunnel-agent"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"
,
"integrity"
:
"sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0="
,
"requires"
:
{
"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="
},
"type-is"
:
{
"type-is"
:
{
"version"
:
"1.6.18"
,
"version"
:
"1.6.18"
,
"resolved"
:
"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
,
"resolved"
:
"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
,
...
@@ -385,15 +1238,64 @@
...
@@ -385,15 +1238,64 @@
"resolved"
:
"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
,
"integrity"
:
"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
"integrity"
:
"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
},
"uri-js"
:
{
"version"
:
"4.2.2"
,
"resolved"
:
"https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"
,
"integrity"
:
"sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="
,
"requires"
:
{
"punycode"
:
"^2.1.0"
}
},
"util-deprecate"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
,
"integrity"
:
"sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"utils-merge"
:
{
"utils-merge"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
,
"integrity"
:
"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
"integrity"
:
"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
},
"uuid"
:
{
"version"
:
"3.4.0"
,
"resolved"
:
"https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"
,
"integrity"
:
"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"vary"
:
{
"vary"
:
{
"version"
:
"1.1.2"
,
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"verror"
:
{
"version"
:
"1.10.0"
,
"resolved"
:
"https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"
,
"integrity"
:
"sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA="
,
"requires"
:
{
"assert-plus"
:
"^1.0.0"
,
"core-util-is"
:
"1.0.2"
,
"extsprintf"
:
"^1.2.0"
}
},
"which-pm-runs"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz"
,
"integrity"
:
"sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs="
,
"optional"
:
true
},
"wide-align"
:
{
"version"
:
"1.1.3"
,
"resolved"
:
"https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"
,
"integrity"
:
"sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="
,
"optional"
:
true
,
"requires"
:
{
"string-width"
:
"^1.0.2 || 2"
}
},
"wrappy"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
,
"integrity"
:
"sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
,
"optional"
:
true
}
}
}
}
}
}
dispatch_system/dispatch_manager/repository/worker_env/package.json
View file @
c945c9a1
...
@@ -11,6 +11,8 @@
...
@@ -11,6 +11,8 @@
"dependencies"
:
{
"dependencies"
:
{
"body-parser"
:
"^1.19.0"
,
"body-parser"
:
"^1.19.0"
,
"express"
:
"^4.17.1"
,
"express"
:
"^4.17.1"
,
"morgan"
:
"^1.9.1"
"kafka-node"
:
"^5.0.0"
,
"morgan"
:
"^1.9.1"
,
"request"
:
"^2.88.2"
}
}
}
}
cJSON
@
f790e17b
Subproject commit f790e17b6cecef030c4eda811149d238c2085fcf
nlib
@
75bc1a11
Subproject commit 75bc1a11e2a10cf249f566b40c85d6526c16f123
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment