@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;600&family=Permanent+Marker&display=swap");
:root {
  --primary: #1976d2;
  --primary-txt: #fff;
  --accent: grey;
  --accent-txt: #fff;
  --base: #FFF;
  --base-text: #424242;
  --base-secondary-text: #636363;
  --link-secondary-text: #424242;
  --toc-text: var(--primary);
  --darken-1: rgba(0, 0, 0, .125);
  --darken-2: rgba(0, 0, 0, .25);
  --darken-3: rgba(0, 0, 0, .5);
  --lighten-1: hsla(0, 100%, 100%, .125);
  --lighten-2: hsla(0, 100%, 100%, .25);
  --lighten-3: hsla(0, 100%, 100%, .5);
  --color-hero: ghostwhite;
  --color-platium: #73737a;
  --color-gold: #b7935b;
  --color-error: firebrick;
  --space-1: .125rem;
  --space-2: .25rem;
  --space-3: .5rem;
  --space-4: 1rem;
  --theJdrSize: 1100px;
  --block-text-max-width: 60rem;
  --breakpoint-sm: 34.375rem;
  --breakpoint-md: 45rem;
  --breakpoint-lg: 60rem;
  --breakpoint-xl: 71.25rem;
  --container-margin: 10vw;
  --container-margin-mobile: 3vw;
  --toolbar-height: 3.25rem;
  --font-family: 'Roboto', sans-serif;
  /* Tags */
  /*from https://github.com/d3/d3-scale-chromatic#schemePastel2*/
  --tag1: #b3e2cd;
  --tag2: #fdcdac;
  --tag3: #cbd5e8;
  --tag4: #f4cae4;
  --tag5: #e6f5c9;
  --tag6: #fff2ae;
  --tag7: #f1e2cc;
  --tag8: #cccccc;
  --native-mobile-apps: var(--tag2);
  --web: var(--tag6);
  --method-tools: var(--tag5);
  --big-data-ml-ai: var(--tag3);
  --iot: var(--tag8);
  --cloud: var(--tag4);
  --languages: var(--tag1);
  --wtf: var(--tag7);
  --general: var(--tag8);
  --office-hours: floralwhite;
  --keynote: paleturquoise;
  /* Jumbo section */
  --jumbo-logo-width: 800px;
  --jumbo-overlay-opacity: 0.6;
  /* Partners */
  --partner-support-height: 60px;
  --partner-platinum-height: calc(var(--partner-support-height) * 3);
  --partner-gold-height: calc(var(--partner-support-height) * 2);
  --animation: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --extruded-dark: 1px 0 0 var(--darken-3);
  --extruded-light: 1px 0 0 var(--lighten-3);
  --box-shadow-1: 0 0 2px 0 rgba(0, 0, 0, 0.07), 0 2px 2px 0 rgba(0, 0, 0, 0.15);
  --box-shadow-2: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
  /* Mark */
  --fg-mark-a: white;
  --bg-mark-a: #fb2c17;
  --fg-mark-b: black;
  --bg-mark-b: #ffcc00;
  --fg-mark-t2: white;
  --bg-mark-t2: #11a7e0;
  /* Schedule */
  --base-grid-height: 4.5em;
  /* Footer */
  --footer-bg: #222;
  --footer-fg: #8a8a8a;
}

@media (prefers-color-scheme: dark) {
  :root {
    --base: #222;
    --base-text: #ddd;
    --primary: #0d47a1;
    --toc-text: #64b5f6;
    --color-hero: #181818;
    --lighten-1: rgba(0, 0, 0, .125);
    --lighten-2: rgba(0, 0, 0, .25);
    --lighten-3: rgba(0, 0, 0, .5);
    --darken-1: hsla(0, 100%, 100%, .125);
    --darken-2: hsla(0, 100%, 100%, .25);
    --darken-3: hsla(0, 100%, 100%, .5);
    --footer-bg: #000;
    --footer-fg: #777;
  }
}

html {
  box-sizing: border-box;
  font-family: var(--font-family);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--darken-2);
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

*:focus {
  outline: thin dotted var(--darken-3);
  outline-offset: var(--space-1);
}

body {
  background: var(--base);
  color: var(--base-text);
  margin: var(--toolbar-height) 0 0;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--toolbar-height));
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: normal;
}

hr {
  border-color: var(--darken-1);
  opacity: .25;
}

