Jelajahi Sumber

14.6.13 release

David Benson [draw.io] 4 tahun lalu
induk
melakukan
b316ba7eb9
100 mengubah file dengan 8560 tambahan dan 4155 penghapusan
  1. 0 3
      .github/FUNDING.yml
  2. 26 0
      ChangeLog
  3. 4 0
      README.md
  4. 1 1
      VERSION
  5. TEMPAT SAMPAH
      src/main/webapp/images/sidebar-azure.png
  6. 95 0
      src/main/webapp/img/LICENSE
  7. 44 0
      src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Classic_Web_Services.svg
  8. 48 0
      src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Web_Service_Plans.svg
  9. 39 0
      src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Workspaces.svg
  10. 51 0
      src/main/webapp/img/lib/azure2/ai_machine_learning/Translator_Text.svg
  11. 13 0
      src/main/webapp/img/lib/azure2/analytics/Azure_Databricks.svg
  12. 32 0
      src/main/webapp/img/lib/azure2/compute/Automanaged_VM.svg
  13. 50 0
      src/main/webapp/img/lib/azure2/compute/Azure_Spring_Cloud.svg
  14. 30 0
      src/main/webapp/img/lib/azure2/databases/Azure_SQL.svg
  15. 39 0
      src/main/webapp/img/lib/azure2/databases/SSIS_Lift_And_Shift_IR.svg
  16. 34 0
      src/main/webapp/img/lib/azure2/general/Cost_Management_and_Billing.svg
  17. 36 0
      src/main/webapp/img/lib/azure2/general/Free_Services.svg
  18. 29 0
      src/main/webapp/img/lib/azure2/general/Resource_Explorer.svg
  19. 25 0
      src/main/webapp/img/lib/azure2/general/Tag.svg
  20. 29 0
      src/main/webapp/img/lib/azure2/identity/Azure_AD_Identity_Protection.svg
  21. 43 0
      src/main/webapp/img/lib/azure2/identity/Managed_Identities.svg
  22. 30 0
      src/main/webapp/img/lib/azure2/integration/Azure_API_for_FHIR.svg
  23. 46 0
      src/main/webapp/img/lib/azure2/integration/Partner_Topic.svg
  24. 68 0
      src/main/webapp/img/lib/azure2/integration/System_Topic.svg
  25. 28 0
      src/main/webapp/img/lib/azure2/internet_of_things/Time_Series_Insights_Access_Policies.svg
  26. 34 0
      src/main/webapp/img/lib/azure2/intune/Intune.svg
  27. 151 0
      src/main/webapp/img/lib/azure2/intune/Intune_For_Education.svg
  28. 34 0
      src/main/webapp/img/lib/azure2/management_governance/Cost_Management_and_Billing.svg
  29. 152 0
      src/main/webapp/img/lib/azure2/migrate/Cost_Management_and_Billing.svg
  30. 31 0
      src/main/webapp/img/lib/azure2/networking/Local_Network_Gateways.svg
  31. 49 0
      src/main/webapp/img/lib/azure2/other/Azure_Backup_Center.svg
  32. 39 0
      src/main/webapp/img/lib/azure2/other/ExpressRoute_Direct.svg
  33. 31 0
      src/main/webapp/img/lib/azure2/other/Local_Network_Gateways.svg
  34. 18 0
      src/main/webapp/img/lib/azure2/other/Resource_Mover.svg
  35. 39 0
      src/main/webapp/img/lib/azure2/other/SSH_Keys.svg
  36. 36 0
      src/main/webapp/img/lib/azure2/other/Template_Specs.svg
  37. 32 0
      src/main/webapp/img/lib/azure2/security/Azure_Defender.svg
  38. 2853 2842
      src/main/webapp/js/app.min.js
  39. 2 8
      src/main/webapp/js/diagramly/App.js
  40. 1 1
      src/main/webapp/js/diagramly/Devel.js
  41. 21 18
      src/main/webapp/js/diagramly/Editor.js
  42. 20 13
      src/main/webapp/js/diagramly/EditorUi.js
  43. 1 1
      src/main/webapp/js/diagramly/Menus.js
  44. 2 1
      src/main/webapp/js/diagramly/Minimal.js
  45. 64 4
      src/main/webapp/js/diagramly/sidebar/Sidebar-Azure2.js
  46. 0 6
      src/main/webapp/js/diagramly/sidebar/Sidebar.js
  47. 12 8
      src/main/webapp/js/grapheditor/EditorUi.js
  48. 8 21
      src/main/webapp/js/grapheditor/Shapes.js
  49. 3 2
      src/main/webapp/js/grapheditor/Sidebar.js
  50. 0 7
      src/main/webapp/js/json/json2.min.js
  51. 471 470
      src/main/webapp/js/viewer-static.min.js
  52. 471 470
      src/main/webapp/js/viewer.min.js
  53. 5 5
      src/main/webapp/mxgraph/mxClient.js
  54. 2822 0
      src/main/webapp/package-lock.json
  55. 5 5
      src/main/webapp/package.json
  56. 1 0
      src/main/webapp/resources/dia.txt
  57. 1 0
      src/main/webapp/resources/dia_am.txt
  58. 26 25
      src/main/webapp/resources/dia_ar.txt
  59. 1 0
      src/main/webapp/resources/dia_bg.txt
  60. 1 0
      src/main/webapp/resources/dia_bn.txt
  61. 1 0
      src/main/webapp/resources/dia_bs.txt
  62. 1 0
      src/main/webapp/resources/dia_ca.txt
  63. 1 0
      src/main/webapp/resources/dia_cs.txt
  64. 1 0
      src/main/webapp/resources/dia_da.txt
  65. 1 0
      src/main/webapp/resources/dia_de.txt
  66. 1 0
      src/main/webapp/resources/dia_el.txt
  67. 1 0
      src/main/webapp/resources/dia_eo.txt
  68. 4 3
      src/main/webapp/resources/dia_es.txt
  69. 1 0
      src/main/webapp/resources/dia_et.txt
  70. 1 0
      src/main/webapp/resources/dia_eu.txt
  71. 1 0
      src/main/webapp/resources/dia_fa.txt
  72. 1 0
      src/main/webapp/resources/dia_fi.txt
  73. 1 0
      src/main/webapp/resources/dia_fil.txt
  74. 1 0
      src/main/webapp/resources/dia_fr.txt
  75. 1 0
      src/main/webapp/resources/dia_gl.txt
  76. 1 0
      src/main/webapp/resources/dia_gu.txt
  77. 1 0
      src/main/webapp/resources/dia_he.txt
  78. 1 0
      src/main/webapp/resources/dia_hi.txt
  79. 1 0
      src/main/webapp/resources/dia_hr.txt
  80. 1 0
      src/main/webapp/resources/dia_hu.txt
  81. 1 0
      src/main/webapp/resources/dia_i18n.txt
  82. 1 0
      src/main/webapp/resources/dia_id.txt
  83. 1 0
      src/main/webapp/resources/dia_it.txt
  84. 1 0
      src/main/webapp/resources/dia_ja.txt
  85. 1 0
      src/main/webapp/resources/dia_kn.txt
  86. 1 0
      src/main/webapp/resources/dia_ko.txt
  87. 1 0
      src/main/webapp/resources/dia_lt.txt
  88. 1 0
      src/main/webapp/resources/dia_lv.txt
  89. 1 0
      src/main/webapp/resources/dia_ml.txt
  90. 1 0
      src/main/webapp/resources/dia_mr.txt
  91. 1 0
      src/main/webapp/resources/dia_ms.txt
  92. 1 0
      src/main/webapp/resources/dia_my.txt
  93. 1 0
      src/main/webapp/resources/dia_nl.txt
  94. 1 0
      src/main/webapp/resources/dia_no.txt
  95. 1 0
      src/main/webapp/resources/dia_pl.txt
  96. 1 0
      src/main/webapp/resources/dia_pt-br.txt
  97. 1 0
      src/main/webapp/resources/dia_pt.txt
  98. 1 0
      src/main/webapp/resources/dia_ro.txt
  99. 242 241
      src/main/webapp/resources/dia_ru.txt
  100. 0 0
      src/main/webapp/resources/dia_si.txt

+ 0 - 3
.github/FUNDING.yml

@@ -1,3 +0,0 @@
-# These are supported funding model platforms
-
-github: jgraph

+ 26 - 0
ChangeLog

@@ -1,3 +1,29 @@
+13-MAY-2021: 14.6.13
+
+- Updates to latest Azure stencils
+- [conf cloud] Improves error handling around draft load failing
+- [conf cloud] Fixes lib import without config space
+
+11-MAY-2021: 14.6.12
+
+- Fixes sidebar preview for sketch theme
+- Disables handwritten fonts in sketch theme with rough=0
+- Fixes inconsistent pointer event handling
+- Fixes ignored comic style for rectangle shape
+- Adds modifier keys for wheel scrolling in sketch theme
+- Disables page view after page format change with sketch theme
+- Updates ar and ru translations
+
+07-MAY-2021: 14.6.11
+
+- Fixes Dropbox client in dev mode
+- Adds iconsearch CF worker
+- Updates Gliffy translations for BPMN 2.0
+- Removes JSON2 usage. Required for IE7- which doesn't work since VML support removed.
+- Reverts parameters for sidebar so default style is not applied.
+- Adds gitflow examples
+- Additional Spanish translations
+
 04-MAY-2021: 14.6.10
 
 - Adds zoomFactor config option

+ 4 - 0
README.md

@@ -8,6 +8,10 @@ License
 -------
 The source code in this repo is licensed under the Apache v2.
 
+The JGraph provided icons and diagram templates are licensed under the [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). Additional terms may also apply where the icons are originally defined by a third-party copyright holder. We have checked in all cases that the original license allows use in this project.
+
+Additional minified JavaScript files and Java libraries are used in this project. All of the licenses are deemed compatible with the Apache 2.0, nothing is GPL or AGPL.
+
 Development
 -----------
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-14.6.10
+14.6.13

TEMPAT SAMPAH
src/main/webapp/images/sidebar-azure.png


File diff ditekan karena terlalu besar
+ 95 - 0
src/main/webapp/img/LICENSE


+ 44 - 0
src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Classic_Web_Services.svg

@@ -0,0 +1,44 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b97bbf6b-86e6-4ebc-9146-dd962aa81e49" sodipodi:docname="00030-icon-service-Machine-Learning-Studio-(Classic)-Web-Services.svg"
+    version="1.1" width="17.032106" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.032106 17.067297"
+    height="17.067297" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3307">
+        <linearGradient x1="5.77" y1="7.0799999" x2="5.8800001" gradientUnits="userSpaceOnUse" y2="17.58" id="aa5994b0-7cc1-426e-80f1-5365573f8425">
+            <stop offset="0" stop-color="#32d4f5" id="stop3292"/>
+            <stop offset="0.32" stop-color="#31d1f3" id="stop3294"/>
+            <stop offset="0.53" stop-color="#2ec9eb" id="stop3296"/>
+            <stop offset="0.7" stop-color="#29bade" id="stop3298"/>
+            <stop offset="0.86" stop-color="#22a5cb" id="stop3300"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3302"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3304"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#f2f2f2" d="M 14.579808,11.217298 A 6.2538648,6.2538648 0 1 1 6.9098079,1.3372976 l 0.07,-0.05 a 
+        6.2522976,6.2522976 0 0 1 7.6000001,9.9300004"/>
+    <path style="fill:#0078d4" d="m 15.739808,2.5072976 a 6.26,6.26 0 0 0 -8.7600001,-1.23 l -0.07,0.05 a 6.26,6.26 0 0 
+        0 3.8500001,11.2400004 6.16,6.16 0 0 0 3.82,-1.31 v 0 a 6.28,6.28 0 0 0 1.16,-8.7500004 z m -10.4300001,3.37 a 
+        5.55,5.55 0 0 1 0.61,-2.13 h 1.51 a 10.84,10.84 0 0 0 -0.29,2.13 z m 3,-2.13 h 2.0800001 v 2.13 H 7.9498079 a 
+        9.41,9.41 0 0 1 0.32,-2.13 z m 2.8800001,0 h 2.08 a 9.41,9.41 0 0 1 0.32,2.13 h -2.4 z m -0.8,2.93 v 2.12 H 
+        8.2698079 a 9.24,9.24 0 0 1 -0.32,-2.12 z m 0.8,0 h 2.4 a 9.24,9.24 0 0 1 -0.32,2.12 h -2.12 z m 3.21,0 h 1.82 a 
+        5.61,5.61 0 0 1 -0.6,2.12 h -1.56 a 10,10 0 0 0 0.3,-2.12 z m 0,-0.8 a 10.13,10.13 0 0 0 -0.3,-2.13 h 1.52 a 
+        5.41,5.41 0 0 1 0.6,2.13 z m 0.71,-2.93 h -1.29 a 5.92,5.92 0 0 0 -0.88,-1.66 5.4,5.4 0 0 1 2.13,1.66 z m 
+        -2.12,0 h -1.8 V 0.94729758 a 3.27,3.27 0 0 1 1.76,2.00000002 z m -2.6,-2.00000002 V 2.9472976 H 8.5498079 A 
+        3.27,3.27 0 0 1 10.349808,0.90729758 Z M 7.4098079,1.9672976 v 0 a 5.39,5.39 0 0 1 1.1,-0.65 6.12,6.12 0 0 0 
+        -0.88,1.67 h -1.2 a 5.05,5.05 0 0 1 0.98,-1.02 z m -2.1,4.71 h 1.83 a 10.74,10.74 0 0 0 0.29,2.12 h -1.51 a 
+        5.22,5.22 0 0 1 -0.61,-2.12 z m 1.13,2.94 h 1.24 a 6.06,6.06 0 0 0 0.88,1.6600004 5.35,5.35 0 0 1 
+        -2.12,-1.6600004 z m 2.11,0 H 10.349808 V 11.617298 A 3.27,3.27 0 0 1 8.5498079,9.5672976 Z M 
+        11.149808,11.617298 V 9.5672976 h 1.8 a 3.27,3.27 0 0 1 -1.8,2.0800004 z m 2.94,-1.05 v 0 a 5,5 0 0 1 -1.16,0.68 
+        5.82,5.82 0 0 0 0.89,-1.6800004 h 1.25 a 5.68,5.68 0 0 1 -0.98,1.0000004 z"/>
+    <path style="fill:url(#aa5994b0-7cc1-426e-80f1-5365573f8425)" d="M 10.349808,17.067298 H 0.3898079 c -0.31,0 
+        -0.5,-0.51 -0.32,-0.77 l 3.43,-5 a 0.39,0.39 0 0 0 0.07,-0.23 V 7.7672976 a 0.2,0.2 0 0 0 -0.2,-0.2 h -0.18 a 
+        0.39,0.39 0 0 1 -0.39,-0.39 v -0.18 a 0.39,0.39 0 0 1 0.39,-0.43 h 4.37 a 0.4,0.4 0 0 1 0.39,0.4 v 0.18 a 
+        0.4,0.4 0 0 1 -0.39,0.42 h -0.19 a 0.19,0.19 0 0 0 -0.19,0.2 v 3.3100004 a 0.34,0.34 0 0 0 0.07,0.22 l 
+        3.4300001,5 c 0.18,0.27 -0.01,0.77 -0.33,0.77 z"/>
+    <path style="fill:#ffffff" d="m 1.7398079,15.747298 2.47,-3.6 a 0.87,0.87 0 0 0 0.16,-0.52 v -1.45 a 0.29,0.29 0 0 1 
+        0.29,-0.2800004 h 1.4 a 0.29,0.29 0 0 1 0.29,0.2800004 v 1.55 a 0.6,0.6 0 0 0 0.1,0.35 l 2.53,3.67 a 0.22,0.22 0 
+        0 1 -0.18,0.34 h -6.88 a 0.22,0.22 0 0 1 -0.18,-0.34 z"/>
+</svg>

+ 48 - 0
src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Web_Service_Plans.svg

@@ -0,0 +1,48 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="ef5369a6-4f00-45dd-95b2-21948c5d6d41" sodipodi:docname="10168-icon-service-Machine-Learning-Studio-Web-Service-Plans.svg"
+    version="1.1" width="17.001322" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.001322 16.91"
+    height="16.91" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3680">
+        <linearGradient x1="9.8299999" y1="1.59" x2="9.8299999" gradientUnits="userSpaceOnUse" y2="8.9399996" id="a2854fe3-9b14-477e-8294-5e6b9a1e1b11">
+            <stop offset="0" stop-color="#fff" id="stop3658"/>
+            <stop offset="0.56" stop-color="#fbfbfb" id="stop3660"/>
+            <stop offset="1" stop-color="#f2f2f2" id="stop3662"/>
+        </linearGradient>
+        <linearGradient x1="5.71" y1="7.1300001" x2="5.8200002" gradientUnits="userSpaceOnUse" y2="17.51" id="b36fdb3b-36cd-4376-b375-7b5dfcc211f3">
+            <stop offset="0" stop-color="#32d4f5" id="stop3665"/>
+            <stop offset="0.32" stop-color="#31d1f3" id="stop3667"/>
+            <stop offset="0.53" stop-color="#2ec9eb" id="stop3669"/>
+            <stop offset="0.7" stop-color="#29bade" id="stop3671"/>
+            <stop offset="0.86" stop-color="#22a5cb" id="stop3673"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3675"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3677"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#0078d4" d="m 9.3298079,0 c 4.6200001,0 7.4400001,3.48 7.6700001,8.13 a 1.19,1.19 0 0 1 -1.19,1.25 
+        H 2.8098079 a 1.18,1.18 0 0 1 -1.15,-1.25 c 0.23,-4.65 3.05,-8.13 7.67,-8.13 z"/>
+    <path style="fill:url(#a2854fe3-9b14-477e-8294-5e6b9a1e1b11)" d="m 2.8398079,8.59 a 0.39,0.39 0 0 1 -0.34,-0.42 c 
+        0.17,-4.49 3.26,-7.38 6.83,-7.38 3.5700001,0 6.6600001,2.89 6.8800001,7.38 a 0.47,0.47 0 0 1 -0.11,0.3 0.44,0.44 
+        0 0 1 -0.29,0.12 z"/>
+    <path style="fill:#5ea0ef" d="M 13.049808,3.27 A 5.62,5.62 0 0 0 9.7198079,1.85 v 2.63 a 3.07,3.07 0 0 1 
+        1.5500001,0.66 z"/>
+    <path style="fill:#0078d4" d="m 5.6098079,3.27 1.78,1.83 a 3,3 0 0 1 1.54,-0.62 V 1.85 a 5.57,5.57 0 0 0 -3.32,1.42 
+        z"/>
+    <path style="fill:#5ea0ef" d="m 11.829808,5.68 a 3.28,3.28 0 0 1 0.67,1.58 h 2.52 a 5.9,5.9 0 0 0 -1.38,-3.41 z"/>
+    <path style="fill:#005ba1" d="m 6.8298079,5.68 -1.78,-1.83 a 5.84,5.84 0 0 0 -1.38,3.41 h 2.51 a 3.39,3.39 0 0 1 
+        0.65,-1.58 z"/>
+    <path style="fill:#005ba1" d="m 13.959808,5.11 a 0.42,0.42 0 0 0 -0.52,-0.23 l -3.7100001,1.48 0.2900001,0.74 
+        3.71,-1.48 a 0.41,0.41 0 0 0 0.23,-0.51 z"/>
+    <circle r="1.08" style="fill:#767676" cx="9.3298082" cy="6.9000001"/>
+    <path style="fill:url(#b36fdb3b-36cd-4376-b375-7b5dfcc211f3)" d="M 10.229808,16.91 H 0.3898079 c -0.31,0 -0.5,-0.5 
+        -0.32,-0.76 l 3.43,-4.94 a 0.38,0.38 0 0 0 0,-0.22 V 7.72 a 0.2,0.2 0 0 0 -0.16,-0.24 h -0.19 a 0.39,0.39 0 0 1 
+        -0.39,-0.39 V 6.96 a 0.39,0.39 0 0 1 0.39,-0.39 h 4.35 a 0.38,0.38 0 0 1 0.39,0.39 v 0.17 a 0.38,0.38 0 0 1 
+        -0.39,0.35 h -0.21 a 0.2,0.2 0 0 0 -0.2,0.2 v 3.27 a 0.41,0.41 0 0 0 0.07,0.22 l 3.4000001,4.94 c 0.17,0.3 
+        -0.01,0.8 -0.33,0.8 z"/>
+    <path style="fill:#ffffff" d="m 1.6898079,15.48 2.46,-3.6 a 0.86,0.86 0 0 0 0.16,-0.51 V 9.91 a 0.29,0.29 0 0 1 
+        0.29,-0.29 h 1.4 a 0.28,0.28 0 0 1 0.28,0.29 v 1.57 a 0.6,0.6 0 0 0 0.11,0.34 l 2.52,3.66 a 0.21,0.21 0 0 1 
+        -0.18,0.33 h -6.87 a 0.21,0.21 0 0 1 -0.17,-0.33 z"/>
+</svg>

+ 39 - 0
src/main/webapp/img/lib/azure2/ai_machine_learning/Machine_Learning_Studio_Workspaces.svg

@@ -0,0 +1,39 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="ab6915f8-be54-4d6f-932a-7f429e75983a" sodipodi:docname="10167-icon-service-Machine-Learning-Studio-Workspaces.svg"
+    version="1.1" width="17.021242" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.021242 16.800182"
+    height="16.800182" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3529">
+        <linearGradient x1="5.71" y1="7.0999999" x2="5.8200002" gradientUnits="userSpaceOnUse" y2="17.48" id="b8ef1ebf-419d-4097-a9bc-e2fbb68d9c3b">
+            <stop offset="0" stop-color="#32d4f5" id="stop3514"/>
+            <stop offset="0.32" stop-color="#31d1f3" id="stop3516"/>
+            <stop offset="0.53" stop-color="#2ec9eb" id="stop3518"/>
+            <stop offset="0.7" stop-color="#29bade" id="stop3520"/>
+            <stop offset="0.86" stop-color="#22a5cb" id="stop3522"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3524"/>
+            <stop offset="1" stop-color="#198ab3" id="stop3526"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#e6e6e6" d="M 5.4998079,1.8157497e-4 H 16.619808 a 0.37,0.37 0 0 1 0.38,0.33999999503 V 8.9301816 
+        a 0.36,0.36 0 0 1 -0.38,0.34 H 5.4998079 a 0.36,0.36 0 0 1 -0.38,-0.34 V 0.34018157 a 0.37,0.37 0 0 1 
+        0.38,-0.33999999503 z"/>
+    <path style="fill:#5ea0ef" d="M 5.4398079,1.8157497e-4 H 16.639808 a 0.35,0.35 0 0 1 0.36,0.31999999503 v 0 
+        1.30000003 H 5.0798079 V 0.32018157 a 0.35,0.35 0 0 1 0.36,-0.31999999503 z"/>
+    <rect x="5.0798078" width="3.98" y="1.6201816" height="3.8299999" style="fill:#83b9f9"/>
+    <rect x="9.0398083" width="3.98" y="1.6201816" height="3.8299999" style="fill:#0078d4"/>
+    <rect x="13.019809" width="3.98" y="1.6201816" height="3.8299999" style="fill:#83b9f9"/>
+    <path style="fill:#0078d4" d="m 16.429808,9.3101816 h -3.41 v -3.87 h 4 v 3.26 a 0.57,0.57 0 0 1 -0.59,0.61 z"/>
+    <rect width="3.98" x="-13.049808" height="3.8299999" y="-9.2701817" style="fill:#83b9f9" transform="scale(-1)"/>
+    <rect width="3.98" x="-9.069808" height="3.8299999" y="-9.2701817" style="fill:#0078d4" transform="scale(-1)"/>
+    <path style="fill:url(#b8ef1ebf-419d-4097-a9bc-e2fbb68d9c3b)" d="M 10.229808,16.800182 H 0.3898079 c -0.31,0 
+        -0.5,-0.5 -0.32,-0.76 l 3.39,-5 a 0.34,0.34 0 0 0 0.04,-0.17 V 7.6001816 a 0.2,0.2 0 0 0 -0.16,-0.2 h -0.19 a 
+        0.39,0.39 0 0 1 -0.39,-0.39 v -0.17 a 0.39,0.39 0 0 1 0.39,-0.38 h 4.35 a 0.38,0.38 0 0 1 0.39,0.38 v 0.18 a 
+        0.38,0.38 0 0 1 -0.39,0.38 h -0.21 a 0.2,0.2 0 0 0 -0.2,0.19 v 3.2800004 a 0.41,0.41 0 0 0 0.07,0.22 l 
+        3.4000001,4.94 c 0.17,0.27 -0.01,0.77 -0.33,0.77 z"/>
+    <path style="fill:#ffffff" d="m 1.6898079,15.400182 2.46,-3.59 a 0.86,0.86 0 0 0 0.16,-0.51 V 9.8001816 a 0.29,0.29 
+        0 0 1 0.29,-0.29 h 1.4 a 0.28,0.28 0 0 1 0.28,0.29 v 1.6000004 a 0.6,0.6 0 0 0 0.11,0.34 l 2.52,3.66 a 0.21,0.21 
+        0 0 1 -0.18,0.34 h -6.87 a 0.21,0.21 0 0 1 -0.17,-0.34 z"/>
+</svg>

+ 51 - 0
src/main/webapp/img/lib/azure2/ai_machine_learning/Translator_Text.svg

