/********************************************************* {COPYRIGHT-TOP} ***
* Licensed Materials - Property of IBM
* 5725-Z22, 5725-Z63, 5725-U33, 5725-Z63
*
* (C) Copyright IBM Corporation 2017
*
* All Rights Reserved.
* US Government Users Restricted Rights - Use, duplication or disclosure
* restricted by GSA ADP Schedule Contract with IBM Corp.
********************************************************** {COPYRIGHT-END} **/
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: local('Material Icons'), local('MaterialIcons-Regular'), url("../fonts/MaterialIcons-Regular.woff2") format('woff2'), url("../fonts/MaterialIcons-Regular.woff") format('woff'), url("../fonts/MaterialIcons-Regular.ttf") format('truetype');
}
.material-icons {
  direction: ltr;
  display: inline-block;
  font-family: 'Material Icons';
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
/* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  width: 1em;
  word-wrap: normal;
/* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
/* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
/* Support for IE. */
  font-feature-settings: 'liga';
}
.material-icons.smallIcon {
  font-size: 15px;
}
.material-icons.smallishIcon {
  font-size: 18px;
}
@font-face {
  font-family: 'Font Awesome';
  font-style: normal;
  font-weight: 400;
  src: local('Font Awesome'), local('fontawesome-webfont'), url("../fonts/fontawesome-webfont.woff2") format('woff2'), url("../fonts/fontawesome-webfont.woff") format('woff'), url("../fonts/fontawesome-webfont.ttf") format('truetype');
}
.fontawesome-icons {
  direction: ltr;
  display: inline-block;
  font-family: 'Font Awesome';
  font-size: 24px;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
/* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  width: 1em;
  word-wrap: normal;
/* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
/* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
/* Support for IE. */
  font-feature-settings: 'liga';
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: normal;
  font-weight: 200;
  src: local('IBM Helvetica'), local('helvetica-neue-light'), url("../fonts/helvetica-neue-light.woff2") format('woff2'), url("../fonts/helvetica-neue-light.woff") format('woff'), url("../fonts/helvetica-neue-light.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: italic;
  font-weight: 200;
  src: local('IBM Helvetica'), local('helvetica-neue-light-italic'), url("../fonts/helvetica-neue-light-italic.woff2") format('woff2'), url("../fonts/helvetica-neue-light-italic.woff") format('woff'), url("../fonts/helvetica-neue-light-italic.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: normal;
  font-weight: 300;
  src: local('IBM Helvetica'), local('helvetica-neue-light'), url("../fonts/helvetica-neue-light.woff2") format('woff2'), url("../fonts/helvetica-neue-light.woff") format('woff'), url("../fonts/helvetica-neue-light.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: italic;
  font-weight: 300;
  src: local('IBM Helvetica'), local('helvetica-neue-light-italic'), url("../fonts/helvetica-neue-light-italic.woff2") format('woff2'), url("../fonts/helvetica-neue-light-italic.woff") format('woff'), url("../fonts/helvetica-neue-light-italic.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: normal;
  font-weight: 400;
  src: local('IBM Helvetica'), local('helvetica-neue-roman'), url("../fonts/helvetica-neue-roman.woff2") format('woff2'), url("../fonts/helvetica-neue-roman.woff") format('woff'), url("../fonts/helvetica-neue-roman.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: italic;
  font-weight: 400;
  src: local('IBM Helvetica'), local('helvetica-neue-roman-italic'), url("../fonts/helvetica-neue-roman-italic.woff2") format('woff2'), url("../fonts/helvetica-neue-roman-italic.woff") format('woff'), url("../fonts/helvetica-neue-roman-italic.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: normal;
  font-weight: 700;
  src: local('IBM Helvetica'), local('helvetica-neue-bold'), url("../fonts/helvetica-neue-bold.woff2") format('woff2'), url("../fonts/helvetica-neue-bold.woff") format('woff'), url("../fonts/helvetica-neue-bold.ttf") format('truetype');
}
@font-face {
  font-family: 'IBM Helvetica';
  font-style: italic;
  font-weight: 700;
  src: local('IBM Helvetica'), local('helvetica-neue-bold-italic'), url("../fonts/helvetica-neue-bold-italic.woff2") format('woff2'), url("../fonts/helvetica-neue-bold-italic.woff") format('woff'), url("../fonts/helvetica-neue-bold-italic.ttf") format('truetype');
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwaW0vY3NzL2ZvbnRzLnN0eWwiLCIuLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvZmxleC5zdHlsIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0FBMENBO0VBL0JFLGFBQWEsaUJBQWI7RUFFRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFJRixLQUFpQiw4T0FBakI7O0FBMkJGO0VBeEJFLFdBQVcsSUFBWDtFQ0NFLFNBQVMsYUFBVDtFRENGLGFBQWEsaUJBQWI7RUFDQSxXQUFXLEtBQVg7RUFDQSxZQUFZLE9BQVo7RUFDQSxhQUFhLE9BQWI7RUFDQSxnQkFBZ0IsT0FBaEI7RUFDQSxhQUFhLEVBQWI7QUFDQTtFQUNBLGdCQUFnQixtQkFBaEI7RUFDQSxnQkFBZ0IsS0FBaEI7RUFDQSxhQUFhLE9BQWI7RUFDQSxPQUFPLElBQVA7RUFDQSxXQUFXLE9BQVg7QUFDQTtFQUNBLHdCQUF3QixZQUF4QjtBQUNBO0VBQ0EseUJBQXlCLFVBQXpCO0FBQ0E7RUFDQSx1QkFBdUIsT0FBdkI7O0FBUUE7RUFDRSxXQUFXLEtBQVg7O0FBRUY7RUFDRSxXQUFXLEtBQVg7O0FBRUo7RUEzQ0UsYUFBYSxlQUFiO0VBRUUsWUFBWSxPQUFaO0VBQ0EsYUFBYSxJQUFiO0VBSUYsS0FBaUIsb09BQWpCOztBQXVDRjtFQXBDRSxXQUFXLElBQVg7RUNDRSxTQUFTLGFBQVQ7RURDRixhQUFhLGVBQWI7RUFDQSxXQUFXLEtBQVg7RUFDQSxZQUFZLE9BQVo7RUFDQSxhQUFhLE9BQWI7RUFDQSxnQkFBZ0IsT0FBaEI7RUFDQSxhQUFhLEVBQWI7QUFDQTtFQUNBLGdCQUFnQixtQkFBaEI7RUFDQSxnQkFBZ0IsS0FBaEI7RUFDQSxhQUFhLE9BQWI7RUFDQSxPQUFPLElBQVA7RUFDQSxXQUFXLE9BQVg7QUFDQTtFQUNBLHdCQUF3QixZQUF4QjtBQUNBO0VBQ0EseUJBQXlCLFVBQXpCO0FBQ0E7RUFDQSx1QkFBdUIsT0FBdkI7O0FBb0JGO0VBakRFLGFBQWEsZ0JBQWI7RUFLRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFDRixLQUFpQix5T0FBakI7O0FBNkNGO0VBcERFLGFBQWEsZ0JBQWI7RUFFRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFJRixLQUFpQixxUUFBakI7O0FBZ0RGO0VBdkRFLGFBQWEsZ0JBQWI7RUFLRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFDRixLQUFpQix5T0FBakI7O0FBbURGO0VBMURFLGFBQWEsZ0JBQWI7RUFFRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFJRixLQUFpQixxUUFBakI7O0FBc0RGO0VBN0RFLGFBQWEsZ0JBQWI7RUFLRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFDRixLQUFpQix5T0FBakI7O0FBeURGO0VBaEVFLGFBQWEsZ0JBQWI7RUFFRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFJRixLQUFpQixxUUFBakI7O0FBNERGO0VBbkVFLGFBQWEsZ0JBQWI7RUFLRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFDRixLQUFpQixxT0FBakI7O0FBK0RGO0VBdEVFLGFBQWEsZ0JBQWI7RUFFRSxZQUFZLE9BQVo7RUFDQSxhQUFhLElBQWI7RUFJRixLQUFpQixpUUFBakIiLCJmaWxlIjoiYXBpbS9jc3MvZm9udHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiB7Q09QWVJJR0hULVRPUH0gKioqXG4qIExpY2Vuc2VkIE1hdGVyaWFscyAtIFByb3BlcnR5IG9mIElCTVxuKiA1NzI1LVoyMiwgNTcyNS1aNjMsIDU3MjUtVTMzLCA1NzI1LVo2M1xuKlxuKiAoQykgQ29weXJpZ2h0IElCTSBDb3Jwb3JhdGlvbiAyMDE3XG4qXG4qIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4qIFVTIEdvdmVybm1lbnQgVXNlcnMgUmVzdHJpY3RlZCBSaWdodHMgLSBVc2UsIGR1cGxpY2F0aW9uIG9yIGRpc2Nsb3N1cmVcbiogcmVzdHJpY3RlZCBieSBHU0EgQURQIFNjaGVkdWxlIENvbnRyYWN0IHdpdGggSUJNIENvcnAuXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIHtDT1BZUklHSFQtRU5EfSAqKi9cbmZvbnRGYWNlKCRuYW1lLCBmaWxlTmFtZSwgc3R5bGVPcldlaWdodCA9IG5vcm1hbCwgd2VpZ2h0ID0gNDAwKVxuICBmb250LWZhbWlseTogJG5hbWVcbiAgaWYgc3R5bGVPcldlaWdodCBpcyBhICdzdHJpbmcnIG9yIHN0eWxlT3JXZWlnaHQgaXMgYSAnaWRlbnQnXG4gICAgZm9udC1zdHlsZTogc3R5bGVPcldlaWdodFxuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHRcbiAgZWxzZVxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbFxuICAgIGZvbnQtd2VpZ2h0OiBzdHlsZU9yV2VpZ2h0XG4gIHNyYzogbG9jYWwoJG5hbWUpLCBsb2NhbChmaWxlTmFtZSksIHVybCguLi9mb250cy9maWxlTmFtZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLCB1cmwoLi4vZm9udHMvZmlsZU5hbWUud29mZikgZm9ybWF0KCd3b2ZmJyksIHVybCguLi9mb250cy9maWxlTmFtZS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKVxuXG5mb250Q2xhc3MobmFtZSlcbiAgZGlyZWN0aW9uOiBsdHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gIGZvbnQtZmFtaWx5OiBuYW1lXG4gIGZvbnQtc2l6ZTogMjRweFxuICBmb250LXN0eWxlOiBub3JtYWxcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsXG4gIGxpbmUtaGVpZ2h0OiAxXG4gIC8qIFN1cHBvcnQgZm9yIFNhZmFyaSBhbmQgQ2hyb21lLiAqL1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5XG4gIHRleHQtdHJhbnNmb3JtOiBub25lXG4gIHdoaXRlLXNwYWNlOiBub3dyYXBcbiAgd2lkdGg6IDFlbVxuICB3b3JkLXdyYXA6IG5vcm1hbFxuICAvKiBTdXBwb3J0IGZvciBhbGwgV2ViS2l0IGJyb3dzZXJzLiAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZFxuICAvKiBTdXBwb3J0IGZvciBGaXJlZm94LiAqL1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlXG4gIC8qIFN1cHBvcnQgZm9yIElFLiAqL1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJ1xuXG5AZm9udC1mYWNlXG4gIGZvbnRGYWNlKCdNYXRlcmlhbCBJY29ucycsICdNYXRlcmlhbEljb25zLVJlZ3VsYXInKVxuXG4ubWF0ZXJpYWwtaWNvbnNcbiAgZm9udENsYXNzKCdNYXRlcmlhbCBJY29ucycpXG5cbiAgJi5zbWFsbEljb25cbiAgICBmb250LXNpemU6IDE1cHhcblxuICAmLnNtYWxsaXNoSWNvblxuICAgIGZvbnQtc2l6ZTogMThweFxuXG5AZm9udC1mYWNlXG4gIGZvbnRGYWNlKCdGb250IEF3ZXNvbWUnLCAnZm9udGF3ZXNvbWUtd2ViZm9udCcpXG5cbi5mb250YXdlc29tZS1pY29uc1xuICBmb250Q2xhc3MoJ0ZvbnQgQXdlc29tZScpXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtbGlnaHQnLCAyMDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtbGlnaHQtaXRhbGljJywgaXRhbGljLCAyMDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtbGlnaHQnLCAzMDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtbGlnaHQtaXRhbGljJywgaXRhbGljLCAzMDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtcm9tYW4nLCA0MDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtcm9tYW4taXRhbGljJywgaXRhbGljLCA0MDApXG5cbkBmb250LWZhY2VcbiAgZm9udEZhY2UoJ0lCTSBIZWx2ZXRpY2EnLCAnaGVsdmV0aWNhLW5ldWUtYm9sZCcsIDcwMClcblxuQGZvbnQtZmFjZVxuICBmb250RmFjZSgnSUJNIEhlbHZldGljYScsICdoZWx2ZXRpY2EtbmV1ZS1ib2xkLWl0YWxpYycsIGl0YWxpYywgNzAwKVxuIiwiLypcbiAqIFZlbmRvciBcImRpc3BsYXk6IGZsZXhcIiBzdXBwb3J0IHdpdGggZmFsbGJhY2sgdG8gb2Jzb2xldGUgdmVyc2lvbnMuXG4gKi9cblxuZmxleC12ZXJzaW9uID89IGJveCBmbGV4XG5cbi8vXG4vLyAxLiBEaXNwbGF5IHZhbHVlc1xuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXgtY29udGFpbmVyc1xuLy9cbmRpc3BsYXkodHlwZSwgYXJncy4uLilcbiAgaWYgZmxleCA9PSB0eXBlIHx8IGlubGluZS1mbGV4ID09IHR5cGVcbiAgICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgICBpZiBmbGV4ID09IHR5cGVcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3ggYXJnc1xuICAgICAgICBkaXNwbGF5OiB2ZW5kb3ItdmFsdWUoYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgICBlbHNlXG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShpbmxpbmUtYm94IGFyZ3MsIG9ubHk6IG1veiB3ZWJraXQpXG4gICAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbCkgLy8gb3ZlcndyaXRlcyBvbGQgd2Via2l0XG4gIGVsc2VcbiAgICBkaXNwbGF5OiBhcmd1bWVudHNcblxuLypcbiAqIE5ldyBzeW50YXggZm9yIGJyb3dzZXJzIGxpa2UgR29vZ2xlIENocm9tZS5cbiAqIFBsdXMgYSB0cmFuc2xhdGlvbiB0byB0aGUgb2xkIHN5bnRheCwgaWYgcG9zc2libGUuXG4gKi9cblxuXG4vL1xuLy8gNS4gT3JkZXJpbmcgYW5kIE9yaWVudGF0aW9uXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jb3JkZXJpbmctYW5kLW9yaWVudGF0aW9uXG4vL1xuLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIGlmIHJvdy1yZXZlcnNlID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LWRpcmVjdGlvbicsIHJldmVyc2UsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgICBpZiByb3cgPT0gZGlyZWN0aW9uIHx8IHJvdy1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtb3JpZW50JywgaG9yaXpvbnRhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIGNvbHVtbiA9PSBkaXJlY3Rpb24gfHwgY29sdW1uLXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCB2ZXJ0aWNhbCwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIC8vIFdBUk46IHdyYXAtcmV2ZXJzZSBkb2VzIG5vdCBoYXZlIGEgYm94IGVxdWl2YWxlbnQuIFRoaXMgd2lsbCByZW5kZXIgaW4gZGlmZmVyZW50IG1hbm5lcnNcbiAgICAvLyAgICBvbiBib3ggdnMuIGZsZXggdmFsdWVzLlxuICAgIGlmICd3cmFwJyA9PSB2YWx1ZSB8fCB3cmFwLXJldmVyc2UgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgbXVsdGlwbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG4gICAgZWxzZSBpZiBub3dyYXAgPT0gdmFsdWVcbiAgICAgIHZlbmRvcignYm94LWxpbmVzJywgc2luZ2xlLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG5mbGV4LWRpcmVjdGlvbihkaXJlY3Rpb24pXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihkaXJlY3Rpb24pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LXdyYXAodmFsdWUpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAodmFsdWUpXG5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtd3JhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5mbGV4LWZsb3coKVxuICAvLyBvYnNvbGV0ZVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oYXJndW1lbnRzWzFdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1swXSlcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcChhcmd1bWVudHNbMV0pXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWZsb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG5vcmRlcigpXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1vcmRpbmFsLWdyb3VwJywgYXJndW1lbnRzLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1vcmRlcicsIGFyZ3VtZW50cywgb25seTogbXMpXG4gICAgdmVuZG9yKCdvcmRlcicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5cbi8vXG4vLyA3LiBGbGV4aWJpbGl0eVxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXhpYmlsaXR5XG4vL1xuZmxleC1ncm93KGdyb3d0aClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LWZsZXgnLCBncm93dGgpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWdyb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1iYXNpcygpXG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWJhc2lzJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgtc2hyaW5rKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmZsZXgoZ3Jvd3RoKVxuXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICBzaHJpbmsgPSAxXG5cbiAgICBpZiBub25lID09IGdyb3d0aCB8fCBpbml0aWFsID09IGdyb3d0aFxuICAgICAgLy8gV2VsbCBrbm93biB2YWx1ZXNcbiAgICAgIHNocmluayA9IDAgaWYgbm9uZSA9PSBncm93dGhcbiAgICAgIGdyb3d0aCA9IDBcbiAgICBlbHNlIGlmIGlzLXdpZHRoKGdyb3d0aCkgPT0gdHJ1ZVxuICAgICAgLy8gQmFzaXMgaXMgZGVmaW5lZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyXG4gICAgICBncm93dGggPSBhcmd1bWVudHNbMV0gfHwgMFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzJdIGlmIDMgPD0gbGVuZ3RoKGFyZ3VtZW50cylcbiAgICBlbHNlIGlmIGFyZ3VtZW50c1sxXSAmJiBpcy13aWR0aChhcmd1bWVudHNbMV0pID09IGZhbHNlXG4gICAgICAvLyBHcm93dGggaXMgZmlyc3QgYW5kIHNocmluayBpcyBzZWNvbmRcbiAgICAgIHNocmluayA9IGFyZ3VtZW50c1sxXVxuXG4gICAgLy8gU2luY2Ugd2UgY2FuJ3QgbWFrZSB0aGUgZGlzdGluY3Rpb24gYmV0d2VlbiBncm93aW5nIGFuZCBzaHJpbmtpbmcgaW4gdGhlIGJveCBtb2RlbCwgdGFrZVxuICAgIC8vIHRoZSBvbmUgdGhhdCBwcm92aWRlcyB0aGUgbW9zdCBmbGV4aWJpbGl0eS5cbiAgICB2ZW5kb3IoJ2JveC1mbGV4JywgbWF4KGdyb3d0aCwgc2hyaW5rKSwgaWdub3JlOiBtcylcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtcyBvZmZpY2lhbClcblxuXG4vLyBjb252ZXJ0cyB0aGUganVzdGlmaWNhdGlvbiBhbGlnbm1lbnRcbi1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pXG4gIGlmIGZsZXgtc3RhcnQgPT0gYWxpZ25cbiAgICByZXR1cm4gc3RhcnRcbiAgZWxzZSBpZiBmbGV4LWVuZCA9PSBhbGlnblxuICAgIHJldHVybiBlbmRcbiAgZWxzZSBpZiBzcGFjZS1hcm91bmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZGlzdHJpYnV0ZVxuICBlbHNlIGlmIHNwYWNlLWJldHdlZW4gPT0gYWxpZ25cbiAgICByZXR1cm4ganVzdGlmeVxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbi8vXG4vLyA4LiBBbGlnbm1lbnRcbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNhbGlnbm1lbnRcbi8vXG5qdXN0aWZ5LWNvbnRlbnQoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdqdXN0aWZ5LWNvbnRlbnQnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1jb250ZW50KGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBhZGp1c3RtZW50IGhlcmVcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtbGluZS1wYWNrJywgLWNvbnZlcnQtanVzdGlmeShhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24tY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbi8vIGNvbnZlcnRzIGFsaWdubWVudCBmcm9tICdmbGV4JyB0byBub3JtYWwgdmFsdWVcbi1jb252ZXJ0LWFsaWdubWVudChhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlXG4gICAgcmV0dXJuIGFsaWduXG5cbmFsaWduLWl0ZW1zKGFsaWduKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIG9ubHk6IG1zKVxuICAgIHZlbmRvcignYWxpZ24taXRlbXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuYWxpZ24tc2VsZihhbGlnbilcbiAgLy8gV0FSTjogT2Jzb2xldGUgc3BlYyBkb2VzIG5vdCBhbGxvdyBmb3Igb3ZlcnJpZGluZyBhbGlnbm1lbnQgb24gaW5kaXZpZHVhbCBpdGVtcy5cbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2FsaWduLXNlbGYnLCBhbGlnbiwgb25seTogd2Via2l0IG9mZmljaWFsKVxuICAgIHZlbmRvcignZmxleC1pdGVtLWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4iXX0= */