p {
  line-height: 1.25;
}

a, a:visited {
  color: inherit;
  text-decoration: none;
}

.content a, .content a:visited {
  color: var(--toc-text);
}

.language.english::before {
  content: '🇬🇧';
}

.visually-hidden {
  /* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility */
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

body > main > section.container, body > header.container, body > footer.container {
  padding: 4rem var(--container-margin);
}

body > main {
  flex-grow: 1;
}

body > main > section {
  margin: 2rem var(--container-margin);
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 44.99em) {
  body > main > section {
    margin: 1rem;
  }
}

body > main > section.primary {
  background-color: var(--primary);
  color: var(--primary-txt);
}

body > main > section.accent {
  background-color: var(--accent);
  color: var(--accent-txt);
}

button,
a.btn, span.btn,
input[type=button], input[type=reset], input[type=submit] {
  display: inline-flex;
  align-items: center;
  border: thin solid var(--darken-3);
  background: var(--darken-1);
  padding: var(--space-3);
  color: inherit;
  text-transform: uppercase;
  text-decoration: none;
  font-size: .875rem;
  font-weight: 100;
  cursor: pointer;
  text-shadow: var(--extruded-light);
  --focus-color: var(--darken-1);
  --active-color: var(--darken-1);
}

button.btn-lg,
a.btn.btn-lg, span.btn.btn-lg,
input[type=button].btn-lg, input[type=reset].btn-lg, input[type=submit].btn-lg {
  padding: .5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: .3rem;
}

button.primary,
a.btn.primary, span.btn.primary,
input[type=button].primary, input[type=reset].primary, input[type=submit].primary {
  background-color: var(--primary);
  color: var(--primary-txt);
  text-shadow: var(--extruded-dark);
  --focus-color: var(--lighten-1);
  --active-color: var(--lighten-1);
}

button.btn-icon-only,
a.btn.btn-icon-only, span.btn.btn-icon-only,
input[type=button].btn-icon-only, input[type=reset].btn-icon-only, input[type=submit].btn-icon-only {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lighten-1);
  border-radius: 50%;
  margin-left: 1ch;
  padding: var(--space-2);
  border-color: transparent;
}

button.btn-icon-only .icon,
a.btn.btn-icon-only .icon, span.btn.btn-icon-only .icon,
input[type=button].btn-icon-only .icon, input[type=reset].btn-icon-only .icon, input[type=submit].btn-icon-only .icon {
  margin: var(--space-2);
  --size: 1.5rem;
  width: var(--size, 1.5rem);
  height: var(--size, 1.5rem);
  display: inline-block;
  content: '';
  background-repeat: no-repeat;
}

button:hover, button:focus,
a.btn:hover,
a.btn:focus, span.btn:hover, span.btn:focus,
input[type=button]:hover,
input[type=button]:focus, input[type=reset]:hover, input[type=reset]:focus, input[type=submit]:hover, input[type=submit]:focus {
  background-image: linear-gradient(to right, var(--focus-color), var(--focus-color) 100%);
  text-decoration: none;
}

button .icon,
a.btn .icon, span.btn .icon,
input[type=button] .icon, input[type=reset] .icon, input[type=submit] .icon {
  --size: 1rem;
  width: var(--size, 1rem);
  height: var(--size, 1rem);
}

form:invalid button,
button[aria-disabled],
a.btn[aria-disabled],
span.btn[aria-disabled] {
  opacity: .5;
  cursor: not-allowed;
  filter: grayscale(100%);
}

a.goto-top {
  position: fixed;
  display: flex;
  bottom: 2em;
  right: 2em;
  width: 1em;
  height: 1em;
  justify-content: center;
  border: 0.75em solid var(--primary);
  align-items: center;
  font-size: 200%;
  background-color: var(--primary);
  color: var(--primary-txt);
  border-radius: 50%;
}

@media (prefers-color-scheme: dark) {
  button,
  a.btn, span.btn,
  input[type=button], input[type=reset], input[type=submit] {
    background: none;
  }
}

.icon {
  --size: 1em;
  height: var(--size, 1em);
  min-width: var(--size, 1em);
  display: inline-block;
  background-repeat: no-repeat;
  margin-right: var(--space-1);
}