@@ -0,0 +1,51 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg3438" sodipodi:docname="00800-icon-service-Translator-Text.svg" version="1.1"
+    width="18" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18 18" height="18"
+    xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3426">
+        <linearGradient x1="9" x2="9" gradientUnits="userSpaceOnUse" y2="18" id="bcf06cd3-a4b8-4fd5-87ad-fd0a708c782b">
+            <stop offset="0" stop-color="#5ea0ef" id="stop3411"/>
+            <stop offset="1" stop-color="#0078d4" id="stop3413"/>
+        </linearGradient>
+        <linearGradient gradientTransform="rotate(90,-601.1315,405.8605)" x1="-998.05701" y1="-213.10899" x2="-1002.698"
+            gradientUnits="userSpaceOnUse" y2="-204.987" id="ab8b109c-2878-45da-89b4-5b7b4d0302fd">
+            <stop offset="0" stop-color="#fff" id="stop3416"/>
+            <stop stop-opacity="0.3" stop-color="#fff" id="stop3418" offset="1"/>
+        </linearGradient>
+        <linearGradient gradientTransform="rotate(-90,-609.2505,496.7735)" x1="-122.365" y1="1106.4871" x2="-127.006"
+            gradientUnits="userSpaceOnUse" y2="1114.61" id="aa22a732-ecb4-41ce-bd4f-17b24d84fd2f">
+            <stop offset="0" stop-color="#fff" id="stop3421"/>
+            <stop stop-opacity="0.3" stop-color="#fff" id="stop3423" offset="1"/>
+        </linearGradient>
+    </defs>
+    <rect rx="0.60000002" x="0" width="18" height="18" y="0" style="fill:url(#bcf06cd3-a4b8-4fd5-87ad-fd0a708c782b)"/>
+    <path style="fill:#ffffff" d="m 13.281,9.822 a 3.549,3.549 0 0 0 -1.946,0.537 v 0.94 a 2.819,2.819 0 0 1 1.868,-0.7 
+        q 1.181,0 1.18,1.459 l -1.717,0.241 q -1.89,0.262 -1.89,1.868 a 1.568,1.568 0 0 0 0.484,1.2 1.882,1.882 0 0 0 
+        1.339,0.453 1.921,1.921 0 0 0 1.762,-1.029 h 0.022 v 0.895 H 15.3 v -3.728 q 0,-2.136 -2.019,-2.136 z m 
+        1.1,3.534 a 1.706,1.706 0 0 1 -0.445,1.211 1.47,1.47 0 0 1 -1.126,0.478 1.155,1.155 0 0 1 -0.8,-0.265 
+        0.874,0.874 0 0 1 -0.3,-0.685 0.913,0.913 0 0 1 0.324,-0.8 A 2.247,2.247 0 0 1 13,12.976 l 1.381,-0.19 z"/>
+    <path style="fill:url(#ab8b109c-2878-45da-89b4-5b7b4d0302fd)" d="m 13.782,8.891 1.537,-1.58 C 15.486,7.145 15.425,7 
+        15.159,7 h -0.683 a 0.2,0.2 0 0 1 -0.2,-0.2 C 14.298,5.781 14.012,2.952 10.147,2.856 a 0.2,0.2 0 0 0 -0.2,0.2 v 
+        1 a 0.2,0.2 0 0 0 0.216,0.2 2.373,2.373 0 0 1 2.863,2.544 0.2,0.2 0 0 1 -0.2,0.2 H 12.2 c -0.322,0 -0.376,0.1 
+        -0.161,0.311 l 1.425,1.58 a 0.2,0.2 0 0 0 0.318,0 z"/>
+    <path style="fill:url(#aa22a732-ecb4-41ce-bd4f-17b24d84fd2f)" d="m 4.52,9.932 -1.538,1.58 c -0.167,0.167 
+        -0.106,0.311 0.161,0.311 h 0.682 a 0.2,0.2 0 0 1 0.2,0.2 C 4,13.042 4.285,15.871 8.15,15.967 a 0.2,0.2 0 0 0 
+        0.2,-0.2 v -1 a 0.2,0.2 0 0 0 -0.215,-0.2 2.373,2.373 0 0 1 -2.863,-2.551 0.2,0.2 0 0 1 0.2,-0.2 h 0.632 c 
+        0.321,0 0.375,-0.1 0.16,-0.311 L 4.841,9.932 a 0.2,0.2 0 0 0 -0.321,0 z"/>
+    <path style="fill:#ffffff" d="M 6.63,4.4 A 2.62,2.62 0 0 1 8.046,5.146 2,2 0 0 1 8.032,8.046 3.036,3.036 0 0 1 
+        6.118,8.788 L 5.833,8.145 A 2.731,2.731 0 0 0 7.433,7.683 1.3,1.3 0 0 0 7.998,6.606 1.418,1.418 0 0 0 7.56,5.583 
+        2.046,2.046 0 0 0 6.467,5.01 6.487,6.487 0 0 1 5.329,7.31 2.205,2.205 0 0 0 5.591,7.767 L 5.055,8.139 A 
+        2.221,2.221 0 0 1 4.837,7.806 2.313,2.313 0 0 1 3.393,8.441 1.139,1.139 0 0 1 2.572,8.124 1.246,1.246 0 0 1 
+        2.243,7.187 2.383,2.383 0 0 1 2.777,5.73 3.317,3.317 0 0 1 4.143,4.669 Q 4.167,3.869 4.195,3.55 3.361,3.582 
+        2.878,3.582 L 2.771,2.963 Q 3.29,2.982 4.242,2.947 A 12.15,12.15 0 0 1 4.452,1.583 L 5.071,1.674 4.9,2.9 A 
+        24.13,24.13 0 0 0 7.49,2.59 l 0.131,0.6 A 27.012,27.012 0 0 1 4.844,3.512 7.044,7.044 0 0 0 4.785,4.44 
+        4.058,4.058 0 0 1 5.721,4.317 c 0.082,0 0.162,0 0.242,0.008 A 2.4,2.4 0 0 0 6.078,3.813 L 6.712,3.904 A 
+        3.792,3.792 0 0 1 6.63,4.4 Z M 4.552,7.172 a 6.95,6.95 0 0 1 -0.381,-1.821 2.468,2.468 0 0 0 -0.913,0.8 
+        1.761,1.761 0 0 0 -0.337,1 0.688,0.688 0 0 0 0.143,0.508 0.434,0.434 0 0 0 0.294,0.13 A 1.6,1.6 0 0 0 
+        3.881,7.651 1.952,1.952 0 0 0 4.552,7.172 Z M 5.793,4.962 A 3.7,3.7 0 0 0 4.817,5.109 5.732,5.732 0 0 0 
+        5.047,6.573 6,6 0 0 0 5.793,4.962 Z"/>​
+</svg>

+ 13 - 0
src/main/webapp/img/lib/azure2/analytics/Azure_Databricks.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b1e71479-2138-44e0-adf0-02fe9fed5c1e" sodipodi:docname="10787-icon-service-Azure-Databricks.svg"
+    version="1.1" width="15.69" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 15.69 17" height="17"
+    xmlns="http://www.w3.org/2000/svg">
+    <path style="fill:#ff3621" d="m 0,4.43 v 0.512 l 7.845,4.426 7.006,-3.957 v 1.6 L 7.845,10.991 0.395,6.758 0,6.978 v 
+        3.062 l 7.845,4.415 7.006,-3.942 v 1.586 L 7.845,16.081 0.395,11.847 0,12.067 v 0.519 L 7.845,17 15.69,12.586 V 
+        9.521 L 15.29,9.303 7.845,13.536 0.837,9.554 V 7.976 L 7.845,11.914 15.69,7.5 V 4.478 L 15.29,4.259 7.845,8.493 
+        1.197,4.715 7.845,0.96 13.321,4.054 13.8,3.785 V 3.363 L 7.845,0 Z"/>
+</svg>

+ 32 - 0
src/main/webapp/img/lib/azure2/compute/Automanaged_VM.svg

@@ -0,0 +1,32 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg1052" sodipodi:docname="02112-icon-service-Automanaged-VM.svg" version="1.1"
+    width="18" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18 16.629999"
+    height="16.629999" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs1042">
+        <linearGradient gradientTransform="matrix(1,0,0,-1,0,791.516)" x1="9" y1="778.83099" x2="9" gradientUnits="userSpaceOnUse"
+            y2="790.83099" id="afd24f05-59be-4c06-8334-605403fb2b7b">
+            <stop offset="0" stop-color="#0078d4" id="stop1032"/>
+            <stop offset="0.8" stop-color="#5ea0ef" id="stop1034"/>
+        </linearGradient>
+        <linearGradient gradientTransform="matrix(1,0,0,-1,0,791.516)" x1="9" y1="774.20099" x2="9" gradientUnits="userSpaceOnUse"
+            y2="778.83099" id="aabc180f-9b9a-4846-a6e7-4110dfc7dad5">
+            <stop offset="0" stop-color="#ccc" id="stop1037"/>
+            <stop offset="1" stop-color="#707070" id="stop1039"/>
+        </linearGradient>
+    </defs>
+    <rect rx="0.60000002" x="0" width="18" height="12" y="0" style="fill:url(#afd24f05-59be-4c06-8334-605403fb2b7b)"/>
+    <path style="fill:url(#aabc180f-9b9a-4846-a6e7-4110dfc7dad5)" d="M 12.61,15.63 C 10.83,15.35 10.76,14.07 10.76,12 H 
+        7.23 c 0,2.07 -0.06,3.35 -1.84,3.63 a 1,1 0 0 0 -0.89,1 h 9 a 1,1 0 0 0 -0.89,-1 z"/>
+    <path style="opacity:0.8;fill:#ffffff" d="M 10.109,1.494 A 0.27733959,0.27733959 0 0 0 9.974,2.032 4.107,4.107 0 1 1 
+        5.488,3.869 L 5.599,3.946 6.378,4.489 A 0.048,0.048 0 0 0 6.428,4.433 L 6.245,2.309 A 0.048,0.048 0 0 0 
+        6.19,2.27 L 4.2,2.915 A 0.048,0.048 0 0 0 4.166,2.982 l 0.821,0.541 0.046,0.031 a 4.647,4.647 0 1 0 5.079,-2.06 
+        z"/>
+    <path style="fill:#ffffff" d="M 11.183,5.115 10.849,4.536 11.03,3.48 10.181,2.99 9.357,3.675 H 8.689 L 7.865,2.99 
+        7.016,3.48 7.2,4.54 6.863,5.115 5.858,5.486 V 6.467 L 6.863,6.838 7.197,7.416 7.016,8.477 7.865,8.967 
+        8.689,8.282 H 9.357 L 10.181,8.967 11.03,8.477 10.849,7.42 11.183,6.842 12.188,6.471 V 5.49 Z M 9.023,7.461 A 
+        1.481,1.481 0 1 1 10.5,5.98 1.481,1.481 0 0 1 9.023,7.461 Z"/>​
+</svg>

+ 50 - 0
src/main/webapp/img/lib/azure2/compute/Azure_Spring_Cloud.svg

@@ -0,0 +1,50 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b9f988c7-d095-4215-8b16-8d8cc86b6c65" sodipodi:docname="10370-icon-service-Azure-Spring-Cloud.svg"
+    version="1.1" width="17.000044" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.000044 16.976"
+    height="16.976" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs1186">
+        <linearGradient x1="-0.25799999" y1="-0.226" x2="8.7270002" gradientUnits="userSpaceOnUse" y2="8.7200003" id="b47f94fd-7fe4-4917-bd6e-7d39fdacb02d">
+            <stop offset="0.059" stop-color="#0086ec" id="stop1166"/>
+            <stop offset="1" stop-color="#004dae" id="stop1168"/>
+        </linearGradient>
+        <linearGradient x1="9.0640001" y1="8.7799997" x2="17.493" gradientUnits="userSpaceOnUse" y2="0.66900003" id="bef9bc5a-934e-44d8-b62b-16ab92305435">
+            <stop offset="0" stop-color="#004dae" id="stop1171"/>
+            <stop offset="0.941" stop-color="#0086ec" id="stop1173"/>
+        </linearGradient>
+        <linearGradient x1="8.8629999" y1="8.4989996" x2="17.77" gradientUnits="userSpaceOnUse" y2="18.080999" id="a0c9727a-e709-4755-89bc-774bac323d99">
+            <stop offset="0.059" stop-color="#0086ec" id="stop1176"/>
+            <stop offset="1" stop-color="#004dae" id="stop1178"/>
+        </linearGradient>
+        <linearGradient x1="8.6429996" y1="9.1630001" x2="0.493" gradientUnits="userSpaceOnUse" y2="17.672001" id="e54b8060-10bb-4b24-8de8-05d1103aa483">
+            <stop offset="0.059" stop-color="#0086ec" id="stop1181"/>
+            <stop offset="1" stop-color="#004dae" id="stop1183"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#b47f94fd-7fe4-4917-bd6e-7d39fdacb02d)" d="m 6.8350437,6.836 h -5.405 a 0.286,0.286 0 0 1 
+        -0.286,-0.286 V 1.431 a 0.286,0.286 0 0 1 0.286,-0.286 h 5.119 a 0.286,0.286 0 0 1 0.286,0.286 v 5.405 m 
+        1.145,1.144 V 0.289 A 0.287,0.287 0 0 0 7.6940437,0 H 0.28604371 A 0.287,0.287 0 0 0 4.3709692e-5,0.289 V 7.694 
+        A 0.286,0.286 0 0 0 0.28604371,7.98 Z"/>
+    <path style="fill:url(#bef9bc5a-934e-44d8-b62b-16ab92305435)" d="m 10.165044,6.836 v -5.4 a 0.286,0.286 0 0 1 
+        0.286,-0.286 h 5.119 a 0.286,0.286 0 0 1 0.286,0.286 V 6.55 a 0.286,0.286 0 0 1 -0.286,0.286 h -5.405 M 
+        9.0200437,7.98 h 7.6940003 a 0.286,0.286 0 0 0 0.286,-0.286 V 0.289 a 0.287,0.287 0 0 0 -0.286,-0.287 H 
+        9.3060437 a 0.287,0.287 0 0 0 -0.286,0.287 z"/>
+    <path style="fill:url(#a0c9727a-e709-4755-89bc-774bac323d99)" d="m 10.165044,10.142 h 5.405 a 0.286,0.286 0 0 1 
+        0.286,0.286 v 5.119 a 0.286,0.286 0 0 1 -0.286,0.286 h -5.119 a 0.286,0.286 0 0 1 -0.286,-0.286 v -5.4 M 
+        9.0200437,8.998 v 7.691 a 0.287,0.287 0 0 0 0.286,0.287 h 7.4080003 a 0.287,0.287 0 0 0 0.286,-0.287 v -7.4 a 
+        0.286,0.286 0 0 0 -0.286,-0.286 z"/>
+    <path style="fill:url(#e54b8060-10bb-4b24-8de8-05d1103aa483)" d="m 6.8350437,10.142 v 5.4 a 0.286,0.286 0 0 1 
+        -0.286,0.286 h -5.119 a 0.286,0.286 0 0 1 -0.286,-0.286 v -5.114 a 0.286,0.286 0 0 1 0.286,-0.286 h 5.405 m 
+        1.145,-1.144 H 0.28604371 A 0.286,0.286 0 0 0 4.3709692e-5,9.289 v 7.4 A 0.287,0.287 0 0 0 0.28604371,16.976 H 
+        7.6940437 a 0.287,0.287 0 0 0 0.286,-0.287 z"/>
+    <path style="fill:#5fb832" d="m 14.400044,7.709 a 15.94,15.94 0 0 0 -1.033,-4.881 4.868,4.868 0 0 1 -0.563,0.985 A 
+        5.8,5.8 0 0 0 8.7680437,2.17 5.633,5.633 0 1 0 14.400044,7.803 Z"/>
+    <path style="fill:#ffffff" d="m 13.321044,10.338 c -1.408,1.83 -4.3650003,1.22 -6.2420003,1.314 a 5.315,5.315 0 0 0 
+        -0.658,0.047 l 0.282,-0.094 a 21.8,21.8 0 0 0 2.769,-0.986 6.39,6.39 0 0 0 3.3330003,-4.271 6.617,6.617 0 0 1 
+        -3.9430003,3.755 22.549,22.549 0 0 1 -3.1,0.8 l -0.094,-0.047 c -1.359,-0.659 -1.406,-3.616 1.032,-4.555 
+        1.08,-0.422 2.112,-0.188 3.286,-0.469 A 5.256,5.256 0 0 0 13.275044,3.389 c 0.704,2.02 1.455,5.071 0.046,6.949 z 
+        m -7.9320003,1.83 a 0.469,0.469 0 1 0 -0.47,-0.469 0.469,0.469 0 0 0 0.47,0.469 z"/>
+</svg>

+ 30 - 0
src/main/webapp/img/lib/azure2/databases/Azure_SQL.svg

@@ -0,0 +1,30 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg1661" sodipodi:docname="02390-icon-service-Azure-SQL.svg" version="1.1" width="18"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18 13.052629"
+    height="13.052629" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs1654">
+        <linearGradient x1="9.908" y1="15.943" x2="7.5159998" gradientUnits="userSpaceOnUse" y2="2.3829999" id="f67d1585-6164-4ad0-b2dd-f9cc59b2969f">
+            <stop offset="0.15" stop-color="#0078d4" id="stop1647"/>
+            <stop offset="0.8" stop-color="#5ea0ef" id="stop1649"/>
+            <stop offset="1" stop-color="#83b9f9" id="stop1651"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#f67d1585-6164-4ad0-b2dd-f9cc59b2969f)" d="M 14.49,4.987081 A 5.147,5.147 0 0 0 
+        9.24,0.00108104 5.272,5.272 0 0 0 4.216,3.490081 4.869,4.869 0 0 0 0,8.237081 a 4.946,4.946 0 0 0 5.068,4.814 h 
+        8.752 a 4.292,4.292 0 0 0 4.18,-4.087 4.105,4.105 0 0 0 -3.51,-3.977 z"/>
+    <path style="fill:#f2f2f2" d="m 12.9,9.237081 v -3.4 H 12 v 4.13 h 2.46 v -0.73 z m -7.14,-1.67 a 1.825,1.825 0 0 1 
+        -0.51,-0.31 0.441,0.441 0 0 1 -0.12,-0.32 0.342,0.342 0 0 1 0.15,-0.3 0.683,0.683 0 0 1 0.42,-0.12 1.62,1.62 0 0 
+        1 1,0.29 v -0.86 a 2.58,2.58 0 0 0 -1,-0.16 1.641,1.641 0 0 0 -1.09,0.34 1.08,1.08 0 0 0 -0.42,0.89 c 0,0.51 
+        0.32,0.91 1,1.21 a 2.907,2.907 0 0 1 0.62,0.36 0.419,0.419 0 0 1 0.15,0.32 0.381,0.381 0 0 1 -0.16,0.31 
+        0.806,0.806 0 0 1 -0.45,0.11 1.66,1.66 0 0 1 -1.09,-0.42 v 0.93 a 2.173,2.173 0 0 0 1.07,0.24 1.877,1.877 0 0 0 
+        1.18,-0.33 1.08,1.08 0 0 0 0.33,-0.91 1.048,1.048 0 0 0 -0.25,-0.7 2.425,2.425 0 0 0 -0.83,-0.57 z m 5.24,1.59 a 
+        2.191,2.191 0 0 0 0,-2.32 1.808,1.808 0 0 0 -0.7,-0.75 2,2 0 0 0 -1,-0.26 2.112,2.112 0 0 0 -1.08,0.27 
+        1.856,1.856 0 0 0 -0.73,0.74 2.465,2.465 0 0 0 -0.26,1.14 2.256,2.256 0 0 0 0.24,1 1.766,1.766 0 0 0 0.69,0.74 
+        2.056,2.056 0 0 0 1,0.3 l 0.86,1 h 1.21 l -1.23,-1.1 a 1.79,1.79 0 0 0 1,-0.76 z m -1,-0.25 a 0.941,0.941 0 0 1 
+        -0.76,0.35 0.916,0.916 0 0 1 -0.76,-0.36 1.523,1.523 0 0 1 -0.29,-1 1.529,1.529 0 0 1 0.29,-1 1,1 0 0 1 
+        0.78,-0.37 0.869,0.869 0 0 1 0.75,0.37 1.619,1.619 0 0 1 0.27,1 1.459,1.459 0 0 1 -0.28,1.01 z"/>​
+</svg>

+ 39 - 0
src/main/webapp/img/lib/azure2/databases/SSIS_Lift_And_Shift_IR.svg

@@ -0,0 +1,39 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="af189b19-13e4-4905-af1b-f05e22230012" sodipodi:docname="02392-icon-service-SSIS-Lift-And-Shift-IR.svg"
+    version="1.1" width="16.211733" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 90.065183 99.335999"
+    height="17.88048" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs1782">
+        <linearGradient gradientTransform="matrix(1,0,0,-1,0,102)" x1="4.9689999" y1="45.222" x2="79.875" gradientUnits="userSpaceOnUse"
+            y2="45.222" id="e3344512-11a0-4dfd-b3f7-44857e080202">
+            <stop offset="0" stop-color="#005ba1" id="stop1767"/>
+            <stop offset="0.07" stop-color="#0060a9" id="stop1769"/>
+            <stop offset="0.36" stop-color="#0071c8" id="stop1771"/>
+            <stop offset="0.52" stop-color="#0078d4" id="stop1773"/>
+            <stop offset="0.64" stop-color="#0074cd" id="stop1775"/>
+            <stop offset="0.82" stop-color="#006abb" id="stop1777"/>
+            <stop offset="1" stop-color="#005ba1" id="stop1779"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#e3344512-11a0-4dfd-b3f7-44857e080202)" d="M 37.46,27.113 C 16.774,27.113 0.004,21.27 
+        0.004,13.556 V 85.78 c 0,7.421 16.478,13.439 36.93,13.556 h 0.526 c 20.681,0 37.45,-5.843 37.45,-13.556 V 13.556 
+        c 0,7.538 -16.769,13.557 -37.45,13.557 z"/>
+    <path style="fill:#e8e8e8" d="m 74.91,13.556 c 0,7.538 -16.769,13.557 -37.45,13.557 C 16.779,27.113 0,21.268 
+        0,13.556 0,5.844 16.77,0 37.46,0 58.15,0 74.91,5.843 74.91,13.556 Z"/>
+    <path style="fill:#50e6ff" d="m 66.205,12.445 c 0,4.793 -12.914,8.649 -28.749,8.649 -15.835,0 -28.749,-3.856 
+        -28.749,-8.649 0,-4.793 12.914,-8.589 28.749,-8.589 15.835,0 28.749,3.857 28.749,8.589 z"/>
+    <path style="fill:#198ab3" d="m 37.46,14.42 a 73.46,73.46 0 0 0 -22.725,3.331 c 4.985,1.839 15.164,3.645 
+        22.866,3.376 A 65.267,65.267 0 0 0 60.335,17.676 76.58,76.58 0 0 0 37.46,14.42 Z"/>
+    <path style="fill:#ffffff" d="M 67.925,95.886 A 19.635,19.635 0 1 0 48.29,76.251 19.635,19.635 0 0 0 67.925,95.886 
+        Z"/>
+    <path style="fill:#003067" d="m 67.456,59.596 a 16.65,16.65 0 1 1 -6.374,1.272 16.656,16.656 0 0 1 6.374,-1.272 z m 
+        0,-5.96 a 22.64,22.64 0 1 0 15.979,6.632 22.609,22.609 0 0 0 -15.979,-6.632 z"/>
+    <path style="fill:#76bc2d" d="m 56.988,81.512 a 2.689,2.689 0 0 0 2.682,2.669 h 0.018 l 8.991,-0.078 V 78.45 h -5.8 
+        V 68.037 l -3.3,0.02 a 2.681,2.681 0 0 0 -2.473,1.676 2.7,2.7 0 0 0 -0.2,1.031 l 0.027,3.97 h -3.564 v 2.662 h 
+        3.583 z"/>
+    <path style="fill:#76bc2d" d="m 78.548,70.622 a 2.689,2.689 0 0 0 -2.682,-2.669 h -0.018 l -8.813,0.074 v 6.272 h 
+        5.8 v 9.8 l 3.121,-0.02 a 2.683,2.683 0 0 0 2.669,-2.7 l -0.027,-3.974 h 3.571 v -2.671 h -3.588 z"/>​
+</svg>

+ 34 - 0
src/main/webapp/img/lib/azure2/general/Cost_Management_and_Billing.svg

@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b731f684-7cb9-4db7-b2c1-15068abf133d" sodipodi:docname="00004-icon-service-Cost-Management-and-Billing.svg"
+    version="1.1" width="16.98" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.98 17.010151"
+    height="17.010151" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2042">
+        <radialGradient gradientUnits="userSpaceOnUse" cx="7.1799998" r="7.3800001" id="f65398a3-df69-4689-8d5a-25969160d437"
+            cy="9.5">
+            <stop offset="0" stop-color="#76bc2d" id="stop2031"/>
+            <stop offset="0.41" stop-color="#74b92c" id="stop2033"/>
+            <stop offset="0.66" stop-color="#6fb12a" id="stop2035"/>
+            <stop offset="0.88" stop-color="#66a227" id="stop2037"/>
+            <stop offset="1" stop-color="#5e9624" id="stop2039"/>
+        </radialGradient>
+    </defs>
+    <path style="fill:#258277" d="m 9.48,9.7600054 a 1,1 0 0 1 -0.31,0.7899996 1.49,1.49 0 0 1 -0.89,0.37 v 0.6 H 7.84 v 
+        -0.62 a 2.36,2.36 0 0 1 -1.1,-0.28 V 9.8100054 a 1.8,1.8 0 0 0 0.5,0.2499996 2.49,2.49 0 0 0 0.6,0.14 V 
+        9.1600054 a 2.42,2.42 0 0 1 -0.91,-0.53 1.15,1.15 0 0 1 0.06,-1.55 1.41,1.41 0 0 1 0.85,-0.38 v -0.55 h 0.43 v 
+        0.54 a 2.21,2.21 0 0 1 0.92,0.2 v 0.8 a 2.28,2.28 0 0 0 -0.92,-0.31 v 1.14 a 2.34,2.34 0 0 1 0.92,0.54 1,1 0 0 1 
+        0.29,0.7 z m -1.64,-1.43 v -0.93 a 0.4,0.4 0 0 0 -0.36,0.42 c 0,0.21 0.13,0.38 0.4,0.51 z m 0.85,1.47 c 0,-0.19 
+        -0.14,-0.34 -0.42,-0.47 v 0.8999996 c 0.28,-0.05 0.42,-0.19 0.42,-0.4299996 z"/>
+    <path style="fill:#ffca00" d="m 16.02,9.0100054 h -3.6 a 4.43,4.43 0 0 1 -1.48,3.2999996 l 2.39,2.69 a 8,8 0 0 0 
+        2.69,-5.9999996"/>
+    <path style="fill:url(#f65398a3-df69-4689-8d5a-25969160d437)" d="M 8,13.450005 A 4.43,4.43 0 0 1 8,4.5900054 v -3.58 
+        a 8,8 0 0 0 -8,8 v 0 a 8,8 0 0 0 8,7.9999996 v 0 a 8,8 0 0 0 5.34,-2 l -2.4,-2.69 a 4.38,4.38 0 0 1 -2.94,1.13 
+        z"/>
+    <path style="fill:#cccccc" d="m 7.63,5.3533206e-6 v 0 V 4.1600054 v 0 a 5.09,5.09 0 0 1 5.17,5.18 h 4.18 A 9.34,9.34 
+        0 0 0 7.63,5.3533206e-6 Z"/>
+    <path style="fill:#999999" d="m 12.82,9.3400054 a 5.13,5.13 0 0 0 -5.06,-5.18 H 7.63 l 0.33,0.62 a 4.5,4.5 0 0 1 
+        4.23,4.25 z"/>
+</svg>

