<!DOCTYPE html><html><head>
  <meta charset="utf-8">
  <title>Dart VM Observatory</title>
  
  
  
  
  
  
  
</head>
<body><script src="packages/web_components/platform.js"></script>

<!-- unminfied for debugging:
<link rel="import" href="src/js/polymer/layout.html">
<script src="src/js/polymer/polymer.concat.js"></script>
-->



<style shim-shadowdom="">
/*******************************
          Flex Layout
*******************************/

html /deep/ [layout][horizontal], html /deep/ [layout][vertical] {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

html /deep/ [layout][horizontal][inline], html /deep/ [layout][vertical][inline] {
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

html /deep/ [layout][horizontal] {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

html /deep/ [layout][horizontal][reverse] {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

html /deep/ [layout][vertical] {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

html /deep/ [layout][vertical][reverse] {
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

html /deep/ [layout][wrap] {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

html /deep/ [layout][wrap-reverse] {
  -ms-flex-wrap: wrap-reverse;
  -webkit-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

html /deep/ [flex] {
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

html /deep/ [flex][auto] {
  -ms-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
}

html /deep/ [flex][none] {
  -ms-flex: none;
  -webkit-flex: none;
  flex: none;
}

html /deep/ [flex][one] {
  -ms-flex: 1;
  -webkit-flex: 1;
  flex: 1;
}

html /deep/ [flex][two] {
  -ms-flex: 2;
  -webkit-flex: 2;
  flex: 2;
}

html /deep/ [flex][three] {
  -ms-flex: 3;
  -webkit-flex: 3;
  flex: 3;
}

html /deep/ [flex][four] {
  -ms-flex: 4;
  -webkit-flex: 4;
  flex: 4;
}

html /deep/ [flex][five] {
  -ms-flex: 5;
  -webkit-flex: 5;
  flex: 5;
}

html /deep/ [flex][six] {
  -ms-flex: 6;
  -webkit-flex: 6;
  flex: 6;
}

html /deep/ [flex][seven] {
  -ms-flex: 7;
  -webkit-flex: 7;
  flex: 7;
}

html /deep/ [flex][eight] {
  -ms-flex: 8;
  -webkit-flex: 8;
  flex: 8;
}

html /deep/ [flex][nine] {
  -ms-flex: 9;
  -webkit-flex: 9;
  flex: 9;
}

html /deep/ [flex][ten] {
  -ms-flex: 10;
  -webkit-flex: 10;
  flex: 10;
}

html /deep/ [flex][eleven] {
  -ms-flex: 11;
  -webkit-flex: 11;
  flex: 11;
}

html /deep/ [flex][twelve] {
  -ms-flex: 12;
  -webkit-flex: 12;
  flex: 12;
}

/* alignment in cross axis */

html /deep/ [layout][start] {
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

html /deep/ [layout][center] {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

html /deep/ [layout][end] {
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

/* alignment in main axis */

html /deep/ [layout][start-justified] {
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

html /deep/ [layout][center-justified] {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

html /deep/ [layout][end-justified] {
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

html /deep/ [layout][around-justified] {
  -ms-flex-pack: around;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

html /deep/ [layout][justified] {
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

/* self alignment */

html /deep/ [self-start] {
  -ms-align-self: flex-start;
  -webkit-align-self: flex-start;
  align-self: flex-start;
}

html /deep/ [self-center] {
  -ms-align-self: center;
  -webkit-align-self: center;
  align-self: center;
}

html /deep/ [self-end] {
  -ms-align-self: flex-end;
  -webkit-align-self: flex-end;
  align-self: flex-end;
}

html /deep/ [self-stretch] {
  -ms-align-self: stretch;
  -webkit-align-self: stretch;
  align-self: stretch;
}

/*******************************
          Other Layout
*******************************/

html /deep/ [block] {
  display: block;
}

/* ie support for hidden */
html /deep/ [hidden] {
  display: none;
}

html /deep/ [relative] {
  position: relative;
}

html /deep/ [fit] {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

body[fullbleed] {
  margin: 0;
  height: 100vh;
}

/*******************************
            Other
*******************************/

html /deep/ [segment], html /deep/ segment {
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  margin: 1em 0.5em;
  padding: 1em;
  background-color: white;
  -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1);
  border-radius: 5px 5px 5px 5px;
}

</style><script src="packages/polymer/src/js/polymer/polymer.js"></script><script type="text/javascript" src="https://www.google.com/jsapi"></script><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  










<polymer-element name="curly-block">
  <template>
    <style>
      .idle {
        display: inline-block;
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        display: inline-block;
        color: white;
        cursor: wait;
      }
    </style>
    <template if="{{ expanded }}">
      <template if="{{ busy }}">
        {<div class="busy">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div>
        <br>
        <content></content>
        }
      </template>
      <template if="{{ !busy }}">
        {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊟&nbsp;&nbsp;</div></a>
        <br>
        <content></content>
        }
      </template>
    </template>

    <template if="{{ !expanded }}">
      <template if="{{ busy }}">
        {<div class="busy">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div>}
      </template>
      <template if="{{ !busy }}">
        {<a on-click="{{ toggleExpand }}"><div class="idle">&nbsp;&nbsp;⊞&nbsp;&nbsp;</div></a>}
      </template>
    </template>
  </template>
</polymer-element>




<polymer-element name="observatory-element">
</polymer-element>




<polymer-element name="service-ref" extends="observatory-element">
</polymer-element>

<polymer-element name="instance-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .errorBox {
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
        font-family: consolas, courier, monospace;
        font-size: 1em;
        line-height: 1.2em;
        white-space: pre;
      }
    </style>
    <span>
      <template if="{{ isError(ref.serviceType) }}">
        <pre class="errorBox">{{ ref.message }}</pre>
      </template>

      <template if="{{ isUnexpected(ref.serviceType) }}">
        unexpected reference type &lt;{{ ref.serviceType }}&gt;
      </template>

      <template if="{{ isNull(ref.serviceType) }}">
        <div title="{{ hoverText }}">{{ ref['valueAsString'] }}</div>
      </template>

      <template if="{{ (isString(ref.serviceType) ||
                        isBool(ref.serviceType) ||
                        isInt(ref.serviceType)) ||
                        isDouble(ref.serviceType)) }}">
        <a on-click="{{ goto }}" href="{{ url }}">{{ ref['valueAsString'] }}</a>
      </template>

      <template if="{{ (isType(ref.serviceType)) }}">
        <a on-click="{{ goto }}" href="{{ url }}">{{ ref['user_name'] }}</a>
      </template>

      <template if="{{ isInstance(ref.serviceType) &amp;&amp;
                       ref['closureFunc'] != null}}">
        <a on-click="{{ goto }}" href="{{ url }}">
          <!-- TODO(turnidge): Switch this to fully-qualified function -->
          {{ ref['closureFunc']['user_name'] }}
        </a>
      </template>

      <template if="{{ isInstance(ref.serviceType) &amp;&amp;
                       ref['closureFunc'] == null}}">
        <a on-click="{{ goto }}" href="{{ url }}"><em>{{ ref['class'].name }}</em></a>
        <curly-block callback="{{ expander() }}">
          <div class="memberList">
            <template repeat="{{ field in ref['fields'] }}">
              <div class="memberItem">
                <div class="memberName">
                  {{ field['decl']['user_name'] }}
                </div>
                <div class="memberValue">
                  <instance-ref ref="{{ field['value'] }}"></instance-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block>
      </template>

      <template if="{{ isList(ref.serviceType) }}">
        <a on-click="{{ goto }}" href="{{ url }}"><em>{{ ref['class'].name }}</em> ({{ ref['length']}})</a>
        <curly-block callback="{{ expander() }}">
          <div class="memberList">
            <template repeat="{{ element in ref['elements'] }}">
              <div class="memberItem">
                <div class="memberName">[{{ element['index']}}]</div>
                <div class="memberValue">
                  <instance-ref ref="{{ element['value'] }}"></instance-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block>
      </template>
    </span>
  </template>
</polymer-element>

<polymer-element name="action-link">
  <template>
    <style>
      .idle {
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        color: #aaa;
        cursor: wait;
      }
    </style>

    <template if="{{ busy }}">
      <span class="busy">[{{ label }}]</span>
    </template>
    <template if="{{ !busy }}">
      <span class="idle"><a on-click="{{ doAction }}">[{{ label }}]</a></span>
    </template>
  </template>
</polymer-element>









<polymer-element name="nav-bar" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      nav {
        position: fixed;
        width: 100%;
        z-index: 1000;
      }
      nav ul {
        display: inline-table;
        position: relative;
        list-style: none;
        padding-left: 0;
        margin-left: 0;
        width: 100%;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background-color: #0489c3;
      }
      nav ul:after {
        content: ""; clear: both; display: block;
      }
      .vertical-spacer {
        height: 40px;
        background-color: #0489c3;
      }
    </style>
    <nav>
      <ul>
        <content></content>
      </ul>
    </nav>
    <div class="vertical-spacer">
    </div>
    <template if="{{ pad }}">
      <br>
    </template>
  </template>
</polymer-element>

<polymer-element name="nav-menu" extends="observatory-element">
  <template>
    <style>
      .menu, .spacer {
        float: left;
      }
      .menu a, .spacer {
        display: block;
        padding: 12px 8px;
        color: White;
        text-decoration: none;
      }
      .menu:hover {
        background: #455;
      }
      .menu ul {
        display: none;
        position: absolute;
        top: 98%;
        list-style: none;
        margin: 0;
        padding: 0;
        width: auto;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background: #567;
      }
      .menu ul:after {
        content: ""; clear: both; display: block;
      }
      .menu:hover > ul {
        display: block;
      }
    </style>

    <li class="menu">
      <a on-click="{{ goto }}" href="{{ gotoLink(link) }}">{{ anchor }}</a>
      <ul><content></content></ul>
    </li>
    <template if="{{ !last }}">
      <li class="spacer">&gt;</li>
    </template>

  </template>
</polymer-element>

<polymer-element name="nav-menu-item" extends="observatory-element">
  <template>
    <style>
      li {
        float: none;
        border-top: 1px solid #677;
        border-bottom: 1px solid #556; position: relative;
      }
      li:hover {
        background: #455;
      }
      li ul {
        display: none;
        position: absolute;
        top:0;
        left: 100%;
        list-style: none;
        padding: 0;
        margin-left: 0;
        width: auto;
        z-index: 1000;
        font: 400 16px 'Montserrat', sans-serif;
        color: white;
        background: #567;
      }
      li ul:after {
        content: ""; clear: both; display: block;
      }
      li:hover > ul {
        display: block;
      }
      li a {
        display: block;
        padding: 12px 12px;
        color: white;
        text-decoration: none;
      }
    </style>
    <li><a on-click="{{ goto }}" href="{{ gotoLink(link) }}">{{ anchor }}</a>
      <ul><content></content></ul>
    </li>
  </template>
</polymer-element>

<polymer-element name="nav-refresh" extends="observatory-element">
  <template>
    <style>
      .active {
        color: #aaa;
        cursor: wait;
      }
      .idle {
        color: #000;
      }
      li {
        float: right;
        margin: 0;
      }
      li button {
        margin: 3px;
        padding: 8px;
      }
    </style>
    <li>
      <template if="{{ active }}">
        <button class="active" on-click="{{ buttonClick }}">{{ label }}</button>
      </template>
      <template if="{{ !active }}">
        <button class="idle" on-click="{{ buttonClick }}">{{ label }}</button>
      </template>
    </li>
  </template>
</polymer-element>

<polymer-element name="nav-control" extends="observatory-element">
  <template>
    <style>
      .black {
        color: #000;
      }
      li {
        float: right;
        margin: 0;
      }
      button {
        margin: 3px;
        padding: 8px;
      }
    </style>
    <!-- Disable until issues with history in Dartium are fixed
    <li>
      <button class="black" on-click="{{ back }}">&#9664;</button>
      <button class="black" on-click="{{ forward }}">&#9654;</button>
    </li>
    -->
  </template>
</polymer-element>

<polymer-element name="top-nav-menu">
  <template>
    <nav-menu link="/vm" anchor="Observatory" last="{{ last }}">
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="isolate-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ hashLinkWorkaround }}" anchor="{{ isolate.name }}" last="{{ last }}">
      <nav-menu-item link="{{ isolate.relativeLink('stacktrace') }}" anchor="stack trace"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('profile') }}" anchor="cpu profile"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('allocationprofile') }}" anchor="allocation profile"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('heapmap') }}" anchor="heap map"></nav-menu-item>
      <nav-menu-item link="{{ isolate.relativeLink('debug/breakpoints') }}" anchor="breakpoints"></nav-menu-item>
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="library-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ library.link }}" anchor="{{ library.name }}" last="{{ last }}">
      <content></content>
    </nav-menu>
  </template>
</polymer-element>

<polymer-element name="class-nav-menu" extends="observatory-element">
  <template>
    <nav-menu link="{{ cls.link }}" anchor="{{ cls.name }}" last="{{ last }}">
      <content></content>
    </nav-menu>
  </template>
</polymer-element>


<polymer-element name="breakpoint-list" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ msg.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ gotoLink(msg.isolate.relativeLink('debug/breakpoints')) }}" anchor="breakpoints" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <template if="{{ msg['breakpoints'].isEmpty }}">
      <div>
        <div>No breakpoints</div>
      </div>
    </template>
    <template if="{{ msg['breakpoints'].isNotEmpty }}">
      <ul class="list-group">
      <template repeat="{{ bpt in msg['breakpoints'] }}">
        <li class="list-group-item">
          {{ bpt }}
        </li>
      </template>
      </ul>
    </template>
  </template>
</polymer-element>





<polymer-element name="class-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style><a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template>
</polymer-element>







<polymer-element name="class-tree" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .table {
        border-collapse: collapse!important;
        width: 100%;
        margin-bottom: 20px
      }
      .table thead > tr > th,
      .table tbody > tr > th,
      .table tfoot > tr > th,
      .table thead > tr > td,
      .table tbody > tr > td,
      .table tfoot > tr > td {
        padding: 8px;
        vertical-align: top;
      }
      .table thead > tr > th {
        vertical-align: bottom;
        text-align: left;
        border-bottom:2px solid #ddd;
      }

      tr:hover > td {
        background-color: #FFF3E3;
      }
      .rowColor0 {
        background-color: #FFE9CC;
      }
      .rowColor1 {
        background-color: #FFDEB2;
      }
      .rowColor2 {
        background-color: #FFD399;
      }
      .rowColor3 {
        background-color: #FFC87F;
      }
      .rowColor4 {
        background-color: #FFBD66;
      }
      .rowColor5 {
        background-color: #FFB24C;
      }
      .rowColor6 {
        background-color: #FFA733;
      }
      .rowColor7 {
        background-color: #FF9C19;
      }
      .rowColor8 {
        background-color: #FF9100;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      tr:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        right: 100%;
        visibility: visible;
        z-index: 999;
        width: 400px;
        color: #ffffff;
        background-color: #0489c3;
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .white {
        color: #ffffff;
      }
    </style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>Class Hierarchy</h1>
      <table id="tableTree" class="table">
        <thead>
          <tr>
            <th>Class</th>
          </tr>
        </thead>
        <tbody>
          <tr template="" repeat="{{row in tree.rows }}">
            <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{{ padding(row) }}">
              <span id="expand" style="{{ row.expanderStyle }}">{{ row.expander }}</span>
              <class-ref ref="{{ row.cls }}"></class-ref>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </template>
</polymer-element>


















<polymer-element name="eval-box" extends="observatory-element">
  <template>
    <style>
      .textbox {
        width: 80ex;
        font: 400 16px 'Montserrat', sans-serif;
      }
      .bigtextbox {
        font: 400 16px 'Montserrat', sans-serif;
      }
      .button {
        font: 400 16px 'Montserrat', sans-serif;
      }
      .radios {
        display: inline;
      }
      .radios label{
        padding-left: 15px;
      }
      .historyExpr, .historyValue {
        vertical-align: text-top;
        font: 400 14px 'Montserrat', sans-serif;
      }
      .historyExpr a {
        display: block;
        color: black;
        text-decoration: none;
        padding: 6px 6px;
        cursor: pointer;
        white-space: pre-line;
      }
      .historyExpr a:hover {
        background-color: #fff3e3;
      }
      .historyValue {
        display: block;
        padding: 6px 6px;
      }
    </style>
    <form>
      <template if="{{ lineMode == '1-line' }}">
        <input class="textbox" type="text" value="{{ text }}">
      </template>
      <template if="{{ lineMode == 'N-line' }}">
        <textarea class="bigtextbox" rows="5" cols="80" value="{{ text }}"></textarea>
      </template>

      <input class="button" type="submit" value="Evaluate" on-click="{{ eval }}">
      <div class="radios" on-change="{{ updateLineMode }}">
        <label for="1-line">1-line
          <input type="radio" name="lineMode" value="1-line" checked="">
        </label>
        <label for="N-line">N-line
          <input type="radio" name="lineMode" value="N-line">
        </label>
      </div>
    </form>

    <br>
    <template if="{{ results.isNotEmpty }}">
      <table>
        <tbody><tr template="" repeat="{{ result in results }}">
          <td class="historyExpr">
            <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr'] }}">{{ result['expr'] }}</a>
          </td>
          <td class="historyValue">
            <template if="{{ result['value'] == null }}">
              <div style="color:#aaa;cursor:wait;">&lt;pending&gt;</div>
            </template>
            <template if="{{ result['value'] != null }}">
              <instance-ref ref="{{ result['value'] }}"></instance-ref>
            </template>
          </td>
        </tr>
      </tbody></table>
    </template>
  </template>
</polymer-element>





<polymer-element name="eval-link">
  <template>
    <style>
      .idle {
        color: #0489c3;
        cursor: pointer;
      }
      .busy {
        color: #aaa;
        cursor: wait;
      }
    </style>

    <template if="{{ busy }}">
      <span class="busy">{{ label }}</span>
    </template>
    <template if="{{ !busy }}">
      <span class="idle"><a on-click="{{ evalNow }}">{{ label }}</a></span>
    </template>
    <template if="{{ result != null }}">
      = <instance-ref ref="{{ result }}"></instance-ref>
    </template>
  </template>
</polymer-element>







<polymer-element name="field-ref" extends="service-ref">
  <template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div>
      <template if="{{ ref['static'] }}">static</template>
      <template if="{{ ref['final'] }}">final</template>
      <template if="{{ ref['const'] }}">const</template>
      <template if="{{ (ref['declared_type']['name'] == 'dynamic' &amp;&amp;
                        !ref['final'] &amp;&amp; !ref['const']) }}">
        var
      </template>
      <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}">
        <instance-ref ref="{{ ref['declared_type'] }}"></instance-ref>
      </template>
      <a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
    </div>
  </template>