a .icon.icon-subscribe, a .icon.icon-email, a .icon.icon-calendar, a .icon.icon-pdf {
  margin-right: var(--space-3);
}

a .icon.icon-right {
  margin-left: var(--space-3);
}

body > header {
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100vw;
  box-shadow: 0 var(--space-1) var(--space-1) rgba(0, 0, 0, 0.5);
  background: var(--primary);
  color: var(--primary-txt);
}

body > header .top-content {
  max-width: var(--theJdrSize);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

body > header .logo {
  padding: var(--space-2) 0;
}

body > header .logo img {
  height: calc(var(--toolbar-height) - (2 * var(--space-2)));
  filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.5));
}

body > header label {
  display: none;
  opacity: .5;
  padding: .1em;
  border: var(--space-2) solid transparent;
  outline-offset: var(--space-2);
}

body > header label .icon {
  --size: 1.5rem;
  height: var(--size, 1.5rem);
  width: var(--size, 1.5rem);
}

body > header label .icon-menu {
  display: block;
}

body > header label .icon-close {
  display: none;
}

body > header label:hover, body > header label:focus {
  opacity: 1;
  outline: thin dotted currentColor;
}

body > header input[type=checkbox]:checked ~ label .icon-menu {
  display: none;
}

body > header input[type=checkbox]:checked ~ label .icon-close {
  display: block;
}

body > header nav {
  display: flex;
  align-items: stretch;
  align-self: stretch;
}

body > header nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: stretch;
}

body > header nav li {
  opacity: 0.6;
  transition: all var(--animation);
  border-bottom: thin solid transparent;
  border-radius: 5%;
  margin-right: var(--space-2);
  display: flex;
  align-items: center;
  --angle: 10deg;
  transform: skewX(calc(-1 * var(--angle)));
}

body > header nav li a {
  transform: skewX(var(--angle));
}

body > header nav li.active {
  opacity: 1;
}

body > header nav li.active a {
  border-bottom: thin solid currentColor;
}

body > header nav li.external {
  opacity: 1;
  background: rgba(0, 0, 0, 0.25);
}

body > header nav a {
  display: block;
  text-transform: uppercase;
  padding: 0 var(--space-3);
  text-decoration: none;
  line-height: calc(var(--toolbar-height) - (4 * var(--space-2)));
  color: inherit;
  font-weight: 200;
}

body > header nav a svg {
  max-width: 3ch;
}

body > header nav nav a:focus, body > header nav nav a:hover {
  text-shadow: var(--extruded-dark);
  opacity: 0.75;
}

body > header nav .languages a.lang {
  color: transparent;
  max-width: 2em;
  height: 2em;
  overflow: hidden;
}

body > header nav .languages a.lang::before {
  color: initial;
}

body > header nav .languages a.lang.lang-fr::before {
  content: '🇫🇷';
}

body > header nav .languages a.lang.lang-gb::before {
  content: '🇬🇧';
}

body > header nav .languages a.active {
  display: none;
}

@media (max-width: 71.24em) {
  body > header {
    flex-wrap: wrap;
  }
  body > header label {
    display: block;
  }
  body > header nav {
    display: none;
    width: 100%;
    padding: 0 1em;
    background: var(--primary);
    flex-direction: column;
    justify-content: flex-start;
  }
  body > header nav ul {
    flex-direction: column;
  }
  body > header nav ul li {
    transform: none;
  }
  body > header nav ul li a {
    transform: none;
  }
  body > header nav a {
    padding: var(--space-2) 0;
    width: 100%;
  }
  body > header nav a.active {
    border-bottom-width: thin;
    border-bottom-color: var(--lighten-2);
  }
  body > header nav a:focus, body > header nav a:hover {
    background: var(--darken-1);
  }
  body > header input[type=checkbox]:checked ~ nav {
    display: block;
  }
}

body > footer {
  background-color: var(--footer-bg);
  color: var(--footer-fg);
  font-weight: 200;
  padding: 0.5em 1em;
}

body > footer .bottom-content {
  max-width: var(--theJdrSize);
  margin: 0 auto;
}

body > footer a:hover {
  text-decoration: underline;
}

body > footer .footer-header {
  display: flex;
  justify-content: space-between;
  font-weight: 500;
  flex-wrap: wrap;
  text-transform: uppercase;
}

body > footer .footer-header .header {
  margin-right: var(--space-2);
}