+ 36 - 0
src/main/webapp/img/lib/azure2/general/Free_Services.svg

@@ -0,0 +1,36 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b7f3cc8c-0f17-4df2-b094-aa6721afea52" sodipodi:docname="10016-icon-service-Free-Services.svg"
+    version="1.1" width="16.75" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.75 15.48"
+    height="15.48" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2230">
+        <linearGradient x1="9" y1="12.43" x2="9" gradientUnits="userSpaceOnUse" y2="1.26" id="f2d4c630-5e56-4dbd-bc1a-8308f98f4aba">
+            <stop offset="0" stop-color="#0078d4" id="stop2220"/>
+            <stop offset="0.82" stop-color="#5ea0ef" id="stop2222"/>
+        </linearGradient>
+        <linearGradient x1="9" y1="16.74" x2="9" gradientUnits="userSpaceOnUse" y2="12.43" id="ae31fcfe-e9ed-4030-a840-88293eb566e7">
+            <stop offset="0.15" stop-color="#ccc" id="stop2225"/>
+            <stop offset="1" stop-color="#707070" id="stop2227"/>
+        </linearGradient>
+    </defs>
+    <rect rx="0.56" x="0" width="16.75" height="11.17" y="0" style="fill:url(#f2d4c630-5e56-4dbd-bc1a-8308f98f4aba)"/>
+    <polygon style="fill:#50e6ff" points="11.79,6.34 11.79,9.59 9,11.22 9,7.97" transform="translate(-0.62,-1.26)"/>
+    <polygon style="fill:#9cebff" points="9,7.97 9,11.22 6.21,9.59 6.21,6.34" transform="translate(-0.62,-1.26)"/>
+    <polygon style="fill:#c3f1ff" points="9,7.97 9,11.22 6.21,9.59" transform="translate(-0.62,-1.26)"/>
+    <polygon style="fill:#9cebff" points="9,7.97 9,11.22 11.79,9.59" transform="translate(-0.62,-1.26)"/>
+    <path style="fill:url(#ae31fcfe-e9ed-4030-a840-88293eb566e7)" d="M 11.74,14.55 C 10.08,14.29 10.02,13.09 10.02,11.17 
+        H 6.74 c 0,1.92 -0.06,3.12 -1.72,3.38 a 1,1 0 0 0 -0.83,0.93 h 8.38 a 1,1 0 0 0 -0.83,-0.93 z"/>
+    <path style="fill:#c3f1ff" d="m 10.51,4.96 a 3.78,3.78 0 0 1 -2.08,0 L 8.38,4.91 8.19,4.98 A 3.57,3.57 0 0 1 
+        6.12,4.83 v 0 L 5.66,5.1 8.38,6.74 11.17,5.1 10.79,4.88 Z"/>
+    <path style="fill:#ffca00" d="M 11.86,3.74 C 11.77,3.45 11.41,3.04 10.03,3.46 a 3.78,3.78 0 0 0 -1.55,1 4.33,4.33 0 
+        0 1 2.69,-1.73 L 9.96,2.67 10.38,1.86 a 4.34,4.34 0 0 0 -2,2.54 c 0,0 0,0.09 0,0.13 A 5.89,5.89 0 0 0 
+        5.76,0.74000001 L 6.17,1.82 H 4.49 A 6.37,6.37 0 0 1 7.7,3.95 3.42,3.42 0 0 0 6.7,3.33 2.25,2.25 0 0 0 5.22,3.11 
+        0.63,0.63 0 0 0 4.85,3.47 C 4.73,3.75 4.75,4.3 6.08,4.83 A 3.57,3.57 0 0 0 8.15,4.98 L 8.38,4.91 h 0.08 a 
+        3.78,3.78 0 0 0 2.08,0 2.33,2.33 0 0 0 1.28,-0.76 0.62,0.62 0 0 0 0.04,-0.41 z M 6.28,4.41 C 5.5,4.1 5.22,3.78 
+        5.28,3.62 a 0.11,0.11 0 0 1 0.1,-0.08 c 0.1,0 0.42,-0.09 1.15,0.21 A 3,3 0 0 1 7.7,4.61 3.27,3.27 0 0 1 
+        6.28,4.41 Z m 5.1,-0.45 a 2,2 0 0 1 -1,0.56 3.2,3.2 0 0 1 -1.45,0.07 3.34,3.34 0 0 1 1.24,-0.76 c 0.8,-0.25 
+        1.21,-0.18 1.27,0 a 0.17,0.17 0 0 1 -0.06,0.13 z"/>
+</svg>

+ 29 - 0
src/main/webapp/img/lib/azure2/general/Resource_Explorer.svg

@@ -0,0 +1,29 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="ae0f0a87-55d1-4209-a659-116f5661950c" sodipodi:docname="10349-icon-service-Resource-Explorer.svg"
+    version="1.1" width="17.0005" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.0005 13.880001"
+    height="13.880001" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2347">
+        <linearGradient x1="9" y1="15.92" x2="9" gradientUnits="userSpaceOnUse" y2="3.5799999" id="b9aa270a-a747-473c-8e0d-b8fa9ead4a39">
+            <stop offset="0" stop-color="#e27908" id="stop2336"/>
+            <stop offset="0.3" stop-color="#e57e0a" id="stop2338"/>
+            <stop offset="0.64" stop-color="#ed8b11" id="stop2340"/>
+            <stop offset="1" stop-color="#faa21d" id="stop2342"/>
+            <stop offset="1" stop-color="#faa21d" id="stop2344"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#ef7100" d="M 16.6,1.540001 H 9.19 a 0.34,0.34 0 0 1 -0.22,-0.07 L 6.85,0.06000096 A 0.43,0.43 0 0 
+        0 6.63,9.6153962e-7 H 0.4 A 0.4,0.4 0 0 0 0,0.39000096 V 13.490001 a 0.4,0.4 0 0 0 0.4,0.39 h 16.2 a 0.4,0.4 0 0 
+        0 0.4,-0.39 v -11.55 a 0.4,0.4 0 0 0 -0.4,-0.4 z"/>
+    <rect rx="0.16" x="1.55" width="3.8599999" height="0.76999998" y="0.76000088" style="fill:#ffffff"/>
+    <rect rx="0.11" x="1.55" width="0.76999998" height="0.76999998" y="0.76000088" style="fill:#d15900"/>
+    <path style="fill:url(#b9aa270a-a747-473c-8e0d-b8fa9ead4a39)" d="M 16.6,1.520001 H 8.5 a 0.36,0.36 0 0 0 -0.28,0.12 
+        l -1.35,1.3 a 0.43,0.43 0 0 1 -0.28,0.11 H 0.4 a 0.4,0.4 0 0 0 -0.4,0.4 v 10 a 0.4,0.4 0 0 0 0.4,0.39 h 16.2 a 
+        0.4,0.4 0 0 0 0.4,-0.39 v -11.51 a 0.4,0.4 0 0 0 -0.4,-0.42 z"/>
+    <polygon style="fill:#ffca00" points="9.25,14.31 9.25,10.12 12.84,8.03 12.84,12.21" transform="translate(-0.5,-2.059999)"/>
+    <polygon style="fill:#ffe452" points="5.65,8.03 9.25,5.92 12.84,8.03 9.25,10.13" transform="translate(-0.5,-2.059999)"/>
+    <polygon style="fill:#ffd400" points="5.65,12.21 5.65,8.03 9.25,10.13 9.25,14.31" transform="translate(-0.5,-2.059999)"/>
+</svg>

+ 25 - 0
src/main/webapp/img/lib/azure2/general/Tag.svg

@@ -0,0 +1,25 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="ada44b30-b0e0-4b69-a3b4-281ce9b31578" sodipodi:docname="10014-icon-service-Tag.svg"
+    version="1.1" width="17.662968" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.662968 17.371599"
+    height="17.371599" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2148">
+        <linearGradient x1="9" y1="0.31" x2="9" gradientUnits="userSpaceOnUse" y2="17.690001" id="bf2c5efd-c986-4496-8dde-2626619483cc">
+            <stop offset="0" stop-color="#c69aeb" id="stop2137"/>
+            <stop offset="0.09" stop-color="#bb90e4" id="stop2139"/>
+            <stop offset="0.49" stop-color="#926bc9" id="stop2141"/>
+            <stop offset="0.81" stop-color="#7854b8" id="stop2143"/>
+            <stop offset="1" stop-color="#6f4bb2" id="stop2145"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#bf2c5efd-c986-4496-8dde-2626619483cc)" d="m 17.490625,2.5500848 -2.39,-2.36999997 a 0.58,0.58 
+        0 0 0 -0.43,-0.180000003871 l -4.43,0.170000003871 a 0.52,0.52 0 0 0 -0.4099995,0.17 L 0.17062547,9.9600848 a 
+        0.59,0.59 0 0 0 0,0.8300002 l 6.44000003,6.41 a 0.6,0.6 0 0 0 0.84,0 L 17.140625,7.5700848 a 0.58,0.58 0 0 0 
+        0.17,-0.37 l 0.35,-4.19 a 0.57,0.57 0 0 0 -0.17,-0.46 z m -2.88,1.57 a 1.08,1.08 0 1 1 1.08,-1.07 1.07,1.07 0 0 
+        1 -1.08,1.07 z"/>
+    <path style="fill:#552f99" d="m 14.610625,1.1300848 a 1.92,1.92 0 1 0 1.93,1.92 1.93,1.93 0 0 0 -1.93,-1.92 z m 
+        1.06,2.13 a 1.08,1.08 0 1 1 -1.27,-1.27 1.08,1.08 0 0 1 1.27,1.27 z"/>
+</svg>

+ 29 - 0
src/main/webapp/img/lib/azure2/identity/Azure_AD_Identity_Protection.svg

@@ -0,0 +1,29 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="e43c77ce-4ab9-446f-aa74-c41429bb9cbb" sodipodi:docname="10231-icon-service-Azure-AD-Identity-Protection.svg"
+    version="1.1" width="18" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18 16.379999"
+    height="16.379999" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2625">
+        <linearGradient gradientTransform="translate(0,0.81)" x1="8.21" y1="5.1599998" x2="12.34" gradientUnits="userSpaceOnUse"
+            y2="11.42" id="b371e9d4-03ce-4242-9f79-d5a269ffcb88">
+            <stop offset="0" stop-color="#f9a11f" id="stop2613"/>
+            <stop offset="0.02" stop-color="#f89f1f" id="stop2615"/>
+            <stop offset="0.39" stop-color="#f28721" id="stop2617"/>
+            <stop offset="0.72" stop-color="#ed7823" id="stop2619"/>
+            <stop offset="1" stop-color="#ec7323" id="stop2621"/>
+        </linearGradient>
+        <linearGradient href="#b371e9d4-03ce-4242-9f79-d5a269ffcb88" x1="96.348217" gradientTransform="matrix(1.1366718,0,0,0.87976142,0,0.81)"
+            y1="99.57313" x2="137.6817" gradientUnits="userSpaceOnUse" y2="155.98775" id="a1794fd5-e1a9-408f-9605-810ce38ab87a"/>
+    </defs>
+    <polygon style="fill:#faa21d" points="16.99,10.17 18,11.35 8.93,17.19 0,11.35 1.01,10.19 8.93,15.33" transform="translate(0,-0.81)"/>
+    <polygon style="fill:#ffffff" points="16.4,9.54 8.93,14.26 1.61,9.53 8.93,0.81" transform="translate(0,-0.81)"/>
+    <polygon style="fill:#f78d1e" points="1.61,9.53 8.93,0.81 8.93,14.26" transform="translate(0,-0.81)"/>
+    <polygon style="fill:url(#b371e9d4-03ce-4242-9f79-d5a269ffcb88)" points="16.4,9.54 8.93,0.81 8.93,14.26" transform="translate(0,-0.81)"/>
+    <polygon style="fill:#f78d1e" points="8.93,14.26 8.93,7.76 16.4,9.54" transform="translate(0,-0.81)"/>
+    <polygon style="fill:#faa21d" points="8.93,7.76 8.93,14.26 1.61,9.53" transform="translate(0,-0.81)"/>
+    <polygon style="fill:url(#a1794fd5-e1a9-408f-9605-810ce38ab87a)" points="16.99,10.17 8.93,15.33 8.93,17.19 18,11.35"
+        transform="translate(0,-0.81)"/>
+</svg>

+ 43 - 0
src/main/webapp/img/lib/azure2/identity/Managed_Identities.svg

@@ -0,0 +1,43 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="f807cdde-18f2-4574-ba14-f0b1eef94a4a" sodipodi:docname="10227-icon-service-Managed-Identities.svg"
+    version="1.1" width="17.700001" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.700001 17.001848"
+    height="17.001848" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2523">
+        <linearGradient gradientTransform="translate(0.15,1)" x1="13.18" y1="13.01" x2="8.6300001" gradientUnits="userSpaceOnUse"
+            y2="4.3800001" id="bb67b154-af8f-4a53-a9ce-aa046b9398e9">
+            <stop offset="0" stop-color="#1988d9" id="stop2507"/>
+            <stop offset="0.9" stop-color="#54aef0" id="stop2509"/>
+        </linearGradient>
+        <linearGradient gradientTransform="translate(0.15,1)" x1="11.22" y1="10.5" x2="14.37" gradientUnits="userSpaceOnUse"
+            y2="15.93" id="a47d7138-084a-471d-8d63-744e75b9e8a3">
+            <stop offset="0.1" stop-color="#54aef0" id="stop2512"/>
+            <stop offset="0.29" stop-color="#4fabee" id="stop2514"/>
+            <stop offset="0.51" stop-color="#41a2e9" id="stop2516"/>
+            <stop offset="0.74" stop-color="#2a93e0" id="stop2518"/>
+            <stop offset="0.88" stop-color="#1988d9" id="stop2520"/>
+        </linearGradient>
+    </defs>
+    <polygon style="fill:#50e6ff" points="8.93,17.11 0.15,11.37 1.15,10.22 8.93,15.27 16.85,10.21 17.85,11.36"
+        transform="translate(-0.15,-1)"/>
+    <polygon style="fill:#ffffff" points="1.73,9.58 8.93,1 16.28,9.59 8.93,14.23" transform="translate(-0.15,-1)"/>
+    <polygon style="fill:#50e6ff" points="8.93,14.23 1.73,9.58 8.93,1" transform="translate(-0.15,-1)"/>
+    <polygon style="fill:url(#bb67b154-af8f-4a53-a9ce-aa046b9398e9)" points="8.93,14.23 16.28,9.59 8.93,1" transform="translate(-0.15,-1)"/>
+    <polygon style="fill:#53b1e0" points="16.28,9.59 8.93,14.23 8.93,7.83" transform="translate(-0.15,-1)"/>
+    <polygon style="fill:#9cebff" points="1.73,9.58 8.93,7.83 8.93,14.23" transform="translate(-0.15,-1)"/>
+    <polygon style="fill:url(#a47d7138-084a-471d-8d63-744e75b9e8a3)" points="8.93,17.11 17.85,11.36 16.85,10.21 
+        8.93,15.27" transform="translate(-0.15,-1)"/>
+    <path style="fill:#ffca00" d="m 16.17,10.88 a 1.16,1.16 0 0 0 0,-1.65 v 0 l -2,-2 a 1.16,1.16 0 0 0 -1.64,0 v 0 l 
+        -2,2 a 1.18,1.18 0 0 0 0,1.65 l 1.67,1.67 a 0.32,0.32 0 0 1 0.09,0.23 v 3.1 a 0.36,0.36 0 0 0 0.12,0.28 l 
+        0.76,0.76 a 0.25,0.25 0 0 0 0.37,0 l 0.73,-0.73 v 0 l 0.44,-0.44 a 0.15,0.15 0 0 0 0,-0.21 L 14.4,15.23 a 
+        0.16,0.16 0 0 1 0,-0.24 l 0.31,-0.31 a 0.16,0.16 0 0 0 0,-0.22 L 14.4,14.15 a 0.15,0.15 0 0 1 0,-0.23 l 
+        0.31,-0.32 a 0.15,0.15 0 0 0 0,-0.21 L 14.27,12.95 V 12.79 Z M 13.35,7.71 a 0.66,0.66 0 1 1 -0.66,0.66 0.66,0.66 
+        0 0 1 0.66,-0.66 z"/>
+    <path style="opacity:0.75;fill:#ff9300" d="m 12.85,16 v 0 a 0.14,0.14 0 0 0 0.24,-0.11 V 13.33 A 0.16,0.16 0 0 0 
+        13.03,13.2 v 0 a 0.14,0.14 0 0 0 -0.22,0.13 v 2.51 A 0.15,0.15 0 0 0 12.85,16 Z"/>
+    <rect rx="0.18000001" x="11.75" width="3.29" height="0.38999999" y="9.8999996" style="opacity:0.75;fill:#ff9300"/>
+    <rect rx="0.18000001" x="11.75" width="3.29" height="0.38999999" y="10.53" style="opacity:0.75;fill:#ff9300"/>
+</svg>

+ 30 - 0
src/main/webapp/img/lib/azure2/integration/Azure_API_for_FHIR.svg

@@ -0,0 +1,30 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="ef79a744-318f-442b-aa6b-8fc230cf7aaf" sodipodi:docname="10212-icon-service-Azure-API-for-FHIR.svg"
+    version="1.1" width="16.994802" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.994802 16.134813"
+    height="16.134813" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2883">
+        <linearGradient x1="9.0900002" y1="17.5" x2="9.0900002" gradientUnits="userSpaceOnUse" y2="1.36" id="e25b5478-43f7-4f53-84a7-1f55844412ae">
+            <stop offset="0" stop-color="#ef7100" id="stop2872"/>
+            <stop offset="0.13" stop-color="#f27d07" id="stop2874"/>
+            <stop offset="0.43" stop-color="#f69113" id="stop2876"/>
+            <stop offset="0.72" stop-color="#f99e1b" id="stop2878"/>
+            <stop offset="1" stop-color="#faa21d" id="stop2880"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#e25b5478-43f7-4f53-84a7-1f55844412ae)" d="M 12.87748,0.01481299 A 4.26,4.26 0 0 0 
+        8.4974798,2.864813 a 4.28,4.28 0 0 0 -4.39,-2.85000001 c -3.94999996,0.31 -4.15999996,4.22000001 
+        -4.09999996,5.72000001 0.03,1.07 0.24,4.44 8.39999996,10.3 v 0.1 l 0.07,-0.05 0.07,0.05 v -0.1 c 8.2000002,-5.86 
+        8.4100002,-9.29 8.4400002,-10.4 0.06,-1.46 -0.16,-5.31000001 -4.11,-5.62000001 z"/>
+    <path style="fill:#ffe452" d="m 16.40748,2.434813 a 6.37,6.37 0 0 1 -0.31,4 c -0.88,2 -2.8,3.6 -5.59,4.78 a 
+        1.34,1.34 0 0 0 -1.0000002,-0.43 1.37,1.37 0 1 0 1.3600002,1.41 13.68,13.68 0 0 0 5.54,-4.22 6.19,6.19 0 0 0 
+        0.54,-3.26 7,7 0 0 0 -0.54,-2.28 z"/>
+    <path style="fill:#ffe452" d="m 6.2774798,10.574813 v 0 l -0.39,0.4 c -2.75,-2.71 -3.62,-4.86 -2.48,-5.98 1.14,-1.12 
+        3.27,-0.25 6,2.47 l -0.39,0.4 a 0.52,0.52 0 0 0 0,0.74 0.51,0.51 0 0 0 0.74,0 v 0 l 0.7400002,-0.74 a 0.53,0.53 
+        0 0 0 0,-0.74 l -0.37,-0.37 c -1.8500002,-1.86 -5.0000002,-4.11 -7.0000002,-2.78 a 3.24,3.24 0 0 1 -1,-2 
+        2.28,2.28 0 0 1 0.46,-1.63000001 4,4 0 0 0 -1.48,1.13000001 3.52,3.52 0 0 0 1.3,3.24 c -1.3,2 0.94,5.14 2.79,7 l 
+        0.37,0.38 a 0.53,0.53 0 0 0 0.74,0 l 0.75,-0.75 a 0.53,0.53 0 0 0 0,-0.74 0.52,0.52 0 0 0 -0.78,-0.03 z"/>
+</svg>

+ 46 - 0
src/main/webapp/img/lib/azure2/integration/Partner_Topic.svg

@@ -0,0 +1,46 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg2767" sodipodi:docname="02072-icon-service-Partner-Topic.svg" version="1.1"
+    width="18.000633" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18.000633 16.035004"
+    height="16.035004" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs2741">
+        <linearGradient x1="10.275" y1="11.03" x2="10.275" gradientUnits="userSpaceOnUse" y2="7.7729998" id="b27e0b88-9d6f-4764-b5a0-04b62ac83910">
+            <stop offset="0" stop-color="#0078d4" id="stop2736"/>
+            <stop offset="1" stop-color="#5ea0ef" id="stop2738"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#a3a3a3" d="M 0.61363341,0.00800333 H 1.9766334 V 3.7900033 a 0.306,0.306 0 0 1 -0.306,0.306 H 
+        0.30763341 a 0.306,0.306 0 0 1 -0.30700000211,-0.306 V 0.62100333 a 0.6,0.6 0 0 1 0.59200000211,-0.613 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="M 0.61363341,0.00800333 H 1.9766334 V 3.7900033 a 0.306,0.306 0 0 1 
+        -0.306,0.306 H 0.30763341 a 0.306,0.306 0 0 1 -0.30700000211,-0.306 V 0.62100333 a 0.6,0.6 0 0 1 
+        0.59200000211,-0.613 z"/>
+    <path style="fill:#a3a3a3" d="m 16.025633,0.00800333 h 1.362 a 0.6,0.6 0 0 1 0.6,0.6 V 3.7880033 a 0.306,0.306 0 0 1 
+        -0.306,0.306 h -1.35 a 0.306,0.306 0 0 1 -0.306,-0.306 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="m 16.025633,0.00800333 h 1.362 a 0.6,0.6 0 0 1 0.6,0.6 V 3.7880033 a 
+        0.306,0.306 0 0 1 -0.306,0.306 h -1.35 a 0.306,0.306 0 0 1 -0.306,-0.306 z"/>
+    <path style="fill:#949494" d="M 17.989633,0.60000333 V 1.9200033 H 0.03263341 V 0.60000333 a 0.6,0.6 0 0 1 
+        0.6,-0.5999999966574 H 17.387633 A 0.6,0.6 0 0 1 17.989633,0.60000333 Z"/>
+    <path style="fill:#a3a3a3" d="M 0.30763341,11.915003 H 1.6706334 a 0.306,0.306 0 0 1 0.306,0.306 v 3.813 H 
+        0.61363341 a 0.6,0.6 0 0 1 -0.61300000211,-0.593 c 0,-0.011 0,-0.021 0,-0.032 v -3.169 a 0.306,0.306 0 0 1 
+        0.28500000211,-0.325 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="M 0.30763341,11.915003 H 1.6706334 a 0.306,0.306 0 0 1 0.306,0.306 v 3.813 
+        H 0.61363341 a 0.6,0.6 0 0 1 -0.61300000211,-0.593 c 0,-0.011 0,-0.021 0,-0.032 v -3.169 a 0.306,0.306 0 0 1 
+        0.28500000211,-0.325 z"/>
+    <path style="fill:#a3a3a3" d="m 16.331633,11.915003 h 1.363 a 0.306,0.306 0 0 1 0.306,0.3 v 0 3.169 a 0.6,0.6 0 0 1 
+        -0.6,0.6 h -1.375 v -3.75 a 0.306,0.306 0 0 1 0.284,-0.327 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="m 16.331633,11.915003 h 1.363 a 0.306,0.306 0 0 1 0.306,0.3 v 0 3.169 a 
+        0.6,0.6 0 0 1 -0.6,0.6 h -1.375 v -3.75 a 0.306,0.306 0 0 1 0.284,-0.327 z"/>
+    <path style="fill:#949494" d="m 6.3340789e-4,15.430003 v -1.315 H 17.958633 v 1.32 a 0.6,0.6 0 0 1 -0.6,0.6 H 
+        0.60063341 a 0.6,0.6 0 0 1 -0.60000000211,-0.605 z"/>
+    <path style="fill:url(#b27e0b88-9d6f-4764-b5a0-04b62ac83910)" d="m 12.919633,10.307003 v 0 a 0.105,0.105 0 0 0 
+        0.082,-0.04 l 2.14,-2.1279997 a 0.234,0.234 0 0 0 0,-0.318 l -2.14,-2.163 a 0.1,0.1 0 0 0 -0.148,-0.02 
+        0.106,0.106 0 0 0 -0.04,0.1 v 1.331 a 0.106,0.106 0 0 1 -0.093,0.117 H 7.7366334 a 1.235,1.235 0 0 0 
+        -0.976,-0.482 c -0.042,0 -0.083,-0.006 -0.124,-0.006 a 1.294,1.294 0 0 0 -0.122,2.582 c 0.041,0 0.082,0 0.123,0 
+        0.041,0 0.082,0 0.123,0 a 1.274,1.274 0 0 0 0.988,-0.494 h 4.9629996 a 0.106,0.106 0 0 1 0.105,0.094 v 1.3179997 
+        a 0.107,0.107 0 0 0 0.103,0.109 z"/>
+    <path style="fill:#773adc" d="m 8.8866334,9.5850033 a 2.747,2.747 0 1 1 -0.01,-3.2 h 1.4899996 a 4.04,4.04 0 1 0 
+        0.006,3.2 z"/>​
+</svg>

+ 68 - 0
src/main/webapp/img/lib/azure2/integration/System_Topic.svg

