package HTTP::Server::Simple::Test; our $VERSION = 0.1; use base qw(HTTP::Server::Simple::CGI); sub handle_request { my ( $self, $cgi ) = @_; my $res = qx("dir"); print "$res\n"; } 1; #### use warnings; use strict; use HTTP::Server::Simple::Test; my $server = HTTP::Server::Simple::Test->new(); $server->run(); #### http://localhost:8080/?add=1&AllNodesAlgo=projects.tree.nodes.algos.AlgoABC&AllNodesAlgoIncreaseValue=false&AllNodesAlgoSendAfterxSeconds=0&AllNodesAlgoSendAllIfOne=true&AllNodesAlgoSendIfSumOfAll=true&AllNodesAlgoSendValue=projects.tree.nodes.algos.sendvalue.LastValue&AllNodesCosts=projects.tree.costs.AllCosts&AllNodesCostsAggr=projects.tree.nodes.algos.costaggregation.Average&AllNodesEdgeCostsMultiplier=100&AllNodesInputDistribution=projects.tree.nodes.data.SensorScopeInputData&AllNodesInputDistributionPoissonLambda=10&AllNodesInputDistributionSensorScopeValue=Temperature&AllNodesMessageAggr=projects.tree.nodes.messages.messageaggregation.ForwardMessageAggregation&AllNodesMessageValueAggr=projects.tree.nodes.messages.valueaggregation.Average&AllNodesSleep=projects.tree.nodes.algos.sleep.NoSleep&AllNodesSleepSimpleSleepRoundsAwake=10&AllNodesSleepSimpleSleepThreshold=1&AllNodesSleepSimpleSleepValues=50&AllNodesSleepSimpleSleepWakeUpEveryXRounds=50&DefaultRoundsToRun=155&DefaultRoundsToSkip=0&DefaultStructure=projects.tree.structure.BuildSensorScopeTree&DefaultStructureBuildBinaryTreeFanout=2&DefaultStructureBuildBinaryTreeNumberOfLeafNodes=128&DefaultStructureSensorScopeRootNodeIds=65&RootNodesAlgo=projects.tree.nodes.algos.AlgoABC&RootNodesAlgoIncreaseValue=false&RootNodesAlgoSendAfterxSeconds=0&RootNodesAlgoSendAllIfOne=true&RootNodesAlgoSendIfSumOfAll=true&RootNodesAlgoSendValue=projects.tree.nodes.algos.sendvalue.LastValue&RootNodesCosts=projects.tree.costs.AllCosts&RootNodesCostsAggr=projects.tree.nodes.algos.costaggregation.Average&RootNodesEdgeCostsMultiplier=100&RootNodesInputDistribution=projects.tree.nodes.data.SensorScopeInputData&RootNodesInputDistributionPoissonLambda=10&RootNodesInputDistributionSensorScopeValue=Temperature&RootNodesMessageAggr=projects.tree.nodes.messages.messageaggregation.ForwardMessageAggregation&RootNodesMessageValueAggr=projects.tree.nodes.messages.valueaggregation.Average&RootNodesSleep=projects.tree.nodes.algos.sleep.NoSleep&RootNodesSleepSimpleSleepRoundsAwake=10&RootNodesSleepSimpleSleepThreshold=1&RootNodesSleepSimpleSleepValues=50&RootNodesSleepSimpleSleepWakeUpEveryXRounds=50&X_DefaultLegend=Algo+.&X_Show=All&show=35f8efe1ce02ab92dd49088ba96ea576%2CAlgo+...%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCklwcm9qZWN0cy50cmVl%0D%0ALm5vZGVzLm1lc3NhZ2VzLm1lc3NhZ2VhZ2dyZWdhdGlvbi5Gb3J3YXJkTWVzc2FnZUFnZ3JlZ2F0%0D%0AaW9uEwAAAEFsbE5vZGVzTWVzc2FnZUFnZ3IKAzEwMBwAAABSb290Tm9kZXNFZGdlQ29zdHNNdWx0%0D%0AaXBsaWVyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlCghBbGdv%0D%0AIC4uLg8AAABYX0RlZmF1bHRMZWdlbmQKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFn%0D%0AZ3JlZ2F0aW9uLkF2ZXJhZ2URAAAAQWxsTm9kZXNDb3N0c0FnZ3IKJ3Byb2plY3RzLnRyZWUubm9k%0D%0AZXMuYWxnb3Muc2xlZXAuTm9TbGVlcA0AAABBbGxOb2Rlc1NsZWVwCgtUZW1wZXJhdHVyZSoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvblNlbnNvclNjb3BlVmFsdWUKHHByb2plY3RzLnRyZWUu%0D%0AY29zdHMuQWxsQ29zdHMOAAAAUm9vdE5vZGVzQ29zdHMKAjEwIwAAAEFsbE5vZGVzU2xlZXBTaW1w%0D%0AbGVTbGVlcFJvdW5kc0F3YWtlCgExIQAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRocmVzaG9s%0D%0AZAoccHJvamVjdHMudHJlZS5jb3N0cy5BbGxDb3N0cw0AAABBbGxOb2Rlc0Nvc3RzCgMxMDESAAAA%0D%0ARGVmYXVsdFJvdW5kc1RvUnVuCgMxMDAbAAAAQWxsTm9kZXNFZGdlQ29zdHNNdWx0aXBsaWVyCgEw%0D%0AEwAAAERlZmF1bHRSb3VuZHNUb1NraXAKATEiAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRo%0D%0AcmVzaG9sZAotcHJvamVjdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXRhGgAA%0D%0AAFJvb3ROb2Rlc0lucHV0RGlzdHJpYnV0aW9uCgIxMCcAAABSb290Tm9kZXNJbnB1dERpc3RyaWJ1%0D%0AdGlvblBvaXNzb25MYW1iZGEKIXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuQWxnb0FCQw0AAABS%0D%0Ab290Tm9kZXNBbGdvCgR0cnVlGgAAAEFsbE5vZGVzQWxnb1NlbmRJZlN1bU9mQWxsCgI1MCoAAABB%0D%0AbGxOb2Rlc1NsZWVwU2ltcGxlU2xlZXBXYWtlVXBFdmVyeVhSb3VuZHMKNXByb2plY3RzLnRyZWUu%0D%0Abm9kZXMubWVzc2FnZXMudmFsdWVhZ2dyZWdhdGlvbi5BdmVyYWdlGQAAAFJvb3ROb2Rlc01lc3Nh%0D%0AZ2VWYWx1ZUFnZ3IKBWZhbHNlGgAAAFJvb3ROb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgR0cnVlGAAA%0D%0AAEFsbE5vZGVzQWxnb1NlbmRBbGxJZk9uZQoCNTAeAAAAQWxsTm9kZXNTbGVlcFNpbXBsZVNsZWVw%0D%0AVmFsdWVzCiFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMMAAAAQWxsTm9kZXNBbGdv%0D%0ACgI1MCsAAABSb290Tm9kZXNTbGVlcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgIxMCYA%0D%0AAABBbGxOb2Rlc0lucHV0RGlzdHJpYnV0aW9uUG9pc3NvbkxhbWJkYQoEdHJ1ZRkAAABSb290Tm9k%0D%0AZXNBbGdvU2VuZEFsbElmT25lCi1wcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLnNlbmR2YWx1ZS5M%0D%0AYXN0VmFsdWUWAAAAUm9vdE5vZGVzQWxnb1NlbmRWYWx1ZQoBMB4AAABSb290Tm9kZXNBbGdvU2Vu%0D%0AZEFmdGVyeFNlY29uZHMKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2USAAAAUm9vdE5vZGVzQ29zdHNBZ2dyCgR0cnVlGwAAAFJvb3ROb2Rlc0FsZ29TZW5k%0D%0ASWZTdW1PZkFsbAo1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UYAAAAQWxsTm9kZXNNZXNzYWdlVmFsdWVBZ2dyCi1wcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zLnNlbmR2YWx1ZS5MYXN0VmFsdWUVAAAAQWxsTm9kZXNBbGdvU2VuZFZhbHVlCi1wcm9q%0D%0AZWN0cy50cmVlLm5vZGVzLmRhdGEuU2Vuc29yU2NvcGVJbnB1dERhdGEZAAAAQWxsTm9kZXNJbnB1%0D%0AdERpc3RyaWJ1dGlvbgoDQWxsBgAAAFhfU2hvdw%3D%3D%0D%0A%3A436257bf8214215e94b0732dcc39cc4a%2CAlgo+...%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCgMxMDAcAAAAUm9vdE5v%0D%0AZGVzRWRnZUNvc3RzTXVsdGlwbGllcgpJcHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy5tZXNz%0D%0AYWdlYWdncmVnYXRpb24uRm9yd2FyZE1lc3NhZ2VBZ2dyZWdhdGlvbhMAAABBbGxOb2Rlc01lc3Nh%0D%0AZ2VBZ2dyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlCghBbGdv%0D%0AIC4uLg8AAABYX0RlZmF1bHRMZWdlbmQKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFn%0D%0AZ3JlZ2F0aW9uLkF2ZXJhZ2URAAAAQWxsTm9kZXNDb3N0c0FnZ3IKJ3Byb2plY3RzLnRyZWUubm9k%0D%0AZXMuYWxnb3Muc2xlZXAuTm9TbGVlcA0AAABBbGxOb2Rlc1NsZWVwCgtUZW1wZXJhdHVyZSoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvblNlbnNvclNjb3BlVmFsdWUKHHByb2plY3RzLnRyZWUu%0D%0AY29zdHMuQWxsQ29zdHMOAAAAUm9vdE5vZGVzQ29zdHMKAjEwIwAAAEFsbE5vZGVzU2xlZXBTaW1w%0D%0AbGVTbGVlcFJvdW5kc0F3YWtlCgExIQAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRocmVzaG9s%0D%0AZAoccHJvamVjdHMudHJlZS5jb3N0cy5BbGxDb3N0cw0AAABBbGxOb2Rlc0Nvc3RzCgMxMDISAAAA%0D%0ARGVmYXVsdFJvdW5kc1RvUnVuCgMxMDAbAAAAQWxsTm9kZXNFZGdlQ29zdHNNdWx0aXBsaWVyCgEw%0D%0AEwAAAERlZmF1bHRSb3VuZHNUb1NraXAKATEiAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRo%0D%0AcmVzaG9sZAotcHJvamVjdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXRhGgAA%0D%0AAFJvb3ROb2Rlc0lucHV0RGlzdHJpYnV0aW9uCgIxMCcAAABSb290Tm9kZXNJbnB1dERpc3RyaWJ1%0D%0AdGlvblBvaXNzb25MYW1iZGEKIXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuQWxnb0FCQw0AAABS%0D%0Ab290Tm9kZXNBbGdvCjVwcm9qZWN0cy50cmVlLm5vZGVzLm1lc3NhZ2VzLnZhbHVlYWdncmVnYXRp%0D%0Ab24uQXZlcmFnZRkAAABSb290Tm9kZXNNZXNzYWdlVmFsdWVBZ2dyCgI1MCoAAABBbGxOb2Rlc1Ns%0D%0AZWVwU2ltcGxlU2xlZXBXYWtlVXBFdmVyeVhSb3VuZHMKBHRydWUaAAAAQWxsTm9kZXNBbGdvU2Vu%0D%0AZElmU3VtT2ZBbGwKBWZhbHNlGgAAAFJvb3ROb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgR0cnVlGAAA%0D%0AAEFsbE5vZGVzQWxnb1NlbmRBbGxJZk9uZQoCNTAeAAAAQWxsTm9kZXNTbGVlcFNpbXBsZVNsZWVw%0D%0AVmFsdWVzCiFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMMAAAAQWxsTm9kZXNBbGdv%0D%0ACgI1MCsAAABSb290Tm9kZXNTbGVlcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgIxMCYA%0D%0AAABBbGxOb2Rlc0lucHV0RGlzdHJpYnV0aW9uUG9pc3NvbkxhbWJkYQoEdHJ1ZRkAAABSb290Tm9k%0D%0AZXNBbGdvU2VuZEFsbElmT25lCi1wcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLnNlbmR2YWx1ZS5M%0D%0AYXN0VmFsdWUWAAAAUm9vdE5vZGVzQWxnb1NlbmRWYWx1ZQoBMB4AAABSb290Tm9kZXNBbGdvU2Vu%0D%0AZEFmdGVyeFNlY29uZHMKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2USAAAAUm9vdE5vZGVzQ29zdHNBZ2dyCgR0cnVlGwAAAFJvb3ROb2Rlc0FsZ29TZW5k%0D%0ASWZTdW1PZkFsbAo1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UYAAAAQWxsTm9kZXNNZXNzYWdlVmFsdWVBZ2dyCi1wcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zLnNlbmR2YWx1ZS5MYXN0VmFsdWUVAAAAQWxsTm9kZXNBbGdvU2VuZFZhbHVlCi1wcm9q%0D%0AZWN0cy50cmVlLm5vZGVzLmRhdGEuU2Vuc29yU2NvcGVJbnB1dERhdGEZAAAAQWxsTm9kZXNJbnB1%0D%0AdERpc3RyaWJ1dGlvbgoDQWxsBgAAAFhfU2hvdw%3D%3D%0D%0A%3Ac72c5b0db304f6e2349e3cf6adb597dc%2CAlgo+.%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCgMxMDAcAAAAUm9vdE5v%0D%0AZGVzRWRnZUNvc3RzTXVsdGlwbGllcgpJcHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy5tZXNz%0D%0AYWdlYWdncmVnYXRpb24uRm9yd2FyZE1lc3NhZ2VBZ2dyZWdhdGlvbhMAAABBbGxOb2Rlc01lc3Nh%0D%0AZ2VBZ2dyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlCgZBbGdv%0D%0AIC4PAAAAWF9EZWZhdWx0TGVnZW5kCjFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLmNvc3RhZ2dy%0D%0AZWdhdGlvbi5BdmVyYWdlEQAAAEFsbE5vZGVzQ29zdHNBZ2dyCidwcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zLnNsZWVwLk5vU2xlZXANAAAAQWxsTm9kZXNTbGVlcAoLVGVtcGVyYXR1cmUqAAAAUm9v%0D%0AdE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlChxwcm9qZWN0cy50cmVlLmNv%0D%0Ac3RzLkFsbENvc3RzDgAAAFJvb3ROb2Rlc0Nvc3RzCgIxMCMAAABBbGxOb2Rlc1NsZWVwU2ltcGxl%0D%0AU2xlZXBSb3VuZHNBd2FrZQoBMSEAAABBbGxOb2Rlc1NsZWVwU2ltcGxlU2xlZXBUaHJlc2hvbGQK%0D%0AHHByb2plY3RzLnRyZWUuY29zdHMuQWxsQ29zdHMNAAAAQWxsTm9kZXNDb3N0cwoDMTQ0EgAAAERl%0D%0AZmF1bHRSb3VuZHNUb1J1bgoDMTAwGwAAAEFsbE5vZGVzRWRnZUNvc3RzTXVsdGlwbGllcgoBMBMA%0D%0AAABEZWZhdWx0Um91bmRzVG9Ta2lwCgExIgAAAFJvb3ROb2Rlc1NsZWVwU2ltcGxlU2xlZXBUaHJl%0D%0Ac2hvbGQKLXByb2plY3RzLnRyZWUubm9kZXMuZGF0YS5TZW5zb3JTY29wZUlucHV0RGF0YRoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvbgoCMTAnAAAAUm9vdE5vZGVzSW5wdXREaXN0cmlidXRp%0D%0Ab25Qb2lzc29uTGFtYmRhCiFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMNAAAAUm9v%0D%0AdE5vZGVzQWxnbwo1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UZAAAAUm9vdE5vZGVzTWVzc2FnZVZhbHVlQWdncgoCNTAqAAAAQWxsTm9kZXNTbGVl%0D%0AcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgR0cnVlGgAAAEFsbE5vZGVzQWxnb1NlbmRJ%0D%0AZlN1bU9mQWxsCgVmYWxzZRoAAABSb290Tm9kZXNBbGdvSW5jcmVhc2VWYWx1ZQoEdHJ1ZRgAAABB%0D%0AbGxOb2Rlc0FsZ29TZW5kQWxsSWZPbmUKAjUwHgAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZh%0D%0AbHVlcwohcHJvamVjdHMudHJlZS5ub2Rlcy5hbGdvcy5BbGdvQUJDDAAAAEFsbE5vZGVzQWxnbwoC%0D%0ANTArAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFdha2VVcEV2ZXJ5WFJvdW5kcwoCMTAmAAAA%0D%0AQWxsTm9kZXNJbnB1dERpc3RyaWJ1dGlvblBvaXNzb25MYW1iZGEKBHRydWUZAAAAUm9vdE5vZGVz%0D%0AQWxnb1NlbmRBbGxJZk9uZQotcHJvamVjdHMudHJlZS5ub2Rlcy5hbGdvcy5zZW5kdmFsdWUuTGFz%0D%0AdFZhbHVlFgAAAFJvb3ROb2Rlc0FsZ29TZW5kVmFsdWUKATAeAAAAUm9vdE5vZGVzQWxnb1NlbmRB%0D%0AZnRlcnhTZWNvbmRzCjFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLmNvc3RhZ2dyZWdhdGlvbi5B%0D%0AdmVyYWdlEgAAAFJvb3ROb2Rlc0Nvc3RzQWdncgoEdHJ1ZRsAAABSb290Tm9kZXNBbGdvU2VuZElm%0D%0AU3VtT2ZBbGwKNXByb2plY3RzLnRyZWUubm9kZXMubWVzc2FnZXMudmFsdWVhZ2dyZWdhdGlvbi5B%0D%0AdmVyYWdlGAAAAEFsbE5vZGVzTWVzc2FnZVZhbHVlQWdncgotcHJvamVjdHMudHJlZS5ub2Rlcy5h%0D%0AbGdvcy5zZW5kdmFsdWUuTGFzdFZhbHVlFQAAAEFsbE5vZGVzQWxnb1NlbmRWYWx1ZQotcHJvamVj%0D%0AdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXRhGQAAAEFsbE5vZGVzSW5wdXRE%0D%0AaXN0cmlidXRpb24KA0FsbAYAAABYX1Nob3c%3D%0D%0A%3Acde91378bf835532811a3efbad2df0d9%2CAlgo+...%2CAll%2CBAcEMTIzNAQEBAgDLgAAAAoCNTAfAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFZhbHVlcwoD%0D%0AMTI4MAAAAERlZmF1bHRTdHJ1Y3R1cmVCdWlsZEJpbmFyeVRyZWVOdW1iZXJPZkxlYWZOb2RlcwoB%0D%0AMiUAAABEZWZhdWx0U3RydWN0dXJlQnVpbGRCaW5hcnlUcmVlRmFub3V0Cixwcm9qZWN0cy50cmVl%0D%0ALnN0cnVjdHVyZS5CdWlsZFNlbnNvclNjb3BlVHJlZRAAAABEZWZhdWx0U3RydWN0dXJlCgI2NSYA%0D%0AAABEZWZhdWx0U3RydWN0dXJlU2Vuc29yU2NvcGVSb290Tm9kZUlkcwoncHJvamVjdHMudHJlZS5u%0D%0Ab2Rlcy5hbGdvcy5zbGVlcC5Ob1NsZWVwDgAAAFJvb3ROb2Rlc1NsZWVwCklwcm9qZWN0cy50cmVl%0D%0ALm5vZGVzLm1lc3NhZ2VzLm1lc3NhZ2VhZ2dyZWdhdGlvbi5Gb3J3YXJkTWVzc2FnZUFnZ3JlZ2F0%0D%0AaW9uEwAAAEFsbE5vZGVzTWVzc2FnZUFnZ3IKAzEwMBwAAABSb290Tm9kZXNFZGdlQ29zdHNNdWx0%0D%0AaXBsaWVyCgVmYWxzZRkAAABBbGxOb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgIxMCQAAABSb290Tm9k%0D%0AZXNTbGVlcFNpbXBsZVNsZWVwUm91bmRzQXdha2UKSXByb2plY3RzLnRyZWUubm9kZXMubWVzc2Fn%0D%0AZXMubWVzc2FnZWFnZ3JlZ2F0aW9uLkZvcndhcmRNZXNzYWdlQWdncmVnYXRpb24UAAAAUm9vdE5v%0D%0AZGVzTWVzc2FnZUFnZ3IKATAdAAAAQWxsTm9kZXNBbGdvU2VuZEFmdGVyeFNlY29uZHMKC1RlbXBl%0D%0AcmF0dXJlKQAAAEFsbE5vZGVzSW5wdXREaXN0cmlidXRpb25TZW5zb3JTY29wZVZhbHVlCghBbGdv%0D%0AIC4uLg8AAABYX0RlZmF1bHRMZWdlbmQKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFn%0D%0AZ3JlZ2F0aW9uLkF2ZXJhZ2URAAAAQWxsTm9kZXNDb3N0c0FnZ3IKJ3Byb2plY3RzLnRyZWUubm9k%0D%0AZXMuYWxnb3Muc2xlZXAuTm9TbGVlcA0AAABBbGxOb2Rlc1NsZWVwCgtUZW1wZXJhdHVyZSoAAABS%0D%0Ab290Tm9kZXNJbnB1dERpc3RyaWJ1dGlvblNlbnNvclNjb3BlVmFsdWUKHHByb2plY3RzLnRyZWUu%0D%0AY29zdHMuQWxsQ29zdHMOAAAAUm9vdE5vZGVzQ29zdHMKAjEwIwAAAEFsbE5vZGVzU2xlZXBTaW1w%0D%0AbGVTbGVlcFJvdW5kc0F3YWtlCgExIQAAAEFsbE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRocmVzaG9s%0D%0AZAoccHJvamVjdHMudHJlZS5jb3N0cy5BbGxDb3N0cw0AAABBbGxOb2Rlc0Nvc3RzCgMxMDASAAAA%0D%0ARGVmYXVsdFJvdW5kc1RvUnVuCgMxMDAbAAAAQWxsTm9kZXNFZGdlQ29zdHNNdWx0aXBsaWVyCgEw%0D%0AEwAAAERlZmF1bHRSb3VuZHNUb1NraXAKATEiAAAAUm9vdE5vZGVzU2xlZXBTaW1wbGVTbGVlcFRo%0D%0AcmVzaG9sZAotcHJvamVjdHMudHJlZS5ub2Rlcy5kYXRhLlNlbnNvclNjb3BlSW5wdXREYXRhGgAA%0D%0AAFJvb3ROb2Rlc0lucHV0RGlzdHJpYnV0aW9uCgIxMCcAAABSb290Tm9kZXNJbnB1dERpc3RyaWJ1%0D%0AdGlvblBvaXNzb25MYW1iZGEKIXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuQWxnb0FCQw0AAABS%0D%0Ab290Tm9kZXNBbGdvCgR0cnVlGgAAAEFsbE5vZGVzQWxnb1NlbmRJZlN1bU9mQWxsCgI1MCoAAABB%0D%0AbGxOb2Rlc1NsZWVwU2ltcGxlU2xlZXBXYWtlVXBFdmVyeVhSb3VuZHMKNXByb2plY3RzLnRyZWUu%0D%0Abm9kZXMubWVzc2FnZXMudmFsdWVhZ2dyZWdhdGlvbi5BdmVyYWdlGQAAAFJvb3ROb2Rlc01lc3Nh%0D%0AZ2VWYWx1ZUFnZ3IKBWZhbHNlGgAAAFJvb3ROb2Rlc0FsZ29JbmNyZWFzZVZhbHVlCgR0cnVlGAAA%0D%0AAEFsbE5vZGVzQWxnb1NlbmRBbGxJZk9uZQoCNTAeAAAAQWxsTm9kZXNTbGVlcFNpbXBsZVNsZWVw%0D%0AVmFsdWVzCiFwcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLkFsZ29BQkMMAAAAQWxsTm9kZXNBbGdv%0D%0ACgI1MCsAAABSb290Tm9kZXNTbGVlcFNpbXBsZVNsZWVwV2FrZVVwRXZlcnlYUm91bmRzCgIxMCYA%0D%0AAABBbGxOb2Rlc0lucHV0RGlzdHJpYnV0aW9uUG9pc3NvbkxhbWJkYQoEdHJ1ZRkAAABSb290Tm9k%0D%0AZXNBbGdvU2VuZEFsbElmT25lCi1wcm9qZWN0cy50cmVlLm5vZGVzLmFsZ29zLnNlbmR2YWx1ZS5M%0D%0AYXN0VmFsdWUWAAAAUm9vdE5vZGVzQWxnb1NlbmRWYWx1ZQoBMB4AAABSb290Tm9kZXNBbGdvU2Vu%0D%0AZEFmdGVyeFNlY29uZHMKMXByb2plY3RzLnRyZWUubm9kZXMuYWxnb3MuY29zdGFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2USAAAAUm9vdE5vZGVzQ29zdHNBZ2dyCgR0cnVlGwAAAFJvb3ROb2Rlc0FsZ29TZW5k%0D%0ASWZTdW1PZkFsbAo1cHJvamVjdHMudHJlZS5ub2Rlcy5tZXNzYWdlcy52YWx1ZWFnZ3JlZ2F0aW9u%0D%0ALkF2ZXJhZ2UYAAAAQWxsTm9kZXNNZXNzYWdlVmFsdWVBZ2dyCi1wcm9qZWN0cy50cmVlLm5vZGVz%0D%0ALmFsZ29zLnNlbmR2YWx1ZS5MYXN0VmFsdWUVAAAAQWxsTm9kZXNBbGdvU2VuZFZhbHVlCi1wcm9q%0D%0AZWN0cy50cmVlLm5vZGVzLmRhdGEuU2Vuc29yU2NvcGVJbnB1dERhdGEZAAAAQWxsTm9kZXNJbnB1%0D%0AdERpc3RyaWJ1dGlvbgoDQWxsBgAAAFhfU2hvdw%3D%3D%0D%0A&graph=add