body > footer .footer-header > div {
  display: flex;
  align-items: center;
}

body > footer .footer-header > div ul.social-list {
  font-size: 1.5em;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  align-items: center;
}

body > footer .footer-header > div ul.social-list li {
  display: inline-block;
  padding: var(--space-2);
  margin-right: var(--space-3);
}

body > footer .footer-header .follow a.social {
  opacity: 0.75;
  filter: grayscale(1);
  transition: filter var(--animation);
}

body > footer .footer-header .follow a.social:hover, body > footer .footer-header .follow a.social:focus {
  opacity: 1;
  filter: grayscale(0);
}

body > footer .footer-header .blog {
  display: none;
}

body > footer .footer-header .blog a {
  text-decoration: underline;
}

body > footer .footer-header .email a {
  display: flex;
  align-items: center;
}

body > footer .footer-header .email a .icon {
  width: 1em;
  height: 1em;
}

body > footer .footer-content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

body > footer .footer-content section {
  margin: var(--space-2) var(--space-4);
}

@media (max-width: 44.99em) {
  body > footer .footer-content section {
    margin: var(--space-2) 0;
  }
}

body > footer .footer-content section:first-child {
  margin-left: 0;
}

body > footer .footer-content section:last-child {
  margin-right: 0;
}

body > footer .footer-content section .header {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: var(--space-2);
}

body > footer .footer-content section ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: var(--space-1) 0;
  font-weight: 100;
}

body > footer .footer-content section ul li {
  margin: var(--space-2) 0;
}

body > footer .footer-content section ul li a {
  padding: var(--space-3) 0;
}

body > footer .footer-footer {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media (max-width: 44.99em) {
  body > footer .footer-footer {
    flex-direction: column;
    align-items: start;
  }
  body > footer .footer-footer > * {
    margin: var(--space-2) 0;
  }
}

body > footer .footer-footer img {
  height: 2rem;
  width: auto;
}

@media (prefers-color-scheme: dark) {
  .follow a.social {
    filter: grayscale(0.75);
  }
}

a.social {
  display: inline-flex;
  margin: var(--space-1);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  align-items: center;
  text-decoration: none;
  width: 1em;
  overflow: hidden;
}

a.social:focus, a.social:hover {
  text-decoration: underline;
}

#TableOfContents ul {
  padding-left: 1em;
  list-style: none;
}

#TableOfContents ul li {
  font-size: 1rem;
  margin: var(--space-1) 0;
  padding: var(--space-1) 0;
}

#TableOfContents ul li a {
  color: var(--toc-text);
  text-decoration: none;
}

#TableOfContents ul li a:focus, #TableOfContents ul li a:hover {
  text-decoration: underline;
}

#TableOfContents > ul > li > ul > li > a {
  font-weight: bold;
}

.hero h1 {
  padding: 2rem var(--container-margin);
}

.hero .description {
  padding: 2rem var(--container-margin);
  background: var(--color-hero);
  border-top: thin solid var(--darken-1);
  border-bottom: thin solid var(--darken-1);
}

@media (max-width: var(--breakpoint-lg)) {
  .section.blog main > section {
    margin: 2rem var(--container-margin-mobile);
  }
}

.section.blog main h1, .section.blog main .blogs {
  max-width: var(--theJdrSize);
  margin: 0 auto;
}

.section.blog .blogs a.blog-links {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
}

.section.blog .blogs a.blog {
  text-decoration: none;
  padding: var(--space-4);
  border-radius: var(--space-3);
  display: flex;
  color: inherit;
  border-bottom: thin solid var(--darken-1);
}

@media (max-width: 44.99em) {
  .section.blog .blogs a.blog {
    padding: var(--space-2);
  }
}

.section.blog .blogs a.blog .img {
  display: inline-block;
  background-position: center center;
  background-size: cover;
  --size: 16rem;
  flex: 0 0 var(--size, 16rem);
  height: var(--size, 16rem);
  width: var(--size, 16rem);
  border-radius: var(--space-2);
  overflow: hidden;
}