@@ -0,0 +1,68 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg1365" sodipodi:docname="System_Topic.svg" version="1.1" width="18.000633"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18.000633 16.035004"
+    height="16.035004" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs1333">
+        <linearGradient x1="10.467" y1="9.9870005" x2="10.467" gradientUnits="userSpaceOnUse" y2="7.506" id="bc881cb0-2250-4e99-b6cd-568a96c57a9d">
+            <stop offset="0" stop-color="#773adc" id="stop1308"/>
+            <stop offset="1" stop-color="#a67af4" id="stop1310"/>
+        </linearGradient>
+        <linearGradient x1="4.2880001" y1="13.077" x2="4.5799999" gradientUnits="userSpaceOnUse" y2="5.0289998" id="f536bf50-992c-4fa0-bbf6-4d12488616d9">
+            <stop offset="0" stop-color="#5e9624" id="stop1313"/>
+            <stop offset="1" stop-color="#76bc2d" id="stop1315"/>
+        </linearGradient>
+        <linearGradient x1="8.7110004" y1="13.237" x2="9.0030003" gradientUnits="userSpaceOnUse" y2="5.1890001" id="f6c8ad87-986c-41f6-be34-270b4e00d1b0">
+            <stop offset="0" stop-color="#5e9624" id="stop1318"/>
+            <stop offset="1" stop-color="#76bc2d" id="stop1320"/>
+        </linearGradient>
+        <linearGradient x1="8.915" y1="13.245" x2="9.2069998" gradientUnits="userSpaceOnUse" y2="5.197" id="bbbaf763-e5a9-4da8-9d1e-32d9d3fe8ff0">
+            <stop offset="0" stop-color="#5e9624" id="stop1323"/>
+            <stop offset="1" stop-color="#76bc2d" id="stop1325"/>
+        </linearGradient>
+        <linearGradient x1="4.4710002" y1="13.083" x2="4.763" gradientUnits="userSpaceOnUse" y2="5.0349998" id="aa6fdf52-a4ca-43f3-b8a8-2f510d97420f">
+            <stop offset="0" stop-color="#5e9624" id="stop1328"/>
+            <stop offset="1" stop-color="#76bc2d" id="stop1330"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#a3a3a3" d="M 0.61363341,0.00800333 H 1.9766334 V 3.7900033 a 0.306,0.306 0 0 1 -0.306,0.306 H 
+        0.30763341 a 0.306,0.306 0 0 1 -0.30700000211,-0.306 V 0.62100333 a 0.6,0.6 0 0 1 0.59200000211,-0.613 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="M 0.61363341,0.00800333 H 1.9766334 V 3.7900033 a 0.306,0.306 0 0 1 
+        -0.306,0.306 H 0.30763341 a 0.306,0.306 0 0 1 -0.30700000211,-0.306 V 0.62100333 a 0.6,0.6 0 0 1 
+        0.59200000211,-0.613 z"/>
+    <path style="fill:#a3a3a3" d="m 16.025633,0.00800333 h 1.362 a 0.6,0.6 0 0 1 0.6,0.6 V 3.7880033 a 0.306,0.306 0 0 1 
+        -0.306,0.306 h -1.35 a 0.306,0.306 0 0 1 -0.306,-0.306 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="m 16.025633,0.00800333 h 1.362 a 0.6,0.6 0 0 1 0.6,0.6 V 3.7880033 a 
+        0.306,0.306 0 0 1 -0.306,0.306 h -1.35 a 0.306,0.306 0 0 1 -0.306,-0.306 z"/>
+    <path style="fill:#949494" d="M 17.989633,0.60000333 V 1.9200033 H 0.03263341 V 0.60000333 a 0.6,0.6 0 0 1 
+        0.6,-0.5999999966574 H 17.387633 A 0.6,0.6 0 0 1 17.989633,0.60000333 Z"/>
+    <path style="fill:#a3a3a3" d="M 0.30763341,11.915003 H 1.6706334 a 0.306,0.306 0 0 1 0.306,0.306 v 3.813 H 
+        0.61363341 a 0.6,0.6 0 0 1 -0.61300000211,-0.593 c 0,-0.011 0,-0.021 0,-0.032 v -3.169 a 0.306,0.306 0 0 1 
+        0.28500000211,-0.325 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="M 0.30763341,11.915003 H 1.6706334 a 0.306,0.306 0 0 1 0.306,0.306 v 3.813 
+        H 0.61363341 a 0.6,0.6 0 0 1 -0.61300000211,-0.593 c 0,-0.011 0,-0.021 0,-0.032 v -3.169 a 0.306,0.306 0 0 1 
+        0.28500000211,-0.325 z"/>
+    <path style="fill:#a3a3a3" d="m 16.331633,11.915003 h 1.363 a 0.306,0.306 0 0 1 0.306,0.3 v 0 3.169 a 0.6,0.6 0 0 1 
+        -0.6,0.6 h -1.375 v -3.75 a 0.306,0.306 0 0 1 0.284,-0.327 z"/>
+    <path style="opacity:0.5;fill:#a3a3a3" d="m 16.331633,11.915003 h 1.363 a 0.306,0.306 0 0 1 0.306,0.3 v 0 3.169 a 
+        0.6,0.6 0 0 1 -0.6,0.6 h -1.375 v -3.75 a 0.306,0.306 0 0 1 0.284,-0.327 z"/>
+    <path style="fill:#949494" d="m 6.3340789e-4,15.430003 v -1.315 H 17.958633 v 1.32 a 0.6,0.6 0 0 1 -0.6,0.6 H 
+        0.60063341 a 0.6,0.6 0 0 1 -0.60000000211,-0.605 z"/>
+    <path style="fill:url(#bc881cb0-2250-4e99-b6cd-568a96c57a9d)" d="m 15.436633,7.8430033 -2.136,-2.164 a 0.106,0.106 0 
+        0 0 -0.148,-0.019 0.105,0.105 0 0 0 -0.04,0.1 v 1.33 a 0.1,0.1 0 0 1 -0.092,0.117 H 7.8306334 a 1.237,1.237 0 0 
+        0 -0.976,-0.482 c -0.042,0 -0.084,-0.006 -0.125,-0.006 a 1.294,1.294 0 0 0 -0.122,2.582 q 0.061,0.006 
+        0.123,0.006 c 0.041,0 0.083,0 0.124,-0.006 a 1.272,1.272 0 0 0 0.987,-0.494 h 5.1589996 a 0.106,0.106 0 0 1 
+        0.1,0.094 v 1.3139997 a 0.107,0.107 0 0 0 0.1,0.11 v 0 a 0.1,0.1 0 0 0 0.082,-0.039 l 2.141,-2.1289997 a 
+        0.235,0.235 0 0 0 0.013,-0.314 z"/>
+    <path style="fill:url(#f536bf50-992c-4fa0-bbf6-4d12488616d9)" d="m 2.7466334,4.4630033 v 3.083 h 1.954 a 2.073,2.073 
+        0 0 1 1.63,-1.588 v -2 h -3.084 a 0.5,0.5 0 0 0 -0.5,0.505 z"/>
+    <path style="fill:url(#f6c8ad87-986c-41f6-be34-270b4e00d1b0)" d="M 10.259633,3.9620033 H 7.1756334 v 2 a 2.059,2.059 
+        0 0 1 0.99,0.451 h 2.5939996 v -1.951 a 0.5,0.5 0 0 0 -0.5,-0.5 z"/>
+    <path style="fill:url(#bbbaf763-e5a9-4da8-9d1e-32d9d3fe8ff0)" d="m 7.1756334,10.068003 v 1.979 h 3.0839996 a 0.5,0.5 
+        0 0 0 0.5,-0.5 V 9.6070033 H 8.1796334 a 2.046,2.046 0 0 1 -1.004,0.4609997 z"/>
+    <path style="fill:url(#aa6fdf52-a4ca-43f3-b8a8-2f510d97420f)" d="m 4.7006334,8.4630033 h -1.954 v 3.0839997 a 
+        0.5,0.5 0 0 0 0.5,0.5 h 3.084 v -1.989 a 2.036,2.036 0 0 1 -1.63,-1.5949997 z"/>​
+</svg>

+ 28 - 0
src/main/webapp/img/lib/azure2/internet_of_things/Time_Series_Insights_Access_Policies.svg

@@ -0,0 +1,28 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg3023" sodipodi:docname="10192-icon-service-Time-Series-Insights-Access-Policies.svg"
+    version="1.1" width="11.213455" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 11.213455 17.990788"
+    height="17.990788" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3017">
+        <radialGradient gradientTransform="matrix(0.94,0,0,0.94,-110.36,-108.4)" gradientUnits="userSpaceOnUse" cx="125.5"
+            r="11.18" id="b17621e4-6399-4962-9fdc-bbf01106b616" cy="123.98">
+            <stop offset="0.27" stop-color="#ffd70f" id="stop3008"/>
+            <stop offset="0.49" stop-color="#ffcb12" id="stop3010"/>
+            <stop offset="0.88" stop-color="#feac19" id="stop3012"/>
+            <stop offset="1" stop-color="#fea11b" id="stop3014"/>
+        </radialGradient>
+    </defs>
+    <path style="fill:url(#b17621e4-6399-4962-9fdc-bbf01106b616)" d="m 10.606728,7.0967278 a 2.06,2.06 0 0 0 0,-2.92 v 0 
+        L 7.0667278,0.60672783 a 2.06,2.06 0 0 0 -2.92,0 v 0 L 0.60672783,4.1767278 a 2.06,2.06 0 0 0 0,2.92 L 
+        3.6067278,10.096728 a 0.57,0.57 0 0 1 0.17,0.41 v 5.49 a 0.71,0.71 0 0 0 0.21,0.5 l 1.35,1.35 a 0.45,0.45 0 0 0 
+        0.66,0 l 1.31,-1.31 v 0 l 0.77,-0.78 a 0.26,0.26 0 0 0 0,-0.38 l -0.55,-0.55 a 0.29,0.29 0 0 1 0,-0.42 l 
+        0.55,-0.56 a 0.26,0.26 0 0 0 0,-0.38 l -0.55,-0.56 a 0.28,0.28 0 0 1 0,-0.41 l 0.55,-0.56 a 0.26,0.26 0 0 0 
+        0,-0.38 l -0.77,-0.78 v -0.28 z m -5.0000002,-5.63 a 1.18,1.18 0 1 1 -1.17,1.17 1.17,1.17 0 0 1 1.17,-1.17 z"/>
+    <path style="opacity:0.75;fill:#ff9300" d="m 4.6767278,16.126728 v 0 a 0.25,0.25 0 0 0 0.43,-0.19 v -4.47 a 
+        0.24,0.24 0 0 0 -0.12,-0.22 v 0 a 0.25,0.25 0 0 0 -0.39,0.22 v 4.47 a 0.27,0.27 0 0 0 0.08,0.19 z"/>
+    <rect rx="0.31999999" x="2.7567279" width="5.8600001" height="0.69" y="5.3667278" style="opacity:0.75;fill:#ff9300"/>
+    <rect rx="0.31999999" x="2.7567279" width="5.8600001" height="0.69" y="6.4867277" style="opacity:0.75;fill:#ff9300"/>​
+</svg>

+ 34 - 0
src/main/webapp/img/lib/azure2/intune/Intune.svg

@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="a9ed4d43-c916-4b9a-b9ca-be76fbdc694c" sodipodi:docname="10329-icon-service-Intune.svg"
+    version="1.1" width="16.99" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.99 15.48"
+    height="15.48" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3090">
+        <linearGradient x1="8.0500002" y1="11.32" x2="8.0500002" gradientUnits="userSpaceOnUse" y2="1.26" id="aaede26b-698f-4a65-b6db-859d207e2da6">
+            <stop offset="0" stop-color="#0078d4" id="stop3075"/>
+            <stop offset="0.82" stop-color="#5ea0ef" id="stop3077"/>
+        </linearGradient>
+        <linearGradient x1="8.0500002" y1="15.21" x2="8.0500002" gradientUnits="userSpaceOnUse" y2="11.32" id="bc54987f-34ba-4701-8ce4-6eca10aff9e9">
+            <stop offset="0" stop-color="#1490df" id="stop3080"/>
+            <stop offset="0.98" stop-color="#1f56a3" id="stop3082"/>
+        </linearGradient>
+        <linearGradient x1="8.0500002" y1="7.8699999" x2="8.0500002" gradientUnits="userSpaceOnUse" y2="4.9400001" id="a5434fd8-c18c-472c-be91-f2aa070858b7">
+            <stop offset="0" stop-color="#d2ebff" id="stop3085"/>
+            <stop offset="1" stop-color="#f0fffd" id="stop3087"/>
+        </linearGradient>
+    </defs>
+    <rect rx="0.5" x="0" width="15.1" height="10.06" y="0" style="fill:url(#aaede26b-698f-4a65-b6db-859d207e2da6)"/>
+    <rect rx="0.28" x="0.84000003" width="13.42" height="8.3900003" y="0.83999991" style="fill:#ffffff"/>
+    <path style="fill:url(#bc54987f-34ba-4701-8ce4-6eca10aff9e9)" d="m 10.58,13.11 c -1.5,-0.23 -1.56,-1.31 -1.55,-3 h 
+        -3 c 0,1.74 -0.06,2.82 -1.55,3 a 0.87,0.87 0 0 0 -0.74,0.84 h 7.54 a 0.88,0.88 0 0 0 -0.7,-0.84 z"/>
+    <path style="fill:#32bedd" d="M 16.67,4.65 H 9.79 a 2.31,2.31 0 1 0 0,0.92 h 0.71 v 9.58 a 0.33,0.33 0 0 0 0.33,0.33 
+        h 5.83 a 0.33,0.33 0 0 0 0.33,-0.33 V 4.98 A 0.33,0.33 0 0 0 16.67,4.65 Z"/>
+    <rect rx="0.12" x="11.12" width="5.27" height="8.6999998" y="5.5600004" style="fill:#ffffff"/>
+    <circle r="1.46" style="opacity:0.9;fill:url(#a5434fd8-c18c-472c-be91-f2aa070858b7)" cx="7.5500002" cy="5.1499996"/>
+    <path style="fill:#0078d4" d="M 14.38,9.56 13.26,8.44 a 0.06,0.06 0 0 0 -0.1,0.05 V 9.17 A 0.06,0.06 0 0 1 13.1,9.23 
+        h -2.6 v 0.83 h 2.6 a 0.06,0.06 0 0 1 0.06,0.06 v 0.69 a 0.06,0.06 0 0 0 0.1,0 l 1.12,-1.07 a 0.12,0.12 0 0 0 
+        0,-0.18 z"/>
+</svg>

+ 151 - 0
src/main/webapp/img/lib/azure2/intune/Intune_For_Education.svg

@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="a9ed4d43-c916-4b9a-b9ca-be76fbdc694c"
+   width="16.99"
+   height="15.48"
+   viewBox="0 0 16.99 15.48"
+   version="1.1"
+   sodipodi:docname="10343-icon-service-Intune-For-Education.svg"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)">
+  <metadata
+     id="metadata3195">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Icon-intune-329</dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
+     id="namedview3193"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="48.111111"
+     inkscape:cx="8.5"
+     inkscape:cy="7.74"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="a9ed4d43-c916-4b9a-b9ca-be76fbdc694c" />
+  <defs
+     id="defs3174">
+    <linearGradient
+       id="aaede26b-698f-4a65-b6db-859d207e2da6"
+       x1="8.0500002"
+       y1="11.32"
+       x2="8.0500002"
+       y2="1.26"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         stop-color="#0078d4"
+         id="stop3159" />
+      <stop
+         offset="0.82"
+         stop-color="#5ea0ef"
+         id="stop3161" />
+    </linearGradient>
+    <linearGradient
+       id="bc54987f-34ba-4701-8ce4-6eca10aff9e9"
+       x1="8.0500002"
+       y1="15.21"
+       x2="8.0500002"
+       y2="11.32"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         stop-color="#1490df"
+         id="stop3164" />
+      <stop
+         offset="0.98"
+         stop-color="#1f56a3"
+         id="stop3166" />
+    </linearGradient>
+    <linearGradient
+       id="a5434fd8-c18c-472c-be91-f2aa070858b7"
+       x1="8.0500002"
+       y1="7.8699999"
+       x2="8.0500002"
+       y2="4.9400001"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         stop-color="#d2ebff"
+         id="stop3169" />
+      <stop
+         offset="1"
+         stop-color="#f0fffd"
+         id="stop3171" />
+    </linearGradient>
+  </defs>
+  <title
+     id="title3176">Icon-intune-329</title>
+  <rect
+     x="0"
+     y="0"
+     width="15.1"
+     height="10.06"
+     rx="0.5"
+     id="rect3178"
+     style="fill:url(#aaede26b-698f-4a65-b6db-859d207e2da6)" />
+  <rect
+     x="0.84000003"
+     y="0.83999991"
+     width="13.42"
+     height="8.3900003"
+     rx="0.28"
+     id="rect3180"
+     style="fill:#ffffff" />
+  <path
+     d="m 10.58,13.11 c -1.5,-0.23 -1.56,-1.31 -1.55,-3 h -3 c 0,1.74 -0.06,2.82 -1.55,3 a 0.87,0.87 0 0 0 -0.74,0.84 h 7.54 a 0.88,0.88 0 0 0 -0.7,-0.84 z"
+     id="path3182"
+     inkscape:connector-curvature="0"
+     style="fill:url(#bc54987f-34ba-4701-8ce4-6eca10aff9e9)" />
+  <path
+     d="M 16.67,4.65 H 9.79 a 2.31,2.31 0 1 0 0,0.92 h 0.71 v 9.58 a 0.33,0.33 0 0 0 0.33,0.33 h 5.83 a 0.33,0.33 0 0 0 0.33,-0.33 V 4.98 A 0.33,0.33 0 0 0 16.67,4.65 Z"
+     id="path3184"
+     inkscape:connector-curvature="0"
+     style="fill:#32bedd" />
+  <rect
+     x="11.12"
+     y="5.5600004"
+     width="5.27"
+     height="8.6999998"
+     rx="0.12"
+     id="rect3186"
+     style="fill:#ffffff" />
+  <circle
+     cx="7.5500002"
+     cy="5.1499996"
+     r="1.46"
+     id="circle3188"
+     style="opacity:0.9;fill:url(#a5434fd8-c18c-472c-be91-f2aa070858b7)" />
+  <path
+     d="M 14.38,9.56 13.26,8.44 a 0.06,0.06 0 0 0 -0.1,0.05 V 9.17 A 0.06,0.06 0 0 1 13.1,9.23 h -2.6 v 0.83 h 2.6 a 0.06,0.06 0 0 1 0.06,0.06 v 0.69 a 0.06,0.06 0 0 0 0.1,0 l 1.12,-1.07 a 0.12,0.12 0 0 0 0,-0.18 z"
+     id="path3190"
+     inkscape:connector-curvature="0"
+     style="fill:#0078d4" />
+</svg>

+ 34 - 0
src/main/webapp/img/lib/azure2/management_governance/Cost_Management_and_Billing.svg

@@ -0,0 +1,34 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b731f684-7cb9-4db7-b2c1-15068abf133d" sodipodi:docname="00004-icon-service-Cost-Management-and-Billing.svg"
+    version="1.1" width="16.98" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.98 17.010151"
+    height="17.010151" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3470">
+        <radialGradient gradientUnits="userSpaceOnUse" cx="7.1799998" r="7.3800001" id="f65398a3-df69-4689-8d5a-25969160d437"
+            cy="9.5">
+            <stop offset="0" stop-color="#76bc2d" id="stop3459"/>
+            <stop offset="0.41" stop-color="#74b92c" id="stop3461"/>
+            <stop offset="0.66" stop-color="#6fb12a" id="stop3463"/>
+            <stop offset="0.88" stop-color="#66a227" id="stop3465"/>
+            <stop offset="1" stop-color="#5e9624" id="stop3467"/>
+        </radialGradient>
+    </defs>
+    <path style="fill:#258277" d="m 9.48,9.7600054 a 1,1 0 0 1 -0.31,0.7899996 1.49,1.49 0 0 1 -0.89,0.37 v 0.6 H 7.84 v 
+        -0.62 a 2.36,2.36 0 0 1 -1.1,-0.28 V 9.8100054 a 1.8,1.8 0 0 0 0.5,0.2499996 2.49,2.49 0 0 0 0.6,0.14 V 
+        9.1600054 a 2.42,2.42 0 0 1 -0.91,-0.53 1.15,1.15 0 0 1 0.06,-1.55 1.41,1.41 0 0 1 0.85,-0.38 v -0.55 h 0.43 v 
+        0.54 a 2.21,2.21 0 0 1 0.92,0.2 v 0.8 a 2.28,2.28 0 0 0 -0.92,-0.31 v 1.14 a 2.34,2.34 0 0 1 0.92,0.54 1,1 0 0 1 
+        0.29,0.7 z m -1.64,-1.43 v -0.93 a 0.4,0.4 0 0 0 -0.36,0.42 c 0,0.21 0.13,0.38 0.4,0.51 z m 0.85,1.47 c 0,-0.19 
+        -0.14,-0.34 -0.42,-0.47 v 0.8999996 c 0.28,-0.05 0.42,-0.19 0.42,-0.4299996 z"/>
+    <path style="fill:#ffca00" d="m 16.02,9.0100054 h -3.6 a 4.43,4.43 0 0 1 -1.48,3.2999996 l 2.39,2.69 a 8,8 0 0 0 
+        2.69,-5.9999996"/>
+    <path style="fill:url(#f65398a3-df69-4689-8d5a-25969160d437)" d="M 8,13.450005 A 4.43,4.43 0 0 1 8,4.5900054 v -3.58 
+        a 8,8 0 0 0 -8,8 v 0 a 8,8 0 0 0 8,7.9999996 v 0 a 8,8 0 0 0 5.34,-2 l -2.4,-2.69 a 4.38,4.38 0 0 1 -2.94,1.13 
+        z"/>
+    <path style="fill:#cccccc" d="m 7.63,5.3533206e-6 v 0 V 4.1600054 v 0 a 5.09,5.09 0 0 1 5.17,5.18 h 4.18 A 9.34,9.34 
+        0 0 0 7.63,5.3533206e-6 Z"/>
+    <path style="fill:#999999" d="m 12.82,9.3400054 a 5.13,5.13 0 0 0 -5.06,-5.18 H 7.63 l 0.33,0.62 a 4.5,4.5 0 0 1 
+        4.23,4.25 z"/>
+</svg>

File diff ditekan karena terlalu besar
+ 152 - 0
src/main/webapp/img/lib/azure2/migrate/Cost_Management_and_Billing.svg


+ 31 - 0
src/main/webapp/img/lib/azure2/networking/Local_Network_Gateways.svg

@@ -0,0 +1,31 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b22678f2-604d-47bc-b419-116b961e0d07" sodipodi:docname="10077-icon-service-Local-Network-Gateways.svg"
+    version="1.1" width="16.994371" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.994371 16.994371"
+    height="16.994371" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3806">
+        <linearGradient gradientTransform="rotate(45,0.00354733,-0.00354732)" x1="9" y1="17.790001" x2="9"
+            gradientUnits="userSpaceOnUse" y2="1.8200001" id="b1a497bc-2886-4e22-b230-918a36444c3e">
+            <stop offset="0" stop-color="#258277" id="stop3797"/>
+            <stop offset="0.42" stop-color="#49a498" id="stop3799"/>
+            <stop offset="0.78" stop-color="#60baad" id="stop3801"/>
+            <stop offset="1" stop-color="#68c2b5" id="stop3803"/>
+        </linearGradient>
+    </defs>
+    <rect x="-6.1750002" y="5.841835" transform="rotate(-45)" width="12.35" style=
+        "fill:url(#b1a497bc-2886-4e22-b230-918a36444c3e)" rx="0.56999999" height="12.35"/>
+    <path style="fill:#ffffff" d="m 6.5563346,4.1771858 1.88,-1.88 a 0.1,0.1 0 0 1 0.14,0 l 1.9300004,1.88 a 0.09,0.09 0 
+        0 1 -0.07,0.16 H 9.2863346 a 0.1,0.1 0 0 0 -0.1,0.1 v 2.43 a 0.09,0.09 0 0 1 -0.09,0.09 h -1.17 a 0.09,0.09 0 0 
+        1 -0.1,-0.09 v -2.43 a 0.1,0.1 0 0 0 -0.09,-0.1 h -1.11 a 0.1,0.1 0 0 1 -0.07,-0.16 z m 3.9500004,8.6400002 
+        -1.9300004,1.88 a 0.1,0.1 0 0 1 -0.14,0 l -1.88,-1.88 a 0.1,0.1 0 0 1 0.07,-0.16 h 1.11 a 0.1,0.1 0 0 0 
+        0.09,-0.1 v -2.43 a 0.09,0.09 0 0 1 0.1,-0.09 h 1.17 a 0.09,0.09 0 0 1 0.09,0.09 v 2.43 a 0.1,0.1 0 0 0 0.1,0.1 
+        h 1.1000004 a 0.1,0.1 0 0 1 0.12,0.16 z m -5.6600004,-2.48 V 9.2371858 a 0.11,0.11 0 0 0 -0.1,-0.1 h -2.43 a 
+        0.1,0.1 0 0 1 -0.1,-0.09 v -1.17 a 0.11,0.11 0 0 1 0.1,-0.1 h 2.43 a 0.1,0.1 0 0 0 0.1,-0.09 v -1.11 a 0.09,0.09 
+        0 0 1 0.16,-0.08 l 1.88,1.9 a 0.09,0.09 0 0 1 0,0.13 l -1.88,1.8800002 a 0.09,0.09 0 0 1 -0.16,-0.07 z M 
+        12.166335,6.5771858 v 1.11 a 0.1,0.1 0 0 0 0.1,0.09 h 2.43 a 0.11,0.11 0 0 1 0.1,0.1 v 1.17 a 0.1,0.1 0 0 1 
+        -0.1,0.09 h -2.43 a 0.11,0.11 0 0 0 -0.1,0.1 v 1.1000002 a 0.09,0.09 0 0 1 -0.16,0.07 l -1.88,-1.9100002 a 
+        0.09,0.09 0 0 1 0,-0.13 l 1.88,-1.87 a 0.09,0.09 0 0 1 0.16,0.08 z"/>
+</svg>

+ 49 - 0
src/main/webapp/img/lib/azure2/other/Azure_Backup_Center.svg