</polymer-element>






<polymer-element name="function-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style><!-- These comments are here to allow newlines.
     --><template if="{{ isDart }}"><!--
       --><template if="{{ qualified &amp;&amp; !hasParent &amp;&amp; hasClass }}"><!--
       --><class-ref ref="{{ ref['owner'] }}"></class-ref>.</template><!--
     --><template if="{{ qualified &amp;&amp; hasParent }}"><!--
       --><function-ref ref="{{ ref['parent'] }}" qualified="{{ true }}">
          </function-ref>.<!--
     --></template><a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a><!--
  --></template><template if="{{ !isDart }}"><span> {{ name }}</span></template></template>
</polymer-element>




<polymer-element name="library-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ nameIsEmpty }}">
      <a on-click="{{ goto }}" href="{{ url }}">unnamed</a>
    </template>
    <template if="{{ !nameIsEmpty }}">
      <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
    </template>
  </template>
</polymer-element>





<polymer-element name="script-ref" extends="service-ref">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <a on-click="{{ goto }}" title="{{ hoverText }}" href="{{ url }}">{{ name }}</a>
</template>
</polymer-element>


<polymer-element name="class-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
      <library-nav-menu library="{{ cls.library }}"></library-nav-menu>
      <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <template if="{{ cls.isAbstract }}">
          abstract
        </template>
        <template if="{{ cls.isPatch }}">
          patch
        </template>
        class {{ cls.name }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">library</div>
          <div class="memberValue">
            <library-ref ref="{{ cls.library }}"></library-ref>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ cls.script }}" pos="{{ cls.tokenPos }}">
            </script-ref>
          </div>
        </div>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.superClass != null }}">
          <div class="memberItem">
            <div class="memberName">extends</div>
            <div class="memberValue">
              <class-ref ref="{{ cls.superClass }}"></class-ref>
            </div>
          </div>
        </template>
        <template if="{{ cls.subClasses.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">extended by</div>
            <div class="memberValue">
              <template repeat="{{ subclass in cls.subClasses }}">
                <class-ref ref="{{ subclass }}"></class-ref>
              </template>
            </div>
          </div>
        </template>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ cls.interfaces.length > 0 }}">
          <div class="memberItem">
            <div class="memberName">implements</div>
            <div class="memberValue">
              <template repeat="{{ interface in cls.interfaces }}">
                <class-ref ref="{{ interface }}"></class-ref>
              </template>
            </div>
          </div>
        </template>
        <template if="{{ cls.name != cls.vmName }}">
          <div class="memberItem">
            <div class="memberName">vm name</div>
            <div class="memberValue">{{ cls.vmName }}</div>
          </div>
        </template>
      </div>
    </div>

    <template if="{{ cls.error != null }}">
      <!-- TODO(turnidge): Don't use instance-ref for error display here -->
      <instance-ref ref="{{ cls.error }}"></instance-ref>
    </template>

    <hr>

    <div class="content">
      <template if="{{ cls.fields.isNotEmpty }}">
        fields ({{ cls['fields'].length }})
        <curly-block expand="{{ cls.fields.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ field in cls.fields }}">
              <div class="memberItem">
                <div class="memberName">
                  <field-ref ref="{{ field }}"></field-ref>
                </div>
                <div class="memberValue">
                  <template if="{{ field['value'] != null }}">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </template>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>

      <template if="{{ cls.functions.isNotEmpty }}">
        functions ({{ cls.functions.length }})
        <curly-block expand="{{ cls.functions.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ function in cls.functions }}">
              <div class="memberItem">
                <div class="memberValue">
                  <function-ref ref="{{ function }}" qualified="{{ false }}">
                  </function-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br><br>
      </template>
      
      <template if="{{ !cls.hasNoAllocations }}">
        current instances ({{ cls.newSpace.current.instances + cls.oldSpace.current.instances }})
          <div class="memberItem">
            <div class="memberName">shallow size</div>
            <div class="memberValue">
              {{ cls.newSpace.current.bytes + cls.oldSpace.current.bytes }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">retained size</div>
            <div class="memberValue">
              <eval-link callback="{{ retainedSize }}"></eval-link>
            </div>
          </div>
        </template>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>
    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>




<polymer-element name="code-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ code.isDartCode }}">
        <template if="{{ code.isOptimized }}">
          <a on-click="{{ goto }}" href="{{ url }}">*{{ name }}</a>
        </template>
        <template if="{{ !code.isOptimized }}">
          <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
        </template>
    </template>
    <template if="{{ !code.isDartCode }}">
      <span>{{ name }}</span>
    </template>
  </template>
</polymer-element>








<polymer-element name="code-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      div.flex-row:hover {
        background-color: #FFF3E3;
      }

      .highlight {
        background-color: #FFF3E3;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      .flex-row:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        visibility: visible;
        z-index: 999;
        width: auto;
        min-width: 400px;
        color: #ffffff;
        background-color: #FFF3E3;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .descriptor-address {
        color: #0489c3;
      }

      .snippet {
        text-align: center;
        margin-left: 10px;
        margin-right: 10px;
      }

    </style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu>
      <nav-menu link="." anchor="{{ code.name }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content">
      <template if="{{ code.isDartCode &amp;&amp; code.isOptimized }}">
        <h1>Optimized code for {{ code.name }}</h1>
      </template>
      <template if="{{ !(code.isDartCode &amp;&amp; code.isOptimized) }}">
        <h1>Code for {{ code.name }}</h1>
      </template>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Kind</div>
          <div class="memberValue">{{code.kind}}</div>
        </div>
        <template if="{{ code.isDartCode }}">
          <div class="memberItem">
            <div class="memberName">Optimized</div>
            <div class="memberValue">{{code.isOptimized}}</div>
          </div>
        </template>
        <div class="memberItem">
          <div class="memberName">Function</div>
          <div class="memberValue">
            <function-ref ref="{{code.function}}">
            </function-ref>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">Inclusive</div>
          <div class="memberValue">{{ code.formattedInclusiveTicks }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Exclusive</div>
          <div class="memberValue">{{ code.formattedExclusiveTicks }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Constant object pool</div>
          <div class="memberValue">
            <instance-ref ref="{{ code.objectPool }}"></instance-ref>
          </div>
        </div>
      </div>
    </div>
    <hr>
    <div class="content">
      <template if="{{ code.hasDisassembly }}">
        <div class="flex-row">
            <div class="flex-item-fixed-2-12 memberHeader">Inclusive</div>
            <div class="flex-item-fixed-2-12 memberHeader">Exclusive</div>
            <div class="flex-item-fixed-2-12 memberHeader">Address</div>
            <div class="flex-item-fixed-6-12 memberHeader">Disassembly</div>
        </div>
      </template>
      <template repeat="{{ instruction in code.instructions }}">
        <div class="flex-row" on-mouseover="{{ mouseOver }}" on-mouseout="{{ mouseOut }}" data-jump-target="{{ instruction.jumpTarget.address }}" id="addr-{{ instruction.address }}" style="position: relative">
          <template if="{{ instruction.isComment }}">
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedInclusive(code) }}</div>
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedExclusive(code) }}</div>
            <div class="flex-item-fixed-8-12 monospace">{{ instruction.human }}</div>
          </template>
          <template if="{{ !instruction.isComment }}">
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedInclusive(code) }}</div>
            <div class="flex-item-fixed-2-12 monospace">{{ instruction.formattedExclusive(code) }}</div>
            <template if="{{ instruction.hasDescriptors }}">
              <div class="flex-item-fixed-2-12 monospace descriptor-address">
                <div class="tooltip">
                  <template repeat="{{ descriptor in instruction.descriptors }}">
                    <div class="memberList">
                      <div class="memberItem">
                       <div class="memberName">Kind</div>
                       <div class="memberValue">{{ descriptor.kind }}</div>
                      </div>
                      <div class="memberItem">
                       <div class="memberName">Deoptimization ID</div>
                       <div class="memberValue">{{ descriptor.formattedDeoptId() }}</div>
                      </div>
                      <template if="{{ descriptor.script != null }}">
                        <div class="memberItem">
                         <div class="memberName">Script</div>
                         <div class="memberValue"><script-ref ref="{{ descriptor.script }}" pos="{{ descriptor.tokenPos }}"></script-ref></div>
                        </div>
                      </template>
                    </div>
                    <template if="{{ descriptor.script != null }}">
                      <div class="snippet monospace">
                        <span>{{ descriptor.formattedLine }}</span>
                      </div>
                    </template>
                  </template>
                </div>
                {{ instruction.formattedAddress() }}
              </div>
            </template>
            <template if="{{ !instruction.hasDescriptors }}">
              <div class="flex-item-fixed-2-12 monospace">
                {{ instruction.formattedAddress() }}
              </div>
            </template>
            <div class="flex-item-fixed-6-12 monospace">
              {{ instruction.human }}
            </div>
          </template>
        </div>
      </template>
    </div>
  </template>
