You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ShopNCook/documentation/diagrammes/LocalServicesUML-Diagram-tr...

776 lines
65 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg fill-opacity="0" xmlns:xlink="http://www.w3.org/1999/xlink" color-rendering="auto" color-interpolation="auto" text-rendering="auto" stroke="rgb(0,0,0)" stroke-linecap="square" width="989" stroke-miterlimit="10" shape-rendering="auto" stroke-opacity="0" fill="rgb(0,0,0)" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="1818" xmlns="http://www.w3.org/2000/svg" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12px" stroke-dashoffset="0" image-rendering="auto"
><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
/><g
><defs id="defs1"
><linearGradient x1="109" gradientUnits="userSpaceOnUse" x2="109" y1="132" y2="0" id="linearGradient1" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="138.5" gradientUnits="userSpaceOnUse" x2="138.5" y1="147" y2="0" id="linearGradient2" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="89" gradientUnits="userSpaceOnUse" x2="89" y1="132" y2="0" id="linearGradient3" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="94.5" gradientUnits="userSpaceOnUse" x2="94.5" y1="40" y2="0" id="linearGradient4" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="41" gradientUnits="userSpaceOnUse" x2="41" y1="87" y2="0" id="linearGradient5" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="80" gradientUnits="userSpaceOnUse" x2="80" y1="192" y2="0" id="linearGradient6" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="64" gradientUnits="userSpaceOnUse" x2="64" y1="237" y2="0" id="linearGradient7" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="64" gradientUnits="userSpaceOnUse" x2="64" y1="233" y2="0" id="linearGradient8" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><linearGradient x1="122.5" gradientUnits="userSpaceOnUse" x2="122.5" y1="417" y2="0" id="linearGradient9" spreadMethod="reflect"
><stop stop-opacity="1" stop-color="rgb(139,193,205)" offset="0%"
/><stop stop-opacity="1" stop-color="rgb(240,247,249)" offset="100%"
/></linearGradient
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
><path d="M-7 -7 L229 -7 L229 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath2"
><path d="M-0 -0 L-0 119 L218 119 L218 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath3"
><path d="M-0 -0 L-0 13 L220 13 L220 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath4"
><path d="M-7 -7 L994 -7 L994 1601 L-7 1601 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath5"
><path d="M0 0 L0 1570 L983 1570 L983 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath6"
><path d="M-7 -7 L288 -7 L288 158 L-7 158 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath7"
><path d="M-0 0 L-0 134 L277 134 L277 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath8"
><path d="M-0 0 L-0 13 L277 13 L277 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath9"
><path d="M-7 -7 L189 -7 L189 143 L-7 143 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath10"
><path d="M-0 -0 L-0 119 L178 119 L178 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath11"
><path d="M-0 -0 L-0 13 L180 13 L180 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath12"
><path d="M-7 -7 L424 -7 L424 1514 L-7 1514 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath13"
><path d="M0 -0 L0 1483 L413 1483 L413 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath14"
><path d="M-7 -7 L200 -7 L200 51 L-7 51 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath15"
><path d="M0 0 L0 27 L189 27 L189 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath16"
><path d="M0 0 L0 13 L190 13 L190 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath17"
><path d="M-7 -7 L93 -7 L93 98 L-7 98 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath18"
><path d="M-0 -0 L-0 74 L82 74 L82 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath19"
><path d="M-0 -0 L-0 13 L80 13 L80 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath20"
><path d="M-7 -7 L171 -7 L171 203 L-7 203 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath21"
><path d="M0 -0 L0 179 L160 179 L160 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath22"
><path d="M0 -0 L0 13 L160 13 L160 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath23"
><path d="M-7 -7 L139 -7 L139 248 L-7 248 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath24"
><path d="M0 0 L0 222 L128 222 L128 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath25"
><path d="M0 0 L0 15 L128 15 L128 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath26"
><path d="M-7 -7 L139 -7 L139 244 L-7 244 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath27"
><path d="M-0 -0 L-0 203 L128 203 L128 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath28"
><path d="M-0 -0 L-0 30 L128 30 L128 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath29"
><path d="M-7 -7 L256 -7 L256 428 L-7 428 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath30"
><path d="M-0 -0 L-0 402 L245 402 L245 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath31"
><path d="M-0 -0 L-0 15 L245 15 L245 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath32"
><path d="M-7 -7 L50 -7 L50 26 L-7 26 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath33"
><path d="M-0 -0 L-0 17 L37 17 L37 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath34"
><path d="M-7 -7 L37 -7 L37 27 L-7 27 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath35"
><path d="M-0 -0 L-0 17 L27 17 L27 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath36"
><path d="M-7 -7 L38 -7 L38 26 L-7 26 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath37"
><path d="M-7 -7 L50 -7 L50 27 L-7 27 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath38"
><path d="M-0 -0 L-0 13 L40 13 L40 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath39"
><path d="M-7 -7 L38 -7 L38 27 L-7 27 L-7 -7 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath40"
><path d="M-0 -0 L-0 13 L27 13 L27 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath41"
><path d="M-0 -0 L-0 13 L37 13 L37 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath42"
><path d="M-0 -0 L104 -0 L104 876.9999 L-0 876.9999 L-0 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath43"
><path d="M-0 -0 L-0 876.9999 L104 876.9999 L104 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath44"
><path d="M0 0 L164 0 L164 636.9999 L0 636.9999 L0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath45"
><path d="M0 0 L0 636.9999 L164 636.9999 L164 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath46"
><path d="M0 -0 L631 -0 L631 337 L0 337 L0 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath47"
><path d="M0 -0 L0 337 L631 337 L631 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath48"
><path d="M-0 -0 L474 -0 L474 337 L-0 337 L-0 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath49"
><path d="M-0 -0 L-0 337 L474 337 L474 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath50"
><path d="M0 -0 L337 -0 L337 484 L0 484 L0 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath51"
><path d="M0 -0 L0 484 L337 484 L337 -0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath52"
><path d="M-0 0 L601 0 L601 673.9999 L-0 673.9999 L-0 0 Z"
/></clipPath
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath53"
><path d="M-0 0 L-0 673.9999 L601 673.9999 L601 0 Z"
/></clipPath
></defs
><g fill="white" text-rendering="geometricPrecision" fill-opacity="1" stroke-opacity="1" stroke="white"
><rect x="0" width="989" height="1818" y="0" stroke="none"
/></g
><g font-size="11px" transform="translate(525.3333,1681.6667)" fill-opacity="1" fill="url(#linearGradient1)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient1)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="218" height="132" y="0" clip-path="url(#clipPath1)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(525.3333,1681.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="218" height="132" y="0" clip-path="url(#clipPath1)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath1)" x2="218" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath2)" stroke="none"
>+Account : Account</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath2)" stroke="none"
>-ownedRecipes : Dictionary&lt;Guid, Recipe&gt;</text
><line stroke-linecap="butt" clip-path="url(#clipPath2)" fill="none" x1="0" x2="218" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath2)" stroke="none"
>+AccountOwnedRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath2)" stroke="none"
>+UploadRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath2)" stroke="none"
>+RemoveRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,525.3333,1694.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath2)" stroke="none"
>+GetAccountRecipes()</text
></g
><g font-size="11px" transform="translate(525.3333,1681.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="48" xml:space="preserve" y="12" clip-path="url(#clipPath3)" stroke="none"
>AccountOwnedRecipes</text
></g
><g font-size="11px" transform="translate(2.3333,1.6667)" fill-opacity="1" fill="rgb(255,255,128)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,128)" stroke-opacity="1"
><rect x="0" width="196" height="20" y="0" clip-path="url(#clipPath4)" stroke="none"
/><rect x="0" width="982" height="1569" y="20" clip-path="url(#clipPath4)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(2.3333,1.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L982 20 L982 1589 L0 1589 L0 0 L196 0 L196 20" clip-path="url(#clipPath4)"
/></g
><g font-size="11px" transform="translate(2.3333,21.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="456" xml:space="preserve" y="12" clip-path="url(#clipPath5)" stroke="none"
>LocalServices</text
></g
><g font-size="11px" transform="translate(45.3333,901.6667)" fill-opacity="1" fill="url(#linearGradient2)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient2)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="277" height="147" y="0" clip-path="url(#clipPath6)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(45.3333,901.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="277" height="147" y="0" clip-path="url(#clipPath6)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath6)" x2="277" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath7)" stroke="none"
>-db : IDatabase</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath7)" stroke="none"
>-accountsData : Dictionary&lt;Account, AccountServices&gt;</text
><line stroke-linecap="butt" clip-path="url(#clipPath7)" fill="none" x1="0" x2="277" y1="34" y2="34" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath7)" stroke="none"
>+RecipesService()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath7)" stroke="none"
>+PopularRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath7)" stroke="none"
>+GetRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath7)" stroke="none"
>+GetRecipesOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath7)" stroke="none"
>+GetPreferencesOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,45.3333,914.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath7)" stroke="none"
>-GetOrInitData()</text
></g
><g font-size="11px" transform="translate(45.3333,901.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="97" xml:space="preserve" y="12" clip-path="url(#clipPath8)" stroke="none"
>RecipesService</text
></g
><g font-size="11px" transform="translate(142.3333,1151.6667)" fill-opacity="1" fill="url(#linearGradient3)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient3)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="178" height="132" y="0" clip-path="url(#clipPath9)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(142.3333,1151.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="178" height="132" y="0" clip-path="url(#clipPath9)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath9)" x2="178" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath10)" stroke="none"
>-authService : IAuthService</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath10)" stroke="none"
>-recipesService : IRecipesService</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath10)" stroke="none"
>+AuthService : IAuthService</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath10)" stroke="none"
>+RecipesService : IRecipesService</text
><line stroke-linecap="butt" clip-path="url(#clipPath10)" fill="none" x1="0" x2="178" y1="64" y2="64" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath10)" stroke="none"
>+LocalEndpoint()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath10)" stroke="none"
>-PrepareDatabase()</text
><line y2="95" fill="none" x1="2" clip-path="url(#clipPath10)" x2="99" y1="95"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,142.3333,1164.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath10)" stroke="none"
>-MakeGuid()</text
><line y2="110" fill="none" x1="2" clip-path="url(#clipPath10)" x2="63" y1="110"
/></g
><g font-size="11px" transform="translate(142.3333,1151.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="51" xml:space="preserve" y="12" clip-path="url(#clipPath11)" stroke="none"
>LocalEndpoint</text
></g
><g font-size="11px" transform="translate(372.3333,58.6667)" fill-opacity="1" fill="rgb(255,255,128)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="rgb(255,255,128)" stroke-opacity="1"
><rect x="0" width="82" height="20" y="0" clip-path="url(#clipPath12)" stroke="none"
/><rect x="0" width="412" height="1482" y="20" clip-path="url(#clipPath12)" stroke="none"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(372.3333,58.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><path fill="none" d="M0 20 L412 20 L412 1502 L0 1502 L0 0 L82 0 L82 20" clip-path="url(#clipPath12)"
/></g
><g font-size="11px" transform="translate(372.3333,78.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="194" xml:space="preserve" y="12" clip-path="url(#clipPath13)" stroke="none"
>Data</text
></g
><g font-size="11px" transform="translate(88.3333,715.6667)" fill-opacity="1" fill="url(#linearGradient4)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient4)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="189" height="40" y="0" clip-path="url(#clipPath14)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(88.3333,715.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="189" height="40" y="0" clip-path="url(#clipPath14)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath14)" x2="189" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,88.3333,728.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath15)" stroke="none"
>+DEFAULT_ACCOUNT_IMAGE : Uri</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,88.3333,728.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath15)" x2="184" y1="16"
/></g
><g font-size="11px" transform="translate(88.3333,715.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="68" xml:space="preserve" y="12" clip-path="url(#clipPath16)" stroke="none"
>Constants</text
></g
><g font-size="11px" transform="translate(835.3333,1371.6667)" fill-opacity="1" fill="url(#linearGradient5)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient5)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="82" height="87" y="0" clip-path="url(#clipPath17)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(835.3333,1371.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="82" height="87" y="0" clip-path="url(#clipPath17)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath17)" x2="82" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,835.3333,1384.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath18)" stroke="none"
>+AuthService()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,835.3333,1384.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath18)" stroke="none"
>+Login()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,835.3333,1384.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath18)" stroke="none"
>+Register()</text
></g
><g font-size="11px" transform="translate(835.3333,1371.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="7" xml:space="preserve" y="12" clip-path="url(#clipPath19)" stroke="none"
>AuthService</text
></g
><g font-size="11px" transform="translate(118.3333,1338.6667)" fill-opacity="1" fill="url(#linearGradient6)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient6)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="160" height="192" y="0" clip-path="url(#clipPath20)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(118.3333,1338.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="160" height="192" y="0" clip-path="url(#clipPath20)"
/><line y2="13" fill="none" x1="0" clip-path="url(#clipPath20)" x2="160" y1="13"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath21)" stroke="none"
>+Account : Account</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath21)" x2="160" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath21)" stroke="none"
>+AccountRecipesPreferences()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath21)" stroke="none"
>+GetRecommendedRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath21)" stroke="none"
>+GetFavorites()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath21)" stroke="none"
>+GetWeeklyList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath21)" stroke="none"
>+GetRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath21)" stroke="none"
>+AddToWeeklyList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath21)" stroke="none"
>+AddToFavorites()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath21)" stroke="none"
>+RemoveFromFavorites()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,118.3333,1351.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath21)" stroke="none"
>+SetReviewScore()</text
></g
><g font-size="11px" transform="translate(118.3333,1338.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="4" xml:space="preserve" y="12" clip-path="url(#clipPath22)" stroke="none"
>AccountRecipesPreferences</text
></g
><g font-size="11px" transform="translate(421.3333,649.6667)" fill-opacity="1" fill="url(#linearGradient7)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient7)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="128" height="237" y="0" clip-path="url(#clipPath23)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(421.3333,649.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="128" height="237" y="0" clip-path="url(#clipPath23)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath23)" x2="128" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath24)" stroke="none"
>-User : User</text
></g
><g stroke-linecap="butt" font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="bevel" stroke="black" stroke-opacity="1" stroke-miterlimit="0"
><line y2="19" fill="none" x1="0" clip-path="url(#clipPath24)" x2="128" y1="19"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="33" clip-path="url(#clipPath24)" stroke="none"
>+GetAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="48" clip-path="url(#clipPath24)" stroke="none"
>+GetRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="63" clip-path="url(#clipPath24)" stroke="none"
>+GetRecipeListOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="78" clip-path="url(#clipPath24)" stroke="none"
>+GetRecipeRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="93" clip-path="url(#clipPath24)" stroke="none"
>+InsertAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="108" clip-path="url(#clipPath24)" stroke="none"
>+InsertInUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath24)" stroke="none"
>+InsertRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath24)" stroke="none"
>+InsertRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath24)" stroke="none"
>+InsertUser()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath24)" stroke="none"
>+ListAllRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath24)" stroke="none"
>+ListRatesOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath24)" stroke="none"
>+RemoveFromUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,421.3333,664.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath24)" stroke="none"
>+RemoveRecipe()</text
></g
><g font-size="11px" transform="translate(421.3333,649.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="26" xml:space="preserve" y="12" clip-path="url(#clipPath25)" stroke="none"
>StubDatabase</text
></g
><g font-size="11px" transform="translate(571.3333,1301.6667)" fill-opacity="1" fill="url(#linearGradient8)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient8)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="128" height="233" y="0" clip-path="url(#clipPath26)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(571.3333,1301.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="128" height="233" y="0" clip-path="url(#clipPath26)"
/><line y2="30" fill="none" x1="0" clip-path="url(#clipPath26)" x2="128" y1="30"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath27)" stroke="none"
>+GetRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath27)" stroke="none"
>+GetRecipeRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath27)" stroke="none"
>+GetAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath27)" stroke="none"
>+InsertInUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath27)" stroke="none"
>+RemoveFromUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath27)" stroke="none"
>+InsertAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath27)" stroke="none"
>+InsertRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="119" clip-path="url(#clipPath27)" stroke="none"
>+InsertUser()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="134" clip-path="url(#clipPath27)" stroke="none"
>+InsertRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="149" clip-path="url(#clipPath27)" stroke="none"
>+RemoveRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="164" clip-path="url(#clipPath27)" stroke="none"
>+ListAllRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="179" clip-path="url(#clipPath27)" stroke="none"
>+ListRatesOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,571.3333,1331.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="194" clip-path="url(#clipPath27)" stroke="none"
>+GetRecipeListOf()</text
></g
><g font-size="11px" transform="translate(571.3333,1301.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="30" xml:space="preserve" y="12" clip-path="url(#clipPath28)" stroke="none"
>&lt;&lt;interface&gt;&gt;</text
><text x="38" xml:space="preserve" y="27" clip-path="url(#clipPath28)" font-weight="bold" stroke="none"
>IDatabase</text
></g
><g font-size="11px" transform="translate(512.3333,109.6667)" fill-opacity="1" fill="url(#linearGradient9)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="url(#linearGradient9)" font-weight="bold" stroke-opacity="1"
><rect x="0" width="245" height="417" y="0" clip-path="url(#clipPath29)" stroke="none"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(512.3333,109.6667)" stroke-miterlimit="0" stroke-opacity="1" fill="black" font-weight="bold" font-family="sans-serif" stroke-linejoin="round" font-size="11px" image-rendering="optimizeQuality"
><rect fill="none" x="0" width="245" height="417" y="0" clip-path="url(#clipPath29)"
/><line y2="15" fill="none" x1="0" clip-path="url(#clipPath29)" x2="245" y1="15"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="14" clip-path="url(#clipPath30)" stroke="none"
>-RECIPES_FILENAME : string</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><line y2="16" fill="none" x1="2" clip-path="url(#clipPath30)" x2="151" y1="16"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="29" clip-path="url(#clipPath30)" stroke="none"
>-USERS_FILENAME : string</text
><line y2="31" fill="none" x1="2" clip-path="url(#clipPath30)" x2="141" y1="31"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="44" clip-path="url(#clipPath30)" stroke="none"
>-ACCOUNTS_FILENAME : string</text
><line y2="46" fill="none" x1="2" clip-path="url(#clipPath30)" x2="165" y1="46"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="59" clip-path="url(#clipPath30)" stroke="none"
>-recipesData : Dictionary&lt;Guid, RecipeData&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="74" clip-path="url(#clipPath30)" stroke="none"
>-usersData : Dictionary&lt;Guid, UserData&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="89" clip-path="url(#clipPath30)" stroke="none"
>-accountsData : Dictionary&lt;string, AccountData&gt;</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="104" clip-path="url(#clipPath30)" stroke="none"
>-dbPath : string</text
><line stroke-linecap="butt" clip-path="url(#clipPath30)" fill="none" x1="0" x2="245" y1="109" y2="109" stroke-linejoin="bevel" stroke-miterlimit="0"
/></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="123" clip-path="url(#clipPath30)" stroke="none"
>+CatastrophicPerformancesDatabase()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="138" clip-path="url(#clipPath30)" stroke="none"
>+IsEmpty()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="153" clip-path="url(#clipPath30)" stroke="none"
>+GetAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="168" clip-path="url(#clipPath30)" stroke="none"
>+InsertAccount()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="183" clip-path="url(#clipPath30)" stroke="none"
>+GetRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="198" clip-path="url(#clipPath30)" stroke="none"
>+GetRecipeRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="213" clip-path="url(#clipPath30)" stroke="none"
>+InsertInUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="228" clip-path="url(#clipPath30)" stroke="none"
>+RemoveFromUserList()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="243" clip-path="url(#clipPath30)" stroke="none"
>+InsertRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="258" clip-path="url(#clipPath30)" stroke="none"
>+InsertUser()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="273" clip-path="url(#clipPath30)" stroke="none"
>+InsertRate()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="288" clip-path="url(#clipPath30)" stroke="none"
>+RemoveRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="303" clip-path="url(#clipPath30)" stroke="none"
>+ListAllRecipes()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="318" clip-path="url(#clipPath30)" stroke="none"
>+ListRatesOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="333" clip-path="url(#clipPath30)" stroke="none"
>+GetRecipeListOf()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="348" clip-path="url(#clipPath30)" stroke="none"
>-ConvertRecipeDataToRecipe()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="363" clip-path="url(#clipPath30)" stroke="none"
>-Load&lt; K, V &gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="378" clip-path="url(#clipPath30)" stroke="none"
>-Save&lt; K, T &gt;()</text
></g
><g font-size="11px" transform="matrix(1,0,0,1,512.3333,124.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="2" xml:space="preserve" y="393" clip-path="url(#clipPath30)" stroke="none"
>-WaitForFile()</text
><line y2="395" fill="none" x1="2" clip-path="url(#clipPath30)" x2="69" y1="395"
/></g
><g font-size="11px" transform="translate(512.3333,109.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" font-weight="bold" stroke-opacity="1"
><text x="27" xml:space="preserve" y="12" clip-path="url(#clipPath31)" stroke="none"
>CatastrophicPerformancesDatabase</text
></g
><g font-size="11px" transform="translate(552.3333,1265.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="13" clip-path="url(#clipPath33)" stroke="none"
>-/db</text
></g
><g font-size="11px" transform="translate(552.3333,1281.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="13" clip-path="url(#clipPath35)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(538.3333,1435.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="13" clip-path="url(#clipPath35)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(522.3333,1418.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="12" clip-path="url(#clipPath38)" stroke="none"
>-/db</text
></g
><g font-size="11px" transform="translate(705.3333,1398.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="13" clip-path="url(#clipPath35)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(708.3333,1415.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="13" clip-path="url(#clipPath33)" stroke="none"
>-/db</text
></g
><g font-size="11px" transform="translate(635.3333,1538.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="10" xml:space="preserve" y="12" clip-path="url(#clipPath40)" stroke="none"
>1</text
></g
><g font-size="11px" transform="translate(595.3333,1538.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke="black" stroke-opacity="1"
><text x="9" xml:space="preserve" y="12" clip-path="url(#clipPath41)" stroke="none"
>-/db</text
></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(585.3333,477.6667)" stroke-opacity="1" fill="black" stroke-dasharray="5" font-family="sans-serif" stroke-linejoin="round" font-size="11px" stroke-dashoffset="1" image-rendering="optimizeQuality"
><line y2="50" fill="none" x1="50" clip-path="url(#clipPath43)" x2="50" y1="823"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(585.3333,477.6667)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(122,207,245)" stroke-opacity="1"
><polygon points=" 50 823 56 811 44 811" stroke="none" clip-path="url(#clipPath43)"
/><polygon fill="none" clip-path="url(#clipPath43)" points=" 50 823 56 811 44 811" stroke="black"
/></g
><g fill-opacity="1" text-rendering="geometricPrecision" stroke="black" stroke-linecap="butt" transform="translate(500.3333,718.6667)" stroke-opacity="1" fill="black" stroke-dasharray="5" font-family="sans-serif" stroke-linejoin="round" font-size="11px" stroke-dashoffset="1" image-rendering="optimizeQuality"
><line y2="50" fill="none" x1="110" clip-path="url(#clipPath45)" x2="110" y1="582"
/><line y2="50" fill="none" x1="110" clip-path="url(#clipPath45)" x2="50" y1="50"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(500.3333,718.6667)" fill-opacity="1" fill="rgb(122,207,245)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="rgb(122,207,245)" stroke-opacity="1"
><polygon points=" 110 582 116 570 104 570" stroke="none" clip-path="url(#clipPath45)"
/><polygon fill="none" clip-path="url(#clipPath45)" points=" 110 582 116 570 104 570" stroke="black"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(112.3333,1268.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="167" clip-path="url(#clipPath47)" x2="460" y1="167"
/><line y2="161" fill="none" x1="460" clip-path="url(#clipPath47)" x2="448" y1="167"
/><line y2="173" fill="none" x1="460" clip-path="url(#clipPath47)" x2="448" y1="167"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(532.3333,1248.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="303" clip-path="url(#clipPath49)" x2="167" y1="167"
/><line y2="173" fill="none" x1="167" clip-path="url(#clipPath49)" x2="179" y1="167"
/><line y2="161" fill="none" x1="167" clip-path="url(#clipPath49)" x2="179" y1="167"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(468.3333,1368.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="167" clip-path="url(#clipPath51)" x2="167" y1="313"
/><line y2="179" fill="none" x1="167" clip-path="url(#clipPath51)" x2="161" y1="167"
/><line y2="179" fill="none" x1="167" clip-path="url(#clipPath51)" x2="173" y1="167"
/></g
><g stroke-linecap="butt" font-size="11px" transform="translate(155.3333,798.6667)" fill-opacity="1" fill="black" text-rendering="geometricPrecision" image-rendering="optimizeQuality" font-family="sans-serif" stroke-linejoin="round" stroke="black" stroke-opacity="1"
><line y2="167" fill="none" x1="167" clip-path="url(#clipPath53)" x2="430" y1="167"
/><line y2="503" fill="none" x1="430" clip-path="url(#clipPath53)" x2="430" y1="167"
/><line y2="491" fill="none" x1="430" clip-path="url(#clipPath53)" x2="436" y1="503"
/><line y2="491" fill="none" x1="430" clip-path="url(#clipPath53)" x2="424" y1="503"
/></g
><g font-size="10px" transform="rotate(-45) translate(-1286.6714,0)" fill-opacity="1" fill="rgb(120,120,120)" text-rendering="geometricPrecision" image-rendering="optimizeQuality" stroke="rgb(120,120,120)" stroke-opacity="1"
></g
></g
></svg
>