@@ -0,0 +1,49 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b0b75603-46b6-4f8f-91b1-0770f4d80bc9" sodipodi:docname="02360-icon-service-Azure-Backup-Center.svg"
+    version="1.1" width="17.4" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.4 15.894398"
+    height="15.894398" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4378">
+        <linearGradient gradientTransform="matrix(1,0,0,-1,0,18)" x1="11.176" y1="7.698" x2="11.176" gradientUnits="userSpaceOnUse"
+            y2="16.950001" id="bf1351b6-2f7f-4ceb-8808-067f2a41a599">
+            <stop offset="0" stop-color="#0078d4" id="stop4365"/>
+            <stop offset="0.149" stop-color="#1882db" id="stop4367"/>
+            <stop offset="0.373" stop-color="#378fe4" id="stop4369"/>
+            <stop offset="0.594" stop-color="#4c99ea" id="stop4371"/>
+            <stop offset="0.806" stop-color="#5a9eee" id="stop4373"/>
+            <stop offset="1" stop-color="#5ea0ef" id="stop4375"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#bf1351b6-2f7f-4ceb-8808-067f2a41a599)" d="m 17.4,6.3546239 a 2.93,2.93 0 0 0 -2.544,-2.818 
+        3.7,3.7 0 0 0 -3.806,-3.53500002 3.793,3.793 0 0 0 -3.623,2.47100002 3.5,3.5 0 0 0 -3.076,3.367 3.551,3.551 0 0 
+        0 3.675,3.41 2.494,2.494 0 0 0 0.324,-0.014 h 5.95 a 0.6,0.6 0 0 0 0.157,-0.024 2.966,2.966 0 0 0 2.943,-2.857 
+        z"/>
+    <path style="fill:#ffffff" d="m 10.477,8.9146239 0.019,0.431 0.428,0.057 a 2.54,2.54 0 0 1 2.2,2.4300001 2.579,2.579 
+        0 0 1 -2.546,2.5 h -0.044 l -0.032,0.006 -0.035,-0.007 h -6.6 a 3.232,3.232 0 0 1 -1.238,-0.168 3.375,3.375 0 0 
+        1 -1.106,-0.643 3.324,3.324 0 0 1 -0.741,-1.035 3.039,3.039 0 0 1 0.559,-3.2100001 3.147,3.147 0 0 1 
+        1.959,-0.966 l 0.313,-0.037 0.109,-0.295 a 3.487,3.487 0 0 1 1.29,-1.662 3.434,3.434 0 0 1 2,-0.6 h 0.025 a 
+        3.338,3.338 0 0 1 3.439,3.2 z"/>
+    <path style="fill:#50e6ff" d="m 10.491,14.849624 -0.085,-0.019 H 3.867 a 3.738,3.738 0 0 1 -1.4,-0.194 3.865,3.865 0 
+        0 1 -1.274,-0.741 3.815,3.815 0 0 1 -0.867,-1.2 3.56,3.56 0 0 1 0.644,-3.7550001 3.65,3.65 0 0 1 2.279,-1.128 v 
+        -0.008 a 3.959,3.959 0 0 1 1.475,-1.9 3.793,3.793 0 0 1 2.293,-0.689 3.852,3.852 0 0 1 3.954,3.677 l 0.014,0.014 
+        a 3.033,3.033 0 0 1 2.635,2.9090001 3.078,3.078 0 0 1 -3.04,3.017 z M 7,6.2156239 a 2.939,2.939 0 0 0 
+        -2.809,1.934 l -0.215,0.583 -0.617,0.072 a 2.654,2.654 0 0 0 -1.659,0.815 2.546,2.546 0 0 0 -0.46,2.6750001 
+        2.8,2.8 0 0 0 0.623,0.863 2.8,2.8 0 0 0 0.927,0.533 2.723,2.723 0 0 0 1.043,0.142 h 6.677 0.01 0.01 a 
+        2.083,2.083 0 0 0 2.09,-2.016 2.028,2.028 0 0 0 -1.767,-1.9190001 l -0.843,-0.111 -0.037,-0.852 a 2.842,2.842 0 
+        0 0 -2.92,-2.719 z"/>
+    <path style="fill:#0078d4" d="m 4.8,11.449624 v -0.3 l -0.307,-0.1 -0.078,-0.21 0.15,-0.313 v -0.036 l -0.1,-0.1 
+        -0.114,-0.121 H 4.312 l -0.3,0.151 -0.21,-0.054 -0.127,-0.337 h -0.3 l -0.1,0.307 -0.21,0.078 -0.349,-0.165 
+        -0.216,0.217 v 0.036 l 0.15,0.3 -0.084,0.21 -0.366,0.127 v 0.3 h 0.042 l 0.319,0.108 0.09,0.205 -0.168,0.349 
+        0.217,0.217 h 0.036 l 0.3,-0.156 0.21,0.084 0.133,0.367 h 0.3 v -0.042 l 0.109,-0.325 0.2,-0.084 0.355,0.162 
+        0.21,-0.21 v -0.042 l -0.132,-0.289 0.06,-0.211 z m -1.269,0.277 a 0.427,0.427 0 1 1 0.155,-0.822 0.435,0.435 0 
+        0 1 0.193,0.157 0.427,0.427 0 0 1 0.072,0.238 0.422,0.422 0 0 1 -0.4,0.427 z"/>
+    <path style="fill:#0078d4;fill-rule:evenodd" d="m 3.516,14.854624 a 3.537,3.537 0 1 1 3.558,-3.537 H 6 a 2.462,2.462 
+        0 1 0 -2.464,2.46 H 4.32 a 0.056,0.056 0 0 0 0.056,-0.016 0.063,0.063 0 0 0 0.016,-0.026 0.076,0.076 0 0 0 
+        0,-0.03 v -0.872 a 0.087,0.087 0 0 1 0.052,-0.067 0.1,0.1 0 0 1 0.083,0.018 l 1.5,1.5 a 0.082,0.082 0 0 1 
+        0,0.049 0.079,0.079 0 0 1 -0.027,0.042 l -1.5,1.5 a 0.083,0.083 0 0 1 -0.042,0.018 0.075,0.075 0 0 1 
+        -0.044,-0.007 0.082,0.082 0 0 1 -0.035,-0.029 0.074,0.074 0 0 1 -0.014,-0.043 v -0.886 a 0.075,0.075 0 0 0 
+        -0.022,-0.053 0.073,0.073 0 0 0 -0.054,-0.022 H 3.516 Z"/>
+</svg>

+ 39 - 0
src/main/webapp/img/lib/azure2/other/ExpressRoute_Direct.svg

@@ -0,0 +1,39 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg4038" sodipodi:docname="00903-icon-service-ExpressRoute-Direct.svg" version="1.1"
+    width="18" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 18 15.962" height="15.962"
+    xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4006">
+        <linearGradient x1="13.119" y1="5.6430001" x2="11.489" gradientUnits="userSpaceOnUse" y2="16.919001" id="aa436aef-5326-4d7d-ad29-02c369cb3782">
+            <stop offset="0" stop-color="#a67af4" id="stop4001"/>
+            <stop offset="1" stop-color="#773adc" id="stop4003"/>
+        </linearGradient>
+    </defs>
+    <rect width="1.335" x="5.460825" height="6.415" y="-0.32986867" style="fill:#773adc" transform="rotate(30)"/>
+    <rect width="1.335" x="3.6374691" height="6.415" y="5.8165393" style="fill:#773adc" transform="rotate(-30)"/>
+    <rect width="1.335" x="8.7769995" height="6.415" y="-9.2119999" style="fill:#773adc" transform="rotate(90)"/>
+    <circle r="1.626" style="fill:#86d633" cx="6.1240001" cy="1.626"/>
+    <circle r="1.626" style="fill:#86d633" cx="1.626" cy="9.5410004"/>
+    <circle r="5.3249998" style="fill:#ffffff" cx="12.284" cy="10.325"/>
+    <path style="fill:#773adc" d="M 9.853,11.702 A 0.3,0.3 0 0 1 9.641,11.19 l 1.128,-1.127 a 0.3,0.3 0 1 1 0.424,0.423 
+        l -1.128,1.128 a 0.3,0.3 0 0 1 -0.212,0.088 z"/>
+    <path style="fill:#773adc" d="M 10.686,12.535 A 0.3,0.3 0 0 1 10.474,12.023 L 11.6,10.896 a 0.3,0.3 0 1 1 
+        0.424,0.424 L 10.9,12.448 a 0.3,0.3 0 0 1 -0.214,0.087 z"/>
+    <path style="fill:#773adc" d="m 11.511,13.36 a 0.3,0.3 0 0 1 -0.212,-0.511 l 1.127,-1.128 a 0.30016704,0.30016704 0 
+        1 1 0.425,0.424 l -1.127,1.132 a 0.3,0.3 0 0 1 -0.213,0.083 z"/>
+    <path style="fill:#773adc" d="m 11.924,9.6310001 a 0.3,0.3 0 0 1 -0.212,-0.511 l 1.128,-1.128 a 0.3,0.3 0 0 1 
+        0.424,0.424 l -1.128,1.127 a 0.3,0.3 0 0 1 -0.212,0.088 z"/>
+    <path style="fill:#773adc" d="M 12.757,10.464 A 0.3,0.3 0 0 1 12.545,9.9530001 l 1.127,-1.128 a 
+        0.30016704,0.30016704 0 1 1 0.425,0.424 L 12.97,10.377 a 0.3,0.3 0 0 1 -0.213,0.087 z"/>
+    <path style="fill:#773adc" d="M 13.582,11.289 A 0.3,0.3 0 0 1 13.37,10.777 L 14.5,9.6490001 A 0.30016704,0.30016704 
+        0 0 1 14.924,10.074 l -1.128,1.128 a 0.3,0.3 0 0 1 -0.214,0.087 z"/>
+    <path style="fill:#a67af4" d="m 9.62,10.999 a 0.3,0.3 0 0 0 -0.425,0 L 7.27,12.924 a 5.717,5.717 0 0 0 2.947,2.634 l 
+        1.769,-1.768 a 0.3,0.3 0 0 0 0,-0.426 z"/>
+    <path style="fill:#b796f9" d="m 14.973,5.2260001 -2.193,2.193 a 0.3,0.3 0 0 0 0,0.425 L 15.146,10.21 a 0.3,0.3 0 0 0 
+        0.425,0 l 2.035,-2.0329999 a 5.713,5.713 0 0 0 -2.633,-2.951 z"/>
+    <path style="fill:url(#aa436aef-5326-4d7d-ad29-02c369cb3782)" d="M 12.3,5.3120001 A 4.946,4.946 0 1 1 7.354,10.258 
+        4.952,4.952 0 0 1 12.3,5.3120001 m 0,-0.75 A 5.7,5.7 0 1 0 18,10.262 5.7,5.7 0 0 0 12.3,4.5620001 Z"/>​
+</svg>

+ 31 - 0
src/main/webapp/img/lib/azure2/other/Local_Network_Gateways.svg

@@ -0,0 +1,31 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="b22678f2-604d-47bc-b419-116b961e0d07" sodipodi:docname="10077-icon-service-Local-Network-Gateways.svg"
+    version="1.1" width="16.994371" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 16.994371 16.994371"
+    height="16.994371" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4503">
+        <linearGradient gradientTransform="rotate(45,0.00354733,-0.00354732)" x1="9" y1="17.790001" x2="9"
+            gradientUnits="userSpaceOnUse" y2="1.8200001" id="b1a497bc-2886-4e22-b230-918a36444c3e">
+            <stop offset="0" stop-color="#258277" id="stop4494"/>
+            <stop offset="0.42" stop-color="#49a498" id="stop4496"/>
+            <stop offset="0.78" stop-color="#60baad" id="stop4498"/>
+            <stop offset="1" stop-color="#68c2b5" id="stop4500"/>
+        </linearGradient>
+    </defs>
+    <rect x="-6.1750002" y="5.841835" transform="rotate(-45)" width="12.35" style=
+        "fill:url(#b1a497bc-2886-4e22-b230-918a36444c3e)" rx="0.56999999" height="12.35"/>
+    <path style="fill:#ffffff" d="m 6.5563346,4.1771858 1.88,-1.88 a 0.1,0.1 0 0 1 0.14,0 l 1.9300004,1.88 a 0.09,0.09 0 
+        0 1 -0.07,0.16 H 9.2863346 a 0.1,0.1 0 0 0 -0.1,0.1 v 2.43 a 0.09,0.09 0 0 1 -0.09,0.09 h -1.17 a 0.09,0.09 0 0 
+        1 -0.1,-0.09 v -2.43 a 0.1,0.1 0 0 0 -0.09,-0.1 h -1.11 a 0.1,0.1 0 0 1 -0.07,-0.16 z m 3.9500004,8.6400002 
+        -1.9300004,1.88 a 0.1,0.1 0 0 1 -0.14,0 l -1.88,-1.88 a 0.1,0.1 0 0 1 0.07,-0.16 h 1.11 a 0.1,0.1 0 0 0 
+        0.09,-0.1 v -2.43 a 0.09,0.09 0 0 1 0.1,-0.09 h 1.17 a 0.09,0.09 0 0 1 0.09,0.09 v 2.43 a 0.1,0.1 0 0 0 0.1,0.1 
+        h 1.1000004 a 0.1,0.1 0 0 1 0.12,0.16 z m -5.6600004,-2.48 V 9.2371858 a 0.11,0.11 0 0 0 -0.1,-0.1 h -2.43 a 
+        0.1,0.1 0 0 1 -0.1,-0.09 v -1.17 a 0.11,0.11 0 0 1 0.1,-0.1 h 2.43 a 0.1,0.1 0 0 0 0.1,-0.09 v -1.11 a 0.09,0.09 
+        0 0 1 0.16,-0.08 l 1.88,1.9 a 0.09,0.09 0 0 1 0,0.13 l -1.88,1.8800002 a 0.09,0.09 0 0 1 -0.16,-0.07 z M 
+        12.166335,6.5771858 v 1.11 a 0.1,0.1 0 0 0 0.1,0.09 h 2.43 a 0.11,0.11 0 0 1 0.1,0.1 v 1.17 a 0.1,0.1 0 0 1 
+        -0.1,0.09 h -2.43 a 0.11,0.11 0 0 0 -0.1,0.1 v 1.1000002 a 0.09,0.09 0 0 1 -0.16,0.07 l -1.88,-1.9100002 a 
+        0.09,0.09 0 0 1 0,-0.13 l 1.88,-1.87 a 0.09,0.09 0 0 1 0.16,0.08 z"/>
+</svg>

+ 18 - 0
src/main/webapp/img/lib/azure2/other/Resource_Mover.svg

@@ -0,0 +1,18 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg4112" sodipodi:docname="02200-icon-service-Resource-Mover.svg" version="1.1"
+    width="14.821244" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 14.821244 18.000435"
+    height="18.000435" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4116"/>
+    <polygon style="fill:#32bedd" points="9.525,15.974 9.525,7.995 16.41,4.004 16.41,11.971" transform="translate(-1.5887561)"/>
+    <polygon style="fill:#9cebff" points="2.64,4.003 9.526,0 16.41,4.004 9.526,8.006" transform="translate(-1.5887561)"/>
+    <polygon style="fill:#50e6ff" points="2.64,11.971 2.64,4.003 9.525,8.006 9.525,15.974" transform="translate(-1.5887561)"/>
+    <polygon style="fill:#9cebff" points="2.64,11.971 9.525,7.995 9.525,15.974" transform="translate(-1.5887561)"/>
+    <polygon style="fill:#50e6ff" points="16.41,11.971 9.525,7.995 9.525,15.974" transform="translate(-1.5887561)"/>
+    <path style="fill:#773adc" d="m 11.498244,14.679 -3.3340001,3.273 a 0.168,0.168 0 0 1 -0.286,-0.122 l 0.017,-1.82 V 
+        15.9 C 3.9202439,15.863 -0.03575615,13.7 2.4385243e-4,9.877 0.56024385,10.734 3.3782439,13.029 7.9212439,13.077 
+        v -0.033 l 0.017,-1.819 a 0.168,0.168 0 0 1 0.288,-0.117 l 3.2720001,3.335 a 0.167,0.167 0 0 1 0,0.236 z"/>​
+</svg>

+ 39 - 0
src/main/webapp/img/lib/azure2/other/SSH_Keys.svg

@@ -0,0 +1,39 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg3933" sodipodi:docname="00412-icon-service-SSH-Keys.svg" version="1.1" width="17.534"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 17.534 15.449261"
+    height="15.449261" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs3922">
+        <linearGradient x1="9" y1="13.704" x2="9" gradientUnits="userSpaceOnUse" y2="1.277" id="eafc57a1-d419-432d-b0ed-435130422d7a">
+            <stop offset="0" stop-color="#0078d4" id="stop3906"/>
+            <stop offset="0.817" stop-color="#5ea0ef" id="stop3908"/>
+        </linearGradient>
+        <linearGradient x1="8.9989996" y1="16.723" x2="8.9989996" gradientUnits="userSpaceOnUse" y2="4.1739998" id="a5a126a8-9900-4198-8d5d-2409233cbc74">
+            <stop offset="0" stop-color="#32bedd" id="stop3911"/>
+            <stop offset="0.113" stop-color="#3ccce9" id="stop3913"/>
+            <stop offset="0.292" stop-color="#47dbf5" id="stop3915"/>
+            <stop offset="0.504" stop-color="#4ee3fd" id="stop3917"/>
+            <stop offset="0.834" stop-color="#50e6ff" id="stop3919"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:url(#eafc57a1-d419-432d-b0ed-435130422d7a)" d="m 17.534,8.5373778 a 3.941,3.941 0 0 0 
+        -3.419,-3.787 A 4.965,4.965 0 0 0 9.001,0.00237776 5.094,5.094 0 0 0 4.133,3.3253778 4.7,4.7 0 0 0 0,7.8453778 
+        4.771,4.771 0 0 0 4.937,12.425378 c 0.147,0 0.292,-0.007 0.435,-0.018 h 7.995 a 0.822,0.822 0 0 0 0.211,-0.032 
+        3.987,3.987 0 0 0 3.956,-3.8380002 z"/>
+    <path style="fill:url(#a5a126a8-9900-4198-8d5d-2409233cbc74)" d="m 12.267,7.8523778 a 1.446,1.446 0 0 0 0,-2.041 v 0 
+        l -2.483,-2.486 a 1.437,1.437 0 0 0 -2.036,0 v 0 l -2.481,2.486 a 1.446,1.446 0 0 0 0,2.041 l 2.065,2.073 A 
+        0.4,0.4 0 0 1 7.45,10.211378 v 3.85 a 0.492,0.492 0 0 0 0.144,0.348 l 0.941,0.944 a 0.325,0.325 0 0 0 0.461,0 l 
+        0.913,-0.915 v -0.013 l 0.538,-0.538 a 0.188,0.188 0 0 0 0,-0.266 l -0.387,-0.389 a 0.205,0.205 0 0 1 0,-0.29 l 
+        0.387,-0.389 a 0.187,0.187 0 0 0 0,-0.266 l -0.387,-0.389 a 0.205,0.205 0 0 1 0,-0.29 l 0.388,-0.389 a 
+        0.189,0.189 0 0 0 0,-0.266 l -0.539,-0.541 v -0.2 z m -3.5,-3.927 a 0.82,0.82 0 1 1 -0.817,0.819 0.817,0.817 0 0 
+        1 0.817,-0.819 z"/>
+    <path style="opacity:0.75;fill:#0078d4" d="m 8.12,14.143378 v 0 a 0.176,0.176 0 0 0 0.3,-0.134 v -3.116 a 
+        0.186,0.186 0 0 0 -0.081,-0.154 v 0 a 0.176,0.176 0 0 0 -0.272,0.154 v 3.116 a 0.186,0.186 0 0 0 0.053,0.134 z"/>
+    <path style="opacity:0.75;fill:#0078d4" d="m 6.997,6.6413778 h 3.642 a 0.22,0.22 0 0 1 0.22,0.22 v 0.042 a 0.22,0.22 
+        0 0 1 -0.22,0.22 H 6.997 a 0.22,0.22 0 0 1 -0.22,-0.22 v -0.041 a 0.221,0.221 0 0 1 0.221,-0.221 z"/>
+    <path style="opacity:0.75;fill:#0078d4" d="m 6.997,7.4253778 h 3.642 a 0.22,0.22 0 0 1 0.22,0.22 v 0.041 a 
+        0.221,0.221 0 0 1 -0.221,0.221 H 6.997 a 0.22,0.22 0 0 1 -0.22,-0.22 v -0.041 a 0.221,0.221 0 0 1 0.22,-0.221 z"/>
+</svg>

+ 36 - 0
src/main/webapp/img/lib/azure2/other/Template_Specs.svg

@@ -0,0 +1,36 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg4240" sodipodi:docname="02340-icon-service-Template-Specs.svg" version="1.1"
+    width="14.362004" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 14.362004 17"
+    height="17" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4216">
+        <linearGradient gradientTransform="translate(49,-58)" x1="-40" y1="74.181" x2="-40" gradientUnits="userSpaceOnUse"
+            y2="59.819" id="a9c4371a-d707-43d8-b213-37d041a253ab">
+            <stop offset="0" stop-color="#198ab3" id="stop4209"/>
+            <stop offset="0.619" stop-color="#31d0f1" id="stop4211"/>
+            <stop offset="1" stop-color="#32d4f5" id="stop4213"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#32bedd" d="m 4.3970044,0 h -3.371 A 1.026,1.026 0 0 0 4.3859743e-6,1.026 V 4.4 H 2.0520044 V 
+        2.052 h 2.345 z"/>
+    <path style="fill:#32bedd" d="M 13.336004,0 H 9.9660044 V 2.052 H 12.310004 V 4.4 h 2.052 V 1.026 A 1.026,1.026 0 0 
+        0 13.336004,0 Z"/>
+    <path style="fill:#32bedd" d="m 12.310004,12.6 v 2.345 H 9.9660044 V 17 h 3.3699996 a 1.026,1.026 0 0 0 1.026,-1.026 
+        V 12.6 Z"/>
+    <path style="fill:#32bedd" d="M 2.0520044,14.948 V 12.6 H 4.3859743e-6 v 3.371 A 1.026,1.026 0 0 0 1.0260044,17 h 
+        3.371 v -2.052 z"/>
+    <path style="fill:url(#a9c4371a-d707-43d8-b213-37d041a253ab)" d="M 1.9050044,15.681 H 12.457004 a 0.588,0.588 0 0 0 
+        0.586,-0.586 V 1.9 a 0.588,0.588 0 0 0 -0.586,-0.586 H 1.9050044 a 0.588,0.588 0 0 0 -0.586,0.586 v 13.2 a 
+        0.588,0.588 0 0 0 0.586,0.581 z"/>
+    <path style="fill:#ffffff" d="m 2.7810044,14.509 h 8.7999996 a 0.294,0.294 0 0 0 0.293,-0.293 V 2.785 a 0.294,0.294 
+        0 0 0 -0.293,-0.294 H 2.7810044 a 0.294,0.294 0 0 0 -0.293,0.294 v 11.431 a 0.294,0.294 0 0 0 0.293,0.293 z"/>
+    <path style="fill:#5e9624" d="m 4.8360044,12.75 h 4.69 a 0.294,0.294 0 0 0 0.293,-0.293 v -1.319 a 0.294,0.294 0 0 0 
+        -0.293,-0.293 h -4.69 a 0.294,0.294 0 0 0 -0.293,0.293 v 1.319 a 0.294,0.294 0 0 0 0.293,0.293 z"/>
+    <path style="fill:#76bc2d" d="m 4.8360044,9.453 h 4.69 a 0.294,0.294 0 0 0 0.293,-0.293 V 7.841 a 0.294,0.294 0 0 0 
+        -0.293,-0.294 h -4.69 a 0.294,0.294 0 0 0 -0.293,0.294 V 9.16 a 0.294,0.294 0 0 0 0.293,0.293 z"/>
+    <path style="fill:#86d633" d="m 4.8360044,6.155 h 4.69 a 0.294,0.294 0 0 0 0.293,-0.293 V 4.543 a 0.294,0.294 0 0 0 
+        -0.293,-0.293 h -4.69 a 0.294,0.294 0 0 0 -0.293,0.293 v 1.319 a 0.294,0.294 0 0 0 0.293,0.293 z"/>​
+</svg>

+ 32 - 0
src/main/webapp/img/lib/azure2/security/Azure_Defender.svg

@@ -0,0 +1,32 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="svg4637" sodipodi:docname="02247-icon-service-Azure-Defender.svg" version="1.1"
+    width="14.728" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 14.728 17.994978"
+    height="17.994978" xmlns="http://www.w3.org/2000/svg">
+    <defs id="defs4621">
+        <linearGradient x1="9" y1="17.253" x2="9" gradientUnits="userSpaceOnUse" y2="0.74699998" id="a5d53553-f668-4fa0-ac9f-76a8e299111d">
+            <stop offset="0" stop-color="#50e6ff" id="stop4616"/>
+            <stop offset="1" stop-color="#9cebff" id="stop4618"/>
+        </linearGradient>
+    </defs>
+    <path style="fill:#50e6ff" d="m 14.728,8.4 c 0,4.84 -5.849,8.736 -7.122,9.526 a 0.459,0.459 0 0 1 -0.484,0 C 
+        5.849,17.136 0,13.24 0,8.4 V 2.582 A 0.463,0.463 0 0 1 0.452,2.12 C 5.002,2 3.954,0 7.364,0 c 3.41,0 2.362,2 
+        6.912,2.12 a 0.463,0.463 0 0 1 0.452,0.462 z"/>
+    <path style="fill:url(#a5d53553-f668-4fa0-ac9f-76a8e299111d)" d="m 14.118,8.454 c 0,4.438 -5.365,8.011 -6.532,8.736 
+        a 0.418,0.418 0 0 1 -0.444,0 C 5.975,16.465 0.61,12.89 0.61,8.454 V 3.114 A 0.425,0.425 0 0 1 1.025,2.691 C 
+        5.198,2.578 4.237,0.747 7.364,0.747 c 3.127,0 2.166,1.831 6.339,1.944 a 0.425,0.425 0 0 1 0.415,0.423 z"/>
+    <circle r="1.281" style="fill:#ffffff" cx="8.2180004" cy="8.0369997"/>
+    <circle r="0.86500001" style="fill:#ffffff" cx="6.3779998" cy="11.159"/>
+    <circle r="1.073" style="fill:#ffffff" cx="5.7539997" cy="4.5710001"/>
+    <polygon id="polygon4630" style="fill:#e6e6e6" points="9.302,7.777 4.489,8.174 4.535,8.733 9.302,8.337 7.721,10.964 
+        8.196,11.25 9.822,8.545 11.753,11.92 12.234,11.646 10.069,7.855 9.854,7.979 10.03,7.849 7.578,4.363 7.13,4.689"
+        transform="translate(-1.636)"/>
+    <path style="fill:#ffffff" d="m 8.218,6.769 a 1.3,1.3 0 1 1 -1.3,1.3 V 8.037 a 1.3,1.3 0 0 1 1.3,-1.268 z M 
+        4.707,4.569 A 1.08,1.08 0 1 0 5.792,3.5 H 5.764 A 1.071,1.071 0 0 0 4.707,4.571 Z M 2.015,8.519 A 0.865,0.865 0 
+        1 0 2.879,7.654 0.865,0.865 0 0 0 2.015,8.519 Z m 3.5,2.633 A 0.872,0.872 0 1 0 6.393,10.287 H 6.384 a 
+        0.866,0.866 0 0 0 -0.871,0.859 z m 3.85,0.7 a 1.008,1.008 0 1 0 1.014,-1 h -0.006 a 0.994,0.994 0 0 0 
+        -1.009,0.976 z"/>​
+</svg>

File diff ditekan karena terlalu besar
+ 2853 - 2842
src/main/webapp/js/app.min.js


+ 2 - 8
src/main/webapp/js/diagramly/App.js

@@ -487,7 +487,7 @@ App.getStoredMode = function()
 							mxscript(App.DROPBOX_URL, function()
 							{
 								// Must load this after the dropbox SDK since they use the same namespace
-								mxscript(App.DROPINS_URL, null, 'dropboxjs', App.DROPBOX_APPKEY);
+								mxscript(App.DROPINS_URL, null, 'dropboxjs', App.DROPBOX_APPKEY, true);
 							});							
 						}
 						else if (urlParams['chrome'] == '0')