.section.blog .blogs a.blog .img > * {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.section.blog .blogs a.blog .info {
  flex: 1 1 auto;
  margin-left: var(--space-4);
  justify-content: center;
}

.section.blog .blogs a.blog .info h2 {
  margin: var(--space-3) 0;
}

.section.blog .blogs a.blog .info .reading {
  align-self: flex-end;
}

.section.blog .blogs a.blog .info .reading::after {
  content: ' min.';
}

.section.blog .blogs a.blog .info .date {
  align-self: flex-start;
  color: var(--base-secondary-text);
}

.section.blog .blogs a.blog .info p {
  line-height: 1.75;
}

@media (max-width: 59.99em) {
  .section.blog .blogs a {
    grid-template-rows: auto 1fr;
    grid-template-columns: auto;
  }
  .section.blog .blogs a .img {
    width: 100%;
  }
}

@media (max-width: 33.74em) {
  .section.blog .blogs a.blog {
    display: block;
  }
  .section.blog .blogs a.blog .img {
    display: none;
  }
}

@media (max-width: 59.99em) {
  .section.blog .blogs a.blog {
    display: block;
  }
  .section.blog .blogs a.blog .img {
    --size: 8rem;
    float: left;
    margin-right: .5em;
  }
}

:root {
  --primary: #000;
  --primary-txt: #fff;
  --accent: #593a9f;
  --accent-txt: #fff;
  --color-hero: var(--base);
  --base: #FFF;
  --base-text: #424242;
  --base-secondary-text: #593a9f;
  --link-secondary-text: #593a9f;
  --jumbo-overlay-opacity: 0.5;
}

@media (prefers-color-scheme: dark) {
  :root {
    --base: #FFF;
    --base-text: #424242;
    --primary: #000;
    --toc-text: var(--primary);
    --color-hero: var(--base);
    --darken-1: rgba(0, 0, 0, .125);
    --darken-2: rgba(0, 0, 0, .25);
    --darken-3: rgba(0, 0, 0, .5);
    --lighten-1: hsla(0, 100%, 100%, .125);
    --lighten-2: hsla(0, 100%, 100%, .25);
    --lighten-3: hsla(0, 100%, 100%, .5);
    --footer-bg: #222;
    --footer-fg: #8a8a8a;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Oswald', 'Roboto', sans-serif;
  text-align: left !important;
}

body > header nav a {
  font-family: 'Oswald', 'Roboto', sans-serif;
  font-weight: 400;
}

body > header nav li {
  opacity: 1.0;
}

section h1.fancy, section h2.fancy, section h3.fancy, section h4.fancy, section h5.fancy, section h6.fancy {
  text-align: center !important;
}

p {
  line-height: 1.4;
  text-align: left;
}

* {
  text-shadow: none !important;
}

.content a:visited {
  color: var(--accent);
}

a, a:visited {
  text-decoration: underline;
}

a.btn {
  font-weight: 600;
  padding: var(--space-4);
  margin: var(--space-3);
}

a.btn.primary {
  font-family: 'Oswald', 'Roboto', sans-serif;
  background-color: var(--accent);
  color: var(--base) !important;
  font-size: 1.5rem;
}

a.btn.primary .icon {
  --size: 1.25rem;
  margin: 5px;
}

main img {
  width: 100%;
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3JjL3N0eWxlcy9ibG9nLXNlY3Rpb24uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzcmMvc3R5bGVzL2Jsb2ctc2VjdGlvbi5zY3NzIiwKCQkidGhlbWVzL2RldmZlc3QtdGhlbWUtaHVnby0yMDIwL3NyYy9zdHlsZXMvX3Jvb3Quc2NzcyIsCgkJInRoZW1lcy9kZXZmZXN0LXRoZW1lLWh1Z28tMjAyMC9zcmMvc3R5bGVzL192YXJpYWJsZXMuc2NzcyIsCgkJIm5vZGVfbW9kdWxlcy9zYXNzLW1xL19tcS5zY3NzIiwKCQkidGhlbWVzL2RldmZlc3QtdGhlbWUtaHVnby0yMDIwL3NyYy9zdHlsZXMvcGFydGlhbHMvX2Jhc2Uuc2NzcyIsCgkJInRoZW1lcy9kZXZmZXN0LXRoZW1lLWh1Z28tMjAyMC9zcmMvc3R5bGVzL3BhcnRpYWxzL19tYWluLnNjc3MiLAoJCSJ0aGVtZXMvZGV2ZmVzdC10aGVtZS1odWdvLTIwMjAvc3JjL3N0eWxlcy9wYXJ0aWFscy9fYnV0dG9ucy5zY3NzIiwKCQkidGhlbWVzL2RldmZlc3QtdGhlbWUtaHVnby0yMDIwL3NyYy9zdHlsZXMvcGFydGlhbHMvX2ljb25zLnNjc3MiLAoJCSJ0aGVtZXMvZGV2ZmVzdC10aGVtZS1odWdvLTIwMjAvc3JjL3N0eWxlcy9wYXJ0aWFscy9faGVhZGVyLnNjc3MiLAoJCSJ0aGVtZXMvZGV2ZmVzdC10aGVtZS1odWdvLTIwMjAvc3JjL3N0eWxlcy9wYXJ0aWFscy9fZm9vdGVyLnNjc3MiLAoJCSJ0aGVtZXMvZGV2ZmVzdC10aGVtZS1odWdvLTIwMjAvc3JjL3N0eWxlcy9wYXJ0aWFscy9fc29jaWFscy5zY3NzIiwKCQkidGhlbWVzL2RldmZlc3QtdGhlbWUtaHVnby0yMDIwL3NyYy9zdHlsZXMvcGFydGlhbHMvX3RhYmxlX29mX2NvbnRlbnRzLnNjc3MiLAoJCSJ0aGVtZXMvZGV2ZmVzdC10aGVtZS1odWdvLTIwMjAvc3JjL3N0eWxlcy9wYXJ0aWFscy9faGVyby5zY3NzIiwKCQkidGhlbWVzL2RldmZlc3QtdGhlbWUtaHVnby0yMDIwL3NyYy9zdHlsZXMvcGFnZXMvX2Jsb2dzLnNjc3MiLAoJCSJzcmMvc3R5bGVzL2JzaWRlc3Rsdi5zY3NzIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIjtBY0FBLE9BQU8sQ0FBQyw0R0FBSTtBYkFaLEFBQUEsS0FBSyxDQUFDO0VBQ0osU0FBUyxDQUFBLFFBQUM7RUFDVixhQUFhLENBQUEsS0FBQztFQUdkLFFBQVEsQ0FBQSxLQUFDO0VBQ1QsWUFBWSxDQUFBLEtBQUM7RUFFYixNQUFNLENBQUEsS0FBQztFQUNQLFdBQVcsQ0FBQSxRQUFDO0VBQ1oscUJBQXFCLENBQUEsUUFBQztFQUN0QixxQkFBcUIsQ0FBQSxRQUFDO0VBQ3RCLFVBQVUsQ0FBQSxlQUFDO0VBRVgsVUFBVSxDQUFBLG9CQUFDO0VBQ1gsVUFBVSxDQUFBLG1CQUFDO0VBQ1gsVUFBVSxDQUFBLGtCQUFDO0VBRVgsV0FBVyxDQUFBLDBCQUFDO0VBQ1osV0FBVyxDQUFBLHlCQUFDO0VBQ1osV0FBVyxDQUFBLHdCQUFDO0VBRVosWUFBWSxDQUFBLFdBQUM7RUFFYixlQUFlLENBQUEsUUFBQztFQUNoQixZQUFZLENBQUEsUUFBQztFQUNiLGFBQWEsQ0FBQSxVQUFDO0VBRWQsU0FBUyxDQUFBLFFBQUM7RUFDVixTQUFTLENBQUEsT0FBQztFQUNWLFNBQVMsQ0FBQSxNQUFDO0VBQ1YsU0FBUyxDQUFBLEtBQUM7RUFFVixZQUFZLENBQUEsT0FBQztFQUNiLHNCQUFzQixDQUFBLE1BQUM7RUFFdkIsZUFBZSxDQUFBLFVBQUM7RUFDaEIsZUFBZSxDQUFBLE1BQUM7RUFDaEIsZUFBZSxDQUFBLE1BQUM7RUFDaEIsZUFBZSxDQUFBLFNBQUM7RUFFaEIsa0JBQWtCLENBQUEsS0FBQztFQUNuQix5QkFBeUIsQ0FBQSxJQUFDO0VBQzFCLGdCQUFnQixDQUFBLFFBQUM7RUFFakIsYUFBYSxDQUFBLHFCQUFDO0VBRWQsVUFBVTtFQUNWLCtEQUErRDtFQUMvRCxNQUFNLENBQUEsUUFBQztFQUNQLE1BQU0s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 */