diff --git a/Tetris.mdj b/Tetris.mdj
new file mode 100644
index 0000000..ff18409
--- /dev/null
+++ b/Tetris.mdj
@@ -0,0 +1,4980 @@
+{
+ "_type": "Project",
+ "_id": "AAAAAAFF+h6SjaM2Hec=",
+ "name": "Untitled",
+ "ownedElements": [
+ {
+ "_type": "UMLModel",
+ "_id": "AAAAAAFF+qBWK6M3Z8Y=",
+ "_parent": {
+ "$ref": "AAAAAAFF+h6SjaM2Hec="
+ },
+ "name": "Model",
+ "ownedElements": [
+ {
+ "_type": "UMLClassDiagram",
+ "_id": "AAAAAAFF+qBtyKM79qY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "Main",
+ "defaultDiagram": true,
+ "ownedViews": [
+ {
+ "_type": "UMLModelView",
+ "_id": "AAAAAAGGy9NvR2ktaPs=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy9NvR2kumII=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9NvR2kvfHk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvR2kumII="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9NvR2kwv4s=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvR2kumII="
+ },
+ "font": "Arial;13;1",
+ "left": 157,
+ "top": 638,
+ "width": 855,
+ "height": 13,
+ "text": "modele"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9NvR2kxwrA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvR2kumII="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 73.67724609375,
+ "height": 13,
+ "text": "(from Model)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9NvR2ky6u4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvR2kumII="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 152,
+ "top": 631,
+ "width": 865,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9NvR2kvfHk="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9NvR2kwv4s="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy9NvR2kxwrA="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9NvR2ky6u4="
+ }
+ }
+ ],
+ "containedViews": [
+ {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ }
+ ],
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 152,
+ "top": 616,
+ "width": 865,
+ "height": 705,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy9NvR2kumII="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy8cOYWbLVn0=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy8cOYmbMOtM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8cOYmbNCWM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbMOtM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 136,
+ "top": 1480,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8cOYmbOPnw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbMOtM="
+ },
+ "font": "Arial;13;1",
+ "left": 189,
+ "top": 991,
+ "width": 151,
+ "height": 13,
+ "text": "DashBoard"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8cOYmbPz5g=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbMOtM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 136,
+ "top": 1480,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8cOYmbQP60=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbMOtM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 136,
+ "top": 1480,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 984,
+ "width": 161,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy8cOYmbNCWM="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy8cOYmbOPnw="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy8cOYmbPz5g="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy8cOYmbQP60="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy8cOYmbRrck=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy8euImb5LVc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbRrck="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8euF2b2+wE="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 1014,
+ "width": 151,
+ "height": 13,
+ "text": "-grid: Array",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy8iJc2cAGGo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbRrck="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8iJa2b9mbM="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 1029,
+ "width": 151,
+ "height": 13,
+ "text": "-height: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy8iU22cGs3U=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbRrck="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8iU0GcDVY0="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 1044,
+ "width": 151,
+ "height": 13,
+ "text": "-width: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 1009,
+ "width": 161,
+ "height": 53
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy8cOYmbSf10=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8ksMWcR5Zo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbSf10="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8ksI2cO5Jc="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 1067,
+ "width": 151,
+ "height": 13,
+ "text": "+isOccuped(): bool",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8k39mcXqcc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYmbSf10="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8k362cUQFY="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 1082,
+ "width": 151,
+ "height": 13,
+ "text": "+clearLine()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 1062,
+ "width": 161,
+ "height": 38
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy8cOYmbTyps=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 96,
+ "top": 976,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy8cOYmbUrMs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 96,
+ "top": 976,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 184,
+ "top": 984,
+ "width": 161,
+ "height": 116,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy8cOYmbMOtM="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy8cOYmbRrck="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy8cOYmbSf10="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy8cOYmbTyps="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy8cOYmbUrMs="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy70Ww2Y2yiE=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy70Ww2Y3PA0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy70Ww2Y4bgs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y3PA0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 128,
+ "top": 1656,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy70WxGY5Wo4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y3PA0="
+ },
+ "font": "Arial;13;1",
+ "left": 189,
+ "top": 655,
+ "width": 151,
+ "height": 13,
+ "text": "Game"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy70WxGY6dus=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y3PA0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 128,
+ "top": 1656,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy70WxGY7Ugk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y3PA0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 128,
+ "top": 1656,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 648,
+ "width": 161,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy70Ww2Y4bgs="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy70WxGY5Wo4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy70WxGY6dus="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy70WxGY7Ugk="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy70WxGY8YGY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy71G9GZhAUM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY8YGY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy71G62ZeKCU="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 678,
+ "width": 151,
+ "height": 13,
+ "text": "-dashBoard: DashBoard",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy8BUf2ZpRXw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY8YGY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8BUemZmP00="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 693,
+ "width": 151,
+ "height": 13,
+ "text": "-currentPiece: Shape",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy8DmvmZwqUY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY8YGY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8DmumZtgm8="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 708,
+ "width": 151,
+ "height": 13,
+ "text": "-score: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 673,
+ "width": 161,
+ "height": 53
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy70WxGY9lSk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8LQEmZ5NVw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8LQDGZ26bU="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 731,
+ "width": 151,
+ "height": 13,
+ "text": "+startGame(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8NK9GaDwAs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8NK7maATSs="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 746,
+ "width": 151,
+ "height": 13,
+ "text": "+pauseGame(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8ObmmaM3k4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8OblWaJo9E="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 761,
+ "width": 151,
+ "height": 13,
+ "text": "+stopGame(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8QXj2aVYEc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8QXiGaSGUQ="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 776,
+ "width": 151,
+ "height": 13,
+ "text": "+moveRight(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8RXgGabU7o=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8RXeWaYmI8="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 791,
+ "width": 151,
+ "height": 13,
+ "text": "+moveLeft(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8RjTWahvos=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8RjRGae5HQ="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 806,
+ "width": 151,
+ "height": 13,
+ "text": "+rotateRight(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8Rvc2angzE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8RvaWakSzM="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 821,
+ "width": 151,
+ "height": 13,
+ "text": "+rotateLeft(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8R75mat14s=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8R73maqR+o="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 836,
+ "width": 151,
+ "height": 13,
+ "text": "+dropPiece(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy8XQrmbDrNY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8XQqWbAmkg="
+ },
+ "font": "Arial;13;0",
+ "left": 189,
+ "top": 851,
+ "width": 151,
+ "height": 13,
+ "text": "+updateScore(): void",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 726,
+ "width": 161,
+ "height": 143
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy70WxGY+SoU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 88,
+ "top": 1088,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy70WxGY/ma4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 88,
+ "top": 1088,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 184,
+ "top": 648,
+ "width": 161,
+ "height": 280,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy70Ww2Y3PA0="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy70WxGY8YGY="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy70WxGY9lSk="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy70WxGY+SoU="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy70WxGY/ma4="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy8uh+2ciucs=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy8uh+2cjaDE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8uh+2ckstc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cjaDE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 336,
+ "top": 1248,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8uh+2clUT4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cjaDE="
+ },
+ "font": "Arial;13;1",
+ "left": 477,
+ "top": 951,
+ "width": 142,
+ "height": 13,
+ "text": "Shape"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8uh+2cmwD8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cjaDE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 336,
+ "top": 1248,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy8uh+2cn+1Y=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cjaDE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 741,
+ "top": 1750,
+ "width": 142,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 472,
+ "top": 944,
+ "width": 152,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy8uh+2ckstc="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy8uh+2clUT4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy8uh+2cmwD8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy8uh+2cn+1Y="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy8uh+2codtA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy+HRO6J+m+U=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2codtA="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+HRLqJ7Quw="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 974,
+ "width": 142,
+ "height": 13,
+ "text": "-point: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 472,
+ "top": 969,
+ "width": 152,
+ "height": 23
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy8uh+2cpOTY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy9oBDmwiMoo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9oBCGwfli0="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 997,
+ "width": 142,
+ "height": 13,
+ "text": "+moveRight(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy9oDO2xDnRk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9oDNGxAf3Y="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 1012,
+ "width": 142,
+ "height": 13,
+ "text": "+moveLeft(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy9oFSmxkVAM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9oFRGxhW54="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 1027,
+ "width": 142,
+ "height": 13,
+ "text": "+rotateRight(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy9oJxWyFv4Q=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9oJvWyC7/k="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 1042,
+ "width": 142,
+ "height": 13,
+ "text": "+rotateLeft(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy9onyGymz1c=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9onwGyjP2s="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 1057,
+ "width": 142,
+ "height": 13,
+ "text": "+moveDown(): void",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+cg3M5k2Jk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+cgzc5htYo="
+ },
+ "font": "Arial;13;0",
+ "left": 477,
+ "top": 1072,
+ "width": 142,
+ "height": 13,
+ "text": "+changePoint(): void",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 472,
+ "top": 992,
+ "width": 152,
+ "height": 98
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy8uh+2cqqfY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 264,
+ "top": 784,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy8uh/Gcrp4w=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 264,
+ "top": 784,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 472,
+ "top": 944,
+ "width": 152,
+ "height": 146,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy8uh+2cjaDE="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy8uh+2codtA="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy8uh+2cpOTY="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy8uh+2cqqfY="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy8uh/Gcrp4w="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy9T4XmlOeXo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy9T4XmlPIcs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9T4XmlQd20=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlPIcs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 528,
+ "top": -192,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9T4XmlRvIY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlPIcs="
+ },
+ "font": "Arial;13;1",
+ "left": 765,
+ "top": 935,
+ "width": 182,
+ "height": 13,
+ "text": "Position"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9T4XmlSD60=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlPIcs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 528,
+ "top": -192,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9T4XmlT/mM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlPIcs="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 528,
+ "top": -192,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 760,
+ "top": 928,
+ "width": 192,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9T4XmlQd20="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9T4XmlRvIY="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy9T4XmlSD60="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9T4XmlT/mM="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy9T4XmlUpE4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy9UozWl53dQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlUpE4="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9UoxGl2GaQ="
+ },
+ "font": "Arial;13;0",
+ "left": 765,
+ "top": 958,
+ "width": 182,
+ "height": 13,
+ "text": "+x: int",
+ "horizontalAlignment": 0
+ },
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy9ciBml/Dks=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlUpE4="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9ch+2l84Bw="
+ },
+ "font": "Arial;13;0",
+ "left": 765,
+ "top": 973,
+ "width": 182,
+ "height": 13,
+ "text": "+y: int",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 760,
+ "top": 953,
+ "width": 192,
+ "height": 38
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy9T4XmlVjc4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "font": "Arial;13;0",
+ "left": 760,
+ "top": 991,
+ "width": 192,
+ "height": 10
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy9T4X2lWlq0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 336,
+ "top": -120,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy9T4X2lXADU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 336,
+ "top": -120,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 760,
+ "top": 928,
+ "width": 192,
+ "height": 73,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy9T4XmlPIcs="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy9T4XmlUpE4="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy9T4XmlVjc4="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy9T4X2lWlq0="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy9T4X2lXADU="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy9gyH2mJ5q8=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy9gyH2mKxoc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9gyH2mLH70=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mKxoc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -152,
+ "top": 884,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9gyH2mMP0I=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mKxoc="
+ },
+ "font": "Arial;13;1",
+ "left": 365,
+ "top": 1151,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "LeftStair"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9gyH2mNX44=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mKxoc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -152,
+ "top": 884,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy9gyH2mOGUI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mKxoc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -152,
+ "top": 884,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 360,
+ "top": 1144,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9gyH2mLH70="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9gyH2mMP0I="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy9gyH2mNX44="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9gyH2mOGUI="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy9gyH2mPY4Q=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLAttributeView",
+ "_id": "AAAAAAGGy+JTXqdkyg8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mPY4Q="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+JTVKdhUnU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 365,
+ "top": 1174,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+Attribute1",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 360,
+ "top": 1169,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy9gyIGmQdkc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+FvWZdTSQo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyIGmQdkc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+FvSZdQB1s="
+ },
+ "font": "Arial;13;0",
+ "left": 365,
+ "top": 1184,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 360,
+ "top": 1179,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy9gyIGmRxos=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -56,
+ "top": 608,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy9gyIGmSkrE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -56,
+ "top": 608,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 360,
+ "top": 1144,
+ "width": 90.57080078125,
+ "height": 71,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy9gyH2mKxoc="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy9gyH2mPY4Q="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy9gyIGmQdkc="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy9gyIGmRxos="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy9gyIGmSkrE="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGGy9mUJWuqEqU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJWurVLE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 406,
+ "top": 1007,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJWusnoU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 405,
+ "top": 992,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmutZAI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 409,
+ "top": 1036,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuup90=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWunXnQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 369,
+ "top": 1010,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuvbYY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWunXnQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 370,
+ "top": 997,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuw8LM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWunXnQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 367,
+ "top": 1038,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuxKCw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWuobHc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 443,
+ "top": 1004,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuygmM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWuobHc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 440,
+ "top": 991,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9mUJmuzMq0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWuobHc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 450,
+ "top": 1031,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9mUJmu0yDw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWunXnQ="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9mUJmu1rB4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWuqEqU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9mUJWuobHc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "lineStyle": 1,
+ "points": "345:1034;471:1023",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9mUJWurVLE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9mUJWusnoU="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9mUJmutZAI="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGGy9mUJmuup90="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGGy9mUJmuvbYY="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9mUJmuw8LM="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGGy9mUJmuxKCw="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGGy9mUJmuygmM="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9mUJmuzMq0="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9mUJmu0yDw="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9mUJmu1rB4="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGGy9uadG+H21E=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+Iots=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 278,
+ "top": 948,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+JKJ8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 293,
+ "top": 948,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+KtFM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 249,
+ "top": 949,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+LvDc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+EFG4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 279,
+ "top": 947,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+Mts0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+EFG4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 292,
+ "top": 950,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+NbLg=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+EFG4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 251,
+ "top": 943,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+OZ90=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+FU5c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 279,
+ "top": 951,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+P4LE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+FU5c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 292,
+ "top": 948,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9uadG+QDEY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+FU5c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 251,
+ "top": 955,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9uadG+R28E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+EFG4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9uadW+SShg=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+H21E="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9uadG+FU5c="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8cOYWbLVn0="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "lineStyle": 1,
+ "points": "264:928;264:983",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9uadG+Iots="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9uadG+JKJ8="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9uadG+KtFM="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGGy9uadG+LvDc="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGGy9uadG+Mts0="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9uadG+NbLg="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGGy9uadG+OZ90="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGGy9uadG+P4LE="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9uadG+QDEY="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9uadG+R28E="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9uadW+SShg="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGGy9wZqHFTFdo=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqHFU4dM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 417,
+ "top": 886,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqHFV2eY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 426,
+ "top": 874,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqHFWcaY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 398,
+ "top": 909,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqHFXJaQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFQIOc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 374,
+ "top": 851,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqXFY1SE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFQIOc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 384,
+ "top": 842,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqXFZ6Xs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFQIOc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 353,
+ "top": 870,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqXFaf+I=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFRw3E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 460,
+ "top": 920,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqXFb4N4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFRw3E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 466,
+ "top": 909,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy9wZqXFc0n8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFRw3E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 446,
+ "top": 945,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9wZqXFde5I=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFQIOc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy9wZqXFeY74=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFTFdo="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy9wZqHFRw3E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy70Ww2Y2yiE="
+ },
+ "lineStyle": 1,
+ "points": "345:853;471:955",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy9wZqHFU4dM="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy9wZqHFV2eY="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy9wZqHFWcaY="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGGy9wZqHFXJaQ="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGGy9wZqXFY1SE="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9wZqXFZ6Xs="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGGy9wZqXFaf+I="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGGy9wZqXFb4N4="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGGy9wZqXFc0n8="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9wZqXFde5I="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGGy9wZqXFeY74="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy97eeHmBsso=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eeHl/cng="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97eeHmCMdQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eeHl/cng="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 484,
+ "top": 1140,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97eeHmDVrw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eeHl/cng="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 470,
+ "top": 1135,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97eeHmE8nI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eeHl/cng="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 513,
+ "top": 1151,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97eeHmBsso="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "lineStyle": 1,
+ "points": "478:1215;521:1090",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97eeHmCMdQ="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97eeHmDVrw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97eeHmE8nI="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy97hLXoVQoY=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hLXoTfgU="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97hLXoWpSY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hLXoTfgU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 556,
+ "top": 1140,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97hLXoX76s=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hLXoTfgU="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 541,
+ "top": 1143,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97hLXoYsFo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hLXoTfgU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 585,
+ "top": 1135,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97hLXoVQoY="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "lineStyle": 1,
+ "points": "582:1199;561:1090",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97hLXoWpSY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97hLXoX76s="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97hLXoYsFo="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy97kSXqpjRk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kSXqn5Rw="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97kSnqqZQY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kSXqn5Rw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 613,
+ "top": 1119,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97kSnqrqxs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kSXqn5Rw="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 601,
+ "top": 1128,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97kSnqsiIk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kSXqn5Rw="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 636,
+ "top": 1100,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97kSXqpjRk="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "lineStyle": 1,
+ "points": "646:1143;604:1090",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97kSnqqZQY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97kSnqrqxs="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97kSnqsiIk="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy97mkns9+dw=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97mkns7kEc="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97mkns+ATY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97mkns7kEc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 662,
+ "top": 1102,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97mkns/LyE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97mkns7kEc="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 654,
+ "top": 1115,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97mkntAMrA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97mkns7kEc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 679,
+ "top": 1077,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97mkns9+dw="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "lineStyle": 1,
+ "points": "719:1127;624:1066",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97mkns+ATY="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97mkns/LyE="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97mkntAMrA="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy97pKHvRFxM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97pJ3vPNSU="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97pKHvSKL4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97pJ3vPNSU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 718,
+ "top": 1083,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97pKHvTu0o=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97pJ3vPNSU="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 713,
+ "top": 1097,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy97pKHvUs+Q=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97pJ3vPNSU="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 727,
+ "top": 1054,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy97pKHvRFxM="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "lineStyle": 1,
+ "points": "823:1109;624:1042",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97pKHvSKL4="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97pKHvTu0o="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97pKHvUs+Q="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy97o93t7Jhk=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy97o93t8O00=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97o93t9pZM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t8O00="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1000,
+ "top": -160,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97o93t+SZ4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t8O00="
+ },
+ "font": "Arial;13;1",
+ "left": 829,
+ "top": 1103,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "TShape"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97o93t/uCk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t8O00="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1000,
+ "top": -160,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97o93uAq5k=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t8O00="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 1000,
+ "top": -160,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 824,
+ "top": 1096,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97o93t9pZM="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97o93t+SZ4="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy97o93t/uCk="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97o93uAq5k="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy97o93uBCAM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "font": "Arial;13;0",
+ "left": 824,
+ "top": 1121,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy97o+HuC72o=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+GYWJrRwVQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o+HuC72o="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+GYTprFFVE="
+ },
+ "font": "Arial;13;0",
+ "left": 829,
+ "top": 1136,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 824,
+ "top": 1131,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy97o+HuDoEQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 640,
+ "top": -80,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy97o+HuEPMU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t7Jhk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 640,
+ "top": -80,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 824,
+ "top": 1096,
+ "width": 90.57080078125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy97o93t8O00="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy97o93uBCAM="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy97o+HuC72o="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy97o+HuDoEQ="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy97o+HuEPMU="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy97maXrnNpM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy97maXrovDM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97maXrpesw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrovDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 696,
+ "top": -104,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97maXrqwYM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrovDM="
+ },
+ "font": "Arial;13;1",
+ "left": 725,
+ "top": 1135,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "LLeft"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97maXrrQ8g=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrovDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 696,
+ "top": -104,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97maXrsN2U=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrovDM="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 696,
+ "top": -104,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 720,
+ "top": 1128,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97maXrpesw="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97maXrqwYM="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy97maXrrQ8g="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97maXrsN2U="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy97manrtRuE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "font": "Arial;13;0",
+ "left": 720,
+ "top": 1153,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy97manru32g=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+GQ8Jopd2Q=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97manru32g="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+GQ5podsAo="
+ },
+ "font": "Arial;13;0",
+ "left": 725,
+ "top": 1168,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 720,
+ "top": 1163,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy97manrvnAg=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 440,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy97manrw/QA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrnNpM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 440,
+ "top": -56,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 720,
+ "top": 1128,
+ "width": 90.57080078125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy97maXrovDM="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy97manrtRuE="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy97manru32g="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy97manrvnAg="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy97manrw/QA="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy97kG3pT5Rc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy97kG3pUt7E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97kG3pVemU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pUt7E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": -72,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97kG3pW26k=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pUt7E="
+ },
+ "font": "Arial;13;1",
+ "left": 629,
+ "top": 1151,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "LRight"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97kG3pXIvw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pUt7E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": -72,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97kG3pYX2k=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pUt7E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": -72,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 624,
+ "top": 1144,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97kG3pVemU="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97kG3pW26k="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy97kG3pXIvw="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97kG3pYX2k="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy97kG3pZlK8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "font": "Arial;13;0",
+ "left": 624,
+ "top": 1169,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy97kG3paWLQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+GJYJmBnpk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3paWLQ="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+GJVZl1an4="
+ },
+ "font": "Arial;13;0",
+ "left": 629,
+ "top": 1184,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 624,
+ "top": 1179,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy97kG3pbV6A=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 264,
+ "top": -40,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy97kG3pcYQY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kG3pT5Rc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 264,
+ "top": -40,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 624,
+ "top": 1144,
+ "width": 90.57080078125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy97kG3pUt7E="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy97kG3pZlK8="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy97kG3paWLQ="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy97kG3pbV6A="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy97kG3pcYQY="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy97hBXm/JRI=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy97hBXnAWkE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97hBXnBemo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXnAWkE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 40,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97hBXnCzGc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXnAWkE="
+ },
+ "font": "Arial;13;1",
+ "left": 549,
+ "top": 1207,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "Square"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97hBXnDah0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXnAWkE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 40,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97hBnnE3NM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXnAWkE="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 184,
+ "top": 40,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 544,
+ "top": 1200,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97hBXnBemo="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97hBXnCzGc="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy97hBXnDah0="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97hBnnE3NM="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy97hBnnF5Q4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "font": "Arial;13;0",
+ "left": 544,
+ "top": 1225,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy97hBnnGuOY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+GBXJjZzWc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBnnGuOY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+GBUZjNKFw="
+ },
+ "font": "Arial;13;0",
+ "left": 549,
+ "top": 1240,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 544,
+ "top": 1235,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy97hBnnHHpE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 104,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy97hBnnIV1I=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm/JRI="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 104,
+ "top": 16,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 544,
+ "top": 1200,
+ "width": 90.57080078125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy97hBXnAWkE="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy97hBnnF5Q4="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy97hBnnGuOY="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy97hBnnHHpE="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy97hBnnIV1I="
+ }
+ },
+ {
+ "_type": "UMLClassView",
+ "_id": "AAAAAAGGy97eTHkraHU=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "subViews": [
+ {
+ "_type": "UMLNameCompartmentView",
+ "_id": "AAAAAAGGy97eTHks1kY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "subViews": [
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97eTHktqLc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHks1kY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -96,
+ "top": 152,
+ "height": 13
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97eTHkuTjE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHks1kY="
+ },
+ "font": "Arial;13;1",
+ "left": 429,
+ "top": 1223,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "RightStair"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97eTXkvdwE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHks1kY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -96,
+ "top": 152,
+ "width": 80.9072265625,
+ "height": 13,
+ "text": "(from modele)"
+ },
+ {
+ "_type": "LabelView",
+ "_id": "AAAAAAGGy97eTXkw52g=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHks1kY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -96,
+ "top": 152,
+ "height": 13,
+ "horizontalAlignment": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": 1216,
+ "width": 90.57080078125,
+ "height": 25,
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy97eTHktqLc="
+ },
+ "nameLabel": {
+ "$ref": "AAAAAAGGy97eTHkuTjE="
+ },
+ "namespaceLabel": {
+ "$ref": "AAAAAAGGy97eTXkvdwE="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy97eTXkw52g="
+ }
+ },
+ {
+ "_type": "UMLAttributeCompartmentView",
+ "_id": "AAAAAAGGy97eTXkxkpY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": 1241,
+ "width": 90.57080078125,
+ "height": 10
+ },
+ {
+ "_type": "UMLOperationCompartmentView",
+ "_id": "AAAAAAGGy97eTXkyrQk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "subViews": [
+ {
+ "_type": "UMLOperationView",
+ "_id": "AAAAAAGGy+F5ZJgxQWQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTXkyrQk="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+F5W5glTUE="
+ },
+ "font": "Arial;13;0",
+ "left": 429,
+ "top": 1256,
+ "width": 80.57080078125,
+ "height": 13,
+ "text": "+setPoint()",
+ "horizontalAlignment": 0
+ }
+ ],
+ "font": "Arial;13;0",
+ "left": 424,
+ "top": 1251,
+ "width": 90.57080078125,
+ "height": 23
+ },
+ {
+ "_type": "UMLReceptionCompartmentView",
+ "_id": "AAAAAAGGy97eTXkz8sk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -56,
+ "top": 112,
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLTemplateParameterCompartmentView",
+ "_id": "AAAAAAGGy97eTXk0CtQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkraHU="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": -56,
+ "top": 112,
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "containerView": {
+ "$ref": "AAAAAAGGy9NvR2ktaPs="
+ },
+ "font": "Arial;13;0",
+ "containerChangeable": true,
+ "left": 424,
+ "top": 1216,
+ "width": 90.57080078125,
+ "height": 58,
+ "nameCompartment": {
+ "$ref": "AAAAAAGGy97eTHks1kY="
+ },
+ "attributeCompartment": {
+ "$ref": "AAAAAAGGy97eTXkxkpY="
+ },
+ "operationCompartment": {
+ "$ref": "AAAAAAGGy97eTXkyrQk="
+ },
+ "receptionCompartment": {
+ "$ref": "AAAAAAGGy97eTXkz8sk="
+ },
+ "templateParameterCompartment": {
+ "$ref": "AAAAAAGGy97eTXk0CtQ="
+ }
+ },
+ {
+ "_type": "UMLAssociationView",
+ "_id": "AAAAAAGGy+MVa64Y0EM=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64Z/cE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "font": "Arial;13;0",
+ "left": 632,
+ "top": 975,
+ "width": 49.13720703125,
+ "height": 13,
+ "alpha": -3.553658115054366,
+ "distance": 36.138621999185304,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 1,
+ "text": "-position"
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64aNpo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 686,
+ "top": 955,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64bnrY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 693,
+ "top": 999,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64cJW8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4V1pc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 647,
+ "top": 977,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64dQ6A=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4V1pc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 647,
+ "top": 964,
+ "height": 13,
+ "alpha": 0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64elGY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4V1pc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 647,
+ "top": 1005,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "edgePosition": 2
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64fanQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4WzSk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 730,
+ "top": 963,
+ "height": 13,
+ "alpha": -0.5235987755982988,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64geKQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4WzSk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 726,
+ "top": 950,
+ "height": 13,
+ "alpha": -0.7853981633974483,
+ "distance": 40,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ }
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+MVa64hhq0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4WzSk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 739,
+ "top": 989,
+ "height": 13,
+ "alpha": 0.5235987755982988,
+ "distance": 25,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ }
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy+MVa64iJnI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4V1pc="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ },
+ {
+ "_type": "UMLQualifierCompartmentView",
+ "_id": "AAAAAAGGy+MVa64j6Ow=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVa64Y0EM="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+MVaq4WzSk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "width": 10,
+ "height": 10
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy9T4XmlOeXo="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "lineStyle": 1,
+ "points": "624:1003;759:980",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy+MVa64Z/cE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy+MVa64aNpo="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy+MVa64bnrY="
+ },
+ "showEndOrder": "hide",
+ "tailRoleNameLabel": {
+ "$ref": "AAAAAAGGy+MVa64cJW8="
+ },
+ "tailPropertyLabel": {
+ "$ref": "AAAAAAGGy+MVa64dQ6A="
+ },
+ "tailMultiplicityLabel": {
+ "$ref": "AAAAAAGGy+MVa64elGY="
+ },
+ "headRoleNameLabel": {
+ "$ref": "AAAAAAGGy+MVa64fanQ="
+ },
+ "headPropertyLabel": {
+ "$ref": "AAAAAAGGy+MVa64geKQ="
+ },
+ "headMultiplicityLabel": {
+ "$ref": "AAAAAAGGy+MVa64hhq0="
+ },
+ "tailQualifiersCompartment": {
+ "$ref": "AAAAAAGGy+MVa64iJnI="
+ },
+ "headQualifiersCompartment": {
+ "$ref": "AAAAAAGGy+MVa64j6Ow="
+ }
+ },
+ {
+ "_type": "UMLGeneralizationView",
+ "_id": "AAAAAAGGy+QkZ7kuRuc=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBtyKM79qY="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+QkZ7ksAKk="
+ },
+ "subViews": [
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+QkZ7kv8sE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+QkZ7ksAKk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 447,
+ "top": 1100,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+QkZ7kweKc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+QkZ7ksAKk="
+ },
+ "visible": null,
+ "font": "Arial;13;0",
+ "left": 436,
+ "top": 1090,
+ "height": 13,
+ "alpha": 1.5707963267948966,
+ "distance": 30,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "edgePosition": 1
+ },
+ {
+ "_type": "EdgeLabelView",
+ "_id": "AAAAAAGGy+QkZ7kxaOo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "model": {
+ "$ref": "AAAAAAGGy+QkZ7ksAKk="
+ },
+ "visible": false,
+ "font": "Arial;13;0",
+ "left": 470,
+ "top": 1119,
+ "height": 13,
+ "alpha": -1.5707963267948966,
+ "distance": 15,
+ "hostEdge": {
+ "$ref": "AAAAAAGGy+QkZ7kuRuc="
+ },
+ "edgePosition": 1
+ }
+ ],
+ "font": "Arial;13;0",
+ "head": {
+ "$ref": "AAAAAAGGy8uh+2ciucs="
+ },
+ "tail": {
+ "$ref": "AAAAAAGGy9gyH2mJ5q8="
+ },
+ "lineStyle": 1,
+ "points": "436:1143;482:1090",
+ "showVisibility": true,
+ "nameLabel": {
+ "$ref": "AAAAAAGGy+QkZ7kv8sE="
+ },
+ "stereotypeLabel": {
+ "$ref": "AAAAAAGGy+QkZ7kweKc="
+ },
+ "propertyLabel": {
+ "$ref": "AAAAAAGGy+QkZ7kxaOo="
+ }
+ }
+ ]
+ },
+ {
+ "_type": "UMLModel",
+ "_id": "AAAAAAGGy9NvRmkrx4w=",
+ "_parent": {
+ "$ref": "AAAAAAFF+qBWK6M3Z8Y="
+ },
+ "name": "modele",
+ "ownedElements": [
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy8cOYWbJNIA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "DashBoard",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGGy9mUJWum/zo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9mUJWunXnQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9mUJWuobHc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9mUJWum/zo="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "aggregation": "shared"
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy8euF2b2+wE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "name": "grid",
+ "visibility": "private",
+ "type": "Array"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy8iJa2b9mbM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "name": "height",
+ "visibility": "private",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy8iU0GcDVY0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "name": "width",
+ "visibility": "private",
+ "type": "int"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8ksI2cO5Jc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "name": "isOccuped",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8mDVmcciUc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8ksI2cO5Jc="
+ },
+ "type": "bool",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8k362cUQFY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ },
+ "name": "clearLine"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy70WwmY0WtY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "Game",
+ "ownedElements": [
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGGy9uadG+DNcE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9uadG+EFG4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9uadG+FU5c=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9uadG+DNcE="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ }
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGGy9wZqHFPtN4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9wZqHFQIOc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy9wZqHFRw3E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9wZqHFPtN4="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ },
+ "visibility": "private"
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy71G62ZeKCU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "dashBoard",
+ "visibility": "private",
+ "type": {
+ "$ref": "AAAAAAGGy8cOYWbJNIA="
+ }
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy8BUemZmP00=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "currentPiece",
+ "visibility": "private",
+ "type": "Shape"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy8DmumZtgm8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "score",
+ "visibility": "private",
+ "type": "int"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8LQDGZ26bU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "startGame",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8MSgWZ+xHc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8LQDGZ26bU="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8NK7maATSs=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "pauseGame",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8OFNGaHD+8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8NK7maATSs="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8OblWaJo9E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "stopGame",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8PFiWaQ7n8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8OblWaJo9E="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8QXiGaSGUQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "moveRight",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8SqZ2axwaY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8QXiGaSGUQ="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8RXeWaYmI8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "moveLeft",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8TSyWa0MeI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8RXeWaYmI8="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8RjRGae5HQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "rotateRight",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8VJEGa3qAk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8RjRGae5HQ="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8RvaWakSzM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "rotateLeft",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8Vp7Wa6lA0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8RvaWakSzM="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8R73maqR+o=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "dropPiece",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8W67Wa+bIM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8R73maqR+o="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy8XQqWbAmkg=",
+ "_parent": {
+ "$ref": "AAAAAAGGy70WwmY0WtY="
+ },
+ "name": "updateScore",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy8X1+GbHj1g=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8XQqWbAmkg="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy8uh+mcgY1w=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "Shape",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy9gyO2mwy/E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ }
+ },
+ {
+ "_type": "UMLAssociation",
+ "_id": "AAAAAAGGy+MVaq4UzvY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "position",
+ "end1": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy+MVaq4V1pc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ },
+ "end2": {
+ "_type": "UMLAssociationEnd",
+ "_id": "AAAAAAGGy+MVaq4WzSk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+MVaq4UzvY="
+ },
+ "reference": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ }
+ },
+ "visibility": "private"
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy+HRLqJ7Quw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "point",
+ "visibility": "private",
+ "type": "int"
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy9oBCGwfli0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "moveRight",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy9r/pm3uvzo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9oBCGwfli0="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy9oDNGxAf3Y=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "moveLeft",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy9sOC24byIQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9oDNGxAf3Y="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy9oFRGxhW54=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "rotateRight",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy9sdlW5I0jM=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9oFRGxhW54="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy9oJvWyC7/k=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "rotateLeft",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy9srF251aF4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9oJvWyC7/k="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy9onwGyjP2s=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "moveDown",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy9s3/26iZus=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9onwGyjP2s="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ },
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+cgzc5htYo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ },
+ "name": "changePoint",
+ "parameters": [
+ {
+ "_type": "UMLParameter",
+ "_id": "AAAAAAGGy+dAg89xSzU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy+cgzc5htYo="
+ },
+ "type": "void",
+ "direction": "return"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy9T4XmlM3lY=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "Position",
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy9UoxGl2GaQ=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "name": "x",
+ "type": "int"
+ },
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy9ch+2l84Bw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9T4XmlM3lY="
+ },
+ "name": "y",
+ "type": "int"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy9gyH2mHYTA=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "LeftStair",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy+QkZ7ksAKk=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "attributes": [
+ {
+ "_type": "UMLAttribute",
+ "_id": "AAAAAAGGy+JTVKdhUnU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "name": "Attribute1",
+ "type": ""
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+FvSZdQB1s=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9gyH2mHYTA="
+ },
+ "name": "setPoint"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy97o93t5Ek0=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "TShape",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy97pJ3vPNSU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+GYTprFFVE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97o93t5Ek0="
+ },
+ "name": "setPoint"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy97maXrlxoI=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "LLeft",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy97mkns7kEc=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+GQ5podsAo=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97maXrlxoI="
+ },
+ "name": "setPoint"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy97kGnpR8xE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "LRight",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy97kSXqn5Rw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+GJVZl1an4=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97kGnpR8xE="
+ },
+ "name": "setPoint"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy97hBXm9O8E=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "Square",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy97hLXoTfgU=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+GBUZjNKFw=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97hBXm9O8E="
+ },
+ "name": "setPoint"
+ }
+ ]
+ },
+ {
+ "_type": "UMLClass",
+ "_id": "AAAAAAGGy97eTHkpeg8=",
+ "_parent": {
+ "$ref": "AAAAAAGGy9NvRmkrx4w="
+ },
+ "name": "RightStair",
+ "ownedElements": [
+ {
+ "_type": "UMLGeneralization",
+ "_id": "AAAAAAGGy97eeHl/cng=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "source": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "target": {
+ "$ref": "AAAAAAGGy8uh+mcgY1w="
+ }
+ }
+ ],
+ "operations": [
+ {
+ "_type": "UMLOperation",
+ "_id": "AAAAAAGGy+F5W5glTUE=",
+ "_parent": {
+ "$ref": "AAAAAAGGy97eTHkpeg8="
+ },
+ "name": "setPoint"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Tetris/.idea/gradle.xml b/Tetris/.idea/gradle.xml
index a2d7c21..0d498f0 100644
--- a/Tetris/.idea/gradle.xml
+++ b/Tetris/.idea/gradle.xml
@@ -11,6 +11,7 @@
+
diff --git a/Tetris/app/build.gradle b/Tetris/app/build.gradle
index ba3fe66..c68d295 100644
--- a/Tetris/app/build.gradle
+++ b/Tetris/app/build.gradle
@@ -38,6 +38,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.fragment:fragment:1.5.5'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
diff --git a/Tetris/app/src/main/AndroidManifest.xml b/Tetris/app/src/main/AndroidManifest.xml
index c4b2c70..6c7d171 100644
--- a/Tetris/app/src/main/AndroidManifest.xml
+++ b/Tetris/app/src/main/AndroidManifest.xml
@@ -21,6 +21,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Tetris/app/src/main/java/but/androidstudio/tetris/MainFragment.kt b/Tetris/app/src/main/java/but/androidstudio/tetris/MainFragment.kt
new file mode 100644
index 0000000..3660f53
--- /dev/null
+++ b/Tetris/app/src/main/java/but/androidstudio/tetris/MainFragment.kt
@@ -0,0 +1,21 @@
+package but.androidstudio.tetris
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+class MainFragment : Fragment() {
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_main, container, false)
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/but/androidstudio/tetris/OptionFragment.kt b/Tetris/app/src/main/java/but/androidstudio/tetris/OptionFragment.kt
new file mode 100644
index 0000000..d4f6147
--- /dev/null
+++ b/Tetris/app/src/main/java/but/androidstudio/tetris/OptionFragment.kt
@@ -0,0 +1,59 @@
+package but.androidstudio.tetris
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+
+// TODO: Rename parameter arguments, choose names that match
+// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+private const val ARG_PARAM1 = "param1"
+private const val ARG_PARAM2 = "param2"
+
+/**
+ * A simple [Fragment] subclass.
+ * Use the [OptionFragment.newInstance] factory method to
+ * create an instance of this fragment.
+ */
+class OptionFragment : Fragment() {
+ // TODO: Rename and change types of parameters
+ private var param1: String? = null
+ private var param2: String? = null
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ arguments?.let {
+ param1 = it.getString(ARG_PARAM1)
+ param2 = it.getString(ARG_PARAM2)
+ }
+ }
+
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ // Inflate the layout for this fragment
+ return inflater.inflate(R.layout.fragment_option, container, false)
+ }
+
+ companion object {
+ /**
+ * Use this factory method to create a new instance of
+ * this fragment using the provided parameters.
+ *
+ * @param param1 Parameter 1.
+ * @param param2 Parameter 2.
+ * @return A new instance of fragment OptionFragment.
+ */
+ // TODO: Rename and change types and number of parameters
+ @JvmStatic
+ fun newInstance(param1: String, param2: String) =
+ OptionFragment().apply {
+ arguments = Bundle().apply {
+ putString(ARG_PARAM1, param1)
+ putString(ARG_PARAM2, param2)
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/DashBoard.kt b/Tetris/app/src/main/java/modele/DashBoard.kt
new file mode 100644
index 0000000..60ead99
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/DashBoard.kt
@@ -0,0 +1,60 @@
+package modele
+
+class DashBoard(private val width: Int,private val height: Int) {
+ private val gridOfGame = Array(this.height){IntArray(this.width)}
+
+ // Our getter
+ fun getWidth(): Int = this.width
+ fun getHeight(): Int = this.height
+
+ // To set something to occupied
+
+ fun toOccupied(col: Int,row: Int){
+ gridOfGame[row][col] = 1
+ }
+
+ // To check if an position is occupied
+ fun isOccupied(col: Int,row: Int): Boolean = gridOfGame[row][col] != 0
+
+ fun isLineFull(row: Int): Boolean{
+ for (col in 0 until this.width){
+ if(gridOfGame[row][col] == 0){
+ return false
+ }
+ }
+ return true
+ }
+
+ fun clearLine(row: Int){
+ for (col in 0 until this.width){
+ gridOfGame[row][col] = 0
+ }
+ }
+
+ fun shiftDown(rowToBegin: Int){
+ for (row in (height - 1)..rowToBegin){
+ for (col in 0 until this.width){
+ gridOfGame[row][col] = gridOfGame[row - rowToBegin][col]
+ }
+ }
+ for (row in 0 until rowToBegin){
+ for (col in 0 until this.width){
+ gridOfGame[row][col] = 0
+ }
+ }
+ }
+
+ //To check each grid line and remove if a line is full. Uses clearLine(), isLineFull() and shiftDown()
+ fun clearLines(){
+ var nbRowCleared: Int = 0
+ for (row in 0 until this.height){
+ if(isLineFull(row)){
+ clearLine(row)
+ ++nbRowCleared
+ }
+ }
+ if(nbRowCleared != 0){
+ shiftDown(nbRowCleared)
+ }
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/Difficulty.kt b/Tetris/app/src/main/java/modele/Difficulty.kt
new file mode 100644
index 0000000..8b6b786
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/Difficulty.kt
@@ -0,0 +1,7 @@
+package modele
+
+enum class Difficulty {
+ EASY,
+ MEDIUM,
+ HARD
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/EnumTypeShape.kt b/Tetris/app/src/main/java/modele/EnumTypeShape.kt
new file mode 100644
index 0000000..5530eda
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/EnumTypeShape.kt
@@ -0,0 +1,5 @@
+package modele
+
+enum class EnumTypeShape {
+ IShape,SquareShape,TShape,LShape,JShape,ZShape,SShape
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/Game.kt b/Tetris/app/src/main/java/modele/Game.kt
new file mode 100644
index 0000000..d7d0b9d
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/Game.kt
@@ -0,0 +1,25 @@
+package modele
+class Game(private val width: Int,private val height: Int) {
+ private val dashBoard: DashBoard = DashBoard(width,height)
+ private var currentShape: Shape? = null
+ private var difficulty: Difficulty = Difficulty.EASY
+
+ // To get the current difficulty
+ fun getDifficulty(): Difficulty = this.difficulty
+
+ // To get the current shape on the game
+ fun getCurrentShape(): Shape? = this.currentShape
+
+ // To set the current shape
+ fun setCurrentShape(newCurrentShape: Shape){
+ this.currentShape = newCurrentShape
+ }
+
+ // The start game function
+
+ fun startGame(){
+ //this.setCurrentShape(TypeShape.SquareShape)
+
+ }
+
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/Position.kt b/Tetris/app/src/main/java/modele/Position.kt
new file mode 100644
index 0000000..4d8cfad
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/Position.kt
@@ -0,0 +1,14 @@
+package modele
+
+class Position(private var x: Int,private var y: Int) {
+ fun getX() = this.x
+ fun getY() = this.y
+
+ fun setX(newX: Int){
+ this.x = newX
+ }
+
+ fun setY(newY: Int){
+ this.y = newY
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/Shape.kt b/Tetris/app/src/main/java/modele/Shape.kt
new file mode 100644
index 0000000..1624f03
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/Shape.kt
@@ -0,0 +1,41 @@
+package modele
+
+import java.lang.reflect.Type
+
+class Shape(private val typeShape: TypeShape,private var position: Position) {
+
+ private var shapePosition : Array = emptyArray()
+
+/* init {
+ val
+ }*/
+
+ fun moveRight(){
+ this.position.setX(this.position.getX()+1)
+ //update
+ }
+
+ fun moveLeft(){
+ this.position.setX(this.position.getX()-1)
+ //update
+ }
+
+ fun moveDown(){
+ this.position.setY(this.position.getY()-1)
+ //update
+ }
+
+ fun rotateLeft(){
+ val tmp = this.position.getX()
+ this.position.setX(this.position.getY() * -1)
+ this.position.setY(tmp)
+ //update
+ }
+
+ fun rotateRight(){
+ val tmp = this.position.getX()
+ this.position.setX(this.position.getY())
+ this.position.setY(tmp * -1)
+ //update
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/modele/TypeShape.kt b/Tetris/app/src/main/java/modele/TypeShape.kt
new file mode 100644
index 0000000..819393b
--- /dev/null
+++ b/Tetris/app/src/main/java/modele/TypeShape.kt
@@ -0,0 +1,48 @@
+package modele
+
+import java.lang.reflect.Type
+import kotlin.random.Random
+
+class TypeShape(private val type: EnumTypeShape,private val showShape: Array>>){
+
+ private var currentIndex = 0
+
+ fun getPoints(): Array{
+ val positions = ArrayList()
+ val typeShape = getCurrentType()
+ for (i in typeShape.indices){
+ for (j in typeShape[i].indices){
+ if (typeShape[i][j] != 0) {
+ positions.add(Position(j, i))
+ }
+ }
+ }
+ return positions.toTypedArray()
+ }
+
+ //to augmente of 1 the current index
+ fun getNextType(): TypeShape {
+ currentIndex++
+ return this
+ }
+
+ //To get the next shape
+ fun getNextShape(){
+ val random: Int = Random.nextInt(1,7)
+ when(random){
+ 1 -> TypeShape(EnumTypeShape.IShape, arrayOf(arrayOf(arrayOf())))
+ 2 -> TypeShape(EnumTypeShape.SquareShape, arrayOf(arrayOf(arrayOf())))
+ 3 -> TypeShape(EnumTypeShape.JShape, arrayOf(arrayOf(arrayOf())))
+ 4 -> TypeShape(EnumTypeShape.LShape, arrayOf(arrayOf(arrayOf())))
+ 5 -> TypeShape(EnumTypeShape.SShape, arrayOf(arrayOf(arrayOf())))
+ 6 -> TypeShape(EnumTypeShape.TShape, arrayOf(arrayOf(arrayOf())))
+ 7 -> TypeShape(EnumTypeShape.ZShape, arrayOf(arrayOf(arrayOf())))
+ else -> throw Exception("Problème de random getNextShape()")
+ }
+ }
+
+ // To get the table of position of the current shape type
+ private fun getCurrentType(): Array> {
+ return showShape[currentIndex]
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/tetrisGame/activity/Game.kt b/Tetris/app/src/main/java/tetrisGame/activity/Game.kt
index a36e80a..cf702c0 100644
--- a/Tetris/app/src/main/java/tetrisGame/activity/Game.kt
+++ b/Tetris/app/src/main/java/tetrisGame/activity/Game.kt
@@ -8,6 +8,7 @@ import android.widget.ImageView
import androidx.core.content.ContextCompat
import but.androidstudio.tetris.R
import tetrisGame.views.ViewsGame
+import modele.Game
class Game : AppCompatActivity() {
@@ -23,4 +24,11 @@ class Game : AppCompatActivity() {
}
+ override fun onResume() {
+ super.onResume()
+ val myGame: modele.Game = Game(10,20)
+ myGame.startGame()
+ }
+
+
}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/tetrisGame/activity/MainActivity.kt b/Tetris/app/src/main/java/tetrisGame/activity/MainActivity.kt
new file mode 100644
index 0000000..bac5d66
--- /dev/null
+++ b/Tetris/app/src/main/java/tetrisGame/activity/MainActivity.kt
@@ -0,0 +1,26 @@
+package activity
+
+import android.os.Bundle
+import android.os.PersistableBundle
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.FragmentContainerView
+import but.androidstudio.tetris.MainFragment
+import but.androidstudio.tetris.R
+
+class MainActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.main_activity)
+ if(savedInstanceState == null){
+ supportFragmentManager.beginTransaction()
+ .setReorderingAllowed(true)
+ .add(R.id.homeLayout,MainFragment())
+ .commit()
+ }
+
+ }
+
+ override fun onResume() {
+ super.onResume()
+ }
+}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/tetrisGame/activity/Menu.kt b/Tetris/app/src/main/java/tetrisGame/activity/Menu.kt
index 89806c4..5621d69 100644
--- a/Tetris/app/src/main/java/tetrisGame/activity/Menu.kt
+++ b/Tetris/app/src/main/java/tetrisGame/activity/Menu.kt
@@ -14,11 +14,21 @@ class Menu : AppCompatActivity() {
val appName:TextView = findViewById(R.id.appName)
appName.setText(R.string.app_name)
+ }
+
+ override fun onResume() {
+ super.onResume()
val buttonStart:Button = findViewById(R.id.buttonStart)
buttonStart.setOnClickListener {
- val intent = Intent(this, Game::class.java)
- startActivity(intent)
+ val intentStart = Intent(this,Game::class.java)
+ startActivity(intentStart)
+ }
+
+ val buttonOption:Button = findViewById(R.id.buttonOption)
+ buttonOption.setOnClickListener {
+ val intentOption = Intent(this,Option::class.java)
+ startActivity(intentOption)
}
}
}
\ No newline at end of file
diff --git a/Tetris/app/src/main/java/tetrisGame/activity/Option.kt b/Tetris/app/src/main/java/tetrisGame/activity/Option.kt
index 20599a8..9d74a23 100644
--- a/Tetris/app/src/main/java/tetrisGame/activity/Option.kt
+++ b/Tetris/app/src/main/java/tetrisGame/activity/Option.kt
@@ -1,13 +1,38 @@
-package tetrisGame.activity
+package activity
-import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import android.view.View
+import android.widget.AdapterView
+import android.widget.ArrayAdapter
+import android.widget.Spinner
+import androidx.appcompat.app.AppCompatActivity
import but.androidstudio.tetris.R
class Option : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_option)
+ }
+
+ override fun onResume() {
+ super.onResume()
+
+ val spinnerDifficulty:Spinner = findViewById(R.id.spinnerDifficulty)
+ val difficulty = arrayOf("Easy","Medium","Hard")
+
+ val adaptateurSpinnerDifficulty = ArrayAdapter(this,android.R.layout.simple_spinner_dropdown_item,difficulty)
+ spinnerDifficulty.adapter = adaptateurSpinnerDifficulty
+
+ spinnerDifficulty.setOnItemSelectedListener(object : AdapterView.OnItemSelectedListener {
+ override fun onItemSelected(parent: AdapterView<*>, view: View?, position: Int, id: Long) {
+ val selectedItem = parent.getItemAtPosition(position).toString()
+ // Faites quelque chose avec l'élément sélectionné
+ }
+
+ override fun onNothingSelected(parent: AdapterView<*>) {
+ // Ne rien faire si aucun élément n'est sélectionné
+ }
+ })
}
diff --git a/Tetris/app/src/main/res/layout/activity_option.xml b/Tetris/app/src/main/res/layout/activity_option.xml
index 835a137..f9433dd 100644
--- a/Tetris/app/src/main/res/layout/activity_option.xml
+++ b/Tetris/app/src/main/res/layout/activity_option.xml
@@ -1,9 +1,33 @@
-
+ tools:context="activity.Menu">
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tetris/app/src/main/res/layout/activity_menu.xml b/Tetris/app/src/main/res/layout/fragment_main.xml
similarity index 90%
rename from Tetris/app/src/main/res/layout/activity_menu.xml
rename to Tetris/app/src/main/res/layout/fragment_main.xml
index 49375a2..9b6a1a4 100644
--- a/Tetris/app/src/main/res/layout/activity_menu.xml
+++ b/Tetris/app/src/main/res/layout/fragment_main.xml
@@ -1,10 +1,10 @@
-
+ tools:context=".MainFragment">
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/Tetris/app/src/main/res/layout/fragment_option.xml b/Tetris/app/src/main/res/layout/fragment_option.xml
new file mode 100644
index 0000000..a164ace
--- /dev/null
+++ b/Tetris/app/src/main/res/layout/fragment_option.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tetris/app/src/main/res/layout/main_activity.xml b/Tetris/app/src/main/res/layout/main_activity.xml
new file mode 100644
index 0000000..475d7fe
--- /dev/null
+++ b/Tetris/app/src/main/res/layout/main_activity.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Tetris/app/src/main/res/values/strings.xml b/Tetris/app/src/main/res/values/strings.xml
index 05be9ee..3fa938c 100644
--- a/Tetris/app/src/main/res/values/strings.xml
+++ b/Tetris/app/src/main/res/values/strings.xml
@@ -1,4 +1,6 @@
Tetris
Score : ??
+
+ Hello blank fragment
\ No newline at end of file
diff --git a/Tetris/app/src/test/java/modele/Draw.kt b/Tetris/app/src/test/java/modele/Draw.kt
new file mode 100644
index 0000000..ca58bd4
--- /dev/null
+++ b/Tetris/app/src/test/java/modele/Draw.kt
@@ -0,0 +1,4 @@
+package modele
+
+class Draw {
+}
\ No newline at end of file
diff --git a/Tetris/build.gradle b/Tetris/build.gradle
index 7cadbe8..6eba3d5 100644
--- a/Tetris/build.gradle
+++ b/Tetris/build.gradle
@@ -1,6 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
- id 'com.android.application' version '7.4.0' apply false
- id 'com.android.library' version '7.4.0' apply false
+ id 'com.android.application' version '7.4.1' apply false
+ id 'com.android.library' version '7.4.1' apply false
id 'org.jetbrains.kotlin.android' version '1.7.21' apply false
}
\ No newline at end of file
diff --git a/Tetris/mylibrary/.gitignore b/Tetris/mylibrary/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/Tetris/mylibrary/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/Tetris/mylibrary/build.gradle b/Tetris/mylibrary/build.gradle
new file mode 100644
index 0000000..e2b9388
--- /dev/null
+++ b/Tetris/mylibrary/build.gradle
@@ -0,0 +1,41 @@
+plugins {
+ id 'com.android.library'
+ id 'org.jetbrains.kotlin.android'
+}
+
+android {
+ namespace 'com.example.mylibrary'
+ compileSdk 33
+
+ defaultConfig {
+ minSdk 16
+ targetSdk 33
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+}
+
+dependencies {
+
+ implementation 'androidx.core:core-ktx:1.7.0'
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'com.google.android.material:material:1.8.0'
+ testImplementation 'junit:junit:4.13.2'
+ androidTestImplementation 'androidx.test.ext:junit:1.1.5'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+}
\ No newline at end of file
diff --git a/Tetris/mylibrary/consumer-rules.pro b/Tetris/mylibrary/consumer-rules.pro
new file mode 100644
index 0000000..e69de29
diff --git a/Tetris/mylibrary/proguard-rules.pro b/Tetris/mylibrary/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/Tetris/mylibrary/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/Tetris/mylibrary/src/androidTest/java/com/example/mylibrary/ExampleInstrumentedTest.kt b/Tetris/mylibrary/src/androidTest/java/com/example/mylibrary/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..9bc1b73
--- /dev/null
+++ b/Tetris/mylibrary/src/androidTest/java/com/example/mylibrary/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.example.mylibrary
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.example.mylibrary.test", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/Tetris/mylibrary/src/main/AndroidManifest.xml b/Tetris/mylibrary/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a5918e6
--- /dev/null
+++ b/Tetris/mylibrary/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/Tetris/mylibrary/src/test/java/com/example/mylibrary/ExampleUnitTest.kt b/Tetris/mylibrary/src/test/java/com/example/mylibrary/ExampleUnitTest.kt
new file mode 100644
index 0000000..e9c2e27
--- /dev/null
+++ b/Tetris/mylibrary/src/test/java/com/example/mylibrary/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.example.mylibrary
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/Tetris/settings.gradle b/Tetris/settings.gradle
index 0b3e1b8..19ebe97 100644
--- a/Tetris/settings.gradle
+++ b/Tetris/settings.gradle
@@ -14,3 +14,4 @@ dependencyResolutionManagement {
}
rootProject.name = "Tetris"
include ':app'
+include ':mylibrary'