@@ -563,12 +563,6 @@ App.getStoredMode = function()
 					}
 				}
 			}
-			
-			// Loads JSON for older browsers
-			if (typeof(JSON) == 'undefined')
-			{
-				mxscript('js/json/json2.min.js');
-			}
 		}
 	}
 })();
@@ -641,7 +635,7 @@ App.main = function(callback, createUi)
 	if (window.mxscript != null)
 	{
 		// Checks for script content changes to avoid CSP errors in production
-		if (urlParams['dev'] == '1' && CryptoJS != null && urlParams['mode'] != 'trello')
+		if (urlParams['dev'] == '1' && CryptoJS != null && App.mode != App.MODE_DROPBOX && App.mode != App.MODE_TRELLO)
 		{
 			var scripts = document.getElementsByTagName('script');
 			

+ 1 - 1
src/main/webapp/js/diagramly/Devel.js

@@ -120,7 +120,7 @@ if (!mxIsElectron && location.protocol !== 'http:')
 		}
 	})();
 }
-			
+
 mxscript(drawDevUrl + 'js/cryptojs/aes.min.js');
 mxscript(drawDevUrl + 'js/spin/spin.min.js');
 mxscript(drawDevUrl + 'js/deflate/pako.min.js');

+ 21 - 18
src/main/webapp/js/diagramly/Editor.js

@@ -1215,27 +1215,14 @@
 		mxShape.prototype.paint = function(c)
 		{
 			var addTolerance = c.addTolerance;
-			var fillStyle = null;
 			var events = true;
 			
 			if (this.style != null)
 			{
 				events = mxUtils.getValue(this.style, mxConstants.STYLE_POINTER_EVENTS, '1') == '1';
-				fillStyle = mxUtils.getValue(this.style, 'fillStyle', 'auto');
-				
-				if (this.state != null && fillStyle == 'auto')
-				{
-					var bg = this.state.view.graph.defaultPageBackgroundColor;
-					
-					if (this.fill != null && (this.gradient != null || (bg != null &&
-						this.fill.toLowerCase() == bg.toLowerCase())))
-					{
-						fillStyle = 'solid';
-					}
-				}
 			}
 			
-			if (events && c.handJiggle != null && c.handJiggle.constructor == RoughCanvas && !this.outline)
+			if (c.handJiggle != null && c.handJiggle.constructor == RoughCanvas && !this.outline)
 			{
 				// Save needed for possible transforms applied during paint
 				c.save();
@@ -1244,6 +1231,8 @@
 				this.fill = null;
 				this.stroke = null;
 				
+				var configurePointerEvents = this.configurePointerEvents;
+				
 				// Ignores color changes during paint
 				var setStrokeColor = c.setStrokeColor;
 				
@@ -1259,6 +1248,15 @@
 					// ignore
 				};
 				
+				// Adds stroke tolerance for plain rendering if filled
+				if (!events && fill != null)
+				{
+					this.configurePointerEvents = function()
+					{
+						// ignore
+					};
+				}
+				
 				c.handJiggle.passThrough = true;
 
 				shapePaint.apply(this, arguments);
@@ -1266,20 +1264,25 @@
 				c.handJiggle.passThrough = false;
 				c.setFillColor = setFillColor;
 				c.setStrokeColor = setStrokeColor;
+				this.configurePointerEvents = configurePointerEvents;
 				this.stroke = stroke;
 				this.fill = fill;
 				c.restore();
 				
-				c.addTolerance = function()
+				// Bypasses stroke tolerance for sketched rendering if filled
+				if (events && fill != null)
 				{
-					// ignore	
-				};
+					c.addTolerance = function()
+					{
+						// ignore	
+					};
+				}
 			}
 			
 			shapePaint.apply(this, arguments);
 			c.addTolerance = addTolerance;
 		};
-		
+
 		// Overrides glass effect to disable sketch style
 		var shapePaintGlassEffect = mxShape.prototype.paintGlassEffect;
 		mxShape.prototype.paintGlassEffect = function(c, x, y, w, h, arc)

+ 20 - 13
src/main/webapp/js/diagramly/EditorUi.js

@@ -3656,21 +3656,28 @@
 		// Implements the sketch-min UI
 		if (urlParams['sketch'] == '1')
 		{
-			Menus.prototype.defaultFonts = [{'fontFamily': Editor.sketchFontFamily,
-				'fontUrl': decodeURIComponent(Editor.sketchFontSource)},
-				{'fontFamily': 'Rock Salt', 'fontUrl': 'https://fonts.googleapis.com/css?family=Rock+Salt'},
-				{'fontFamily': 'Permanent Marker', 'fontUrl': 'https://fonts.googleapis.com/css?family=Permanent+Marker'}].
-				concat(Menus.prototype.defaultFonts);
-
-			Graph.prototype.defaultVertexStyle = {'fontFamily': Editor.sketchFontFamily , 'fontSize': '20',
-				'fontSource': Editor.sketchFontSource, 'pointerEvents': '0', 'sketch':
-				urlParams['rough'] == '0' ? '0' : '1', 'hachureGap': '4'};
-			
+			Graph.prototype.defaultVertexStyle = {'pointerEvents': '0', 'hachureGap': '4'};
 			Graph.prototype.defaultEdgeStyle = {'edgeStyle': 'none', 'rounded': '0', 'curved': '1',
 				'jettySize': 'auto', 'orthogonalLoop': '1', 'endArrow': 'open', 'startSize': '14', 'endSize': '14',
-				'fontFamily': Editor.sketchFontFamily, 'fontSize': '20','fontSource': Editor.sketchFontSource,
-				'sourcePerimeterSpacing': '8', 'targetPerimeterSpacing': '8', 'sketch':
-				urlParams['rough'] == '0' ? '0' : '1'};
+				'sourcePerimeterSpacing': '8', 'targetPerimeterSpacing': '8'};
+				
+			if (urlParams['rough'] != '0')
+			{
+				Graph.prototype.defaultVertexStyle['fontFamily'] = Editor.sketchFontFamily;
+				Graph.prototype.defaultVertexStyle['fontSource'] = Editor.sketchFontSource;
+				Graph.prototype.defaultVertexStyle['fontSize'] = '20';
+				Graph.prototype.defaultVertexStyle['sketch'] = '1';
+				Graph.prototype.defaultEdgeStyle['fontFamily'] = Editor.sketchFontFamily;
+				Graph.prototype.defaultEdgeStyle['fontSource'] = Editor.sketchFontSource;
+				Graph.prototype.defaultEdgeStyle['fontSize'] = '20';
+				Graph.prototype.defaultEdgeStyle['sketch'] = '1';
+				
+				Menus.prototype.defaultFonts = [{'fontFamily': Editor.sketchFontFamily,
+					'fontUrl': decodeURIComponent(Editor.sketchFontSource)},
+					{'fontFamily': 'Rock Salt', 'fontUrl': 'https://fonts.googleapis.com/css?family=Rock+Salt'},
+					{'fontFamily': 'Permanent Marker', 'fontUrl': 'https://fonts.googleapis.com/css?family=Permanent+Marker'}].
+					concat(Menus.prototype.defaultFonts);
+			}
 			
 			Editor.configurationKey = '.sketch-configuration';
 			Editor.settingsKey = '.sketch-config';

+ 1 - 1
src/main/webapp/js/diagramly/Menus.js

