1(function()
2{
3	// Adds mockup shapes
4	Sidebar.prototype.addAWSPalette = function()
5	{
6		this.setCurrentSearchEntryLibrary('aws2', 'aws2Analytics');
7		this.addAWSAnalyticsPalette();
8		this.setCurrentSearchEntryLibrary('aws2', 'aws2Application Services');
9		this.addAWSApplicationServicesPalette();
10		this.setCurrentSearchEntryLibrary('aws2', 'aws2Compute');
11		this.addAWSComputePalette();
12		this.setCurrentSearchEntryLibrary('aws2', 'aws2Database');
13		this.addAWSDatabasePalette();
14		this.setCurrentSearchEntryLibrary('aws2', 'aws2Developer Tools');
15		this.addAWSDeveloperToolsPalette();
16		this.setCurrentSearchEntryLibrary('aws2', 'aws2Enterprise Applications');
17		this.addAWSEnterpriseApplicationsPalette();
18		this.setCurrentSearchEntryLibrary('aws2', 'aws2Game Development');
19		this.addAWSGameDevelopmentPalette();
20		this.setCurrentSearchEntryLibrary('aws2', 'aws2General');
21		this.addAWSGeneralPalette();
22		this.setCurrentSearchEntryLibrary('aws2', 'aws2Internet of Things');
23		this.addAWSInternetOfThingsPalette();
24		this.setCurrentSearchEntryLibrary('aws2', 'aws2Management Tools');
25		this.addAWSManagementToolsPalette();
26		this.setCurrentSearchEntryLibrary('aws2', 'aws2Mobile Services');
27		this.addAWSMobileServicesPalette();
28		this.setCurrentSearchEntryLibrary('aws2', 'aws2Networking');
29		this.addAWSNetworkingPalette();
30		this.setCurrentSearchEntryLibrary('aws2', 'aws2On-Demand Workforce');
31		this.addAWSOnDemandWorkforcePalette();
32		this.setCurrentSearchEntryLibrary('aws2', 'aws2SDKs');
33		this.addAWSSDKPalette();
34		this.setCurrentSearchEntryLibrary('aws2', 'aws2Security and Identity');
35		this.addAWSSecurityAndIdentityPalette();
36		this.setCurrentSearchEntryLibrary('aws2', 'aws2Storage and Content Delivery');
37		this.addAWSStorageAndContentDeliveryPalette();
38		this.setCurrentSearchEntryLibrary('aws2', 'aws2Groups');
39		this.addAWSGroupPalette();
40		this.setCurrentSearchEntryLibrary();
41	};
42
43	Sidebar.prototype.addAWSAnalyticsPalette = function()
44	{
45		var sb = this;
46		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
47		var gn = 'mxgraph.aws.analytics';
48		var dt = 'aws group amazon web service analytics';
49
50		this.addPaletteFunctions('aws2Analytics', 'AWS / Analytics', false,
51		[
52		 this.createVertexTemplateEntry(s + 'analytics.data_pipeline;strokeColor=none;',
53				 60, 72, '', 'Data Pipeline', null, null, this.getTagsForStencil(gn, 'data pipeline', dt).join(' ')),
54		 this.createVertexTemplateEntry(s + 'analytics.elasticsearch;strokeColor=none;',
55				 60, 72, '', 'ElasticSearch', null, null, this.getTagsForStencil(gn, 'elasticsearch', dt).join(' ')),
56		 this.createVertexTemplateEntry(s + 'analytics.emr;strokeColor=none;',
57				 60, 72, '', 'EMR', null, null, this.getTagsForStencil(gn, 'emr', dt).join(' ')),
58		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_cluster;strokeColor=none;',
59				 49, 55, '', 'EMR Cluster', null, null, this.getTagsForStencil(gn, 'emr cluster', dt).join(' ')),
60		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_engine;strokeColor=none;',
61				 74, 53, '', 'EMR Engine', null, null, this.getTagsForStencil(gn, 'emr engine', dt).join(' ')),
62		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_hdfs_cluster;strokeColor=none;',
63				 54, 56, '', 'EMR HDFS Cluster', null, null, this.getTagsForStencil(gn, 'emr hdfs cluster', dt).join(' ')),
64		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_mapr_m3_engine;strokeColor=none;',
65				 74, 53, '', 'EMR MapR M3 Engine', null, null, this.getTagsForStencil(gn, 'emr mapr m3 engine', dt).join(' ')),
66		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_mapr_m5_engine;strokeColor=none;',
67				 74, 53, '', 'EMR MapR M5 Engine', null, null, this.getTagsForStencil(gn, 'emr mapr m5 engine', dt).join(' ')),
68		 this.createVertexTemplateEntry(s + 'compute_and_networking.emr_mapr_m7_engine;strokeColor=none;',
69				 74, 53, '', 'EMR MapR M7 Engine', null, null, this.getTagsForStencil(gn, 'emr mapr m7 engine', dt).join(' ')),
70		 this.createVertexTemplateEntry(s + 'analytics.kinesis;strokeColor=none;',
71				 59, 72, '', 'Kinesis', null, null, this.getTagsForStencil(gn, 'kinesis', dt).join(' ')),
72		 this.createVertexTemplateEntry(s + 'analytics.kinesis_analytics;strokeColor=none;',
73				 66, 67, '', 'Kinesis Analytics', null, null, this.getTagsForStencil(gn, 'kinesis analytics', dt).join(' ')),
74		 this.createVertexTemplateEntry(s + 'analytics.kinesis_enabledapp;strokeColor=none;',
75				 58, 60, '', 'Kinesis EnabledApp', null, null, this.getTagsForStencil(gn, 'kinesis enabledapp enabled app', dt).join(' ')),
76		 this.createVertexTemplateEntry(s + 'analytics.kinesis_firehose;strokeColor=none;',
77				 53, 56, '', 'Kinesis Firehose', null, null, this.getTagsForStencil(gn, 'kinesis firehose', dt).join(' ')),
78
79		 this.createVertexTemplateEntry(s + 'analytics.kinesis_streams;strokeColor=none;',
80				 53, 56, '', 'Kinesis Streams', null, null, this.getTagsForStencil(gn, 'kinesis streams', dt).join(' ')),
81		 this.createVertexTemplateEntry(s + 'analytics.machine_learning;strokeColor=none;',
82				 60, 72, '', 'Machine Learning', null, null, this.getTagsForStencil(gn, 'machine learning', dt).join(' ')),
83		 this.createVertexTemplateEntry(s + 'analytics.quicksight;strokeColor=none;',
84				 60, 66, '', 'QuickSight', null, null, this.getTagsForStencil(gn, 'quicksight', dt).join(' '))
85		]);
86	};
87
88	Sidebar.prototype.addAWSApplicationServicesPalette = function()
89	{
90		var sb = this;
91		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
92		var gn = 'mxgraph.aws.applicationServices';
93		var dt = 'aws group amazon web service application services';
94
95		this.addPaletteFunctions('aws2Application Services', 'AWS / Application Services', false,
96		[
97		 this.createVertexTemplateEntry(s + 'app_services.api_gateway;strokeColor=none;',
98				 60, 72, '', 'API Gateway', null, null, this.getTagsForStencil(gn, 'api gateway', dt).join(' ')),
99		 this.createVertexTemplateEntry(s + 'app_services.appstream;strokeColor=none;',
100				 59, 72, '', 'AppStream', null, null, this.getTagsForStencil(gn, 'appstream', dt).join(' ')),
101		 this.createVertexTemplateEntry(s + 'app_services.cloudsearch;strokeColor=none;',
102				 59, 72, '', 'CloudSearch', null, null, this.getTagsForStencil(gn, 'cloudsearch', dt).join(' ')),
103		 this.createVertexTemplateEntry(s + 'app_services.cloudsearch_sdf_metadata;strokeColor=none;',
104				 52, 56, '', 'CloudSearch SDF Metadata', null, null, this.getTagsForStencil(gn, 'cloudsearch sdf metadata', dt).join(' ')),
105		 this.createVertexTemplateEntry(s + 'app_services.elastic_transcoder;strokeColor=none;',
106				 59, 72, '', 'Elastic Transcoder', null, null, this.getTagsForStencil(gn, 'elastic transcoder', dt).join(' ')),
107		 this.createVertexTemplateEntry(s + 'app_services.ses;strokeColor=none;',
108				 61, 72, '', 'SES', null, null, this.getTagsForStencil(gn, 'ses', dt).join(' ')),
109		 this.createVertexTemplateEntry(s + 'app_services.email;strokeColor=none;',
110				 73, 54, '', 'SES Email', null, null, this.getTagsForStencil(gn, 'ses email', dt).join(' ')),
111		 this.createVertexTemplateEntry(s + 'app_services.sqs;strokeColor=none;',
112				 59, 72, '', 'SQS', null, null, this.getTagsForStencil(gn, 'sqs', dt).join(' ')),
113		 this.createVertexTemplateEntry(s + 'app_services.sqs_message;strokeColor=none;',
114				 37, 42, '', 'SQS Message', null, null, this.getTagsForStencil(gn, 'sqs message', dt).join(' ')),
115		 this.createVertexTemplateEntry(s + 'app_services.sqs_queue;strokeColor=none;',
116				 65, 42, '', 'SQS Queue', null, null, this.getTagsForStencil(gn, 'sqs queue', dt).join(' ')),
117		 this.createVertexTemplateEntry(s + 'app_services.swf;strokeColor=none;',
118				 59, 72, '', 'SWF', null, null, this.getTagsForStencil(gn, 'swf', dt).join(' ')),
119		 this.createVertexTemplateEntry(s + 'app_services.swf_decider;strokeColor=none;',
120				 55, 57, '', 'SWF Decider', null, null, this.getTagsForStencil(gn, 'swf decider', dt).join(' ')),
121		 this.createVertexTemplateEntry(s + 'app_services.swf_worker;strokeColor=none;',
122				 53, 56, '', 'SWF Worker', null, null, this.getTagsForStencil(gn, 'swf worker', dt).join(' '))
123		]);
124	};
125
126	Sidebar.prototype.addAWSComputePalette = function()
127	{
128		var sb = this;
129		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.compute_and_networking.";
130		var gn = 'mxgraph.aws.compute';
131		var dt = 'aws group amazon web service compute';
132
133		this.addPaletteFunctions('aws2Compute', 'AWS / Compute', false,
134		[
135		 this.createVertexTemplateEntry(s + 'auto_scaling;strokeColor=none;',
136				 59, 57, '', 'Auto Scaling', null, null, this.getTagsForStencil(gn, 'auto scaling', dt).join(' ')),
137		 this.createVertexTemplateEntry(s + 'ec2;strokeColor=none;',
138				 59, 72, '', 'EC2', null, null, this.getTagsForStencil(gn, 'ec2', dt).join(' ')),
139		 this.createVertexTemplateEntry(s + 'ec2_ami;strokeColor=none;',
140				 53, 56, '', 'EC2 AMI', null, null, this.getTagsForStencil(gn, 'ec2 ami', dt).join(' ')),
141		 this.createVertexTemplateEntry(s + 'ec2_cloudwatch;strokeColor=none;',
142				 53, 56, '', 'EC2 CloudWatch', null, null, this.getTagsForStencil(gn, 'ec2 cloudwatch', dt).join(' ')),
143		 this.createVertexTemplateEntry(s + 'ec2_db_on_instance;strokeColor=none;',
144				 52, 56, '', 'EC2 DB On Instance', null, null, this.getTagsForStencil(gn, 'ec2 db on instance database', dt).join(' ')),
145		 this.createVertexTemplateEntry(s + 'ec2_elastic_ip;strokeColor=none;',
146				 67, 22, '', 'EC2 Elastic IP', null, null, this.getTagsForStencil(gn, 'ec2 elastic ip', dt).join(' ')),
147		 this.createVertexTemplateEntry(s + 'ec2_instance;strokeColor=none;',
148				 52, 56, '', 'EC2 Instance', null, null, this.getTagsForStencil(gn, 'ec2 instance', dt).join(' ')),
149		 this.createVertexTemplateEntry(s + 'ec2_instances;strokeColor=none;',
150				 50, 57, '', 'EC2 Instances', null, null, this.getTagsForStencil(gn, 'ec2 instances', dt).join(' ')),
151		 this.createVertexTemplateEntry(s + 'ec2_optimized_instance;strokeColor=none;',
152				 53, 56, '', 'EC2 Optimized Instance', null, null, this.getTagsForStencil(gn, 'ec2 optimized instance', dt).join(' ')),
153		 this.createVertexTemplateEntry(s + 'ec2_spot_instance;strokeColor=none;',
154				 53, 57, '', 'EC2 Spot Instance', null, null, this.getTagsForStencil(gn, 'ec2 spot instance', dt).join(' ')),
155		 this.createVertexTemplateEntry(s + 'ec2_container_registry;strokeColor=none;',
156				 61, 63, '', 'EC2 Container Registry', null, null, this.getTagsForStencil(gn, 'ec2 container registry', dt).join(' ')),
157		 this.createVertexTemplateEntry(s + 'ec2_container_service;strokeColor=none;',
158				 61, 63, '', 'EC2 Container Service', null, null, this.getTagsForStencil(gn, 'ec2 container service', dt).join(' ')),
159		 this.createVertexTemplateEntry(s + 'elastic_beanstalk;strokeColor=none;',
160				 59, 82, '', 'Elastic Beanstalk', null, null, this.getTagsForStencil(gn, 'elastic beanstalk', dt).join(' ')),
161		 this.createVertexTemplateEntry(s + 'elastic_beanstalk_application;strokeColor=none;',
162				 31, 57, '', 'Elastic Beanstalk Application', null, null, this.getTagsForStencil(gn, 'elastic beanstalk application', dt).join(' ')),
163		 this.createVertexTemplateEntry(s + 'elastic_beanstalk_deployment;strokeColor=none;',
164				 50, 66, '', 'Elastic Beanstalk Deployment', null, null, this.getTagsForStencil(gn, 'elastic beanstalk deployment', dt).join(' ')),
165		 this.createVertexTemplateEntry(s + 'elastic_load_balancing_2;strokeColor=none;',
166				 56, 58, '', 'Elastic Load Balancing', null, null, this.getTagsForStencil(gn, 'elastic load balancing', dt).join(' ')),
167		 this.createVertexTemplateEntry(s + 'lambda;strokeColor=none;',
168				 59, 72, '', 'Lambda', null, null, this.getTagsForStencil(gn, 'lambda', dt).join(' '))
169		]);
170	};
171
172	Sidebar.prototype.addAWSDatabasePalette = function()
173	{
174		var sb = this;
175		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
176		var gn = 'mxgraph.aws.database';
177		var dt = 'aws group amazon web service database';
178
179		this.addPaletteFunctions('aws2Database', 'AWS / Database', false,
180		[
181		 this.createVertexTemplateEntry(s + 'database.database_migration_service;strokeColor=none;',
182				 64, 72, '', 'Database Migration Service', null, null, this.getTagsForStencil(gn, 'database migration service', dt).join(' ')),
183		 this.createVertexTemplateEntry(s + 'database.dynamodb;strokeColor=none;',
184				 59, 72, '', 'DynamoDB', null, null, this.getTagsForStencil(gn, 'dynamodb', dt).join(' ')),
185		 this.createVertexTemplateEntry(s + 'database.dynamodb_attribute;strokeColor=none;',
186				 54, 56, '', 'DynamoDB Attribute', null, null, this.getTagsForStencil(gn, 'dynamodb attribute', dt).join(' ')),
187		 this.createVertexTemplateEntry(s + 'database.dynamodb_attributes;strokeColor=none;',
188				 52, 56, '', 'DynamoDB Attributes', null, null, this.getTagsForStencil(gn, 'dynamodb attributes', dt).join(' ')),
189		 this.createVertexTemplateEntry(s + 'database.dynamodb_global_secondary_indexes;strokeColor=none;',
190				 53, 56, '', 'DynamoDB Global Secondary Index', null, null, this.getTagsForStencil(gn, 'dynamodb global secondary indexes', dt).join(' ')),
191		 this.createVertexTemplateEntry(s + 'database.dynamodb_item;strokeColor=none;',
192				 55, 56, '', 'DynamoDB Item', null, null, this.getTagsForStencil(gn, 'dynamodb item', dt).join(' ')),
193		 this.createVertexTemplateEntry(s + 'database.dynamodb_items;strokeColor=none;',
194				 52, 57, '', 'DynamoDB Items', null, null, this.getTagsForStencil(gn, 'dynamodb items', dt).join(' ')),
195		 this.createVertexTemplateEntry(s + 'database.dynamodb_table;strokeColor=none;',
196				 60, 56, '', 'DynamoDB Table', null, null, this.getTagsForStencil(gn, 'dynamodb table', dt).join(' ')),
197		 this.createVertexTemplateEntry(s + 'database.elasticcache_memcache;strokeColor=none;',
198				 52, 55, '', 'ElasticCache MemCache', null, null, this.getTagsForStencil(gn, 'elasticcache memcache', dt).join(' ')),
199		 this.createVertexTemplateEntry(s + 'database.elasticcache;strokeColor=none;',
200				 59, 72, '', 'ElasticCache', null, null, this.getTagsForStencil(gn, 'elasticcache', dt).join(' ')),
201		 this.createVertexTemplateEntry(s + 'database.elasticcache_node;strokeColor=none;',
202				 52, 55, '', 'ElasticCache Node', null, null, this.getTagsForStencil(gn, 'elasticcache node', dt).join(' ')),
203		 this.createVertexTemplateEntry(s + 'database.elasticcache_redis;strokeColor=none;',
204				 52, 55, '', 'ElasticCache Redis', null, null, this.getTagsForStencil(gn, 'elasticcache redis', dt).join(' ')),
205		 this.createVertexTemplateEntry(s + 'database.rds;strokeColor=none;',
206				 63, 72, '', 'RDS', null, null, this.getTagsForStencil(gn, 'rds', dt).join(' ')),
207		 this.createVertexTemplateEntry(s + 'database.rds_db_instance;strokeColor=none;',
208				 43, 56, '', 'RDS DB Instance', null, null, this.getTagsForStencil(gn, 'rds db instance', dt).join(' ')),
209		 this.createVertexTemplateEntry(s + 'database.rds_instance_read_replica;strokeColor=none;',
210				 43, 56, '', 'RDS Instance Read Replica', null, null, this.getTagsForStencil(gn, 'rds instance read replica', dt).join(' ')),
211		 this.createVertexTemplateEntry(s + 'database.rds_instance_standby;strokeColor=none;',
212				 43, 56, '', 'RDS Instance Standby', null, null, this.getTagsForStencil(gn, 'rds instance standby', dt).join(' ')),
213		 this.createVertexTemplateEntry(s + 'database.rds_ms_sql_instance;strokeColor=none;',
214				 52, 55, '', 'RDS MS SQL Instance', null, null, this.getTagsForStencil(gn, 'rds ms sql instance', dt).join(' ')),
215		 this.createVertexTemplateEntry(s + 'database.rds_ms_sql_instance_2;strokeColor=none;',
216				 52, 56, '', 'RDS MS SQL Instance', null, null, this.getTagsForStencil(gn, 'rds ms sql instance', dt).join(' ')),
217		 this.createVertexTemplateEntry(s + 'database.rds_mysql_db_instance;strokeColor=none;',
218				 52, 55, '', 'RDS MySQL Instance', null, null, this.getTagsForStencil(gn, 'rds mysql db instance', dt).join(' ')),
219		 this.createVertexTemplateEntry(s + 'database.rds_mysql_db_instance_2;strokeColor=none;',
220				 52, 56, '', 'RDS MySQL Instance', null, null, this.getTagsForStencil(gn, 'rds mysql db instance', dt).join(' ')),
221		 this.createVertexTemplateEntry(s + 'database.rds_oracle_db_instance;strokeColor=none;',
222				 52, 55, '', 'RDS Oracle Instance', null, null, this.getTagsForStencil(gn, 'rds oracle db instance', dt).join(' ')),
223		 this.createVertexTemplateEntry(s + 'database.rds_oracle_db_instance_2;strokeColor=none;',
224				 52, 56, '', 'RDS Oracle Instance', null, null, this.getTagsForStencil(gn, 'rds oracle db instance', dt).join(' ')),
225		 this.createVertexTemplateEntry(s + 'database.rds_replica_sets_with_piop;strokeColor=none;',
226				 53, 55, '', 'RDS PIOP', null, null, this.getTagsForStencil(gn, 'rds piop', dt).join(' ')),
227		 this.createVertexTemplateEntry(s + 'database.rds_postgresql;strokeColor=none;',
228				 52, 55, '', 'RDS PostgreSQL', null, null, this.getTagsForStencil(gn, 'rds postgresql', dt).join(' ')),
229		 this.createVertexTemplateEntry(s + 'database.rds_mastersql;strokeColor=none;',
230				 52, 56, '', 'RDS SQL Master', null, null, this.getTagsForStencil(gn, 'rds sql master', dt).join(' ')),
231		 this.createVertexTemplateEntry(s + 'database.rds_slavesql;strokeColor=none;',
232				 52, 56, '', 'RDS SQL Slave', null, null, this.getTagsForStencil(gn, 'rds sql slave', dt).join(' ')),
233		 this.createVertexTemplateEntry(s + 'database.redshift;strokeColor=none;',
234				 60, 66, '', 'Redshift', null, null, this.getTagsForStencil(gn, 'redshift', dt).join(' ')),
235		 this.createVertexTemplateEntry(s + 'database.redshift_dense_compute_node;strokeColor=none;',
236				 49, 55, '', 'Redshift Dense Compute Node', null, null, this.getTagsForStencil(gn, 'redshift dense compute node', dt).join(' ')),
237		 this.createVertexTemplateEntry(s + 'database.redshift_dense_storage_node;strokeColor=none;',
238				 49, 55, '', 'Redshift Dense Storage Node', null, null, this.getTagsForStencil(gn, 'redshift dense storage node', dt).join(' '))
239		]);
240	};
241
242	Sidebar.prototype.addAWSDeveloperToolsPalette = function()
243	{
244		var sb = this;
245		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
246		var gn = 'mxgraph.aws.developerTools';
247		var dt = 'aws group amazon web service developer tools';
248
249		this.addPaletteFunctions('aws2Developer Tools', 'AWS / Developer Tools', false,
250		[
251		 this.createVertexTemplateEntry(s + 'developer_tools.code_commit;strokeColor=none;',
252				 68, 82, '', 'Code Commit', null, null, this.getTagsForStencil(gn, 'code commit', dt).join(' ')),
253		 this.createVertexTemplateEntry(s + 'deployment_and_management.codedeploy;strokeColor=none;',
254				 59, 72, '', 'Code Deploy', null, null, this.getTagsForStencil(gn, 'codedeploy', dt).join(' ')),
255		 this.createVertexTemplateEntry(s + 'developer_tools.code_pipeline;strokeColor=none;',
256				 60, 72, '', 'Code Pipeline', null, null, this.getTagsForStencil(gn, 'code pipeline', dt).join(' '))
257		]);
258	};
259
260	Sidebar.prototype.addAWSEnterpriseApplicationsPalette = function()
261	{
262		var sb = this;
263		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
264		var gn = 'mxgraph.aws.enterpriseApplications';
265		var dt = 'aws group amazon web service enterprise applications';
266
267		this.addPaletteFunctions('aws2Enterprise Applications', 'AWS / Enterprise Applications', false,
268		[
269		 this.createVertexTemplateEntry(s + 'enterprise_applications.workdocs;strokeColor=none;',
270				 74, 85, '', 'WorkDocs', null, null, this.getTagsForStencil(gn, 'workdocs', dt).join(' ')),
271		 this.createVertexTemplateEntry(s + 'enterprise_applications.workmail;strokeColor=none;',
272				 74, 85, '', 'WorkMail', null, null, this.getTagsForStencil(gn, 'workmail', dt).join(' ')),
273		 this.createVertexTemplateEntry(s + 'enterprise_applications.workspaces;strokeColor=none;',
274				 74, 85, '', 'WorkSpaces', null, null, this.getTagsForStencil(gn, 'workspaces', dt).join(' '))
275		]);
276	};
277
278	Sidebar.prototype.addAWSGameDevelopmentPalette = function()
279	{
280		var sb = this;
281		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
282		var gn = 'mxgraph.aws.gameDevelopment';
283		var dt = 'aws amazon web service game development';
284
285		this.addPaletteFunctions('aws2Game Development', 'AWS / Game Development', false,
286		[
287		 this.createVertexTemplateEntry(s + 'game_development.gamelift;strokeColor=none;',
288				 62, 75, '', 'GameLift', null, null, this.getTagsForStencil(gn, 'game lift', dt).join(' '))
289		]);
290	};
291
292	Sidebar.prototype.addAWSGeneralPalette = function()
293	{
294		var sb = this;
295		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
296		var gn = 'mxgraph.aws.general';
297		var dt = 'aws amazon web service general';
298
299		this.addPaletteFunctions('aws2General', 'AWS / General', false,
300		[
301		 this.createVertexTemplateEntry(s + 'non-service_specific.client;strokeColor=none;',
302				 57, 57, '', 'Client', null, null, this.getTagsForStencil(gn, 'client', dt).join(' ')),
303		 this.createVertexTemplateEntry(s + 'non-service_specific.cloud;strokeColor=none;',
304				 70, 46, '', 'Cloud', null, null, this.getTagsForStencil(gn, 'cloud', dt).join(' ')),
305		 this.createVertexTemplateEntry(s + 'non-service_specific.corporate_data_center;strokeColor=none;',
306				 42, 57, '', 'Corporate Data Center', null, null, this.getTagsForStencil(gn, 'corporate data center', dt).join(' ')),
307		 this.createVertexTemplateEntry(s + 'non-service_specific.disk;strokeColor=none;',
308				 57, 57, '', 'Disk', null, null, this.getTagsForStencil(gn, 'disk', dt).join(' ')),
309		 this.createVertexTemplateEntry(s + 'non-service_specific.forums;strokeColor=none;',
310				 76, 73, '', 'Forums', null, null, this.getTagsForStencil(gn, 'forums', dt).join(' ')),
311		 this.createVertexTemplateEntry(s + 'non-service_specific.generic_database;strokeColor=none;',
312				 44, 57, '', 'Generic Database', null, null, this.getTagsForStencil(gn, 'generic database', dt).join(' ')),
313		 this.createVertexTemplateEntry(s + 'non-service_specific.internet;strokeColor=none;',
314				 70, 46, '', 'Internet', null, null, this.getTagsForStencil(gn, 'internet', dt).join(' ')),
315		 this.createVertexTemplateEntry(s + 'non-service_specific.management_console;strokeColor=none;',
316				 57, 57, '', 'Management Console', null, null, this.getTagsForStencil(gn, 'management console', dt).join(' ')),
317		 this.createVertexTemplateEntry(s + 'non-service_specific.mobile_client;strokeColor=none;',
318				 37, 57, '', 'Mobile Client', null, null, this.getTagsForStencil(gn, 'mobile client', dt).join(' ')),
319		 this.createVertexTemplateEntry(s + 'non-service_specific.multimedia;strokeColor=none;',
320				 59, 57, '', 'Multimedia', null, null, this.getTagsForStencil(gn, 'multimedia', dt).join(' ')),
321		 this.createVertexTemplateEntry(s + 'non-service_specific.tape_storage;strokeColor=none;',
322				 68, 38, '', 'Tape Storage', null, null, this.getTagsForStencil(gn, 'tape storage', dt).join(' ')),
323		 this.createVertexTemplateEntry(s + 'non-service_specific.traditional_server;strokeColor=none;',
324				 41, 56, '', 'Traditional Server', null, null, this.getTagsForStencil(gn, 'traditional server', dt).join(' ')),
325		 this.createVertexTemplateEntry(s + 'non-service_specific.user;strokeColor=none;',
326				 41, 56, '', 'User', null, null, this.getTagsForStencil(gn, 'user', dt).join(' ')),
327		 this.createVertexTemplateEntry(s + 'non-service_specific.users;strokeColor=none;',
328				 58, 56, '', 'Users', null, null, this.getTagsForStencil(gn, 'users', dt).join(' ')),
329		 this.createVertexTemplateEntry(s + 'non-service_specific.virtual_private_cloud;strokeColor=none;',
330				 70, 46, '', 'Virtual Private Cloud', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' '))
331		]);
332	};
333
334	Sidebar.prototype.addAWSInternetOfThingsPalette = function()
335	{
336		var sb = this;
337		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.internet_of_things.";
338		var gn = 'mxgraph.aws.internetOfThings';
339		var dt = 'aws group amazon web service internet of things iot';
340
341		this.addPaletteFunctions('aws2Internet of Things', 'AWS / Internet of Things', false,
342		[
343		 this.createVertexTemplateEntry(s + 'action;strokeColor=none;',
344				 55, 57, '', 'Action', null, null, this.getTagsForStencil(gn, 'action', dt).join(' ')),
345		 this.createVertexTemplateEntry(s + 'actuator;strokeColor=none;',
346				 68, 80, '', 'Actuator', null, null, this.getTagsForStencil(gn, 'actuator', dt).join(' ')),
347		 this.createVertexTemplateEntry(s + 'aws-iot;strokeColor=none;',
348				 60, 72, '', 'AWS IOT', null, null, this.getTagsForStencil(gn, 'aws iot', dt).join(' ')),
349		 this.createVertexTemplateEntry(s + 'bank;strokeColor=none;',
350				 71, 71, '', 'Bank', null, null, this.getTagsForStencil(gn, 'bank', dt).join(' ')),
351		 this.createVertexTemplateEntry(s + 'bicycle;strokeColor=none;',
352				 71, 71, '', 'Bicycle', null, null, this.getTagsForStencil(gn, 'bicycle', dt).join(' ')),
353		 this.createVertexTemplateEntry(s + 'camera;strokeColor=none;',
354				 71, 71, '', 'Camera', null, null, this.getTagsForStencil(gn, 'camera', dt).join(' ')),
355		 this.createVertexTemplateEntry(s + 'car;strokeColor=none;',
356				 71, 71, '', 'Car', null, null, this.getTagsForStencil(gn, 'car', dt).join(' ')),
357		 this.createVertexTemplateEntry(s + 'cart;strokeColor=none;',
358				 71, 71, '', 'Cart', null, null, this.getTagsForStencil(gn, 'cart', dt).join(' ')),
359		 this.createVertexTemplateEntry(s + 'certificate;strokeColor=none;',
360				 56, 77, '', 'Certificate', null, null, this.getTagsForStencil(gn, 'certificate', dt).join(' ')),
361		 this.createVertexTemplateEntry(s + 'coffee_pot;strokeColor=none;',
362				 71, 71, '', 'Coffee Pot', null, null, this.getTagsForStencil(gn, 'coffee pot', dt).join(' ')),
363		 this.createVertexTemplateEntry(s + 'desired_state;strokeColor=none;',
364				 53, 57, '', 'Desired State', null, null, this.getTagsForStencil(gn, 'desired_state', dt).join(' ')),
365		 this.createVertexTemplateEntry(s + 'door_lock;strokeColor=none;',
366				 71, 71, '', 'Door Lock', null, null, this.getTagsForStencil(gn, 'door lock', dt).join(' ')),
367		 this.createVertexTemplateEntry(s + 'factory;strokeColor=none;',
368				 71, 71, '', 'Factory', null, null, this.getTagsForStencil(gn, 'factory', dt).join(' ')),
369		 this.createVertexTemplateEntry(s + 'generic_iot_thing;strokeColor=none;',
370				 71, 71, '', 'Generic IOT Thing', null, null, this.getTagsForStencil(gn, 'generic iot thing', dt).join(' ')),
371		 this.createVertexTemplateEntry(s + 'hardware_board;strokeColor=none;',
372				 75, 87, '', 'Hardware Board', null, null, this.getTagsForStencil(gn, 'hardware_board', dt).join(' ')),
373		 this.createVertexTemplateEntry(s + 'house;strokeColor=none;',
374				 71, 71, '', 'House', null, null, this.getTagsForStencil(gn, 'house', dt).join(' ')),
375		 this.createVertexTemplateEntry(s + 'http_protocol;strokeColor=none;',
376				 56, 59, '', 'HTTP Protocol', null, null, this.getTagsForStencil(gn, 'http protocol', dt).join(' ')),
377		 this.createVertexTemplateEntry(s + 'http2_protocol;strokeColor=none;',
378				 56, 59, '', 'HTTP2 Protocol', null, null, this.getTagsForStencil(gn, 'http2 protocol', dt).join(' ')),
379		 this.createVertexTemplateEntry(s + 'lightbulb;strokeColor=none;',
380				 71, 71, '', 'Lightbulb', null, null, this.getTagsForStencil(gn, 'lightbulb', dt).join(' ')),
381		 this.createVertexTemplateEntry(s + 'medical_emergency;strokeColor=none;',
382				 71, 71, '', 'Medical Emergency', null, null, this.getTagsForStencil(gn, 'medical_emergency', dt).join(' ')),
383		 this.createVertexTemplateEntry(s + 'mqtt_protocol;strokeColor=none;',
384				 56, 59, '', 'MQTT Protocol', null, null, this.getTagsForStencil(gn, 'mqtt protocol', dt).join(' ')),
385		 this.createVertexTemplateEntry(s + 'police_emergency;strokeColor=none;',
386				 71, 71, '', 'Police Emergency', null, null, this.getTagsForStencil(gn, 'police_emergency', dt).join(' ')),
387		 this.createVertexTemplateEntry(s + 'policy;strokeColor=none;',
388				 49, 79, '', 'Policy', null, null, this.getTagsForStencil(gn, 'policy', dt).join(' ')),
389		 this.createVertexTemplateEntry(s + 'reported_state;strokeColor=none;',
390				 53, 57, '', 'Reported State', null, null, this.getTagsForStencil(gn, 'reported_state', dt).join(' ')),
391		 this.createVertexTemplateEntry(s + 'rule;strokeColor=none;',
392				 44, 87, '', 'Rule', null, null, this.getTagsForStencil(gn, 'rule', dt).join(' ')),
393		 this.createVertexTemplateEntry(s + 'sensor;strokeColor=none;',
394				 68, 80, '', 'Sensor', null, null, this.getTagsForStencil(gn, 'sensor', dt).join(' ')),
395		 this.createVertexTemplateEntry(s + 'servo;strokeColor=none;',
396				 75, 53, '', 'Servo', null, null, this.getTagsForStencil(gn, 'servo', dt).join(' ')),
397		 this.createVertexTemplateEntry(s + 'shadow;strokeColor=none;',
398				 75, 80, '', 'Shadow', null, null, this.getTagsForStencil(gn, 'shadow', dt).join(' ')),
399		 this.createVertexTemplateEntry(s + 'simulator;strokeColor=none;',
400				 67, 70, '', 'Simulator', null, null, this.getTagsForStencil(gn, 'simulator', dt).join(' ')),
401		 this.createVertexTemplateEntry(s + 'thermostat;strokeColor=none;',
402				 71, 71, '', 'Thermostat', null, null, this.getTagsForStencil(gn, 'thermostat', dt).join(' ')),
403		 this.createVertexTemplateEntry(s + 'topic;strokeColor=none;',
404				 44, 59, '', 'Topic', null, null, this.getTagsForStencil(gn, 'topic', dt).join(' ')),
405		 this.createVertexTemplateEntry(s + 'travel;strokeColor=none;',
406				 71, 71, '', 'Travel', null, null, this.getTagsForStencil(gn, 'travel', dt).join(' ')),
407		 this.createVertexTemplateEntry(s + 'utility;strokeColor=none;',
408				 71, 71, '', 'Utility', null, null, this.getTagsForStencil(gn, 'utility', dt).join(' ')),
409		 this.createVertexTemplateEntry(s + 'windfarm;strokeColor=none;',
410				 71, 71, '', 'Windfarm', null, null, this.getTagsForStencil(gn, 'windfarm', dt).join(' '))
411		]);
412	};
413
414	Sidebar.prototype.addAWSManagementToolsPalette = function()
415	{
416		var sb = this;
417		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
418		var gn = 'mxgraph.aws.managementTools';
419		var dt = 'aws group amazon web service management tools';
420
421		this.addPaletteFunctions('aws2Management Tools', 'AWS / Management Tools', false,
422		[
423		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudformation;strokeColor=none;',
424				 59, 72, '', 'CloudFormation', null, null, this.getTagsForStencil(gn, 'cloudformation', dt).join(' ')),
425		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudformation_stack;strokeColor=none;',
426				 64, 49, '', 'CloudFormation Stack', null, null, this.getTagsForStencil(gn, 'cloudformation stack', dt).join(' ')),
427		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudformation_template;strokeColor=none;',
428				 48, 56, '', 'CloudFormation Template', null, null, this.getTagsForStencil(gn, 'cloudformation template', dt).join(' ')),
429		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudtrail;strokeColor=none;',
430				 59, 72, '', 'CloudTrail', null, null, this.getTagsForStencil(gn, 'cloudtrail', dt).join(' ')),
431		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudwatch;strokeColor=none;',
432				 63, 72, '', 'CloudWatch', null, null, this.getTagsForStencil(gn, 'cloudwatch', dt).join(' ')),
433		 this.createVertexTemplateEntry(s + 'deployment_and_management.cloudwatch_alarm;strokeColor=none;',
434				 48, 58, '', 'CloudWatch Alarm', null, null, this.getTagsForStencil(gn, 'cloudwatch alarm', dt).join(' ')),
435		 this.createVertexTemplateEntry(s + 'administration_and_security.config;strokeColor=none;',
436				 59, 72, '', 'Config', null, null, this.getTagsForStencil(gn, 'config', dt).join(' ')),
437		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks;strokeColor=none;',
438				 59, 72, '', 'OpsWorks', null, null, this.getTagsForStencil(gn, 'opsworks', dt).join(' ')),
439		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_apps;strokeColor=none;',
440				 72, 72, '', 'OpsWorks Apps', null, null, this.getTagsForStencil(gn, 'opsworks apps', dt).join(' ')),
441		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_deployments;strokeColor=none;',
442				 72, 68, '', 'OpsWorks Deployments', null, null, this.getTagsForStencil(gn, 'opsworks deployments', dt).join(' ')),
443		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_instances;strokeColor=none;',
444				 72, 72, '', 'OpsWorks Instances', null, null, this.getTagsForStencil(gn, 'opsworks instances', dt).join(' ')),
445		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_layers;strokeColor=none;',
446				 72, 72, '', 'OpsWorks Layers', null, null, this.getTagsForStencil(gn, 'opsworks layers', dt).join(' ')),
447		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_monitoring;strokeColor=none;',
448				 72, 60, '', 'OpsWorks Monitoring', null, null, this.getTagsForStencil(gn, 'opsworks monitoring', dt).join(' ')),
449		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_permissions;strokeColor=none;',
450				 59, 72, '', 'OpsWorks Permissions', null, null, this.getTagsForStencil(gn, 'opsworks permissions', dt).join(' ')),
451		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_resources;strokeColor=none;',
452				 59, 72, '', 'OpsWorks Resources', null, null, this.getTagsForStencil(gn, 'opsworks resources', dt).join(' ')),
453		 this.createVertexTemplateEntry(s + 'deployment_and_management.opsworks_stack;strokeColor=none;',
454				 60, 70, '', 'OpsWorks Stack', null, null, this.getTagsForStencil(gn, 'opsworks stack', dt).join(' ')),
455		 this.createVertexTemplateEntry(s + 'management_tools.service_catalog;strokeColor=none;',
456				 60, 70, '', 'Service Catalog', null, null, this.getTagsForStencil(gn, 'service catalog', dt).join(' ')),
457		 this.createVertexTemplateEntry(s + 'administration_and_security.trusted_advisor;strokeColor=none;',
458				 60, 72, '', 'Trusted Advisor', null, null, this.getTagsForStencil(gn, 'trusted advisor', dt).join(' '))
459		]);
460	};
461
462	Sidebar.prototype.addAWSMobileServicesPalette = function()
463	{
464		var sb = this;
465		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
466		var gn = 'mxgraph.aws.mobileServices';
467		var dt = 'aws group amazon web service mobile services';
468
469		this.addPaletteFunctions('aws2Mobile Services', 'AWS / Mobile Services', false,
470		[
471		 this.createVertexTemplateEntry(s + 'mobile_services.aws_mobile_hub;strokeColor=none;',
472				 83, 86, '', 'AWS Mobile Hub', null, null, this.getTagsForStencil(gn, 'aws mobile hub', dt).join(' ')),
473		 this.createVertexTemplateEntry(s + 'mobile_services.cognito;strokeColor=none;',
474				 59, 72, '', 'Cognito', null, null, this.getTagsForStencil(gn, 'cognito', dt).join(' ')),
475		 this.createVertexTemplateEntry(s + 'mobile_services.device_farm;strokeColor=none;',
476				 68, 82, '', 'Device Farm', null, null, this.getTagsForStencil(gn, 'device farm', dt).join(' ')),
477		 this.createVertexTemplateEntry(s + 'mobile_services.mobile_analytics;strokeColor=none;',
478				 70, 72, '', 'Mobile Analytics', null, null, this.getTagsForStencil(gn, 'mobile analytics', dt).join(' ')),
479		 this.createVertexTemplateEntry(s + 'mobile_services.sns;strokeColor=none;',
480				 69, 69, '', 'SNS', null, null, this.getTagsForStencil(gn, 'sns', dt).join(' ')),
481		 this.createVertexTemplateEntry(s + 'mobile_services.sns_email_notification;strokeColor=none;',
482				 90, 56, '', 'SNS Email Notification', null, null, this.getTagsForStencil(gn, 'sns email notification', dt).join(' ')),
483		 this.createVertexTemplateEntry(s + 'mobile_services.sns_http_notification;strokeColor=none;',
484				 90, 56, '', 'SNS HTTP Notification', null, null, this.getTagsForStencil(gn, 'sns http notification', dt).join(' ')),
485		 this.createVertexTemplateEntry(s + 'mobile_services.sns_topic;strokeColor=none;',
486				 90, 56, '', 'SNS Topic', null, null, this.getTagsForStencil(gn, 'sns topic', dt).join(' '))
487		]);
488	};
489
490	Sidebar.prototype.addAWSNetworkingPalette = function()
491	{
492		var sb = this;
493		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
494		var gn = 'mxgraph.aws.networking';
495		var dt = 'aws group amazon web service networking';
496
497		this.addPaletteFunctions('aws2Networking', 'AWS / Networking', false,
498		[
499		 this.createVertexTemplateEntry(s + 'compute_and_networking.aws_direct_connect;strokeColor=none;',
500				 59, 72, '', 'Direct Connect', null, null, this.getTagsForStencil(gn, 'direct connect', dt).join(' ')),
501		 this.createVertexTemplateEntry(s + 'compute_and_networking.route_53;strokeColor=none;',
502				 59, 72, '', 'Route 53', null, null, this.getTagsForStencil(gn, 'route 53', dt).join(' ')),
503		 this.createVertexTemplateEntry(s + 'compute_and_networking.route_53_hosted_zone;strokeColor=none;',
504				 58, 56, '', 'Route 53 Hosted Zone', null, null, this.getTagsForStencil(gn, 'route 53 hosted zone', dt).join(' ')),
505		 this.createVertexTemplateEntry(s + 'compute_and_networking.route_53_route_table;strokeColor=none;',
506				 66, 61, '', 'Route 53 Table', null, null, this.getTagsForStencil(gn, 'route 53 table', dt).join(' ')),
507		 this.createVertexTemplateEntry(s + 'compute_and_networking.vpc;strokeColor=none;',
508				 59, 72, '', 'VPC', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' ')),
509		 this.createVertexTemplateEntry(s + 'networking.vpc_customer_gateway;strokeColor=none;',
510				 61, 64, '', 'VPC Customer Gateway', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud customer gateway', dt).join(' ')),
511		 this.createVertexTemplateEntry(s + 'networking.vpc_endpoints;strokeColor=none;',
512				 61, 64, '', 'VPC Endpoints', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud endpoints', dt).join(' ')),
513		 this.createVertexTemplateEntry(s + 'networking.vpc_flowlogs;strokeColor=none;',
514				 61, 64, '', 'VPC Flowlogs', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud flowlogs', dt).join(' ')),
515		 this.createVertexTemplateEntry(s + 'compute_and_networking.vpc_internet_gateway;strokeColor=none;',
516				 55, 57, '', 'VPC Internet Gateway', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud internet gateway', dt).join(' ')),
517		 this.createVertexTemplateEntry(s + 'compute_and_networking.vpc_peering;strokeColor=none;',
518				 55, 57, '', 'VPC Peering', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud peering', dt).join(' ')),
519		 this.createVertexTemplateEntry(s + 'networking.vpc_router;strokeColor=none;',
520				 61, 64, '', 'VPC Router', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud router', dt).join(' ')),
521		 this.createVertexTemplateEntry(s + 'compute_and_networking.vpc_vpn_connection;strokeColor=none;',
522				 52, 41, '', 'VPC VPN Connection', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud vpn connection', dt).join(' ')),
523		 this.createVertexTemplateEntry(s + 'compute_and_networking.vpc_vpn_gateway;strokeColor=none;',
524				 55, 57, '', 'VPC VPN Gateway', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud vpn gateway', dt).join(' ')),
525		 this.createVertexTemplateEntry(s + 'networking.vpcnat_gateway;strokeColor=none;',
526				 61, 64, '', 'VPCNAT Gateway', null, null, this.getTagsForStencil(gn, 'vpc virtual private cloud vpcnat gateway', dt).join(' '))
527		]);
528	};
529
530	Sidebar.prototype.addAWSOnDemandWorkforcePalette = function()
531	{
532		var sb = this;
533		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
534		var gn = 'mxgraph.aws.on-demand_workforce';
535		var dt = 'aws group amazon web service on demand workforce';
536
537		this.addPaletteFunctions('aws2On-Demand Workforce', 'AWS / On-Demand Workforce', false,
538		[
539		 this.createVertexTemplateEntry(s + 'on-demand_workforce.mechanical_turk;strokeColor=none;',
540				 60, 72, '', 'Mechanical Turk', null, null, this.getTagsForStencil(gn, 'mechanical turk', dt).join(' ')),
541		 this.createVertexTemplateEntry(s + 'on-demand_workforce.mechanical_turk_assignment_task;strokeColor=none;',
542				 41, 56, '', 'Mechanical Turk Assignment Task', null, null, this.getTagsForStencil(gn, 'mechanical turk assignment task', dt).join(' ')),
543		 this.createVertexTemplateEntry(s + 'on-demand_workforce.mechanical_turk_human_intelligence_tasks;strokeColor=none;',
544				 46, 50, '', 'Mechanical Turk Human Intelligence Task (HIT)', null, null, this.getTagsForStencil(gn, 'mechanical turk human intelligence task hit', dt).join(' ')),
545		 this.createVertexTemplateEntry(s + 'on-demand_workforce.mechanical_turk_requester;strokeColor=none;',
546				 49, 57, '', 'Mechanical Turk Requester', null, null, this.getTagsForStencil(gn, 'mechanical turk requester', dt).join(' ')),
547		 this.createVertexTemplateEntry(s + 'on-demand_workforce.mechanical_turk_workers;strokeColor=none;',
548				 59, 57, '', 'Mechanical Turk Workers', null, null, this.getTagsForStencil(gn, 'mechanical turk workers', dt).join(' '))
549		]);
550	};
551
552	Sidebar.prototype.addAWSSDKPalette = function()
553	{
554		var sb = this;
555		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
556		var gn = 'mxgraph.aws.sdks';
557		var dt = 'aws group amazon web service sdk softvare development kit';
558
559		this.addPaletteFunctions('aws2SDKs', 'AWS / SDKs', false,
560		[
561		 this.createVertexTemplateEntry(s + 'sdks.android;strokeColor=none;',
562				 62, 72, '', 'Android', null, null, this.getTagsForStencil(gn, 'android', dt).join(' ')),
563		 this.createVertexTemplateEntry(s + 'sdks.cli;strokeColor=none;',
564				 62, 72, '', 'CLI', null, null, this.getTagsForStencil(gn, 'cli', dt).join(' ')),
565		 this.createVertexTemplateEntry(s + 'sdks.aws_toolkit_for_eclipse;strokeColor=none;',
566				 62, 72, '', 'Toolkit for Eclipse', null, null, this.getTagsForStencil(gn, 'toolkit eclipse', dt).join(' ')),
567		 this.createVertexTemplateEntry(s + 'sdks.aws_toolkit_for_visual_studio;strokeColor=none;',
568				 62, 72, '', 'Toolkit for Visual Studio', null, null, this.getTagsForStencil(gn, 'toolkit visual studio', dt).join(' ')),
569		 this.createVertexTemplateEntry(s + 'sdks.tools_for_windows_powershell;strokeColor=none;',
570				 62, 72, '', 'Tools for Windows PowerShell', null, null, this.getTagsForStencil(gn, 'tools windows powershell', dt).join(' ')),
571		 this.createVertexTemplateEntry(s + 'sdks.ios;strokeColor=none;',
572				 62, 72, '', 'iOS', null, null, this.getTagsForStencil(gn, 'ios', dt).join(' ')),
573		 this.createVertexTemplateEntry(s + 'sdks.java;strokeColor=none;',
574				 62, 72, '', 'Java', null, null, this.getTagsForStencil(gn, 'java', dt).join(' ')),
575		 this.createVertexTemplateEntry(s + 'sdks.javascript;strokeColor=none;',
576				 62, 72, '', 'JavaScript', null, null, this.getTagsForStencil(gn, 'javascript', dt).join(' ')),
577		 this.createVertexTemplateEntry(s + 'sdks.net;strokeColor=none;',
578				 62, 72, '', 'Net', null, null, this.getTagsForStencil(gn, 'net', dt).join(' ')),
579		 this.createVertexTemplateEntry(s + 'sdks.nodejs;strokeColor=none;',
580				 62, 72, '', 'NodeJS', null, null, this.getTagsForStencil(gn, 'nodejs', dt).join(' ')),
581		 this.createVertexTemplateEntry(s + 'sdks.php;strokeColor=none;',
582				 62, 72, '', 'PHP', null, null, this.getTagsForStencil(gn, 'php', dt).join(' ')),
583		 this.createVertexTemplateEntry(s + 'sdks.python;strokeColor=none;',
584				 62, 72, '', 'Python', null, null, this.getTagsForStencil(gn, 'python', dt).join(' ')),
585		 this.createVertexTemplateEntry(s + 'sdks.ruby;strokeColor=none;',
586				 62, 72, '', 'Ruby', null, null, this.getTagsForStencil(gn, 'ruby', dt).join(' ')),
587		 this.createVertexTemplateEntry(s + 'sdks.xamarin;strokeColor=none;',
588				 62, 72, '', 'Xamarin', null, null, this.getTagsForStencil(gn, 'xamarin', dt).join(' '))
589		]);
590	};
591
592	Sidebar.prototype.addAWSSecurityAndIdentityPalette = function()
593	{
594		var sb = this;
595		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
596		var gn = 'mxgraph.aws.securityAndIdentity';
597		var dt = 'aws group amazon web service security identity';
598
599		this.addPaletteFunctions('aws2Security and Identity', 'AWS / Security and Identity', false,
600		[
601		 this.createVertexTemplateEntry(s + 'security_and_identity.acm;strokeColor=none;',
602				 68, 55, '', 'ACM', null, null, this.getTagsForStencil(gn, 'acm', dt).join(' ')),
603		 this.createVertexTemplateEntry(s + 'security_and_identity.acm_certificate_manager;strokeColor=none;',
604				 65, 56, '', 'ACM Certificate Manager', null, null, this.getTagsForStencil(gn, 'acm certificate manager', dt).join(' ')),
605		 this.createVertexTemplateEntry(s + 'security_and_identity.service_catalog;strokeColor=none;',
606				 68, 82, '', 'Inspector', null, null, this.getTagsForStencil(gn, 'service catalog', dt).join(' ')),
607		 this.createVertexTemplateEntry(s + 'security_and_identity.cloud_hsm;strokeColor=none;',
608				 60, 72, '', 'Cloud HSM', null, null, this.getTagsForStencil(gn, 'cloud hsm', dt).join(' ')),
609		 this.createVertexTemplateEntry(s + 'security_and_identity.directory_service;strokeColor=none;',
610				 60, 72, '', 'Directory Service', null, null, this.getTagsForStencil(gn, 'directory service', dt).join(' ')),
611		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam;strokeColor=none;',
612				 37, 72, '', 'IAM', null, null, this.getTagsForStencil(gn, 'iam', dt).join(' ')),
613		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_add-on;strokeColor=none;',
614				 44, 24, '', 'IAM Add-on', null, null, this.getTagsForStencil(gn, 'iam addon add on', dt).join(' ')),
615		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_sts;strokeColor=none;',
616				 54, 31, '', 'IAM Security Token Service', null, null, this.getTagsForStencil(gn, 'iam sts security token service', dt).join(' ')),
617		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_security_token_service;strokeColor=none;',
618				 40, 55, '', 'IAM Security Token Service', null, null, this.getTagsForStencil(gn, 'iam sts security token service', dt).join(' ')),
619		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_data_encryption_key;strokeColor=none;',
620				 40, 53, '', 'IAM Data Encryption Key', null, null, this.getTagsForStencil(gn, 'iam data encryption key', dt).join(' ')),
621		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_encrypted_data;strokeColor=none;',
622				 38, 49, '', 'IAM Encrypted Data', null, null, this.getTagsForStencil(gn, 'iam encrypted data', dt).join(' ')),
623		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_credentials;strokeColor=none;',
624				 53, 39, '', 'IAM Long Term Security Credential', null, null, this.getTagsForStencil(gn, 'iam long term security credential', dt).join(' ')),
625		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_mfa_token;strokeColor=none;',
626				 53, 53, '', 'IAM MFA Token', null, null, this.getTagsForStencil(gn, 'iam mfa token', dt).join(' ')),
627		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_permissions;strokeColor=none;',
628				 42, 57, '', 'IAM Permissions', null, null, this.getTagsForStencil(gn, 'iam permissions', dt).join(' ')),
629		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_roles;strokeColor=none;',
630				 84, 72, '', 'IAM Role', null, null, this.getTagsForStencil(gn, 'iam role', dt).join(' ')),
631		 this.createVertexTemplateEntry(s + 'deployment_and_management.iam_short_term_credentials;strokeColor=none;',
632				 61, 49, '', 'IAM Temporary Security Credential', null, null, this.getTagsForStencil(gn, 'iam temporary security credential', dt).join(' ')),
633		 this.createVertexTemplateEntry(s + 'security_and_identity.key_management_service;strokeColor=none;',
634				 68, 82, '', 'Key Management Service', null, null, this.getTagsForStencil(gn, 'key management service', dt).join(' ')),
635		 this.createVertexTemplateEntry(s + 'security_and_identity.webapp_firewall;strokeColor=none;',
636				 68, 82, '', 'WebApp Firewall', null, null, this.getTagsForStencil(gn, 'webapp firewall', dt).join(' '))
637		]);
638	};
639
640	Sidebar.prototype.addAWSStorageAndContentDeliveryPalette = function()
641	{
642		var sb = this;
643		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws2.";
644		var gn = 'mxgraph.aws.storageAndContentDelivery';
645		var dt = 'aws group amazon web service storage content delivery';
646
647		this.addPaletteFunctions('aws2Storage and Content Delivery', 'AWS / Storage and Content Delivery', false,
648		[
649		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.cloudfront;strokeColor=none;',
650				 59, 72, '', 'CloudFront', null, null, this.getTagsForStencil(gn, 'cloudfront', dt).join(' ')),
651		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.cloudfront_download_distribution;strokeColor=none;',
652				 55, 57, '', 'CloudFront Download Distribution', null, null, this.getTagsForStencil(gn, 'cloudfront download distribution', dt).join(' ')),
653		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.cloudfront_edge_location;strokeColor=none;',
654				 55, 57, '', 'CloudFront Edge Location', null, null, this.getTagsForStencil(gn, 'cloudfront edge location', dt).join(' ')),
655		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.cloudfront_streaming_distribution;strokeColor=none;',
656				 55, 57, '', 'CloudFront Streaming Distribution', null, null, this.getTagsForStencil(gn, 'cloudfront streaming distribution', dt).join(' ')),
657		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.efs;strokeColor=none;',
658				 60, 72, '', 'EFS', null, null, this.getTagsForStencil(gn, 'efs', dt).join(' ')),
659		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.ebs;strokeColor=none;',
660				 46, 66, '', 'Elastic Block Store', null, null, this.getTagsForStencil(gn, 'ebs elastic block store', dt).join(' ')),
661		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.glacier;strokeColor=none;',
662				 59, 71, '', 'Glacier', null, null, this.getTagsForStencil(gn, 'glacier', dt).join(' ')),
663		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.glacier_archive;strokeColor=none;',
664				 56, 66, '', 'Glacier Archive', null, null, this.getTagsForStencil(gn, 'glacier archive', dt).join(' ')),
665		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.glacier_vault;strokeColor=none;',
666				 46, 66, '', 'Glacier Vault', null, null, this.getTagsForStencil(gn, 'glacier vault', dt).join(' ')),
667		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.aws_import_export;strokeColor=none;',
668				 57, 56, '', 'Import Export', null, null, this.getTagsForStencil(gn, 'aws import export', dt).join(' ')),
669		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.snowball;strokeColor=none;',
670				 68, 82, '', 'Import Export Snowball', null, null, this.getTagsForStencil(gn, 'snowball', dt).join(' ')),
671		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.s3;strokeColor=none;',
672				 59, 72, '', 'S3', null, null, this.getTagsForStencil(gn, 's3', dt).join(' ')),
673		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.s3_bucket;strokeColor=none;',
674				 54, 56, '', 'S3 Bucket', null, null, this.getTagsForStencil(gn, 's3 bucket', dt).join(' ')),
675		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.s3_bucket_with_objects;strokeColor=none;',
676				 55, 56, '', 'S3 Bucket with Objects', null, null, this.getTagsForStencil(gn, 's3 bucket with objects', dt).join(' ')),
677		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.s3_objects;strokeColor=none;',
678				 37, 40, '', 'S3 Objects', null, null, this.getTagsForStencil(gn, 's3 objects', dt).join(' ')),
679		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.ebs_snapshot;strokeColor=none;',
680				 53, 65, '', 'Snapshot', null, null, this.getTagsForStencil(gn, 'snapshot', dt).join(' ')),
681		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.aws_storage_gateway;strokeColor=none;',
682				 59, 72, '', 'Storage Gateway', null, null, this.getTagsForStencil(gn, 'storage gateway', dt).join(' ')),
683		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.storage_gateway_cached_volumn;strokeColor=none;',
684				 52, 66, '', 'Storage Gateway Cached Volume', null, null, this.getTagsForStencil(gn, 'storage gateway cached volume', dt).join(' ')),
685		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.storage_gateway_non-cached_volumn;strokeColor=none;',
686				 52, 66, '', 'Storage Gateway Non-Cached Volume', null, null, this.getTagsForStencil(gn, 'storage gateway non cached volume', dt).join(' ')),
687		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.storage_gateway_virtual_tape_library;strokeColor=none;',
688				 52, 66, '', 'Storage Gateway Virtual Tape Library', null, null, this.getTagsForStencil(gn, 'storage gateway virtual tape library', dt).join(' ')),
689		 this.createVertexTemplateEntry(s + 'storage_and_content_delivery.ebs_volume;strokeColor=none;',
690				 46, 66, '', 'Volume', null, null, this.getTagsForStencil(gn, 'volume', dt).join(' '))
691		]);
692	};
693
694	Sidebar.prototype.addAWSGroupPalette = function()
695	{
696		var sb = this;
697		var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.aws.groups.";
698		var gn = 'mxgraph.aws.groups';
699		var dt = 'aws group amazon web service ';
700
701		this.addPaletteFunctions('aws2Groups', 'AWS / Groups', false,
702		[
703			this.createVertexTemplateEntry(s + 'auto_scaling_group;fillColor=none;gradientColor=none;',
704					200, 200, '', 'Auto Scaling Group', null, null, this.getTagsForStencil(gn, 'auto_scaling_group', dt).join(' ')),
705			this.createVertexTemplateEntry(s + 'availability_zone;strokeColor=#f69721;fillColor=none;gradientColor=none;',
706					200, 200, '', 'Availability Zone', null, null, this.getTagsForStencil(gn, 'availability_zone', dt).join(' ')),
707
708			this.addEntry(dt + 'cloud', function()
709			{
710				var bg1 = new mxCell('', new mxGeometry(0, 30, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
711				bg1.vertex = true;
712				var bg2 = new mxCell('', new mxGeometry(10, 0, 70, 40), s + 'aws_cloud_icon;strokeColor=none;fillColor=#F69721;gradientColor=none;');
713				bg2.vertex = true;
714
715			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 230, 'AWS Cloud');
716			}),
717
718			this.addEntry(dt + 'corporate data center', function()
719			{
720				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
721				bg1.vertex = true;
722				var bg2 = new mxCell('', new mxGeometry(20, 0, 30, 40), s + 'corporate_data_center_icon;strokeColor=none;fillColor=#6D6F70;gradientColor=none;');
723				bg2.vertex = true;
724
725			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'Corporate Data Center');
726			}),
727
728			this.addEntry(dt + 'ec2 instance content', function()
729			{
730				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
731				bg1.vertex = true;
732				var bg2 = new mxCell('', new mxGeometry(20, 0, 40, 40), s + 'rrect;strokeColor=none;fillColor=#F69721;gradientColor=none;');
733				bg2.vertex = true;
734
735			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'EC2 Instance Contents');
736			}),
737
738			this.addEntry(dt + 'EC2 Spot Fleet', function()
739			{
740				var bg1 = new mxCell('', new mxGeometry(0, 30, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
741				bg1.vertex = true;
742				var bg2 = new mxCell('', new mxGeometry(20, 0, 43, 40), s + 'ec2_spot_instance;strokeColor=none;gradientColor=none;');
743				bg2.vertex = true;
744
745			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 230, 'EC2 Spot Fleet');
746			}),
747
748			this.addEntry(dt + 'elastic beanstalk container', function()
749			{
750				var bg1 = new mxCell('', new mxGeometry(0, 20, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
751				bg1.vertex = true;
752				var bg2 = new mxCell('', new mxGeometry(20, 0, 40, 40), s + 'elastic_beanstalk_container_icon;strokeColor=none;fillColor=#2A6A35;gradientColor=none;');
753				bg2.vertex = true;
754
755			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 220, 'Elastic Beanstalk Container');
756			}),
757
758			this.createVertexTemplateEntry(s + 'region;fillColor=none;gradientColor=none;',
759					200, 200, '', 'Region', null, null, this.getTagsForStencil(gn, 'region', dt).join(' ')),
760			this.createVertexTemplateEntry(s + 'rrect;fillColor=none;gradientColor=none;',
761					200, 200, '', 'Security Group', null, null, this.getTagsForStencil(gn, 'security', dt).join(' ')),
762			this.createVertexTemplateEntry(s + 'rrect;fillColor=#F2F2F2;gradientColor=none;',
763					200, 200, '', 'Server Contents', null, null, this.getTagsForStencil(gn, 'server content', dt).join(' ')),
764
765			this.addEntry(dt + 'virtual private cloud', function()
766			{
767				var bg1 = new mxCell('', new mxGeometry(0, 30, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
768				bg1.vertex = true;
769				var bg2 = new mxCell('', new mxGeometry(10, 0, 70, 40), s + 'virtual_private_cloud_icon;strokeColor=none;fillColor=#282560;gradientColor=none;');
770				bg2.vertex = true;
771
772			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 230, 'Virtual Private Cloud');
773			}),
774
775			this.addEntry(dt + 'virtual private cloud subnet vpc', function()
776			{
777				var bg1 = new mxCell('', new mxGeometry(0, 30, 200, 200), s + 'rrect;fillColor=none;gradientColor=none;');
778				bg1.vertex = true;
779				var bg2 = new mxCell('', new mxGeometry(20, 0, 40, 40), s + 'vpc_subnet_icon;strokeColor=none;fillColor=#282560;gradientColor=none;');
780				bg2.vertex = true;
781
782			   	return sb.createVertexTemplateFromCells([bg1, bg2], 200, 230, 'VPC Subnet');
783			})
784		]);
785	};
786})();
787