</polymer-element>






<polymer-element name="error-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ error.kind }}</h1>
      <br>
      <div class="well">{{ error.message }}</div>
    </div>
  </template>
</polymer-element>










<polymer-element name="field-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu>
      <template if="{{ field['owner'].serviceType == 'Class' }}">
        <!-- TODO(turnidge): Add library nav menu here. -->
        <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu>
      </template>
      <template if="{{ field['owner'].serviceType == 'Library' }}">
        <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu>
      </template>
      <nav-menu link="{{ field.link }}" anchor="{{ field['user_name'] }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <template if="{{ field['static'] }}">static</template>
        <template if="{{ field['final'] }}">final</template>
        <template if="{{ field['const'] }}">const</template>
        <template if="{{ (field['declared_type']['name'] == 'dynamic' &amp;&amp;
                         !field['final'] &amp;&amp; !field['const']) }}">
          var
        </template>
        <template if="{{ (field['declared_type']['user_name'] != 'dynamic') }}">
          {{ field['declared_type']['user_name'] }}
        </template>
        {{ field['user_name'] }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">owner</div>
          <div class="memberValue">
            <template if="{{ field['owner'].serviceType == 'Class' }}">
              <class-ref ref="{{ field['owner'] }}"></class-ref>
            </template>
            <template if="{{ field['owner'].serviceType != 'Class' }}">
              <library-ref ref="{{ field['owner'] }}"></library-ref>
            </template>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ field['script'] }}"></script-ref>
          </div>
        </div>
        <template if="{{ !field['static'] }}">
          <div class="memberItem" title="The types observed for this field at runtime.  Fields that are observed to have a single type at runtime or to never be null may allow for additional optimization.">
            <div class="memberName">observed types</div>
            <div class="memberValue">
              <template if="{{ field['guard_class'] == 'dynamic' }}">
                various
              </template>
              <template if="{{ field['guard_class'] == 'unknown' }}">
                none
              </template>
              <template if="{{ field['guard_class'] != 'unknown' &amp;&amp;
                            field['guard_class'] != 'dynamic' }}">
                <class-ref ref="{{ field['guard_class'] }}"></class-ref>
                <template if="{{ field['guard_nullable'] }}">
                  — null observed
                </template>
                <template if="{{ !field['guard_nullable'] }}">
                  — null not observed
                </template>
              </template>
            </div>
          </div>
        </template>
        <template if="{{ field['value'] != null }}">
          <div class="memberItem">
            <div class="memberName">static value</div>
            <div class="memberValue">
              <instance-ref ref="{{ field['value'] }}"></instance-ref>
            </div>
          </div>
        </template>
      </div>
    </div>
  </template>
</polymer-element>













<polymer-element name="stack-frame" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div class="flex-row">
      <div class="flex-item-fixed-1-12">
      </div>
      <div class="flex-item-fixed-1-12">
        #{{ frame['depth'] }}
      </div>
      <div class="flex-item-fixed-9-12">
        <function-ref ref="{{ frame['function'] }}"></function-ref>
          ( <script-ref ref="{{ frame['script'] }}" pos="{{ frame['tokenPos'] }}">
          </script-ref> )

          <curly-block>
            <div class="memberList">
              <template repeat="{{ v in frame['vars'] }}">
                <div class="memberItem">
                  <div class="memberName">{{ v['name']}}</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ v['value'] }}"></instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block>
      </div>
      <div class="flex-item-fixed-1-12">
      </div>
    </div>
  </template>
</polymer-element>

<polymer-element name="flag-list" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <nav-menu link="{{ flagList.vm.relativeLink('flags') }}" anchor="flags" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content-centered">
      <template if="{{ flagList['modifiedFlags'].isNotEmpty }}">
        <h1>Modified Flags</h1>
        <br>
        <template repeat="{{ flag in flagList['modifiedFlags'] }}">
          <flag-item flag="{{ flag }}"></flag-item>
          <br>
        </template>
        <hr>
      </template>

      <h1>Unmodified Flags</h1>
      <br>
      <template if="{{ flagList['unmodifiedFlags'].isEmpty }}">
        <em>None</em>
      </template>
      <template if="{{ flagList['unmodifiedFlags'].isNotEmpty }}">
        <template repeat="{{ flag in flagList['unmodifiedFlags'] }}">
          <flag-item flag="{{ flag }}"></flag-item>
          <br>
        </template>
      </template>
    </div>

  </template>
</polymer-element>

<polymer-element name="flag-item" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <span style="color:#aaa">// {{ flag['comment'] }}</span>
    <div style="padding: 3px 0">
      <b>{{ flag['name'] }}</b>
      &nbsp;=&nbsp;
      {{ flag['valueAsString'] }}
    </div>
  </template>
</polymer-element>















<polymer-element name="script-inset" extends="observatory-element">
  <template>
    <style>
      .sourceInset {
        padding-left: 15%;
        padding-right: 15%;
      }
      .grayBox {
        width: 100%;
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
     }
    </style>
    <div class="sourceInset">
      <content></content>
      <div class="grayBox">
        <table>
          <tbody>
            <tr template="" repeat="{{ lineNumber in lineNumbers }}">
              <td style="{{ styleForHits(script.lines[lineNumber].hits) }}"><span>  </span></td>
              <td style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: nowrap;">{{script.lines[lineNumber].line}}</td>
              <td>&nbsp;</td>
              <td width="99%" style="font-family: consolas, courier, monospace;font-size: 1em;line-height: 1.2em;white-space: pre;">{{script.lines[lineNumber].text}}</td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </template>
</polymer-element>


<polymer-element name="function-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ function.isolate }}"></isolate-nav-menu>
      <template if="{{ function['owner'].serviceType == 'Class' }}">
        <!-- TODO(turnidge): Add library nav menu here. -->
        <class-nav-menu cls="{{ function['owner'] }}"></class-nav-menu>
      </template>
      <template if="{{ function['owner'].serviceType == 'Library' }}">
        <library-nav-menu library="{{ function['owner'] }}"></library-nav-menu>
      </template>
      <nav-menu link="{{ function.link }}" anchor="{{ function.name }}" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>function {{ qualifiedName }}</h1>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">kind</div>
          <div class="memberValue">
            <template if="{{ function['is_static'] }}">static</template>
            <template if="{{ function['is_const'] }}">const</template>
            {{ kind }}
          </div>
        </div>
        <template if="{{ function['parent'] != null }}">
          <div class="memberItem">
            <div class="memberName">parent function</div>
            <div class="memberValue">
              <function-ref ref="{{ function['parent'] }}"></function-ref>
            </div>
          </div>
        </template>
        <div class="memberItem">
          <div class="memberName">owner</div>
          <div class="memberValue">
            <template if="{{ function['owner'].serviceType == 'Class' }}">
              <class-ref ref="{{ function['owner'] }}"></class-ref>
            </template>
            <template if="{{ function['owner'].serviceType != 'Class' }}">
              <library-ref ref="{{ function['owner'] }}"></library-ref>
            </template>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberName">script</div>
          <div class="memberValue">
            <script-ref ref="{{ function['script'] }}" pos="{{ function['tokenPos'] }}">
            </script-ref>
          </div>
        </div>

        <div class="memberItem">&nbsp;</div>

        <template if="{{ function['code'] != null }}">
          <div class="memberItem">
            <div class="memberName">optimized code</div>
            <div class="memberValue">
              <code-ref ref="{{ function['code'] }}"></code-ref>
            </div>
          </div>
        </template>
        <template if="{{ function['unoptimized_code'] != null }}">
          <div class="memberItem">
            <div class="memberName">unoptimized code</div>
            <div class="memberValue">
              <code-ref ref="{{ function['unoptimized_code'] }}"></code-ref>
            </div>
              <div class="memberValue">
                <span title="This count is used to determine when a function will be optimized.  It is a combination of call counts and other factors.">
                  (usage count: {{ function['usage_counter'] }})
                </span>
             </div>
           </div>
         </template>
         <div class="memberItem">
           <div class="memberName">deoptimizations</div>
           <div class="memberValue">{{ function['deoptimizations'] }}</div>
         </div>
         <div class="memberItem">
           <div class="memberName">optimizable</div>
           <div class="memberValue">{{ function['is_optimizable'] }}</div>
         </div>
         <div class="memberItem">
           <div class="memberName">inlinable</div>
           <div class="memberValue">{{ function['is_inlinable'] }}</div>
         </div>
         <template if="{{ function.name != function.vmName }}">
           <div class="memberItem">
             <div class="memberName">vm name</div>
             <div class="memberValue">{{ function.vmName }}</div>
           </div>
         </template>
       </div>
    </div>

    <hr>
    <script-inset script="{{ function['script'] }}" pos="{{ function['tokenPos'] }}" endpos="{{ function['endTokenPos'] }}">
    </script-inset>

    <br>
  </template>
</polymer-element>







<polymer-element name="heap-map" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <style>
    .hover {
      position: fixed;
      z-index: 999;
      height: 16px;
      width: 100%;
      background: #ffffff;
    }
    .spacer {
      height: 16px;
      background-color: red;
    }
  </style>
  <nav-bar pad="{{ false }}">
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ fragmentation.isolate }}"></isolate-nav-menu>
    <nav-menu link="{{ fragmentation.isolate.relativeLink('heapmap') }}" anchor="heap map" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>
  <div class="hover">
    <p style="text-align:center">{{ status }}</p>
  </div>
  <div class="spacer">
    <!-- Make sure no data is covered by hover bar initially -->
  </div>
  <div class="flex-row">
    <canvas id="fragmentation" width="1px" height="1px"></canvas>
  </div>
</template>
</polymer-element>






<polymer-element name="io-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>dart:io</h1>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/http/servers'))}}">HTTP Servers</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/sockets'))}}">Sockets</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/websockets'))}}">WebSockets</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/file/randomaccessfiles'))}}">Random Access Files</a>
        </li>
      </ul>

      <br>

      <ul class="list-group">
        <li class="list-group-item">
          <a on-click="{{ goto }}" href="{{gotoLink(io.isolate.relativeLink('io/processes'))}}">Processess</a>
        </li>
      </ul>

    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ ref.serviceType == 'Socket' }}">
      <io-socket-ref ref="{{ ref }}"></io-socket-ref>
    </template>
    <template if="{{ ref.serviceType == 'HttpServerConnection' }}">
      <io-http-server-connection-ref ref="{{ ref }}"></io-http-server-connection-ref>
    </template>
    <template if="{{ ref.serviceType == 'HttpServer' }}">
      <io-http-server-ref ref="{{ ref }}"></io-http-server-ref>
    </template>
    <template if="{{ ref.serviceType == 'WebSocket' }}">
      <io-web-socket-ref ref="{{ ref }}"></io-web-socket-ref>
    </template>
    <template if="{{ ref.serviceType == 'Process' }}">
      <io-process-ref ref="{{ ref }}"></io-process-ref>
    </template>
  </template>