@@ -870,7 +870,7 @@
 				
 				if (!EditorUi.isElectronApp)
 				{
-					buttons.push([mxResources.get('link'), function(evt, input)
+					buttons.push([mxResources.get('share'), function(evt, input)
 					{
 						if (input.value.length > 0)
 						{

+ 2 - 1
src/main/webapp/js/diagramly/Minimal.js

@@ -1279,7 +1279,8 @@ EditorUi.initMinimalTheme = function()
 			
 			this.editor.graph.isZoomWheelEvent = function(evt)
 			{
-				return !mxEvent.isAltDown(evt) && (!mxEvent.isControlDown(evt) || mxClient.IS_MAC);
+				return !mxEvent.isShiftDown(evt) && !mxEvent.isMetaDown(evt) && !mxEvent.isAltDown(evt) &&
+					(!mxEvent.isControlDown(evt) || mxClient.IS_MAC);
 			};
 		}
 

+ 64 - 4
src/main/webapp/js/diagramly/sidebar/Sidebar-Azure2.js

@@ -74,7 +74,15 @@
 			this.createVertexTemplateEntry(s + 'Bot_Services.svg;',
 					r * 0.17, r * 0.17, '', 'Bot Services', null, null, this.getTagsForStencil(gn, 'bot services', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Cognitive_Services.svg;',
-					r * 0.17, r * 0.12, '', 'Cognitive Services', null, null, this.getTagsForStencil(gn, 'cognitive services', dt).join(' '))
+					r * 0.17, r * 0.12, '', 'Cognitive Services', null, null, this.getTagsForStencil(gn, 'cognitive services', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Machine_Learning_Studio_Classic_Web_Services.svg;',
+					r * 0.17, r * 0.17, '', 'Machine Learning Studio - Classic Web Services', null, null, this.getTagsForStencil(gn, 'studio classic web services', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Machine_Learning_Studio_Web_Service_Plans.svg;',
+					r * 0.17, r * 0.16, '', 'Machine Learning Studio - Web Service Plans', null, null, this.getTagsForStencil(gn, 'studio web service plans', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Machine_Learning_Studio_Workspaces.svg;',
+					r * 0.17, r * 0.16, '', 'Machine Learning Studio - Workspaces', null, null, this.getTagsForStencil(gn, 'studio workspaces', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Translator_Text.svg;',
+					r * 0.17, r * 0.17, '', 'Translator Text', null, null, this.getTagsForStencil(gn, 'translator text', dt).join(' '))
 		];
 			
 		this.addPalette('azure2AI Machine Learning', 'Azure / AI and Machine Learning', false, mxUtils.bind(this, function(content)
@@ -94,6 +102,8 @@
 		[
 			this.createVertexTemplateEntry(s + 'Analysis_Services.svg;',
 					r * 0.1575, r * 0.12, '', 'Analysis Services', null, null, this.getTagsForStencil(gn, 'analysis services', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Azure_Databricks.svg;',
+					r * 0.15, r * 0.17, '', 'Azure Databricks', null, null, this.getTagsForStencil(gn, 'azure databricks', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_Synapse_Analytics.svg;',
 					r * 0.15, r * 0.1725, '', 'Azure Synapse Analytics', null, null, this.getTagsForStencil(gn, 'synapse analytics', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Data_Lake_Store_Gen1.svg;',
@@ -277,6 +287,8 @@
 					r * 0.1675, r * 0.16, '', 'Service Fabric Clusters', null, null, this.getTagsForStencil(gn, 'service fabric clusters', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Shared_Image_Galleries.svg;',
 					r * 0.16, r * 0.16, '', 'Shared Image Galleries', null, null, this.getTagsForStencil(gn, 'shared image galleries', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Azure_Spring_Cloud.svg;',
+					r * 0.17, r * 0.16, '', 'Spring Cloud', null, null, this.getTagsForStencil(gn, 'azure spring cloud', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Virtual_Machine.svg;',
 					r * 0.1725, r * 0.16, '', 'Virtual Machine', null, null, this.getTagsForStencil(gn, 'virtual machine', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Virtual_Machines_Classic.svg;',
@@ -366,6 +378,8 @@
 					r * 0.12, r * 0.16, '', 'Azure Database MySQL Server', null, null, this.getTagsForStencil(gn, 'mysql my sql server', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_Database_PostgreSQL_Server.svg;',
 					r * 0.12, r * 0.16, '', 'Azure Database PostgreSQL Server', null, null, this.getTagsForStencil(gn, 'postgresql sql server', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Azure_SQL.svg;',
+					r * 0.16, r * 0.115, '', 'Azure SQL', null, null, this.getTagsForStencil(gn, 'sql', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_SQL_Server_Stretch_Databases.svg;',
 					r * 0.16, r * 0.1625, '', 'Azure SQL Server Stretch Databases', null, null, this.getTagsForStencil(gn, 'sql server stretch', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_SQL_VM.svg;',
@@ -392,6 +406,8 @@
 					r * 0.1625, r * 0.16, '', 'SQL Managed Instance', null, null, this.getTagsForStencil(gn, 'sql managed instance', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'SQL_Server.svg;',
 					r * 0.17, r * 0.17, '', 'SQL Server', null, null, this.getTagsForStencil(gn, 'sql server', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'SSIS_Lift_And_Shift_IR.svg;',
+					r * 0.155, r * 0.17, '', 'SSIS Lift and Shift IR', null, null, this.getTagsForStencil(gn, 'ssis lift and shift ir', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Virtual_Clusters.svg;',
 					r * 0.165, r * 0.16, '', 'Virtual Clusters', null, null, this.getTagsForStencil(gn, 'virtual clusters', dt).join(' '))
 		];
@@ -472,6 +488,8 @@
 					r * 0.1675, r * 0.17, '', 'Cost Budgets', null, null, this.getTagsForStencil(gn, 'cost budgets', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Cost_Management.svg;',
 					r * 0.1675, r * 0.15, '', 'Cost Management', null, null, this.getTagsForStencil(gn, 'cost management', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Cost_Management_and_Billing.svg;',
+					r * 0.17, r * 0.17, '', 'Cost Management and Billing', null, null, this.getTagsForStencil(gn, 'cost management and billing', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Counter.svg;',
 					r * 0.16, r * 0.13, '', 'Counter', null, null, this.getTagsForStencil(gn, 'counter', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Cubes.svg;',
@@ -494,6 +512,8 @@
 					r * 0.1725, r * 0.14, '', 'Folder Blank', null, null, this.getTagsForStencil(gn, 'folder blank', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Folder_Website.svg;',
 					r * 0.17, r * 0.14, '', 'Folder Website', null, null, this.getTagsForStencil(gn, 'folder website', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Free_Services.svg;',
+					r * 0.17, r * 0.1575, '', 'Free Services', null, null, this.getTagsForStencil(gn, 'free services', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'FTP.svg;',
 					r * 0.15, r * 0.12, '', 'FTP', null, null, this.getTagsForStencil(gn, 'ftp file transfer protocol', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Gear.svg;',
@@ -564,6 +584,8 @@
 					r * 0.17, r * 0.17, '', 'Recent', null, null, this.getTagsForStencil(gn, 'recent', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Reservations.svg;',
 					r * 0.17, r * 0.17, '', 'Reservations', null, null, this.getTagsForStencil(gn, 'reservations', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Resource_Explorer.svg;',
+					r * 0.17, r * 0.14, '', 'Resource Explorer', null, null, this.getTagsForStencil(gn, 'resource exporer', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Resource_Group_List.svg;',
 					r * 0.17, r * 0.1675, '', 'Resource Group List', null, null, this.getTagsForStencil(gn, 'resource group list', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Resource_Groups.svg;',
@@ -596,6 +618,8 @@
 					r * 0.11, r * 0.1775, '', 'Subscriptions', null, null, this.getTagsForStencil(gn, 'subscriptions', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Table.svg;',
 					r * 0.16, r * 0.13, '', 'Table', null, null, this.getTagsForStencil(gn, 'table', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Tag.svg;',
+					r * 0.17, r * 0.17, '', 'Tag', null, null, this.getTagsForStencil(gn, 'tag', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Tags.svg;',
 					r * 0.15, r * 0.1625, '', 'Tags', null, null, this.getTagsForStencil(gn, 'tags', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'TFS_VC_Repository.svg;',
@@ -643,12 +667,16 @@
 					r * 0.1725, r * 0.16, '', 'Azure AD B2C', null, null, this.getTagsForStencil(gn, 'ad b2c', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_AD_Domain_Services.svg;',
 					r * 0.175, r * 0.16, '', 'Azure AD Domain Services', null, null, this.getTagsForStencil(gn, 'ad domain services', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Azure_AD_Identity_Protection.svg;',
+					r * 0.17, r * 0.15, '', 'Azure AD Identity Protection', null, null, this.getTagsForStencil(gn, 'ad identity protection', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Enterprise_Applications.svg;',
 					r * 0.16, r * 0.16, '', 'Enterprise Applications', null, null, this.getTagsForStencil(gn, 'enterprise applications', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Groups.svg;',
 					r * 0.17, r * 0.14, '', 'Groups', null, null, this.getTagsForStencil(gn, 'groups', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Identity_Governance.svg;',
 					r * 0.16, r * 0.16, '', 'Identity Governance', null, null, this.getTagsForStencil(gn, 'identity governance', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Managed_Identities.svg;',
+					r * 0.17, r * 0.17, '', 'Managed Identities', null, null, this.getTagsForStencil(gn, 'managed identities', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Users.svg;',
 					r * 0.16, r * 0.175, '', 'Users', null, null, this.getTagsForStencil(gn, 'users', dt).join(' '))
 		];
@@ -668,6 +696,8 @@
 		
 		var fns =
 		[
+			this.createVertexTemplateEntry(s + 'Azure_API_for_FHIR.svg;',
+					r * 0.17, r * 0.165, '', 'Azure API for FHIR', null, null, this.getTagsForStencil(gn, 'api application programming interface for fhir', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'API_Management_Services.svg;',
 					r * 0.1625, r * 0.15, '', 'API Management Services', null, null, this.getTagsForStencil(gn, 'api application programming interface management services', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_Data_Catalog.svg;',
@@ -682,12 +712,16 @@
 					r * 0.16, r * 0.16, '', 'Integration Accounts', null, null, this.getTagsForStencil(gn, 'integration accounts', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Logic_Apps.svg;',
 					r * 0.1675, r * 0.13, '', 'Logic Apps', null, null, this.getTagsForStencil(gn, 'logic apps', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Partner_Topic.svg;',
+					r * 0.17, r * 0.1525, '', 'Partner Topic', null, null, this.getTagsForStencil(gn, 'partner topic', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Relays.svg;',
 					r * 0.1675, r * 0.15, '', 'Relays', null, null, this.getTagsForStencil(gn, 'relays', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Software_as_a_Service.svg;',
 					r * 0.16, r * 0.1325, '', 'Software as a Service', null, null, this.getTagsForStencil(gn, 'software service', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'SQL_Data_Warehouses.svg;',
-					r * 0.16, r * 0.1625, '', 'SQL Data Warehouses', null, null, this.getTagsForStencil(gn, 'sql data warehouses', dt).join(' '))
+					r * 0.16, r * 0.1625, '', 'SQL Data Warehouses', null, null, this.getTagsForStencil(gn, 'sql data warehouses', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'System_Topic.svg;',
+					r * 0.17, r * 0.15, '', 'System Topic', null, null, this.getTagsForStencil(gn, 'system topic', dt).join(' '))
 		];
 			
 		this.addPalette('azure2Integration', 'Azure / Integration', false, mxUtils.bind(this, function(content)
@@ -706,7 +740,9 @@
 		var fns =
 		[
 			this.createVertexTemplateEntry(s + 'Digital_Twins.svg;',
-					r * 0.17, r * 0.1725, '', 'Digital Twins', null, null, this.getTagsForStencil(gn, 'digital twins', dt).join(' '))
+					r * 0.17, r * 0.1725, '', 'Digital Twins', null, null, this.getTagsForStencil(gn, 'digital twins', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Time_Series_Insights_Access_Policies.svg;',
+					r * 0.105, r * 0.17, '', 'Time Series Insights Access Policies', null, null, this.getTagsForStencil(gn, 'time series insights access policies', dt).join(' '))
 		];
 			
 		this.addPalette('azure2Internet of Things', 'Azure / Internet of Things', false, mxUtils.bind(this, function(content)
@@ -731,7 +767,11 @@
 			this.createVertexTemplateEntry(s + 'Device_Security_Google.svg;',
 					r * 0.17, r * 0.1725, '', 'Device Security Google', null, null, this.getTagsForStencil(gn, 'device security google', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Device_Security_Windows.svg;',
-					r * 0.17, r * 0.1725, '', 'Device Security Windows', null, null, this.getTagsForStencil(gn, 'device security windows', dt).join(' '))
+					r * 0.17, r * 0.1725, '', 'Device Security Windows', null, null, this.getTagsForStencil(gn, 'device security windows', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Intune.svg;',
+					r * 0.17, r * 0.155, '', 'Intune', null, null, this.getTagsForStencil(gn, 'intune', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Intune_For_Education.svg;',
+					r * 0.17, r * 0.155, '', 'Intune for Education', null, null, this.getTagsForStencil(gn, 'intune for education', dt).join(' '))
 		];
 			
 		this.addPalette('azure2Intune', 'Azure / Intune', false, mxUtils.bind(this, function(content)
@@ -806,6 +846,8 @@
 					r * 0.1625, r * 0.16, '', 'Blueprints', null, null, this.getTagsForStencil(gn, 'blueprints', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Compliance.svg;',
 					r * 0.13, r * 0.16, '', 'Compliance', null, null, this.getTagsForStencil(gn, 'compliance', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Cost_Management_and_Billing.svg;',
+					r * 0.17, r * 0.17, '', 'Cost Management and Billing', null, null, this.getTagsForStencil(gn, 'cost management billing', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Diagnostics_Settings.svg;',
 					r * 0.14, r * 0.1675, '', 'Diagnostics Settings', null, null, this.getTagsForStencil(gn, 'diagnostics settings', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Education.svg;',
@@ -855,6 +897,8 @@
 		[
 			this.createVertexTemplateEntry(s + 'Azure_Migrate.svg;',
 					r * 0.18, r * 0.11, '', 'Azure Migrate', null, null, this.getTagsForStencil(gn, 'migrate', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Cost_Management_and_Billing.svg;',
+					r * 0.17, r * 0.17, '', 'Cost Management and Billing', null, null, this.getTagsForStencil(gn, 'cost management billing', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Data_Box.svg;',
 					r * 0.1775, r * 0.17, '', 'Data Box', null, null, this.getTagsForStencil(gn, 'data box', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Data_Box_Edge.svg;',
@@ -938,6 +982,8 @@
 					r * 0.1675, r * 0.13, '', 'IP Groups', null, null, this.getTagsForStencil(gn, 'ip internet protocol groups', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Load_Balancers.svg;',
 					r * 0.18, r * 0.18, '', 'Load Balancers', null, null, this.getTagsForStencil(gn, 'load balancers', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Local_Network_Gateways.svg;',
+					r * 0.17, r * 0.17, '', 'Local Network Gateways', null, null, this.getTagsForStencil(gn, 'local network gateways', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'NAT.svg;',
 					r * 0.17, r * 0.17, '', 'NAT', null, null, this.getTagsForStencil(gn, 'nat', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Network_Interfaces.svg;',
@@ -997,14 +1043,26 @@
 		
 		var fns =
 		[
+			this.createVertexTemplateEntry(s + 'Azure_Backup_Center.svg;',
+					r * 0.17, r * 0.155, '', 'Backup Center', null, null, this.getTagsForStencil(gn, 'backup center', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Detonation.svg;',
 					r * 0.155, r * 0.16, '', 'Detonation', null, null, this.getTagsForStencil(gn, 'detonation', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'ExpressRoute_Direct.svg;',
+					r * 0.17, r * 0.15, '', 'ExpressRoute Direct', null, null, this.getTagsForStencil(gn, 'expressroute express route direct', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Instance_Pools.svg;',
 					r * 0.1625, r * 0.16, '', 'Instance Pools', null, null, this.getTagsForStencil(gn, 'instance pools', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Internet_Analyzer_Profiles.svg;',
 					r * 0.17, r * 0.16, '', 'Internet Analyzer Profiles', null, null, this.getTagsForStencil(gn, 'internet analyzer profiles', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Local_Network_Gateways.svg;',
+					r * 0.17, r * 0.17, '', 'Local Network Gateways', null, null, this.getTagsForStencil(gn, 'local network gateways', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Peering_Service.svg;',
 					r * 0.17, r * 0.1725, '', 'Peering Service', null, null, this.getTagsForStencil(gn, 'peering service', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Resource_Mover.svg;',
+					r * 0.14, r * 0.17, '', 'Resource Mover', null, null, this.getTagsForStencil(gn, 'resource mover', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'SSH_Keys.svg;',
+					r * 0.17, r * 0.15, '', 'SSH Keys', null, null, this.getTagsForStencil(gn, 'ssh keys', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Template_Specs.svg;',
+					r * 0.1425, r * 0.17, '', 'Template Specs', null, null, this.getTagsForStencil(gn, 'template specs', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Universal_Print.svg;',
 					r * 0.175, r * 0.15, '', 'Universal Print', null, null, this.getTagsForStencil(gn, 'universal print', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Windows_Virtual_Desktop.svg;',
@@ -1063,6 +1121,8 @@
 		[
 			this.createVertexTemplateEntry(s + 'Application_Security_Groups.svg;',
 					r * 0.14, r * 0.17, '', 'Application Security Groups', null, null, this.getTagsForStencil(gn, 'application security groups', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'Azure_Defender.svg;',
+					r * 0.14, r * 0.17, '', 'Azure Defender', null, null, this.getTagsForStencil(gn, 'defender', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Azure_Sentinel.svg;',
 					r * 0.14, r * 0.17, '', 'Azure Sentinel', null, null, this.getTagsForStencil(gn, 'sentinel', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'Conditional_Access.svg;',

+ 0 - 6
src/main/webapp/js/diagramly/sidebar/Sidebar.js

@@ -1292,12 +1292,6 @@
 			this.searchFileData = null;
 		}
 		
-		// Logs search terms for improving search results
-		if (!this.editorUi.isOffline() && page == 0)
-		{
-			EditorUi.logEvent({category: 'Shape', action: 'search', label: searchTerms});
-		}
-		
 		if (ICONSEARCH_PATH != null)
 		{
 			success = mxUtils.bind(this, function(results, len, more, terms)

+ 12 - 8
src/main/webapp/js/grapheditor/EditorUi.js

@@ -3444,18 +3444,22 @@ EditorUi.prototype.setFoldingEnabled = function(value)
 /**
  * Loads the stylesheet for this graph.
  */
-EditorUi.prototype.setPageFormat = function(value)
+EditorUi.prototype.setPageFormat = function(value, ignorePageVisible)
 {
+	ignorePageVisible = (ignorePageVisible != null) ? ignorePageVisible : urlParams['sketch'] == '1';
 	this.editor.graph.pageFormat = value;
 	
-	if (!this.editor.graph.pageVisible)
-	{
-		this.actions.get('pageView').funct();
-	}
-	else
+	if (!ignorePageVisible)
 	{
-		this.editor.graph.view.validateBackground();
-		this.editor.graph.sizeDidChange();
+		if (!this.editor.graph.pageVisible)
+		{
+			this.actions.get('pageView').funct();
+		}
+		else
+		{
+			this.editor.graph.view.validateBackground();
+			this.editor.graph.sizeDidChange();
+		}
 	}
 
 	this.fireEvent(new mxEventObject('pageFormatChanged'));

+ 8 - 21
src/main/webapp/js/grapheditor/Shapes.js

@@ -1466,12 +1466,12 @@
 		else
 		{
 			var events = true;
-			
+
 			if (this.style != null)
 			{
 				events = mxUtils.getValue(this.style, mxConstants.STYLE_POINTER_EVENTS, '1') == '1';		
 			}
-			
+
 			if (events || (this.fill != null && this.fill != mxConstants.NONE) ||
 				(this.stroke != null && this.stroke != mxConstants.NONE))
 			{
@@ -1479,13 +1479,13 @@
 				{
 					c.pointerEvents = false;
 				}
-				
+
 				c.begin();
-				
+
 				if (this.isRounded)
 				{
 					var r = 0;
-					
+
 					if (mxUtils.getValue(this.style, mxConstants.STYLE_ABSOLUTE_ARCSIZE, 0) == '1')
 					{
 						r = Math.min(w / 2, Math.min(h / 2, mxUtils.getValue(this.style,
@@ -1497,7 +1497,7 @@
 							mxConstants.RECTANGLE_ROUNDING_FACTOR * 100) / 100;
 						r = Math.min(w * f, h * f);
 					}
-					
+
 					c.moveTo(x + r, y);
 					c.lineTo(x + w - r, y);
 					c.quadTo(x + w, y, x + w, y + r);
@@ -1516,28 +1516,15 @@
 					c.lineTo(x, y + h);
 					c.lineTo(x, y);
 				}
-				
+
 				// LATER: Check if close is needed here
 				c.close();
 				c.end();
-				
+
 				c.fillAndStroke();
 			}			
 		}
 	};
-
-	/**
-	 * Disables glass effect with hand jiggle.
-	 */
-	var mxRectangleShapePaintForeground0 = mxRectangleShape.prototype.paintForeground;
-	mxRectangleShape.prototype.paintForeground = function(c, x, y, w, h)
-	{
-		if (c.handJiggle == null)
-		{
-			mxRectangleShapePaintForeground0.apply(this, arguments);
-		}
-	};
-
 	// End of hand jiggle integration
 	
 	// Process Shape

+ 3 - 2
src/main/webapp/js/grapheditor/Sidebar.js

@@ -1083,7 +1083,7 @@ Sidebar.prototype.addGeneralPalette = function(expand)
 		this.addEntry('list group erd table', function()
 		{
 			var cell = new mxCell('List', new mxGeometry(0, 0, 140, 110),
-		    	'swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;' +
+		    	'swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;' +
 		    	'resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;');
 			cell.vertex = true;
 			cell.insert(sb.cloneCell(field, 'Item 1'));
@@ -2056,7 +2056,8 @@ Sidebar.prototype.createItem = function(cells, title, showLabel, showTitle, widt
 	this.editorUi.insertHandler(cells, null, this.graph.model,
 		Graph.prototype.defaultVertexStyle,
 		Graph.prototype.defaultEdgeStyle,
-		true, true);
+		urlParams['sketch'] == '1',
+		urlParams['sketch'] == '1');
 
 	this.createThumb(cells, this.thumbWidth, this.thumbHeight, elt, title, showLabel, showTitle, width, height);
 	var bounds = new mxRectangle(0, 0, width, height);

File diff ditekan karena terlalu besar
+ 0 - 7
src/main/webapp/js/json/json2.min.js


File diff ditekan karena terlalu besar
+ 471 - 470
src/main/webapp/js/viewer-static.min.js


File diff ditekan karena terlalu besar
+ 471 - 470
src/main/webapp/js/viewer.min.js


File diff ditekan karena terlalu besar
+ 5 - 5
src/main/webapp/mxgraph/mxClient.js


File diff ditekan karena terlalu besar
+ 2822 - 0
src/main/webapp/package-lock.json


+ 5 - 5
src/main/webapp/package.json

@@ -1,6 +1,6 @@
 {
   "name": "draw.io",
-  "version": "14.5.1",
+  "version": "14.6.12",
   "description": "diagrams.net desktop",
   "main": "electron.js",
   "scripts": {
@@ -26,13 +26,13 @@
     "commander": "^7.2.0",
     "compression": "^1.7.4",
     "crc": "^3.8.0",
-    "electron-log": "^4.3.2",
+    "electron-log": "^4.3.5",
     "electron-progressbar": "^2.0.0",
-    "electron-store": "^7.0.2",
-    "electron-updater": "^4.3.8",
+    "electron-store": "^8.0.0",
+    "electron-updater": "^4.3.9",
     "pdf-lib": "^1.16.0"
   },
   "devDependencies": {
-    "electron": "^12.0.1"
+    "electron": "^12.0.6"
   }
 }

+ 1 - 0
src/main/webapp/resources/dia.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_am.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 26 - 25
src/main/webapp/resources/dia_ar.txt

@@ -7,7 +7,7 @@ action=‫فعل‬
 actualSize=‫الحجم الحقيقي‬
 add=‫إضافة‬
 addAccount=‫إضافة حساب‬
-addedFile=‫الملفات المضافة
+addedFile=‫تمت إضافة {1}
 addImages=‫إضافة صور‬
 addImageUrl=‫إضافة رابط صورة‬
 addLayer=‫إضافة طبقة‬
@@ -25,7 +25,7 @@ allProjects=‫كل المشاريع‬
 allSpaces=‫كل المساحات‬
 allTags=‫كل الواصفات‬
 anchor=‫مرساة‬
-android=‫آلي
+android=‫أندرويد
 angle=‫زاوية‬
 arc=Arc
 areYouSure=‫هل أنت متأكد؟‬
@@ -33,7 +33,7 @@ ensureDataSaved=‫المرجو التحقق من حفظ البيانات قبل
 allChangesSaved=‫تم حفظ جميع التغييرات‬
 allChangesSavedInDrive=‫تم حفظ جميع التغييرات إلى Drive‬
 allowPopups=‫السماح للنوافذ لتفادي هذه النافذة‬
-allowRelativeUrl=‫اسمح بالوصلات الشقيقة‬
+allowRelativeUrl=‫اسمح بالوصلات النسبية‬
 alreadyConnected=‫العقد متصلة مسبقا‬
 apply=‫نفذ‬
 archiMate21=ArchiMate 2.1
@@ -42,7 +42,7 @@ arrow=‫سهم‬
 arrows=‫أسهم‬
 asNew=‫كجديد‬
 atlas=‫أطلس‬
-author=‫المخول
+author=‫المؤلف
 authorizationRequired=‫الترخيص ضروري‬
 authorizeThisAppIn=‫الترخيص لهذا التطبيق في {1}‬
 authorize=‫ترخيص‬
@@ -65,20 +65,20 @@ block=‫كتلة‬
 blockquote=‫اقتباس‬
 blog=‫مدونة‬
 bold=‫تغليظ الخط‬
-bootstrap=Bootstrap
+bootstrap=‫التصميم التمهيدي‬
 border=‫حد‬
 borderColor=‫لون الحد‬
 borderWidth=‫عرض الحد‬
 bottom=‫أسفل‬
 bottomAlign=‫محاذاة إلى الأسفل‬
-bottomLeft=Bottom Left
-bottomRight=Bottom Right
+bottomLeft=‫محاذاة الي يسار الاسفل‬
+bottomRight=‫محاذاة الي يمين الاسفل‬
 bpmn=BPMN
 browser=‫متصفح‬
 bulletedList=‫قائمة ‬
-business=Business
-busy=Operation in progress
-cabinets=Cabinets
+business=‫أعمال‬
+busy=‫العملية قيد التنفيذ‬
+cabinets=‫الكابينة‬
 cancel=‫إلغاء‬
 center=‫توسيط‬
 cannotLoad=‫لقد فشلت محاولات الرفع. المرجو المحاولة لاحقا.‬
@@ -87,28 +87,28 @@ cannotOpenFile=‫تعذر فتح الملف‬
 change=‫تغيير‬
 changeOrientation=‫تغيير الاتجاه‬
 changeUser=‫تغيير المستخدم‬
-changeStorage=Change storage
+changeStorage=‫تغيير مكان التخزين‬
 changesNotSaved=‫لم يتم حفظ التغييرات‬
-classDiagram=Class Diagram
+classDiagram=‫مخطط المكون‬
 userJoined=‫التحق {1}‬
 userLeft=‫غادر {1}‬
 chatWindowTitle=‫دردشة‬
 chooseAnOption=‫اختر خيارا‬
 chromeApp=‫تطبيق Chrome‬
-collaborativeEditingNotice=Important Notice for Collaborative Editing
+collaborativeEditingNotice=‫ملاحظات مهمة عن مشاركة التعديل‬
 compare=‫قارن‬
-compressed=Compressed
-commitMessage=Commit Message
-configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
-configLinkConfirm=Click OK to configure and restart draw.io.
-csv=CSV
-dark=Dark
-diagramXmlDesc=XML File
-diagramHtmlDesc=HTML File
-diagramPngDesc=Editable Bitmap Image
-diagramSvgDesc=Editable Vector Image
-didYouMeanToExportToPdf=Did you mean to export to PDF?
-draftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.
+compressed=‫مضغوط‬
+commitMessage=‫أكد علي تسجيل الرسالة‬
+configLinkWarn=‫هذة الوصلة تقوم بتغيرات علي draw.io . اضغط علي موافق لو كنت تثق فيمن ارسله اليك‬
+configLinkConfirm=‫اضغك علي موافق لتعدل و تعيد تشغيل draw.io‬
+csv=‫ملف قيم منفصلة بفاصلة‬
+dark=‫غامق‬
+diagramXmlDesc=‫ملف xml‬
+diagramHtmlDesc=‫ملف html‬
+diagramPngDesc=‫صورة قابلة للتعديل‬
+diagramSvgDesc=‫عنصر مصور قابل للتعديل‬
+didYouMeanToExportToPdf=‫هل تريد حفظه كملف pdf  ؟‬
+draftFound=‫تم العثور علي مسودة للملف '{1}'. قم بتحميلها داخل المحرر، أو قم بحذفها للإستكمال.‬
 draftRevisionMismatch=There is a different version of this diagram on a shared draft of this page. Please edit the diagram from the draft to ensure you are working with the latest version.
 selectDraft=Select a draft to continue editing:
 dragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?
@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_bg.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_bn.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_bs.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ca.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_cs.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_da.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_de.txt

@@ -1139,3 +1139,4 @@ replaceAll=Alle ersetzen
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Ersetzen/Suchen
 matchesRepl={1} Treffer ersetzt
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_el.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_eo.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 4 - 3
src/main/webapp/resources/dia_es.txt

@@ -960,13 +960,13 @@ confAConfPageDesc=Ésta página contiene un archivo de configuración draw.io (c
 confALibPageDesc=Ésta página contiene librerias personalizadas adjuntas
 confATempPageDesc=Ésta página contiene plantillas personalizadas adjuntas
 working=Trabajando
-confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
+confAConfSpaceDesc=Este espacio es usado para almacenar archivos de configuración y librerías/plantillas personalizadas de draw.io
 confANoCustLib=Sin Librerias Personalizadas
 delFailed=¡La eliminiación falló!
 showID=Mostrar ID
 confAIncorrectLibFileType=Formato de archivo incorrecto. Las librerias deberían ser archivos XML.
-uploading=Uploading
-confALibExist=This library already exists
+uploading=Subiendo
+confALibExist=Esta librería ya existe
 confAUploadSucc=Uploaded successfully
 confAUploadFailErr=Upload Failed (Unexpected Error)
 hiResPreview=High Res Preview
@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_et.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_eu.txt

@@ -1139,3 +1139,4 @@ replaceAll=Ordeztu denak
 confASkipDiagModified="{1}" saltatu da hasierako inportazioaren ondoren aldatu zen bezala
 replFind=ordeztu/bilatu
 matchesRepl={1} bat egite ordeztu dira
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_fa.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_fi.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_fil.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_fr.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_gl.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_gu.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_he.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_hi.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_hr.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_hu.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_i18n.txt

@@ -1139,3 +1139,4 @@ replaceAll=replaceAll
 confASkipDiagModified=confASkipDiagModified
 replFind=replFind
 matchesRepl=matchesRepl
+draftErrDataLoss=draftErrDataLoss

+ 1 - 0
src/main/webapp/resources/dia_id.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_it.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ja.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_kn.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ko.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_lt.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_lv.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ml.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_mr.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ms.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_my.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_nl.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_no.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_pl.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_pt-br.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_pt.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 1 - 0
src/main/webapp/resources/dia_ro.txt

@@ -1139,3 +1139,4 @@ replaceAll=Replace All
 confASkipDiagModified=Skipped "{1}" as it was modified after initial import
 replFind=Replace/Find
 matchesRepl={1} matches replaced
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 242 - 241
src/main/webapp/resources/dia_ru.txt

@@ -6,7 +6,7 @@ accessDenied=Доступ запрещён
 action=Действие
 actualSize=Фактический размер
 add=Добавить
-addAccount=Add account
+addAccount=Добавить аккаунт
 addedFile=Добавлено {1}
 addImages=Добавить изображения
 addImageUrl=Добавить ссылку на изображение
@@ -23,8 +23,8 @@ allChangesLost=Все изменения будут потеряны!
 allPages=Все страницы
 allProjects=Все проекты
 allSpaces=Все области
-allTags=Все теги
-anchor=Якоря
+allTags=Все тэги
+anchor=Якорь
 android=Android
 angle=Угол
 arc=Дуга
@@ -57,7 +57,7 @@ azure=Azure
 back=Назад
 background=Фон
 backgroundColor=Цвет фона
-backgroundImage=Картинка фона
+backgroundImage=Фоновое изображение
 basic=Базовые
 blankDrawing=Новый документ
 blankDiagram=Пустая диаграмма
@@ -99,22 +99,22 @@ collaborativeEditingNotice=Важное замечание относитель
 compare=Compare
 compressed=Сжато
 commitMessage=Сообщение при коммите
-configLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!
-configLinkConfirm=Click OK to configure and restart draw.io.
+configLinkWarn=Эта ссылка настраивает draw.io. Нажмите ОК только, если Вы доверяете тому, кто её Вам дал!
+configLinkConfirm=Нажмите ОК, чтобы настроить и перезапустить draw.io.
 csv=CSV
-dark=Темная
-diagramXmlDesc=XML File
-diagramHtmlDesc=HTML File
+dark=Тёмная
+diagramXmlDesc=XML файл
+diagramHtmlDesc=HTML файл
 diagramPngDesc=Редактируемое растровое изображение
 diagramSvgDesc=Редактируемое векторное изображение
-didYouMeanToExportToPdf=Вы хотели экспортирвоать в PDF?
+didYouMeanToExportToPdf=Вы хотели экспортировать в PDF?
 draftFound=Был обнаружен черновик '{1}'. Загрузите его в редактор или откажитесь, чтобы продолжить.
-draftRevisionMismatch=There is a different version of this diagram on a shared draft of this page. Please edit the diagram from the draft to ensure you are working with the latest version.
-selectDraft=Выберите черновик, чтобы продолжить редактирование
-dragAndDropNotSupported=Перетаскивание изображений не поддерживается. Импортировать изображение?
+draftRevisionMismatch=Существует другая версия этой диаграммы на общем черновике этой страницы. Пожалуйста, отредактируйте диаграмму проекта, чтобы убедиться, что Вы работаете с последней версией.
+selectDraft=Выберите черновик, чтобы продолжить редактирование:
+dragAndDropNotSupported=Перетаскивание изображений не поддерживается. Хотите импортировать изображение?
 dropboxCharsNotAllowed=Следующие символы не допускаются: \ / : ? * " |
 check=Проверить
-checksum=Checksum
+checksum=Проверочная сумма
 circle=Круг
 cisco=Cisco
 classic=Классический
@@ -122,7 +122,7 @@ clearDefaultStyle=Очистить стиль по умолчанию
 clearWaypoints=Очистить опорные точки
 clipart=Клипарт
 close=Закрыть
-closingFile=Closing file
+closingFile=Закрытие файла
 collaborator=Помощник
 collaborators=Помощники
 collapse=Свернуть
@@ -133,7 +133,7 @@ comic=Рукописный
 comment=Комментарий
 commentsNotes=Комментарии/Заметки
 compress=Сжать
-configuration=Configuration
+configuration=Настройка
 connect=Соединить
 connecting=Соединение
 connectWithDrive=Связать с Google Drive
@@ -145,8 +145,8 @@ containsValidationErrors=Содержит ошибки проверки
 copiedToClipboard=Скопировано в буфер обмена
 copy=Копировать
 copyConnect=Копировать при соединении
-copyCreated=A copy of the file was created.
-copyData=Copy Data
+copyCreated=Копия файла была создана.
+copyData=Скопировать информацию
 copyOf=Копия {1}
 copyOfDrawing=Копия документа
 copySize=Копировать размер
@@ -159,7 +159,7 @@ crop=Обрезать по содержимому
 curved=Кривая
 custom=Настроить
 current=Текущий
-currentPage=Current page
+currentPage=Текущая страница
 cut=Вырезать
 dashed=Штриховой пунктир
 decideLater=Выбрать позже
@@ -191,7 +191,7 @@ discardChanges=Отказаться от изменений
 disconnected=Отсоединено
 distribute=Распределить
 done=Готово
-doNotShowAgain=Do not show again
+doNotShowAgain=Не показывать это снова
 dotted=Точки
 doubleClickOrientation=Дважды щелкните мышью, чтобы изменить ориентацию
 doubleClickTooltip=Дважды щелкните мышью, чтобы вставить текст
@@ -244,7 +244,7 @@ enterName=Введите название
 enterPropertyName=Введите название свойства
 enterValue=Введите значение
 entityRelation=Сущность–связь
-entityRelationshipDiagram=Entity Relationship Diagram
+entityRelationshipDiagram=Диаграмма связей сущностей
 error=Ошибка
 errorDeletingFile=Ошибка при удалении файла
 errorLoadingFile=Ошибка при загрузке файла
@@ -257,7 +257,7 @@ errorSavingFileUnknown=Ошибка авторизации на сервере G
 errorSavingFileForbidden=Ошибка сохранения файла. Не хватает прав доступа.
 errorSavingFileNameConflict=Невозможно сохранить диаграмму. Страница уже содержит файл с названием '{1}'.
 errorSavingFileNotFound=Ошибка при сохранении файла. Файл не найден.
-errorSavingFileReadOnlyMode=Невозможно сохранить диаграмму. Выйдите из режима "только для чтения"
+errorSavingFileReadOnlyMode=Невозможно сохранить диаграмму пока Вы находитесь в режиме "только для чтения".
 errorSavingFileSessionTimeout=Ваша сессия истекла. Для сохранения, пожалуйста, <a target='_blank' href='{1}'>{2}</a> и вернитесь на эту закладку.
 errorSendingFeedback=Ошибка при отправке сообщения обратной связи.
 errorUpdatingPreview=Ошибка при обновлении предварительного просмотра.
@@ -285,7 +285,7 @@ overwrite=Заменить
 synchronize=Объединить
 filename=Имя файла
 fileExists=Файл уже существует
-fileMovedToTrash=File was moved to trash
+fileMovedToTrash=Файл был помещён в корзину
 fileNearlyFullSeeFaq=Файл почти заполнен, пожалуйста, ознакомьтесь с FAQ
 fileNotFound=Файл не найден
 repositoryNotFound=Репозиторий не найден
@@ -316,7 +316,7 @@ flip=Отразить
 flipH=Отразить слева направо
 flipV=Отразить сверху вниз
 flowchart=Блок-схема
-folder=Директория
+folder=Папка
 font=Шрифт
 fontColor=Цвет шрифта
 fontFamily=Семейство шрифтов
@@ -353,14 +353,14 @@ github=GitHub
 gitlab=GitLab
 gliffy=Gliffy
 global=Глобальный
-googleDocs=Google Docs
-googleDrive=Google Drive
-googleGadget=Google Gadget
+googleDocs=Google Документы
+googleDrive=Google Диск
+googleGadget=Google Гаджет
 googlePlus=Google+
-googleSharingNotAvailable=Совместный доступ к документу возможен только с использованием Google Drive. Щелкните по ссылке Открыть и используйте команды меню чтобы открыть доступ
-googleSlides=Google Slides
-googleSites=Google Sites
-googleSheets=Google Sheets
+googleSharingNotAvailable=Совместный доступ к документу возможен только с использованием Google Диск. Пожайлуста, нажмите по ссылке "Открыть" внизу и используйте команды меню, чтобы открыть доступ:
+googleSlides=Google Презентации
+googleSites=Google Сайты
+googleSheets=Google Таблицы
 gradient=Градиент
 gradientColor=Цвет
 grid=Сетка
@@ -383,7 +383,7 @@ horizontalTree=Горизонтальное дерево
 howTranslate=Насколько хорошо приложение переведено на ваш язык?
 html=HTML
 htmlText=HTML текст
-id=ID
+id=Идентификатор
 iframe=IFrame
 ignore=Игнорировать
 image=Изображение
@@ -411,7 +411,7 @@ insertRowBefore=Вставить строку сверху
 insertRowAfter=Вставить строку снизу
 insertText=Добавить текст
 inserting=Вставка
-installApp=Install App
+installApp=Установить приложение
 invalidFilename=Название диаграммы не может содержать следующие символы: \ / | : ; { < & + ? = "
 invalidLicenseSeeThisPage=Ваша лицензия недействительна. Пожалуйста, посетите эту<a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">страницу</a>.
 invalidInput=Некорректное значение
@@ -431,9 +431,9 @@ lastChange=Последнее изменение {1} назад
 lessThanAMinute=меньше минуты
 licensingError=Ошибка лицензирования
 licenseHasExpired=Лицензия на {1} истекла {2}. Нажмите здесь.
-licenseRequired=This feature requires draw.io to be licensed.
+licenseRequired=Эта функция требует лицензированного draw.io.
 licenseWillExpire=Лицензия на {1} истекает {2}. Нажмите здесь.
-lineJumps=Line jumps
+lineJumps=Строковые прыжки
 linkAccountRequired=Если диаграмма не доступна для общего доступа, для просмотра понадобится войти в учетную запись Google.
 linkText=Текст ссылки
 list=Список
@@ -469,7 +469,7 @@ maps=Карты
 mathematicalTypesetting=Математический набор
 makeCopy=Создать копию
 manual=Вручную
-merge=Merge
+merge=Объеденить
 mermaid=Mermaid
 microsoftOffice=Microsoft Office
 microsoftExcel=Microsoft Excel
@@ -520,8 +520,8 @@ notAvailable=Недоступно
 notAUtf8File=Кодировка файла отличается от UTF-8
 notConnected=Не подключен
 note=Заметка
-notion=Notion
-notSatisfiedWithImport=Not satisfied with the import?
+notion=Упоминание
+notSatisfiedWithImport=Не довольны импортом?
 notUsingService=Не хотите использовать {1}?
 numberedList=Нумерованный список
 offline=Оффлайн
@@ -540,11 +540,11 @@ openLink=Открыть ссылку
 openInNewWindow=Открыть в новом окне
 openInThisWindow=Открыть в этом окне
 openIt=Открыть {1}
-openRecent=Последние документы
-openSupported=Поддерживаются файлы, созданные в этой программе (.xml), файлы .vsdx, .gliffy
+openRecent=Открыть недавние
+openSupported=Поддерживаются файлы, созданные в этой программе (.xml), .vsdx и .gliffy
 options=Параметры
 organic=Сетевая
-orgChart=Org Chart
+orgChart=Организационная диаграмма
 orthogonal=Прямые углы
 otherViewer=также просматривает
 otherViewers=также просматривают
@@ -562,9 +562,9 @@ pan=Панорама
 panTooltip=Удерживайте нажатой клавишу "пробел" и перемещайте курсор для прокрутки диаграммы
 paperSize=Размер бумаги
 pattern=Шаблон
-parallels=Parallels
+parallels=Параллели
 paste=Вставить
-pasteData=Paste Data
+pasteData=Вставить данные
 pasteHere=Вставить сюда
 pasteSize=Вставить размер
 pasteStyle=Вставить стиль
@@ -673,14 +673,14 @@ sendMessage=Отправить
 sendYourFeedback=Отправьте ваш отзыв
 serviceUnavailableOrBlocked=Служба недоступна или заблокирована
 sessionExpired=Время вашей сессии истекло. Пожалуйста, обновите окно браузера.
-sessionTimeoutOnSave=Время вашей сессии истекло и вы были отключены от Google Drive. Нажмите ОК, чтобы войти снова и сохранить изменения.
+sessionTimeoutOnSave=Время вашей сессии истекло и вы были отключены от Google Диск. Нажмите ОК, чтобы войти снова и сохранить изменения.
 setAsDefaultStyle=Установить как стиль по умолчанию
 shadow=Тень
 shape=Фигура
 shapes=Фигуры
 share=Общий доступ
 shareLink=Ссылка для совместного редактирования
-sharingAvailable=Sharing available for Google Drive and OneDrive files.
+sharingAvailable=Совместное использование доступно только для файлов Google Диск и OneDrive.
 sharp=Острые углы
 show=Показать
 showStartScreen=Показать начальный экран
@@ -689,9 +689,9 @@ signs=Знаки и пиктограммы
 signOut=Выйти
 simple=Простой
 simpleArrow=Простая стрелка
-simpleViewer=Simple Viewer
+simpleViewer=Простой зритель
 size=Размер
-sketch=Sketch
+sketch=Набросок
 solid=Сплошная
 sourceSpacing=Отступ от начального узла
 south=Юг
@@ -700,23 +700,23 @@ space=Пространство
 spacing=Поля
 specialLink=Специальная ссылка
 standard=Стандарт
-startDrawing=Start drawing
-stopDrawing=Stop drawing
+startDrawing=Начать рисовать
+stopDrawing=Прекратить рисовать
 starting=Запуск
 straight=Прямая
-strikethrough=Strikethrough
+strikethrough=Перечеркивание
 strokeColor=Цвет линии
 style=Стиль
 subscript=Нижний индекс
 summary=Сводка
 superscript=Верхний индекс
 support=Поддержка
-swimlaneDiagram=Swimlane Diagram
+swimlaneDiagram=Диаграмма "плавательной дорожки"
 sysml=SysML
 tags=Метки
 table=Таблица
 tables=Таблицы
-takeOver=Take Over
+takeOver=Перенять
 targetSpacing=Отступ от конечного узла
 template=Шаблон
 templates=Шаблоны
@@ -729,7 +729,7 @@ title=Название
 to=по
 toBack=На задний план
 toFront=На передний план
-tooLargeUseDownload=Too large, use download instead.
+tooLargeUseDownload=Слишком большой, вместо этого используйте загрузку.
 toolbar=Панель инструментов
 tooltips=Подсказки
 top=Сверху
@@ -775,11 +775,11 @@ warning=Внимание
 waypoints=Опорные точки
 west=Запад
 width=Ширина
-wiki=Wiki
+wiki=Вики
 wordWrap=Перенос по словам
 writingDirection=Направление текста
 yes=Да
-yourEmailAddress=Ваш e-mail адрес
+yourEmailAddress=Ваш адрес электронной почты
 zoom=Масштаб
 zoomIn=Увеличить
 zoomOut=Уменьшить
@@ -828,54 +828,54 @@ sharedWithMe=Предоставленные мне
 sharepointSites=Сайты Sharepoint
 errorFetchingFolder=Ошибка при считывании имен папок
 errorAuthOD=Ошибка при входе в OneDrive
-officeMainHeader=Draw.io загружает диаграммы из OneDrive  в ваш документ
+officeMainHeader=Draw.io загружает диаграммы из OneDrive в ваш документ
 officeStepsHeader=Это расширение выполняет следующие действия:
 officeStep1=Подключается к OneDrive
-officeStep2=Select a draw.io diagram.
-officeStep3=Insert the diagram into the document.
-officeAuthPopupInfo=Please complete the authentication in the pop-up window.
-officeSelDiag=Select draw.io Diagram:
+officeStep2=Выберать диаграмму draw.io.
+officeStep3=Вставить диаграмму в документ
+officeAuthPopupInfo=Пожалуйста, закончите аутентификацию во всплывающем окне.
+officeSelDiag=Выбрать диаграмму draw.io:
 files=Файлы
-shared=Shared
-sharepoint=Sharepoint
-officeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.
+shared=Общие
+sharepoint=SharePoint
+officeManualUpdateInst=Инструкция:скопируйте диаграмму draw.io из документа. Затем, в области ниже, нажмите правой кнопкой мыши и выберите "Вставить" из контекстного меню.
 officeClickToEdit=Нажмите на значок, чтобы начать редактирование
 pasteDiagram=Вставьте диаграмму draw.io здесь
 connectOD=Соединить с OneDrive
-selectChildren=Select Children
-selectSiblings=Select Siblings
-selectParent=Select Parent
-selectDescendants=Select Descendants
-lastSaved=Last saved {1} ago
-resolve=Resolve
+selectChildren=Выбрать дочерний
+selectSiblings=Выбрать родственные
+selectParent=Выбрать родительский
+selectDescendants=Выбрать потомственные
+lastSaved=Последний {1} сохраненный назад
+resolve=Разрешить
 reopen=Переоткрыть
-showResolved=Show Resolved
+showResolved=Показать разрешенные
 reply=Ответить
 objectNotFound=Объект не найден
 reOpened=Переоткрыт
-markedAsResolved=Marked as resolved
-noCommentsFound=No comments found
+markedAsResolved=Отметить как разрешенный
+noCommentsFound=Комментариев не найдено
 comments=Комментарии
 timeAgo={1} назад
 confluenceCloud=Confluence Cloud
 libraries=Библиотеки
-confAnchor=Confluence Page Anchor
+confAnchor=Якорь страницы Confluence
 confTimeout=The connection has timed out
 confSrvTakeTooLong=The server at {1} is taking too long to respond.
 confCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page
 confSaveTry=Please save the page and try again.
 confCannotGetID=Unable to determine page ID
 confContactAdmin=Please contact your Confluence administrator.
-readErr=Read Error
-editingErr=Editing Error
+readErr=Ошибка чтения
+editingErr=Ошибка редактирования
 confExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page
 confEditedExt=Diagram/Page edited externally
 diagNotFound=Диаграмма не найдена
 confEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.
 confCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.
-retBack=Вернуться
+retBack=Вернуться назад
 confDiagNotPublished=The diagram does not belong to a published page
-createdByDraw=Created by draw.io
+createdByDraw=Создано draw.io
 filenameShort=Filename too short
 invalidChars=Недопустимые символы
 alreadyExst={1} already exists
@@ -886,13 +886,13 @@ draftCantCreate=Черновик не может быть создан
 confDuplName=Имя диаграммы уже используется. Пожалуйста, выберите другое имя
 confSessionExpired=Кажется, время вашей сессии истекло. Войдите снова, чтобы продолжить работу
 login=Войти
-drawPrev=draw.io preview
-drawDiag=draw.io diagram
+drawPrev=предпросмотр draw.io
+drawDiag=диаграмма draw.io
 invalidCallFnNotFound=Invalid Call: {1} not found
 invalidCallErrOccured=Invalid Call: An error occurred, {1}
-anonymous=Anonymous
+anonymous=Аноним
 confGotoPage=Go to containing page
-showComments=Show Comments
+showComments=Показать комментарии
 confError=Ошибка: {1}
 gliffyImport=Gliffy Import
 gliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.
@@ -900,7 +900,7 @@ gliffyImportInst2=Please note that the import procedure will take some time and
 startImport=Начать импорт
 drawConfig=draw.io Configuration
 customLib=Custom Libraries
-customTemp=Custom Templates
+customTemp=Пользовательские шаблоны
 pageIdsExp=Page IDs Export
 drawReindex=draw.io re-indexing (beta)
 working=Working
@@ -908,29 +908,29 @@ drawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist
 createConfSp=Create Config Space
 unexpErrRefresh=Unexpected error, please refresh the page and try again.
 configJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to
-thisPage=this page
+thisPage=эта страница
 curCustLib=Current Custom Libraries
-libName=Library Name
+libName=Имя библиотеки
 action=Action
 drawConfID=draw.io Config ID
 addLibInst=Click the "Add Library" button to upload a new library.
 addLib=Add Library
 customTempInst1=Custom templates are draw.io diagrams saved in children pages of
-customTempInst2=For more details, please refer to
-tempsPage=Templates page
+customTempInst2=Для больших подробностей пожалуйста, обратитесь к
+tempsPage=Страница шаблонов
 pageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.
 pageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.
-startExp=Start Export
+startExp=Начало экспорта
 refreshDrawIndex=Refresh draw.io Diagrams Index
 reindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.
 reindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.
-startIndexing=Start Indexing
+startIndexing=Начало индексации
 confAPageFoundFetch=Page "{1}" found. Fetching
 confAAllDiagDone=All {1} diagrams processed. Process finished.
 confAStartedProcessing=Started processing page "{1}"
 confAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.
 confAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.
-confAUpdatePageFailed=Updating page "{1}" failed.
+confAUpdatePageFailed=Обновление страницы "{1}" не выполнено.
 confANoDiagFoundInPage=No {1} diagrams found in page "{2}".
 confAFetchPageFailed=Fetching the page failed.
 confANoDiagFound=No {1} diagrams found. Process finished.
@@ -938,44 +938,44 @@ confASearchFailed=Searching for {1} diagrams failed. Please try again later.
 confAGliffyDiagFound={2} diagram "{1}" found. Importing
 confAGliffyDiagImported={2} diagram "{1}" imported successfully.
 confASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.
-confAImportedFromByDraw=Imported from "{1}" by draw.io
+confAImportedFromByDraw=Импортирование из "{1}" draw.io
 confAImportGliffyFailed=Importing {2} diagram "{1}" failed.
 confAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.
-confACheckBrokenDiagLnk=Checking for broken diagrams links.
+confACheckBrokenDiagLnk=Проверка на сломанные ссылки на диаграммы
 confADelDiagLinkOf=Deleting diagram link of "{1}"
-confADupLnk=(duplicate link)
+confADupLnk=(дублирование ссылки)
 confADelDiagLnkFailed=Deleting diagram link of "{1}" failed.
 confAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}
-confADiagFoundIndex=Diagram "{1}" found. Indexing
-confADiagIndexSucc=Diagram "{1}" indexed successfully.
-confAIndexDiagFailed=Indexing diagram "{1}" failed.
+confADiagFoundIndex=Диаграмма "{1}" найдена. Индексация
+confADiagIndexSucc=Индексирование диаграммы "{1}" выполнено.
+confAIndexDiagFailed=Индексирование диаграммы "{1}" не выполнено.
 confASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!
 confADiagUptoDate=Diagram "{1}" is up to date.
 confACheckPagesWDraw=Checking pages having draw.io diagrams.
 confAErrOccured=Обнаружена ошибка!
 savedSucc=Сохранение выполнено
-confASaveFailedErr=Saving Failed (Unexpected Error)
+confASaveFailedErr=Сохранение не выполнено (непредвиденная ошибка)
 character=Character
-confAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment
-confALibPageDesc=This page contains draw.io custom libraries as attachments
-confATempPageDesc=This page contains draw.io custom templates as attachments
+confAConfPageDesc=Эта страница содержит файл настроек draw.io (настроичный .json) как вложение
+confALibPageDesc=Эта страница содержит пользовательские библиотеки draw.io как вложение
+confATempPageDesc=Эта страница содержит пользовательские шаблоны draw.io как вложение
 working=Working
-confAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates
-confANoCustLib=No Custom Libraries
+confAConfSpaceDesc=Это пространство используется как хранилище настроичных файлов и пользовательских библиотек/шаблонов draw.io 
+confANoCustLib=Нет пользовательских библиотек
 delFailed=Ошибка при удалении!
-showID=Вывести ID
+showID=Вывести идентификатор
 confAIncorrectLibFileType=Неправильный тип файла. Для библиотек используется формат XML
 uploading=Идет загрузка
 confALibExist=Библиотека уже существует
 confAUploadSucc=Загрузка выполнена
-confAUploadFailErr=Неизвестная ошибка при загрузке
+confAUploadFailErr=Загрузка не выполнена (непредвиденная ошибка)
 hiResPreview=Предварительный просмотр — высокое разрешение
-officeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.
+officeNotLoggedGD=Вы не вошли в Google Диск. Пожалуйста, сперва откройте панель draw.io, а затем войдите.
 officePopupInfo=Пожалуйста, завершите действия во всплывающем окне
 pickODFile=Выбрать файл из OneDrive
-pickGDriveFile=Выбрать файл из Google Drive
+pickGDriveFile=Выбрать файл из Google Диск
 pickDeviceFile=Выбрать файл на устройстве
-vsdNoConfig="vsdurl" is not configured
+vsdNoConfig="ссылка vsd" не настроена
 ruler=Ruler
 units=Единицы измерения
 points=Пункты (pt)
@@ -992,150 +992,151 @@ confAProcessDrawDiagDone=Finished processing imported draw.io diagrams
 confAProcessImpPages=Started processing imported pages
 confAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"
 confAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"
-confAImpDiagram=Importing diagram "{1}"
+confAImpDiagram=Импортирование диаграммы "{1}"
 confAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
 confAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.
-confAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.
+confAUpdateDgrmCCFailed=Обновление ссылок на диаграмму "{1}" не выполнено.
 confImpDiagramSuccess=Updating diagram "{1}" done successfully.
 confANoLnksInDrgm=No links to update in: {1}
 confAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"
 confAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"
 confAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"
-confAPageIdsImpDone=Page IDs Import finished
+confAPageIdsImpDone=Импортирование идентификаторов страницы завершено
 confAPrcsMacrosInPage=Processing draw.io macros in page "{1}"
-confAErrFetchPage=Error fetching page "{1}"
+confAErrFetchPage=Ошибка получения страницы "{1}"
 confAFixingMacro=Fixing macro of diagram "{1}"
-confAErrReadingExpFile=Error reading export file
+confAErrReadingExpFile=Ошибка чтения экспортного файла
 confAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished
 confAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. 
-pageIdsExpTrg=Export target
-confALucidDiagImgImported={2} diagram "{1}" image extracted successfully
-confASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed
-confGetInfoFailed=Fetching file info from {1} failed.
-confCheckCacheFailed=Cannot get cached file info.
-confReadFileErr=Cannot read "{1}" file from {2}.
-confSaveCacheFailed=Неизвестная ошибка. Невозможно сохранить файл из кэша
+pageIdsExpTrg=Экспорировать цель
+confALucidDiagImgImported=Изображение "{1}" диаграммы {2} успешно извлечено
+confASavingLucidDiagImgFailed=Извлечение изображения "{1}" диаграммы {2} не выполнено.
+confGetInfoFailed=Получение информации о файле из {1} не выполнено.
+confCheckCacheFailed=Невозможно получить информацию о кэшированном файле
+confReadFileErr=Невозможно прочесть файл "{1}" из {2}.
+confSaveCacheFailed=Непредвиденная ошибка: невозможно сохранить файл из кэша
 orgChartType=Org Chart Type
-linear=Linear
-hanger2=Hanger 2
-hanger4=Hanger 4
-fishbone1=Fishbone 1
-fishbone2=Fishbone 2
-1ColumnLeft=Single Column Left
-1ColumnRight=Single Column Right
-smart=Smart
-parentChildSpacing=Parent Child Spacing
-siblingSpacing=Sibling Spacing
-confNoPermErr=Sorry, you don't have enough permissions to view this embedded diagram from page {1}
-copyAsImage=Copy as Image
-lucidImport=Lucidchart Import
-lucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.
-installFirst=Please install {1} first
-drawioChromeExt=draw.io Chrome Extension
-loginFirstThen=Please login to {1} first, then {2}
-errFetchDocList=Error: Couldn't fetch documents list
-builtinPlugins=Built-in Plugins
-extPlugins=External Plugins
-backupFound=Backup file found
-chromeOnly=This feature only works in Google Chrome
-msgDeleted=This message has been deleted
-confAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.
-confAErrCheckDrawDiag=Cannot check diagram {1}
-confAErrFetchPageList=Error fetching pages list
-confADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes
-invalidSel=Invalid selection
-diagNameEmptyErr=Diagram name cannot be empty
-openDiagram=Open Diagram
-newDiagram=New diagram
-editable=Editable
-confAReimportStarted=Re-import {1} diagrams started...
-spaceFilter=Filter by spaces
-curViewState=Current Viewer State
-pageLayers=Page and Layers
-customize=Customize
-firstPage=First Page (All Layers)
-curEditorState=Current Editor State
-noAnchorsFound=No anchors found 
-attachment=Attachment
-curDiagram=Current Diagram
-recentDiags=Recent Diagrams
-csvImport=CSV Import
-chooseFile=Choose a file...
-choose=Choose
-gdriveFname=Google Drive filename
-widthOfViewer=Width of the viewer (px)
-heightOfViewer=Height of the viewer (px)
-autoSetViewerSize=Automatically set the size of the viewer
-thumbnail=Thumbnail
-prevInDraw=Preview in draw.io
-onedriveFname=OneDrive filename
-diagFname=Diagram filename
-diagUrl=Diagram URL
-showDiag=Show Diagram
-diagPreview=Diagram Preview
-csvFileUrl=CSV File URL
-generate=Generate
-selectDiag2Insert=Please select a diagram to insert it.
-errShowingDiag=Unexpected error. Cannot show diagram
-noRecentDiags=No recent diagrams found
-fetchingRecentFailed=Failed to fetch recent diagrams
-useSrch2FindDiags=Use the search box to find draw.io diagrams
-cantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.
-cantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.
-searchFailed=Searching failed. Please try again later.
-plsTypeStr=Please type a search string.
-unsupportedFileChckUrl=Unsupported file. Please check the specified URL
-diagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL
-csvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL
-cantReadUpload=Cannot read the uploaded diagram
-select=Select
-errCantGetIdType=Unexpected Error: Cannot get content id or type.
-errGAuthWinBlocked=Error: Google Authentication window blocked
-authDrawAccess=Authorize draw.io to access {1}
-connTimeout=The connection has timed out
-errAuthSrvc=Error authenticating to {1}
-plsSelectFile=Please select a file
-mustBgtZ={1} must be greater than zero
-cantLoadPrev=Cannot load file preview.
-errAccessFile=Error: Access Denied. You do not have permission to access "{1}".
-noPrevAvail=No preview is available.
-personalAccNotSup=Personal accounts are not supported.
-errSavingTryLater=Error occured during saving, please try again later.
-plsEnterFld=Please enter {1}
-invalidDiagUrl=Invalid Diagram URL
-unsupportedVsdx=Unsupported vsdx file
-unsupportedImg=Unsupported image file
-unsupportedFormat=Unsupported file format
-plsSelectSingleFile=Please select a single file only
-attCorrupt=Attachment file "'{1}" is corrupted
-loadAttFailed=Failed to load attachment "{1}"
-embedDrawDiag=Embed draw.io Diagram
-addDiagram=Add Diagram
-embedDiagram=Embed Diagram
-editOwningPg=Edit owning page
-deepIndexing=Deep Indexing (Index diagrams that aren't used in any page also)
-confADeepIndexStarted=Deep Indexing Started
-confADeepIndexDone=Deep Indexing Done
-officeNoDiagramsSelected=No diagrams found in the selection
-officeNoDiagramsInDoc=No diagrams found in the document
-officeNotSupported=This feature is not supported in this host application
-someImagesFailed={1} out of {2} failed due to the following errors
-importingNoUsedDiagrams=Importing {1} Diagrams not used in pages
-importingDrafts=Importing {1} Diagrams in drafts
-processingDrafts=Processing drafts
-updatingDrafts=Updating drafts
-updateDrafts=Update drafts
-notifications=Notifications
-drawioImp=draw.io Import
-confALibsImp=Importing draw.io Libraries
-confALibsImpFailed=Importing {1} library failed
-contributors=Contributors
-drawDiagrams=draw.io Diagrams
-errFileNotFoundOrNoPer=Error: Access Denied. File not found or you do not have permission to access "{1}" on {2}.
-confACheckPagesWEmbed=Checking pages having embedded draw.io diagrams.
-confADelBrokenEmbedDiagLnk=Removing broken embedded diagram links
-replaceWith=Replace with
-replaceAll=Replace All
-confASkipDiagModified=Skipped "{1}" as it was modified after initial import
-replFind=Replace/Find
-matchesRepl={1} matches replaced
+linear=Ленейная
+hanger2=Вешалка 2
+hanger4=Вешалка 4
+fishbone1=Рыбья кость 1
+fishbone2=Рыбья кость 2
+1ColumnLeft=Один столбец слева
+1ColumnRight=Один столбец справа
+smart=Умный
+parentChildSpacing=Родительское-дочернее расстояние
+siblingSpacing=Родственное расстояние
+confNoPermErr=Извините, но у Вас нету разрешений на просмотр этой встроенной диаграммы из страницы {1}
+copyAsImage=Копировать как изображение
+lucidImport=Импортировать Lucidchart
+lucidImportInst1=Нажмите кнопку "Начать импортирование", чтобы импортировать все диаграммы Lucidchart.
+installFirst=Пожалуйста, сначала установите {1}
+drawioChromeExt=Расширение draw.io для Chrome
+loginFirstThen=Пожалуйста, сначала войдите в {1}, затем в {2}
+errFetchDocList=Ошибка: не удалось получить лист документов
+builtinPlugins=Встроенные расширения
+extPlugins=Внешние расширения
+backupFound=Файл резервной копии найден
+chromeOnly=Эта функция работет только в Google Chrome
+msgDeleted=Это сообщение было удалено
+confAErrFetchDrawList=Ошибка получения листа диаграмм. Некоторые диаграммы пропущены.
+confAErrCheckDrawDiag=Невозможно проверить диаграмму {1}
+confAErrFetchPageList=Ошибка получения страниц листа
+confADiagImportIncom={1} диаграмма "{2}" импортированна частично и может иметь недостающие формы
+invalidSel=Неверный выбор
+diagNameEmptyErr=Имя диаграммы не должно быть пустым
+openDiagram=Открыть диаграмму
+newDiagram=Новая диаграмма
+editable=Редактируемо
+confAReimportStarted=Повторное импортирование {1} диаграмм начато...
+spaceFilter=Фильтр по пробелам
+curViewState=Текущее состояние Просматривающего
+pageLayers=Страница и слои
+customize=Изменить
+firstPage=Первая страница (все слои)
+curEditorState=Текущее состояние Редактора
+noAnchorsFound=Якорей не найдено
+attachment=Вложение
+curDiagram=Текущая диаграмма
+recentDiags=Недавние диаграммы
+csvImport=Импортировать CSV
+chooseFile=Выбрать файл...
+choose=Выбрать
+gdriveFname=Имя файла Google Диск
+widthOfViewer=Ширина Просматривающего (px)
+heightOfViewer=Высота Просматривающего (px)
+autoSetViewerSize=Автоматически устанавливать масштабирование для Просматривающего
+thumbnail=Эскиз
+prevInDraw=Прдварительный просмотр в draw.io
+onedriveFname=Имя файла в OneDrive
+diagFname=Имя файла диаграммы
+diagUrl=Ссылка диаграммы
+showDiag=Показать диаграмму
+diagPreview=Предварительный просмотр диаграммы
+csvFileUrl=Ссылка на CSV файл
+generate=Сгенерировать
+selectDiag2Insert=Пожалуйста, выберите диаграмму, чтобы вставить её.
+errShowingDiag=Непредвиденная ошибка: не удалось отобразить диаграмму
+noRecentDiags=Недавних диаграмм не найдено
+fetchingRecentFailed=Не удалось получить недвание диаграммы
+useSrch2FindDiags=Используйте строку поиска, чтобы найти диаграммы draw.io
+cantReadChckPerms=Не удаётся прочесть указанную диаграмму. Пожалуйста, проверьте, прочитали ли Вы разрешение на этот файл.
+cantFetchChckPerms=Не удаётся получить информацию диаграммы. Пожалуйста, проверьте, прочитали ли Вы разрешение на этот файл.
+searchFailed=Поиск не выполнен. Пожайлуста, попробуйте снова позже.
+plsTypeStr=Пожалуйста, введите строку поиска.
+unsupportedFileChckUrl=Неподдерживаемый файл. Пожалуйста, проверьте указанную ссылку
+diagNotFoundChckUrl=Диаграмма не найдена или недоступна. Пожалуйста, проверьте указанную ссылку
+csvNotFoundChckUrl=CSV файл не может быть найден или недоступен. Пожалуйста, проверьте указанную ссылку
+cantReadUpload=Не возможно прочесть загруженную диаграмму
+select=Выбрать
+errCantGetIdType=Непредвиденная ошибка: невозможно получить соединение идентификатора или типа.
+errGAuthWinBlocked=Ошибка: окно Google Двухэтапной аутентификации заблокировано
+authDrawAccess=Войдите в draw.io, чтобы получить доступ к {1}
+connTimeout=Время соединения вышло
+errAuthSrvc=Не удалос аутентифицировать в {1}
+plsSelectFile=Пожалуйста, выберите файл
+mustBgtZ={1} должен быть больше, чем нуль.
+cantLoadPrev=Не удалось загрузить предварительный просмотр файла.
+errAccessFile=Ошибка: доступ запрещён. У Вас нету разрешения на доступ к "{1}".
+noPrevAvail=Предварительный просмотр недоступен.
+personalAccNotSup=Личный аккаунт не поддерживается.
+errSavingTryLater=Произошла ошибка во время сохранения, пожалуйста, попробуйте снова позже.
+plsEnterFld=Пожалуйста, введите {1}
+invalidDiagUrl=Неправильная ссылка на диаграмму
+unsupportedVsdx=Неподдерживаемый vsdx файл
+unsupportedImg=Неподдерживаемый формат изображения
+unsupportedFormat=Неподдерживаемый формат файла
+plsSelectSingleFile=Пожалуйста, выберите только один файл
+attCorrupt=Файл вложения "{1}" повреждён
+loadAttFailed=Не удалось загрузить вложение "{1}"
+embedDrawDiag=Встроить диаграмму draw.io
+addDiagram=Добавить диаграмму
+embedDiagram=Встроить диаграмму
+editOwningPg=Изменить страницу владельца
+deepIndexing=Глубока индексация (индексировать диаграммы, которые так же не используются на других страницах)
+confADeepIndexStarted=Глубокое индексирование начато
+confADeepIndexDone=Глобакая индексация выполнена
+officeNoDiagramsSelected=Диаграмм в этой секции не найдено
+officeNoDiagramsInDoc=Диаграмм в этом документе не найдено
+officeNotSupported=Эта функция не поддерживается в выбранном хост-приложении
+someImagesFailed={1} из {2} не выполнено из-за следующих ошибок
+importingNoUsedDiagrams=Импортирование {1} диаграмм неиспользованных на страницах
+importingDrafts=Импортирование {1} диаграмм в черновики
+processingDrafts=Обработка черновиков
+updatingDrafts=Обновление черновиков
+updateDrafts=Обновить черновики
+notifications=Уведомления
+drawioImp=Импортировать draw.io
+confALibsImp=Импортирование библиотек draw.io
+confALibsImpFailed=Импортирование {1} библиотеки не выполнено
+contributors=Участники
+drawDiagrams=Диаграммы draw.io
+errFileNotFoundOrNoPer=Ошибка: доступ запрещён. Файл не найден или у Вас нету разрешения на доступ к "{1}" на {2}.
+confACheckPagesWEmbed=Проверка страниц на наличие встроенных диаграмм draw.io.
+confADelBrokenEmbedDiagLnk=Удаление поломанных ссылок встроенных диаграмм
+replaceWith=Заменить с
+replaceAll=Заменить всё
+confASkipDiagModified="{1}" пропущен, так как был изменён после первоначального импортирования
+replFind=Заменить/Найти
+matchesRepl={1} выделений заменено
+draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.

+ 0 - 0
src/main/webapp/resources/dia_si.txt


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini