- or download this
package HTTP::Server::Simple::Test;
our $VERSION = 0.1;
...
}
1;
- or download this
use warnings;
use strict;
...
my $server = HTTP::Server::Simple::Test->new();
$server->run();
- or download this
http://localhost:8080/?add=1&AllNodesAlgo=projects.tree.nodes.algos.Al
+goABC&AllNodesAlgoIncreaseValue=false&AllNodesAlgoSendAfterxSeconds=0
+&AllNodesAlgoSendAllIfOne=true&AllNodesAlgoSendIfSumOfAll=true&AllNod
+esAlgoSendValue=projects.tree.nodes.algos.sendvalue.LastValue&AllNode
+sCosts=projects.tree.costs.AllCosts&AllNodesCostsAggr=projects.tree.n
+odes.algos.costaggregation.Average&AllNodesEdgeCostsMultiplier=100&Al
+lNodesInputDistribution=projects.tree.nodes.data.SensorScopeInputData
+&AllNodesInputDistributionPoissonLambda=10&AllNodesInputDistributionS
+ensorScopeValue=Temperature&AllNodesMessageAggr=projects.tree.nodes.m
+essages.messageaggregation.ForwardMessageAggregation&AllNodesMessageV
+alueAggr=projects.tree.nodes.messages.valueaggregation.Average&AllNod
+esSleep=projects.tree.nodes.algos.sleep.NoSleep&AllNodesSleepSimpleSl
+eepRoundsAwake=10&AllNodesSleepSimpleSleepThreshold=1&AllNodesSleepSi
+mpleSleepValues=50&AllNodesSleepSimpleSleepWakeUpEveryXRounds=50&Defa
+ultRoundsToRun=155&DefaultRoundsToSkip=0&DefaultStructure=projects.tr
+ee.structure.BuildSensorScopeTree&DefaultStructureBuildBinaryTreeFano
+ut=2&DefaultStructureBuildBinaryTreeNumberOfLeafNodes=128&DefaultStru
+ctureSensorScopeRootNodeIds=65&RootNodesAlgo=projects.tree.nodes.algo
+s.AlgoABC&RootNodesAlgoIncreaseValue=false&RootNodesAlgoSendAfterxSec
+onds=0&RootNodesAlgoSendAllIfOne=true&RootNodesAlgoSendIfSumOfAll=tru
+e&RootNodesAlgoSendValue=projects.tree.nodes.algos.sendvalue.LastValu
+e&RootNodesCosts=projects.tree.costs.AllCosts&RootNodesCostsAggr=proj
+ects.tree.nodes.algos.costaggregation.Average&RootNodesEdgeCostsMulti
+plier=100&RootNodesInputDistribution=projects.tree.nodes.data.SensorS
+copeInputData&RootNodesInputDistributionPoissonLambda=10&RootNodesInp
+utDistributionSensorScopeValue=Temperature&RootNodesMessageAggr=proje
+cts.tree.nodes.messages.messageaggregation.ForwardMessageAggregation&
+RootNodesMessageValueAggr=projects.tree.nodes.messages.valueaggregati
+on.Average&RootNodesSleep=projects.tree.nodes.algos.sleep.NoSleep&Roo
+tNodesSleepSimpleSleepRoundsAwake=10&RootNodesSleepSimpleSleepThresho
+ld=1&RootNodesSleepSimpleSleepValues=50&RootNodesSleepSimpleSleepWake
+UpEveryXRounds=50&X_DefaultLegend=Algo+.&X_Show=All&show=35f8efe1ce02
+ab92dd49088ba96ea576%2CAlgo+...%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfA
+AAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1
+bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiU
+AAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50
+cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3R
+ydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm
+9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwD
+gAAAFJvb3ROb2Rlc1NsZWVwCklwcm9qZWN0cy50cmVl%0D%0ALm5vZGVzLm1lc3NhZ2Vz
+Lm1lc3NhZ2VhZ2dyZWdhdGlvbi5Gb3J3YXJkTWVzc2FnZUFnZ3JlZ2F0%0D%0AaW9uEwA
+AAEFsbE5vZGVzTWVzc2FnZUFnZ3IKAzEwMBwAAABSb290Tm9kZXNFZGdlQ29zdHNNdWx0
+%0D%0AaXBsaWVyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQ
+AAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3
+RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhc
+mRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAd
+AAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQA
+AAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlCghBbGdv%0D%
+0AIC4uLg8AAABYX0RlZmF1bHRMZWdlbmQKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3M
+uY29zdGFn%0D%0AZ3JlZ2F0aW9uLkF2ZXJhZ2URAAAAQWxsTm9kZXNDb3N0c0FnZ3IKJ3
+Byb2plY3RzLnRyZWUubm9k%0D%0AZXMuYWxnb3Muc2xlZXAuTm9TbGVlcA0AAABBbGxOb
+2Rlc1NsZWVwCgtUZW1wZXJhdHVyZSoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1
+dGlvblNlbnNvclNjb3BlVmFsdWUKHHByb2plY3RzLnRyZWUu%0D%0AY29zdHMuQWxsQ29
+zdHMOAAAAUm9vdE5vZGVzQ29zdHMKAjEwIwAAAEFsbE5vZGVzU2xlZXBTaW1w%0D%0AbG
+VTbGVlcFJvdW5kc0F3YWtlCgExIQAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRocmV
+zaG9s%0D%0AZAoccHJvamVjdHMudHJlZS5jb3N0cy5BbGxDb3N0cw0AAABBbGxOb2Rlc0
+Nvc3RzCgMxMDESAAAA%0D%0ARGVmYXVsdFJvdW5kc1RvUnVuCgMxMDAbAAAAQWxsTm9kZ
+XNFZGdlQ29zdHNNdWx0aXBsaWVyCgEw%0D%0AEwAAAERlZmF1bHRSb3VuZHNUb1NraXAK
+ATEiAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRo%0D%0AcmVzaG9sZAotcHJvamV
+jdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXRhGgAA%0D%0AAFJvb3
+ROb2Rlc0lucHV0RGlzdHJpYnV0aW9uCgIxMCcAAABSb290Tm9kZXNJbnB1dERpc3RyaWJ
+1%0D%0AdGlvblBvaXNzb25MYW1iZGEKIXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuQW
+xnb0FCQw0AAABS%0D%0Ab290Tm9kZXNBbGdvCgR0cnVlGgAAAEFsbE5vZGVzQWxnb1Nlb
+mRJZlN1bU9mQWxsCgI1MCoAAABB%0D%0AbGxOb2Rlc1NsZWVwU2ltcGxlU2xlZXBXYWtl
+VXBFdmVyeVhSb3VuZHMKNXByb2plY3RzLnRyZWUu%0D%0Abm9kZXMubWVzc2FnZXMudmF
+sdWVhZ2dyZWdhdGlvbi5BdmVyYWdlGQAAAFJvb3ROb2Rlc01lc3Nh%0D%0AZ2VWYWx1ZU
+FnZ3IKBWZhbHNlGgAAAFJvb3ROb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgR0cnVlGAAA%0D
+%0AAEFsbE5vZGVzQWxnb1NlbmRBbGxJZk9uZQoCNTAeAAAAQWxsTm9kZXNTbGVlcFNpbX
+BsZVNsZWVw%0D%0AVmFsdWVzCiFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQ
+kMMAAAAQWxsTm9kZXNBbGdv%0D%0ACgI1MCsAAABSb290Tm9kZXNTbGVlcFNpbXBsZVNs
+ZWVwV2FrZVVwRXZlcnlYUm91bmRzCgIxMCYA%0D%0AAABBbGxOb2Rlc0lucHV0RGlzdHJ
+pYnV0aW9uUG9pc3NvbkxhbWJkYQoEdHJ1ZRkAAABSb290Tm9k%0D%0AZXNBbGdvU2VuZE
+FsbElmT25lCi1wcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLnNlbmR2YWx1ZS5M%0D%0AY
+XN0VmFsdWUWAAAAUm9vdE5vZGVzQWxnb1NlbmRWYWx1ZQoBMB4AAABSb290Tm9kZXNBbG
+dvU2Vu%0D%0AZEFmdGVyeFNlY29uZHMKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY
+29zdGFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2USAAAAUm9vdE5vZGVzQ29zdHNBZ2dyCgR0
+cnVlGwAAAFJvb3ROb2Rlc0FsZ29TZW5k%0D%0ASWZTdW1PZkFsbAo1cHJvamVjdHMudHJ
+lZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UYAAAAQW
+xsTm9kZXNNZXNzYWdlVmFsdWVBZ2dyCi1wcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ
+29zLnNlbmR2YWx1ZS5MYXN0VmFsdWUVAAAAQWxsTm9kZXNBbGdvU2VuZFZhbHVlCi1wcm
+9q%0D%0AZWN0cy50cmVlLm5vZGVzLmRhdGEuU2Vuc29yU2NvcGVJbnB1dERhdGEZAAAAQ
+WxsTm9kZXNJbnB1%0D%0AdERpc3RyaWJ1dGlvbgoDQWxsBgAAAFhfU2hvdw%3D%3D%0D%
+0A%3A436257bf8214215e94b0732dcc39cc4a%2CAlgo+...%2CAll%2CBAcEMTIzNAQE
+BAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0
+AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZO
+b2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V
+0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZR
+AAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc
+29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5z
+bGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCgMxMDAcAAAAUm9vdE5v%0D%0AZGV
+zRWRnZUNvc3RzTXVsdGlwbGllcgpJcHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy5t
+ZXNz%0D%0AYWdlYWdncmVnYXRpb24uRm9yd2FyZE1lc3NhZ2VBZ2dyZWdhdGlvbhMAAAB
+BbGxOb2Rlc01lc3Nh%0D%0AZ2VBZ2dyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZW
+FzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQ
+Xdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3Jl
+Z2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWV
+zc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl
+%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZ
+hbHVlCghBbGdv%0D%0AIC4uLg8AAABYX0RlZmF1bHRMZWdlbmQKMXByb2plY3RzLnRyZW
+Uubm9kZXMuYWxnb3MuY29zdGFn%0D%0AZ3JlZ2F0aW9uLkF2ZXJhZ2URAAAAQWxsTm9kZ
+XNDb3N0c0FnZ3IKJ3Byb2plY3RzLnRyZWUubm9k%0D%0AZXMuYWxnb3Muc2xlZXAuTm9T
+bGVlcA0AAABBbGxOb2Rlc1NsZWVwCgtUZW1wZXJhdHVyZSoAAABS%0D%0Ab290Tm9kZXN
+JbnB1dERpc3RyaWJ1dGlvblNlbnNvclNjb3BlVmFsdWUKHHByb2plY3RzLnRyZWUu%0D%
+0AY29zdHMuQWxsQ29zdHMOAAAAUm9vdE5vZGVzQ29zdHMKAjEwIwAAAEFsbE5vZGVzU2x
+lZXBTaW1w%0D%0AbGVTbGVlcFJvdW5kc0F3YWtlCgExIQAAAEFsbE5vZGVzU2xlZXBTaW
+1wbGVTbGVlcFRocmVzaG9s%0D%0AZAoccHJvamVjdHMudHJlZS5jb3N0cy5BbGxDb3N0c
+w0AAABBbGxOb2Rlc0Nvc3RzCgMxMDISAAAA%0D%0ARGVmYXVsdFJvdW5kc1RvUnVuCgMx
+MDAbAAAAQWxsTm9kZXNFZGdlQ29zdHNNdWx0aXBsaWVyCgEw%0D%0AEwAAAERlZmF1bHR
+Sb3VuZHNUb1NraXAKATEiAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRo%0D%0Acm
+VzaG9sZAotcHJvamVjdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXR
+hGgAA%0D%0AAFJvb3ROb2Rlc0lucHV0RGlzdHJpYnV0aW9uCgIxMCcAAABSb290Tm9kZX
+NJbnB1dERpc3RyaWJ1%0D%0AdGlvblBvaXNzb25MYW1iZGEKIXByb2plY3RzLnRyZWUub
+m9kZXMuYWxnb3MuQWxnb0FCQw0AAABS%0D%0Ab290Tm9kZXNBbGdvCjVwcm9qZWN0cy50
+cmVlLm5vZGVzLm1lc3NhZ2VzLnZhbHVlYWdncmVnYXRp%0D%0Ab24uQXZlcmFnZRkAAAB
+Sb290Tm9kZXNNZXNzYWdlVmFsdWVBZ2dyCgI1MCoAAABBbGxOb2Rlc1Ns%0D%0AZWVwU2
+ltcGxlU2xlZXBXYWtlVXBFdmVyeVhSb3VuZHMKBHRydWUaAAAAQWxsTm9kZXNBbGdvU2V
+u%0D%0AZElmU3VtT2ZBbGwKBWZhbHNlGgAAAFJvb3ROb2Rlc0FsZ29JbmNyZWFzZVZhbH
+VlCgR0cnVlGAAA%0D%0AAEFsbE5vZGVzQWxnb1NlbmRBbGxJZk9uZQoCNTAeAAAAQWxsT
+m9kZXNTbGVlcFNpbXBsZVNsZWVw%0D%0AVmFsdWVzCiFwcm9qZWN0cy50cmVlLm5vZGVz
+LmFsZ29zLkFsZ29BQkMMAAAAQWxsTm9kZXNBbGdv%0D%0ACgI1MCsAAABSb290Tm9kZXN
+TbGVlcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgIxMCYA%0D%0AAABBbGxOb2
+Rlc0lucHV0RGlzdHJpYnV0aW9uUG9pc3NvbkxhbWJkYQoEdHJ1ZRkAAABSb290Tm9k%0D
+%0AZXNBbGdvU2VuZEFsbElmT25lCi1wcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLnNlbm
+R2YWx1ZS5M%0D%0AYXN0VmFsdWUWAAAAUm9vdE5vZGVzQWxnb1NlbmRWYWx1ZQoBMB4AA
+ABSb290Tm9kZXNBbGdvU2Vu%0D%0AZEFmdGVyeFNlY29uZHMKMXByb2plY3RzLnRyZWUu
+bm9kZXMuYWxnb3MuY29zdGFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2USAAAAUm9vdE5vZGV
+zQ29zdHNBZ2dyCgR0cnVlGwAAAFJvb3ROb2Rlc0FsZ29TZW5k%0D%0ASWZTdW1PZkFsbA
+o1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0AL
+kF2ZXJhZ2UYAAAAQWxsTm9kZXNNZXNzYWdlVmFsdWVBZ2dyCi1wcm9qZWN0cy50cmVlLm
+5vZGVz%0D%0ALmFsZ29zLnNlbmR2YWx1ZS5MYXN0VmFsdWUVAAAAQWxsTm9kZXNBbGdvU
+2VuZFZhbHVlCi1wcm9q%0D%0AZWN0cy50cmVlLm5vZGVzLmRhdGEuU2Vuc29yU2NvcGVJ
+bnB1dERhdGEZAAAAQWxsTm9kZXNJbnB1%0D%0AdERpc3RyaWJ1dGlvbgoDQWxsBgAAAFh
+fU2hvdw%3D%3D%0D%0A%3Ac72c5b0db304f6e2349e3cf6adb597dc%2CAlgo+.%2CAll
+%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcF
+ZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOd
+W1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5h
+cnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnN
+vclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3
+RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab
+2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCgMxMDAcAAAAUm
+9vdE5v%0D%0AZGVzRWRnZUNvc3RzTXVsdGlwbGllcgpJcHJvamVjdHMudHJlZS5ub2Rlc
+y5tZXNzYWdlcy5tZXNz%0D%0AYWdlYWdncmVnYXRpb24uRm9yd2FyZE1lc3NhZ2VBZ2dy
+ZWdhdGlvbhMAAABBbGxOb2Rlc01lc3Nh%0D%0AZ2VBZ2dyCgVmYWxzZRkAAABBbGxOb2R
+lc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZV
+NsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMub
+WVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE
+5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY
+29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25T
+ZW5zb3JTY29wZVZhbHVlCgZBbGdv%0D%0AIC4PAAAAWF9EZWZhdWx0TGVnZW5kCjFwcm9
+qZWN0cy50cmVlLm5vZGVzLmFsZ29zLmNvc3RhZ2dy%0D%0AZWdhdGlvbi5BdmVyYWdlEQ
+AAAEFsbE5vZGVzQ29zdHNBZ2dyCidwcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zL
+nNsZWVwLk5vU2xlZXANAAAAQWxsTm9kZXNTbGVlcAoLVGVtcGVyYXR1cmUqAAAAUm9v%0
+D%0AdE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlChxwcm9qZWN0c
+y50cmVlLmNv%0D%0Ac3RzLkFsbENvc3RzDgAAAFJvb3ROb2Rlc0Nvc3RzCgIxMCMAAABB
+bGxOb2Rlc1NsZWVwU2ltcGxl%0D%0AU2xlZXBSb3VuZHNBd2FrZQoBMSEAAABBbGxOb2R
+lc1NsZWVwU2ltcGxlU2xlZXBUaHJlc2hvbGQK%0D%0AHHByb2plY3RzLnRyZWUuY29zdH
+MuQWxsQ29zdHMNAAAAQWxsTm9kZXNDb3N0cwoDMTQ0EgAAAERl%0D%0AZmF1bHRSb3VuZ
+HNUb1J1bgoDMTAwGwAAAEFsbE5vZGVzRWRnZUNvc3RzTXVsdGlwbGllcgoBMBMA%0D%0A
+AABEZWZhdWx0Um91bmRzVG9Ta2lwCgExIgAAAFJvb3ROb2Rlc1NsZWVwU2ltcGxlU2xlZ
+XBUaHJl%0D%0Ac2hvbGQKLXByb2plY3RzLnRyZWUubm9kZXMuZGF0YS5TZW5zb3JTY29w
+ZUlucHV0RGF0YRoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvbgoCMTAnAAA
+AUm9vdE5vZGVzSW5wdXREaXN0cmlidXRp%0D%0Ab25Qb2lzc29uTGFtYmRhCiFwcm9qZW
+N0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMNAAAAUm9v%0D%0AdE5vZGVzQWxnbwo1c
+HJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2
+ZXJhZ2UZAAAAUm9vdE5vZGVzTWVzc2FnZVZhbHVlQWdncgoCNTAqAAAAQWxsTm9kZXNTb
+GVl%0D%0AcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgR0cnVlGgAAAEFsbE5v
+ZGVzQWxnb1NlbmRJ%0D%0AZlN1bU9mQWxsCgVmYWxzZRoAAABSb290Tm9kZXNBbGdvSW5
+jcmVhc2VWYWx1ZQoEdHJ1ZRgAAABB%0D%0AbGxOb2Rlc0FsZ29TZW5kQWxsSWZPbmUKAj
+UwHgAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZh%0D%0AbHVlcwohcHJvamVjdHMud
+HJlZS5ub2Rlcy5hbGdvcy5BbGdvQUJDDAAAAEFsbE5vZGVzQWxnbwoC%0D%0ANTArAAAA
+Um9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFdha2VVcEV2ZXJ5WFJvdW5kcwoCMTAmAAAA%
+0D%0AQWxsTm9kZXNJbnB1dERpc3RyaWJ1dGlvblBvaXNzb25MYW1iZGEKBHRydWUZAAAA
+Um9vdE5vZGVz%0D%0AQWxnb1NlbmRBbGxJZk9uZQotcHJvamVjdHMudHJlZS5ub2Rlcy5
+hbGdvcy5zZW5kdmFsdWUuTGFz%0D%0AdFZhbHVlFgAAAFJvb3ROb2Rlc0FsZ29TZW5kVm
+FsdWUKATAeAAAAUm9vdE5vZGVzQWxnb1NlbmRB%0D%0AZnRlcnhTZWNvbmRzCjFwcm9qZ
+WN0cy50cmVlLm5vZGVzLmFsZ29zLmNvc3RhZ2dyZWdhdGlvbi5B%0D%0AdmVyYWdlEgAA
+AFJvb3ROb2Rlc0Nvc3RzQWdncgoEdHJ1ZRsAAABSb290Tm9kZXNBbGdvU2VuZElm%0D%0
+AU3VtT2ZBbGwKNXByb2plY3RzLnRyZWUubm9kZXMubWVzc2FnZXMudmFsdWVhZ2dyZWdh
+dGlvbi5B%0D%0AdmVyYWdlGAAAAEFsbE5vZGVzTWVzc2FnZVZhbHVlQWdncgotcHJvamV
+jdHMudHJlZS5ub2Rlcy5h%0D%0AbGdvcy5zZW5kdmFsdWUuTGFzdFZhbHVlFQAAAEFsbE
+5vZGVzQWxnb1NlbmRWYWx1ZQotcHJvamVj%0D%0AdHMudHJlZS5ub2Rlcy5kYXRhLlNlb
+nNvclNjb3BlSW5wdXREYXRhGQAAAEFsbE5vZGVzSW5wdXRE%0D%0AaXN0cmlidXRpb24K
+A0FsbAYAAABYX1Nob3c%3D%0D%0A%3Acde91378bf835532811a3efbad2df0d9%2CAlg
+o+...%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1
+wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbm
+FyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQ
+nVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5C
+dWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAAB
+EZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJl
+ZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCkl
+wcm9qZWN0cy50cmVl%0D%0ALm5vZGVzLm1lc3NhZ2VzLm1lc3NhZ2VhZ2dyZWdhdGlvbi
+5Gb3J3YXJkTWVzc2FnZUFnZ3JlZ2F0%0D%0AaW9uEwAAAEFsbE5vZGVzTWVzc2FnZUFnZ
+3IKAzEwMBwAAABSb290Tm9kZXNFZGdlQ29zdHNNdWx0%0D%0AaXBsaWVyCgVmYWxzZRkA
+AABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGV
+lcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn
+%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24
+UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZE
+FmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0c
+mlidXRpb25TZW5zb3JTY29wZVZhbHVlCghBbGdv%0D%0AIC4uLg8AAABYX0RlZmF1bHRM
+ZWdlbmQKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFn%0D%0AZ3JlZ2F0aW9
+uLkF2ZXJhZ2URAAAAQWxsTm9kZXNDb3N0c0FnZ3IKJ3Byb2plY3RzLnRyZWUubm9k%0D%
+0AZXMuYWxnb3Muc2xlZXAuTm9TbGVlcA0AAABBbGxOb2Rlc1NsZWVwCgtUZW1wZXJhdHV
+yZSoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvblNlbnNvclNjb3BlVmFsdW
+UKHHByb2plY3RzLnRyZWUu%0D%0AY29zdHMuQWxsQ29zdHMOAAAAUm9vdE5vZGVzQ29zd
+HMKAjEwIwAAAEFsbE5vZGVzU2xlZXBTaW1w%0D%0AbGVTbGVlcFJvdW5kc0F3YWtlCgEx
+IQAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRocmVzaG9s%0D%0AZAoccHJvamVjdHM
+udHJlZS5jb3N0cy5BbGxDb3N0cw0AAABBbGxOb2Rlc0Nvc3RzCgMxMDASAAAA%0D%0ARG
+VmYXVsdFJvdW5kc1RvUnVuCgMxMDAbAAAAQWxsTm9kZXNFZGdlQ29zdHNNdWx0aXBsaWV
+yCgEw%0D%0AEwAAAERlZmF1bHRSb3VuZHNUb1NraXAKATEiAAAAUm9vdE5vZGVzU2xlZX
+BTaW1wbGVTbGVlcFRo%0D%0AcmVzaG9sZAotcHJvamVjdHMudHJlZS5ub2Rlcy5kYXRhL
+lNlbnNvclNjb3BlSW5wdXREYXRhGgAA%0D%0AAFJvb3ROb2Rlc0lucHV0RGlzdHJpYnV0
+aW9uCgIxMCcAAABSb290Tm9kZXNJbnB1dERpc3RyaWJ1%0D%0AdGlvblBvaXNzb25MYW1
+iZGEKIXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuQWxnb0FCQw0AAABS%0D%0Ab290Tm
+9kZXNBbGdvCgR0cnVlGgAAAEFsbE5vZGVzQWxnb1NlbmRJZlN1bU9mQWxsCgI1MCoAAAB
+B%0D%0AbGxOb2Rlc1NsZWVwU2ltcGxlU2xlZXBXYWtlVXBFdmVyeVhSb3VuZHMKNXByb2
+plY3RzLnRyZWUu%0D%0Abm9kZXMubWVzc2FnZXMudmFsdWVhZ2dyZWdhdGlvbi5BdmVyY
+WdlGQAAAFJvb3ROb2Rlc01lc3Nh%0D%0AZ2VWYWx1ZUFnZ3IKBWZhbHNlGgAAAFJvb3RO
+b2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgR0cnVlGAAA%0D%0AAEFsbE5vZGVzQWxnb1NlbmR
+BbGxJZk9uZQoCNTAeAAAAQWxsTm9kZXNTbGVlcFNpbXBsZVNsZWVw%0D%0AVmFsdWVzCi
+Fwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMMAAAAQWxsTm9kZXNBbGdv%0D
+%0ACgI1MCsAAABSb290Tm9kZXNTbGVlcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bm
+RzCgIxMCYA%0D%0AAABBbGxOb2Rlc0lucHV0RGlzdHJpYnV0aW9uUG9pc3NvbkxhbWJkY
+QoEdHJ1ZRkAAABSb290Tm9k%0D%0AZXNBbGdvU2VuZEFsbElmT25lCi1wcm9qZWN0cy50
+cmVlLm5vZGVzLmFsZ29zLnNlbmR2YWx1ZS5M%0D%0AYXN0VmFsdWUWAAAAUm9vdE5vZGV
+zQWxnb1NlbmRWYWx1ZQoBMB4AAABSb290Tm9kZXNBbGdvU2Vu%0D%0AZEFmdGVyeFNlY2
+9uZHMKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFnZ3JlZ2F0aW9u%0D%0AL
+kF2ZXJhZ2USAAAAUm9vdE5vZGVzQ29zdHNBZ2dyCgR0cnVlGwAAAFJvb3ROb2Rlc0FsZ2
+9TZW5k%0D%0ASWZTdW1PZkFsbAo1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52Y
+Wx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UYAAAAQWxsTm9kZXNNZXNzYWdlVmFsdWVB
+Z2dyCi1wcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zLnNlbmR2YWx1ZS5MYXN0VmF
+sdWUVAAAAQWxsTm9kZXNBbGdvU2VuZFZhbHVlCi1wcm9q%0D%0AZWN0cy50cmVlLm5vZG
+VzLmRhdGEuU2Vuc29yU2NvcGVJbnB1dERhdGEZAAAAQWxsTm9kZXNJbnB1%0D%0AdERpc
+3RyaWJ1dGlvbgoDQWxsBgAAAFhfU2hvdw%3D%3D%0D%0A&graph=add