{
	"types": {
		"__pFolderIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "FolderIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					25,
					150
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"5": {
							"width": {
								"type": "double",
								"value": 600
							},
							"height": {
								"type": "double",
								"value": 600
							},
							"cornerRadius": {
								"type": "double",
								"value": 50
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									1,
									33
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"10": {
							"segments": {
								"type": "string",
								"value": "m0,0 l100,0 l0,100 l-160,0 l0,-115 l60,0 z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"stroke-width": 3,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									516,
									17
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"11": {
							"segments": {
								"type": "string",
								"value": "m0,0 l160,0 l-10,90 l-160,0 z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "lightblue",
									"fill-opacity": 0.75,
									"stroke-width": 3,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									466,
									28
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"14": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "18px"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									50,
									638
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"15": {
							"distance": {
								"type": "double",
								"value": 5
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "\"left\""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									83.49899850809561,
									627.499
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						},
						"__pLabelText": {
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"textContent": {
								"type": "string",
								"value": "#"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#6000ff",
									"fill": "#6000ff",
									"font-size": "15px",
									"opacity": "1"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('__pLabel')})"
							},
							"parser": {
								"type": "code",
								"value": "({'__pLabel':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
						}
					},
					"edges": [
						{
							"src": "14",
							"dest": "15"
						},
						{
							"src": "15",
							"dest": "5"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"__pFileIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "FileIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					751,
					176
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"22": {
							"segments": {
								"type": "string",
								"value": "m0,0 l60,0 l30,30 l0,90 l-90,0 l0,-120 l60,0 l0,30 l30,0"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 3,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									2,
									1
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"23": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"parser": {
								"type": "code",
								"value": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									4,
									126
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"24": {
							"distance": {
								"type": "double",
								"value": 5
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "\"left\""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									27.99899850809561,
									117.99900000000002
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						},
						"__pLabelText": {
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"textContent": {
								"type": "string",
								"value": "#"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#6000ff",
									"fill": "#6000ff",
									"font-size": "15px",
									"opacity": "1"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('__pLabel')})"
							},
							"parser": {
								"type": "code",
								"value": "({'__pLabel':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
						}
					},
					"edges": [
						{
							"src": "23",
							"dest": "24"
						},
						{
							"src": "24",
							"dest": "22"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"__pContainsLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#000000",
					"stroke-dasharray": "",
					"stroke-opacity": 0.1,
					"stroke-width": 1,
					"arrow-start": "none",
					"arrow-end": "classic-wide-long"
				}
			},
			{
				"name": "typename",
				"type": "string",
				"default": "ContainsLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1051,
					175
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* mapping and parsing code is disabled by default because pattern attribute values are code */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"__pLabelText": {
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"textContent": {
								"type": "string",
								"value": "#"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#6000ff",
									"fill": "#6000ff",
									"font-size": "15px",
									"opacity": "1"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('__pLabel')})"
							},
							"parser": {
								"type": "code",
								"value": "({'__pLabel':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"__pFSEntityIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "__pFSEntityIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					0,
					0
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": ""
			},
			{
				"name": "parser",
				"type": "code",
				"default": ""
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"text": {
							"textContent": {
								"type": "string",
								"value": "__pFSEntityIcon"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#000000",
									"fill-opacity": "1",
									"font-size": "13px"
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									10,
									76
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"rect": {
							"width": {
								"type": "double",
								"value": 75
							},
							"height": {
								"type": "double",
								"value": 75
							},
							"cornerRadius": {
								"type": "double",
								"value": 15
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"fill-opacity": 0.75
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"textBelowRect": {
							"distance": {
								"type": "double",
								"value": 10
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "center"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									5,
									38
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						},
						"__pLabelText": {
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"textContent": {
								"type": "string",
								"value": "#"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#6000ff",
									"fill": "#6000ff",
									"font-size": "15px",
									"opacity": "1"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('__pLabel')})"
							},
							"parser": {
								"type": "code",
								"value": "({'__pLabel':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text"
						}
					},
					"edges": [
						{
							"src": "text",
							"dest": "textBelowRect"
						},
						{
							"src": "textBelowRect",
							"dest": "rect"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		]
	},
	"constraints": [],
	"actions": [],
	"cardinalities": {
		"__pFolderIcon": [],
		"__pFileIcon": [],
		"__pContainsLink": [],
		"__pFSEntityIcon": []
	},
	"legalConnections": {},
	"connectorTypes": {},
	"types2parentTypes": {
		"__pFolderIcon": [],
		"__pFileIcon": [],
		"__pContainsLink": [],
		"__pFSEntityIcon": []
	}
}