Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
  • prez
2 results

Target

Select target project
  • vimazeno/blog.limos.fr
  • matrossevi/blog.limos.fr
  • borlonjo/blog.limos.fr
3 results
Select Git revision
  • master
1 result
Show changes
Showing
with 1749 additions and 0 deletions
## Vault en bref!
![vault](../cri/images/vault.png "vault")<!-- .element width="30%" -->
#### Des secrets, des apps, des tokens, des équipes, un séquestre
## Vault
* By HashiCorp
* [écrit en go](https://github.com/hashicorp/hcl)
* cross plateform
* [hcl](https://github.com/hashicorp/hcl)
* intégration avec [consul](https://www.consul.io) & [terraform](https://www.terraform.io/)
* [auditable](https://www.vaultproject.io/docs/commands/audit/enable.html)
* [documenté](https://www.vaultproject.io/docs/)
* ... couteau suisse
## Vault
* Un binaire [vault](https://releases.hashicorp.com/vault/) qui fait
* serveur
* [<i class="fa fa-book" aria-hidden="true"></i> api](https://www.vaultproject.io/api/overview)
* UI web
* cli
```shell
$ export $VAULT_ADDR=https://10.0.0.1
```
## Configuration
`/etc/vault/vault.hcl`
```
backend "file" {
path = "/var/lib/vault"
}
ui = true
disable_mlock = true
listener "tcp" {
address = "10.0.0.1:443"
tls_cert_file = "/etc/certs/vault.crt"
tls_key_file = "/etc/certs/vault.key"
tls_disable = 0
}
```
## initialisation SSS
### Shamir's Secret Sharing
```shell
$ vault operator init -key-shares=3 -key-threshold=2
```
```shell
Unseal Key 1: 6gAO3lmAhIaHzDAdkK256g2B2Dpeqy+z4jqQCJBID3d8
Unseal Key 2: TO7DDRQXSPC3IQylPEBPjPGAGAGMzjEkjT/FL62m7UUd
Unseal Key 3: CYfEbt83jYsQFcSErHT4Y5NCsrEtfFUE6tjQZKfP632K
Initial Root Token: s.78MykQO2b5qcy03rtoNwmhr1
Vault initialized with 3 key shares and a key threshold of 2. Please securely
distribute the key shares printed above. When the Vault is re-sealed,
restarted, or stopped, you must supply at least 2 of these keys to unseal it
before it can start servicing requests.
Vault does not store the generated master key. Without at least 2 key to
reconstruct the master key, Vault will remain permanently sealed!
```
## Authentification
!["authentification"](../cri/images/vault-auth.png "authentification")
## Authentification
par token
```shell
$ vault login token=<root-or-app-token>
```
equivalent à
```shell
$ export VAULT_TOKEN token=<root-or-app-token>
```
par ldap
```shell
$ vault login -method=ldap username=mazenovi
```
stocke le token dans `~/.vault-token` et `$VAULT_TOKEN`
## Policy (ACL)
```
path "cri/*" {
capabilities = ["create", "read", "update", "delete", "list"]
}
```
écriture
```shell
$ vault policy write cri `/etc/vault/cri.hcl`
```
application à un groupe ldap
```shell
$ vault write auth/ldap/groups/cri policies=cri
```
création de token à partir de la policy
```shell
$ vault token create -policy=cri
```
## [<i class="fa fa-book" aria-hidden="true"></i> Secrets engines](https://www.vaultproject.io/docs/secrets/)
!["secrets engines"](../cri/images/vault-secrets-engines.png "secrets engines")
## workflow
```shell
$ vault secrets list
$ vault kv list cri/
$ vault kv get cri/test
$ vault kv get -format=json cri/test
$ vault kv get -format=json cri/test | jq .data
$ vault kv get -format=json cri/test | jq .data.data.root
$ vault kv put cri/test password2=$(date | sha256sum)
$ vault kv patch cri/test password1=$(date | sha256sum)
$ vault delete cri/test
```
## avec ansible
* lookup natif [hashi_vault](https://docs.ansible.com/ansible/latest/plugins/lookup/hashi_vault.html)
* lecture uniquement
* pas de support natif pour kv2 à ce jour
* module "community" [hashivault](https://github.com/TerryHowe/ansible-modules-hashivault)
* Reading and Writing
* supporte kv2
* Initialization, Seal, and Unseal
* Policy
* User Management
## UI
!["UI"](../privacy/images/vault/web.png "UI")
!["carnets mots de passe"](../privacy/images/vault/password_management.jpg "carnets mots de passe")<!-- .element width="80%" -->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>my</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/my.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>openstack</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/openstack.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>pve</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/pve.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>aws</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/stack.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>terraform</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/terraform.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>users</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/users.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>vagrant</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/vagrant.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>vault</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/vault.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<h3>projets</h3>
<ul>
<li>
<a href="projets/profan-rgpd.html">Profan RGPD</a>
</li>
</ul>
<h3>privacy</h3>
<ul>
<li>
<a href="privacy/jnarac.html">je n'ai rien &agrave; cacher</a>
<ul>
<li><a href="1337/http.html">http</a></li>
<li><a href="privacy/sovereignty.html">souverainet&eacute;</a></li>
<li><a href="privacy/tracking.html">tracking</a></li>
<li><a href="privacy/passwords.html">mots de passes</a></li>
<li><a href="privacy/crypto.html">crypto</a></li>
<li><a href="privacy/tls.html">tls</a> / <a href="privacy/tls.html#/0/52">https</a></li>
<li><a href="privacy/pgp.html">pgp</a></li>
<li><a href="privacy/TLSvsPGP.html">tls vs PGP</a></li>
<li><a href="privacy/tor.html">tor</a></li>
<li><a href="privacy/tails.html">tails</a></li>
<li><a href="privacy/vault.html">vault</a></li>
<li><a href="privacy/bitcoin.html">bitcoin</a></li>
</ul>
</li>
<li><a href="privacy/surfer_couvert.html">surfer couvert (en bref)</a></li>
<li><a href="privacy/browser.html">s&eacute;curit&eacute; et navigateur</a></li>
</ul>
<h3>1337</h3>
<ul>
<li><a href="1337/sidoine.html">S&eacute;curit&eacute; des applications web</a></li>
</ul>
<ul>
<li>
Architecture
<ul>
<li><a href="1337/http.html">http</a> / <a href="privacy/tls.html#/0/52">https</a></li>
<li><a href="1337/js.html">JS</a></li>
</ul>
</li>
<li>
Pentesting
<ul>
<li><a href="1337/gathering.html">Collecter</a></li>
<li>
<a href="1337/detecting.html">D&eacute;tecter</a>
<ul>
<li><a href="1337/heartbleed.html">Heartbleed</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="1337/authentication.html">Authentification</a></li>
<li>
Vuln&eacute;rabilit&eacute;s communes
<ul>
<li>
<a href="1337/cmdi.html">Command execution</a>
<ul>
<li><a href="1337/shellshock.html">Shellshock</a></li>
</ul>
</li>
<li><a href="1337/upload.html">Upload</a></li>
<li><a href="1337/fi.html">File inclusion</a></li>
<li><a href="1337/xss.html">XSS</a></li>
<li><a href="1337/csrf.html">CSRF</a></li>
<li>
<a href="1337/sqli.html">SQLi</a>
<ul>
<li><a href="1337/drupalgeddon.html">Drupalgeddon</a></li>
</ul>
</li>
</ul>
</li>
<li>
Se prot&eacute;ger
<ul>
<li><a href="1337/top10.html">Top10</a></li>
<li><a href="1337/anticiper.html">Anticiper</a></li>
<li><a href="1337/reagir.html">R&eacute;agir</a></li>
</ul>
</li>
</ul>
<h3>cri</h3>
<ul>
<li><a href="cri/devops.html">devops</a></li>
<li><a href="cri/vagrant.html">vagrant</a></li>
<li><a href="cri/ansible.html">ansible</a></li>
<li><a href="cri/vault.html">vault</a></li>
<li><a href="cri/ansible-role.html">ansible role</a></li>
<li><a href="cri/pve.html">pve</a></li>
<li><a href="cri/terraform.html">terraform</a></li>
<li><a href="cri/stack.html">stack</a></li>
<li><a href="cri/gitlab.html">gitlab</a></li>
<li><a href="cri/my.html">my</a></li>
<li><a href="cri/openstack.html">openstack</a></li>
<li><a href="cri/criprod.html">criprod</a></li>
</ul>
.reveal section img {
border: none;
}
.reveal section h2 {
color: #2A76DD;
text-transform: uppercase;
text-shadow: -2px 4px 0 rgba(0, 0, 0, 0.3), 0 5px 10px rgba(0, 0, 0, 0.25), 0 20px 20px rgba(0, 0, 0, 0.15);
}
.reveal table {
margin: auto;
border-collapse: collapse;
border-spacing: 0;
}
.reveal table th {
font-weight: bold;
}
.reveal table th,
.reveal table td {
text-align: left;
padding: 0.2em 0.5em 0.2em 0.5em;
border-bottom: 1px solid;
}
reveal code {
background-color: gray;
}
.fa-circle-check {
color: green;
}
.fa-circle-xmark {
color: red;
}
.fa-bomb {
color: grey;
}
.fa-lightbulb {
color: yellow;
}
.fa-trophy {
color: yellow;
}
.fa-medkit {
color: pink;
}
.fa-triangle-exclamation {
color: orange;
}
.fa-cogs {
color:steelblue;
}
.fa-ice-cream {
color:tomato;
}
.fa-firefox-browser {
color: orange;
}
.fa-bullseye {
color:orangered
}
.fa-book-skull, .fa-screwdriver-wrench {
color: grey;
}
code:not([class]) {
background-color: darkgrey;
border-radius: 5px;
padding: 5px;
font-size: 80%;
color: white;
}
\ No newline at end of file
"use strict";
Reveal.addEventListener( "ready", (event) => {
let user = ''
if(document.location.href.indexOf("?") != -1) {
user = document.location.href.substring(
document.location.href.indexOf("?")+1,
document.location.href.indexOf("#")
);
}
console.log(user);
let as = document.getElementsByTagName("a");
for (let a of as) {
let link = a.href;
if(
a.classList == ''
&& a.href != ''
&& !a.href.includes('javascript:')
) {
//console.log(link);
let url = new URL(link);
if (
url.origin == "http://dv.wa"
&& user != ""
) {
a.href = "http://vm-" + user + ".local.isima.fr" + url.pathname + url.search;
a.innerHTML = "http://vm-" + user + ".local.isima.fr" + url.pathname + url.search;
a.target = "_blank";
}
}
}
for (let code of document.getElementsByTagName("code")) {
if (user != "") {
code.innerHTML = code.innerHTML.replaceAll("dv.wa", "vm-" + user + ".local.isima.fr");
}
}
});
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>TLS VS PGP</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/TLSvsPGP.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Bitcoin</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/bitcoin.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Sécurité / Navigateurs</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/browser.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>une contre histoire de l'utopie numérique - connaître le passé pour comprendre le présent</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<!-- link rel="stylesheet" href="../main.css" -->
<style>
.reveal section img, .reveal section table, .reveal section tr, .reveal section td, .reveal section th {
border: none;
}
.reveal section img {
box-shadow: none;
}
.reveal section.trsp {
background: rgba(0, 0, 0, 0.7);
}
.reveal section.bottom {
bottom: 0;
}
.reveal section.trsp > h1,
.reveal section.trsp > h2,
.reveal section.trsp > h3,
.reveal section.trsp > h4 {
color: white;
}
</style>
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/chun/index.md"
data-separator="^---$"
data-separator-vertical="^----$"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>Cryptologie</title>
<link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css">
<link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css">
<link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../main.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../../node_modules/reveal.js/css/print/pdf.css' : '../../node_modules/reveal.js/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-markdown="md/crypto.md"
data-separator="^\n\n\n"
data-separator-vertical="^\n\n"
data-separator-notes="^Note:"
data-charset="utf-8">
</section>
</div>
</div>
<script src="../../node_modules/reveal.js/lib/js/head.min.js"></script>
<script src="../../node_modules/reveal.js/js/reveal.js"></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: false,
dependencies: [
{ src: '../../node_modules/reveal.js/plugin/markdown/marked.js' },
{ src: '../../node_modules/reveal.js/plugin/markdown/markdown.js' },
{ src: '../../node_modules/reveal.js/plugin/notes/notes.js', async: true },
{ src: '../../node_modules/reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }
]
});
</script>
</body>
</html>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="382.59821"
height="226.3046"
id="svg11628">
<defs
id="defs11630">
<linearGradient
id="linearGradient5358">
<stop
id="stop5360"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7">
<stop
id="stop5360-5"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-5">
<stop
id="stop5360-6"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-2"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-6"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7-2">
<stop
id="stop5360-5-9"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-1"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-6"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7-3">
<stop
id="stop5360-5-5"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7-3-4">
<stop
id="stop5360-5-5-1"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-5"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7-3-4-2">
<stop
id="stop5360-5-5-1-4"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-7-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-5-9"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient5358-7-3-7">
<stop
id="stop5360-5-5-2"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient7748-5"
xlink:href="#linearGradient5358-7-3-4-2-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.81346207,0,0,0.10434411,118.31432,542.3863)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-4-2-0">
<stop
id="stop5360-5-5-1-4-1"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-7-7-4"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-5-9-7"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient7693-3"
xlink:href="#linearGradient5358-7-3-7-9"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-453.25052,542.42615)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-9">
<stop
id="stop5360-5-5-2-3"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-1"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-2"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient7693-9"
xlink:href="#linearGradient5358-7-3-7-3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-455.03446,754.69479)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-3">
<stop
id="stop5360-5-5-2-5"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-4"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-0"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient9901"
xlink:href="#linearGradient5358-7-3-7-3-5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-455.03446,780.69479)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-3-5">
<stop
id="stop5360-5-5-2-5-3"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-4-6"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-0-4"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient7693-9-2"
xlink:href="#linearGradient5358-7-3-7-3-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-455.03446,806.69479)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-3-7">
<stop
id="stop5360-5-5-2-5-33"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-4-1"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-0-1"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient7693-9-1"
xlink:href="#linearGradient5358-7-3-7-3-6"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-155.72194,754.69479)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-3-6">
<stop
id="stop5360-5-5-2-5-4"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-4-10"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-0-0"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
x1="558.55988"
y1="112.41524"
x2="618.26788"
y2="112.41524"
id="linearGradient9901-7"
xlink:href="#linearGradient5358-7-3-7-3-5-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.65798432,0,0,0.10434411,-155.72194,780.69479)"
spreadMethod="pad" />
<linearGradient
id="linearGradient5358-7-3-7-3-5-0">
<stop
id="stop5360-5-5-2-5-3-7"
style="stop-color:#ffffff;stop-opacity:0"
offset="0" />
<stop
id="stop5370-5-0-6-4-6-4"
style="stop-color:#ffffff;stop-opacity:1"
offset="0.5" />
<stop
id="stop5362-8-7-55-0-4-9"
style="stop-color:#ffffff;stop-opacity:1"
offset="1" />
</linearGradient>
</defs>
<metadata
id="metadata11633">
<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>
<g
transform="translate(393.56668,-432.0192)"
id="layer1">
<rect
width="382.59821"
height="226.3046"
ry="0.51150483"
x="-393.56668"
y="432.0192"
id="rect11224"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<g
transform="matrix(1.6972819,0,0,1.6972819,-454.60007,-789.45094)"
id="g10034">
<rect
width="95.684212"
height="101.01381"
ry="0.52024001"
x="103.37165"
y="734.50348"
id="rect2987-7-2-0-7"
style="color:#000000;fill:#ededed;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.03841686;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="109.59386"
y="748.55432"
id="text2989-6-8-9-6-0"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="109.59386"
y="748.55432"
id="tspan2991-4-4-6-7-1"
style="font-weight:bold;-inkscape-font-specification:Sans Bold">Transaction</tspan></text>
<g
transform="translate(0,-24.21875)"
id="g9701">
<rect
width="30.596146"
height="19.212435"
ry="0.4829534"
x="112.94212"
y="780.50037"
id="rect3777-9-15-5-7-0-2-9-5"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="127.83118"
y="793.76788"
id="text3779-6-2-6-0-6-4-8-6"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="127.83118"
y="793.76788"
id="tspan3783-2-5-5-1-6-7-9-7"
style="text-align:center;text-anchor:middle">In</tspan></text>
</g>
<g
transform="translate(9.375,-24.21875)"
id="g9706">
<rect
width="30.596146"
height="19.212435"
ry="0.4829534"
x="148.94212"
y="780.50037"
id="rect3777-9-15-5-7-0-2-1-0-5"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="163.83118"
y="793.76788"
id="text3779-6-2-6-0-6-4-3-6-8"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="163.83118"
y="793.76788"
id="tspan3783-2-5-5-1-6-7-3-4-1"
style="text-align:center;text-anchor:middle">Out</tspan></text>
</g>
<g
transform="translate(-3.4130859e-6,1.781249)"
id="g9701-9">
<rect
width="30.596146"
height="19.212435"
ry="0.4829534"
x="112.94212"
y="780.50037"
id="rect3777-9-15-5-7-0-2-9-5-1"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="127.83118"
y="793.76788"
id="text3779-6-2-6-0-6-4-8-6-7"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="127.83118"
y="793.76788"
id="tspan3783-2-5-5-1-6-7-9-7-2"
style="text-align:center;text-anchor:middle">In</tspan></text>
</g>
<g
transform="translate(9.3749966,1.781249)"
id="g9706-3">
<rect
width="30.596146"
height="19.212435"
ry="0.4829534"
x="148.94212"
y="780.50037"
id="rect3777-9-15-5-7-0-2-1-0-5-8"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="163.83118"
y="791.76788"
id="text3779-6-2-6-0-6-4-3-6-8-4"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="163.83118"
y="791.76788"
id="tspan3783-2-5-5-1-6-7-3-4-1-4"
style="text-align:center;text-anchor:middle">...</tspan></text>
</g>
<g
transform="translate(-3.4e-6,27.781249)"
id="g9701-9-9">
<rect
width="30.596146"
height="19.212435"
ry="0.4829534"
x="112.94212"
y="780.50037"
id="rect3777-9-15-5-7-0-2-9-5-1-3"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
x="127.83118"
y="791.76788"
id="text3779-6-2-6-0-6-4-8-6-7-6"
xml:space="preserve"
style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
x="127.83118"
y="791.76788"
id="tspan3783-2-5-5-1-6-7-9-7-2-0"
style="text-align:center;text-anchor:middle">...</tspan></text>
</g>
<path
d="m 57.193069,765.47889 52.523431,0"
id="path3814-6-7-1-92-17"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
d="m 189.15106,31.855574 -1.53093,-2.651651 -1.53093,-2.65165 3.06186,0 3.06186,0 -1.53093,2.65165 z"
transform="matrix(0,-1,1,0,81.23309,954.81387)"
id="path3816-0-5-6-90-9"
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
width="39.286938"
height="19.721823"
ry="0.086161181"
x="-87.510773"
y="756.56378"
transform="scale(-1,1)"
id="rect5356-5-5-7-1"
style="color:#000000;fill:url(#linearGradient7693-9);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
d="m 57.193077,791.53653 52.523433,0"
id="path3814-6-7-1-92-17-5"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
d="m 189.15106,31.855574 -1.53093,-2.651651 -1.53093,-2.65165 3.06186,0 3.06186,0 -1.53093,2.65165 z"
transform="matrix(0,-1,1,0,81.2331,980.81387)"
id="path3816-0-5-6-90-9-7"
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
width="39.286938"
height="19.721823"
ry="0.086161181"
x="-87.510773"
y="782.56378"
transform="scale(-1,1)"
id="rect5356-5-5-7-1-9"
style="color:#000000;fill:url(#linearGradient9901);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
d="m 57.193077,817.59417 52.523433,0"
id="path3814-6-7-1-92-17-1"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
d="m 189.15106,31.855574 -1.53093,-2.651651 -1.53093,-2.65165 3.06186,0 3.06186,0 -1.53093,2.65165 z"
transform="matrix(0,-1,1,0,81.2331,1006.8139)"
id="path3816-0-5-6-90-9-5"
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
width="39.286938"
height="19.721823"
ry="0.086161181"
x="-87.510773"
y="808.56378"
transform="scale(-1,1)"
id="rect5356-5-5-7-1-0"
style="color:#000000;fill:url(#linearGradient7693-9-2);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
d="m 241.72995,765.47776 -52.13508,0"
id="path3814-6-7-1-92-17-9"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<rect
width="39.286938"
height="19.721823"
ry="0.086161181"
x="211.80174"
y="756.56378"
id="rect5356-5-5-7-1-8"
style="color:#000000;fill:url(#linearGradient7693-9-1);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
d="m 241.72994,791.5953 -52.13507,0"
id="path3814-6-7-1-92-17-5-4"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<rect
width="39.286938"
height="19.721823"
ry="0.086161181"
x="211.80174"
y="782.56378"
id="rect5356-5-5-7-1-9-3"
style="color:#000000;fill:url(#linearGradient9901-7);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
</g>
</svg>