</polymer-element>

<polymer-element name="io-http-server-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpServers</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ httpServer in list['members'] }}">
          <li class="list-group-item">
            <io-http-server-ref ref="{{ httpServer }}"></io-http-server-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-http-server-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-http-server-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpServer</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ httpServer['socket'] }}"></io-socket-ref></div>
        </div>
        <div class="memberItem">
          <div class="memberName">Address</div>
          <div class="memberValue">{{ httpServer['address'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Port</div>
          <div class="memberValue">{{ httpServer['port'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Active connections</div>
          <ul class="list-group">
            <template repeat="{{ connection in httpServer['active'] }}">
              <li class="list-group-item">
                <io-http-server-connection-ref ref="{{ connection }}"></io-http-server-connection-ref>
              </li>
            </template>
          </ul>
        </div>
        <div class="memberItem">
          <div class="memberName">Idle connections</div>
          <ul class="list-group">
            <template repeat="{{ connection in httpServer['idle'] }}">
              <li class="list-group-item">
                <io-http-server-connection-ref ref="{{ connection }}"></io-http-server-connection-ref>
              </li>
            </template>
          </ul>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-http-server-connection-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-http-server-connection-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>HttpConnection</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ connection['socket'] }}"></io-socket-ref></div>
        </div>
        <div class="memberItem">
          <div class="memberName">State</div>
          <div class="memberValue">{{ connection['state'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Server</div>
          <div class="memberValue"><io-http-server-ref ref="{{ connection['server'] }}"></io-http-server-ref></div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-socket-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-socket-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Sockets</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ socket in list['members'] }}">
          <li class="list-group-item">
            <io-socket-ref ref="{{ socket }}"></io-socket-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-socket-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <!-- Pipe Socket -->
      <template if="{{ socket.isPipe }}">
        <h1>Pipe Socket</h1>
        <div class="memberList">
          <template if="{{ socket.socketOwner != null }}">
            <div class="memberItem">
              <div class="memberName">Owner</div>
              <div class="memberValue"><io-ref ref="{{ socket.socketOwner }}"></io-ref></div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">File descriptor</div>
            <div class="memberValue">{{ socket.fd }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Read Closed</div>
            <div class="memberValue">{{ socket.readClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Write Closed</div>
            <div class="memberValue">{{ socket.writeClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Closing</div>
            <div class="memberValue">{{ socket.closing }}</div>
          </div>
        </div>
      </template>
      <!-- Network Socket -->
      <template if="{{ !socket.isPipe }}">
        <h1>Network Socket</h1>
        <div class="memberList">
          <template if="{{ socket.socketOwner != null }}">
            <div class="memberItem">
              <div class="memberName">Owner</div>
              <div class="memberValue"><io-ref ref="{{ socket.socketOwner }}"></io-ref></div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">Local Address</div>
            <div class="memberValue">{{ socket.localAddress }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Local Port</div>
            <div class="memberValue">{{ socket.localPort }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Remote Address</div>
            <div class="memberValue">{{ socket.remoteAddress }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Remote Port</div>
            <div class="memberValue">{{ socket.remotePort }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">File descriptor</div>
            <div class="memberValue">{{ socket.fd }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Read Closed</div>
            <div class="memberValue">{{ socket.readClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Write Closed</div>
            <div class="memberValue">{{ socket.writeClosed }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Closing</div>
            <div class="memberValue">{{ socket.closing }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Listening</div>
            <div class="memberValue">{{ socket.listening }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Protocol</div>
            <div class="memberValue">{{ socket.protocol }}</div>
          </div>
        </div>
      </template>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>WebSockets</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ webSocket in list['members'] }}">
          <li class="list-group-item">
            <io-web-socket-ref ref="{{ webSocket }}"></io-web-socket-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-web-socket-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>WebSocket</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Socket</div>
          <div class="memberValue"><io-socket-ref ref="{{ webSocket['socket'] }}"></io-socket-ref></div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Random Access Files</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ file in list['members'] }}">
          <li class="list-group-item">
            <io-random-access-file-ref ref="{{ file }}"></io-random-access-file-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-random-access-file-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Random Access File</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Path</div>
          <div class="memberValue">{{ file['name'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Pending Operation</div>
          <div class="memberValue">{{ file['asyncDispatched'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">File Descriptor</div>
          <div class="memberValue">{{ file['fd'] }}</div>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-process-list-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Processes</h1>

      <br>

      <ul class="list-group">
        <template repeat="{{ process in list['members'] }}">
          <li class="list-group-item">
            <io-process-ref ref="{{ process }}"></io-process-ref>
          </li>
        </template>
      </ul>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>

<polymer-element name="io-process-ref" extends="service-ref">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ small }}">
      <a on-click="{{ goto }}" href="{{ url }}">{{ name }}</a>
    </template>
    <template if="{{ !small }}">
      <a on-click="{{ goto }}" href="{{ url }}">({{ ref['pid'] }}) {{ name }} {{ ref['arguments'] }}</a>
    </template>
  </template>
</polymer-element>

<polymer-element name="io-process-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
    </nav-bar>

    <div class="content">
      <h1>Process</h1>

      <br>

      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">Path</div>
          <div class="memberValue">{{ process['name'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Pid</div>
          <div class="memberValue">{{ process['pid'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Arguments</div>
          <div class="memberValue">{{ process['arguments'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Started</div>
          <div class="memberValue">{{ process['started'] }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">Working Directory</div>
          <div class="memberValue">{{ process['workingDirectory'] }}</div>
        </div>
        <template if="{{ process['stdin'] != null }}">
          <div class="memberItem">
            <div class="memberName">stdin</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stdin'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
        <template if="{{ process['stdout'] != null }}">
          <div class="memberItem">
            <div class="memberName">stdout</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stdout'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
        <template if="{{ process['stderr'] != null }}">
          <div class="memberItem">
            <div class="memberName">stderr</div>
            <div class="memberValue">
              <io-socket-ref ref="{{ process['stderr'] }}"></io-socket-ref>
            </div>
          </div>
        </template>
      </div>

      <br>

      <h2>Environment</h2>
      <div class="well">
        <div class="monospace break-wrap">
          <template repeat="{{ variable in process['environment'] }}">
            {{ variable }}
            <br>
          </template>
        </div>
      </div>
    </div>
    <br>
    <hr>
  </template>
</polymer-element>




<polymer-element name="isolate-ref" extends="service-ref">
<template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <a on-click="{{ goto }}" href="{{ url }}">{{ ref.name }}</a>
</template>
</polymer-element>








<polymer-element name="isolate-summary" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <div class="flex-row">
      <div class="flex-item-10-percent">
        <img src="packages/observatory/src/elements/img/isolate_icon.png">
      </div>
      <div class="flex-item-10-percent">
        <isolate-ref ref="{{ isolate }}"></isolate-ref>
      </div>
      <div class="flex-item-20-percent">
        <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
      </div>
      <div class="flex-item-50-percent">
        <isolate-location isolate="{{ isolate }}"></isolate-location>
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent">
        <hr>
      </div>
      <div class="flex-item-20-percent"></div>
    </div>

    <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>

  </template>
</polymer-element>

<polymer-element name="isolate-run-state" extends="observatory-element">
  <template>
    <template if="{{ isolate.pauseEvent != null }}">
      <strong>paused</strong>
      <action-link callback="{{ resume }}" label="resume"></action-link>
    </template>

    <template if="{{ isolate.running }}">
      <strong>running</strong>
      <action-link callback="{{ pause }}" label="pause"></action-link>
    </template>

    <template if="{{ isolate.idle }}">
      <strong>idle</strong>
    </template>

    <template if="{{ isolate.loading }}">
      <strong>loading...</strong>
    </template>
  </template>
</polymer-element>

<polymer-element name="isolate-location" extends="observatory-element">
  <template>
    <template if="{{ isolate.pauseEvent != null }}">
      <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateCreated' }}">
        at isolate start
      </template>
      <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateShutdown' }}">
        at isolate exit
      </template>
      <template if="{{ isolate.pauseEvent['eventType'] == 'IsolateInterrupted' }}">
        at
        <function-ref ref="{{ isolate.topFrame['function'] }}">
        </function-ref>
        (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
      </template>
      <template if="{{ isolate.pauseEvent['eventType'] == 'BreakpointReached' }}">
        at breakpoint {{ isolate.pauseEvent['breakpoint']['id'] }}
        <function-ref ref="{{ isolate.topFrame['function'] }}">
        </function-ref>
        (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
      </template>
    </template>

    <template if="{{ isolate.running }}">
      at
      <function-ref ref="{{ isolate.topFrame['function'] }}">
      </function-ref>
      (<script-ref ref="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}"></script-ref>)
    </template>

  </template>
</polymer-element>

<polymer-element name="isolate-shared-summary" extends="observatory-element">
  <template>
    <style>
      .errorBox {
        background-color: #f5f5f5;
        border: 1px solid #ccc;
        padding: 10px;
        font-family: consolas, courier, monospace;
        font-size: 1em;
        line-height: 1.2em;
        white-space: pre;
      }
    </style>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <template if="{{ isolate.error != null }}">
      <div class="content-centered">
        <pre class="errorBox">{{ isolate.error.message }}</pre>
        <br>
      </div>
    </template>
    <div class="flex-row">
      <div class="flex-item-10-percent">
      </div>
      <div class="flex-item-40-percent">
        <isolate-counter-chart counters="{{ isolate.counters }}"></isolate-counter-chart>
      </div>
      <div class="flex-item-40-percent">
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">new heap</div>
            <div class="memberValue">
              {{ isolate.newSpace.used | formatSize }}
              of
              {{ isolate.newSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">old heap</div>
            <div class="memberValue">
              {{ isolate.oldSpace.used | formatSize }}
              of
              {{ isolate.oldSpace.capacity | formatSize }}
            </div>
          </div>
        </div>
        <br>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink('/class-tree' + isolate.link) }}">class hierarchy</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('stacktrace')) }}">stack trace</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('profile')) }}">cpu profile</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('allocationprofile')) }}">allocation profile</a>
          </div>
        </div>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('heapmap')) }}">heap map</a>
          </div>
        </div>
        <!-- Temporarily disabled until UI for dart:io is acceptable.
        <template if="{{ isolate.ioEnabled }}">
          <div class="memberItem">
            <div class="memberValue">
              See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('io')) }}">dart:io</a>
            </div>
          </div>
        </template>
        -->
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>
  </template>
</polymer-element>

<polymer-element name="isolate-counter-chart" extends="observatory-element">
  <template>
    <div id="counterPieChart" style="height: 200px"></div>
  </template>
</polymer-element>














<polymer-element name="isolate-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <style>
      .sourceInset {
        padding-left: 15%;
        padding-right: 15%;
      }
      .miniProfileChart {
        width: 80%;
      }
    </style>

    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
      </isolate-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>isolate '{{ isolate.name }}'</h1>
    </div>

    <br>
    <div class="flex-row">
      <div class="flex-item-10-percent">
      </div>
      <div class="flex-item-20-percent">
        <isolate-run-state isolate="{{ isolate }}"></isolate-run-state>
      </div>
      <div class="flex-item-60-percent">
        <isolate-location isolate="{{ isolate }}"></isolate-location>
      </div>
      <div class="flex-item-10-percent">
      </div>
    </div>
    <br>

    <template if="{{ isolate.topFrame != null }}">
      <br>
      <script-inset script="{{ isolate.topFrame['script'] }}" pos="{{ isolate.topFrame['tokenPos'] }}">
      </script-inset>
    </template>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent"><hr></div>
      <div class="flex-item-20-percent"></div>
    </div>

    <br>

    <isolate-shared-summary isolate="{{ isolate }}"></isolate-shared-summary>

    <div class="flex-row">
      <div class="flex-item-20-percent"></div>
      <div class="flex-item-60-percent"><hr></div>
      <div class="flex-item-20-percent"></div>
    </div>

    <div class="content-centered">
      <div class="flex-row">
        <div class="flex-item-50-percent">
          <div class="memberList">
            <div class="memberItem">
              <div class="memberName">root library</div>
              <div class="memberValue">
                <library-ref ref="{{ isolate.rootLib }}"></library-ref>
              </div>
            </div>
            <div class="memberItem">
              <template if="{{ isolate.entry != null }}">
                <div class="memberName">entry</div>
                <div class="memberValue">
                  <function-ref ref="{{ isolate.entry }}"></function-ref>
                </div>
              </template>
            </div>
            <div class="memberItem">
              <div class="memberName">isolate id</div>
              <div class="memberValue">{{ isolate.mainPort }}</div>
            </div>
          </div>
        </div>
        <div class="flex-item-50-percent">
          <div class="memberItem">
            <div class="memberValue">
              See <a on-click="{{ goto }}" href="{{ gotoLink(isolate.relativeLink('debug/breakpoints')) }}">breakpoints</a>
            </div>
          </div>
        </div>
      </div>
    </div>

    <hr>

    <div class="content">
      libraries ({{ isolate.libraries.length }})
      <curly-block expand="{{ isolate.libraries.length <= 8 }}">
        <div class="memberList">
          <template repeat="{{ lib in isolate.libraries }}">
            <div class="memberItem">
              <div class="memberName">
                <library-ref ref="{{ lib }}"></library-ref>
              </div>
            </div>
          </template>
        </div>
      </curly-block>
    </div>

    <hr>

    <div class="content">
      <div id="tagProfileChart" class="miniProfileChart" style="height: 600px"></div>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>
    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>













<polymer-element name="instance-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ instance.isolate }}"></isolate-nav-menu>
      <!-- TODO(turnidge): Add library nav menu here. -->
      <class-nav-menu cls="{{ instance['class'] }}"></class-nav-menu>
      <nav-menu link="." anchor="instance" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <template if="{{ instance['error'] != null }}">
      <error-view error_obj="{{ instance['error'] }}"></error-view>
    </template>

    <template if="{{ instance['error'] == null }}">
      <div class="content">
        <!-- TODO(turnidge): Handle null instances. -->
        <template if="{{ isType(instance.serviceType) }}">
          <h1>type {{ instance['user_name'] }}</h1>
        </template>
        <template if="{{ !isType(instance.serviceType) }}">
          <h1>instance of {{ instance['class']['user_name'] }}</h1>
        </template>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">class</div>
            <div class="memberValue">
              <class-ref ref="{{ instance['class'] }}">
              </class-ref>
            </div>
          </div>
          <template if="{{ instance['valueAsString'] != null }}">
            <div class="memberItem">
              <div class="memberName">value</div>
              <div class="memberValue">{{ instance['valueAsString'] }}</div>
            </div>
          </template>
          <div class="memberItem">
            <div class="memberName">size</div>
            <div class="memberValue">{{ instance['size'] | formatSize }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">retained size</div>
            <div class="memberValue">
              <eval-link callback="{{ retainedSize }}" label="[calculate]">
              </eval-link>
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">retaining path</div>
            <div class="memberValue">
              <template if="{{ path == null }}">
                <eval-link callback="{{ retainingPath }}" label="[find]" expr="10">
                </eval-link>
              </template>
              <template if="{{ path != null }}">
                <template repeat="{{ element in path['elements'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ element['index']}}]</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ element['value'] }}"></instance-ref>
                  </div>
                  </div>
                </template>
                <template if="{{ path['length'] > path['elements'].length }}">
                  showing {{ path['elements'].length }} of {{ path['length'] }}
                  <eval-link callback="{{ retainingPath }}" label="[find more]" expr="{{ path['elements'].length * 2 }}">
                  </eval-link>
                </template>
              </template>
            </div>
          </div>
          <template if="{{ instance['type_class'] != null }}">
            <div class="memberItem">
              <div class="memberName">type class</div>
              <div class="memberValue">
                <class-ref ref="{{ instance['type_class'] }}">
                </class-ref>
              </div>
            </div>
          </template>
          <template if="{{ instance['closureFunc'] != null }}">
            <div class="memberItem">
              <div class="memberName">closure function</div>
              <div class="memberValue">
                <function-ref ref="{{ instance['closureFunc'] }}">
                </function-ref>
              </div>
            </div>
          </template>

          <div class="memberItem">&nbsp;</div>

          <div class="memberItem">
            <div class="memberName">toString()</div>
            <div class="memberValue">
              <eval-link callback="{{ eval }}" expr="toString()"></eval-link>
            </div>
          </div>
        </div>
      </div>

      <hr>

      <div class="content">
        <template if="{{ instance['fields'].isNotEmpty }}">
          fields ({{ instance['fields'].length }})
          <curly-block expand="{{ instance['fields'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ field in instance['fields'] }}">
                <div class="memberItem">
                  <div class="memberName">
                    <field-ref ref="{{ field['decl'] }}"></field-ref>
                  </div>
                  <div class="memberValue">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>

        <template if="{{ instance['nativeFields'].isNotEmpty }}">
          native fields ({{ instance['nativeFields'].length }})
          <curly-block expand="{{ instance['nativeFields'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ field in instance['nativeFields'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ field['index']}}]</div>
                  <div class="memberValue">[{{ field['value']}}]</div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>

        <template if="{{ instance['elements'].isNotEmpty }}">
          elements ({{ instance['elements'].length }})
          <curly-block expand="{{ instance['elements'].length <= 8 }}">
            <div class="memberList">
              <template repeat="{{ element in instance['elements'] }}">
                <div class="memberItem">
                  <div class="memberName">[{{ element['index']}}]</div>
                  <div class="memberValue">
                    <instance-ref ref="{{ element['value'] }}">
                    </instance-ref>
                  </div>
                </div>
              </template>
            </div>
          </curly-block><br><br>
        </template>
      </div>

      <hr>

      <div class="content">
        <eval-box callback="{{ eval }}"></eval-box>
      </div>
      <br><br><br><br>
      <br><br><br><br>

    </template>
  </template>
</polymer-element>




<polymer-element name="json-view" extends="observatory-element">
  <template>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
    </nav-bar>
      <pre>{{ mapAsString }}</pre>
  </template>
</polymer-element>














<polymer-element name="library-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu>
      <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>
        <!-- TODO(turnidge): Handle unnamed libraries -->
        library {{ library.name }}
      </h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">url</div>
          <div class="memberValue">{{ library.url }}</div>
        </div>
        <template if="{{ library.name != library.vmName }}">
          <div class="memberItem">
            <div class="memberName">vm name</div>
            <div class="memberValue">{{ library.vmName }}</div>
          </div>
        </template>
      </div>
    </div>

    <hr>

    <div class="content">
      <template if="{{ library.imports.isNotEmpty }}">
        imports ({{ library.imports.length }})
        <curly-block expand="{{ library.imports.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ imp in library.imports }}">
              <div class="memberItem">
                <div class="memberValue">
                  <library-ref ref="{{ imp }}"></library-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.scripts.isNotEmpty }}">
        scripts ({{ library.scripts.length }})
        <curly-block expand="{{ library.scripts.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ script in library.scripts }}">
              <div class="memberItem">
                <div class="memberValue">
                  <script-ref ref="{{ script }}"></script-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.classes.isNotEmpty }}">
        classes ({{ library.classes.length }})
        <curly-block expand="{{ library.classes.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ cls in library.classes }}">
              <div class="memberItem">
                <div class="memberValue">
                  <class-ref ref="{{ cls }}"></class-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.variables.isNotEmpty }}">
        variables ({{ library.variables.length }})
        <curly-block expand="{{ library.variables.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ field in library.variables }}">
              <div class="memberItem">
                <div class="memberName">
                  <field-ref ref="{{ field }}"></field-ref>
                </div>
                <div class="memberValue">
                  <template if="{{ field['value'] != null }}">
                    <instance-ref ref="{{ field['value'] }}"></instance-ref>
                  </template>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>

      <template if="{{ library.functions.isNotEmpty }}">
        functions ({{ library.functions.length }})
        <curly-block expand="{{ library.functions.length <= 8 }}">
          <div class="memberList">
            <template repeat="{{ function in library.functions }}">
              <div class="memberItem">
                <div class="memberValue">
                  <function-ref ref="{{ function }}"></function-ref>
                </div>
              </div>
            </template>
          </div>
        </curly-block><br>
        <br>
      </template>
    </div>

    <hr>

    <div class="content">
      <eval-box callback="{{ eval }}"></eval-box>
    </div>
    <br><br><br><br>
    <br><br><br><br>
  </template>
</polymer-element>


























<polymer-element name="heap-profile" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <style>
    .table {
      border-collapse: collapse!important;
      margin-bottom: 20px
      table-layout: fixed;
    }
    .table td:nth-of-type(1) {
      width: 30%;
    }
    .th, .td {
      padding: 8px;
      vertical-align: top;
    }
    .table thead > tr > th {
      vertical-align: bottom;
      text-align: left;
      border-bottom:2px solid #ddd;
    }
    .spacer {
      width: 16px;
    }
    .left-border-spacer {
      width: 16px;
      border-left: 1px solid;
    }
    .clickable {
      color: #0489c3;
      text-decoration: none;
      cursor: pointer;
    }
    .clickable:hover {
      text-decoration: underline;
      cursor: pointer;
    }
    #classtable tr:hover > td {
      background-color: #F4C7C3;
    }
  </style>
  <nav-bar>
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu>
    <nav-menu link="{{ profile.isolate.relativeLink('allocationprofile') }}" anchor="allocation profile" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ resetAccumulator }}" label="Reset Accumulator"></nav-refresh>
    <nav-refresh callback="{{ refreshGC }}" label="GC"></nav-refresh>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>
  <div class="content">
    <h1>Allocation Profile</h1>
    <br>
    <div class="memberList">
      <div class="memberItem">
        <div class="memberName">last forced GC at</div>
        <div class="memberValue">{{ lastServiceGC }}</div>
      </div>
      <div class="memberItem">
        <div class="memberName">last accumulator reset at</div>
        <div class="memberValue">{{ lastAccumulatorReset }}</div>
      </div>
    </div>
  </div>
  <hr>
  <div class="content-centered-big">
    <div class="flex-row">
      <div id="newSpace" class="flex-item-50-percent">
        <h2>New Generation</h2>
        <br>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">used</div>
            <div class="memberValue">
              {{ isolate.newSpace.used | formatSize }}
              of
              {{ isolate.newSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">external</div>
            <div class="memberValue">
              {{ isolate.newSpace.external | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">Collections</div>
            <div class="memberValue">{{ formattedCollections(true) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Average Collection Time</div>
            <div class="memberValue">{{ formattedAverage(true) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Cumulative Collection Time</div>
            <div class="memberValue">{{ formattedTotalCollectionTime(true) }}</div>
          </div>
        </div>
        <div id="newPieChart" style="height: 300px"></div>
      </div>
      <div id="oldSpace" class="flex-item-50-percent">
        <h2>Old Generation</h2>
        <br>
        <div class="memberList">
          <div class="memberItem">
            <div class="memberName">used</div>
            <div class="memberValue">
              {{ isolate.oldSpace.used | formatSize }}
              of
              {{ isolate.oldSpace.capacity | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">external</div>
            <div class="memberValue">
              {{ isolate.oldSpace.external | formatSize }}
            </div>
          </div>
          <div class="memberItem">
            <div class="memberName">Collections</div>
            <div class="memberValue">{{ formattedCollections(false) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Average Collection Time</div>
            <div class="memberValue">{{ formattedAverage(false) }}</div>
          </div>
          <div class="memberItem">
            <div class="memberName">Cumulative Collection Time</div>
            <div class="memberValue">{{ formattedTotalCollectionTime(false) }}</div>
          </div>
        </div>
        <div id="oldPieChart" style="height: 300px"></div>
      </div>
    </div>
  </div>
  <br>
  <hr>
  <div class="content-centered-big">
    <table id="classtable" class="flex-item-100-percent table">
      <thead id="classTableHead">
        <tr>
          <th on-click="{{changeSort}}" class="clickable" title="Class">{{ classTable.getColumnLabel(0) }}</th>
          <th class="spacer"></th>
          <th on-click="{{changeSort}}" class="clickable" title="New Accumulated Size">{{ classTable.getColumnLabel(2) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Accumulated Instances">{{ classTable.getColumnLabel(3) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Current Size">{{ classTable.getColumnLabel(4) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="New Current Instances">{{ classTable.getColumnLabel(5) }}</th>
          <th class="spacer"></th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Accumulated Size">{{ classTable.getColumnLabel(7) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Accumulated Instances">{{ classTable.getColumnLabel(8) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Current Size">{{ classTable.getColumnLabel(9) }}</th>
          <th on-click="{{changeSort}}" class="clickable" title="Old Current Instances">{{ classTable.getColumnLabel(10) }}</th>
        </tr>
      </thead>
      <tbody id="classTableBody">
      </tbody>
    </table>
    <br><br><br>
    <br><br><br>
  </div>
</template>
</polymer-element>










<polymer-element name="sliding-checkbox">
  <template>
    <style>
      .switch {
        position: relative;
        width: 121px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
      }
      .hide {
        display: none;
      }
      .label {
        display: block;
        overflow: hidden;
        cursor: pointer;
        border: 2px solid #999999;
        border-radius: 15px;
      }
      .content {
        width: 200%;
        margin-left: -100%;
        -moz-transition: margin 0.3s ease-in 0s;
        -webkit-transition: margin 0.3s ease-in 0s;
        -o-transition: margin 0.3s ease-in 0s;
        transition: margin 0.3s ease-in 0s;
      }
      .content:before, .content:after {
        float: left;
        width: 50%;
        height: 30px;
        padding: 0;
        line-height: 30px;
        color: white;
        font: 400 14px 'Montserrat', sans-serif;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
      }
      .content:before {
        content: {{ checkedText }};
        padding-left: 10px;
        background-color: #0489C3;
      }
      .content:after {
        content: {{ uncheckedText }};
        padding-right: 10px;
        background-color: #EEEEEE;
        color: #999999;
        text-align: right;
      }
      .dot {
        width: 14px;
        margin: 8px;
        background: #FFFFFF;
        border: 2px solid #999999;
        border-radius: 15px;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 87px;
        -moz-transition: all 0.3s ease-in 0s;
        -webkit-transition: all 0.3s ease-in 0s;
        -o-transition: all 0.3s ease-in 0s;
        transition: all 0.3s ease-in 0s;
      }
      :checked + .label .content {
        margin-left: 0;
      }
      :checked + .label .dot {
        right: 0px;
      }
    </style>
    <div class="switch">
      <input type="checkbox" class="hide" id="slide-switch" on-change="{{ change }}">
      <label class="label" for="slide-switch">
        <div class="content"></div>
        <div class="dot"></div>
      </label>
    </div>
  </template>
</polymer-element>

<polymer-element name="isolate-profile" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ profile.isolate.relativeLink('profile') }}" anchor="cpu profile" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <style>
      .table {
        border-collapse: collapse!important;
        width: 100%;
        margin-bottom: 20px
      }
      .table thead > tr > th,
      .table tbody > tr > th,
      .table tfoot > tr > th,
      .table thead > tr > td,
      .table tbody > tr > td,
      .table tfoot > tr > td {
        padding: 8px;
        vertical-align: top;
      }
      .table thead > tr > th {
        vertical-align: bottom;
        text-align: left;
        border-bottom:2px solid #ddd;
      }

      tr:hover > td {
        background-color: #FFF3E3;
      }
      .rowColor0 {
        background-color: #FFE9CC;
      }
      .rowColor1 {
        background-color: #FFDEB2;
      }
      .rowColor2 {
        background-color: #FFD399;
      }
      .rowColor3 {
        background-color: #FFC87F;
      }
      .rowColor4 {
        background-color: #FFBD66;
      }
      .rowColor5 {
        background-color: #FFB24C;
      }
      .rowColor6 {
        background-color: #FFA733;
      }
      .rowColor7 {
        background-color: #FF9C19;
      }
      .rowColor8 {
        background-color: #FF9100;
      }

      .tooltip {
        display: block;
        position: absolute;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
      }

      tr:hover .tooltip {
        display: block;
        position: absolute;
        top: 100%;
        right: 100%;
        visibility: visible;
        z-index: 999;
        width: 400px;
        color: #ffffff;
        background-color: #0489c3;
        border-top-right-radius: 8px;
        border-top-left-radius: 8px;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        transition: visibility 0s linear 0.5s;
        transition: opacity .4s ease-in-out;
        opacity: 1;
      }

      .white {
        color: #ffffff;
      }

    </style>
    <div class="content">
      <h1>Sampled CPU profile</h1>
      <div class="memberList">
        <div class="memberItem">
         <div class="memberName">Timestamp</div>
         <div class="memberValue">{{ refreshTime }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Time span</div>
         <div class="memberValue">{{ timeSpan }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample count</div>
         <div class="memberValue">{{ sampleCount }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample rate</div>
         <div class="memberValue">{{ sampleRate }} Hz</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Sample depth</div>
         <div class="memberValue">{{ sampleDepth }} stack frames</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Display cutoff</div>
         <div class="memberValue">{{ displayCutoff }}</div>
        </div>
        <div class="memberItem">
         <div class="memberName">Tags</div>
         <div class="memberValue">
          <select value="{{tagSelector}}">
            <option value="uv">User &gt; VM</option>
            <option value="u">User</option>
            <option value="vu">VM &gt; User</option>
            <option value="v">VM</option>
            <option value="hide">None</option>
          </select>
         </div>
        </div>
      </div>
      <hr>
      <table id="tableTree" class="table">
        <thead>
          <tr>
            <th>Method</th>
            <th>Self</th>
          </tr>
        </thead>
        <tbody>
          <tr template="" repeat="{{row in tree.rows }}" style="{{}}">
            <td on-click="{{toggleExpanded}}" class="{{ coloring(row) }}" style="{{ padding(row) }}">
              <span id="expand" style="{{ row.expanderStyle }}">{{ row.expander }}</span>
              <div style="position: relative;display: inline">
                {{row.columns[0]}}
              </div>
              <code-ref ref="{{ row.code }}"></code-ref>
            </td>
            <td class="{{ coloring(row) }}" style="position: relative">
              {{row.columns[1]}}
              <div class="tooltip">
                <div class="memberList">
                  <div class="memberItem">
                   <div class="memberName white">Kind</div>
                   <div class="memberValue white">{{ row.tipKind }}</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Percent of Parent</div>
                   <div class="memberValue white">{{ row.tipParent }}</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Sample Count</div>
                   <div class="memberValue white">{{ row.tipTicks }} ({{ row.tipExclusive }})</div>
                  </div>
                  <div class="memberItem">
                   <div class="memberName white">Approximate Execution Time</div>
                   <div class="memberValue white">{{ row.tipTime }}</div>
                  </div>
                </div>
              </div>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </template>
</polymer-element>







<polymer-element name="script-view" extends="observatory-element">
<template>
  <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
  <nav-bar>
    <top-nav-menu></top-nav-menu>
    <isolate-nav-menu isolate="{{ script.isolate }}">
    </isolate-nav-menu>
    <nav-menu link="{{ script.link }}" anchor="{{ script.name }}" last="{{ true }}"></nav-menu>
    <nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
    <nav-refresh callback="{{ refresh }}"></nav-refresh>
    <nav-control></nav-control>
  </nav-bar>

  <script-inset id="scriptInset" script="{{ script }}" pos="{{ script.firstTokenPos }}" endpos="{{ script.lastTokenPos }}">
  <h1>script {{ script.name }}</h1>
  </script-inset>
</template>
</polymer-element>






<polymer-element name="stack-trace" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu></top-nav-menu>
      <isolate-nav-menu isolate="{{ trace.isolate }}"></isolate-nav-menu>
      <nav-menu link="{{ trace.isolate.relativeLink('stacktrace') }}" anchor="stack trace" last="{{ true }}"></nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>
    <template if="{{ trace['members'].isEmpty }}">
      <div class="content">
        <em>No stack</em>
      </div>
    </template>
    <template if="{{ trace['members'].isNotEmpty }}">
      <ul class="list-group">
        <template repeat="{{ frame in trace['members'] }}">
          <li class="list-group-item">
            <stack-frame frame="{{ frame }}"></stack-frame>
          </li>
        </template>
      </ul>
    </template>
  </template>
</polymer-element>












<polymer-element name="vm-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>

    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-refresh callback="{{ refresh }}"></nav-refresh>
      <nav-control></nav-control>
    </nav-bar>

    <div class="content">
      <h1>VM</h1>
      <div class="memberList">
        <div class="memberItem">
          <div class="memberName">version</div>
          <div class="memberValue">{{ vm.version }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">uptime</div>
          <div class="memberValue">{{ vm.uptime | formatTime }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">type checks enabled</div>
          <div class="memberValue">{{ vm.typeChecksEnabled }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">asserts enabled</div>
          <div class="memberValue">{{ vm.assertsEnabled }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">pid</div>
          <div class="memberValue">{{ vm.pid }}</div>
        </div>
        <div class="memberItem">
          <div class="memberName">refreshed at</div>
          <div class="memberValue">{{ vm.lastUpdate }}</div>
        </div>
        <br>
        <div class="memberItem">
          <div class="memberValue">
            See <a on-click="{{ goto }}" href="{{ gotoLink('/flags') }}">flags</a>
          </div>
        </div>
      </div>
    </div>

    <br>
    <hr>

    <ul class="list-group">
      <template repeat="{{ isolate in vm.isolates }}">
      	<li class="list-group-item">
          <isolate-summary isolate="{{ isolate }}"></isolate-summary>
        </li>
        <hr>
      </template>
    </ul>
  </template>
</polymer-element>

<polymer-element name="service-view" extends="observatory-element">
  <!-- This element explicitly manages the child elements to avoid setting
       an observable property on the old element to an invalid type. -->
</polymer-element>

<polymer-element name="observatory-application" extends="observatory-element">
  <!-- This element explicitly manages its child elements -->
</polymer-element>





<polymer-element name="service-exception-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ exception.kind }}</h1>
      <br>
      <div class="well">{{ exception.message }}</div>
      <template if="{{ exception.response != '' }}">
        <div class="well">{{ exception.response }}</div>
      </template>
    </div>
  </template>
</polymer-element>






<polymer-element name="service-error-view" extends="observatory-element">
  <template>
    <style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <nav-bar>
      <top-nav-menu last="{{ true }}"></top-nav-menu>
      <nav-control></nav-control>
    </nav-bar>
    <div class="content-centered">
      <h1>{{ error.kind }}</h1>
      <br>
      <div class="well">{{ error.message }}</div>
    </div>
  </template>
</polymer-element>




<polymer-element name="vm-ref" extends="service-ref">
  <template><style>
/* Global styles */
* {
  margin: 0;
  padding: 0;
  font: 400 14px 'Montserrat', sans-serif;
  color: #333;
  box-sizing: border-box;
}

.content {
  padding-left: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered {
  padding-left: 10%;
  padding-right: 10%;
  font: 400 14px 'Montserrat', sans-serif;
}

.content-centered-big {
  padding-left: 5%;
  padding-right: 5%;
  font: 400 14px 'Montserrat', sans-serif;
}

h1 {
  font: 400 18px 'Montserrat', sans-serif;
}

.memberList {
  display: table;
}

.memberItem {
  display: table-row;
}

.memberName, .memberValue {
  display: table-cell;
  vertical-align: top;
  padding: 3px 0 3px 1em;
  font: 400 14px 'Montserrat', sans-serif;
}

.monospace {
  font-family: consolas, courier, monospace;
  font-size: 1em;
  line-height: 1.2em;
  white-space: nowrap;
}

a {
  color: #0489c3;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

em {
  color: inherit;
  font-style: italic;
}

b {
  color: inherit;
  font-weight: bold;
}

hr {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #eee;
  height: 0;
  box-sizing: content-box;
}

.list-group {
  padding-left: 0;
  margin-bottom: 20px;
}

.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
}

.list-group-item:first-child {
  /* rounded top corners */
  border-top-right-radius:4px;
  border-top-left-radius:4px;
}

.list-group-item:last-child {
  margin-bottom: 0;
  /* rounded bottom corners */
  border-bottom-right-radius: 4px;
  border-bottom-left-radius:4px;
}

/* Flex row container */
.flex-row {
  display: flex;
  flex-direction: row;
}

/* Flex column container */
.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-item-fit {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
}

.flex-item-no-shrink {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
}

.flex-item-fill {
  flex-grow: 0;
  flex-shrink: 1;  /* shrink when pressured */
  flex-basis: 100%;  /* try and take 100% */
}

.flex-item-fixed-1-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 8.3%;
}

.flex-item-fixed-2-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 16.6%;
}

.flex-item-fixed-4-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 33.3333%;
}

.flex-item-fixed-6-12, .flex-item-50-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 50%;
}

.flex-item-fixed-8-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 66.6666%;
}

.flex-item-fixed-9-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 75%;
}


.flex-item-fixed-12-12 {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

.flex-item-10-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10%;
}

.flex-item-15-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 15%;
}

.flex-item-20-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 20%;
}

.flex-item-30-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 30%;
}

.flex-item-40-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 40%;
}

.flex-item-60-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 60%;
}

.flex-item-70-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 70%;
}

.flex-item-80-percent {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 80%;
}

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
}

.break-wrap {
  word-wrap: break-word;
}
</style>
    <a on-click="{{ goto }}" href="{{ url }}">{{ ref.name }}</a>
  </template>
</polymer-element>




  <observatory-application></observatory-application>

<script src="index.html_bootstrap.dart.js"></script></body></html>