Compare commits
	
		
			No commits in common. "main" and "qm_8a23c91c" have entirely different histories.
		
	
	
		
			main
			...
			qm_8a23c91
		
	
		
							
								
								
									
										5
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						|  | @ -1,5 +0,0 @@ | ||||||
| _build |  | ||||||
| **/__pycache__/* |  | ||||||
| uv.lock |  | ||||||
| poetry.lock |  | ||||||
| .venv |  | ||||||
							
								
								
									
										6
									
								
								.gitlab-ci.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						|  | @ -0,0 +1,6 @@ | ||||||
|  | include: | ||||||
|  |   - project: 'QubesOS/qubes-continuous-integration' | ||||||
|  |     file: '/gitlab-website.yml' | ||||||
|  | 
 | ||||||
|  | build:doc: | ||||||
|  |   extends: .website | ||||||
|  | @ -1,25 +0,0 @@ | ||||||
| version: 2 |  | ||||||
| 
 |  | ||||||
| build: |  | ||||||
|   os: "ubuntu-lts-latest" |  | ||||||
|   tools: |  | ||||||
|     python: "3.13" |  | ||||||
| 
 |  | ||||||
| submodules: |  | ||||||
|   include: all |  | ||||||
|   recursive: true |  | ||||||
| 
 |  | ||||||
| sphinx: |  | ||||||
|   builder: html |  | ||||||
|   configuration: conf.py |  | ||||||
|   fail_on_warning: false |  | ||||||
| 
 |  | ||||||
| python: |  | ||||||
|   install: |  | ||||||
|    - requirements: requirements.txt |  | ||||||
| 
 |  | ||||||
| formats: |  | ||||||
| - pdf |  | ||||||
| - epub |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -2,11 +2,11 @@ | ||||||
| 
 | 
 | ||||||
| Thank you for your interest in contributing to `qubes-doc`, the Qubes OS | Thank you for your interest in contributing to `qubes-doc`, the Qubes OS | ||||||
| Project's dedicated documentation repository! Please see [how to edit the | Project's dedicated documentation repository! Please see [how to edit the | ||||||
| documentation](https://doc.qubes-os.org/en/latest/developer/general/how-to-edit-the-rst-documentation.html) for | documentation](https://www.qubes-os.org/doc/how-to-edit-the-documentation/) for | ||||||
| detailed contribution instructions. | detailed contribution instructions. | ||||||
| 
 | 
 | ||||||
| In addition, please take a moment to read our [documentation style | In addition, please take a moment to read our [documentation style | ||||||
| guide](https://doc.qubes-os.org/en/latest/developer/general/rst-documentation-style-guide.html) before | guide](https://www.qubes-os.org/doc/documentation-style-guide/) before | ||||||
| contributing. These guidelines are important to maintaining high standards of | contributing. These guidelines are important to maintaining high standards of | ||||||
| quality, and following them will increase the likelihood that your contribution | quality, and following them will increase the likelihood that your contribution | ||||||
| will be accepted. | will be accepted. | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| # Qubes OS Documentation | # Qubes OS Documentation | ||||||
| 
 | 
 | ||||||
| Canonical URL: https://doc.qubes-os.org | Canonical URL: https://www.qubes-os.org/doc/ | ||||||
| 
 | 
 | ||||||
| All [Qubes OS Project](https://github.com/QubesOS) documentation pages are | All [Qubes OS Project](https://github.com/QubesOS) documentation pages are | ||||||
| stored as plain reStructuredText files in this dedicated repository. By cloning and | stored as plain text files in this dedicated repository. By cloning and | ||||||
| regularly pulling from this repo, users can maintain their own up-to-date | regularly pulling from this repo, users can maintain their own up-to-date | ||||||
| offline copy of all Qubes documentation rather than relying solely on the Web. | offline copy of all Qubes documentation rather than relying solely on the Web. | ||||||
| 
 | 
 | ||||||
| To contribute, please see [how to edit the | To contribute, please see [how to edit the | ||||||
| documentation](https://doc.qubes-os.org/en/latest/developer/general/how-to-edit-the-rst-documentation.html). | documentation](https://www.qubes-os.org/doc/how-to-edit-the-documentation/). | ||||||
|  |  | ||||||
|  | @ -1,29 +1,9 @@ | ||||||
| ============================================== |  | ||||||
| Welcome to Qubes OS developer's documentation! | Welcome to Qubes OS developer's documentation! | ||||||
| ============================================== | ============================================== | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| This is documentation for the source code. Please choose specific repostitory: | This is documentation for the source code. Please choose specific repostitory: | ||||||
| 
 | 
 | ||||||
| .. toctree:: | * `core-admin </projects/core-admin>`_ | ||||||
|    :maxdepth: 1 | * `core-admin-client </projects/core-admin-client>`_ | ||||||
| 
 | 
 | ||||||
|    core-admin <> | Or see `the main Qubes OS documentation <https://www.qubes-os.org/doc/>`_. | ||||||
| .. _core-admin: /projects/core-admin |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|    core-admin-client <> |  | ||||||
| .. _core-admin-client: /projects/core-admin-client |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|    qubes-core-qrexec <> |  | ||||||
| .. _qubes-core-qrexec: /projects/qubes-core-qrexec |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| Or see the main Qubes OS documentation <https://www.qubes-os.org/doc/> |  | ||||||
| .. _the main qubes os documentation: https://www.qubes-os.org/doc/ |  | ||||||
| 
 |  | ||||||
| . |  | ||||||
|  |  | ||||||
|  | @ -1,68 +0,0 @@ | ||||||
| """ |  | ||||||
|     ReST directive for embedding Youtube and Vimeo videos. |  | ||||||
| 
 |  | ||||||
|     There are two directives added: ``youtube`` and ``vimeo``. The only |  | ||||||
|     argument is the video id of the video to include. |  | ||||||
|     Both directives have three optional arguments: ``height``, ``width`` |  | ||||||
|     and ``align``. Default height is 281 and default width is 500. |  | ||||||
| 
 |  | ||||||
|     Example:: |  | ||||||
| 
 |  | ||||||
|         .. youtube:: anwy2MPT5RE |  | ||||||
|            :height: 315 |  | ||||||
|            :width: 560 |  | ||||||
|            :align: left |  | ||||||
| 
 |  | ||||||
|     :copyright: (c) 2012 by Danilo Bargen. |  | ||||||
|     :license: BSD 3-clause |  | ||||||
| 
 |  | ||||||
|     From https://gist.github.com/ehles/bed012d78aad5d3cd6c35a49bef32f9f |  | ||||||
| """ |  | ||||||
| from __future__ import absolute_import |  | ||||||
| from docutils import nodes |  | ||||||
| from docutils.parsers.rst import Directive, directives |  | ||||||
| 
 |  | ||||||
| def align(argument): |  | ||||||
|     """Conversion function for the "align" option.""" |  | ||||||
|     return directives.choice(argument, ('left', 'center', 'right')) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| class IframeVideo(Directive): |  | ||||||
|     has_content = False |  | ||||||
|     required_arguments = 1 |  | ||||||
|     optional_arguments = 0 |  | ||||||
|     final_argument_whitespace = False |  | ||||||
|     option_spec = { |  | ||||||
|         'height': directives.nonnegative_int, |  | ||||||
|         'width': directives.nonnegative_int, |  | ||||||
|         'align': align, |  | ||||||
|     } |  | ||||||
|     default_width = 500 |  | ||||||
|     default_height = 281 |  | ||||||
| 
 |  | ||||||
|     def run(self): |  | ||||||
|         self.options['video_id'] = directives.uri(self.arguments[0]) |  | ||||||
|         if not self.options.get('width'): |  | ||||||
|             self.options['width'] = self.default_width |  | ||||||
|         if not self.options.get('height'): |  | ||||||
|             self.options['height'] = self.default_height |  | ||||||
|         if not self.options.get('align'): |  | ||||||
|             self.options['align'] = 'left' |  | ||||||
|         return [nodes.raw('', self.html % self.options, format='html')] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| class GeneralVid(IframeVideo): |  | ||||||
|     html = '<iframe src="%(video_id)s" width="%(width)u" height="%(height)u" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen class="responsive" referrerpolicy="no-referrer" scrolling="no"></iframe>' |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| class Youtube(IframeVideo): |  | ||||||
|     html = '<iframe src="https://www.youtube-nocookie.com/embed/%(video_id)s" \ |  | ||||||
|     width="%(width)u" height="%(height)u" frameborder="0" \ |  | ||||||
|     webkitAllowFullScreen mozallowfullscreen allowfullscreen \ |  | ||||||
|     class="responsive" referrerpolicy="no-referrer" scrolling="no"></iframe>' |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def setup(builder): |  | ||||||
|     directives.register_directive('youtube', Youtube) |  | ||||||
|     directives.register_directive('generalvid', GeneralVid) |  | ||||||
| 
 |  | ||||||
| Before Width: | Height: | Size: 134 KiB | 
| Before Width: | Height: | Size: 59 KiB | 
| Before Width: | Height: | Size: 82 KiB | 
| Before Width: | Height: | Size: 58 KiB | 
| Before Width: | Height: | Size: 365 KiB | 
| Before Width: | Height: | Size: 24 KiB | 
| Before Width: | Height: | Size: 189 KiB | 
| Before Width: | Height: | Size: 30 KiB | 
| Before Width: | Height: | Size: 197 KiB | 
| Before Width: | Height: | Size: 100 KiB | 
| Before Width: | Height: | Size: 38 KiB | 
| Before Width: | Height: | Size: 60 KiB | 
| Before Width: | Height: | Size: 14 KiB | 
| Before Width: | Height: | Size: 5.6 KiB | 
| Before Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 13 KiB | 
| Before Width: | Height: | Size: 98 KiB | 
| Before Width: | Height: | Size: 60 KiB | 
| Before Width: | Height: | Size: 18 KiB | 
| Before Width: | Height: | Size: 25 KiB | 
| Before Width: | Height: | Size: 26 KiB | 
| Before Width: | Height: | Size: 36 KiB | 
| Before Width: | Height: | Size: 69 KiB | 
|  | @ -1,225 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |  | ||||||
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd"> |  | ||||||
| <svg width="25cm" height="16cm" viewBox="-1 -1 482 306" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="170" y="0" width="310" height="290"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="170" y="0" width="310" height="290"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="180" y="20" width="100" height="220"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" x="180" y="20" width="100" height="220"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="0" y="0" width="150" height="160"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="0" y="0" width="150" height="160"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="0" y="170" width="150" height="70"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="0" y="170" width="150" height="70"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="0" y="9.4"> |  | ||||||
|     <tspan x="0" y="9.4"> mgmt-1</tspan> |  | ||||||
|     <tspan x="0" y="22.1"> (gui-domain?)</tspan> |  | ||||||
|   </text> |  | ||||||
|   <text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="0" y="179.4"> |  | ||||||
|     <tspan x="0" y="179.4"> mgmt-2 ...</tspan> |  | ||||||
|     <tspan x="0" y="192.1"> (remote?)</tspan> |  | ||||||
|   </text> |  | ||||||
|   <text font-size="10.16" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="170" y="9.4"> |  | ||||||
|     <tspan x="170" y="9.4"> dom0</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <polygon style="fill: #ffffff" points="398.279,118.274 438.208,160.053 398.279,201.832 358.35,160.053 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="398.279,118.274 438.208,160.053 398.279,201.832 358.35,160.053 "/> |  | ||||||
|     <text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="398.279" y="162.809"> |  | ||||||
|       <tspan x="398.279" y="162.809">qubesd</tspan> |  | ||||||
|     </text> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="441.03,160.053 460,160.053 460,220 420,220 420,235.528 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="448.794,155.053 438.794,160.053 448.794,165.053 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="415,227.764 420,237.764 425,227.764 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polygon style="fill: #ffffff" points="398.508,8.58316 438.389,49.6781 398.508,90.773 358.626,49.6781 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="398.508,8.58316 438.389,49.6781 398.508,90.773 358.626,49.6781 "/> |  | ||||||
|     <text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="398.508" y="52.4337"> |  | ||||||
|       <tspan x="398.508" y="52.4337">libvirtd</tspan> |  | ||||||
|     </text> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="398.294" y1="115.528" x2="398.357" y2="96.127"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="393.32,107.748 398.287,117.764 403.32,107.78 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="403.332,103.907 398.365,93.891 393.332,103.875 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="200" y="60" width="60" height="20"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="60" width="60" height="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="72.75"> |  | ||||||
|     <tspan x="230" y="72.75">qrexec call</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="310" cy="70" rx="10" ry="10"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="70" rx="10" ry="10"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="70" x2="294.529" y2="70"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,75 296.765,70 286.765,65 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="200" y="90" width="60" height="20"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="90" width="60" height="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="102.75"> |  | ||||||
|     <tspan x="230" y="102.75">qrexec call</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="310" cy="100" rx="10" ry="10"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="100" rx="10" ry="10"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="100" x2="294.529" y2="100"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,105 296.765,100 286.765,95 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="200" y="120" width="60" height="20"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="200" y="120" width="60" height="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="132.75"> |  | ||||||
|     <tspan x="230" y="132.75">qrexec call</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="310" cy="130" rx="10" ry="10"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="310" cy="130" rx="10" ry="10"/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="260" y1="130" x2="294.529" y2="130"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="286.765,135 296.765,130 286.765,125 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,70 340,70 340,160.053 355.528,160.053 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,100 340,100 340,160.053 355.528,160.053 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="320,130 340,130 340,160.053 355.528,160.053 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="347.764,165.053 357.764,160.053 347.764,155.053 "/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="9.03111" style="fill: #000000;text-anchor:start;font-family:League Spartan;font-style:normal;font-weight:700" x="180" y="28.4"> |  | ||||||
|     <tspan x="180" y="28.4"> qrexec</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="230" cy="190" rx="20" ry="20"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="230" cy="190" rx="20" ry="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="230" y="187.811"> |  | ||||||
|     <tspan x="230" y="187.811">policy</tspan> |  | ||||||
|     <tspan x="230" y="197.689">query</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="102.515" cy="62.5154" rx="32.5154" ry="32.5154"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="102.515" cy="62.5154" rx="32.5154" ry="32.5154"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="102.515" y="60.3265"> |  | ||||||
|     <tspan x="102.515" y="60.3265">Qubes OS</tspan> |  | ||||||
|     <tspan x="102.515" y="70.2043">Manager</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="135.936" y1="65.0813" x2="195.541" y2="69.6576"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.417,74.0486 197.77,69.8288 188.183,64.078 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="134.741" y1="71.6009" x2="195.696" y2="88.7864"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="186.866,91.492 197.848,89.3932 189.58,81.8672 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="44.9693" cy="114.969" rx="24.9693" ry="24.9693"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="44.9693" cy="114.969" rx="24.9693" ry="24.9693"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="44.9694" y="117.719"> |  | ||||||
|     <tspan x="44.9694" y="117.719">CLI tools</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="70.8961" y1="114.138" x2="195.53" y2="110.143"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.93,115.389 197.765,110.072 187.61,105.395 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="70.8015" y1="117.474" x2="195.549" y2="129.568"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="187.339,133.796 197.774,129.784 188.304,123.843 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <ellipse style="fill: #ffffff" cx="114.969" cy="204.969" rx="24.9693" ry="24.9693"/> |  | ||||||
|     <ellipse style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" cx="114.969" cy="204.969" rx="24.9693" ry="24.9693"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="114.969" y="202.781"> |  | ||||||
|     <tspan x="114.969" y="202.781">remote</tspan> |  | ||||||
|     <tspan x="114.969" y="212.659">proxy</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x1="135.609" y1="189.199" x2="196.446" y2="142.715"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="193.313,151.402 198.223,141.358 187.242,143.456 "/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="9.03111" style="fill: #000000;text-anchor:end;font-family:League Spartan;font-style:normal;font-weight:700" x="160" y="268.4"> |  | ||||||
|     <tspan x="160" y="268.4">Qubes Admin API</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" x1="160" y1="260" x2="160" y2="190.5"/> |  | ||||||
|     <polygon style="fill: #000000" points="162,190.5 160,180.5 158,190.5 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="162,190.5 160,180.5 158,190.5 "/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="9.03111" style="fill: #000000;text-anchor:end;font-family:League Spartan;font-style:normal;font-weight:700" x="160" y="288.4"> |  | ||||||
|     <tspan x="160" y="288.4">qubesd socket API</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" x1="160" y1="280" x2="340.913" y2="175.261"/> |  | ||||||
|     <polygon style="fill: #000000" points="341.915,176.992 349.567,170.251 339.911,173.53 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 1; stroke: #000000" points="341.915,176.992 349.567,170.251 339.911,173.53 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <line style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 10; stroke: #000000" x1="10" y1="270" x2="89.1025" y2="220.994"/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="85.1358,229.334 91.0034,219.817 79.8693,220.833 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <path style="fill: #ffffff" d="M 9.10799 272.906 C 6.00939,272.756 0,275.907 0.845072,282.66 C 1.69014,289.413 5.7277,290.914 7.41785,288.963 C 9.10799,287.012 4.78873,298.417 13.0517,301.419 C 21.3145,304.42 25.5399,299.618 24.3192,296.166 C 23.0986,292.715 31.5493,304.27 35.4929,297.667 C 39.4366,291.064 31.4554,284.761 33.1455,285.662 C 34.8357,286.562 40,285.362 38.3099,274.106 C 36.6197,262.851 21.4084,271.555 23.0986,269.905 C 24.7887,268.254 20.5633,260 15.3052,261.651 C 10.047,263.302 9.674,266.297 9.11062,272.9 L 9.10799,272.906z"/> |  | ||||||
|     <path style="fill: none; fill-opacity:0; stroke-width: 2; stroke-dasharray: 4; stroke: #000000" d="M 9.10799 272.906 C 6.00939,272.756 0,275.907 0.845072,282.66 C 1.69014,289.413 5.7277,290.914 7.41785,288.963 C 9.10799,287.012 4.78873,298.417 13.0517,301.419 C 21.3145,304.42 25.5399,299.618 24.3192,296.166 C 23.0986,292.715 31.5493,304.27 35.4929,297.667 C 39.4366,291.064 31.4554,284.761 33.1455,285.662 C 34.8357,286.562 40,285.362 38.3099,274.106 C 36.6197,262.851 21.4084,271.555 23.0986,269.905 C 24.7887,268.254 20.5633,260 15.3052,261.651 C 10.047,263.302 9.674,266.297 9.11062,272.9 L 9.10799,272.906"/> |  | ||||||
|     <text font-size="12.8" style="fill: #000000;text-anchor:middle;font-family:sans-serif;font-style:normal;font-weight:normal" x="21.0723" y="286.993"> |  | ||||||
|       <tspan x="21.0723" y="286.993"></tspan> |  | ||||||
|     </text> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="410" y="130" width="30" height="20"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="410" y="130" width="30" height="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="425" y="142.75"> |  | ||||||
|     <tspan x="425" y="142.75">ext</tspan> |  | ||||||
|   </text> |  | ||||||
|   <g> |  | ||||||
|     <polygon style="fill: #ffffff" points="395.221,240 450.973,240 450.973,280 389.026,280 389.026,244 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="395.221,240 450.973,240 450.973,280 389.026,280 389.026,244 "/> |  | ||||||
|     <text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="421.548" y="263.822"> |  | ||||||
|       <tspan x="421.548" y="263.822">qubes.xml</tspan> |  | ||||||
|     </text> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polygon style="fill: #ffffff" points="314.926,240 371.342,240 371.342,280 308.658,280 308.658,244 "/> |  | ||||||
|     <polygon style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="314.926,240 371.342,240 371.342,280 308.658,280 308.658,244 "/> |  | ||||||
|     <text font-size="9.03111" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="341.567" y="263.822"> |  | ||||||
|       <tspan x="341.567" y="263.822">RPC policy</tspan> |  | ||||||
|     </text> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="250.992,190 431.72,190 431.72,210 340,210 340,235.528 "/> |  | ||||||
|     <polyline style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" points="335,227.764 340,237.764 345,227.764 "/> |  | ||||||
|   </g> |  | ||||||
|   <g> |  | ||||||
|     <rect style="fill: #ffffff" x="420" y="120" width="30" height="20"/> |  | ||||||
|     <rect style="fill: none; fill-opacity:0; stroke-width: 2; stroke: #000000" x="420" y="120" width="30" height="20"/> |  | ||||||
|   </g> |  | ||||||
|   <text font-size="7.90222" style="fill: #000000;text-anchor:middle;font-family:League Spartan;font-style:normal;font-weight:700" x="435" y="132.75"> |  | ||||||
|     <tspan x="435" y="132.75">ext</tspan> |  | ||||||
|   </text> |  | ||||||
| </svg> |  | ||||||
| Before Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 6.6 KiB | 
| Before Width: | Height: | Size: 29 KiB | 
| Before Width: | Height: | Size: 846 B | 
| Before Width: | Height: | Size: 34 KiB | 
|  | @ -1,841 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |  | ||||||
| <svg |  | ||||||
|    xmlns:xhtml="http://www.w3.org/1999/xhtml" |  | ||||||
|    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" |  | ||||||
|    width="821" |  | ||||||
|    height="441" |  | ||||||
|    version="1.1" |  | ||||||
|    content="<mxfile userAgent="Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0" version="7.6.7" editor="www.draw.io" type="device"><diagram id="581adbd3-4043-ab63-00c4-0d1109c21ff0" name="Page-1">7Vtbj+I2FP41SNuHjrBz5XGYS7dqK612tNrdRxMMpBNi6pgB+utrJzYknATMkDDMqDyg5Ng49vedm49Dz7mbr3/jZDH7i41p0sP98brn3Pcw9gdYfivBphCg0PcLyZTHYy3bCZ7if6kW9rV0GY9pVukoGEtEvKgKI5amNBIVGeGcrardJiypPnVBphQIniKSQOn3eCxmWor8wa7hM42nM/3oEAdFw4hEz1POlql+Xg87k/xTNM+JGUsvNJuRMVuVRM5Dz7njjIniar6+o4nC1sBW/O6xoXU7b05TYfODQPPyQpIlNVPOJyY2Bgy1noXuRrmg6zoKyMh078M5oO3KpMZQNqeCb2QXPZBnfqK1xdW3qx3yjukyK4GO+1pINNvT7dC7FcsLvegGADwAwIrxZwBCtornCUnl3TATnD3TO5Ywnrc5/fwjWyZxkhh5yvLOjbiV8SlYgACdhYAe7qsiJ53KdVTG8+uGc6qjkURQnhJBh0qhMwDrdqZWSIdQ1b7hx8+/y4s+gFuiJSc1nIm5HO4eAdQ1ujWAkySepvI2kuhSKR8q7GNp2re6YR6Px+oxw9UsFvRpQSL1zJV0ZFKWmy5VM+5bk+cd1G7kVLUb+VC93Vpuz1duFyr3hDOJi3RP2E8UwiMur6bq6lNBBZ0vEyJilv4CSNmBgxrga+RLWokfhXQ02SNNyseEhpNoiza0ixoGINoGXeQCdFGd6fgtwOsjAO9QxR6pdrj/SSq3co9JLJfTNpaj0HO9fY+jYk0Y0Siqs4KzwDWt3lFHve1Sxhq1osv+AQz7VbzkGvnmR/nmp+p04+VYEi5uVY6g4ElIlsWRET/GiRnibyrERicmZCmYFDEuZmzKUpL8ydiiQo1JEvLnrWPxQ89JXRePDjzryLHLGQ7RlrElj2hVEeUaplRUbZ+OK6kOJJdTZe8v1cznQED5wmI5l2alGAxuQi9ALs6/nb0Bi2nrMc6KJ55F6lLVkFOtLMQjRyauO2vihU4DD+bRcOzWsmU8hLWNOWEVzqDGxur8mdeGjWFoY0p9nvTtzgAedtLhcSvsQyt8vXlZ2q+xQgStsJGlskkF0KLQoG2LsuYluD5erFgYk2y2DXJWuKMaV4Zbd2W2wHteJ8DvhSXcWVyqCzW2Ecs7KSzVUGkiUJnK4M2YDEC0+IfTNY3UOlgSRxuYEdN0wuRq5mqRoDFOVYGDza9n79JB9PEcy/DTRjoduMcDete1CHx8s+bU79baAMABAGSb7NdlNgI4dFuOcK0wukx9ZgAw+RhVA+cgxvtVg5qtVldFgxD/j7i6vyDktZUxKShAFxLPFCB/UgGhqUzQXFho8gqnFGMuGTycECDUQab2hgUEXL91Mawc2btoDWu5GCBRIJtSh4Xa1melkfdrBUHVxkKvTPHR7n5/TyOK57+2gAAzQnV6k9dGW7S1bXmzuSB6lq2ZoLyXudjWDdqwvfBjui+ELoihC2Prx/JfDaUXS/8VXqX/Qug0B2ZyirY8mN9u0DO85WpimKtWjIomo1Cn6AmkHnXCKSAhMEWcahQ5VpE+eZxCXduobAfQoQKeL30oj0PoDDvc9cHYvKA8UyoFkOh2KxzWo3QRFBDc+17s+LaVLCZswPg6dgzuAYSuP5427QdCGDzbP7iwOwr0904CsZXjfYXDdGCZ/j1RmadGR45K6nht/1zEjleEL0UsfsMXWGpCRrPzs2TvSjcfZox3+iKLPbjX8CJLCKv8Szy5+UqncaaWCPRatd4uxUwuOI6IoD08/OPhZ43+c7KS495+uf+WQZ7eUaX2tDMq5Fi+8uW1QR50SADprlNzd195L5mZI+gqysWejE1EywWfJt+7dR1HfO+WMvtT0LcrpZnXH7osSp4bzE4HdKt5b4CoiwBy5RqJBuNVL8tcLF2svsRkkS0aiipv1mgwKzuD1msw1o4UHva/kGUiAFmv3d7XIHQk7IQNL3J34Vfl7e5PHkVivPsnjfPwHw==</diagram></mxfile>" |  | ||||||
|    id="svg208" |  | ||||||
|    sodipodi:docname="architecture.svg" |  | ||||||
|    inkscape:version="1.0.2 (e86c870879, 2021-01-15)"> |  | ||||||
|   <metadata |  | ||||||
|      id="metadata212"> |  | ||||||
|     <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></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="1080" |  | ||||||
|      id="namedview210" |  | ||||||
|      showgrid="false" |  | ||||||
|      inkscape:zoom="1.4640682" |  | ||||||
|      inkscape:cx="472.92629" |  | ||||||
|      inkscape:cy="213.58528" |  | ||||||
|      inkscape:window-x="0" |  | ||||||
|      inkscape:window-y="0" |  | ||||||
|      inkscape:window-maximized="0" |  | ||||||
|      inkscape:current-layer="g206" |  | ||||||
|      inkscape:document-rotation="0" /> |  | ||||||
|   <defs |  | ||||||
|      id="defs2" /> |  | ||||||
|   <g |  | ||||||
|      transform="translate(0.5,0.5)" |  | ||||||
|      id="g206"> |  | ||||||
|     <path |  | ||||||
|        d="M 500,23 V 0 h 320 v 23 z" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path4" /> |  | ||||||
|     <path |  | ||||||
|        d="M 500,23 V 200 H 820 V 23" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path6" /> |  | ||||||
|     <g |  | ||||||
|        fill="#000000" |  | ||||||
|        font-family="Helvetica" |  | ||||||
|        font-weight="bold" |  | ||||||
|        text-anchor="middle" |  | ||||||
|        font-size="12px" |  | ||||||
|        id="g10"> |  | ||||||
|       <text |  | ||||||
|          x="658.90997" |  | ||||||
|          y="15" |  | ||||||
|          id="text8">work</text> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(627.5,163.5)" |  | ||||||
|        id="g16"> |  | ||||||
|       <switch |  | ||||||
|          id="switch14"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="44" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="22" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text12">CTAPHID</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="500" |  | ||||||
|        y="114" |  | ||||||
|        width="120" |  | ||||||
|        height="60" |  | ||||||
|        rx="9" |  | ||||||
|        ry="9" |  | ||||||
|        fill="#dae8fc" |  | ||||||
|        stroke="#6c8ebf" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect18" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(515.5,121.5)" |  | ||||||
|        id="g24"> |  | ||||||
|       <switch |  | ||||||
|          id="switch22"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="86" |  | ||||||
|            height="27" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| (HID emulation)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="43" |  | ||||||
|            y="20" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text20"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan90" |  | ||||||
|              x="43" |  | ||||||
|              y="20">frontend</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan92" |  | ||||||
|              x="43" |  | ||||||
|              y="35">(HID emulation)</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="650" |  | ||||||
|        y="40" |  | ||||||
|        width="150" |  | ||||||
|        height="120" |  | ||||||
|        rx="18" |  | ||||||
|        ry="18" |  | ||||||
|        fill="#f8cecc" |  | ||||||
|        stroke="#b85450" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect26" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(668.5,92.5)" |  | ||||||
|        id="g32"> |  | ||||||
|       <switch |  | ||||||
|          id="switch30"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="111" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">Browser (CTAP client)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="56" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text28">Browser (CTAP client)</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <path |  | ||||||
|        d="m 644.57,133.14 -19.02,8.78" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path34" /> |  | ||||||
|     <path |  | ||||||
|        d="m 649.34,130.94 -4.89,6.11 0.12,-3.91 -3.05,-2.45 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path36" /> |  | ||||||
|     <path |  | ||||||
|        d="m 620.78,144.12 4.89,-6.11 -0.12,3.91 3.05,2.44 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path38" /> |  | ||||||
|     <rect |  | ||||||
|        x="352.95929" |  | ||||||
|        y="29.943514" |  | ||||||
|        width="133.92751" |  | ||||||
|        height="386.92245" |  | ||||||
|        fill="#d5e8d4" |  | ||||||
|        stroke="#82b366" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect40" |  | ||||||
|        style="stroke-width:0.911286" /> |  | ||||||
|     <path |  | ||||||
|        d="m 346.13,235.18 h 73.63 v 64.7 h 73.64" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path42" /> |  | ||||||
|     <path |  | ||||||
|        d="m 340.88,235.18 7,-3.5 -1.75,3.5 1.75,3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path44" /> |  | ||||||
|     <path |  | ||||||
|        d="m 498.65,299.88 -7,3.5 1.75,-3.5 -1.75,-3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path46" /> |  | ||||||
|     <path |  | ||||||
|        d="m 493.4,144.59 h -73.64 v 60 h -73.63" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path54" /> |  | ||||||
|     <path |  | ||||||
|        d="m 498.65,144.59 -7,3.5 1.75,-3.5 -1.75,-3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path56" /> |  | ||||||
|     <path |  | ||||||
|        d="m 340.88,204.59 7,-3.5 -1.75,3.5 1.75,3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path58" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(383.5,429.5)" |  | ||||||
|        id="g64"> |  | ||||||
|       <switch |  | ||||||
|          id="switch62"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="72" |  | ||||||
|            height="41" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 73px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">qrexec policy<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| enforcement<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| in dom0</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="36" |  | ||||||
|            y="-69" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text60"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan116" |  | ||||||
|              x="36" |  | ||||||
|              y="-69">qrexec policy</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan118" |  | ||||||
|              x="36" |  | ||||||
|              y="-54">enforcement</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              x="36" |  | ||||||
|              y="-39" |  | ||||||
|              id="tspan122">in dom0</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <path |  | ||||||
|        d="m 20,143 v -23 h 320 v 23 z" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path66" /> |  | ||||||
|     <path |  | ||||||
|        d="M 20,143 V 320 H 340 V 143" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path68" /> |  | ||||||
|     <g |  | ||||||
|        fill="#000000" |  | ||||||
|        font-family="Helvetica" |  | ||||||
|        font-weight="bold" |  | ||||||
|        text-anchor="middle" |  | ||||||
|        font-size="12px" |  | ||||||
|        id="g72"> |  | ||||||
|       <text |  | ||||||
|          x="178.91" |  | ||||||
|          y="135" |  | ||||||
|          id="text70">sys-usb</text> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(147.5,163.5)" |  | ||||||
|        id="g78"> |  | ||||||
|       <switch |  | ||||||
|          id="switch76"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="44" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="22" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text74">CTAPHID</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(147.5,263.5)" |  | ||||||
|        id="g84"> |  | ||||||
|       <switch |  | ||||||
|          id="switch82"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="44" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="22" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text80">CTAPHID</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="0" |  | ||||||
|        y="150" |  | ||||||
|        width="120" |  | ||||||
|        height="60" |  | ||||||
|        rx="9" |  | ||||||
|        ry="9" |  | ||||||
|        fill="#f8cecc" |  | ||||||
|        stroke="#b85450" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect86" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(18.5,164.5)" |  | ||||||
|        id="g92"> |  | ||||||
|       <switch |  | ||||||
|          id="switch90"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="80" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 81px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID token</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="40" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text88"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan253" |  | ||||||
|              x="40" |  | ||||||
|              y="12">CTAP HID token</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan255" |  | ||||||
|              x="40" |  | ||||||
|              y="27">(CTAP authenticator)</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <path |  | ||||||
|        d="M 213.4,204.59 H 170.35 V 179.88 H 126.13" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path94" /> |  | ||||||
|     <path |  | ||||||
|        d="m 218.65,204.59 -7,3.5 1.75,-3.5 -1.75,-3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path96" /> |  | ||||||
|     <path |  | ||||||
|        d="m 120.88,179.88 7,-3.5 -1.75,3.5 1.75,3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path98" /> |  | ||||||
|     <rect |  | ||||||
|        x="220" |  | ||||||
|        y="190" |  | ||||||
|        width="120" |  | ||||||
|        height="60" |  | ||||||
|        rx="9" |  | ||||||
|        ry="9" |  | ||||||
|        fill="#dae8fc" |  | ||||||
|        stroke="#6c8ebf" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect100" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(255.5,212.5)" |  | ||||||
|        id="g106"> |  | ||||||
|       <switch |  | ||||||
|          id="switch104"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="47" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 48px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">backend</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="24" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text102">backend</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="0" |  | ||||||
|        y="230" |  | ||||||
|        width="120" |  | ||||||
|        height="60" |  | ||||||
|        rx="9" |  | ||||||
|        ry="9" |  | ||||||
|        fill="#f8cecc" |  | ||||||
|        stroke="#b85450" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect108" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(18.5,244.5)" |  | ||||||
|        id="g114"> |  | ||||||
|       <switch |  | ||||||
|          id="switch112"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="80" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 81px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID token</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="40" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text110"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan257" |  | ||||||
|              x="40" |  | ||||||
|              y="12">CTAP HID token</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan259" |  | ||||||
|              x="40" |  | ||||||
|              y="27">(CTAP authenticator)</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <path |  | ||||||
|        d="m 213.4,235.18 h -43.05 v 24.7 h -44.22" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path116" /> |  | ||||||
|     <path |  | ||||||
|        d="m 218.65,235.18 -7,3.5 1.75,-3.5 -1.75,-3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path118" /> |  | ||||||
|     <path |  | ||||||
|        d="m 120.88,259.88 7,-3.5 -1.75,3.5 1.75,3.5 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path120" /> |  | ||||||
|     <path |  | ||||||
|        d="m 500,263 v -23 h 320 v 23 z" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path126" /> |  | ||||||
|     <path |  | ||||||
|        d="M 500,263 V 440 H 820 V 263" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path128" /> |  | ||||||
|     <g |  | ||||||
|        fill="#000000" |  | ||||||
|        font-family="Helvetica" |  | ||||||
|        font-weight="bold" |  | ||||||
|        text-anchor="middle" |  | ||||||
|        font-size="12px" |  | ||||||
|        id="g132"> |  | ||||||
|       <text |  | ||||||
|          x="658.90997" |  | ||||||
|          y="255" |  | ||||||
|          id="text130">personal</text> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="500" |  | ||||||
|        y="270" |  | ||||||
|        width="120" |  | ||||||
|        height="60" |  | ||||||
|        rx="9" |  | ||||||
|        ry="9" |  | ||||||
|        fill="#dae8fc" |  | ||||||
|        stroke="#6c8ebf" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect134" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(515.5,277.5)" |  | ||||||
|        id="g140"> |  | ||||||
|       <switch |  | ||||||
|          id="switch138"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="86" |  | ||||||
|            height="27" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| (HID emulation)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="43" |  | ||||||
|            y="20" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text136"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan94" |  | ||||||
|              x="43" |  | ||||||
|              y="20">frontend</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan96" |  | ||||||
|              x="43" |  | ||||||
|              y="35">(HID emulation)</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <path |  | ||||||
|        d="m 643.95,307.86 -18.14,-5.98" |  | ||||||
|        fill="none" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path142" /> |  | ||||||
|     <path |  | ||||||
|        d="m 648.94,309.51 -7.75,1.13 2.76,-2.78 -0.56,-3.87 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path144" /> |  | ||||||
|     <path |  | ||||||
|        d="m 620.83,300.23 7.74,-1.13 -2.76,2.78 0.57,3.87 z" |  | ||||||
|        fill="#000000" |  | ||||||
|        stroke="#000000" |  | ||||||
|        stroke-miterlimit="10" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="path146" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(515.5,365.5)" |  | ||||||
|        id="g160"> |  | ||||||
|       <switch |  | ||||||
|          id="switch158"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="86" |  | ||||||
|            height="27" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 87px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">frontend<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| (HID emulation)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <rect |  | ||||||
|        x="650" |  | ||||||
|        y="280" |  | ||||||
|        width="150" |  | ||||||
|        height="120" |  | ||||||
|        rx="18" |  | ||||||
|        ry="18" |  | ||||||
|        fill="#f8cecc" |  | ||||||
|        stroke="#b85450" |  | ||||||
|        pointer-events="none" |  | ||||||
|        id="rect162" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(668.5,332.5)" |  | ||||||
|        id="g168"> |  | ||||||
|       <switch |  | ||||||
|          id="switch166"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="111" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 112px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">Browser (CTAP client)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="56" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text164">Browser (CTAP client)</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(360.5,98.5)" |  | ||||||
|        id="g174"> |  | ||||||
|       <switch |  | ||||||
|          id="switch172"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="119" |  | ||||||
|            height="41" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 120px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">u2f.Register<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| u2f.Authenticate+KEY<xhtml:br /> |  | ||||||
| 
 |  | ||||||
| (raw APDUs)</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="60" |  | ||||||
|            y="-39" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text170"><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              id="tspan100" |  | ||||||
|              x="60" |  | ||||||
|              y="-39">ctap.GetInfo</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              x="60" |  | ||||||
|              y="-24" |  | ||||||
|              id="tspan112">ctap.ClientPin</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              x="60" |  | ||||||
|              y="-9" |  | ||||||
|              id="tspan114">u2f.Register</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              x="60" |  | ||||||
|              y="6" |  | ||||||
|              id="tspan104">u2f.Authenticate+KEY</tspan><tspan |  | ||||||
|              sodipodi:role="line" |  | ||||||
|              x="60" |  | ||||||
|              y="21" |  | ||||||
|              id="tspan106">(raw CBOR/APDU)</tspan></text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(59.5,452.5)" |  | ||||||
|        id="g182"> |  | ||||||
|       <switch |  | ||||||
|          id="switch180"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="99" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 100px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAP HID softtoken</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        transform="translate(255.5,452.5)" |  | ||||||
|        id="g190"> |  | ||||||
|       <switch |  | ||||||
|          id="switch188"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="47" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 48px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">backend</xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|     <g |  | ||||||
|        fill="#000000" |  | ||||||
|        font-family="Helvetica" |  | ||||||
|        font-weight="bold" |  | ||||||
|        text-anchor="middle" |  | ||||||
|        font-size="12px" |  | ||||||
|        id="g204" /> |  | ||||||
|     <g |  | ||||||
|        transform="translate(599.78076,342.20152)" |  | ||||||
|        id="g16-3"> |  | ||||||
|       <switch |  | ||||||
|          id="switch14-6"> |  | ||||||
|         <foreignObject |  | ||||||
|            style="overflow:visible;" |  | ||||||
|            pointer-events="all" |  | ||||||
|            width="44" |  | ||||||
|            height="12" |  | ||||||
|            requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"> |  | ||||||
|           <xhtml:div |  | ||||||
|              style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 45px; white-space: nowrap; overflow-wrap: normal; text-align: center;"> |  | ||||||
|             <xhtml:div |  | ||||||
|                style="display:inline-block;text-align:inherit;text-decoration:inherit;">CTAPHID </xhtml:div> |  | ||||||
|           </xhtml:div> |  | ||||||
|         </foreignObject> |  | ||||||
|         <text |  | ||||||
|            x="22" |  | ||||||
|            y="12" |  | ||||||
|            fill="#000000" |  | ||||||
|            text-anchor="middle" |  | ||||||
|            font-size="12px" |  | ||||||
|            font-family="Helvetica" |  | ||||||
|            id="text12-7">CTAPHID</text> |  | ||||||
|       </switch> |  | ||||||
|     </g> |  | ||||||
|   </g> |  | ||||||
| </svg> |  | ||||||
| Before Width: | Height: | Size: 28 KiB | 
| Before Width: | Height: | Size: 58 KiB | 
| Before Width: | Height: | Size: 557 B | 
| Before Width: | Height: | Size: 247 KiB | 
| Before Width: | Height: | Size: 124 KiB | 
| Before Width: | Height: | Size: 106 KiB | 
| Before Width: | Height: | Size: 128 KiB | 
| Before Width: | Height: | Size: 33 KiB | 
| Before Width: | Height: | Size: 179 KiB | 
| Before Width: | Height: | Size: 66 KiB | 
| Before Width: | Height: | Size: 167 KiB | 
| Before Width: | Height: | Size: 122 KiB | 
| Before Width: | Height: | Size: 99 KiB | 
| Before Width: | Height: | Size: 94 KiB | 
| Before Width: | Height: | Size: 73 KiB | 
| Before Width: | Height: | Size: 104 KiB | 
| Before Width: | Height: | Size: 1,016 B | 
| Before Width: | Height: | Size: 17 KiB | 
| Before Width: | Height: | Size: 51 KiB | 
| Before Width: | Height: | Size: 55 KiB | 
| Before Width: | Height: | Size: 56 KiB | 
| Before Width: | Height: | Size: 6.5 KiB | 
| Before Width: | Height: | Size: 433 KiB | 
| Before Width: | Height: | Size: 444 KiB | 
| Before Width: | Height: | Size: 87 KiB | 
| Before Width: | Height: | Size: 78 KiB | 
| Before Width: | Height: | Size: 44 KiB | 
| Before Width: | Height: | Size: 24 KiB | 
| Before Width: | Height: | Size: 58 KiB | 
| Before Width: | Height: | Size: 88 KiB | 
| Before Width: | Height: | Size: 106 KiB | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 131 KiB | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 36 KiB | 
| Before Width: | Height: | Size: 68 KiB | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 105 KiB | 
| Before Width: | Height: | Size: 108 KiB | 
| Before Width: | Height: | Size: 103 KiB | 
| Before Width: | Height: | Size: 12 KiB | 
|  | @ -1 +0,0 @@ | ||||||
| <mxfile userAgent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="8.0.2" editor="www.draw.io" type="device"><diagram id="32a8e41c-a064-97f3-9a90-4db0e0e6f5c1" name="Page-1">5VjbctsgEP0aPaYjgyTLj7GTXmbaTmby0OQRS2uJBgsVocjq1xcJbF2wM27i3No8ZOCwu8A5y4Ls4MV680mQPP3GY2AOcuONgy8chDzPVf8boNZAOMMaSASNNTTpgGv6Gwxo/JKSxlAMDCXnTNJ8CEY8yyCSA4wIwauh2Yqz4aw5ScACriPCbPQHjWVqduG7Hf4ZaJJuZ564ZmRJortE8DIz8zkIr9o/Pbwm21jGvkhJzKsehC8dvBCcS91abxbAGmq3tGm/jwdGd+sWkMljHJB2uCesNFsv6uIsA+mggKkI86VQraRp0fw+UCZmikLWW7La7ULcjuF5lVIJ1zmJmtFKZYfCUrlmZnhFGVtwxkXri2MfwthTeCEFv4PeSIiWOFATzs0KQUjYHNzlZMedSknga5CiViabYVrVO7l0v+q0nWwVSXu6BgYjJp2SXeSOUtUwrB6QxCYMYpVspsuFTHnCM8IuO3TeUeoO6YMNlTe99m1j8sFvepla2I3xaDvd2E+QsjanjJSSK6ib9yvnuYmoV9os72Gi1W54KSJjZY62JCIBYzXdL4cARiS9H0bfR27rei4EqXsGOaeZLCzud/GPkwM9vxzozekRPq8eJvJVA/ROHR4eO6sWje0D/0n2E88dJYde8aNTBf+HJ3f2KpnyROWD0wqP916KKyqgIo3hu7//Zi94/3kWmd91JiH3y5V6UVhHjDH1ymuOknob5Q0YMV7G74TZI4kNT0CsbxFrc5nF581ruCWRFAWNRjVpV3m6QnRrCtHxFaVfPtB+tnp8+Hvo2GJ/V2WssjAdihEGwwC68hmfB6pLMLq2piOx9H6tOI8oNMFbkbB/KSBbVfyaqo6OGEYjOd6erFNLVvXt5J3xjNVnv8olHPy2OunVsgojiKJ9BXAZ+p7vnqYAIvcV75bQIjoHUTRPo3d4SVtMvuRX6sxisuLi7h9gET8fiarb/VCjy0T3Yxi+/AM=</diagram></mxfile> |  | ||||||
| Before Width: | Height: | Size: 14 KiB | 
|  | @ -1 +0,0 @@ | ||||||
| <mxfile userAgent="Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0" version="8.0.2" editor="www.draw.io" type="device"><diagram id="144a4769-0002-f4b6-27d0-e28edd050a98" name="Page-1">1VjLcpswFP0alukghDFe1m76mGlnMpNFk6UMMtDIiBGyMf36SiAeQrhDEj9iLzzS0b1CnHN1r4QFV9vDN4ay+BcNMbEcOzxY8IvlOK5ri38JlDXgL2ANRCwJawh0wGPyFytQ+UW7JMS5ZsgpJTzJdDCgaYoDrmGIMVroZhtK9KdmKMIG8BggYqK/k5DH6i1mdod/x0kUN08GthpZo+AlYnSXqudZDtxUv3p4i5q5lH0eo5AWPQjeW3DFKOV1a3tYYSKpbWir/b4eGW3XzXDKpzg4tcMekZ169bzM71LM1fJ42VBSvRSWbsCCyyJOOH7MUCBHCxEDAov5lqjhTULIihLKKl+48QMcBALPOaMvuDey9meuYBUu1Tow4/hw9F1Ay5AIPEy3mLNSmBz04ClbUep+0SkIGt7jnnqewpAKmqiduSNONBR34zxCgy8ciohSXcp4TCOaInLfocuOUVtnDx8S/tRrP0uTTzPZS8W6npRH1enG/mDOS7WV0I5TAXXP/UlppmasVyqXp/Gc0x0LFORNpp5hgniy16caI7Jy/cwYKnsGGU1SnusB+iCxTlTH1lVtd04zB0cswlx5DQRrFzpJQ+CfQ0QlnJIRaCJ2mj6rCd4poqHYqK41ZcrKe6ewU3cIWNz8FnkDu/BC7HqjeXyTMFwgaXjzyXxxwWQ+N8j88bB3BSLqYkHZixnIhIiTiQxYUc8zCQaE7sIboXYis/4JmPUNZk0u0/CzPMFVJKI8T4LBzv9P9jyyb/s70pnMVo+P2QgdDfa6CmjUt7kuhu/pE9T5xahuxjTeoErOz1YlF1eRsJ9nHVPV6QeWy6g62GJweGj5eLICYOiaYZbLwnjS6hHOsB+6YynOd9bQ806U4uZXvAsA81I1WjVuj0Z4SRZdM6+c9bwIrAufFwE0Exk48z1rPM1AMH7JOpaWhvbAtQfS1it4czKanV/7+QcU37mG+M7ifeK/1t47caxAI9vKqw/HDIfUcjwiyF2umWhFspVke68S7vaz8UXvRMC8YQoq3TuakvKkXF7lDtQerM5Apeh233PrAO++mcP7fw==</diagram></mxfile> |  | ||||||
| Before Width: | Height: | Size: 62 KiB | 
| Before Width: | Height: | Size: 40 KiB | 
| Before Width: | Height: | Size: 540 B | 
| Before Width: | Height: | Size: 31 KiB | 
| Before Width: | Height: | Size: 762 B | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 40 KiB | 
| Before Width: | Height: | Size: 70 KiB | 
| Before Width: | Height: | Size: 106 KiB | 
| Before Width: | Height: | Size: 8.9 KiB | 
| Before Width: | Height: | Size: 15 KiB | 
| Before Width: | Height: | Size: 8.9 KiB | 
| Before Width: | Height: | Size: 2.6 KiB | 
| Before Width: | Height: | Size: 280 KiB | 
|  | @ -1 +0,0 @@ | ||||||
| <svg xmlns:xlink="http://www.w3.org/1999/xlink" width="26.136" xmlns="http://www.w3.org/2000/svg" height="27.392" id="screenshot-de3f5f2e-651c-801e-8003-497b6baebd5c" viewBox="-5.227 -1.305 26.136 27.392" style="-webkit-print-color-adjust: exact;" fill="none" version="1.1"><g id="shape-de3f5f2e-651c-801e-8003-497b6baebd5c" rx="0" ry="0"><g id="shape-de3f5f2e-651c-801e-8003-497abeb7e6e4"><g class="fills" id="fills-de3f5f2e-651c-801e-8003-497abeb7e6e4"><path d="M10.235777410044818,2.5312758605410863 h6.5 a1,1 0 0 1 1,1 v6 a0,0 0 0 1 0,0 h-8.5 a0,0 0 0 1 0,0 v-6 a1,1 0 0 1 1,-1 z" x="9.235777410044818" y="2.5312758605410863" transform="matrix(0.767072, 0.641561, -0.641561, 0.767072, 7.010645, -7.247096)" width="8.5" height="7" style="fill: rgb(155, 155, 155); fill-opacity: 1;"/></g></g><g id="shape-de3f5f2e-651c-801e-8003-497ad39f5ab2"><g class="fills" id="fills-de3f5f2e-651c-801e-8003-497ad39f5ab2"><rect rx="0" ry="0" x="14.469714467628762" y="5.386935461206235" transform="matrix(0.767072, 0.641561, -0.641561, 0.767072, 7.700937, -8.437069)" width="2" height="2" style="fill: rgb(235, 235, 235); fill-opacity: 1;"/></g></g><g id="shape-de3f5f2e-651c-801e-8003-497ad9b00fdb"><g class="fills" id="fills-de3f5f2e-651c-801e-8003-497ad9b00fdb"><rect rx="0" ry="0" x="11.78496225215207" y="3.141472136746529" transform="matrix(0.767072, 0.641561, -0.641561, 0.767072, 5.634982, -7.237668)" width="2.000000000000057" height="2.0000000000001137" style="fill: rgb(235, 235, 235); fill-opacity: 1;"/></g></g><g id="shape-de3f5f2e-651c-801e-8003-497aedbb68e1"><g class="fills" id="fills-de3f5f2e-651c-801e-8003-497aedbb68e1"><path d="M-1.725502478416331,7.459286392639228 h13.999999999999886 a0,0 0 0 1 0,0 v10 a6,6 0 0 1 -6,6 h-1.9999999999998863 a6,6 0 0 1 -6,-6 v-10 a0,0 0 0 1 0,0 z" x="-1.725502478416331" y="7.459286392639228" transform="matrix(0.767072, 0.641561, -0.641561, 0.767072, 11.146652, 0.216988)" width="13.999999999999886" height="16" style="fill: rgb(155, 155, 155); fill-opacity: 1;"/></g></g></g></svg> |  | ||||||
| Before Width: | Height: | Size: 2 KiB | 
| Before Width: | Height: | Size: 245 KiB | 
| Before Width: | Height: | Size: 168 KiB | 
| Before Width: | Height: | Size: 170 KiB |