1<!DOCTYPE html>
2<html>
3<head i18n-values="dir:textdirection;">
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5<meta charset="utf-8"/>
6<title>Android System Trace</title>
7<style>
8  html,
9  body {
10    height: 100%;
11  }
12
13  body {
14    -webkit-flex-direction: column;
15    display: -webkit-flex;
16    margin: 0;
17    padding: 0;
18  }
19
20  body > tr-ui-timeline-view {
21    -webkit-flex: 1 1 auto;
22    min-height: 0;
23  }
24  body > tr-ui-timeline-view:focus {
25    outline: none;
26  }
27</style>
28<template id="overlay-template">
29  <style>
30    overlay-mask {
31      left: 0;
32      padding: 8px;
33      position: absolute;
34      top: 0;
35      z-index: 1000;
36      font-family: sans-serif;
37      -webkit-justify-content: center;
38      background: rgba(0, 0, 0, 0.8);
39      display: -webkit-flex;
40      height: 100%;
41      left: 0;
42      position: fixed;
43      top: 0;
44      width: 100%;
45    }
46    overlay-mask:focus {
47      outline: none;
48    }
49    overlay-vertical-centering-container {
50      -webkit-justify-content: center;
51      -webkit-flex-direction: column;
52      display: -webkit-flex;
53    }
54    overlay-frame {
55      z-index: 1100;
56      background: rgb(255, 255, 255);
57      border: 1px solid #ccc;
58      margin: 75px;
59      display: -webkit-flex;
60      -webkit-flex-direction: column;
61      min-height: 0;
62    }
63    title-bar {
64      -webkit-align-items: center;
65      -webkit-flex-direction: row;
66      border-bottom: 1px solid #ccc;
67      background-color: #ddd;
68      display: -webkit-flex;
69      padding: 5px;
70      -webkit-flex: 0 0 auto;
71    }
72    title {
73      display: inline;
74      font-weight: bold;
75      -webkit-box-flex: 1;
76      -webkit-flex: 1 1 auto;
77    }
78    close-button {
79      -webkit-align-self: flex-end;
80      border: 1px solid #eee;
81      background-color: #999;
82      font-size: 10pt;
83      font-weight: bold;
84      padding: 2px;
85      text-align: center;
86      width: 16px;
87    }
88    close-button:hover {
89      background-color: #ddd;
90      border-color: black;
91      cursor: pointer;
92    }
93    overlay-content {
94      display: -webkit-flex;
95      -webkit-flex: 1 1 auto;
96      -webkit-flex-direction: column;
97      overflow-y: auto;
98      padding: 10px;
99      min-width: 300px;
100      min-height: 0;
101    }
102    button-bar {
103      -webkit-align-items: baseline;
104      border-top: 1px solid #ccc;
105      display: -webkit-flex;
106      -webkit-flex: 0 0 auto;
107      -webkit-flex-direction: row-reverse;
108      padding: 4px;
109    }
110  </style>
111
112  <overlay-mask>
113    <overlay-vertical-centering-container>
114      <overlay-frame>
115        <title-bar>
116          <title></title>
117          <close-button>✕</close-button>
118        </title-bar>
119        <overlay-content>
120          <content></content>
121        </overlay-content>
122        <button-bar></button-bar>
123      </overlay-frame>
124    </overlay-vertical-centering-container>
125  </overlay-mask>
126</template><style>
127* /deep/ .labeled-checkbox {
128  display: flex;
129  white-space: nowrap;
130}
131</style><dom-module id="tr-ui-a-analysis-link">
132  <template>
133    <style>
134    :host {
135      display: inline;
136      cursor: pointer;
137      cursor: pointer;
138      white-space: nowrap;
139    }
140    a {
141      text-decoration: underline;
142    }
143    </style>
144    <a href="{{href}}" on-click="onClicked_" on-mouseenter="onMouseEnter_" on-mouseleave="onMouseLeave_"><content></content></a>
145
146  </template>
147</dom-module><dom-module id="tr-ui-b-table">
148  <template>
149    <style>
150      :host {
151        display: flex;
152        flex-direction: column;
153      }
154
155      table {
156        flex: 1 1 auto;
157        align-self: stretch;
158        border-collapse: separate;
159        border-spacing: 0;
160        border-width: 0;
161        -webkit-user-select: initial;
162      }
163
164      tr > td {
165        padding: 2px 4px 2px 4px;
166        vertical-align: top;
167      }
168
169      table > tbody:focus {
170        outline: none;
171      }
172      table > tbody:focus[selection-mode="row"] > tr[selected],
173      table > tbody:focus[selection-mode="cell"] > tr > td[selected],
174      table > tbody:focus > tr.empty-row > td {
175        outline: 1px dotted #666666;
176        outline-offset: -1px;
177      }
178
179      button.toggle-button {
180        height: 15px;
181        line-height: 60%;
182        vertical-align: middle;
183        width: 100%;
184      }
185
186      button > * {
187        height: 15px;
188        vertical-align: middle;
189      }
190
191      td.button-column {
192        width: 30px;
193      }
194
195      table > thead > tr > td.sensitive:hover {
196        background-color: #fcfcfc;
197      }
198
199      table > thead > tr > td {
200        font-weight: bold;
201        text-align: left;
202
203        background-color: #eee;
204        white-space: nowrap;
205        overflow: hidden;
206        text-overflow: ellipsis;
207
208        border-top: 1px solid #ffffff;
209        border-bottom: 1px solid #aaa;
210      }
211
212      table > tfoot {
213        background-color: #eee;
214        font-weight: bold;
215      }
216
217      /* Light row and cell highlight. */
218      table > tbody[row-highlight-style="light"] > tr[selected],
219      table > tbody[cell-highlight-style="light"] > tr > td[selected] {
220        background-color: rgb(213, 236, 229);  /* light turquoise */
221      }
222      table > tbody[row-highlight-style="light"] >
223          tr:not(.empty-row):not([selected]):hover,
224      table > tbody[cell-highlight-style="light"] >
225          tr:not(.empty-row):not([selected]) > td:hover {
226        background-color: #f6f6f6;  /* light grey */
227      }
228
229      /* Dark row and cell highlight. */
230      table > tbody[row-highlight-style="dark"] > tr[selected],
231      table > tbody[cell-highlight-style="dark"] > tr > td[selected] {
232        background-color: rgb(103, 199, 165);  /* turquoise */
233      }
234      table > tbody[row-highlight-style="dark"] >
235          tr:not(.empty-row):not([selected]):hover,
236      table > tbody[cell-highlight-style="dark"] >
237          tr:not(.empty-row):not([selected]) > td:hover {
238        background-color: #e6e6e6;  /* grey */
239      }
240      table > tbody[row-highlight-style="dark"] > tr:hover[selected],
241      table > tbody[cell-highlight-style="dark"] > tr[selected] > td:hover {
242        background-color: rgb(171, 217, 202);  /* semi-light turquoise */
243      }
244
245      table > colgroup > col[selected] {
246        background-color: #e6e6e6;  /* grey */
247      }
248
249      table > tbody > tr.empty-row > td {
250        color: #666;
251        font-style: italic;
252        text-align: center;
253      }
254
255      table > tbody.has-footer > tr:last-child > td {
256        border-bottom: 1px solid #aaa;
257      }
258
259      table > tfoot > tr:first-child > td {
260        border-top: 1px solid #ffffff;
261      }
262
263      :host([zebra]) table tbody tr:nth-child(even) {
264        background-color: #f4f4f4;
265      }
266
267      expand-button {
268        -webkit-user-select: none;
269        cursor: pointer;
270        margin-right: 3px;
271        font-size: smaller;
272        height: 1rem;
273      }
274
275      expand-button.button-expanded {
276        transform: rotate(90deg);
277      }
278    </style>
279    <table>
280      <colgroup id="cols">
281      </colgroup>
282      <thead id="head">
283      </thead>
284      <tbody id="body">
285      </tbody>
286      <tfoot id="foot">
287      </tfoot>
288    </table>
289  </template>
290</dom-module><dom-module id="tr-ui-b-table-header-cell">
291  <template>
292  <style>
293    :host {
294      -webkit-user-select: none;
295      display: flex;
296    }
297
298    span {
299      flex: 0 1 auto;
300    }
301
302    #side {
303      -webkit-user-select: none;
304      flex: 0 0 auto;
305      padding-left: 2px;
306      padding-right: 2px;
307      vertical-align: top;
308      font-size: 15px;
309      font-family: sans-serif;
310      line-height: 85%;
311      margin-left: 5px;
312    }
313
314    #side.disabled {
315      color: rgb(140, 140, 140);
316    }
317
318    #title:empty, #side:empty {
319      display: none;
320    }
321  </style>
322
323    <span id="title"></span>
324    <span id="side"></span>
325  </template>
326</dom-module><dom-module id="tr-v-ui-scalar-context-controller">
327  <template></template>
328</dom-module><dom-module id="tr-v-ui-scalar-span">
329  <template>
330    <style>
331    :host {
332      display: flex;
333      flex-direction: row;
334      justify-content: flex-end;
335      position: relative;
336      /* Limit the sparkline's negative z-index to the span only. */
337      isolation: isolate;
338    }
339
340    :host(.left-align) {
341      justify-content: flex-start;
342    }
343
344    :host(.inline) {
345      display: inline-flex;
346    }
347
348    #sparkline {
349      width: 0%;
350      position: absolute;
351      bottom: 0;
352      display: none;
353      height: 100%;
354      background-color: hsla(216, 100%, 94.5%, .75);
355      border-color: hsl(216, 100%, 89%);
356      box-sizing: border-box;
357      z-index: -1;
358    }
359    #sparkline.positive {
360      border-right-style: solid;
361      /* The border width must be kept in sync with buildSparklineStyle_(). */
362      border-right-width: 1px;
363    }
364    #sparkline:not(.positive) {
365      border-left-style: solid;
366      /* The border width must be kept in sync with buildSparklineStyle_(). */
367      border-left-width: 1px;
368    }
369    #sparkline.better {
370      background-color: hsla(115, 100%, 93%, .75);
371      border-color: hsl(118, 60%, 80%);
372    }
373    #sparkline.worse {
374      background-color: hsla(0, 100%, 88%, .75);
375      border-color: hsl(0, 100%, 80%);
376    }
377
378    #content, #significance, #warning {
379      flex-grow: 0;
380    }
381    #content.better {
382      color: green;
383    }
384    #content.worse {
385      color: red;
386    }
387
388    #significance svg {
389      margin-left: 4px;
390      display: none;
391      height: 1em;
392      vertical-align: text-top;
393      stroke-width: 4;
394      fill: rgba(0, 0, 0, 0);
395    }
396    #significance #insignificant {
397      stroke: black;
398    }
399    #significance #significantly_better {
400      stroke: green;
401    }
402    #significance #significantly_worse {
403      stroke: red;
404    }
405
406    #warning {
407      display: none;
408      margin-left: 4px;
409      height: 1em;
410      vertical-align: text-top;
411      stroke-width: 0;
412    }
413    #warning path {
414      fill: rgb(255, 185, 185);
415    }
416    #warning rect {
417      fill: red;
418    }
419    </style>
420
421    <span id="sparkline"></span>
422
423    <span id="content"></span>
424
425    <span id="significance">
426
427      <svg id="insignificant" viewBox="0 0 128 128">
428        <circle cx="64" cy="64" r="60"></circle>
429        <circle cx="44" cy="44" r="4"></circle>
430        <circle cx="84" cy="44" r="4"></circle>
431        <line x1="36" x2="92" y1="80" y2="80"></line>
432      </svg>
433
434
435      <svg id="significantly_better" viewBox="0 0 128 128">
436        <circle cx="64" cy="64" r="60"></circle>
437        <circle cx="44" cy="44" r="4"></circle>
438        <circle cx="84" cy="44" r="4"></circle>
439        <path d="M 28 64 Q 64 128 100 64"></path>
440      </svg>
441
442
443      <svg id="significantly_worse" viewBox="0 0 128 128">
444        <circle cx="64" cy="64" r="60"></circle>
445        <circle cx="44" cy="44" r="4"></circle>
446        <circle cx="84" cy="44" r="4"></circle>
447        <path d="M 36 96 Q 64 48 92 96"></path>
448      </svg>
449    </span>
450
451    <svg id="warning" viewBox="0 0 128 128">
452      <path d="M 64 0 L 128 128 L 0 128 L 64 0"></path>
453      <rect height="84" width="8" x="60" y="0"></rect>
454      <rect height="24" width="8" x="60" y="100"></rect>
455    </svg>
456  </template>
457</dom-module><dom-module id="tr-ui-a-generic-object-view">
458  <template>
459    <style>
460    :host {
461      display: block;
462      font-family: monospace;
463    }
464    </style>
465    <div id="content">
466    </div>
467  </template>
468</dom-module><dom-module id="tr-ui-a-generic-object-view-with-label">
469  <template>
470    <style>
471    :host {
472      display: block;
473    }
474    </style>
475  </template>
476</dom-module><dom-module id="tr-ui-b-drag-handle">
477  <template>
478    <style>
479    :host {
480      -webkit-user-select: none;
481      box-sizing: border-box;
482      display: block;
483    }
484
485    :host(.horizontal-drag-handle) {
486      background-image: -webkit-gradient(linear,
487                                         0 0, 0 100%,
488                                         from(#E5E5E5),
489                                         to(#D1D1D1));
490      border-bottom: 1px solid #8e8e8e;
491      border-top: 1px solid white;
492      cursor: ns-resize;
493      flex: 0 0 auto;
494      height: 7px;
495      position: relative;
496    }
497
498    :host(.vertical-drag-handle) {
499      background-image: -webkit-gradient(linear,
500                                         0 0, 100% 0,
501                                         from(#E5E5E5),
502                                         to(#D1D1D1));
503      border-left: 1px solid white;
504      border-right: 1px solid #8e8e8e;
505      cursor: ew-resize;
506      flex: 0 0 auto;
507      position: relative;
508      width: 7px;
509    }
510    </style>
511    <div></div>
512  </template>
513</dom-module><dom-module id="tv-ui-b-hotkey-controller">
514  <template>
515    <div></div>
516  </template>
517</dom-module><dom-module id="tr-ui-b-info-bar">
518  <template>
519    <style>
520    :host {
521      align-items: center;
522      flex: 0 0 auto;
523      background-color: rgb(252, 235, 162);
524      border-bottom: 1px solid #A3A3A3;
525      border-left: 1px solid white;
526      border-right: 1px solid #A3A3A3;
527      border-top: 1px solid white;
528      display: flex;
529      height: 26px;
530      padding: 0 3px 0 3px;
531    }
532
533    :host([hidden]) {
534      display: none !important;
535    }
536
537    #message { flex: 1 1 auto; }
538    </style>
539
540    <span id="message"></span>
541    <span id="buttons"></span>
542  </template>
543</dom-module><style>
544* /deep/ .x-list-view{-webkit-user-select:none;display:block}* /deep/ .x-list-view:focus{outline:none}* /deep/ .x-list-view *{-webkit-user-select:none}* /deep/ .x-list-view>.list-item{padding:2px 4px 2px 4px}* /deep/ .x-list-view:focus>.list-item[selected]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ .x-list-view>.list-item[selected]{background-color:rgb(103,199,165)}
545</style><dom-module id="tr-ui-b-mouse-mode-icon">
546  <template>
547    <style>
548    :host {
549      display: block;
550      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=);
551      width: 27px;
552      height: 30px;
553    }
554    :host.active {
555      cursor: auto;
556    }
557    </style>
558  </template>
559</dom-module><dom-module id="tr-ui-b-mouse-mode-selector">
560  <template>
561    <style>
562    :host {
563
564      -webkit-user-drag: element;
565      -webkit-user-select: none;
566
567      background: #DDD;
568      border: 1px solid #BBB;
569      border-radius: 4px;
570      box-shadow: 0 1px 2px rgba(0,0,0,0.2);
571      left: calc(100% - 120px);
572      position: absolute;
573      top: 100px;
574      user-select: none;
575      width: 29px;
576      z-index: 20;
577    }
578
579    .drag-handle {
580      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAChCAYAAACbBNzvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABV0RVh0Q3JlYXRpb24gVGltZQA3LzE2LzEzRNEKUwAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAA9aSURBVHic7V1rTFvl//+UrgUmZWMpbLa6cLErwpYxkqLGkjAG88WSbmumGUllvlmAJctMRtybvlHrLXiJUekMIZuYSCL5gS+EuLIXGEGjqCsllCEW6xQECgzWG7S05/+C/zkp9LTn0gsL6ych9JzznOdzPj19Luf5PN/nCN59913ixRdfRFdXFxLx/2GDgCAIYmpqCoWFhUjE/4cNae+99x4AIFH/Hzak7nDqDu+wOyyw2WzEdl9EMpG23ReQbKQE73Q8coJ3bfcFWK1W/Pbbb/D7/UhLi/37DwaDEIvFKC8vR0lJSdjxbRVstVoxPDyMxx9/HAUFBcjMzIRAIOCdXzAYhNvtht1ux/DwMACEid5WwSMjI3jyySdRXFwMsVgMoVAYk2CCIJCZmYns7GyMjo5iZGQkPoKXl5exd+9e3hdGIhgMIj8/H5mZmRCJRIyCyQ5NJBAEgUAgAKFQiIKCAiwsLISl4VxoHA4H+vv74Xa7uZ4aBqFQiOzsbIhEIojFYojFYohEItq/8fFxXLlyBUtLSxHThOaxZ88eCIXC2AWPj48DAH799deYBaelpUEoFLL6++qrrwAAH3zwAav0YrGYthLkJHh6ehpzc3MAgPn5eUxPT8csWiAQMJbboaEhmM1mAIDFYsHQ0BDvPDkJtlgsYdt+v59LFrxw/fr1sG2Xy8UrL06C6+vrw7bFYjEvYi747rvvwrYlEgmvvDjV0g6HI+p2ohBP3qh32OFwoLe3l1VGvb29sNvtvC8kFCMjI9DpdKzS6nQ6mEwm1nnTPg/7/X6MjY1hcnKS/VX+P/bu3YuysjLk5uYypv36669x8uRJZGRkQCQSwev1oqOjAz09PZx5CwsLcenSJRw+fBh+vx+rq6swmUx46aWXNqWjvcMDAwO8xAIbnZKBgQFeNXhzczMvscBGp6S5uRk//vhj1HS0grVaLYqLi3kRy+Vy1NXVRe0RRcKNGzeg0Wh48apUKnR1daG6ujpqOtpKy+VyQa1Wo6SkBLdv38aFCxeoY5988gn1+fLly9TnL774ApWVlXjiiSfgdDqxtrbG+aJ9Ph/0ej3OnDkDvV6PW7duUceOHDlCfR4dHaU+v/DCC7h27RrUajWcTidWV1ejctAKJggCKysryMzMhE6nw+zsLO3Joft1Oh0ePHiApaUlduqi8BYVFaGvr48Vb19fHyfeqM2Sz+dj3QTEs4lKJC+njsfWJoptkxUrtjZRbJssOnASXFtbG3U7UXjrrbeibnMBJ8FZWVkoKysDABQUFCArK4s3MRcoFArqrlZXV0OhUPDOi5Ngn8+Hw4cPQyqV4tlnn4XP5+NNTIIgmH0An8+HV155BUqlEq+++ior3kAgQLuf84jH2toajh8/jvX1da6n0sLj8SAjI4MxHUEQ+PTTT1nlSRAEHjx4QHtsW8e0RCIR7HY79uzZE/GOcEUgEEAgEMDff/8NkUgUdnxbBR85cgRmsxkCgQD5+fkRh2XYIhAI4P79+5iamoLD4cCxY8fC0myr4KeeegoCgQBWqxVzc3NIS0uLedQyGAxi165dKC8vR1FRUVialHu405ESvNPxyAlOuYfJRMo9fFjdw3iBq3vIBDbu4bYK3uoextKtJEH2yWNyD8nyEG8wuYcffvgha3cxru6h3W5Hf39/QoyzaE6fyWRCQ0MDZ+MsLu7h8vIyent7sby8zIk8VkxNTUGn08Fms8UlP04Nn9/vR39/f9w8JLZwu91obGzk5CFFAq+Wfnh4mDKok4mWlha0trbGlAfvrs3k5CQGBgaSYoiHoqenB1evXk2OIb4VDocDJpMp6eXaYrGgsbGRV7mOufPq8XgwMDCQ9HI9NzeHq1evci7XvDseUqkUWq0W6enpCAaDcDqd8Hq9fLNjDaVSiRs3bkAikfDi5XSHxWIxampqAAALCwsYGhrC7Ows5ufnEypWIpHAYDAAACYmJnD9+nXevJwEnzp1CjKZDBUVFQCAsbGxpJTfjz76CFVVVWhqagIAdHR08G6XWQuuqanB7t274fV6UVpaiuzsbAAbTzyJhMFggEKhgNfrRX19PWQyGQDAaDTyyo+V4JqaGshkMsricLlcOH78OICNCWp8p0cwwWAwoKqqahPvG2+8AWDji+7u7uacJyvBMpksrKxkZWVR0yLGxsY4E7NBVVVVGK9CoaCmRXR0dHDOk5VguorB5/OhoqICYrE4YZ2PSLxXrlyBRCLhNcE1pufh1dVVXLx4EWlpaRGnJzCBjXtId87g4GBU3ri5h1uJ5+fnY8mCtXvIhTflHoYg5R4mEyn3MAl45KyWlOCdjkdOcMo9TCZS7mHKPeSGhLmH5LBOrAGXXN1DcliHrgdFgsk95CzYbrfDbDbD7/ejrKwstpmtNO5hJJhMJrS2tsLtdqOpqQlarTZi2mjuIWvBfr8fZrN50/iz2WzG9PQ0nn/+edonEzZgij10uVwwGo2bxp+NRiOGhobw+uuv005hjtk9JENz6AbbyWCuRESp2Ww2NDc30w62WywW6HQ6zoOIrO5wbm4uzp8/j5WVFXR2dm46VldXh3379mF5eTku86dDUVxcjK6uLthstrClqrq6unDo0CHOvKwE+/1+LC4uUqG0oZiYmIhaicQCkvfu3bthxwYGBnhVmpy6NnSD7kxxQvEA3Zo+fIsQJ8F040j379/nRcwFdF4037FwToLphkUXFxd5EXMB3chkUgQ7nc6wfT6fL+Gm+H///Re2z+Vy8TLFGSut/v5+RsPsm2++AbDR84pXLFNDQwPjelxnz54FsBFK+/nnn7PKl/EOa7VaVmHvYrE4au+HK27evMkq7F0ikeDmzZus82UU7HK5qG8yGs6ePct73gUdfD4f2tvbGdO1t7dzaocZBRMEAaFQSBnhdKipqYFQKORlm0TjzcvLo4xwOhgMBuTl5XHiZVVp+f1+yGQy2iDq4uJiyGSyhFRcfr8fVVVVtEHUGo0GVVVVnHlZ19JerxdqtRpSqZTaJ5VKoVarEzrdwev1Qq/XQ6lUUvuUSiX0ej0vXk7N0srKCjQaDbXmjUajwcrKCmfSULD5Oa6srKCtrQ0SiQQSiQRtbW2MvHFzD0MrsXhUUmzdw9BKjKmSiqt7SBBE3Conru4hOa8kWqBnyj3cgl0EQcQ0cMYWW3kIgkiKe7iVV2C1Won09PSYxLCB1+tFZmYmtb22tobt4E1LBimATaQAkiKWjveR85ZSgnc6Uu5hMpFyD1PuITekYg/ZxB52dXXFTMo2n1D38NSpU7zjDEP/yHzisnJpIsBm5dJ45rntgpONuITTJirctqWlJabjdGAUvNUEp0NouxcvtLa2MgZhmUwmzqKjCrbb7aw9HC5pmWAymVivb2kymTgFe0RslrbeNTa1rtlshkgkQn5+PusL2Iqtd42NdWM0GpGVlYWTJ08ypo14h/nGI8Uax8Q3XJbteREFV1ZW8iLmex6Ja9euJfS8iD9puVyOmpoa3L59G8DmVUq3glzNlAzoimVgvrq6GmlpadDr9QA2r1K6FeRqpmRAFxveiIK9Xi8VZ/jLL78whulUVFTELJbkJeMMjUYjI29TUxNrsQBDX5qMM4w0qE2iuLgYpaWlcXMPyThDphWMNRoN6uvrOfGyskvVanXUNGq1Oq5WKclL/qwjQa/Xc+Zl1dNi8nFi9ZeSyZvqS0erjbmAbT6kT7X1lQp8QeYTyasKE8w3aJJvPh6PBwRBYGZmJi68MzMzqdjDUDx67mEsFxwrUrGHSUCqWdrpSAne6dix7uFzzz1HW0s/FO7h/v37UVBQgMceeyxm99DlcsFut2NwcBACgSDsnTHb7h4ePHgQxcXFcTPTMjIyIJFIcOfOHfz+++8Pl2DSPSTftxQv93DXrl0oKirCnTt3wtIwFhq62aputxtms5maCR8pHROEQiEkEgntew/X1tbC3mu4tLSE9vZ2nD9/njZd6Pn79u3jHoo3OTmJsbExnDlzBsDGWLXdbqcNoent7YVCocChQ4dYh+VFij3s7u5GR0cH9YWaTCbcunVr0yMkmfbChQvQarXQarVUWF4wGER6ejp7wdPT0zCbzfB4PJv2R7NT/H4/rFYrJicnUVZWxnowPtTpGxoagtFoDAsIi2anuN1ufPnll+ju7salS5dw4sQJKk+64hH2FTgcDgwPD4eJZQu/3w+bzcZ5JSSLxYL333+fNvqNDdxuN3p6ehjPDxMsl8tjjkw5ceIENfOVLVQqFd58882YeA0GA7WiWiSECfb5fPjpp58AbKyBx/bCpVIp6urqAADff/895wf6tbU1fPbZZwCAjz/+mPHCSSiVSsr3eueddxh5aWtpMrwuJyeH9cuczp07R5UZvktO/fnnnwCAY8eOoa+vj9U5nZ2d1CsH2fhaUZulwcFB1kGNi4uLjK/gYwuDwcCJ9+2332add9RmyW63w+12Q6FQIC8vD5cvX8bCwgI19VcqlcJms8HhcGBycjJuSz6aTCbMzs5Cq9Xi6NGjGB0dxcTEBJxOJyQSCZRKJUZGRjAyMoL//e9/jBFsoaAVLJfLKZvD4XBQ37ZEItlUph0OB238gVwu5ySQhEqlopo+i8VCtbsymWxTmb579y6t46BSqRg5aAXX1tbi22+/DZvY5XQ6aQMuQyGVSlFbW8trgb6WlhY0NDRgYmJi0/6ZmRnGYVylUomWlhbGeGbaMuzxeKDRaKhVDdkgOzsblZWVOHfuHO82fH19HW1tbWhqamL9ul2ZTIbXXnsNnZ2drN7yFfFFjy6XC6WlpVCpVFhaWsK///5LVfnz8/PIy8sDAOzevRu5ubnIycmBx+OJKZ6YIAj4fD7U19ejsbERf/zxB4aHhykrdHx8HE8//TQAYP/+/VAqlVAoFJx4I1ZapGiyrBw4cAD37t2DXC7HgQMHAGx0QXNycrC+vh63VR5Cecnw3J6eHqhUKpSXlwPY6OI+88wzALiHxnN6PPz555/D9h08eJATIR/Qzd9gE/FKh9SYFlvI5XKqPMUCrlFuKpUKp0+fZkwXDAZp93MSLBaLUVJSgqNHjyIjIwNerzfmOR0ul4sx9lAikeD06dN4+eWXIZVKGXnj5h5evHgRXq8XHo+Hd9MTCpFIhHv37iEnJydqp/+HH36A1+uFy+VirKTi6h7Gug7tVpDuIUEQKCwsjOge/vPPP6zyCwQCWF5exl9//YX5+Xla93DbzTSbzQar1Yr19fW4uoclJSUp9xB4BJullOCdjkdO8P8BGCQ0hnF1DxUAAAAASUVORK5CYII=) 2px 3px no-repeat;
581      background-repeat: no-repeat;
582      border-bottom: 1px solid #BCBCBC;
583      cursor: move;
584      display: block;
585      height: 13px;
586      width: 27px;
587    }
588
589    .tool-button {
590      background-position: center center;
591      background-repeat: no-repeat;
592      border-bottom: 1px solid #BCBCBC;
593      border-top: 1px solid #F1F1F1;
594      cursor: pointer;
595    }
596
597    .buttons > .tool-button:last-child {
598      border-bottom: none;
599    }
600
601    </style>
602    <div class="drag-handle"></div>
603    <div class="buttons">
604    </div>
605  </template>
606</dom-module><dom-module id="tr-ui-e-chrome-cc-display-item-list-item">
607  <template>
608    <style>
609      :host {
610        border-bottom: 1px solid #555;
611        display: block;
612        font-size: 12px;
613        padding: 3px 5px;
614      }
615
616      :host(:hover) {
617        background-color: #f0f0f0;
618        cursor: pointer;
619      }
620
621      .header {
622        font-weight: bold;
623        margin: 2px 0;
624      }
625
626      .header > .extra {
627        background-color: #777;
628        border-radius: 4px;
629        color: white;
630        margin: 0 6px;
631        text-decoration: none;
632        padding: 2px 4px;
633      }
634
635      .raw-details {
636        white-space: pre-wrap;
637      }
638
639      .details > dl {
640        margin: 0;
641      }
642
643      :host(:not([selected])) .details {
644        display: none;
645      }
646    </style>
647    <div class="header">
648      {{name}}
649      <template if="{{_computeIf(richDetails)}}" is="dom-if">
650        <a class="extra" download="drawing.skp" href$="{{_computeHref(richDetails)}}" on-click="{{stopPropagation}}">SKP</a>
651      </template>
652    </div>
653    <div class="details">
654      <template if="{{rawDetails}}">
655        <div class="raw-details">{{rawDetails}}</div>
656      </template>
657      <template bind="{{richDetails}}" if="{{richDetails}}" is="dom-if">
658        <dl>
659          <template bind="{{cullRect}}" if="{{cullRect}}" is="dom-if">
660            <dt>Cull rect</dt>
661            <dd>{{x}},{{y}} {{width}}×{{height}}</dd>
662          </template>
663          <template bind="{{visualRect}}" if="{{visualRect}}" is="dom-if">
664            <dt>Visual rect</dt>
665            <dd>{{x}},{{y}} {{width}}×{{height}}</dd>
666          </template>
667        </dl>
668      </template>
669    </div>
670  </template>
671
672</dom-module><style>
673* * /deep/ tr-ui-e-chrome-cc-picture-ops-list-view{-webkit-flex-direction:column;border-top:1px solid grey;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view{-webkit-flex:1 1 auto;overflow:auto}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item{border-bottom:1px solid #555;font-size:small;font-weight:bold;padding-bottom:5px;padding-left:5px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item:hover{background-color:#f0f0f0;cursor:pointer}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>*{color:#777;font-size:x-small;font-weight:normal;margin-left:1em;max-width:300px}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.elementInfo{color:purple;font-size:small;font-weight:bold}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view>.x-list-view .list-item>.time{color:rgb(136,0,0)}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view:focus>.list-item[beforeSelection]{background-color:rgb(171,217,202);outline:1px dotted rgba(0,0,0,0.1);outline-offset:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-list-view .x-list-view>.list-item[beforeSelection]{background-color:rgb(103,199,165)}
674</style><template id="tr-ui-e-chrome-cc-display-item-debugger-template">
675  <style>
676  * /deep/ tr-ui-e-chrome-cc-display-item-debugger {
677    -webkit-flex: 1 1 auto;
678    display: -webkit-flex;
679  }
680
681  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel {
682    -webkit-flex-direction: column;
683    display: -webkit-flex;
684    min-width: 300px;
685    overflow-y: auto;
686  }
687
688  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
689        display-item-info {
690    -webkit-flex: 1 1 auto;
691    padding-top: 2px;
692  }
693
694  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
695        display-item-info .title {
696    font-weight: bold;
697    margin-left: 5px;
698    margin-right: 5px;
699  }
700
701  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
702        display-item-info .export {
703    margin: 5px;
704  }
705
706  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > tr-ui-b-drag-handle {
707    -webkit-flex: 0 0 auto;
708  }
709
710  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel {
711    -webkit-flex: 1 1 auto;
712    display: -webkit-flex;
713  }
714
715  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > left-panel >
716      display-item-info > header {
717    border-bottom: 1px solid #555;
718  }
719
720  /*************************************************/
721
722  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
723      tr-ui-e-chrome-cc-picture-ops-list-view.hasPictureOps {
724    display: block;
725  }
726
727  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
728        tr-ui-b-drag-handle.hasPictureOps {
729    display: block;
730  }
731
732  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
733        tr-ui-e-chrome-cc-picture-ops-list-view {
734    display: none;
735    overflow-y: auto;
736  }
737
738  * /deep/ tr-ui-e-chrome-cc-display-item-debugger > right-panel >
739        tr-ui-b-drag-handle {
740    display: none;
741  }
742
743  * /deep/ tr-ui-e-chrome-cc-display-item-debugger raster-area {
744    -webkit-flex: 1 1 auto;
745    background-color: #ddd;
746    min-height: 200px;
747    min-width: 200px;
748    overflow-y: auto;
749    padding-left: 5px;
750  }
751  </style>
752
753  <left-panel>
754    <display-item-info>
755      <header>
756        <span class="title">Display Item List</span>
757        <span class="size"></span>
758        <div class="export">
759          <input class="dlfilename" type="text" value="displayitemlist.json"/>
760          <button class="dlexport">Export display item list</button>
761        </div>
762        <div class="export">
763          <input class="skpfilename" type="text" value="skpicture.skp"/>
764          <button class="skpexport">Export list as SkPicture</button>
765        </div>
766      </header>
767    </display-item-info>
768  </left-panel>
769  <right-panel>
770    <raster-area><canvas></canvas></raster-area>
771  </right-panel>
772</template><style>
773* /deep/ .tr-ui-e-chrome-cc-display-item-list-view{-webkit-flex:1 1 auto!important;display:-webkit-flex}
774</style><style>
775* /deep/ tr-ui-e-chrome-cc-layer-picker{-webkit-flex-direction:column;display:-webkit-flex}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;display:inline;font-size:14px;padding-left:2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>top-controls input[type='checkbox']{vertical-align:-2px}* /deep/ tr-ui-e-chrome-cc-layer-picker>.x-list-view{-webkit-flex:1 1 auto;font-family:monospace;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view{-webkit-flex:0 0 auto;height:200px;overflow:auto}* /deep/ tr-ui-e-chrome-cc-layer-picker>tr-ui-a-generic-object-view *{-webkit-user-select:text!important;cursor:text}
776</style><style>
777* /deep/ quad-stack-view {
778  display: block;
779  float: left;
780  height: 100%;
781  overflow: hidden;
782  position: relative; /* For the absolute positioned mouse-mode-selector */
783  width: 100%;
784}
785
786* /deep/ quad-stack-view > #header {
787  position: absolute;
788  font-size: 70%;
789  top: 10px;
790  left: 10px;
791  width: 800px;
792}
793* /deep/ quad-stack-view > #stacking-distance-slider {
794  position: absolute;
795  font-size: 70%;
796  top: 10px;
797  right: 10px;
798}
799
800* /deep/ quad-stack-view > #chrome-left {
801  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAABICAYAAABC4+HLAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyMmV/Pm9QAAIABJREFUeNrtvXmwXdd13vlbe9/7BgzEQAIcQAIEQYKjSAokLVlOW5Fk2nLKmqx0J2Wp0k652h13uiy5XYqdwU7sSnckpZ1yV3U75apU4kos27Elu9NlyRXZjiiRomSTIiWZs0hwHsABJIY33rPX6j/W2ueed3DvAyDKKoGFW0UCeO/ec/fZZ+29v7XWt74lAIuLi7tXV1f/raq+zcy2AogIZsbpvrqfMzNE5IS/1/fVn5sZKaUTrtX9/v7nT+fn9e/1e052X/3r1THWa3R/37+miKCq7c+mjW/a+F/P57vj6/45bayn+wzXs4n+794Q9nP8+PHdS0tL31LVmfpGVQU4YSInGUb/YfZvpn+zp/LQu4Y27X31d933nurkq+qaa08yotO55npG0v2O+r1/XZ9fb2FMWoD9Oe5+pju//e+fdP3u83+j2I+89NJLn11dXf1bdSCTJnnSSpz2+/VWZ/8m+w+g/zD616yT2P9733BOZ5f4dhbCevPQHet63zVtV3y9n1/v/k9nZ562SNY7Gd5o9iPPP//8qxVKrQdL+hOy3qqdNEnTjv1JA+vuRpMGvd7kn8oCqded9B2THuJ6u/Kk7+vuiNOgQH8OX+/np813/376O/CkU2EavDwVWPiGsp9nn33WJt3ItF2ne2xOe2jTHuTJMOS0He1UcG33791JmWQYkzB6dyfp7tynsktPG8/Jdv2TGcLpfH7Sc5m0EKZBsPV+tp4PMe39bwj7efrpp229G5u2O3WPplN1cE/XQZsENybtnNN2pv4x3N1Fpu2S/SO6j6fXgz6n4gRPGmMfR7/ez/cXd/1798Tsfr4PMU52Oq4Hp95I9jPor7ZJ+G7STlEnvN7gesfXpB2tH5lZzynrO07Txtb92aQTY9rv+3i1v4jqv5umOSEq0r9O3/iqEUx6MPXnqjpxrk73812oMQmP968zyUj68zPp+U1bxG80+5GnnnrKpkVxTiWUuN4q7+96/YFXp6pvANN8hD7MmRbF6O7200KR9ed9CDbpSF4v6jIJtnQjQdPGOylK9p34/HowaFL0Z73IUNex7Z5Gk3bkN6L9yBNPPGHdY3fayu3uSP0dqH62uyP0w4XrDWo957gPEfqf78e4p4U8+0Y86R6711pvAUyL3vTvd9ou238Q/Xn4dj4/Cd6d7BlMC532534S9OnO8xvVfuTxxx+39RJlk/DtpAGc6k6hquScp+7EkyIn0+LV60Ufpu2q05zN/sOYFIfvP8CT5VEmGWN/h5w0zm/38+sl7/r3drLntt58rzdXbyT7kccee8z6O2b3JnLO6zpjk47nkyVg1pu07muas9b3CaZh4f5uPMn4Sikn7Jj9RTEJMnQfVHdck4x3Wt5i0qL6dj8/6WQ5GcSYBiEn+STrhT/fqPYzmJYxrRcopax5eH18Oi38WI2ulLImYTPNMavv716z/93rRXUmOZXVgZ5kePX7+hPeN5xJTmx3MdXf9zHyM888w8LCwgn30IUQ0xzWSYvhVD4/LarTzpWBpOl+zqRQ9lqjE2DCtbH2x9MW3XA45JxzzmHnzp0njYp9r9jPoH75Gkekc8SZ2ZpjrH/Ez8wMSSmHMY4YjZp2MDnniVGT/sPvRhxmZ2fJOWHmxj0ajU7AtvV6k4727gSklMg5M4jdq6iyuro69bv799fNptYF0X3vJKjz8MMPMz+/gWuvuYatW7eScgIEwTADEwEUAZDkBgtuYONlCCJgAuZ/N5QkCcP8avFzUH8fsZgNEoJJLAakc+2TjENi90RQjGSCJm1/hwlmgmRFFIwEYoiNxyPxvYZ07gVKUzh8+DD333cfRZXLLrvsBLxfjbl76pyO/ZRS1thq325O137k4YcftvUSOf1Ufdco/uwLX+LOv7ibZ194EYBdF+zkB956C+98+99ARE64ue6XqyqDwaDdGZqm4Qtf/DK3f+UveO7QS2uu944f/IH2WpNwdp2U/oT8+W23c8dX7+K5GN9FF+zkb7zlZt71jh9cswNPw8uTsPU0h19VeeSRR7j55lvYumUzK6MCpqTs9p2AAiRLmChWBBIIiqZEMkVUMAQTJZtQSCCKkDE0/h+7twkKpCSYxrhVMTGyCYogohRLCGvHoYD0xyGKScIUpC5AVSQl/0ACaxeCkJJhakDCTJEEiKAmDMx8XSdAY6lZQjHmZoa89NLL3Pv1r3PVVVeesDH3T+FTtZ/uguhu8v3o36naj4ggjzzyiPXhwtRjOf6+tLjEP//4r3HOuRfw5psPsOeSXQA8+dQz3Pu1ezl2+BC//I9+jvn5uXWjDfW1uLjIr37y19m8/fzJ13vlBf75L/48c3Oza3aWadSP5eUVfuUT/2bd6/3yL/xvbNgwv2Y3qbtOF0J2MfN6ka7nnnuOvZfuZcfO8xitKnloFBXEBHGLc4MTQwVEDeIkyAqa/Pdh9z5vaqgkUuz8akYGVATEHOYYiCSUQtJqkCDJsJJIvXFYNRIzLGWQQqqLEiOhqKS6gnzhqJ9cJplsiiXBSnfBJF957TEoJBKYYskwFUSgWCKnBkmZp59+mpdfepmdO3eu2USn+V/r2c/JWAX9CN/J7KdNiD744IO2nqM0Cff+01/9P7js6gP8d29/C5detJNtmzYC8OrxBZ547kVu/+JfcPDBe/iXv/xPkCnkvHalm/HPTvV6v/SP25vs3mB3fKurI37pX36cfdesf73HHriH//2X/3Fr/NOSTZMyzn0n0sx47LHH+JEf+REWFhd8pzcliRtyBVbFYlcTN0bfpoWEYiaxENTtjOQwByOZ7+r+b/zacY5YICvH/iDmBurjmzQOKMlIWkPThpohkuN0iwWI+YrNGkdeQswwcbhlWEAzw8wXazZDJfsYMP84ghXzxSHip5rB/IY5/sv/+0dc96Y3rdmA2uz0YDA1EHIqDNv1KDAVvk2yn64vOujHlqdlJ+vv/+wLX2JuywVcfOkeXj2ywGtHn0C1Hov+uUsu3cNzzz/Hf7vtdm5959snRknq6wtfvOOUr/fnX7yDH37n29fccBdG5Zy57fYvs2HrqV7vdm59x9vXJeqtx6WqD+T555/nyiv3s7y8TMLhSgLMElkURx+KENi+7uzi0EgtIUCi+OmSwIpjmYTSAIN6uiSDkkAKQgp/IgON+yaGnxIBz/rjcPckj30LU5I5rCsJsiYsafgjCbXEUIwiiqq4e1J9FjVfNCioYMlPC/eJIFuisTiN0oBkhllBcmJlaYnL9+/n0KFD7Nixg5xza6hPP/00S0tLzM7Mho/lfpGicW/hyyCQAv75Nuw+UOwi/o7WmXLfClhYOMaWLVvZtWtXG7TpRibrMx/0V1j34XcdT4DBYMA933yQnRdeymhUOHZsCZFEqrurORRZHRV2XrCLr33jft596zsZjUbtiuzGqQeDAXd//T52Xrj3lK53zzce4G/d+k6WlpfXOF5jSAhf+8YD7DjF8d3zjQf50VvfRdM0LYzqv/pHcH9napqGF154gb/59rdz7PhxTPCdNSliisYuK5rjIRsWPyeJQyGhWhyNCEn9sbrPIGRJmBRfeCb+kEXQwDZG49AFIYmh4kvmhHGYISTEGl9YBimPoZypvx8VJA3R5IurMcdrSTrjLuGjGJCNpJnGlCwWp6CRMLIoMCBhFJPYIAxNxjVXX83v//7vs337dnLONE1DzpmXX36Zt73tB1g8fhwzh3OIObyrp60IWp9XNlBfRtkCPqWIM9T5x+GhDIQN8/O88srLfPWrX+WWW245IeLVPvvubt49biZRMTDj6MISGzdt9i81YTjIzM/OMjc7w3AwANwp27hpM0cWln0iOt9RowruSAlHFpZP43pLJxAB68lnZuSUOXJa41tCIuQ7jYBWf9fnP5kZo9GIlZUVLrzwQpaXVzxihGHJEE1ucdlIkgOwKMncj5Ds0SjfZd2R9re7AeWkGOFUhuOrrd+jFDPMEkJ1XGPhxdY+cRzZARPJfR9Jiqm/P2wONKHJwJRs6jt0Su5nWHJfQj2IYBQIp14xBkI47OE/BVyUFI6/KCk5zJOSGY1W2bFjB03TrOGtzQyHNKNRnTGQghWjWInxGI0phvtyNOZg0GAU86hmlMYw9c9qMYyCjgpHjx9ndmYD3//Wt3LPPfdM9FtUlYGqUko5IbzVdUi7WHw4M8vc3CxzczNsmnejq6HSphSWVlYBWF2ZY2Z2tt2tuwuw/ruUwszs6V2vuxi6TlYd48zM6V+vC8/qYqgnZT861Y+dP/bYo/zoj/4Yo3o8u1PgoVRJiPqJBRkRo6C+oxchSaGIxC5uJHEfwDdqN3xTg+wRKXd2EyRIBppjy/fLY02CWCzTxuHX91MAEfdPNJESqBopFcwyJurAqg3jWpx6DqkExVIiNwIDQa1BAWRAQiE5XExJ/URCyQgFIZlB9rk8cOAAt912G/v3728jiMOZGVQDEShoSUhuEM2U5CecFHWIGbAzlwZJghRDs0AJ2FVdu2wUMxI+XyqFpjF27drF0aNH2bRpU7txt455fcjVuCrE6Ds6DkdW2bF9C1lg49wsG+ZmOWfjHNu3bGL7lk1s2TjPpvlZNszOkMTYsW0LWvSEHbhraDu2nfr1ztu6haa3uLqn0qhpOO+0rncOTWcy+vmMesLVxVgXdimFpmligWbmZgZtLN8vFmFZbbBGHfdSwo9whxot8ZAdMydzTG9aUDGKGlZ8QaiGU6wGVtDSUChIY6j6gqOBTHPScZj5qVHUoAg0DaYlIIWhlj2qFUhBDUwLNH4tMCgKZqRSGMwO+PM//VOGgznPe2jDYGbIvfd8g5mZAapCMcEEv6cK8RpFLLFp06Z2Lqvt7dmzh4cfeRBTQ1E04GXBEG187pLSqNKYbyBm0IQda6MoDUbB1DwQUvyE1tJgKFqM1dJw6Z5Lefzxx1vb7B4EqbtSJjmmXYjVNIXrr7mCI68dZmaQmJ8dsu2cTezYtpkd2zaz9ZyNzM8OmRlkjr52mBuu2c/qaHRCZGcMSxpuuGb/qV/v2isYxfW6GdFqtE3TcMNpjq8mGbs+xyRSX520GhMvpfDC889z7XXXsdKsYMV8t7fA3ChYJmWgGKkIlh3SWeQEwJDkp0UJKKIioGNXW9R3PnKKEK+E32BYDlxvUMTQzEnHIREQSCQaMSRn9+dlvKOmMUr3aFRKcco43JIUicWU+G+3fYHf/c+/x6c+9R+ZGQ6ZmZ3jtz/1Kf7PX/vX3HPvvTHaQsYgKUnFo9C5oBirKytcdeVVvPjii+1zEBGOHTvGxk0bfXGabyxGQ1GHmaYB4YqRLDYIIXyw4vDQ/HoJQ61BTHyPKeZ3aMbxhQXm5+dPSDCaGamPt7pQZRJL8qYbrmP56KscPnwYEZgZJAbZ/5sZZMA4fPgVlo++yoEbrqXCtq4Bdv2bm9/8JpaPvXZq17v+2hNgTXcxN03DzQeuP+Xx3XLg+hNoGN1Togsxu4umnijPv/AC+6/YTxlZZIo1YJIf5yLmBpeFMhCwEg67J8QkVacyRe66eLg1aRtcUVFSgmzFsx3uWSKSkWIUibiSpcD1648DMU/ggTvP6r5PskhrmEMfRFEJKBcZfJPkjq4nQTA13vk338mHfuJDfOXOr/J7v/t7/M7v/A53fvlOfuqnfoqbbjhA8di1/2nZr5kU0YQlhz7XvukannrqqTW2snXrVpYXFrBmBH5+OBnA/CRxP0NJVjySZoo2DrLcbhu0eDTORONnxde3FUQLqoVmtMreS/fwzDPPnOBe5J/+6Z/+F/1dvZ9V7BqHiHDDtVdy51f/ktVRw9ZzNpMkMRo1HD16jAce/hbPPv0k/+N//941Wcr1CoNuvO4q7vjKetd7gr/3t98zkXJ8QpTJjBuuu5IvTxnf/Q9/i+effpIPf/DHJiqO9EPX/Yhd9UuWl5fZMD/ProsupJhDBEniOzaCWMakuNMsjp0znhzTSv0wRbL4yYCQyWgliJhTMzKZRty3cNhDJNgMY0ACz66H333ScRSHVSnCrZbdfzFpc4okFLHsvkEkBE0E6YSPfXxQrHDF/suZnZ3jttu+wHPPPcv73vdefuiHfpiVZrlNbLYJy4Hfm9uSn4jaFF47coScUuvnbd26lccOPsa27eehxXd/JO7LQAZgJRZ84+epZM8JeYwtIaKIRZpGxXNFLTvMIuye2LRxE48++ig7d+5c48/KPffcY5O4+11nvOsj1N/Pz2/ggYe/xaNPPUcTGHc4GLBvz0Vcc8U+VlZXpkrgTCrPrNf71pPPnnC9a6+8gqWlxTUOUx1T/VmfGbphw0buf+gRHn3yudavaMe3/3JWVpZPYOXW+6vX7CYcu9GUpmm47777+OAHP+h4NxYlSdr8gOGOY45TwCpIsRQwxkjqxi7iECCJY3MBj91L8viXKSlFrN7iG6SyrOp1OaVxEAlB1EPFyTzSVCkjmgSp2XGNPALBO2kMy0JW8YhW8VNpODvLp//g03zjG/diCDfeeAN/+8c/yOrqClgOLpZgA8NGKU6vOI0QhMzK8iL/9fOf58orr2QwGJBz5v777+etb/l+jh096rAzCNApbhMqRItTRVKHGBmcF6CYkSUjWlr+pNNrIodiwlNPP8WuXbvWJKoHXew+GAwYjUYnxPS78d9q3EtLi+zfdym3HLiBuVlP1qyurPLakSMsryxPrNfuhnL7hLKFhePs33cpN9/4Jubm58BgeWWFI0eOsLBwfM3i7BrytLrlhYXjXL1/H993043MzsyAwMrKKseOHWNxcWEq6a3PzO0nSFWV0WjE7OwsMzOzLC8teagTQ5w8FVljZ8B6bD/Ig2YkUaz4I1Tx06Sh+E4cxuIZcHdAU8Ak0+T2ihtWzYSj1NThScfhYM4dbne6fVcV8bCx5zpicanvvO2qix+bepSrFMgizM7O8h8/9Z/46p1f4f0f+HEA/ugP/5CVpRU+/KEPsTxa8XAxhpRUM6C+IFViDgqbNp3Tnso153HhhRfyyuGXyGmGOjtJxfliqYbFPX+hpiQKWIoNB1CFQYrTsqGIRLTKT+xk0ChA4Yr9+3ng/vvZu3dvaw+D7mmxsrLCYDBY44TWf3eNsJsPeeWVV9aVdekvvm7Uql88tLq6yksvvzy1sH+aSkh9NU3T+k0iwuLiIouLi+0J2K8zmERP7+Z2qvPdz3EcOnSI6667jtXVZTQZ0pgf81KZrNWgAuNWrlJSSolEWPL9WqWGOt2eJSlaguJhvusnEc/yV0ygRkkpiH+QRSnCScfhnCl1smM44BVIdVnBnnFOEfpMiBVUnMxYeWFZ3FP6/z77x9x5x528//0f4F3vfAdigpbCZ/7wM1yyezdveetbnL8lCbNC5cAUJ7d4SFoSS6Nlrrnmap555ll27tzJcDjk3HPP5eDBg1x2+RU0qytgQol5dNaDopactoLFCVyQLKhCSua+hQTzWD33YwKpcUaA/8ztbBRRs/bk6OPsLkTRoHj3C/Yn1Rv0/ZJJBSarq6troEr3c/XPmvnuQ7FJmfu+sMAkI+/WpPQTndMURGqCr8/6rD8/dOgQ73nPezh27HhEYzzk6Md6pX8bFbAIhonDJKhoxWLXTwFp1NdPY8EgFzT8Dv+AOwbOrjWPgKXKbfLo1CmNo15HPHFmUhgTVQh+lOOWLM641aCFWEtbj+cgyo/+yLvZtnUb3//Wt7G6OkIwfviHb2Xnzgu48c3Xs7K86idNzTGUoLlLxUdOiMwI1159NX/5l3exbdu29jkuLi4yPzvL8dUVSoNDtDjJLKBRI0YmkqXOcEQSFI2cShKkLowSSUlLkU+CZMbi4iLnbt/O8vIyMzMzbkt33nmnTaqK6lZx1aOuX7vcx+yTanq7MKpbfNR1quvu3F8wfQp5d7ev4+v6Al3o0/eX1hMHm1aLPEl8YWFhgZWVZd7+gz/IatOEPzDwya8bdXLoQwnqglR6OBFNcqhDOLbq22dEIiM513iUR8woyZ32XJ3sFDukuPtSKhnxFMbRJgZjx0ymIIM2CWkBO6xS4FNk7cVQC1jia6UNh1rOfgKotgnLFGOWDkFRTZyuUmodSaX1BNoYCF+548vMDGeYn59nZmYGVeXwK4fZef4FqFkEH2owISElnil+X77Ak/PQLBYzYNKQbNDys2rEziJQkFDO2bKVu+6+i71797q9dxNp/d247yfUnMC00Gw3kdNNltXPTitb7VZ91YRQn6zY/96+L1TDq30nvY6l+2fNldSxdU/Mfji3C+1WVlZ45JFHeOtb3sZodTWIbL4raTAKa8UFxTlOTlfxZJRU34DkcXuLRG6p4VdAszu+QZZTBSkOY6zu/MUJWaYRTTuNcfhxlaIOQ+Ik8ARhqZBNPOyMJFLkFDTGX0wpJUCYiI+ztaHY7ASsGRuemS+iZCCqEbiKMKv6ovRxKbccuIWDBw+2lBIR4YVDLzAzHJLQCF1bhzZSPKnZEjiDvqLmi5sCyfMeJpU640466uPT5Pe4PFohDTLD4dARQ3e3rYbdzRB3F0mfqj0pD9CFL12sXiM+1ZDrd9WfdSejv+C6pMWukXezmv3/uhCpe63uoqvjrYuq6WHOetp1v3N+fp65+TnMMpTShjOt3QE9ROvYPI5/83oKlRL1FIrzNSRyAJXFamBNLexzjJ78mqq+YFJxACZ4dvB0xqFBFycpUMhmlBw0k6CxWnJDdlqKnwR+gezcrmD+WkR+tN1/jUJARRM/tSg+1mSU8K80KCGkgiEeoFAfkqkyt2kD8/PzLVlVVbn22mu57YtfYLUUNm7cgBYfmgUb2BduHJfFKBRnAqRIXBZnKIuCNMWTirFo0eKUEwEdGcuLy2MbuP32260LfU6m0zRNm3Q9XdZazDIajRgOh+2C6Auk9X2e9dQpJtU+96HSYDA4IYk5TVh4Te1w+Br9U+PFF1/kyquuYu/eS50KkiQoHtLmCHJEhGosnRrPD6IgOaIl5rAJ8YSYJoWSUSnk5Bwqq5gjJUyLR4tybhm8vkA4rXFIMmiEkqSlswseyclSTxL3XzyRCGLF5QaiZLZSw2t+JuHObaJuAuo8KLF6i/V/Dgu1pk+C1hEOcRLP8D/1zFM89NBDnH/++QyHQy91Hgx44IEHKKUwPz9PaZq4txpVq5WINZIXLoJGwZa4RyZtrNzvQVGSed3LzOwsKQm7du0aEw+7jmyfaDiJRtENuU2Td+z/vMvd6i6++u8uhOpHlyoEqousr3LXvYd+sq7eU9c3miSjWRdJ9WO6i7DuYIcOHeLHP/B+ji0skSWyA6kWKKU2x13LUn3HcuydUoSjgk6NJqwUkNziYMtK1hTwSONKvggk+WJJgbFNGswyScopj6MN+yZjkEAbQwYNlMwwfKKSPN8S9u9JNcmIRj1HkByliEfGRoKm5KzxONMkxpCjTEDw7L1FWUESpWgIX2SLkoKoGMzC/iuu4Mtf/jI7duxobWJ5eZnLLrusjXh2Swb69tO3iYpQuqWw1fftRkyHw+GaIM2gL0ZQv7juntN0nLoZ9a5D3GXdttTfyHr2F0QdcH8xdk+P6kt0F0w3RNyv0OtH37rXn8TA7YsorK6unlBPXEphYWGByy+7jMWlZa+YK8kd5sDqKejfRkNmgBaPubvwgNKUQYxRIZnvxil2VC3+WREnFOILysSDrKoCNAgShU/J687l9MeRygCNYqriTA7PyquzcX0z953fiIRMtnEJbQ7elnrQQHMhaaIBp8cHLPOKkUqV0VYvQsy8ZiVqQ8Tpu2OonmBlZYX9+/dz5MgRtmzZsqaMtm8bw+FwzabaZ23X1+zs7Bok008kT5JYSl0j74ZtR6PRGojV3fFreLOLxfs+S5f+XXfe6mtMKputi6DrVPfpIX1fon5n15/o+g2T9GHrOJaXl9fkbUoprTJJHWddwE3T8MQTT/COH3oXpSmRqnP6tyexvKRUUMQG7luY1GgqiSF5UDynkSzwdZSamkQxj4dXsyWyQE7uvFrUwWrKEIVPOqgV36c/Do3TS6VGsiLWr2PlkAxYKo5zaiYcozHncGlAGEsgJUUdObhn4ZAmp2Acx2JHpBO50tZvMrE2ny1RHKXA277/bRw8eHCNXX237Sd1C4e6cKceMd2sdI3ydJ31SYXsdYDd1djdyfuwqgt3BoPBCSJjNRFZrzccDtes+vWUUvqJwvr+4XC4Jsxcd4+6+6SUGI1GHD16lAcffJD/4e/8HZaPL3nVWXCSPLTpLB1LbqopZGsQT4aliB5pyaTAtwWQQfAhtJCDqaqRlCtBabBhwnKJIiOLTDfQSOQrTn8czsNIHhUL6J0HOGwzJxUWEZJKsDIEy4ZJ9ipDrUojGg67JwuCKxwejuc1LIfJB8YXEY9WRZGXImQN1i+GpuSnWTGWV5b48Ic/zNfvvZejR4+uQTffLfuR27/0pdhCiAL6MUmM4J7Uyq5WmiU0kmqEo2oj1Z9JyLVU3GqRFfU5Cp+ge52uDx+7UJ3kVgFJWPO++pska+Vqqq+FdcbT+S4i4tJqRdXQUCSU3JeTljM1HA64+qorWS4N2VJ8jQYBLpMoQUWHAUKDix9U+ptj/cBI4nymAEvxQBwe+XXjHlJBtdIQ05hwh6JZSPo6xtFm68f3i4IFnZycQhBhnJF3H1yD4hIlsCpjxq6M6+NpqTIhAySKFKfiD5K11A93xI0qFlRTqV42HLkhEyQJDz74wASxD9pn1SGutQteqM+acRBhLBI2wZ7Hw2+t6/lDh2woQhG8drkaazUUBI00ewpqDClR1EXGqiZRq2IR0jE5HM+avZWITzsTMqInEb2oC0BDoCxJ8IoiopCCy+OsS6c1iPiR7xFFI6dQvqhiCjHlLfwQN6Lx/Xssp5iQrBpK5JJbdqrXSYiF1kegDM8ZBDkvplIl5igHLSMoH9XZFIOSa2WdeXVbZGpdWMfxuVRHH39fLFvPVai87nH4JsDaZ6WG5SBFVl6X1PmHsV5QhEQcCZcsAAAWiUlEQVTN/3S+VfIipBosE0FLzWRnf1Z4Vtp9J/WAXcpRvBVUrprIi/vGxpG2yOWf5FkJRdx+Bh6DeN32nCRKFyV2No1Yd12ViguMpZRiB/AEVor4u0VM2+LYN/Hj2LO6cXhGFVjoVDjetnqsBMUnDuVURS1IpOw7TqP12K8Lw5Nm7vA5dUDVs8MSnl8hwpKhzKfqIgWu3RScHgtjSw4l6s6SgtWKuhqHU9OkzbYWMyx1ggPm7FZJyZ1UBIsyToschguG+HcXxZN+kdmuQVdNJRJw1jlVtS2W+k6MQ8W8bDcMMhWjSfgmY8Vza6o+P8Hd0wjFWlQG1mNc8OfqGWev2WgipKzqBuf+T4kyFB9f0TzOktdEqLoWlpl4HQaN86LsVJ+VeaTvO2jPg6B6erRDIIdR13oD/02s+uQTSJvrdfwpUTBjA2sTR9IINlCkyWiuzM/sD0DMSS0mTkqzhKbiANpo2aClEXLc2LhYP7Kfgb/rSSvWtMk2y7G7hbSHVUigtcjIKMUX60iEQQOWa/DU0BIs2ahRdqLOd2aOihZee+UwRYsbQ3a2qmbIxb1hC1U3oQ1ZjRm7GnkFEXKLIYmEn4zRRYp6kXofFYIEydHLB4OK0RmHf5eChOYVY2q81edWhdrCc3B4GBC3as3Fs0rFoaDXllQYowEVfcMiiJh10Yt2TqzkTGE/GeS7OkeDFD5CSfFnOFxSAjRKwKIUxklGvC4TGRSk8aIXk8bLO1NyxuQgao6roYaRWlSEWZhiIlFaAw+tpMANKeHx8Ip5Ww5NPDj1YnpPPDmFuoqMWRz1VfAMgvgnhpVwxIrn5Er2IqEkvjMnySjFT6SUnX/0HZij44tHWVkdccnu3Zx9fe+/Btr4DuvUBW1hjiTfL1IpNAKDyNiqFefN+Kbv8Wp1LaVKoSdi89Iq7/lRlc0jKJqsfW9JNi7cJ3mMPRwlrUzTtoYldokorjZxcKniO4e6DIWvfMVLSXODufU7wcE8yVZq2FDHO3xj1SeSVr0jWUE1ofL65shILC6tsG/fZW3M/ezre/uVkBJVZo5HCacxyDruuJkTzqzSHrK4WFqFKWLkyOWk6kTWLHllZhYP3UXZekRliFj4uHorBSFMzOPdFllaB8w4F0Y8sqJVXdzEaxnCaTXxMkpxBVn/uqSh9FcimuEOutQQRUrOdkU8vBo+kNcCvP45SiI0zejswjiTFodLODaUCJ21YbzgpKSICnn9rbSliCYRprOE5OTOoLg2kJHIUQYq2aMKOVVpRtpoeKoymVLpy0FbSA66UjinxRLJ7RfLGUWcyyMOzCLC6pg4uUaTmKDZa4fropFU2miNk3BaXgdSwqlLige1amVdcvr2654j9zfOvs4gWEVxVW2rNc2iHg7P7qiJiDujppTqtBSw1CDmcXRWidqA8LOtuAYTTlOQKOUZkwIrv8ZFugbqWqzSOulxZBQNOU+HLSkcNi3GAEHzyIPDGkxRF0cKCqpiKaT7i7rwWBX6ipNINbtoQHJGJjmFbEsVFNOWkWq8zjkadRzDs68zBVa5wQ2DgpAkObOsRFSiCsdJxdgZyKHm4OFbBhG4SZW373FzHUR7lKBGWIT2UieLOtTIaUQtmvsblT7txDUlkzRXIqUnk5LnHyQWBknIqDvFklxVQ2sCLBYdCcmGWnJJTvFQoRYhDYKBKhGxyQRPKLVhz29njlxMwDVaObs2zjBYFUmdxqzF3yI1l5DaTKSiaEkgrhhHEmaGmc2bNjM7mHF4o5HOi2qvXEJu3/DC/uAQEU53FokkWxDGUtVX9TLHpDkUx+tWPBYTm8kDl6jJngjy/GotAfUQclRTen11VMah47BdUUgpBJ6DFaCUEAwzJGVmN8yxYdM8m+Y3QM7Vg4kkkTE7nJ06R5VHZHEAnV0bZxysiqysefioiDCIWmQstbyYZMllKkMndX5mA//3b/w//MnnPsett97K//qz/wuriwbZd+IaXUo11m8pdFIjc12MJJGbiOIUzFzvtR1P01bOEUS9lDOPPPQQr7z6Kju2n8cVV1zuSStxaUxyiCfXa5iHgEuQ5VxCMORhUE/IVapQUGFTSqwsL/E7v/uf+eY3v86RI0eYGQ65/PLLee973su1N1xPWVnh2OICn/+jz/P+D3wgAgedOTJXRS8mDCIjXSkjZ19nCqyKrKMUT+J5mt4CK9MamAZRKhnMzczyG//2N3jowQe56aab+PrX7yUxJCWLCJLDnMoZwlwNIqc4naQySR1Mlcp5CQl8SSn8F2lT+W5YnpRqSmHvnktJOfHoY4+ShkFYyzkSSNYqjbcyXuKEEq1Z+6iuz4RAcpw6szNz/Pmf/lf+3k/+JN969GG2bd/Gvn37uPiSSzh+fIGPf/IT/Itf+iWOHDvGRz/yc+Q8OHGOYuJUPNTbWGkTY2dfZ9DiKADFG5aIppYe4KJi2qrsIQ2iwuzcLP/+t/4D9993H9u2bUO1cPPNN6Ml5F5qWNZLgl260Wruo6qMp7arllrxgFHtHyFgxeVUUggwN5W8KL7INm3eiKJs2LQRBQ5+63FyErSx4PxUiFfpGR4CdqFwRTUFT6j4Yo6SycEg8cd//F/49Gf+kBuuvx5B2LZ1G9deey2X7N5N0YZ9+/axuLTEz/7sz7Jnz+4WgnbnyKNmrhiokS23s7DqzINViaalbZQcNGXR0AbKThxIgllhbm6WT/32b3P3XXezY8cOzIwtW7byD3/mH7K4shzdiYxG8IRfKzwfLMiiYeAaxfnFI0ollMilbY4HRaNqLXnmXDJWCkVgzyWX8sSTjzOcmWPzhs0cOX6EJ558kt2790TysJCCJtBUVTypQoBGyRp98ELmrHgTl8OHD/MHf/Bp9u3bx2g04qMf/Qh7du9meWWZLENKafh3/+Hf8/xzz3HFFVcE6zeoJDFHLvDhVBlVF1FGcoSlzxrcmeVz2ABSoYTSRAlYoCl7D4eggc8Mh3zmM3/A7bffwfnnnw/Azp07+djHPkajDefMDUNhI1rwBllNVVlcWvRdNFid3quCwP7aGo5ZioYr3gekcnA8cqWklMMHSly+7woee+IgOQ3YumULh189zLPPPsPFF+9qWxRr66iH6oc60SxriBCrO82ShJQGfPozf8TevXs5duwYv/iLv8imTedw7PhxhEQjixxfXOa+b/4V5+04b1xGGwVHqXK7teZSSnTZqnUTejaSe+YtDu82mkU6HYEyYh5gFVNSHvC5P/kTPv/5P+Oiiy5sDeOhhx7i3e9+d0igyLgntYybtm/cuJFf/79+nXM2nxPKEwnJ2tJKUu0BIerZZIWmKdx11x1ITuOWXLjgGSHfLyS2bN3Cls3nUFTZunUbrx0+zPPPvsCFF1zoY8rR6kqcqGgaogiR6fYwrUfWBnOzPPLwg2zffi6X7buM7du2szJaDSq28OLLr/LRj3yEiy++mKNHj3p8S4RmtQkWLeHZV3GxqvAXGFNbZvnZ15myOEwsIq+1j0EmpdKqSKDG7Pw8n/7MZ9izZ8+a6r9zzz2X8847b90vKKXhi1/8Eu99z4+5+28lEhgS7EpXscgpuzyKKK+8dIiLd+9hkMQ1YtMIs2FIygS1pOo6hR9hZLZu386hFw6x6+JdjJrGe3lHEZEnxx37ayTzarPHJmU2JGNpyWVZLrrgQlaa1SBOehRr1wUX8NnPfg60RPbeN4Dl0QrLxxfbXuKo530oNm4qGYIHdhZXnWGLwxVhnJEq4lDDosREjZShrK5y1VVXsbS0dNpfsLo6YveuXWhxDySJdy8ySSRV1LIr1WlpT565jZs5fuwIaWbW9Y0sk5JGHsPFYES974KKMDDH+0X9NGmaEs0nvejHlFbqsu19h4euNdiBRYW5uVnX2F1aIqsXz2jxSpOl0SrLr7ziaRJlXAVnRm6VA6tgW/FkYuuE51pOefZ1Ri0OCrkMKGmsnySB2ZNAo0JZXuEjH/kon/zkJ9bUY59//vlcffVV3tpM2sLTtrZPzNiydQs33ngTy6tLkSj0uolkng/IOHFPa2mjGlu3biJnf2+tx0gdSYFg/XPs+AJZ1DsUkVhZXuDSSy9DKYg5M9ijYt4FqaiQcnFNpWxYyd5ZVYSiDeeffz5NU7j77rv50E98iIWlBVqhm5JdtsYysxtmKKPG+wCKK3VX9JSTM38tNFqrOksKn+fs68x5ydPPPF116sPochSF+C5emyFIRGQ+8YmPt7W8zz77HH//7/8kb37zAe+akw1TbwxZBbUV7yCkVW81HOycDG0kmh5KW8stVVM1VUHxCO9aFMvgnKnXXn2Nlw4dYtu554IVFldX2Lt7D6Vx/ydngvIuURIqQYyM8leSJzsju52ScMcdt/OlL93O4uIiBw68mb/7d3+C5ZXlqGly3+uVl17iV37lV7nxxhv4n/7B/8xoZTWKZizyi937SO6UR4vjFw49z00HbjprdWdKnsOakFUxjQ6exYnehdDmHtdooIWPfexjlJDc2bXrIn7zN3+Tv/rmN5zuPYrrFHXcrRaG6Ht+MYNSEFXKyHMSpp4LMNShkXmyT83afm+VKFi1/I6+eoRnn3uGrdu3oRiLSyvsufgSmlGlo9decNCkWn9hjKJGo4QAcqNOFUmmFFPe8a53ISJs3ryZ2277Iv/q4/+Kl156iY0bNoHC5z77x/yjX/gFzr/gfP7irr9kNg+pnQHaA7VoKwEKhjVB3bez2fEz7uR48qknLJNbdQ9LtaC4qkDUckZvmSXJM9Sf/OQnWxmUgwcP8lu/9VssLi4g5CASWtCVkq+TWmgURfFAiHpVXaZg9YpHtCza9bbyjeIwaSYP+NrXv8auCy6ClFg8vsieS/d4F9bIp2RxkWLNtLXX0Zpi3M8uKPBaO8DEybi0uMSv/ZtfY252luXlZR5//HEWFhYYDAZccsklbN++nYWFBd73vvdx0803U7Q5YY6INsaVGZ+Sy8+8+PwhDhw4cNbqzqSTo2BRqFOiFtuL8FMIFFA0+jQ03p8tZX7+536e5RWP7uw4b4d/Pqjpg2gmoqqIGk2IhlkqFINGjSZOBFXvEJpKQa2BQqhIBPtcFGu8GaIUb86+aX4TBeP48aPs3rMbbUY0USCF+omgRKticzHjohpL1JeHJqUpTl+36HmtpmyY38A/+6f/hAsvuojRaMT+/fu5+aabuf6GG5ifn2eQB/zMz/wDvu+W76OUZuIcWaijazFUCqWRXlHX2dcZcXI88eTjZpJoJYTa5iJjwYFKwo7MhwscZKGMCnd/7S7edMONbJyb94hTkii2DwVwAaxBZNCWt0rkARSviZBilARZw1hTLcgfh4UsKvEkpPEXFo6zcdNm12K1VjmrrfKr2lOefmg1WECdS+b6JjZuqFgpLHhgYn7DPMeOH+eRRx7m6NGjzM7NcsnFl7D3sr0cO7rg2XCxqXOU1JuqJFwsLQ0yh154nptuOutznDmL44knDPHqORt4Ew/VHPUXIeyg4pSLUK3TkHMPcaiqTeFwJVH14d2g1ZyqHmL1Xq0aelUaurBZooVCrdgLmJNrfTmtTlGKL9boA6HiDUwkh8SPiod9XUCD1EQ31VSbqsQCiSYsYhJtvdplBGY0SRhaFc2JTqbqQoGCYqc4RzUhmtOAF188C6vOLFhFzYr7jq5BIdeooZBUQg3PXD+1lOiyGBhe3dFurGqQatvpE6JKLjXeQ6HVEKoOdpwQxXMY3qXHG40UDGk80lTEe+URkvtaqScWPSrCnyBgVJXsMUtobtqGj973O8iUNCGr0zj3KciNqr7gBhqkkLZ3hYXBW0uzP5U5MhOn47SaT2dfZ8zi0Ej21cahRLzes9niESh1yEEJdZCIHCW1tr2UiF+H6Nmg0RWxrbQTV6zTKmxEkPQ6X1xlHNUKAwnZzuR1TqUEEz3V0m9DdeCD01Atz3jVYTSalOLYvwRd3YoLOlSVESxakdnIGzhqRJWiM5IFrUXR1z1HVb3x7OsMSgIGEhmTG6L/AsGXkoznMGosn+QVdC01PYWyRwqZ+mjxS9u1xHddBMvFdYdLaRuyCDky8jXWFO1QrLiUTklRo+Rqikkt1MktZEejM1UIK9RbkFQV1r1iRC17UZVEaxcpURUYcEqhiPsz0nj0rKr6IfK650gH5ezaONNODqnE1xAIIKIsVVXDosmIR1b94edsnUIoGxtRLm1OoVXwVWtVDnNTF03VeM1eUpqsbdjYRKKvsg0zDmUkKSKlI1Zcuw+NW+VWX8ePIRdSbheLjFwNBD8NBiWa1BOOe/gG5rMShUoBM78Dc+Slv+msxZ1RPkfoQbmYQY3qgI4E1QYzx+Zq3uAU9SyzVawfjd2LetMUxXtEW/SK8B50OT4T6iMaHY5QShVIEPH6h+TizVWlRIMoWFTRIjTi/kkJyCYWbFtTirijXlXNVUucHrX/t2vrWiNOlykuueNhZ1opTO/zEi20NNqhvc450qawYX4Df3XffWsoOGdf38PRqscOPmYpFG1ShlSyc5kyUQvurXSlNBGFicBU1F20WlPquk2VLlLFvzUUsVPrRIdvUCKqU6nudY83acNg1tK9MySvIHRIpeTk6iWErGfkMaM/orcPQ1rdbvdtShrXkVeyjCilqrkXVzqR6NtXhcorn+t1z1HxnNIrr77KyspS9LUIXtkayFUZPbV1g7WdWaPXfCsKYViwVySawXTeYIzJjq3av7Tq7bWPNxEKr+OQWrIs2p6I1umjN+011oSvrSfCyOrvpBaGhSp7R4e3+px0tXbbga+9le/WHMljjx70pHg4qSqCyMhLSU1c87XqzVpoCIbUjSuXgKYQcDbI4vKZskauvmrcgmhGJSRzglflSt/RtsBcMsc0t4TDksbibN4ZKSrwxJCiHnatRVFt96DIrkdttySX1K+ZE4v0dTXmFCdUFonmMcEOiJyMiLbq79+xOZJOo4ToAe6+j7WLX6r5mDe7SUGt8QaQHgk0Fd94skb9irR+XKp6KTIOr0t0lR1InKhrxkGba5LiRNRstZeGz1OTooePpjVtjMfPKuar6kNXKqq6ovugfVZEi4BoU2AaWsUhB0vQ1uJ5EJWX3605annVIkKREp1Ds3cBjRZZIeCHiIuU1V3FzBscinn72kQJ/K2RSIwFIJVHFUVNRNutCN820SvDdbAij5E1yIdGrhQMIWTjSyvCTU7MRqjUhZ4tdi6NZF9oZsVNSLZxf47sLYNTZMyl+hrRMyKpRueMyHN8p+coKqBU1GnuGCWVttNq7R8jql6LbnGaRu9AojamCm1HcUtUZDZutBqSQeoVj2hBtbgGcJETx4GXAljxZ+bs6WjtXIxRSLYq6gvDAqKGwkpSIoEM0gQnwSo1SZgp3tO8RBsJgnemMVduG+NnpbUeJ/Fdn6OBVme0hmKJTp9tljlk4iWq8qLfRirxuTJuQqPRJqgemVrPqugYlELbqf62WHSASuIdf1o2cNDMq9+SQqbexp2anKBo0fsiGMSR3EvW0ERfDRkYTSPef1oEHakLrJVEoYE09Aw+CVd/tKCwZ3IqSBn4Qygh+fnXNEeSBt8T4zj7rMZzNPjKV75KbbLT9idogVhIeNZjrdvaqsrsmESuo9Mjq6NCMq61DvwvXdzr35GihUBtKmNRm60hNh05OMfHMZQkqdN2rYtvg9LRJiSqhm0kO10BoZUBSiYtDBtLhNSuFFVwOnlo+K9xjhLfG+M4+6zGc/T/A8/G/snZpSWJAAAAAElFTkSuQmCC);
802  display: none;
803}
804
805* /deep/ quad-stack-view > #chrome-mid {
806  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAABICAYAAADRa1RpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFycE5v9iFQAAAQtJREFUOMvtkjGSWzEMQx/0eYrM3v8k3vgqycalSwlI8Ufyl3OBFMtGIgUCIEd6PB6RBEASqvfONSrJXrDNbNkQ8ywA2y/SmayW+ZIESTsiyQsxo40xmMS2aUmYbheHpCVd0+UqJGGMsey3mUyldoUvlY3D9rIN0K7Wbe/WbZ+y1yWtaVtrp3VJzAEX6ZVjc2p7b2mtnYhNdl6m05rwtfV/ltx7XypJTpXeO7Y5juOlchzHaWxyrJmuhLapqgIJONv05+srThBgiQpBTSRwGOr3rwccgWHUhJ7P5/YNlbd/2XiL78L/WajP240AQUihfnx84EDJjCHKHjTAbkimQDgBjAJ1/3kHAgEk/gL71AHEWVXPGQAAAABJRU5ErkJggg==);
807  display: none;
808}
809
810* /deep/ quad-stack-view > #chrome-right {
811  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABICAYAAACaw4eEAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH3QcNFyghKmOqnQAADE1JREFUaN6dmsuyZsdRhb/M2uf07bREYDykPeIleAMibNx92i9BgEPBgyB5xlvgtgI8VDNBI41xhGkpQowERgqw3H0ue1cuBlm1T/3Vu4XNiWj9l12XrMyVK1fWL/v6668lCXdHEt/1Z2YnnyUhCTPbX8dn45pmRkR81z7/XUr59Pz8/K8ePnz47/bVV19pnDhu0t+Pmx0Z+Pv8zWv1/eZnZ2dntw8ePPizZXw4bj5/P3vq6G/eePZiX9fd9/Xng6/reg78/dInzxPG9+/auH83GjEbPUahj6m1Hoa6v1/X9c+XPrlP7INqrfuru7+10WzUkUHvOtTojPF1mPdHSzdqPPXo5vm046bdq0fhGr+bvXZk6OgAM2OZBx7hZD7hnCzbtp149Wid0YOjx+eE6t8tMzb659Ebkg5PPY8ZvXpEQWNCzck2M4H3BWeM1Fr31/6+GziPmTefM3tcYzQoIt4a3+cso2EzhsYTzAAdw9M9M3rviPv683dl/Oi9pdZKKeVk4piVRyDu1NI3mCtARFBKeWeGbtt2yHV9HXdnGUMyGjSfZq4K42ajYbPXx836XjO+jsj3rawcFx5dPgK8bzJ6eGbzI8yO3j4yaMToiWF98fl0c4bNSXBEJ/Ozd1HSEY8BLGOIxlONeCqlnHyWtGNoxteRMX38uP44fkyyPnfpp58zqy/s7jsGj0rOEcvPVaMD/sj4I/zWWllmMB/VviOwHumv+dkRGc9EOtOUu6fHZteOGBtDN/+NeJwPNRsxl54RU3PIO4x827a3wNwfdr45kib92WhAf9+fHem1I7FZa31rr+WIr45kzrjZsixvZWHHYcfqXFHGctM9ta7ridcigmVZWNf1DvyllN2wkatmHIxCby7kYzbPOD2qFCN39efrut55rE8YM3I+8VENHPFVa2VZlkOSdXe2bTuhmHdl+W5ox8T8YCbD/l2t9YQqRiNGjx8l1JEamVXKri56doyTuzfGhWd+OyLJjsNRlo+eHaX63Iy8ldnjQn3hbmA/yagGusfG7JwrxZytcxMyjpnH77VyPEEP65iVs5tntp4ldp8zlrG+x8z2Y9L1f91Jy+zeccGZn0Zv9nFHTH500BGbM6HOojMiWEZQf1cN7Aut68qyLCdeGFN+xuRYJ7tXu5fetU9EZCiPOp8xm8bTzLqpe2jkoDnzxjCOa8/VZByzzG7t8gQ4eT+GdO4Be0kZDTgq5kea/0g0RgS+rushNkbg93o6aqeejUeNR/fcUWmaqWLbtn39MdGWGcRHUrcb17E1jhszq3tvxNCsJuaE6VGZMbeMKTrL6LGelVL2k41jx6zuRbknSS9BI7WMdDRTxLi3z+VkDl3/7vb29oS3xhoZESdZOm4whrW/7/NHT83UtNze3u6c1I06Ozs7wdjc7PaQzsV8JNSOp7k97IDvtDPDYTdsvts6Pz8/MXCsm2PD2g/Tm+Vx0bHZHTNvjMyRyh2pajk/P0cIZEAHLLgXQLg5ckDCAFsKCwtIeHHAQGAmSnEkMAyZMBkin4lc3jBEM4a7MZgo7mBGhLD/+M1/qiCqDJflIjICYbknjlEtQEl81cBDYIaUi3aDwoEQ7mABuFMjcHOMQHLMRLSDhhlFQk4+k9IhLggZBREeVLN+NNwNCAhRwjGMimGyPJlA3owyIwiKEltWjTBHNchIGpLleIS5ITNKQHVDYRiBGUQI/83X/0XUyorhm2EKAsvT1IqFgwusgglCWARV3SuGmdNchwgiRHWQagcHIqCNJ7whJ6AI20AeUJ3A0ilP/vQJ33zzDdvNDbWkO91oAwphrah7wVGG1cHMqSHkggiwDJthmAcgjIIVg5rfWc1h2AZ7AgBLpMElMpQCUyOSX/3rr/j+9/+EGoEQTgKxKnDADRROmCiWySJBeILbMCxENVhwBISCnldm4EBEeiQRk1AJs/Y5ER2q7BX03v17SQnumDeXRqXgDaSA1cSdIExQDM+UgtoArTyMIjABJUPt4S2hRHEIgbdstV5LI4OusDvDMgMNqw3sHqi0HPcMotyRNqp5ArnmRrkLuBm4kHmjDAeEDMICk2PFMwomqjI2xYSHsJIUUnxoeBO7rdQUJ2qeJk8SLfdLGtgWCouEVzFUG7NXMAXVG1YqyDdMhSDgFuTpabUEiUguUw3AiAafbhoR4EtmpJknKArgytMaBHBmIozEIQ41M1dK7ySGEvxQ8NoI1w2WFh0XlsUaFYilJ5zhpuGKwBxXeygIqxlrE6Ih1wKPgi8L799/QGcJo4M5o9oYDfcKUZJmEFdX12zrikh2xwwrQA2KOeqETRlCGaKaUFXLpjQwy5Elu4dzflb4uw8/5MXP/wEsE6ORVX8hbVRzTVcN4ic/ec4HH3zA7XaTC1sQtZUXAm98Z7I7uvjii8+5ePw4pUiwu7TXuogM3cX7j/jhX/yIJz948gf/NPjll1/yy1/+E//z299RCGrL+AxI8krQfhk5Ab+6LmrGyDA1dvfkqOvXNzy7fMonn7w8umjafabmsDuowPPnz3nz5joLiN9VCwIqJDGHweixV59/weNHF4itZSMJbGq61kg3h3N2fs7D9x7jIdTwIzw3tCxrZo560U5U8frNFdu6URWJS8RmRukto3smv07uxwJrMa9uLDJCG1ZKI87AWJBvhEOsG9WEhSVcWBtu1A615da2kboiPaRW4hSRcBGEClhg0cTDycWdJR1XgUdkrN2hRqslGapydo+fffgRL37+Ir1opzrrJHZDAiB49vySv/3gp9zcRiqLCpsrjSLrnpQ27KH8/ItXPHz4PtRbRMoTajrBw6Hk4o8vLvjhj/6SH/w/wf/xx//I629/u9fPjkxLIZfVwmLwWBhQqUqgU1NZlCrkQVRwGW9urrl89pRPXr78gw27vHzO9dVVI2cIOYVIGHkrYXVDUQaPvXrFo4tHbFV7dnkjzGT+5BjXwnK/cPHovcRLI9hME3ZeM2+HtRwQAVdXb1ivr6ldzfYC3sSnPFAUZHW+HE7WtqamZL07avrcnYgKKtR6m/VKQTR9n0JQjZj7KqD2LCLY2h4quqsKNUWA5BQPatjAY1hTpuAO2iqlGLV1EQJ8C87vnfOzjz7ixS8+5vf93y+sFeZnl5f89K//htttw1bAW5d05rAK90awjOD//BUPHtynblmInXStyUHJR3jw3sV7/PjpU548eXJArvZ/gv/Fx7/g9bfftug4NfVKa7byd8pN9ZT5I9rFSM/wSPFXrOn5Tby5vubp0x/z8uU/t1Jx5/H9v3b3/q4YGJfPLrl+c0Pde8lgEWxN0znG1jG6e+zfXnHvwQNETdmMINqlSEeZJ1Dvn93j4uJiL+6jv8TQO9L6lya9f/fta26228wodVwZboFU2gLbqbqglZLarzTbdpvBEhWxNJI1bq5uuV6/SRCHt35AyAwPo5aKZzlIHRb5SqTR1nRSnitQtC4phNlyqvlTppRUlmZEQJizhCErbYSa57J8SNkLRm3s7RV54AHymjK9cYjUyg+wqV8XRCtfdzea+IZiFIoSsFKBEm1SE26SpXZCeDh7g9P64R4SrU2ZkC1btea5TMDsqCJ5UfUuZwO1BlnZ6tkgrWWWqjOgqhJmsLWa2dowsKZK0nuKlMWokWWBoBIeiJpZF6CqhtnMdHSHW6PdZLfijjISu2HX11dEjURrTza3BtymzaLV5NZwEGQYW4ekaLdCkXSDRCkidr2n/XKGUlOKjxc6oXZN0H4ZefXrVxQ3atTsjD1lkJpIDNEwlSCRZ53rp4zViNiQtqwEStHT1YoUOaclSY1MmmjXCelNz2Q1T5L/7LPPYDEePXqYNa0ENHnd7xeKKUFiAO2HBM97DZMoS1prMmQLrqCE8uZHIgVDNAFpFEW7BnGKWQtnYJ6GOmL54+99D0JEzfT1alRzikHtda+1/4nsxk/VqQZmlXXzJMUiqFu7nrJMe8v2LhteteuAvEcrVqk1m+Owdn9h7ZYSE6WAIrkjPCVIFua8s0jhWHfhZ5YZZ6rZNxoplZp3clg2uUSKAcmwYpgqUs1iFI5Z4rr3mliq3IVqVDbwM9CGkao1rN1IR6F4xepCEFht1wAhIKjRNH0Dv6ym5lHrEQw8JSlUtapghHJ+qiK13OyZ6yyf/sunSYqyVuPavVVq3bvSgrKxcKVGU7/s1U5ovXz1W5v9ftPVet68cbSehRo65ZNfUuB/AWHLchVUWJtFAAAAAElFTkSuQmCC);
812  display: none;
813}
814</style><template id="quad-stack-view-template">
815  <div id="header"></div>
816  <input id="stacking-distance-slider" max="400" min="1" step="1" type="range"/>
817
818  <canvas id="canvas"></canvas>
819  <img id="chrome-left"/>
820  <img id="chrome-mid"/>
821  <img id="chrome-right"/>
822</template><style>
823* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view {
824  position: relative;
825}
826
827* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > top-controls {
828  -webkit-flex: 0 0 auto;
829  background-image: -webkit-gradient(linear,
830                                     0 0, 100% 0,
831                                     from(#E5E5E5),
832                                     to(#D1D1D1));
833  border-bottom: 1px solid #8e8e8e;
834  border-top: 1px solid white;
835  display: flex;
836  flex-flow: row wrap;
837  flex-direction: row;
838  font-size:  14px;
839  padding-left: 2px;
840  overflow: hidden;
841}
842
843* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view >
844      top-controls input[type='checkbox'] {
845  vertical-align: -2px;
846}
847
848* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > .what-rasterized {
849  color: -webkit-link;
850  cursor: pointer;
851  text-decoration: underline;
852  position: absolute;
853  bottom: 10px;
854  left: 10px;
855}
856
857* /deep/ tr-ui-e-chrome-cc-layer-tree-quad-stack-view > #input-event {
858  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAMnwAADJ8BPja39wAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAyNSURBVHic7Z1PTCPXHcc/4wWWVbJN2cJSLVqiQJuGpoIGEVWReoBNIlIF5RCRSysOK9EbksUeOHLIIQcULbLEEYk7oqduD6gSRoqUEyK7dCOabOHghCiAE/JntQtesHt4fuM3z2+MZzy2x8ZfaTTjN+Px4/fh9/7Pb6xMJkND4VGk2hloyKkGkJCpASRkagAJmRpAQqYGkJCpASRkaqp2BvzKsizf3w1z38sKc+ZUaQCuAFeB57P7q4AF/Kxsj4GnLrfL+6PDYofQAskCaAJ6gJeB6+QAFOvZpwgwPwOHwCNgN5uu/+H252raJHRALMu6ggDwCtALNAf8E88QUL5AAHqSTVcNUTU4oQBiWVYzMIiA0E3lGhtp4CsEnPtACgFDGqXiYKoKxLKsCPAaMIwojlzV1tZGV1cXHR0ddHR00N7ebh93dHQAcHh4aG/JZNI+3tvb4+jo6LzsPAY+QYA5Ix9KBsoPpmpALMt6BXgTaHe7pre3l5GREUZGRujv7/fdsspkMmxtbRGPx4nH4+zs7BS6/HtgHfgvOW9xeE05bVZxIJZldQNvATf1c5FIhMHBQYaHh7l16xbd3d1lyUMikWBtbY319XU2NzdJp9Omy74B1oAEAoa8yIZTDttVDIhlWZeB94Dfm86Pjo4SjUbLBsFNiUSCWCzG6uqq2yVfAv9CNKHTlNlbKgLEsqxrwF+BX+nnhoaGuHPnDv39/WXPRyFtbW1x9+5dNjY2TKePgBXgOwQUFUyg3lJ2IJZl9QAfAK1qek9PD9PT04yMjJT1970qHo8zPz/P7u6ufuoE+CewQw6Kw2OCsGVZgViW9SdgFNGLBqC1tZWZmRnGx8eJRMI5lJZOp1lZWWFubo7j42P1VAZR4W8gWmJn5KBAAEVYWYBkm7PvIvoWtjo7O1lYWKCvry/w3yyHtre3mZqaYn9/Xz/1EPg3ot+iQslQIpTAgWRh/A0x5GFrYGCAWCxGe7trKzeUSiaTRKNRHjx4oJ/6CvgHoigLDEo5yox30WCMjY2xtLRUczAA2tvbWVpaYmxsTD91E3gbMbTTBFxCFM0WYPntMwXqIdk64x3lM9FolMnJycB+o5paXFwkFovplfcniDrlNLvJXr4vTwnMQ7KtqVE1rZ5gAExOThKNRvXkPyMGQaWXlOQpgQDJ9jM+QGlNjY2N1RUMqcnJSb34shClwnVE8aVCAY9QSi6ysj3wv6N0+gYGBlhaWqKlpaWke4dVqVSK27dv6xX9j8AyYpDyGaL4svsqxdo5CA95DwVGZ2cnsVisbmEAtLS0EIvF6OzsVJNfQIzRlVTJlwQkO1Boj021traysLBQk60pr2pvb2dhYYHWVscAxEuI1pcKJYIHKKV6yFvqh5mZmZrp9AWhvr4+ZmZm9OQ3MAMpSr6BZOcz7CH0np4exsfH/d6uZjU+Pk5Pj6PbdR34LT69xBeQbG/8TTVteno6tGNT5VQkEmF6elpPfh24TK7VFaFIKH4t+BrKTN/Q0FDoRm0rqZGREYaGhtSkXyDqVs9Fl2cg2QUJw2ranTt3vN6m7mSwwR8R68dULzm31eXHQwZRFiSMjo5WfXIpDOrv72d01DFQcQXoQ3hI0V7iB8gr9pcjEdNQwoVVNBrV69EXcanccfEST0Cyi9jsSe/BwcGKz4GHWd3d3QwOOqaAOoDnMFfuRnn1kJfV7wwPD3v8ev1Ls4mF+Ac2FVsW5C8aLxpI9ou/U9Nu3brlOcP1LoNNbuJej+R5ihcPaQJ+Iz/09vY2iiuDuru76e3tVZN+jeiTyFHggsWWFyA9KAufL3K/4zxptrkE3MClYkcDUxQQU3HVAOIug226yHlIXvNXrUe8eEiHPGhra2v0PQqov7+ftrY2NekFzEVWSXWI3Rns6uoq6ZGyepdlWXR1dalJrRTwEFVegFyVB3L5f0Pu0mzUirC1CsPoJcUCuYLyGFkDyPnSbBQhB8VUZNm99nOBZC+8qqZdhBnBUmWw0RXMQHx5iOPpprB5yMbGBp999lm1s+GQwUZXKFBUSRULxOEhYQNy//59Hj58WO1sOOQCpGAfBOoESBhVwENMm61in/cOXRt3f3+f09NTAH766SdaWlrY29sDoLm5mevXr1cze25y9QypYoH8rH44PDwsIU/B6KOPPrLzcXBwQCQS4dNPPwXgxo0bfPzxx9XMnslGJ7h7hkX2GZOaBRKLxezjxcVFLl++zMTERBVz5JTBRseGy3zXIaEDEna5eAgENIX7WP2QTCaL/NrFlcFG0kMKLvIttsh6ilg83ATh85D3338/dGNrmo3SiAXYuvLgeImX9Rj4peHHqq5r165VOwt50mx0gjkqhJT92cvgol2P7O3thSa+VBiVyWTsJnhWsv4wBrZR5QWIjfzo6IitrS0vebxQ2tra0oPdPCbfQ4ze4gXII/VDPB73k9cLIYNtDnACUJ9td8gLkF2UiqkBxF2abc6AJOboD3lQzgWi1BWnCCgA7OzskEgk/Oa5bpVIJPTwT9+RCymoe4jvIkt+8Qs1cW1tzVem61kGm8jiKk1+gIE8eV25+Ihc3CjW19c9fr3+pdkkgwCiwsiL+oDyUKhXIE8QISUA2NzcbBRbihKJBJubm2rSD4h4KLLuOMMQRUiVn9XvdrGVTqcdg3wXXbFYTI9Op3qHuqlQHCoKSNadJNH7KGNbq6urjT4Jou+hRaVLIUoTE4zA6hD5Q5+oCXfv3vVxm/qSwQY7iG6C9BAZByWv6auOevgBIr3ke5mwsbFxofsl8XhcDw34BPgaYXg1KI0p6JlDRQPRiq0zRGQ1W/Pz827RPeta6XSa+fl5Pfl/5LxC3QrCAP9P4WYQcW2/kQm7u7usrKz4vF3tamVlRY/P+CPwLTlvcANiDN/kCYjiJXLv6AXNzc2xvb3t5ZY1re3tbebm5vRk2Vc7JReExgTDqFI8JIMIMvylTDw+PmZqaupCzCgmk0mmpqb0IJkHiLpV9Ypn5MA4oJimMDwD0eqSDCLIsD3WvL+/TzQaJZVKeb11zSiVShGNRvXgmE+Az8kVU8+UrSjvgNKCz8jxmaeIIMNyEoYHDx4wOztbwq3DrdnZWT1W1imi5XmCE0YKlyLLbYLPFxDlZhLKd4ggw/aJe/fusbi46Of2odbi4iL37t1TkzLAfxAzqmc4PcPkIQVVqofIfRrREVpXL4jFYnUFRQbB1PQIMZsqYaSUraiWlaqSQvxlV3rIFd2XEIsm/gL8Qb1ubGyMDz/8sGajzKVSKWZnZ3XPANHs/xxh+BSiyDrObifkirCiiisIDogK5TIwjvY6ijoMpHwEbCJAPCMHQIWhxl4sKmxsEEEwwQmlCQHlbeBV9do6CjX+DbBNDobqHSYYRQfCLDnimKEZfJbN0CpiENLOxf7+PhMTEywvL4d6mCWdTrO8vMzExIQOI4Pod31OPowTzHWHpz80kMjWyqpB6SXSU5oRQYbfARwVSA2+ruIU0ZrSK/ATnEBky8oxqlusnQMLNa4VXRa5Sr4JEYdwDPG8tkM18kKXJ+TmgWQ/Q3qDDsNTJa4r6NjvkA/lEsJTnkdEMX3J9N0Qv/LoAFFEyRaTbFFJGPK4ZBhQntdVgDuUZkTr6w2E1zgUspeC/YjoY3yPczgkZdhk568kGFC+F7qAE4qsU2S90owIpfo6ImCkUVV6bd4TxHzGtzgnmNThEN0rHK0pSngFUtleeeQCRa1XmhHN41eBAcRDka6qwIslU4jRhq/Jn8tQh0HUitttWtb3YvRyv4MKck8MyUeCZRGmeosMGPkiIshNpR72yCCW6hwgFiTI1pE0tDS6abDQ87BIMarEW9rAGUFNNot1MHL/HCIs3k1E8K9LAWfpDDEYepDd5Lopdc5b9Qx9r14nx/EgABhQASCQ109RizAdjApH9vhvIOJNvYCIFyJjhhSjNLlm6WMEgCS5tbbqAjbTlKsKwwTCHmCtmfcY2j/khCL3auwPNXyRGqOwifzQRq2IYk7dwDl8cYwwpjoqrRrSDYYKpdCaqpLrC5Oq8S5c+xCzx+hwTJtbEBdT3aMbUBpVXWvrtsnz+op1CNArVFXlbdEu3mICowJS9+cBsR/Exx2IaQG0af1tHggI1itUVft96vahsi/kOabPxQCRe93IaW3TAVQMhFRVgdiZMIORexOgQiDkXv3DdAObPMYIgAqBkAoFECmtJ+4Gp9Ax2rEORe51w+sQ7OOK17FhAqLKBY567AbBTSY4rsfVsktogagqACfvUpd0tz/SkR4GW9QEEFVBhtAI499ec0DqXf8H8f4X10jf2YAAAAAASUVORK5CYII=);
859  display: none;
860}
861</style><template id="tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template">
862  <img id="input-event"/>
863</template><style>
864* /deep/ tr-ui-e-chrome-cc-layer-view{-webkit-flex-direction:column;display:-webkit-flex;left:0;position:relative;top:0}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-tree-quad-stack-view{-webkit-flex:1 1 100%;-webkit-flex-direction:column;min-height:0;display:-webkit-flex;width:100%}* /deep/tr-ui-e-chrome-cc- layer-view>tr-ui-e-chrome-cc-layer-view-analysis{height:150px;overflow-y:auto}* /deep/ tr-ui-e-chrome-cc-layer-view>tr-ui-e-chrome-cc-layer-view-analysis *{-webkit-user-select:text}
865</style><style>
866* /deep/ .tr-ui-e-chrome-cc-lthi-s-view{-webkit-flex:1 1 auto!important;-webkit-flex-direction:row;display:-webkit-flex}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-e-chrome-cc-layer-picker{-webkit-flex:1 1 auto}* /deep/ .tr-ui-e-chrome-cc-lthi-s-view>tr-ui-b-drag-handle{-webkit-flex:0 0 auto}
867</style><style>
868* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view{-webkit-flex:0 0 auto;font-size:0;margin:0;min-height:200px;min-width:200px;overflow:hidden;padding:0}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-summary-view.hidden{display:none}
869</style><style>
870* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view{display:block;height:180px;margin:0;padding:0;position:relative}* /deep/ tr-ui-e-chrome-cc-picture-ops-chart-view>.use-percentile-scale{left:0;position:absolute;top:0}
871</style><template id="tr-ui-e-chrome-cc-picture-debugger-template">
872  <style>
873  * /deep/ tr-ui-e-chrome-cc-picture-debugger {
874    -webkit-flex: 1 1 auto;
875    -webkit-flex-direction: row;
876    display: -webkit-flex;
877  }
878
879  * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-a-generic-object-view {
880    -webkit-flex-direction: column;
881    display: -webkit-flex;
882    width: 400px;
883  }
884
885  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel {
886    -webkit-flex-direction: column;
887    display: -webkit-flex;
888    min-width: 300px;
889  }
890
891  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel > picture-info {
892    -webkit-flex: 0 0 auto;
893    padding-top: 2px;
894  }
895
896  * /deep/ tr-ui-e-chrome-cc-picture-debugger > left-panel >
897        picture-info .title {
898    font-weight: bold;
899    margin-left: 5px;
900    margin-right: 5px;
901  }
902
903  * /deep/ tr-ui-e-chrome-cc-picture-debugger > tr-ui-b-drag-handle {
904    -webkit-flex: 0 0 auto;
905  }
906
907  * /deep/ tr-ui-e-chrome-cc-picture-debugger .filename {
908    -webkit-user-select: text;
909    margin-left: 5px;
910  }
911
912  * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel {
913    -webkit-flex: 1 1 auto;
914    -webkit-flex-direction: column;
915    display: -webkit-flex;
916  }
917
918  * /deep/ tr-ui-e-chrome-cc-picture-debugger > right-panel >
919        tr-ui-e-chrome-cc-picture-ops-chart-view {
920    min-height: 150px;
921    min-width : 0;
922    overflow-x: auto;
923    overflow-y: hidden;
924  }
925
926  /*************************************************/
927
928  * /deep/ tr-ui-e-chrome-cc-picture-debugger raster-area {
929    background-color: #ddd;
930    min-height: 200px;
931    min-width: 200px;
932    overflow-y: auto;
933    padding-left: 5px;
934  }
935  </style>
936
937  <left-panel>
938    <picture-info>
939      <div>
940        <span class="title">Skia Picture</span>
941        <span class="size"></span>
942      </div>
943      <div>
944        <input class="filename" type="text" value="skpicture.skp"/>
945        <button class="export">Export</button>
946      </div>
947    </picture-info>
948  </left-panel>
949  <right-panel>
950    <tr-ui-e-chrome-cc-picture-ops-chart-view>
951    </tr-ui-e-chrome-cc-picture-ops-chart-view>
952    <raster-area><canvas></canvas></raster-area>
953  </right-panel>
954</template><style>
955* /deep/ .tr-ui-e-chrome-cc-picture-snapshot-view{-webkit-flex:0 1 auto!important;display:-webkit-flex}
956</style><dom-module id="tr-ui-a-stack-frame">
957  <template>
958    <style>
959    :host {
960      display: flex;
961      flex-direction: row;
962      align-items: center;
963      font-size: 12px;
964    }
965    </style>
966    <tr-ui-b-table id="table"></tr-ui-b-table>
967  </template>
968</dom-module><dom-module id="tr-ui-a-single-event-sub-view">
969  <template>
970    <style>
971    :host {
972      display: flex;
973      flex: 0 1;
974      flex-direction: column;
975    }
976    #table {
977      flex: 0 1 auto;
978      align-self: stretch;
979      font-size: 12px;
980    }
981    </style>
982    <tr-ui-b-table id="table">
983    </tr-ui-b-table>
984  </template>
985</dom-module><dom-module id="tr-ui-e-chrome-cc-raster-task-view">
986  <template>
987    <style>
988    :host {
989      display: flex;
990      flex-direction: column;
991    }
992    #heading {
993      flex: 0 0 auto;
994    }
995    tr-ui-b-table {
996      font-size: 12px;
997    }
998    </style>
999
1000    <div id="heading">
1001      Rasterization costs in
1002      <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1003    </div>
1004    <tr-ui-b-table id="content"></tr-ui-b-table>
1005  </template>
1006</dom-module><style>
1007.tr-ui-e-chrome-gpu-state-snapshot-view{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAZiS0dEAEwATABMYqp3KAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90JCQsBMCH7ZqYAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAUElEQVRYw+3WwQkAIAiF4Vc0hTO5/wiuURvYIcQOv1cRPhDlDXffSsrMsrYiQi/zU80FAACAVX3nt3lWAABA/x+ovnPyAAAA5AHyAAAA3wMOd34Xd+lsglgAAAAASUVORK5CYII=);display:-webkit-flex;overflow:auto}.tr-ui-e-chrome-gpu-state-snapshot-view img{display:block;margin:16px auto 16px auto}
1008</style><dom-module id="tr-ui-a-layout-tree-sub-view">
1009  <template>
1010    <style>
1011    tr-ui-b-table {
1012      font-size: 12px;
1013    }
1014    </style>
1015    <div id="content"></div>
1016  </template>
1017</dom-module><dom-module id="tr-ui-e-s-frame-data-side-panel">
1018  <template>
1019    <style>
1020    :host {
1021      display: flex;
1022      width: 600px;
1023      flex-direction: column;
1024    }
1025    table-container {
1026      display: flex;
1027      overflow: auto;
1028      font-size: 12px;
1029    }
1030    </style>
1031    <div>
1032      Organize by:
1033      <select id="select">
1034        <option value="none">None</option>
1035        <option value="tree">Frame Tree</option>
1036      </select>
1037    </div>
1038    <table-container>
1039      <tr-ui-b-table id="table"></tr-ui-b-table>
1040    </table-container>
1041  </template>
1042</dom-module><dom-module id="tr-ui-b-chart-legend-key">
1043  <template>
1044    <style>
1045      #checkbox {
1046        margin: 0;
1047        visibility: hidden;
1048        vertical-align: text-top;
1049      }
1050      #label, #link {
1051        white-space: nowrap;
1052        text-overflow: ellipsis;
1053        overflow: hidden;
1054        display: inline-block;
1055      }
1056    </style>
1057
1058    <input checked="" id="checkbox" type="checkbox"/>
1059    <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1060    <label id="label"></label>
1061  </template>
1062</dom-module><style>
1063  * /deep/ .chart-base {
1064    -webkit-user-select: none;
1065    cursor: default;
1066  }
1067
1068  * /deep/ .chart-base .axis path,
1069  * /deep/ .chart-base .axis line {
1070    fill: none;
1071    shape-rendering: crispEdges;
1072    stroke: #000;
1073  }
1074</style><template id="chart-base-template">
1075  <svg>
1076    <g id="chart-area" xmlns="http://www.w3.org/2000/svg">
1077      <g class="x axis"></g>
1078      <g class="y axis"></g>
1079      <text id="title"></text>
1080    </g>
1081  </svg>
1082</template><style>
1083  * /deep/ .chart-base-2d.updating-brushing-state #brushes > * {
1084    fill: rgb(103, 199, 165)
1085  }
1086
1087  * /deep/ .chart-base-2d #brushes {
1088    fill: rgb(213, 236, 229)
1089  }
1090</style><dom-module id="tr-ui-e-s-input-latency-side-panel">
1091  <template>
1092    <style>
1093    :host {
1094      flex-direction: column;
1095      display: flex;
1096    }
1097    toolbar {
1098      flex: 0 0 auto;
1099      border-bottom: 1px solid black;
1100      display: flex;
1101    }
1102    result-area {
1103      flex: 1 1 auto;
1104      display: block;
1105      min-height: 0;
1106      overflow-y: auto;
1107    }
1108    </style>
1109
1110    <toolbar id="toolbar"></toolbar>
1111    <result-area id="result_area"></result-area>
1112  </template>
1113</dom-module><dom-module id="tr-ui-b-heading">
1114  <template>
1115    <style>
1116    :host {
1117      background-color: rgb(243, 245, 247);
1118      border-right: 1px solid #8e8e8e;
1119      display: block;
1120      height: 100%;
1121      margin: 0;
1122      padding: 0 5px 0 0;
1123    }
1124
1125    heading {
1126      display: block;
1127      overflow-x: hidden;
1128      text-align: left;
1129      text-overflow: ellipsis;
1130      white-space: nowrap;
1131    }
1132
1133    #arrow {
1134      -webkit-flex: 0 0 auto;
1135      font-family: sans-serif;
1136      margin-left: 5px;
1137      margin-right: 5px;
1138      width: 8px;
1139    }
1140
1141    #link, #heading_content {
1142      display: none;
1143    }
1144    </style>
1145    <heading id="heading" on-click="onHeadingDivClicked_">
1146      <span id="arrow"></span>
1147      <span id="heading_content"></span>
1148      <tr-ui-a-analysis-link id="link"></tr-ui-a-analysis-link>
1149    </heading>
1150  </template>
1151</dom-module><style>
1152.track-button{background-color:rgba(255,255,255,0.5);border:1px solid rgba(0,0,0,0.1);color:rgba(0,0,0,0.2);font-size:10px;height:12px;text-align:center;width:12px}.track-button:hover{background-color:rgba(255,255,255,1.0);border:1px solid rgba(0,0,0,0.5);box-shadow:0 0 .05em rgba(0,0,0,0.4);color:rgba(0,0,0,1)}.track-close-button{left:2px;position:absolute;top:2px}.track-collapse-button{left:3px;position:absolute;top:2px}
1153</style><style>
1154.object-instance-track{height:18px}
1155</style><style>
1156.tr-ui-e-system-stats-instance-track{height:500px}.tr-ui-e-system-stats-instance-track ul{list-style:none;list-style-position:outside;margin:0;overflow:hidden}
1157</style><style>
1158.tr-ui-e-system-stats-snapshot-view .subhead{font-size:small;padding-bottom:10px}.tr-ui-e-system-stats-snapshot-view ul{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;font-family:monospace;list-style:none;margin:0;padding-left:15px}.tr-ui-e-system-stats-snapshot-view li{background-position:0 5px;background-repeat:no-repeat;cursor:pointer;list-style:none;margin:0;padding-left:15px}
1159</style><dom-module id="tr-ui-e-v8-gc-objects-stats-table">
1160  <template>
1161    <style>
1162    tr-ui-b-table {
1163      flex: 0 0 auto;
1164      align-self: stretch;
1165      margin-top: 1em;
1166      font-size: 12px;
1167    }
1168    .diff {
1169      display: inline-block;
1170      margin-top: 1em;
1171      margin-left: 0.8em;
1172    }
1173    </style>
1174    <div class="diff" id="diffOption">
1175      Diff
1176    </div>
1177    <tr-ui-b-table id="diffTable"></tr-ui-b-table>
1178    <tr-ui-b-table id="table"></tr-ui-b-table>
1179  </template>
1180</dom-module><dom-module id="tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view">
1181  <template>
1182    <style>
1183    </style>
1184    <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats">
1185    </tr-ui-e-v8-gc-objects-stats-table>
1186  </template>
1187</dom-module><dom-module id="tr-ui-e-v8-ic-stats-table">
1188  <template>
1189    <style>
1190    tr-ui-b-table {
1191      flex: 0 0 auto;
1192      align-self: stretch;
1193      margin-top: 1em;
1194      font-size: 12px;
1195    }
1196    #total {
1197      margin-top: 1em;
1198      margin-left: 0.8em;
1199    }
1200    #groupOption {
1201      display: inline-block;
1202      margin-top: 1em;
1203      margin-left: 0.8em;
1204    }
1205    </style>
1206    <div style="padding-right: 200px">
1207      <div style="float:right;  border-style: solid; border-width: 1px; padding:20px">
1208        0 uninitialized<br/>
1209        . premonomorphic<br/>
1210        1 monomorphic<br/>
1211        ^ recompute handler<br/>
1212        P polymorphic<br/>
1213        N megamorphic<br/>
1214        G generic
1215      </div>
1216    </div>
1217    <div id="total">
1218    </div>
1219    <div id="groupOption">
1220      Group Key
1221    </div>
1222    <tr-ui-b-table id="table"></tr-ui-b-table>
1223  </template>
1224</dom-module><dom-module id="tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view">
1225  <template>
1226    <tr-ui-e-v8-ic-stats-table id="table">
1227    </tr-ui-e-v8-ic-stats-table>
1228  </template>
1229</dom-module><dom-module id="tr-ui-e-v8-runtime-call-stats-table">
1230  <template>
1231    <style>
1232    #table {
1233      flex: 0 0 auto;
1234      align-self: stretch;
1235      margin-top: 1em;
1236      font-size: 12px;
1237    }
1238    </style>
1239    <tr-ui-b-table id="table"></tr-ui-b-table>
1240  </template>
1241</dom-module><dom-module id="tr-ui-e-multi-v8-thread-slice-sub-view">
1242  <template>
1243    <tr-ui-a-multi-thread-slice-sub-view id="content"></tr-ui-a-multi-thread-slice-sub-view>
1244    <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table>
1245  </template>
1246</dom-module><dom-module id="tr-ui-e-single-v8-gc-stats-thread-slice-sub-view">
1247  <template>
1248    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
1249    <tr-ui-e-v8-gc-objects-stats-table id="gcObjectsStats"></tr-ui-e-v8-gc-objects-stats-table>
1250  </template>
1251</dom-module><dom-module id="tr-ui-e-single-v8-ic-stats-thread-slice-sub-view">
1252  <template>
1253    <tr-ui-e-v8-ic-stats-table id="table">
1254    </tr-ui-e-v8-ic-stats-table>
1255  </template>
1256</dom-module><dom-module id="tr-ui-e-single-v8-thread-slice-sub-view">
1257  <template>
1258    <tr-ui-a-single-thread-slice-sub-view id="content"></tr-ui-a-single-thread-slice-sub-view>
1259    <tr-ui-e-v8-runtime-call-stats-table id="runtimeCallStats"></tr-ui-e-v8-runtime-call-stats-table>
1260  </template>
1261</dom-module><dom-module id="tr-ui-a-alert-sub-view">
1262  <template>
1263    <style>
1264    :host {
1265      display: flex;
1266      flex-direction: column;
1267    }
1268    #table {
1269      flex: 1 1 auto;
1270      align-self: stretch;
1271      font-size: 12px;
1272    }
1273    </style>
1274    <tr-ui-b-table id="table">
1275    </tr-ui-b-table>
1276  </template>
1277</dom-module><dom-module id="tr-ui-b-tab-view">
1278  <template>
1279    <style>
1280      :host {
1281        display: flex;
1282        flex-direction: column;
1283      }
1284
1285      #selection_description, #tabs {
1286        font-size: 12px;
1287      }
1288
1289      #selection_description {
1290        display: inline-block;
1291        font-weight: bold;
1292        margin: 9px 0px 4px 20px;
1293      }
1294
1295      #tabs {
1296        flex: 0 0 auto;
1297        border-top: 1px solid #8e8e8e;
1298        border-bottom: 1px solid #8e8e8e;
1299        background-color: #ececec;
1300        overflow: hidden;
1301        margin: 0;
1302      }
1303
1304      #tabs input[type=radio] {
1305        display: none;
1306      }
1307
1308      #tabs tab label {
1309        cursor: pointer;
1310        display: inline-block;
1311        border: 1px solid #ececec;
1312        margin: 5px 0px 0px 15px;
1313        padding: 3px 10px 3px 10px;
1314      }
1315
1316      #tabs tab label span {
1317        font-weight: bold;
1318      }
1319
1320      #tabs:focus input[type=radio]:checked ~ label {
1321        outline: dotted 1px #8e8e8e;
1322        outline-offset: -2px;
1323      }
1324
1325      #tabs input[type=radio]:checked ~ label {
1326        background-color: white;
1327        border: 1px solid #8e8e8e;
1328        border-bottom: 1px solid white;
1329      }
1330
1331      #subView {
1332        flex: 1 1 auto;
1333        overflow: auto;
1334      }
1335    </style>
1336    <div hidden="[[tabsHidden]]" id="tabs">
1337      <label id="selection_description">[[label_]]</label>
1338      <template is="dom-repeat" items="[[subViews_]]">
1339        <tab>
1340          <input checked="[[isChecked_(item)]]" id$="[[computeRadioId_(item)]]" name="tabs" on-change="onTabChanged_" type="radio"/>
1341          <label for$="[[computeRadioId_(item)]]">
1342            <template if="[[item.tabIcon]]" is="dom-if">
1343              <span style$="[[item.tabIcon.style]]">[[item.tabIcon.text]]</span>
1344            </template>
1345            [[item.tabLabel]]
1346          </label>
1347        </tab>
1348      </template>
1349    </div>
1350    <div id="subView"></div>
1351    <content>
1352    </content>
1353  </template>
1354</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view">
1355  <template>
1356    <tr-ui-b-tab-view id="tabs"></tr-ui-b-tab-view>
1357  </template>
1358</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-breakdown-view-tab">
1359  <template>
1360    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
1361    <tr-ui-b-info-bar hidden="" id="info"></tr-ui-b-info-bar>
1362    <tr-ui-b-table id="table"></tr-ui-b-table>
1363  </template>
1364</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-path-view">
1365  <template>
1366    <style>
1367      :host {
1368        display: flex;
1369        flex-direction: column;
1370      }
1371    </style>
1372    <tr-v-ui-scalar-context-controller></tr-v-ui-scalar-context-controller>
1373    <tr-ui-b-table id="table"></tr-ui-b-table>
1374  </template>
1375</dom-module><dom-module id="tr-ui-a-memory-dump-heap-details-pane">
1376  <template>
1377    <style>
1378      :host {
1379        display: flex;
1380        flex-direction: column;
1381      }
1382
1383      #header {
1384        flex: 0 0 auto;
1385        display: flex;
1386        flex-direction: row;
1387        align-items: center;
1388
1389        background-color: #eee;
1390        border-bottom: 1px solid #8e8e8e;
1391        border-top: 1px solid white;
1392      }
1393
1394      #label {
1395        flex: 1 1 auto;
1396        padding: 8px;
1397        font-size: 15px;
1398        font-weight: bold;
1399      }
1400
1401      #view_mode_container {
1402        display: none;
1403        flex: 0 0 auto;
1404        padding: 5px;
1405        font-size: 15px;
1406      }
1407
1408      #contents {
1409        flex: 1 0 auto;
1410        align-self: stretch;
1411        font-size: 12px;
1412      }
1413
1414      #info_text {
1415        padding: 8px;
1416        color: #666;
1417        font-style: italic;
1418        text-align: center;
1419      }
1420
1421      #split_view {
1422        display: none;  /* Hide until memory allocator dumps are set. */
1423        flex: 1 0 auto;
1424        align-self: stretch;
1425        flex-direction: row;
1426      }
1427
1428      #path_view {
1429        width: 50%;
1430      }
1431
1432      #breakdown_view {
1433        flex: 1 1 auto;
1434        width: 0;
1435      }
1436
1437      #path_view, #breakdown_view {
1438        overflow-x: auto;  /* Show scrollbar if necessary. */
1439      }
1440    </style>
1441    <div id="header">
1442      <div id="label">Heap details</div>
1443      <div id="view_mode_container">
1444        <span>View mode:</span>
1445
1446      </div>
1447    </div>
1448    <div id="contents">
1449      <tr-ui-b-info-bar hidden="" id="info_bar">
1450      </tr-ui-b-info-bar>
1451
1452      <div id="info_text">No heap dump selected</div>
1453
1454      <div id="split_view">
1455        <tr-ui-a-memory-dump-heap-details-path-view id="path_view">
1456        </tr-ui-a-memory-dump-heap-details-path-view>
1457        <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
1458        <tr-ui-a-memory-dump-heap-details-breakdown-view id="breakdown_view">
1459        </tr-ui-a-memory-dump-heap-details-breakdown-view>
1460      </div>
1461    </div>
1462  </template>
1463</dom-module><dom-module id="tr-ui-a-memory-dump-allocator-details-pane">
1464  <template>
1465    <style>
1466      :host {
1467        display: flex;
1468        flex-direction: column;
1469      }
1470
1471      #label {
1472        flex: 0 0 auto;
1473        padding: 8px;
1474
1475        background-color: #eee;
1476        border-bottom: 1px solid #8e8e8e;
1477        border-top: 1px solid white;
1478
1479        font-size:  15px;
1480        font-weight: bold;
1481      }
1482
1483      #contents {
1484        flex: 1 0 auto;
1485        align-self: stretch;
1486        font-size: 12px;
1487      }
1488
1489      #info_text {
1490        padding: 8px;
1491        color: #666;
1492        font-style: italic;
1493        text-align: center;
1494      }
1495
1496      #table {
1497        display: none;  /* Hide until memory allocator dumps are set. */
1498        flex: 1 0 auto;
1499        align-self: stretch;
1500        font-size: 12px;
1501      }
1502    </style>
1503    <div id="label">Component details</div>
1504    <div id="contents">
1505      <div id="info_text">No memory allocator dump selected</div>
1506      <tr-ui-b-table id="table"></tr-ui-b-table>
1507    </div>
1508  </template>
1509</dom-module><dom-module id="tr-ui-a-memory-dump-vm-regions-details-pane">
1510  <template>
1511    <style>
1512      :host {
1513        display: flex;
1514        flex-direction: column;
1515      }
1516
1517      #label {
1518        flex: 0 0 auto;
1519        padding: 8px;
1520
1521        background-color: #eee;
1522        border-bottom: 1px solid #8e8e8e;
1523        border-top: 1px solid white;
1524
1525        font-size:  15px;
1526        font-weight: bold;
1527      }
1528
1529      #contents {
1530        flex: 1 0 auto;
1531        align-self: stretch;
1532        font-size: 12px;
1533      }
1534
1535      #info_text {
1536        padding: 8px;
1537        color: #666;
1538        font-style: italic;
1539        text-align: center;
1540      }
1541
1542      #table {
1543        display: none;  /* Hide until memory dumps are set. */
1544        flex: 1 0 auto;
1545        align-self: stretch;
1546        font-size: 12px;
1547      }
1548    </style>
1549    <div id="label">Memory maps</div>
1550    <div id="contents">
1551      <div id="info_text">No memory maps selected</div>
1552      <tr-ui-b-table id="table"></tr-ui-b-table>
1553    </div>
1554  </template>
1555</dom-module><dom-module id="tr-ui-b-color-legend">
1556  <template>
1557    <style>
1558    :host {
1559      display: inline-block;
1560    }
1561
1562    #square {
1563      font-size: 150%;  /* Make the square bigger. */
1564      line-height: 0%;  /* Prevent the square from increasing legend height. */
1565    }
1566    </style>
1567    <span id="square"></span>
1568    <span id="label"></span>
1569  </template>
1570</dom-module><dom-module id="tr-ui-b-view-specific-brushing-state">
1571  <template></template>
1572</dom-module><dom-module id="tr-ui-a-memory-dump-overview-pane">
1573  <template>
1574    <style>
1575      :host {
1576        display: flex;
1577        flex-direction: column;
1578      }
1579
1580      #label {
1581        flex: 0 0 auto;
1582        padding: 8px;
1583
1584        background-color: #eee;
1585        border-bottom: 1px solid #8e8e8e;
1586        border-top: 1px solid white;
1587
1588        font-size:  15px;
1589        font-weight: bold;
1590      }
1591
1592      #label a {
1593        font-weight: normal;
1594        float: right;
1595      }
1596
1597      #contents {
1598        flex: 1 0 auto;
1599        align-self: stretch;
1600        font-size: 12px;
1601        overflow: auto;
1602      }
1603
1604      #info_text {
1605        padding: 8px;
1606        color: #666;
1607        font-style: italic;
1608        text-align: center;
1609      }
1610
1611      #table {
1612        display: none;  /* Hide until memory dumps are set. */
1613        flex: 1 0 auto;
1614        align-self: stretch;
1615        font-size: 12px;
1616      }
1617    </style>
1618    <tr-ui-b-view-specific-brushing-state id="state" view-id="analysis.memory_dump_overview_pane">
1619    </tr-ui-b-view-specific-brushing-state>
1620    <div id="label">Overview <a href="https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra">Help</a></div>
1621    <div id="contents">
1622      <div id="info_text">No memory memory dumps selected</div>
1623      <tr-ui-b-table id="table"></tr-ui-b-table>
1624    </div>
1625  </template>
1626</dom-module><dom-module id="tr-ui-a-memory-dump-header-pane">
1627  <template>
1628    <style>
1629      :host {
1630        display: flex;
1631        flex-direction: row;
1632        align-items: center;
1633
1634        background-color: #d0d0d0;
1635        border-bottom: 1px solid #8e8e8e;
1636        border-top: 1px solid white;
1637      }
1638
1639      #label {
1640        flex: 1 1 auto;
1641        padding: 6px;
1642        font-size: 15px;
1643      }
1644
1645      #aggregation_mode_container {
1646        display: none;
1647        flex: 0 0 auto;
1648        padding: 5px;
1649        font-size: 15px;
1650      }
1651    </style>
1652
1653    <div id="label"></div>
1654    <div id="aggregation_mode_container">
1655      <span>Metric aggregation:</span>
1656
1657    </div>
1658  </template>
1659</dom-module><dom-module id="tr-ui-a-stacked-pane-view">
1660  <template>
1661    <style>
1662    :host {
1663      display: flex;
1664      flex-direction: column;
1665    }
1666
1667    #pane_container > * {
1668      flex: 0 0 auto;
1669    }
1670    </style>
1671    <div id="pane_container">
1672    </div>
1673  </template>
1674</dom-module><dom-module id="tr-ui-a-container-memory-dump-sub-view">
1675  <template>
1676    <style>
1677    tr-ui-b-table {
1678      font-size: 12px;
1679    }
1680    </style>
1681    <div id="content"></div>
1682  </template>
1683</dom-module><dom-module id="tr-ui-a-counter-sample-sub-view">
1684  <template>
1685    <style>
1686    :host {
1687      display: flex;
1688      flex-direction: column;
1689    }
1690    tr-ui-b-table {
1691      font-size: 12px;
1692    }
1693    </style>
1694    <tr-ui-b-table id="table"></tr-ui-b-table>
1695  </template>
1696</dom-module><dom-module id="tr-ui-a-multi-event-summary-table">
1697  <template>
1698    <style>
1699    :host {
1700      display: flex;
1701    }
1702    #table {
1703      flex: 1 1 auto;
1704      align-self: stretch;
1705      font-size: 12px;
1706    }
1707    </style>
1708    <tr-ui-b-table id="table">
1709    </tr-ui-b-table>
1710
1711  </template>
1712</dom-module><dom-module id="tr-ui-a-selection-summary-table">
1713  <template>
1714    <style>
1715    :host {
1716      display: flex;
1717    }
1718    #table {
1719      flex: 1 1 auto;
1720      align-self: stretch;
1721      font-size: 12px;
1722    }
1723    </style>
1724    <tr-ui-b-table id="table">
1725    </tr-ui-b-table>
1726
1727  </template>
1728</dom-module><dom-module id="tr-ui-b-radio-picker">
1729  <template>
1730    <style>
1731    :host([vertical]) #container {
1732      flex-direction: column;
1733    }
1734    :host(:not[vertical]) #container {
1735      flex-direction: row;
1736    }
1737    #container {
1738      display: flex;
1739    }
1740    #container > div {
1741      padding-left: 1em;
1742      padding-bottom: 0.5em;
1743    }
1744    </style>
1745    <div id="container"></div>
1746  </template>
1747</dom-module><dom-module id="tr-v-ui-breakdown-span">
1748  <template>
1749    <style>
1750    :host {
1751      display: flex;
1752      flex-direction: column;
1753    }
1754    #table_container {
1755      display: flex;
1756      flex: 0 0 auto;
1757    }
1758    #table {
1759      max-height: 150px;
1760      overflow-y: auto;
1761    }
1762    </style>
1763
1764    <div id="empty">(empty)</div>
1765    <div id="table_container">
1766      <div id="container"></div>
1767      <span>
1768        <tr-ui-b-table id="table"></tr-ui-b-table>
1769      </span>
1770    </div>
1771  </template>
1772</dom-module><dom-module id="tr-v-ui-buildbot-info-span">
1773  <template>
1774    <tr-ui-b-table id="table"></tr-ui-b-table>
1775  </template>
1776</dom-module><dom-module id="tr-v-ui-collected-related-event-set-span">
1777
1778</dom-module><dom-module id="tr-v-ui-device-info-span">
1779  <template>
1780    <tr-ui-b-table id="table"></tr-ui-b-table>
1781  </template>
1782</dom-module><dom-module id="tr-v-ui-generic-diagnostic-span">
1783  <template>
1784    <tr-ui-a-generic-object-view id="generic"></tr-ui-a-generic-object-view>
1785  </template>
1786
1787
1788</dom-module><dom-module id="tr-v-ui-merged-buildbot-info-span">
1789  <template>
1790    <tr-ui-b-table id="table"></tr-ui-b-table>
1791  </template>
1792</dom-module><dom-module id="tr-v-ui-merged-device-info-span">
1793  <template>
1794    <tr-ui-b-table id="table"></tr-ui-b-table>
1795  </template>
1796</dom-module><dom-module id="tr-v-ui-merged-revision-info-span">
1797  <template>
1798    <tr-ui-b-table id="table"></tr-ui-b-table>
1799  </template>
1800</dom-module><dom-module id="tr-v-ui-merged-telemetry-info-span">
1801  <template>
1802    <style>
1803    #hide, #table {
1804      display: none;
1805    }
1806    </style>
1807    <button id="show" on-click="onShow_">Show</button>
1808    <button id="hide" on-click="onHide_">Hide</button>
1809    <tr-ui-b-table id="table"></tr-ui-b-table>
1810  </template>
1811</dom-module><dom-module id="tr-v-ui-related-event-set-span">
1812
1813</dom-module><dom-module id="tr-v-ui-related-histogram-map-span">
1814  <template>
1815    <tr-ui-b-table id="table"></tr-ui-b-table>
1816  </template>
1817</dom-module><dom-module id="tr-v-ui-related-histogram-set-span">
1818
1819</dom-module><dom-module id="tr-v-ui-revision-info-span">
1820  <template>
1821    <tr-ui-b-table id="table"></tr-ui-b-table>
1822  </template>
1823</dom-module><dom-module id="tr-v-ui-scalar-diagnostic-span">
1824  <template>
1825    <tr-v-ui-scalar-span id="scalar"></tr-v-ui-scalar-span>
1826  </template>
1827
1828
1829</dom-module><dom-module id="tr-v-ui-telemetry-info-span">
1830  <template>
1831    <tr-ui-b-table id="table"></tr-ui-b-table>
1832  </template>
1833</dom-module><dom-module id="tr-v-ui-unmergeable-diagnostic-set-span">
1834
1835</dom-module><dom-module id="tr-v-ui-diagnostic-map-table">
1836  <template>
1837    <tr-ui-b-table id="table"></tr-ui-b-table>
1838  </template>
1839
1840
1841</dom-module><dom-module name="tr-v-ui-scalar-map-table">
1842  <template>
1843    <style>
1844    </style>
1845    <tr-ui-b-table id="table"></tr-ui-b-table>
1846  </template>
1847</dom-module><dom-module id="tr-v-ui-histogram-span">
1848  <template>
1849    <style>
1850    #container {
1851      display: flex;
1852      flex-direction: row;
1853      justify-content: space-between;
1854    }
1855    #chart {
1856      flex-grow: 1;
1857      display: none;
1858    }
1859    #drag_handle, #sample_diagnostics_container {
1860      display: none;
1861    }
1862    #chart svg {
1863      display: block;
1864    }
1865    </style>
1866
1867    <div id="container">
1868      <div id="chart"></div>
1869      <div id="stats_container">
1870        <tr-v-ui-scalar-map-table id="stats"></tr-v-ui-scalar-map-table>
1871      </div>
1872    </div>
1873    <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
1874
1875    <tr-v-ui-diagnostic-map-table id="histogram_diagnostics"></tr-v-ui-diagnostic-map-table>
1876
1877    <div id="sample_diagnostics_container">
1878      <div id="merge_sample_diagnostics_container">
1879        <input checked="" id="merge_sample_diagnostics" on-change="updateDiagnostics_" type="checkbox"/>
1880        <label for="merge_sample_diagnostics">Merge Sample Diagnostics</label>
1881      </div>
1882      <tr-v-ui-diagnostic-map-table id="sample_diagnostics"></tr-v-ui-diagnostic-map-table>
1883    </div>
1884  </template>
1885</dom-module><dom-module id="tr-ui-a-multi-event-sub-view">
1886  <template>
1887    <style>
1888    :host {
1889      display: flex;
1890      overflow: auto;
1891    }
1892    #content {
1893      display: flex;
1894      flex-direction: column;
1895      flex: 0 1 auto;
1896      align-self: stretch;
1897    }
1898    #content > * {
1899      flex: 0 0 auto;
1900      align-self: stretch;
1901    }
1902    #histogramContainer {
1903      display: flex;
1904    }
1905
1906    tr-ui-a-multi-event-summary-table {
1907      border-bottom: 1px solid #aaa;
1908    }
1909
1910    tr-ui-a-selection-summary-table  {
1911      margin-top: 1.25em;
1912      border-top: 1px solid #aaa;
1913      background-color: #eee;
1914      font-weight: bold;
1915      margin-bottom: 1.25em;
1916      border-bottom: 1px solid #aaa;
1917    }
1918    </style>
1919    <div id="content">
1920      <tr-ui-a-multi-event-summary-table id="eventSummaryTable">
1921      </tr-ui-a-multi-event-summary-table>
1922      <tr-ui-a-selection-summary-table id="selectionSummaryTable">
1923      </tr-ui-a-selection-summary-table>
1924      <tr-ui-b-radio-picker id="radioPicker">
1925      </tr-ui-b-radio-picker>
1926      <div id="histogramContainer">
1927        <tr-v-ui-histogram-span id="histogramSpan">
1928        </tr-v-ui-histogram-span>
1929      </div>
1930    </div>
1931  </template>
1932</dom-module><dom-module id="tr-ui-a-related-events">
1933  <template>
1934    <style>
1935    :host {
1936      display: flex;
1937      flex-direction: column;
1938    }
1939    #table {
1940      flex: 1 1 auto;
1941      align-self: stretch;
1942      font-size: 12px;
1943    }
1944    </style>
1945    <tr-ui-b-table id="table"></tr-ui-b-table>
1946  </template>
1947</dom-module><dom-module id="tr-ui-a-multi-async-slice-sub-view">
1948  <template>
1949    <style>
1950    :host {
1951      display: flex;
1952    }
1953    #container {
1954      display: flex;
1955      flex: 1 1 auto;
1956    }
1957    #events {
1958      margin-left: 8px;
1959      flex: 0 1 200px;
1960    }
1961    </style>
1962    <div id="container">
1963      <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1964      <div id="events">
1965        <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
1966      </div>
1967    </div>
1968  </template>
1969</dom-module><dom-module id="tr-ui-a-multi-cpu-slice-sub-view">
1970  <template>
1971    <style>
1972    :host {
1973      display: flex;
1974    }
1975    #content {
1976      flex: 1 1 auto;
1977    }
1978    </style>
1979    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1980  </template>
1981</dom-module><dom-module id="tr-ui-a-multi-flow-event-sub-view">
1982  <template>
1983    <style>
1984    :host {
1985      display: flex;
1986    }
1987    </style>
1988    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
1989  </template>
1990</dom-module><dom-module id="tr-ui-a-multi-instant-event-sub-view">
1991  <template>
1992    <style>
1993    :host {
1994      display: block;
1995    }
1996    </style>
1997    <div id="content"></div>
1998  </template>
1999</dom-module><dom-module id="tr-ui-a-multi-object-sub-view">
2000  <template>
2001    <style>
2002    :host {
2003      display: flex;
2004      font-size: 12px;
2005    }
2006    </style>
2007    <tr-ui-b-table id="content"></tr-ui-b-table>
2008  </template>
2009</dom-module><dom-module id="tr-ui-a-frame-power-usage-chart">
2010  <template>
2011    <div id="content"></div>
2012  </template>
2013</dom-module><dom-module id="tr-ui-a-power-sample-summary-table">
2014  <template>
2015    <style>
2016    tr-ui-b-table {
2017      font-size: 12px;
2018    }
2019    </style>
2020    <tr-ui-b-table id="table"></tr-ui-b-table>
2021  </template>
2022</dom-module><dom-module id="tr-ui-a-multi-power-sample-sub-view">
2023  <template>
2024    <style>
2025    :host {
2026      display: flex;
2027      flex-direction: row;
2028    }
2029    #tables {
2030      display: flex;
2031      flex-direction: column;
2032      width: 50%;
2033    }
2034    #chart {
2035      width: 50%;
2036    }
2037    </style>
2038    <div id="tables">
2039      <tr-ui-a-power-sample-summary-table id="summaryTable">
2040      </tr-ui-a-power-sample-summary-table>
2041    </div>
2042    <tr-ui-a-frame-power-usage-chart id="chart">
2043    </tr-ui-a-frame-power-usage-chart>
2044  </template>
2045</dom-module><dom-module id="tr-ui-a-multi-sample-sub-view">
2046  <template>
2047    <style>
2048    :host { display: block; }
2049    #control {
2050      background-color: #e6e6e6;
2051      background-image: -webkit-gradient(linear, 0 0, 0 100%,
2052                                         from(#E5E5E5), to(#D1D1D1));
2053      flex: 0 0 auto;
2054      overflow-x: auto;
2055    }
2056    #control::-webkit-scrollbar { height: 0px; }
2057    #control {
2058      font-size: 12px;
2059      display: flex;
2060      flex-direction: row;
2061      align-items: stretch;
2062      margin: 1px;
2063      margin-right: 2px;
2064    }
2065    tr-ui-b-table {
2066      font-size: 12px;
2067    }
2068    </style>
2069    <div id="control">
2070      Sample View Option
2071    </div>
2072    <tr-ui-b-table id="table">
2073    </tr-ui-b-table>
2074  </template>
2075</dom-module><dom-module id="tr-ui-a-multi-thread-slice-sub-view">
2076  <template>
2077    <style>
2078    :host {
2079      display: flex;
2080    }
2081    #content {
2082      display: flex;
2083      flex: 1 1 auto;
2084    }
2085    #content > tr-ui-a-related-events {
2086      margin-left: 8px;
2087      flex: 0 1 200px;
2088    }
2089    </style>
2090    <div id="content"></div>
2091  </template>
2092</dom-module><dom-module id="tr-ui-a-multi-thread-time-slice-sub-view">
2093  <template>
2094    <style>
2095    :host {
2096      display: flex;
2097    }
2098    #content {
2099      flex: 1 1 auto;
2100    }
2101    </style>
2102    <tr-ui-a-multi-event-sub-view id="content"></tr-ui-a-multi-event-sub-view>
2103  </template>
2104</dom-module><dom-module id="tr-ui-a-user-expectation-related-samples-table">
2105  <template>
2106    <style>
2107    #table {
2108      flex: 1 1 auto;
2109      align-self: stretch;
2110      font-size: 12px;
2111    }
2112    </style>
2113    <tr-ui-b-table id="table"></tr-ui-b-table>
2114  </template>
2115</dom-module><dom-module id="tr-ui-a-multi-user-expectation-sub-view">
2116  <template>
2117    <style>
2118    :host {
2119      display: flex;
2120      flex: 1 1 auto;
2121    }
2122    #events {
2123      margin-left: 8px;
2124      flex: 0 1 200px;
2125    }
2126    </style>
2127    <tr-ui-a-multi-event-sub-view id="realView"></tr-ui-a-multi-event-sub-view>
2128    <div id="events">
2129      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
2130    </div>
2131  </template>
2132</dom-module><dom-module id="tr-ui-a-single-async-slice-sub-view">
2133  <template>
2134    <style>
2135    :host {
2136      display: flex;
2137      flex-direction: row;
2138    }
2139    #events {
2140      display:flex;
2141      flex-direction: column;
2142    }
2143    </style>
2144    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
2145    <div id="events">
2146      <tr-ui-a-related-events id="relatedEvents"></tr-ui-a-related-events>
2147    </div>
2148  </template>
2149</dom-module><dom-module id="tr-ui-a-single-cpu-slice-sub-view">
2150  <template>
2151    <style>
2152    table {
2153      border-collapse: collapse;
2154      border-width: 0;
2155      margin-bottom: 25px;
2156      width: 100%;
2157    }
2158
2159    table tr > td:first-child {
2160      padding-left: 2px;
2161    }
2162
2163    table tr > td {
2164      padding: 2px 4px 2px 4px;
2165      vertical-align: text-top;
2166      width: 150px;
2167    }
2168
2169    table td td {
2170      padding: 0 0 0 0;
2171      width: auto;
2172    }
2173    tr {
2174      vertical-align: top;
2175    }
2176
2177    tr:nth-child(2n+0) {
2178      background-color: #e2e2e2;
2179    }
2180    </style>
2181    <table>
2182      <tbody><tr>
2183        <td>Running process:</td><td id="process-name"></td>
2184      </tr>
2185      <tr>
2186        <td>Running thread:</td><td id="thread-name"></td>
2187      </tr>
2188      <tr>
2189        <td>Start:</td>
2190        <td>
2191          <tr-v-ui-scalar-span id="start">
2192          </tr-v-ui-scalar-span>
2193        </td>
2194      </tr>
2195      <tr>
2196        <td>Duration:</td>
2197        <td>
2198          <tr-v-ui-scalar-span id="duration">
2199          </tr-v-ui-scalar-span>
2200        </td>
2201      </tr>
2202      <tr>
2203        <td>Active slices:</td><td id="running-thread"></td>
2204      </tr>
2205      <tr>
2206        <td>Args:</td>
2207        <td>
2208          <tr-ui-a-generic-object-view id="args">
2209          </tr-ui-a-generic-object-view>
2210        </td>
2211      </tr>
2212    </tbody></table>
2213  </template>
2214</dom-module><dom-module id="tr-ui-a-single-flow-event-sub-view">
2215  <template>
2216    <style>
2217    :host {
2218      display: block;
2219    }
2220    </style>
2221    <tr-ui-a-single-event-sub-view id="singleEventSubView">
2222    </tr-ui-a-single-event-sub-view>
2223  </template>
2224</dom-module><dom-module id="tr-ui-a-single-frame-sub-view">
2225  <template>
2226    <style>
2227    :host {
2228      display: flex;
2229      flex-direction: column;
2230    }
2231    #asv {
2232      flex: 0 0 auto;
2233      align-self: stretch;
2234    }
2235    </style>
2236    <tr-ui-a-alert-sub-view id="asv">
2237    </tr-ui-a-alert-sub-view>
2238  </template>
2239</dom-module><dom-module id="tr-ui-a-single-instant-event-sub-view">
2240  <template>
2241    <style>
2242    :host {
2243      display: block;
2244    }
2245    </style>
2246    <div id="content"></div>
2247  </template>
2248</dom-module><dom-module id="tr-ui-a-single-object-instance-sub-view">
2249  <template>
2250    <style>
2251    :host {
2252      display: block;
2253    }
2254
2255    #snapshots > * {
2256      display: block;
2257    }
2258
2259    :host {
2260      overflow: auto;
2261      display: block;
2262    }
2263
2264    * {
2265      -webkit-user-select: text;
2266    }
2267
2268    .title {
2269      border-bottom: 1px solid rgb(128, 128, 128);
2270      font-size: 110%;
2271      font-weight: bold;
2272    }
2273
2274    td, th {
2275      font-family: monospace;
2276      vertical-align: top;
2277    }
2278    </style>
2279    <div id="content"></div>
2280  </template>
2281</dom-module><dom-module id="tr-ui-a-single-object-snapshot-sub-view">
2282  <template>
2283    <style>
2284    #args {
2285      white-space: pre;
2286    }
2287
2288    :host {
2289      overflow: auto;
2290      display: flex;
2291    }
2292
2293    ::content * {
2294      -webkit-user-select: text;
2295    }
2296
2297    ::content .title {
2298      border-bottom: 1px solid rgb(128, 128, 128);
2299      font-size: 110%;
2300      font-weight: bold;
2301    }
2302
2303    ::content td, th {
2304      font-family: monospace;
2305      vertical-align: top;
2306    }
2307    </style>
2308    <content></content>
2309  </template>
2310</dom-module><dom-module id="tr-ui-a-power-sample-table">
2311  <template>
2312    <style>
2313    :host {
2314      display: flex;
2315      font-size: 12px;
2316    }
2317    </style>
2318    <tr-ui-b-table id="table"></tr-ui-b-table>
2319  </template>
2320</dom-module><dom-module id="tr-ui-a-single-power-sample-sub-view">
2321  <template>
2322    <style>
2323    :host { display: block; }
2324    </style>
2325    <tr-ui-a-power-sample-table id="samplesTable">
2326    </tr-ui-a-power-sample-table>
2327  </template>
2328</dom-module><dom-module id="tr-ui-a-single-sample-sub-view">
2329  <template>
2330    <style>
2331    :host {
2332      display: flex;
2333      font-size: 12px;
2334    }
2335    </style>
2336    <tr-ui-b-table id="content"></tr-ui-b-table>
2337  </template>
2338</dom-module><dom-module id="tr-ui-a-single-thread-slice-sub-view">
2339  <template>
2340    <style>
2341    :host {
2342      display: flex;
2343      flex-direction: row;
2344    }
2345    #events {
2346      display: flex;
2347      flex-direction: column;
2348    }
2349
2350    </style>
2351    <tr-ui-a-single-event-sub-view id="content"></tr-ui-a-single-event-sub-view>
2352    <div id="events">
2353      <tr-ui-a-related-events id="relatedEvents">
2354      </tr-ui-a-related-events>
2355    </div>
2356  </template>
2357</dom-module><dom-module id="tr-ui-a-single-thread-time-slice-sub-view">
2358  <template>
2359    <style>
2360    table {
2361      border-collapse: collapse;
2362      border-width: 0;
2363      margin-bottom: 25px;
2364      width: 100%;
2365    }
2366
2367    table tr > td:first-child {
2368      padding-left: 2px;
2369    }
2370
2371    table tr > td {
2372      padding: 2px 4px 2px 4px;
2373      vertical-align: text-top;
2374      width: 150px;
2375    }
2376
2377    table td td {
2378      padding: 0 0 0 0;
2379      width: auto;
2380    }
2381    tr {
2382      vertical-align: top;
2383    }
2384
2385    tr:nth-child(2n+0) {
2386      background-color: #e2e2e2;
2387    }
2388    </style>
2389    <table>
2390      <tbody><tr>
2391        <td>Running process:</td><td id="process-name"></td>
2392      </tr>
2393      <tr>
2394        <td>Running thread:</td><td id="thread-name"></td>
2395      </tr>
2396      <tr>
2397        <td>State:</td>
2398        <td><b><span id="state"></span></b></td>
2399      </tr>
2400      <tr>
2401        <td>Start:</td>
2402        <td>
2403          <tr-v-ui-scalar-span id="start">
2404          </tr-v-ui-scalar-span>
2405        </td>
2406      </tr>
2407      <tr>
2408        <td>Duration:</td>
2409        <td>
2410          <tr-v-ui-scalar-span id="duration">
2411          </tr-v-ui-scalar-span>
2412        </td>
2413      </tr>
2414
2415      <tr>
2416        <td>On CPU:</td><td id="on-cpu"></td>
2417      </tr>
2418
2419      <tr>
2420        <td>Running instead:</td><td id="running-instead"></td>
2421      </tr>
2422
2423      <tr>
2424        <td>Args:</td><td id="args"></td>
2425      </tr>
2426    </tbody></table>
2427  </template>
2428</dom-module><dom-module id="tr-ui-a-single-user-expectation-sub-view">
2429  <template>
2430    <style>
2431    :host {
2432      display: flex;
2433      flex-direction: row;
2434    }
2435    #events {
2436      display: flex;
2437      flex-direction: column;
2438    }
2439    </style>
2440    <tr-ui-a-single-event-sub-view id="realView"></tr-ui-a-single-event-sub-view>
2441    <div id="events">
2442      <tr-ui-a-user-expectation-related-samples-table id="relatedSamples"></tr-ui-a-user-expectation-related-samples-table>
2443    </div>
2444  </template>
2445</dom-module><dom-module id="tr-ui-a-analysis-view">
2446  <template>
2447    <style>
2448      :host {
2449        background-color: white;
2450        display: flex;
2451        flex-direction: column;
2452        height: 275px;
2453        overflow: auto;
2454      }
2455
2456      :host(.tall-mode) {
2457        height: 525px;
2458      }
2459    </style>
2460    <content></content>
2461  </template>
2462</dom-module><dom-module id="tr-ui-b-dropdown">
2463  <template>
2464    <style>
2465    :host {
2466      position: relative;
2467      display: flex;
2468    }
2469    #outer {
2470      display: flex;
2471      flex: 0 0 auto;
2472      padding: 1px 4px 1px 4px;
2473      -webkit-user-select: none;
2474      cursor: default;
2475    }
2476
2477    #state {
2478      display: flex;
2479      flex: 0 0 auto;
2480      margin-left: 2px;
2481      margin-right: 0px;
2482      flex: 0 0 auto;
2483    }
2484
2485    #icon {
2486      display: flex;
2487      flex: 0 0 auto;
2488      flex: 0 0 auto;
2489    }
2490    dialog {
2491      position: absolute;
2492      padding: 0;
2493      border: 0;
2494      margin: 0;
2495    }
2496    dialog::backdrop {
2497      background: rgba(0,0,0,.05);
2498    }
2499
2500    #dialog-frame {
2501      background-color: #fff;
2502      display: flex;
2503      flex-direction: column;
2504      flex: 1 1 auto;
2505      padding: 6px;
2506      border: 1px solid black;
2507      -webkit-user-select: none;
2508      cursor: default;
2509    }
2510    </style>
2511    <tr-ui-b-toolbar-button id="outer" on-click="onOuterClick_" on-keydown="onOuterKeyDown_">
2512      <div id="icon">⚙</div>
2513      <div id="state">▾</div>
2514    </tr-ui-b-toolbar-button>
2515    <dialog id="dialog" on-cancel="onDialogCancel_" on-click="onDialogClick_">
2516      <div id="dialog-frame">
2517        <content></content>
2518      </div>
2519    </dialog>
2520  </template>
2521</dom-module><dom-module id="tr-ui-b-info-bar-group">
2522  <template>
2523    <style>
2524    :host {
2525      flex: 0 0 auto;
2526      flex-direction: column;
2527      display: flex;
2528    }
2529    </style>
2530    <div id="messages"></div>
2531  </template>
2532</dom-module><dom-module id="tr-ui-b-toolbar-button">
2533  <template>
2534    <style>
2535    :host {
2536      display: flex;
2537      background-color: #f8f8f8;
2538      border: 1px solid rgba(0, 0, 0, 0.5);
2539      color: rgba(0,0,0,0.8);
2540      justify-content: center;
2541      align-self: stretch;
2542      min-width: 23px;
2543    }
2544
2545    :host(:hover) {
2546      background-color: rgba(255, 255, 255, 1.0);
2547      border-color: rgba(0, 0, 0, 0.8);
2548      box-shadow: 0 0 .05em rgba(0, 0, 0, 0.4);
2549      color: rgba(0, 0, 0, 1);
2550    }
2551
2552    #aligner {
2553      display: flex;
2554      flex: 0 0 auto;
2555      align-self: center;
2556    }
2557    </style>
2558    <div id="aligner">
2559      <content></content>
2560    </div>
2561  </template>
2562</dom-module><style>
2563.drawing-container{-webkit-box-flex:1;display:inline;overflow:auto;overflow-x:hidden;position:relative}.drawing-container-canvas{-webkit-box-flex:1;display:block;pointer-events:none;position:absolute;top:0}
2564</style><style>
2565.letter-dot-track {
2566  height: 18px;
2567}
2568</style><style>
2569.chart-track {
2570  height: 30px;
2571  position: relative;
2572}
2573</style><style>
2574.cpu-usage-track {
2575  height: 90px;
2576}
2577</style><style>
2578.power-series-track {
2579  height: 90px;
2580}
2581</style><style>
2582.spacing-track{height:4px}
2583</style><style>
2584.rect-track{height:18px}
2585</style><style>
2586.thread-track{-webkit-box-orient:vertical;display:-webkit-box;position:relative}
2587</style><style>
2588.process-track-header{-webkit-flex:0 0 auto;background-image:-webkit-gradient(linear,0 0,100% 0,from(#E5E5E5),to(#D1D1D1));border-bottom:1px solid #8e8e8e;border-top:1px solid white;font-size:75%}.process-track-name:before{content:'\25B8';padding:0 5px}.process-track-base.expanded .process-track-name:before{content:'\25BE'}
2589</style><style>
2590.model-track {
2591  -webkit-box-flex: 1;
2592}
2593</style><style>
2594.x-axis-track {
2595  height: 12px;
2596}
2597
2598.x-axis-track.tall-mode {
2599  height: 30px;
2600}
2601</style><dom-module id="tr-ui-timeline-track-view">
2602  <template>
2603    <style>
2604    :host {
2605      -webkit-box-orient: vertical;
2606      display: -webkit-box;
2607      position: relative;
2608    }
2609
2610    :host ::content * {
2611      -webkit-user-select: none;
2612      cursor: default;
2613    }
2614
2615    #drag_box {
2616      background-color: rgba(0, 0, 255, 0.25);
2617      border: 1px solid rgb(0, 0, 96);
2618      font-size: 75%;
2619      position: fixed;
2620    }
2621
2622    #hint_text {
2623      position: absolute;
2624      bottom: 6px;
2625      right: 6px;
2626      font-size: 8pt;
2627    }
2628    </style>
2629    <content></content>
2630
2631    <div id="drag_box"></div>
2632    <div id="hint_text"></div>
2633
2634    <tv-ui-b-hotkey-controller id="hotkey_controller">
2635    </tv-ui-b-hotkey-controller>
2636  </template>
2637</dom-module><dom-module id="tr-ui-find-control">
2638  <template>
2639    <style>
2640      :host {
2641        -webkit-user-select: none;
2642        display: -webkit-flex;
2643        position: relative;
2644      }
2645      input {
2646        -webkit-user-select: auto;
2647        background-color: #f8f8f8;
2648        border: 1px solid rgba(0, 0, 0, 0.5);
2649        box-sizing: border-box;
2650        margin: 0;
2651        padding: 0;
2652        width: 170px;
2653      }
2654      input:focus {
2655        background-color: white;
2656      }
2657      tr-ui-b-toolbar-button {
2658        border-left: none;
2659        margin: 0;
2660      }
2661      #hitCount {
2662        left: 0;
2663        opacity: 0.25;
2664        pointer-events: none;
2665        position: absolute;
2666        text-align: right;
2667        top: 2px;
2668        width: 167px;
2669        z-index: 1;
2670      }
2671      #spinner {
2672        visibility: hidden;
2673        width: 8px;
2674        height: 8px;
2675        left: 154px;
2676        pointer-events: none;
2677        position: absolute;
2678        top: 4px;
2679        z-index: 1;
2680
2681        border: 2px solid transparent;
2682        border-bottom: 2px solid rgba(0, 0, 0, 0.5);
2683        border-right: 2px solid rgba(0, 0, 0, 0.5);
2684        border-radius: 50%;
2685      }
2686      @keyframes spin { 100% { transform: rotate(360deg); } }
2687    </style>
2688
2689    <input id="filter" on-blur="filterBlur" on-focus="filterFocus" on-input="filterTextChanged" on-keydown="filterKeyDown" on-mouseup="filterMouseUp" type="text"/>
2690    <div id="spinner"></div>
2691    <tr-ui-b-toolbar-button on-click="findPrevious">
26922693    </tr-ui-b-toolbar-button>
2694    <tr-ui-b-toolbar-button on-click="findNext">
26952696    </tr-ui-b-toolbar-button>
2697    <div id="hitCount">0 of 0</div>
2698  </template>
2699</dom-module><dom-module id="tr-ui-scripting-control">
2700  <template>
2701    <style>
2702      :host {
2703        flex: 1 1 auto;
2704      }
2705      .root {
2706        font-family: monospace;
2707        cursor: text;
2708
2709        padding: 2px;
2710        margin: 2px;
2711        border: 1px solid rgba(0, 0, 0, 0.5);
2712        background: white;
2713
2714        height: 100px;
2715        overflow-y: auto;
2716
2717        transition-property: opacity, height, padding, margin;
2718        transition-duration: .2s;
2719        transition-timing-function: ease-out;
2720      }
2721      .hidden {
2722        margin-top: 0px;
2723        margin-bottom: 0px;
2724        padding-top: 0px;
2725        padding-bottom: 0px;
2726        height: 0px;
2727        opacity: 0;
2728      }
2729      .focused {
2730        outline: auto 5px -webkit-focus-ring-color;
2731      }
2732      #history {
2733        -webkit-user-select: text;
2734        color: #777;
2735      }
2736      #promptContainer {
2737        display: flex;
2738      }
2739      #promptMark {
2740        width: 1em;
2741        color: #468;
2742      }
2743      #prompt {
2744        flex: 1;
2745        width: 100%;
2746        border: none !important;
2747        background-color: inherit !important;
2748        font: inherit !important;
2749        text-overflow: clip !important;
2750        text-decoration: none !important;
2751      }
2752      #prompt:focus {
2753        outline: none;
2754      }
2755    </style>
2756
2757    <div class="root hidden" id="root" on-focus="onConsoleFocus" tabindex="0">
2758      <div id="history"></div>
2759      <div id="promptContainer">
2760        <span id="promptMark">&gt;</span>
2761        <input id="prompt" on-blur="onConsoleBlur" on-keydown="promptKeyDown" on-keypress="promptKeyPress" type="text"/>
2762       </div>
2763    </div>
2764  </template>
2765</dom-module><dom-module id="tr-ui-side-panel-container">
2766  <template>
2767    <style>
2768    :host {
2769      align-items: stretch;
2770      display: -webkit-flex;
2771      background-color: white;
2772    }
2773
2774    :host([expanded]) > #side_panel_drag_handle,
2775    :host([expanded]) > active-panel-container {
2776      -webkit-flex: 1 1 auto;
2777      border-left: 1px solid black;
2778      display: -webkit-flex;
2779    }
2780
2781    :host(:not([expanded])) > #side_panel_drag_handle,
2782    :host(:not([expanded])) > active-panel-container {
2783      display: none;
2784    }
2785
2786    active-panel-container {
2787      display: flex;
2788    }
2789
2790    tab-strip {
2791      -webkit-flex: 0 0 auto;
2792      -webkit-flex-direction: column;
2793      -webkit-user-select: none;
2794      background-color: rgb(236, 236, 236);
2795      border-left: 1px solid black;
2796      cursor: default;
2797      display: -webkit-flex;
2798      min-width: 18px; /* workaround for flexbox and writing-mode mixing bug */
2799      padding: 10px 0 10px 0;
2800      font-size: 12px;
2801    }
2802
2803    tab-strip > tab-strip-label {
2804      -webkit-writing-mode: vertical-rl;
2805      display: inline;
2806      margin-right: 1px;
2807      min-height: 20px;
2808      padding: 15px 3px 15px 1px;
2809    }
2810
2811    tab-strip >
2812        tab-strip-label:not([enabled]) {
2813      color: rgb(128, 128, 128);
2814    }
2815
2816    tab-strip > tab-strip-label[selected] {
2817      background-color: white;
2818      border: 1px solid rgb(163, 163, 163);
2819      border-left: none;
2820      padding: 14px 2px 14px 1px;
2821    }
2822
2823    #active_panel_container {
2824      overflow: auto;
2825    }
2826    </style>
2827
2828    <tr-ui-b-drag-handle id="side_panel_drag_handle"></tr-ui-b-drag-handle>
2829    <active-panel-container id="active_panel_container">
2830    </active-panel-container>
2831    <tab-strip id="tab_strip"></tab-strip>
2832  </template>
2833</dom-module><dom-module id="tr-ui-timeline-view-help-overlay">
2834  <template>
2835    <style>
2836    :host {
2837      -webkit-flex: 1 1 auto;
2838      -webkit-flex-direction: row;
2839      display: -webkit-flex;
2840      width: 700px;
2841    }
2842    .column {
2843      width: 50%;
2844    }
2845    h2 {
2846      font-size: 1.2em;
2847      margin: 0;
2848      margin-top: 5px;
2849      text-align: center;
2850    }
2851    h3 {
2852      margin: 0;
2853      margin-left: 126px;
2854      margin-top: 10px;
2855    }
2856    .pair {
2857      -webkit-flex: 1 1 auto;
2858      -webkit-flex-direction: row;
2859      display: -webkit-flex;
2860    }
2861    .command {
2862      font-family: monospace;
2863      margin-right: 5px;
2864      text-align: right;
2865      width: 150px;
2866    }
2867    .action {
2868      font-size: 0.9em;
2869      text-align: left;
2870      width: 200px;
2871    }
2872    tr-ui-b-mouse-mode-icon {
2873      border: 1px solid #888;
2874      border-radius: 3px;
2875      box-shadow: inset 0 0 2px rgba(0,0,0,0.3);
2876      display: inline-block;
2877      margin-right: 1px;
2878      position: relative;
2879      top: 4px;
2880    }
2881    .mouse-mode-icon.pan-mode {
2882      background-position: -1px -11px;
2883    }
2884    .mouse-mode-icon.select-mode {
2885      background-position: -1px -41px;
2886    }
2887    .mouse-mode-icon.zoom-mode {
2888      background-position: -1px -71px;
2889    }
2890    .mouse-mode-icon.timing-mode {
2891      background-position: -1px -101px;
2892    }
2893    </style>
2894    <div class="column left">
2895      <h2>Navigation</h2>
2896      <div class="pair">
2897        <div class="command">w/s</div>
2898        <div class="action">Zoom in/out (+shift: faster)</div>
2899      </div>
2900
2901      <div class="pair">
2902        <div class="command">a/d</div>
2903        <div class="action">Pan left/right (+shift: faster)</div>
2904      </div>
2905
2906      <div class="pair">
2907        <div class="command">→/shift-TAB</div>
2908        <div class="action">Select previous event</div>
2909      </div>
2910
2911      <div class="pair">
2912        <div class="command">←/TAB</div>
2913        <div class="action">Select next event</div>
2914      </div>
2915
2916      <h2>Mouse Controls</h2>
2917      <div class="pair">
2918        <div class="command">click</div>
2919        <div class="action">Select event</div>
2920      </div>
2921      <div class="pair">
2922        <div class="command">alt-mousewheel</div>
2923        <div class="action">Zoom in/out</div>
2924      </div>
2925
2926      <h3>
2927        <tr-ui-b-mouse-mode-icon mode-name="SELECTION"></tr-ui-b-mouse-mode-icon>
2928        Select mode
2929      </h3>
2930      <div class="pair">
2931        <div class="command">drag</div>
2932        <div class="action">Box select</div>
2933      </div>
2934
2935      <div class="pair">
2936        <div class="command"><span class="mod"></span>-click/drag</div>
2937        <div class="action">Add events to the current selection</div>
2938      </div>
2939
2940      <div class="pair">
2941        <div class="command">double click</div>
2942        <div class="action">Select all events with same title</div>
2943      </div>
2944
2945      <h3>
2946        <tr-ui-b-mouse-mode-icon mode-name="PANSCAN"></tr-ui-b-mouse-mode-icon>
2947        Pan mode
2948      </h3>
2949      <div class="pair">
2950        <div class="command">drag</div>
2951        <div class="action">Pan the view</div>
2952      </div>
2953
2954      <h3>
2955        <tr-ui-b-mouse-mode-icon mode-name="ZOOM"></tr-ui-b-mouse-mode-icon>
2956        Zoom mode
2957      </h3>
2958      <div class="pair">
2959        <div class="command">drag</div>
2960        <div class="action">Zoom in/out by dragging up/down</div>
2961      </div>
2962
2963      <h3>
2964        <tr-ui-b-mouse-mode-icon mode-name="TIMING"></tr-ui-b-mouse-mode-icon>
2965        Timing mode
2966      </h3>
2967      <div class="pair">
2968        <div class="command">drag</div>
2969        <div class="action">Create or move markers</div>
2970      </div>
2971
2972      <div class="pair">
2973        <div class="command">double click</div>
2974        <div class="action">Set marker range to slice</div>
2975      </div>
2976    </div>
2977
2978    <div class="column right">
2979      <h2>General</h2>
2980      <div class="pair">
2981        <div class="command">1-4</div>
2982        <div class="action">Switch mouse mode</div>
2983      </div>
2984
2985      <div class="pair">
2986        <div class="command">shift</div>
2987        <div class="action">Hold for temporary select</div>
2988      </div>
2989
2990      <div class="pair">
2991        <div class="command">space</div>
2992        <div class="action">Hold for temporary pan</div>
2993      </div>
2994
2995      <div class="pair">
2996        <div class="command">/</div>
2997        <div class="action">Search</div>
2998      </div>
2999
3000      <div class="pair">
3001        <div class="command">enter</div>
3002        <div class="action">Step through search results</div>
3003      </div>
3004
3005      <div class="pair">
3006        <div class="command">f</div>
3007        <div class="action">Zoom into selection</div>
3008      </div>
3009
3010      <div class="pair">
3011        <div class="command">z/0</div>
3012        <div class="action">Reset zoom and pan</div>
3013      </div>
3014
3015      <div class="pair">
3016        <div class="command">g/G</div>
3017        <div class="action">Toggle 60hz grid</div>
3018      </div>
3019
3020      <div class="pair">
3021        <div class="command">v</div>
3022        <div class="action">Highlight VSync</div>
3023      </div>
3024
3025      <div class="pair">
3026        <div class="command">h</div>
3027        <div class="action">Toggle low/high details</div>
3028      </div>
3029
3030      <div class="pair">
3031        <div class="command">m</div>
3032        <div class="action">Mark current selection</div>
3033      </div>
3034
3035      <div class="pair">
3036        <div class="command">p</div>
3037        <div class="action">Select power samples over current selection interval</div>
3038      </div>
3039
3040      <div class="pair">
3041        <div class="command">`</div>
3042        <div class="action">Show or hide the scripting console</div>
3043      </div>
3044
3045      <div class="pair">
3046        <div class="command">?</div>
3047        <div class="action">Show help</div>
3048      </div>
3049    </div>
3050  </template>
3051</dom-module><dom-module id="tr-ui-timeline-view-metadata-overlay">
3052  <template>
3053    <style>
3054    :host {
3055      width: 700px;
3056
3057      overflow: auto;
3058    }
3059    </style>
3060    <tr-ui-b-table id="table"></tr-ui-b-table>
3061  </template>
3062</dom-module><dom-module id="tr-ui-timeline-view">
3063  <template>
3064    <style>
3065    :host {
3066      flex-direction: column;
3067      cursor: default;
3068      display: flex;
3069      font-family: sans-serif;
3070      padding: 0;
3071    }
3072
3073    #control {
3074      background-color: #e6e6e6;
3075      background-image: -webkit-gradient(linear, 0 0, 0 100%,
3076          from(#E5E5E5), to(#D1D1D1));
3077      flex: 0 0 auto;
3078      overflow-x: auto;
3079    }
3080
3081    #control::-webkit-scrollbar { height: 0px; }
3082
3083    #control > #bar {
3084      font-size: 12px;
3085      display: flex;
3086      flex-direction: row;
3087      margin: 1px;
3088    }
3089
3090    #control > #bar > #title {
3091      display: flex;
3092      align-items: center;
3093      padding-left: 8px;
3094      padding-right: 8px;
3095      flex: 1 1 auto;
3096    }
3097
3098    #control > #bar > #left_controls,
3099    #control > #bar > #right_controls {
3100      display: flex;
3101      flex-direction: row;
3102      align-items: stretch;
3103    }
3104
3105    #control > #bar > #left_controls > * { margin-right: 2px; }
3106    #control > #bar > #right_controls > * { margin-left: 2px; }
3107    #control > #collapsing_controls { display: flex; }
3108
3109    middle-container {
3110      flex: 1 1 auto;
3111      flex-direction: row;
3112      border-bottom: 1px solid #8e8e8e;
3113      display: flex;
3114      min-height: 0;
3115    }
3116
3117    middle-container ::content track-view-container {
3118      flex: 1 1 auto;
3119      display: flex;
3120      min-height: 0;
3121      min-width: 0;
3122      overflow-x: hidden;
3123    }
3124
3125    middle-container ::content track-view-container > * { flex: 1 1 auto; }
3126    middle-container > x-timeline-view-side-panel-container { flex: 0 0 auto; }
3127    tr-ui-b-drag-handle { flex: 0 0 auto; }
3128    tr-ui-a-analysis-view { flex: 0 0 auto; }
3129    </style>
3130
3131    <tv-ui-b-hotkey-controller id="hkc"></tv-ui-b-hotkey-controller>
3132    <div id="control">
3133      <div id="bar">
3134        <div id="left_controls"></div>
3135        <div id="title">^_^</div>
3136        <div id="right_controls">
3137          <tr-ui-b-toolbar-button id="view_metadata_button">
3138            M
3139          </tr-ui-b-toolbar-button>
3140          <tr-ui-b-dropdown id="view_options_dropdown"></tr-ui-b-dropdown>
3141          <tr-ui-find-control id="view_find_control"></tr-ui-find-control>
3142          <tr-ui-b-toolbar-button id="view_console_button">
3143            »
3144          </tr-ui-b-toolbar-button>
3145          <tr-ui-b-toolbar-button id="view_help_button">
3146            ?
3147          </tr-ui-b-toolbar-button>
3148        </div>
3149      </div>
3150      <div id="collapsing_controls"></div>
3151      <tr-ui-b-info-bar-group id="import-warnings">
3152      </tr-ui-b-info-bar-group>
3153    </div>
3154    <middle-container>
3155      <content></content>
3156
3157      <tr-ui-side-panel-container id="side_panel_container">
3158      </tr-ui-side-panel-container>
3159    </middle-container>
3160    <tr-ui-b-drag-handle id="drag_handle"></tr-ui-b-drag-handle>
3161    <tr-ui-a-analysis-view id="analysis"></tr-ui-a-analysis-view>
3162
3163    <tr-v-ui-preferred-display-unit id="display_unit">
3164    </tr-v-ui-preferred-display-unit>
3165  </template>
3166</dom-module><dom-module id="tr-ui-b-grouping-table">
3167  <template>
3168    <style>
3169    :host {
3170      display: flex;
3171    }
3172    #table {
3173      flex: 1 1 auto;
3174      font-size: 12px;
3175    }
3176    </style>
3177    <tr-ui-b-table id="table"></tr-ui-b-table>
3178  </template>
3179</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker">
3180  <template>
3181    <style>
3182    #container {
3183      display: flex;
3184    }
3185    #container *:not(:first-child) {
3186      padding-left: 3px;
3187      border-left: 1px solid black;
3188      margin-left: 3px;
3189    }
3190    </style>
3191
3192    <div id="container"></div>
3193  </template>
3194</dom-module><dom-module id="tr-ui-b-grouping-table-groupby-picker-group">
3195  <template>
3196    <style>
3197    :host {
3198      white-space: nowrap;
3199    }
3200    #left, #right {
3201      user-select: none;
3202      cursor: pointer;
3203    }
3204    </style>
3205
3206    <span id="left" on-click="moveLeft_">◀</span>
3207    <input id="enabled" on-change="onEnableChanged_" type="checkbox"/>
3208    <label for="enabled" id="label"></label>
3209    <span id="right" on-click="moveRight_">▶</span>
3210  </template>
3211</dom-module><dom-module id="tr-ui-sp-file-size-stats-side-panel">
3212  <template>
3213    <style>
3214    :host {
3215      display: flex;
3216      flex-direction: column;
3217    }
3218    toolbar {
3219      align-items: center;
3220      background-color: rgb(236, 236, 236);
3221      border-bottom: 1px solid #8e8e8e;
3222      display: flex;
3223      flex-direction: row;
3224      flex-direction: row;
3225      flex: 0 0 auto;
3226      font-size: 12px;
3227      padding: 0 10px 0 10px;
3228    }
3229    table-container {
3230      display: flex;
3231      min-height: 0px;
3232      overflow-y: auto;
3233    }
3234    </style>
3235
3236    <toolbar>
3237      <span><b>Group by:</b></span>
3238      <tr-ui-b-grouping-table-groupby-picker id="picker">
3239      </tr-ui-b-grouping-table-groupby-picker>
3240    </toolbar>
3241    <table-container>
3242      <tr-ui-b-grouping-table id="table"></tr-ui-b-grouping-table>
3243    </table-container>
3244  </template>
3245</dom-module><dom-module id="tr-v-ui-histogram-set-controls">
3246  <template>
3247    <style>
3248    :host {
3249      display: block;
3250    }
3251
3252    #help, #feedback {
3253      display: none;
3254      margin-left: 20px;
3255    }
3256
3257    #search {
3258      max-width: 20em;
3259      margin-right: 20px;
3260    }
3261
3262    #controls {
3263      white-space: nowrap;
3264    }
3265
3266    #show_overview, #hide_overview {
3267      height: 1em;
3268      margin-right: 20px;
3269    }
3270
3271    #show_overview {
3272      stroke: blue;
3273      stroke-width: 16;
3274    }
3275
3276    #show_overview:hover {
3277      background: blue;
3278      stroke: white;
3279    }
3280
3281    #hide_overview {
3282      display: none;
3283      stroke-width: 18;
3284      stroke: black;
3285    }
3286
3287    #hide_overview:hover {
3288      background: black;
3289      stroke: white;
3290    }
3291
3292    #reference_display_label {
3293      display: none;
3294      margin-right: 20px;
3295    }
3296
3297    #statistic {
3298      display: none;
3299      margin-right: 20px;
3300    }
3301
3302    #download_csv {
3303      margin-right: 20px;
3304    }
3305    </style>
3306
3307    <div id="controls">
3308      <input id="search" placeholder="Find Histogram name" value="{{searchQuery::keyup}}"/>
3309
3310      <svg id="show_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128">
3311        <line x1="19" x2="49" y1="109" y2="49"></line>
3312        <line x1="49" x2="79" y1="49" y2="79"></line>
3313        <line x1="79" x2="109" y1="79" y2="19"></line>
3314      </svg>
3315      <svg id="hide_overview" on-click="toggleOverviewLineCharts_" viewBox="0 0 128 128">
3316        <line x1="28" x2="100" y1="28" y2="100"></line>
3317        <line x1="28" x2="100" y1="100" y2="28"></line>
3318      </svg>
3319
3320      <select id="reference_display_label" value="{{referenceDisplayLabel::change}}">
3321        <option value="">Select a reference column</option>
3322      </select>
3323
3324      <select id="statistic" value="{{displayStatisticName::change}}">
3325      </select>
3326
3327      <button id="download_csv" on-click="downloadCSV_">⬇ CSV</button>
3328
3329      <input checked="{{showAll::change}}" id="show_all" title="When unchecked, less important histograms are hidden." type="checkbox"/>
3330      <label for="show_all" title="When unchecked, less important histograms are hidden.">Show all</label>
3331
3332      <a id="help">Help</a>
3333      <a id="feedback">Feedback</a>
3334    </div>
3335
3336    <tr-ui-b-grouping-table-groupby-picker id="picker">
3337    </tr-ui-b-grouping-table-groupby-picker>
3338  </template>
3339</dom-module><dom-module id="tr-v-ui-histogram-set-table-cell">
3340  <template>
3341    <style>
3342    #histogram_container {
3343      display: flex;
3344      flex-direction: row;
3345    }
3346
3347    #missing, #empty, #unmergeable, #scalar {
3348      flex-grow: 1;
3349    }
3350
3351    #open_histogram, #close_histogram, #open_histogram svg, #close_histogram svg {
3352      height: 1em;
3353    }
3354
3355    #open_histogram svg {
3356      margin-left: 4px;
3357      stroke-width: 0;
3358      stroke: blue;
3359      fill: blue;
3360    }
3361    :host(:hover) #open_histogram svg {
3362      background: blue;
3363      stroke: white;
3364      fill: white;
3365    }
3366
3367    #scalar {
3368      flex-grow: 1;
3369      white-space: nowrap;
3370    }
3371
3372    #histogram {
3373      flex-grow: 1;
3374    }
3375
3376    #close_histogram svg line {
3377      stroke-width: 18;
3378      stroke: black;
3379    }
3380    #close_histogram:hover svg {
3381      background: black;
3382    }
3383    #close_histogram:hover svg line {
3384      stroke: white;
3385    }
3386
3387    #overview_container {
3388      display: none;
3389    }
3390    </style>
3391
3392    <div id="histogram_container">
3393      <span id="missing">(missing)</span>
3394      <span id="empty">(empty)</span>
3395      <span id="unmergeable">(unmergeable)</span>
3396
3397      <tr-v-ui-scalar-span id="scalar" on-click="openHistogram_"></tr-v-ui-scalar-span>
3398
3399      <span id="open_histogram" on-click="openHistogram_">
3400        <svg viewBox="0 0 128 128">
3401          <rect height="16" width="32" x="16" y="24"></rect>
3402          <rect height="16" width="96" x="16" y="56"></rect>
3403          <rect height="16" width="64" x="16" y="88"></rect>
3404        </svg>
3405      </span>
3406
3407      <span id="histogram"></span>
3408
3409      <span id="close_histogram" on-click="closeHistogram_">
3410        <svg viewBox="0 0 128 128">
3411          <line x1="28" x2="100" y1="28" y2="100"></line>
3412          <line x1="28" x2="100" y1="100" y2="28"></line>
3413        </svg>
3414      </span>
3415    </div>
3416
3417    <div id="overview_container">
3418    </div>
3419  </template>
3420</dom-module><dom-module id="tr-v-ui-histogram-set-table-name-cell">
3421  <template>
3422    <style>
3423    #name_container {
3424      display: flex;
3425    }
3426
3427    #name {
3428      overflow: hidden;
3429      white-space: nowrap;
3430      text-overflow: ellipsis;
3431    }
3432
3433    #show_overview, #hide_overview, #show_overview svg, #hide_overview svg {
3434      height: 1em;
3435      margin-left: 5px;
3436    }
3437
3438    #show_overview svg {
3439      stroke: blue;
3440      stroke-width: 16;
3441    }
3442
3443    #show_overview:hover svg {
3444      background: blue;
3445      stroke: white;
3446    }
3447
3448    #hide_overview {
3449      display: none;
3450    }
3451
3452    #hide_overview svg {
3453      stroke-width: 18;
3454      stroke: black;
3455    }
3456
3457    #hide_overview:hover svg {
3458      background: black;
3459      stroke: white;
3460    }
3461
3462    #open_histograms, #close_histograms, #open_histograms svg, #close_histograms svg {
3463      height: 1em;
3464    }
3465
3466    #close_histograms {
3467      display: none;
3468    }
3469
3470    #open_histograms svg {
3471      margin-left: 4px;
3472      stroke-width: 0;
3473      stroke: blue;
3474      fill: blue;
3475    }
3476    #open_histograms:hover svg {
3477      background: blue;
3478      stroke: white;
3479      fill: white;
3480    }
3481
3482    #close_histograms line {
3483      stroke-width: 18;
3484      stroke: black;
3485    }
3486    #close_histograms:hover {
3487      background: black;
3488    }
3489    #close_histograms:hover line {
3490      stroke: white;
3491    }
3492
3493    #overview_container {
3494      display: none;
3495    }
3496    </style>
3497
3498    <div id="name_container">
3499      <span id="name"></span>
3500
3501      <span id="show_overview" on-click="showOverview_">
3502        <svg viewBox="0 0 128 128">
3503          <line x1="19" x2="49" y1="109" y2="49"></line>
3504          <line x1="49" x2="79" y1="49" y2="79"></line>
3505          <line x1="79" x2="109" y1="79" y2="19"></line>
3506        </svg>
3507      </span>
3508
3509      <span id="hide_overview" on-click="hideOverview_">
3510        <svg viewBox="0 0 128 128">
3511          <line x1="28" x2="100" y1="28" y2="100"></line>
3512          <line x1="28" x2="100" y1="100" y2="28"></line>
3513        </svg>
3514      </span>
3515
3516      <span id="open_histograms" on-click="openHistograms_">
3517        <svg viewBox="0 0 128 128">
3518          <rect height="16" width="32" x="16" y="24"></rect>
3519          <rect height="16" width="96" x="16" y="56"></rect>
3520          <rect height="16" width="64" x="16" y="88"></rect>
3521        </svg>
3522      </span>
3523
3524      <span id="close_histograms" on-click="closeHistograms_">
3525        <svg viewBox="0 0 128 128">
3526          <line x1="28" x2="100" y1="28" y2="100"></line>
3527          <line x1="28" x2="100" y1="100" y2="28"></line>
3528        </svg>
3529      </span>
3530    </div>
3531
3532    <div id="overview_container">
3533    </div>
3534  </template>
3535</dom-module><dom-module id="tr-v-ui-histogram-set-table">
3536  <template>
3537    <style>
3538    :host {
3539      min-height: 0px;
3540      overflow: auto;
3541    }
3542    #table {
3543      margin-top: 5px;
3544    }
3545    </style>
3546
3547    <tr-ui-b-table id="table">
3548  </tr-ui-b-table></template>
3549</dom-module><dom-module id="tr-v-ui-histogram-set-view">
3550  <template>
3551    <style>
3552    :host {
3553      font-family: sans-serif;
3554    }
3555
3556    #zero {
3557      color: red;
3558      /* histogram-set-table is used by both metrics-side-panel and results2.html.
3559       * This font-size rule has no effect in results2.html, but improves
3560       * legibility in the metrics-side-panel, which sets font-size in order to
3561       * make this table denser.
3562       */
3563      font-size: initial;
3564    }
3565
3566    #container {
3567      display: none;
3568    }
3569    </style>
3570
3571    <div id="zero">zero Histograms</div>
3572
3573    <div id="container">
3574      <tr-v-ui-histogram-set-controls id="controls">
3575      </tr-v-ui-histogram-set-controls>
3576
3577      <tr-v-ui-histogram-set-table id="table"></tr-v-ui-histogram-set-table>
3578    </div>
3579  </template>
3580</dom-module><dom-module id="tr-ui-sp-metrics-side-panel">
3581  <template>
3582    <style>
3583    :host {
3584      display: flex;
3585      flex-direction: column;
3586    }
3587    div#error {
3588      color: red;
3589    }
3590    #results {
3591      font-size: 12px;
3592    }
3593    </style>
3594
3595    <top-left-controls id="top_left_controls"></top-left-controls>
3596
3597    <tr-v-ui-histogram-set-view id="results"></tr-v-ui-histogram-set-view>
3598
3599    <div id="error"></div>
3600  </template>
3601</dom-module><dom-module id="tr-ui-e-s-alerts-side-panel">
3602  <template>
3603    <style>
3604    :host {
3605      display: block;
3606      width: 250px;
3607    }
3608    #content {
3609      flex-direction: column;
3610      display: flex;
3611    }
3612    tr-ui-b-table {
3613      font-size: 12px;
3614    }
3615    </style>
3616
3617    <div id="content">
3618      <toolbar id="toolbar"></toolbar>
3619      <result-area id="result_area"></result-area>
3620    </div>
3621  </template>
3622</dom-module><script>
3623
3624// Copyright 2015 The Chromium Authors. All rights reserved.
3625// Use of this source code is governed by a BSD-style license that can be
3626// found in the LICENSE file.
3627
3628/* WARNING: This file is auto generated.
3629 *
3630 * Do not edit directly.
3631 */
3632
3633'use strict';if(window.Polymer){throw new Error('Cannot proceed. Polymer already present.');}
3634window.Polymer={};window.Polymer.dom='shadow';(function(){function resolve(){document.body.removeAttribute('unresolved');}
3635if(window.WebComponents){addEventListener('WebComponentsReady',resolve);}else{if(document.readyState==='interactive'||document.readyState==='complete'){resolve();}else{addEventListener('DOMContentLoaded',resolve);}}}());window.Polymer={Settings:function(){var settings=window.Polymer||{};if(!settings.noUrlSettings){var parts=location.search.slice(1).split('&');for(var i=0,o;i<parts.length&&(o=parts[i]);i++){o=o.split('=');o[0]&&(settings[o[0]]=o[1]||true);}}
3636settings.wantShadow=settings.dom==='shadow';settings.hasShadow=Boolean(Element.prototype.createShadowRoot);settings.nativeShadow=settings.hasShadow&&!window.ShadowDOMPolyfill;settings.useShadow=settings.wantShadow&&settings.hasShadow;settings.hasNativeImports=Boolean('import'in document.createElement('link'));settings.useNativeImports=settings.hasNativeImports;settings.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative;settings.useNativeShadow=settings.useShadow&&settings.nativeShadow;settings.usePolyfillProto=!settings.useNativeCustomElements&&!Object.__proto__;settings.hasNativeCSSProperties=!navigator.userAgent.match('AppleWebKit/601')&&window.CSS&&CSS.supports&&CSS.supports('box-shadow','0 0 0 var(--foo)');settings.useNativeCSSProperties=settings.hasNativeCSSProperties&&settings.lazyRegister&&settings.useNativeCSSProperties;settings.isIE=navigator.userAgent.match('Trident');return settings;}()};(function(){var userPolymer=window.Polymer;window.Polymer=function(prototype){if(typeof prototype==='function'){prototype=prototype.prototype;}
3637if(!prototype){prototype={};}
3638prototype=desugar(prototype);var customCtor=prototype===prototype.constructor.prototype?prototype.constructor:null;var options={prototype:prototype};if(prototype.extends){options.extends=prototype.extends;}
3639Polymer.telemetry._registrate(prototype);var ctor=document.registerElement(prototype.is,options);return customCtor||ctor;};var desugar=function(prototype){var base=Polymer.Base;if(prototype.extends){base=Polymer.Base._getExtendedPrototype(prototype.extends);}
3640prototype=Polymer.Base.chainObject(prototype,base);prototype.registerCallback();return prototype;};if(userPolymer){for(var i in userPolymer){Polymer[i]=userPolymer[i];}}
3641Polymer.Class=function(prototype){if(!prototype.factoryImpl){prototype.factoryImpl=function(){};}
3642return desugar(prototype).constructor;};}());Polymer.telemetry={registrations:[],_regLog:function(prototype){console.log('['+prototype.is+']: registered');},_registrate:function(prototype){this.registrations.push(prototype);Polymer.log&&this._regLog(prototype);},dumpRegistrations:function(){this.registrations.forEach(this._regLog);}};Object.defineProperty(window,'currentImport',{enumerable:true,configurable:true,get:function(){return(document._currentScript||document.currentScript||{}).ownerDocument;}});Polymer.RenderStatus={_ready:false,_callbacks:[],whenReady:function(cb){if(this._ready){cb();}else{this._callbacks.push(cb);}},_makeReady:function(){this._ready=true;for(var i=0;i<this._callbacks.length;i++){this._callbacks[i]();}
3643this._callbacks=[];},_catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatus._makeReady();});},_afterNextRenderQueue:[],_waitingNextRender:false,afterNextRender:function(element,fn,args){this._watchNextRender();this._afterNextRenderQueue.push([element,fn,args]);},hasRendered:function(){return this._ready;},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=true;var fn=function(){Polymer.RenderStatus._flushNextRender();};if(!this._ready){this.whenReady(fn);}else{requestAnimationFrame(fn);}}},_flushNextRender:function(){var self=this;setTimeout(function(){self._flushRenderCallbacks(self._afterNextRenderQueue);self._afterNextRenderQueue=[];self._waitingNextRender=false;});},_flushRenderCallbacks:function(callbacks){for(var i=0,h;i<callbacks.length;i++){h=callbacks[i];h[1].apply(h[0],h[2]||Polymer.nar);}}};if(window.HTMLImports){HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender();});}else{Polymer.RenderStatus._catchFirstRender();}
3644Polymer.ImportStatus=Polymer.RenderStatus;Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady;(function(){'use strict';var settings=Polymer.Settings;Polymer.Base={__isPolymerInstance__:true,_addFeature:function(feature){this.mixin(this,feature);},registerCallback:function(){if(settings.lazyRegister==='max'){if(this.beforeRegister){this.beforeRegister();}}else{this._desugarBehaviors();for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(this);}}
3645if(this.beforeRegister){this.beforeRegister();}}
3646this._registerFeatures();if(!settings.lazyRegister){this.ensureRegisterFinished();}},createdCallback:function(){if(settings.disableUpgradeEnabled){if(this.hasAttribute('disable-upgrade')){this._propertySetter=disableUpgradePropertySetter;this._configValue=null;this.__data__={};return;}else{this.__hasInitialized=true;}}
3647this.__initialize();},__initialize:function(){if(!this.__hasRegisterFinished){this._ensureRegisterFinished(this.__proto__);}
3648Polymer.telemetry.instanceCount++;this.root=this;for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.created){b.created.call(this);}}
3649if(this.created){this.created();}
3650this._initFeatures();},ensureRegisterFinished:function(){this._ensureRegisterFinished(this);},_ensureRegisterFinished:function(proto){if(proto.__hasRegisterFinished!==proto.is||!proto.is){if(settings.lazyRegister==='max'){proto._desugarBehaviors();for(var i=0,b;i<proto.behaviors.length;i++){b=proto.behaviors[i];if(b.beforeRegister){b.beforeRegister.call(proto);}}}
3651proto.__hasRegisterFinished=proto.is;if(proto._finishRegisterFeatures){proto._finishRegisterFeatures();}
3652for(var j=0,pb;j<proto.behaviors.length;j++){pb=proto.behaviors[j];if(pb.registered){pb.registered.call(proto);}}
3653if(proto.registered){proto.registered();}
3654if(settings.usePolyfillProto&&proto!==this){proto.extend(this,proto);}}},attachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=true;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.attached){b.attached.call(self);}}
3655if(self.attached){self.attached();}});},detachedCallback:function(){var self=this;Polymer.RenderStatus.whenReady(function(){self.isAttached=false;for(var i=0,b;i<self.behaviors.length;i++){b=self.behaviors[i];if(b.detached){b.detached.call(self);}}
3656if(self.detached){self.detached();}});},attributeChangedCallback:function(name,oldValue,newValue){this._attributeChangedImpl(name);for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.attributeChanged){b.attributeChanged.call(this,name,oldValue,newValue);}}
3657if(this.attributeChanged){this.attributeChanged(name,oldValue,newValue);}},_attributeChangedImpl:function(name){this._setAttributeToProperty(this,name);},extend:function(target,source){if(target&&source){var n$=Object.getOwnPropertyNames(source);for(var i=0,n;i<n$.length&&(n=n$[i]);i++){this.copyOwnProperty(n,source,target);}}
3658return target||source;},mixin:function(target,source){for(var i in source){target[i]=source[i];}
3659return target;},copyOwnProperty:function(name,source,target){var pd=Object.getOwnPropertyDescriptor(source,name);if(pd){Object.defineProperty(target,name,pd);}},_logger:function(level,args){if(args.length===1&&Array.isArray(args[0])){args=args[0];}
3660switch(level){case'log':case'warn':case'error':console[level].apply(console,args);break;}},_log:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('log',args);},_warn:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('warn',args);},_error:function(){var args=Array.prototype.slice.call(arguments,0);this._logger('error',args);},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0));}};Polymer.Base._logPrefix=function(){var color=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent);return color?['%c[%s::%s]:','font-weight: bold; background-color:#EEEE00;']:['[%s::%s]:'];}();Polymer.Base.chainObject=function(object,inherited){if(object&&inherited&&object!==inherited){if(!Object.__proto__){object=Polymer.Base.extend(Object.create(inherited),object);}
3661object.__proto__=inherited;}
3662return object;};Polymer.Base=Polymer.Base.chainObject(Polymer.Base,HTMLElement.prototype);Polymer.BaseDescriptors={};var disableUpgradePropertySetter;if(settings.disableUpgradeEnabled){disableUpgradePropertySetter=function(property,value){this.__data__[property]=value;};var origAttributeChangedCallback=Polymer.Base.attributeChangedCallback;Polymer.Base.attributeChangedCallback=function(name,oldValue,newValue){if(!this.__hasInitialized&&name==='disable-upgrade'){this.__hasInitialized=true;this._propertySetter=Polymer.Bind._modelApi._propertySetter;this._configValue=Polymer.Base._configValue;this.__initialize();}
3663origAttributeChangedCallback.call(this,name,oldValue,newValue);};}
3664if(window.CustomElements){Polymer.instanceof=CustomElements.instanceof;}else{Polymer.instanceof=function(obj,ctor){return obj instanceof ctor;};}
3665Polymer.isInstance=function(obj){return Boolean(obj&&obj.__isPolymerInstance__);};Polymer.telemetry.instanceCount=0;}());(function(){var modules={};var lcModules={};var findModule=function(id){return modules[id]||lcModules[id.toLowerCase()];};var DomModule=function(){return document.createElement('dom-module');};DomModule.prototype=Object.create(HTMLElement.prototype);Polymer.Base.mixin(DomModule.prototype,{createdCallback:function(){this.register();},register:function(id){id=id||this.id||this.getAttribute('name')||this.getAttribute('is');if(id){this.id=id;modules[id]=this;lcModules[id.toLowerCase()]=this;}},import:function(id,selector){if(id){var m=findModule(id);if(!m){forceDomModulesUpgrade();m=findModule(id);}
3666if(m&&selector){m=m.querySelector(selector);}
3667return m;}}});Object.defineProperty(DomModule.prototype,'constructor',{value:DomModule,configurable:true,writable:true});var cePolyfill=window.CustomElements&&!CustomElements.useNative;document.registerElement('dom-module',DomModule);function forceDomModulesUpgrade(){if(cePolyfill){var script=document._currentScript||document.currentScript;var doc=script&&script.ownerDocument||document;var modules=doc.querySelectorAll('dom-module');for(var i=modules.length-1,m;i>=0&&(m=modules[i]);i--){if(m.__upgraded__){return;}else{CustomElements.upgrade(m);}}}}}());Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var module=(document._currentScript||document.currentScript).parentNode;if(module.localName==='dom-module'){var id=module.id||module.getAttribute('name')||module.getAttribute('is');this.is=id;}}
3668if(this.is){this.is=this.is.toLowerCase();}}});Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){if(this.behaviors.length){this.behaviors=this._desugarSomeBehaviors(this.behaviors);}},_desugarSomeBehaviors:function(behaviors){var behaviorSet=[];behaviors=this._flattenBehaviorsList(behaviors);for(var i=behaviors.length-1;i>=0;i--){var b=behaviors[i];if(behaviorSet.indexOf(b)===-1){this._mixinBehavior(b);behaviorSet.unshift(b);}}
3669return behaviorSet;},_flattenBehaviorsList:function(behaviors){var flat=[];for(var i=0;i<behaviors.length;i++){var b=behaviors[i];if(b instanceof Array){flat=flat.concat(this._flattenBehaviorsList(b));}else if(b){flat.push(b);}else{this._warn(this._logf('_flattenBehaviorsList','behavior is null, check for missing or 404 import'));}}
3670return flat;},_mixinBehavior:function(b){var n$=Object.getOwnPropertyNames(b);var useAssignment=b._noAccessors;for(var i=0,n;i<n$.length&&(n=n$[i]);i++){if(!Polymer.Base._behaviorProperties[n]&&!this.hasOwnProperty(n)){if(useAssignment){this[n]=b[n];}else{this.copyOwnProperty(n,b,this);}}}},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors);},_prepFlattenedBehaviors:function(behaviors){for(var i=0,l=behaviors.length;i<l;i++){this._prepBehavior(behaviors[i]);}
3671this._prepBehavior(this);},_marshalBehaviors:function(){for(var i=0;i<this.behaviors.length;i++){this._marshalBehavior(this.behaviors[i]);}
3672this._marshalBehavior(this);}});Polymer.Base._behaviorProperties={hostAttributes:true,beforeRegister:true,registered:true,properties:true,observers:true,listeners:true,created:true,attached:true,detached:true,attributeChanged:true,ready:true,_noAccessors:true};Polymer.Base._addFeature({_getExtendedPrototype:function(tag){return this._getExtendedNativePrototype(tag);},_nativePrototypes:{},_getExtendedNativePrototype:function(tag){var p=this._nativePrototypes[tag];if(!p){p=Object.create(this.getNativePrototype(tag));var p$=Object.getOwnPropertyNames(Polymer.Base);for(var i=0,n;i<p$.length&&(n=p$[i]);i++){if(!Polymer.BaseDescriptors[n]){p[n]=Polymer.Base[n];}}
3673Object.defineProperties(p,Polymer.BaseDescriptors);this._nativePrototypes[tag]=p;}
3674return p;},getNativePrototype:function(tag){return Object.getPrototypeOf(document.createElement(tag));}});Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var ctor=function(){return this._factory(arguments);};if(this.hasOwnProperty('extends')){ctor.extends=this.extends;}
3675Object.defineProperty(this,'constructor',{value:ctor,writable:true,configurable:true});ctor.prototype=this;},_factory:function(args){var elt=document.createElement.apply(document,this._factoryArgs);if(this.factoryImpl){this.factoryImpl.apply(elt,args);}
3676return elt;}});Polymer.nob=Object.create(null);Polymer.Base._addFeature({getPropertyInfo:function(property){var info=this._getPropertyInfo(property,this.properties);if(!info){for(var i=0;i<this.behaviors.length;i++){info=this._getPropertyInfo(property,this.behaviors[i].properties);if(info){return info;}}}
3677return info||Polymer.nob;},_getPropertyInfo:function(property,properties){var p=properties&&properties[property];if(typeof p==='function'){p=properties[property]={type:p};}
3678if(p){p.defined=true;}
3679return p;},_prepPropertyInfo:function(){this._propertyInfo={};for(var i=0;i<this.behaviors.length;i++){this._addPropertyInfo(this._propertyInfo,this.behaviors[i].properties);}
3680this._addPropertyInfo(this._propertyInfo,this.properties);this._addPropertyInfo(this._propertyInfo,this._propertyEffects);},_addPropertyInfo:function(target,source){if(source){var t,s;for(var i in source){t=target[i];s=source[i];if(i[0]==='_'&&!s.readOnly){continue;}
3681if(!target[i]){target[i]={type:typeof s==='function'?s:s.type,readOnly:s.readOnly,attribute:Polymer.CaseMap.camelToDashCase(i)};}else{if(!t.type){t.type=s.type;}
3682if(!t.readOnly){t.readOnly=s.readOnly;}}}}}});(function(){var propertiesDesc={configurable:true,writable:true,enumerable:true,value:{}};Polymer.BaseDescriptors.properties=propertiesDesc;Object.defineProperty(Polymer.Base,'properties',propertiesDesc);}());Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(dash){return this._caseMap[dash]||(this._caseMap[dash]=dash.indexOf('-')<0?dash:dash.replace(this._rx.dashToCamel,function(m){return m[1].toUpperCase();}));},camelToDashCase:function(camel){return this._caseMap[camel]||(this._caseMap[camel]=camel.replace(this._rx.camelToDash,'-$1').toLowerCase());}};Polymer.Base._addFeature({_addHostAttributes:function(attributes){if(!this._aggregatedAttributes){this._aggregatedAttributes={};}
3683if(attributes){this.mixin(this._aggregatedAttributes,attributes);}},_marshalHostAttributes:function(){if(this._aggregatedAttributes){this._applyAttributes(this,this._aggregatedAttributes);}},_applyAttributes:function(node,attr$){for(var n in attr$){if(!this.hasAttribute(n)&&n!=='class'){var v=attr$[n];this.serializeValueToAttribute(v,n,this);}}},_marshalAttributes:function(){this._takeAttributesToModel(this);},_takeAttributesToModel:function(model){if(this.hasAttributes()){for(var i in this._propertyInfo){var info=this._propertyInfo[i];if(this.hasAttribute(info.attribute)){this._setAttributeToProperty(model,info.attribute,i,info);}}}},_setAttributeToProperty:function(model,attribute,property,info){if(!this._serializing){property=property||Polymer.CaseMap.dashToCamelCase(attribute);info=info||this._propertyInfo&&this._propertyInfo[property];if(info&&!info.readOnly){var v=this.getAttribute(attribute);model[property]=this.deserialize(v,info.type);}}},_serializing:false,reflectPropertyToAttribute:function(property,attribute,value){this._serializing=true;value=value===undefined?this[property]:value;this.serializeValueToAttribute(value,attribute||Polymer.CaseMap.camelToDashCase(property));this._serializing=false;},serializeValueToAttribute:function(value,attribute,node){var str=this.serialize(value);node=node||this;if(str===undefined){node.removeAttribute(attribute);}else{node.setAttribute(attribute,str);}},deserialize:function(value,type){switch(type){case Number:value=Number(value);break;case Boolean:value=value!=null;break;case Object:try{value=JSON.parse(value);}catch(x){}
3684break;case Array:try{value=JSON.parse(value);}catch(x){value=null;console.warn('Polymer::Attributes: couldn`t decode Array as JSON');}
3685break;case Date:value=new Date(value);break;case String:default:break;}
3686return value;},serialize:function(value){switch(typeof value){case'boolean':return value?'':undefined;case'object':if(value instanceof Date){return value.toString();}else if(value){try{return JSON.stringify(value);}catch(x){return'';}}
3687default:return value!=null?value:undefined;}}});Polymer.version="1.8.1";Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_marshalBehavior:function(b){},_initFeatures:function(){this._marshalHostAttributes();this._marshalBehaviors();}});Polymer.Base._addFeature({_prepTemplate:function(){if(this._template===undefined){this._template=Polymer.DomModule.import(this.is,'template');}
3688if(this._template&&this._template.hasAttribute('is')){this._warn(this._logf('_prepTemplate','top-level Polymer template '+'must not be a type-extension, found',this._template,'Move inside simple <template>.'));}
3689if(this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate){HTMLTemplateElement.decorate(this._template);}},_stampTemplate:function(){if(this._template){this.root=this.instanceTemplate(this._template);}},instanceTemplate:function(template){var dom=document.importNode(template._content||template.content,true);return dom;}});(function(){var baseAttachedCallback=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(host){this.dataHost=host=host||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1];if(host&&host._clients){host._clients.push(this);}
3690this._clients=null;this._clientsReadied=false;},_beginHosting:function(){Polymer.Base._hostStack.push(this);if(!this._clients){this._clients=[];}},_endHosting:function(){Polymer.Base._hostStack.pop();},_tryReady:function(){this._readied=false;if(this._canReady()){this._ready();}},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied;},_ready:function(){this._beforeClientsReady();if(this._template){this._setupRoot();this._readyClients();}
3691this._clientsReadied=true;this._clients=null;this._afterClientsReady();this._readySelf();},_readyClients:function(){this._beginDistribute();var c$=this._clients;if(c$){for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._ready();}}
3692this._finishDistribute();},_readySelf:function(){for(var i=0,b;i<this.behaviors.length;i++){b=this.behaviors[i];if(b.ready){b.ready.call(this);}}
3693if(this.ready){this.ready();}
3694this._readied=true;if(this._attachedPending){this._attachedPending=false;this.attachedCallback();}},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){if(this._readied){this._beforeAttached();baseAttachedCallback.call(this);}else{this._attachedPending=true;}}});}());Polymer.ArraySplice=function(){function newSplice(index,removed,addedCount){return{index:index,removed:removed,addedCount:addedCount};}
3695var EDIT_LEAVE=0;var EDIT_UPDATE=1;var EDIT_ADD=2;var EDIT_DELETE=3;function ArraySplice(){}
3696ArraySplice.prototype={calcEditDistances:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var rowCount=oldEnd-oldStart+1;var columnCount=currentEnd-currentStart+1;var distances=new Array(rowCount);for(var i=0;i<rowCount;i++){distances[i]=new Array(columnCount);distances[i][0]=i;}
3697for(var j=0;j<columnCount;j++)
3698distances[0][j]=j;for(i=1;i<rowCount;i++){for(j=1;j<columnCount;j++){if(this.equals(current[currentStart+j-1],old[oldStart+i-1]))
3699distances[i][j]=distances[i-1][j-1];else{var north=distances[i-1][j]+1;var west=distances[i][j-1]+1;distances[i][j]=north<west?north:west;}}}
3700return distances;},spliceOperationsFromEditDistances:function(distances){var i=distances.length-1;var j=distances[0].length-1;var current=distances[i][j];var edits=[];while(i>0||j>0){if(i==0){edits.push(EDIT_ADD);j--;continue;}
3701if(j==0){edits.push(EDIT_DELETE);i--;continue;}
3702var northWest=distances[i-1][j-1];var west=distances[i-1][j];var north=distances[i][j-1];var min;if(west<north)
3703min=west<northWest?west:northWest;else
3704min=north<northWest?north:northWest;if(min==northWest){if(northWest==current){edits.push(EDIT_LEAVE);}else{edits.push(EDIT_UPDATE);current=northWest;}
3705i--;j--;}else if(min==west){edits.push(EDIT_DELETE);i--;current=west;}else{edits.push(EDIT_ADD);j--;current=north;}}
3706edits.reverse();return edits;},calcSplices:function(current,currentStart,currentEnd,old,oldStart,oldEnd){var prefixCount=0;var suffixCount=0;var minLength=Math.min(currentEnd-currentStart,oldEnd-oldStart);if(currentStart==0&&oldStart==0)
3707prefixCount=this.sharedPrefix(current,old,minLength);if(currentEnd==current.length&&oldEnd==old.length)
3708suffixCount=this.sharedSuffix(current,old,minLength-prefixCount);currentStart+=prefixCount;oldStart+=prefixCount;currentEnd-=suffixCount;oldEnd-=suffixCount;if(currentEnd-currentStart==0&&oldEnd-oldStart==0)
3709return[];if(currentStart==currentEnd){var splice=newSplice(currentStart,[],0);while(oldStart<oldEnd)
3710splice.removed.push(old[oldStart++]);return[splice];}else if(oldStart==oldEnd)
3711return[newSplice(currentStart,[],currentEnd-currentStart)];var ops=this.spliceOperationsFromEditDistances(this.calcEditDistances(current,currentStart,currentEnd,old,oldStart,oldEnd));splice=undefined;var splices=[];var index=currentStart;var oldIndex=oldStart;for(var i=0;i<ops.length;i++){switch(ops[i]){case EDIT_LEAVE:if(splice){splices.push(splice);splice=undefined;}
3712index++;oldIndex++;break;case EDIT_UPDATE:if(!splice)
3713splice=newSplice(index,[],0);splice.addedCount++;index++;splice.removed.push(old[oldIndex]);oldIndex++;break;case EDIT_ADD:if(!splice)
3714splice=newSplice(index,[],0);splice.addedCount++;index++;break;case EDIT_DELETE:if(!splice)
3715splice=newSplice(index,[],0);splice.removed.push(old[oldIndex]);oldIndex++;break;}}
3716if(splice){splices.push(splice);}
3717return splices;},sharedPrefix:function(current,old,searchLength){for(var i=0;i<searchLength;i++)
3718if(!this.equals(current[i],old[i]))
3719return i;return searchLength;},sharedSuffix:function(current,old,searchLength){var index1=current.length;var index2=old.length;var count=0;while(count<searchLength&&this.equals(current[--index1],old[--index2]))
3720count++;return count;},calculateSplices:function(current,previous){return this.calcSplices(current,0,current.length,previous,0,previous.length);},equals:function(currentValue,previousValue){return currentValue===previousValue;}};return new ArraySplice();}();Polymer.domInnerHTML=function(){var escapeAttrRegExp=/[&\u00A0"]/g;var escapeDataRegExp=/[&\u00A0<>]/g;function escapeReplace(c){switch(c){case'&':return'&amp;';case'<':return'&lt;';case'>':return'&gt;';case'"':return'&quot;';case'\xA0':return'&nbsp;';}}
3721function escapeAttr(s){return s.replace(escapeAttrRegExp,escapeReplace);}
3722function escapeData(s){return s.replace(escapeDataRegExp,escapeReplace);}
3723function makeSet(arr){var set={};for(var i=0;i<arr.length;i++){set[arr[i]]=true;}
3724return set;}
3725var voidElements=makeSet(['area','base','br','col','command','embed','hr','img','input','keygen','link','meta','param','source','track','wbr']);var plaintextParents=makeSet(['style','script','xmp','iframe','noembed','noframes','plaintext','noscript']);function getOuterHTML(node,parentNode,composed){switch(node.nodeType){case Node.ELEMENT_NODE:var tagName=node.localName;var s='<'+tagName;var attrs=node.attributes;for(var i=0,attr;attr=attrs[i];i++){s+=' '+attr.name+'="'+escapeAttr(attr.value)+'"';}
3726s+='>';if(voidElements[tagName]){return s;}
3727return s+getInnerHTML(node,composed)+'</'+tagName+'>';case Node.TEXT_NODE:var data=node.data;if(parentNode&&plaintextParents[parentNode.localName]){return data;}
3728return escapeData(data);case Node.COMMENT_NODE:return'<!--'+node.data+'-->';default:console.error(node);throw new Error('not implemented');}}
3729function getInnerHTML(node,composed){if(node instanceof HTMLTemplateElement)
3730node=node.content;var s='';var c$=Polymer.dom(node).childNodes;for(var i=0,l=c$.length,child;i<l&&(child=c$[i]);i++){s+=getOuterHTML(child,node,composed);}
3731return s;}
3732return{getInnerHTML:getInnerHTML};}();(function(){'use strict';var nativeInsertBefore=Element.prototype.insertBefore;var nativeAppendChild=Element.prototype.appendChild;var nativeRemoveChild=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(parent){var copy=[],i=0;for(var n=parent.firstChild;n;n=n.nextSibling){copy[i++]=n;}
3733return copy;},arrayCopyChildren:function(parent){var copy=[],i=0;for(var n=parent.firstElementChild;n;n=n.nextElementSibling){copy[i++]=n;}
3734return copy;},arrayCopy:function(a$){var l=a$.length;var copy=new Array(l);for(var i=0;i<l;i++){copy[i]=a$[i];}
3735return copy;}};Polymer.TreeApi.Logical={hasParentNode:function(node){return Boolean(node.__dom&&node.__dom.parentNode);},hasChildNodes:function(node){return Boolean(node.__dom&&node.__dom.childNodes!==undefined);},getChildNodes:function(node){return this.hasChildNodes(node)?this._getChildNodes(node):node.childNodes;},_getChildNodes:function(node){if(!node.__dom.childNodes){node.__dom.childNodes=[];for(var n=node.__dom.firstChild;n;n=n.__dom.nextSibling){node.__dom.childNodes.push(n);}}
3736return node.__dom.childNodes;},getParentNode:function(node){return node.__dom&&node.__dom.parentNode!==undefined?node.__dom.parentNode:node.parentNode;},getFirstChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?node.__dom.firstChild:node.firstChild;},getLastChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?node.__dom.lastChild:node.lastChild;},getNextSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?node.__dom.nextSibling:node.nextSibling;},getPreviousSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?node.__dom.previousSibling:node.previousSibling;},getFirstElementChild:function(node){return node.__dom&&node.__dom.firstChild!==undefined?this._getFirstElementChild(node):node.firstElementChild;},_getFirstElementChild:function(node){var n=node.__dom.firstChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
3737return n;},getLastElementChild:function(node){return node.__dom&&node.__dom.lastChild!==undefined?this._getLastElementChild(node):node.lastElementChild;},_getLastElementChild:function(node){var n=node.__dom.lastChild;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
3738return n;},getNextElementSibling:function(node){return node.__dom&&node.__dom.nextSibling!==undefined?this._getNextElementSibling(node):node.nextElementSibling;},_getNextElementSibling:function(node){var n=node.__dom.nextSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.nextSibling;}
3739return n;},getPreviousElementSibling:function(node){return node.__dom&&node.__dom.previousSibling!==undefined?this._getPreviousElementSibling(node):node.previousElementSibling;},_getPreviousElementSibling:function(node){var n=node.__dom.previousSibling;while(n&&n.nodeType!==Node.ELEMENT_NODE){n=n.__dom.previousSibling;}
3740return n;},saveChildNodes:function(node){if(!this.hasChildNodes(node)){node.__dom=node.__dom||{};node.__dom.firstChild=node.firstChild;node.__dom.lastChild=node.lastChild;node.__dom.childNodes=[];for(var n=node.firstChild;n;n=n.nextSibling){n.__dom=n.__dom||{};n.__dom.parentNode=node;node.__dom.childNodes.push(n);n.__dom.nextSibling=n.nextSibling;n.__dom.previousSibling=n.previousSibling;}}},recordInsertBefore:function(node,container,ref_node){container.__dom.childNodes=null;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){for(var n=node.firstChild;n;n=n.nextSibling){this._linkNode(n,container,ref_node);}}else{this._linkNode(node,container,ref_node);}},_linkNode:function(node,container,ref_node){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(ref_node){ref_node.__dom=ref_node.__dom||{};}
3741node.__dom.previousSibling=ref_node?ref_node.__dom.previousSibling:container.__dom.lastChild;if(node.__dom.previousSibling){node.__dom.previousSibling.__dom.nextSibling=node;}
3742node.__dom.nextSibling=ref_node||null;if(node.__dom.nextSibling){node.__dom.nextSibling.__dom.previousSibling=node;}
3743node.__dom.parentNode=container;if(ref_node){if(ref_node===container.__dom.firstChild){container.__dom.firstChild=node;}}else{container.__dom.lastChild=node;if(!container.__dom.firstChild){container.__dom.firstChild=node;}}
3744container.__dom.childNodes=null;},recordRemoveChild:function(node,container){node.__dom=node.__dom||{};container.__dom=container.__dom||{};if(node===container.__dom.firstChild){container.__dom.firstChild=node.__dom.nextSibling;}
3745if(node===container.__dom.lastChild){container.__dom.lastChild=node.__dom.previousSibling;}
3746var p=node.__dom.previousSibling;var n=node.__dom.nextSibling;if(p){p.__dom.nextSibling=n;}
3747if(n){n.__dom.previousSibling=p;}
3748node.__dom.parentNode=node.__dom.previousSibling=node.__dom.nextSibling=undefined;container.__dom.childNodes=null;}};Polymer.TreeApi.Composed={getChildNodes:function(node){return Polymer.TreeApi.arrayCopyChildNodes(node);},getParentNode:function(node){return node.parentNode;},clearChildNodes:function(node){node.textContent='';},insertBefore:function(parentNode,newChild,refChild){return nativeInsertBefore.call(parentNode,newChild,refChild||null);},appendChild:function(parentNode,newChild){return nativeAppendChild.call(parentNode,newChild);},removeChild:function(parentNode,node){return nativeRemoveChild.call(parentNode,node);}};}());Polymer.DomApi=function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=function(node){this.node=needsToWrap?DomApi.wrap(node):node;};var needsToWrap=Settings.hasShadow&&!Settings.nativeShadow;DomApi.wrap=window.wrap?window.wrap:function(node){return node;};DomApi.prototype={flush:function(){Polymer.dom.flush();},deepContains:function(node){if(this.node.contains(node)){return true;}
3749var n=node;var doc=node.ownerDocument;while(n&&n!==doc&&n!==this.node){n=Polymer.dom(n).parentNode||n.host;}
3750return n===this.node;},queryDistributedElements:function(selector){var c$=this.getEffectiveChildNodes();var list=[];for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.nodeType===Node.ELEMENT_NODE&&DomApi.matchesSelector.call(c,selector)){list.push(c);}}
3751return list;},getEffectiveChildNodes:function(){var list=[];var c$=this.childNodes;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.localName===CONTENT){var d$=dom(c).getDistributedNodes();for(var j=0;j<d$.length;j++){list.push(d$[j]);}}else{list.push(c);}}
3752return list;},observeNodes:function(callback){if(callback){if(!this.observer){this.observer=this.node.localName===CONTENT?new DomApi.DistributedNodesObserver(this):new DomApi.EffectiveNodesObserver(this);}
3753return this.observer.addListener(callback);}},unobserveNodes:function(handle){if(this.observer){this.observer.removeListener(handle);}},notifyObserver:function(){if(this.observer){this.observer.notify();}},_query:function(matcher,node,halter){node=node||this.node;var list=[];this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);return list;},_queryElements:function(elements,matcher,halter,list){for(var i=0,l=elements.length,c;i<l&&(c=elements[i]);i++){if(c.nodeType===Node.ELEMENT_NODE){if(this._queryElement(c,matcher,halter,list)){return true;}}}},_queryElement:function(node,matcher,halter,list){var result=matcher(node);if(result){list.push(node);}
3754if(halter&&halter(result)){return result;}
3755this._queryElements(TreeApi.Logical.getChildNodes(node),matcher,halter,list);}};var CONTENT=DomApi.CONTENT='content';var dom=DomApi.factory=function(node){node=node||document;if(!node.__domApi){node.__domApi=new DomApi.ctor(node);}
3756return node.__domApi;};DomApi.hasApi=function(node){return Boolean(node.__domApi);};DomApi.ctor=DomApi;Polymer.dom=function(obj,patch){if(obj instanceof Event){return Polymer.EventApi.factory(obj);}else{return DomApi.factory(obj,patch);}};var p=Element.prototype;DomApi.matchesSelector=p.matches||p.matchesSelector||p.mozMatchesSelector||p.msMatchesSelector||p.oMatchesSelector||p.webkitMatchesSelector;return DomApi;}();(function(){'use strict';var Settings=Polymer.Settings;var DomApi=Polymer.DomApi;var dom=DomApi.factory;var TreeApi=Polymer.TreeApi;var getInnerHTML=Polymer.domInnerHTML.getInnerHTML;var CONTENT=DomApi.CONTENT;if(Settings.useShadow){return;}
3757var nativeCloneNode=Element.prototype.cloneNode;var nativeImportNode=Document.prototype.importNode;Polymer.Base.mixin(DomApi.prototype,{_lazyDistribute:function(host){if(host.shadyRoot&&host.shadyRoot._distributionClean){host.shadyRoot._distributionClean=false;Polymer.dom.addDebouncer(host.debounce('_distribute',host._distributeContent));}},appendChild:function(node){return this.insertBefore(node);},insertBefore:function(node,ref_node){if(ref_node&&TreeApi.Logical.getParentNode(ref_node)!==this.node){throw Error('The ref_node to be inserted before is not a child '+'of this node');}
3758if(node.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var parent=TreeApi.Logical.getParentNode(node);if(parent){if(DomApi.hasApi(parent)){dom(parent).notifyObserver();}
3759this._removeNode(node);}else{this._removeOwnerShadyRoot(node);}}
3760if(!this._addNode(node,ref_node)){if(ref_node){ref_node=ref_node.localName===CONTENT?this._firstComposedNode(ref_node):ref_node;}
3761var container=this.node._isShadyRoot?this.node.host:this.node;if(ref_node){TreeApi.Composed.insertBefore(container,node,ref_node);}else{TreeApi.Composed.appendChild(container,node);}}
3762this.notifyObserver();return node;},_addNode:function(node,ref_node){var root=this.getOwnerRoot();if(root){var ipAdded=this._maybeAddInsertionPoint(node,this.node);if(!root._invalidInsertionPoints){root._invalidInsertionPoints=ipAdded;}
3763this._addNodeToHost(root.host,node);}
3764if(TreeApi.Logical.hasChildNodes(this.node)){TreeApi.Logical.recordInsertBefore(node,this.node,ref_node);}
3765var handled=this._maybeDistribute(node)||this.node.shadyRoot;if(handled){if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){while(node.firstChild){TreeApi.Composed.removeChild(node,node.firstChild);}}else{var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}
3766return handled;},removeChild:function(node){if(TreeApi.Logical.getParentNode(node)!==this.node){throw Error('The node to be removed is not a child of this node: '+node);}
3767if(!this._removeNode(node)){var container=this.node._isShadyRoot?this.node.host:this.node;var parent=TreeApi.Composed.getParentNode(node);if(container===parent){TreeApi.Composed.removeChild(container,node);}}
3768this.notifyObserver();return node;},_removeNode:function(node){var logicalParent=TreeApi.Logical.hasParentNode(node)&&TreeApi.Logical.getParentNode(node);var distributed;var root=this._ownerShadyRootForNode(node);if(logicalParent){distributed=dom(node)._maybeDistributeParent();TreeApi.Logical.recordRemoveChild(node,logicalParent);if(root&&this._removeDistributedChildren(root,node)){root._invalidInsertionPoints=true;this._lazyDistribute(root.host);}}
3769this._removeOwnerShadyRoot(node);if(root){this._removeNodeFromHost(root.host,node);}
3770return distributed;},replaceChild:function(node,ref_node){this.insertBefore(node,ref_node);this.removeChild(ref_node);return node;},_hasCachedOwnerRoot:function(node){return Boolean(node._ownerShadyRoot!==undefined);},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node);},_ownerShadyRootForNode:function(node){if(!node){return;}
3771var root=node._ownerShadyRoot;if(root===undefined){if(node._isShadyRoot){root=node;}else{var parent=TreeApi.Logical.getParentNode(node);if(parent){root=parent._isShadyRoot?parent:this._ownerShadyRootForNode(parent);}else{root=null;}}
3772if(root||document.documentElement.contains(node)){node._ownerShadyRoot=root;}}
3773return root;},_maybeDistribute:function(node){var fragContent=node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent&&dom(node).querySelector(CONTENT);var wrappedContent=fragContent&&TreeApi.Logical.getParentNode(fragContent).nodeType!==Node.DOCUMENT_FRAGMENT_NODE;var hasContent=fragContent||node.localName===CONTENT;if(hasContent){var root=this.getOwnerRoot();if(root){this._lazyDistribute(root.host);}}
3774var needsDist=this._nodeNeedsDistribution(this.node);if(needsDist){this._lazyDistribute(this.node);}
3775return needsDist||hasContent&&!wrappedContent;},_maybeAddInsertionPoint:function(node,parent){var added;if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!node.__noContent){var c$=dom(node).querySelectorAll(CONTENT);for(var i=0,n,np,na;i<c$.length&&(n=c$[i]);i++){np=TreeApi.Logical.getParentNode(n);if(np===node){np=parent;}
3776na=this._maybeAddInsertionPoint(n,np);added=added||na;}}else if(node.localName===CONTENT){TreeApi.Logical.saveChildNodes(parent);TreeApi.Logical.saveChildNodes(node);added=true;}
3777return added;},_updateInsertionPoints:function(host){var i$=host.shadyRoot._insertionPoints=dom(host.shadyRoot).querySelectorAll(CONTENT);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(TreeApi.Logical.getParentNode(c));}},_nodeNeedsDistribution:function(node){return node&&node.shadyRoot&&DomApi.hasInsertionPoint(node.shadyRoot);},_addNodeToHost:function(host,node){if(host._elementAdd){host._elementAdd(node);}},_removeNodeFromHost:function(host,node){if(host._elementRemove){host._elementRemove(node);}},_removeDistributedChildren:function(root,container){var hostNeedsDist;var ip$=root._insertionPoints;for(var i=0;i<ip$.length;i++){var content=ip$[i];if(this._contains(container,content)){var dc$=dom(content).getDistributedNodes();for(var j=0;j<dc$.length;j++){hostNeedsDist=true;var node=dc$[j];var parent=TreeApi.Composed.getParentNode(node);if(parent){TreeApi.Composed.removeChild(parent,node);}}}}
3778return hostNeedsDist;},_contains:function(container,node){while(node){if(node==container){return true;}
3779node=TreeApi.Logical.getParentNode(node);}},_removeOwnerShadyRoot:function(node){if(this._hasCachedOwnerRoot(node)){var c$=TreeApi.Logical.getChildNodes(node);for(var i=0,l=c$.length,n;i<l&&(n=c$[i]);i++){this._removeOwnerShadyRoot(n);}}
3780node._ownerShadyRoot=undefined;},_firstComposedNode:function(content){var n$=dom(content).getDistributedNodes();for(var i=0,l=n$.length,n,p$;i<l&&(n=n$[i]);i++){p$=dom(n).getDestinationInsertionPoints();if(p$[p$.length-1]===content){return n;}}},querySelector:function(selector){var result=this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node,function(n){return Boolean(n);})[0];return result||null;},querySelectorAll:function(selector){return this._query(function(n){return DomApi.matchesSelector.call(n,selector);},this.node);},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[];},getDistributedNodes:function(){return this.node._distributedNodes||[];},_clear:function(){while(this.childNodes.length){this.removeChild(this.childNodes[0]);}},setAttribute:function(name,value){this.node.setAttribute(name,value);this._maybeDistributeParent();},removeAttribute:function(name){this.node.removeAttribute(name);this._maybeDistributeParent();},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode)){this._lazyDistribute(this.parentNode);return true;}},cloneNode:function(deep){var n=nativeCloneNode.call(this.node,false);if(deep){var c$=this.childNodes;var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(c$[i]).cloneNode(true);d.appendChild(nc);}}
3781return n;},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;var n=nativeImportNode.call(doc,externalNode,false);if(deep){var c$=TreeApi.Logical.getChildNodes(externalNode);var d=dom(n);for(var i=0,nc;i<c$.length;i++){nc=dom(doc).importNode(c$[i],true);d.appendChild(nc);}}
3782return n;},_getComposedInnerHTML:function(){return getInnerHTML(this.node,true);}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var active=document.activeElement;if(!active){return null;}
3783var isShadyRoot=!!this.node._isShadyRoot;if(this.node!==document){if(!isShadyRoot){return null;}
3784if(this.node.host===active||!this.node.host.contains(active)){return null;}}
3785var activeRoot=dom(active).getOwnerRoot();while(activeRoot&&activeRoot!==this.node){active=activeRoot.host;activeRoot=dom(active).getOwnerRoot();}
3786if(this.node===document){return activeRoot?null:active;}else{return activeRoot===this.node?active:null;}},configurable:true},childNodes:{get:function(){var c$=TreeApi.Logical.getChildNodes(this.node);return Array.isArray(c$)?c$:TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){if(TreeApi.Logical.hasChildNodes(this.node)){return Array.prototype.filter.call(this.childNodes,function(n){return n.nodeType===Node.ELEMENT_NODE;});}else{return TreeApi.arrayCopyChildren(this.node);}},configurable:true},parentNode:{get:function(){return TreeApi.Logical.getParentNode(this.node);},configurable:true},firstChild:{get:function(){return TreeApi.Logical.getFirstChild(this.node);},configurable:true},lastChild:{get:function(){return TreeApi.Logical.getLastChild(this.node);},configurable:true},nextSibling:{get:function(){return TreeApi.Logical.getNextSibling(this.node);},configurable:true},previousSibling:{get:function(){return TreeApi.Logical.getPreviousSibling(this.node);},configurable:true},firstElementChild:{get:function(){return TreeApi.Logical.getFirstElementChild(this.node);},configurable:true},lastElementChild:{get:function(){return TreeApi.Logical.getLastElementChild(this.node);},configurable:true},nextElementSibling:{get:function(){return TreeApi.Logical.getNextElementSibling(this.node);},configurable:true},previousElementSibling:{get:function(){return TreeApi.Logical.getPreviousElementSibling(this.node);},configurable:true},textContent:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return this.node.textContent;}else{var tc=[];for(var i=0,cn=this.childNodes,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(c.textContent);}}
3787return tc.join('');}},set:function(text){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){this.node.textContent=text;}else{this._clear();if(text){this.appendChild(document.createTextNode(text));}}},configurable:true},innerHTML:{get:function(){var nt=this.node.nodeType;if(nt===Node.TEXT_NODE||nt===Node.COMMENT_NODE){return null;}else{return getInnerHTML(this.node);}},set:function(text){var nt=this.node.nodeType;if(nt!==Node.TEXT_NODE||nt!==Node.COMMENT_NODE){this._clear();var d=document.createElement('div');d.innerHTML=text;var c$=TreeApi.arrayCopyChildNodes(d);for(var i=0;i<c$.length;i++){this.appendChild(c$[i]);}}},configurable:true}});DomApi.hasInsertionPoint=function(root){return Boolean(root&&root._insertionPoints.length);};}());(function(){'use strict';var Settings=Polymer.Settings;var TreeApi=Polymer.TreeApi;var DomApi=Polymer.DomApi;if(!Settings.useShadow){return;}
3788Polymer.Base.mixin(DomApi.prototype,{querySelectorAll:function(selector){return TreeApi.arrayCopy(this.node.querySelectorAll(selector));},getOwnerRoot:function(){var n=this.node;while(n){if(n.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.host){return n;}
3789n=n.parentNode;}},importNode:function(externalNode,deep){var doc=this.node instanceof Document?this.node:this.node.ownerDocument;return doc.importNode(externalNode,deep);},getDestinationInsertionPoints:function(){var n$=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return n$?TreeApi.arrayCopy(n$):[];},getDistributedNodes:function(){var n$=this.node.getDistributedNodes&&this.node.getDistributedNodes();return n$?TreeApi.arrayCopy(n$):[];}});Object.defineProperties(DomApi.prototype,{activeElement:{get:function(){var node=DomApi.wrap(this.node);var activeElement=node.activeElement;return node.contains(activeElement)?activeElement:null;},configurable:true},childNodes:{get:function(){return TreeApi.arrayCopyChildNodes(this.node);},configurable:true},children:{get:function(){return TreeApi.arrayCopyChildren(this.node);},configurable:true},textContent:{get:function(){return this.node.textContent;},set:function(value){return this.node.textContent=value;},configurable:true},innerHTML:{get:function(){return this.node.innerHTML;},set:function(value){return this.node.innerHTML=value;},configurable:true}});var forwardMethods=function(m$){for(var i=0;i<m$.length;i++){forwardMethod(m$[i]);}};var forwardMethod=function(method){DomApi.prototype[method]=function(){return this.node[method].apply(this.node,arguments);};};forwardMethods(['cloneNode','appendChild','insertBefore','removeChild','replaceChild','setAttribute','removeAttribute','querySelector']);var forwardProperties=function(f$){for(var i=0;i<f$.length;i++){forwardProperty(f$[i]);}};var forwardProperty=function(name){Object.defineProperty(DomApi.prototype,name,{get:function(){return this.node[name];},configurable:true});};forwardProperties(['parentNode','firstChild','lastChild','nextSibling','previousSibling','firstElementChild','lastElementChild','nextElementSibling','previousElementSibling']);}());Polymer.Base.mixin(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){this._flushGuard=0;this._prepareFlush();while(this._debouncers.length&&this._flushGuard<this._FLUSH_MAX){while(this._debouncers.length){this._debouncers.shift().complete();}
3790if(this._finishDebouncer){this._finishDebouncer.complete();}
3791this._prepareFlush();this._flushGuard++;}
3792if(this._flushGuard>=this._FLUSH_MAX){console.warn('Polymer.dom.flush aborted. Flush may not be complete.');}},_prepareFlush:function(){if(this._needsTakeRecords){CustomElements.takeRecords();}
3793for(var i=0;i<this._staticFlushList.length;i++){this._staticFlushList[i]();}},addStaticFlush:function(fn){this._staticFlushList.push(fn);},removeStaticFlush:function(fn){var i=this._staticFlushList.indexOf(fn);if(i>=0){this._staticFlushList.splice(i,1);}},addDebouncer:function(debouncer){this._debouncers.push(debouncer);this._finishDebouncer=Polymer.Debounce(this._finishDebouncer,this._finishFlush);},_finishFlush:function(){Polymer.dom._debouncers=[];}});Polymer.EventApi=function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.Event=function(event){this.event=event;};if(Settings.useShadow){DomApi.Event.prototype={get rootTarget(){return this.event.path[0];},get localTarget(){return this.event.target;},get path(){var path=this.event.path;if(!Array.isArray(path)){path=Array.prototype.slice.call(path);}
3794return path;}};}else{DomApi.Event.prototype={get rootTarget(){return this.event.target;},get localTarget(){var current=this.event.currentTarget;var currentRoot=current&&Polymer.dom(current).getOwnerRoot();var p$=this.path;for(var i=0;i<p$.length;i++){if(Polymer.dom(p$[i]).getOwnerRoot()===currentRoot){return p$[i];}}},get path(){if(!this.event._path){var path=[];var current=this.rootTarget;while(current){path.push(current);var insertionPoints=Polymer.dom(current).getDestinationInsertionPoints();if(insertionPoints.length){for(var i=0;i<insertionPoints.length-1;i++){path.push(insertionPoints[i]);}
3795current=insertionPoints[insertionPoints.length-1];}else{current=Polymer.dom(current).parentNode||current.host;}}
3796path.push(window);this.event._path=path;}
3797return this.event._path;}};}
3798var factory=function(event){if(!event.__eventApi){event.__eventApi=new DomApi.Event(event);}
3799return event.__eventApi;};return{factory:factory};}();(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var useShadow=Polymer.Settings.useShadow;Object.defineProperty(DomApi.prototype,'classList',{get:function(){if(!this._classList){this._classList=new DomApi.ClassList(this);}
3800return this._classList;},configurable:true});DomApi.ClassList=function(host){this.domApi=host;this.node=host.node;};DomApi.ClassList.prototype={add:function(){this.node.classList.add.apply(this.node.classList,arguments);this._distributeParent();},remove:function(){this.node.classList.remove.apply(this.node.classList,arguments);this._distributeParent();},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments);this._distributeParent();},_distributeParent:function(){if(!useShadow){this.domApi._maybeDistributeParent();}},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments);}};}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.EffectiveNodesObserver=function(domApi){this.domApi=domApi;this.node=this.domApi.node;this._listeners=[];};DomApi.EffectiveNodesObserver.prototype={addListener:function(callback){if(!this._isSetup){this._setup();this._isSetup=true;}
3801var listener={fn:callback,_nodes:[]};this._listeners.push(listener);this._scheduleNotify();return listener;},removeListener:function(handle){var i=this._listeners.indexOf(handle);if(i>=0){this._listeners.splice(i,1);handle._nodes=[];}
3802if(!this._hasListeners()){this._cleanup();this._isSetup=false;}},_setup:function(){this._observeContentElements(this.domApi.childNodes);},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes);},_hasListeners:function(){return Boolean(this._listeners.length);},_scheduleNotify:function(){if(this._debouncer){this._debouncer.stop();}
3803this._debouncer=Polymer.Debounce(this._debouncer,this._notify);this._debouncer.context=this;Polymer.dom.addDebouncer(this._debouncer);},notify:function(){if(this._hasListeners()){this._scheduleNotify();}},_notify:function(){this._beforeCallListeners();this._callListeners();},_beforeCallListeners:function(){this._updateContentElements();},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes);},_observeContentElements:function(elements){for(var i=0,n;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){n.__observeNodesMap=n.__observeNodesMap||new WeakMap();if(!n.__observeNodesMap.has(this)){n.__observeNodesMap.set(this,this._observeContent(n));}}}},_observeContent:function(content){var self=this;var h=Polymer.dom(content).observeNodes(function(){self._scheduleNotify();});h._avoidChangeCalculation=true;return h;},_unobserveContentElements:function(elements){for(var i=0,n,h;i<elements.length&&(n=elements[i]);i++){if(this._isContent(n)){h=n.__observeNodesMap.get(this);if(h){Polymer.dom(n).unobserveNodes(h);n.__observeNodesMap.delete(this);}}}},_isContent:function(node){return node.localName==='content';},_callListeners:function(){var o$=this._listeners;var nodes=this._getEffectiveNodes();for(var i=0,o;i<o$.length&&(o=o$[i]);i++){var info=this._generateListenerInfo(o,nodes);if(info||o._alwaysNotify){this._callListener(o,info);}}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes();},_generateListenerInfo:function(listener,newNodes){if(listener._avoidChangeCalculation){return true;}
3804var oldNodes=listener._nodes;var info={target:this.node,addedNodes:[],removedNodes:[]};var splices=Polymer.ArraySplice.calculateSplices(newNodes,oldNodes);for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){info.removedNodes.push(n);}}
3805for(i=0,s;i<splices.length&&(s=splices[i]);i++){for(j=s.index;j<s.index+s.addedCount;j++){info.addedNodes.push(newNodes[j]);}}
3806listener._nodes=newNodes;if(info.addedNodes.length||info.removedNodes.length){return info;}},_callListener:function(listener,info){return listener.fn.call(this.node,info);},enableShadowAttributeTracking:function(){}};if(Settings.useShadow){var baseSetup=DomApi.EffectiveNodesObserver.prototype._setup;var baseCleanup=DomApi.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.mixin(DomApi.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var self=this;this._mutationHandler=function(mxns){if(mxns&&mxns.length){self._scheduleNotify();}};this._observer=new MutationObserver(this._mutationHandler);this._boundFlush=function(){self._flush();};Polymer.dom.addStaticFlush(this._boundFlush);this._observer.observe(this.node,{childList:true});}
3807baseSetup.call(this);},_cleanup:function(){this._observer.disconnect();this._observer=null;this._mutationHandler=null;Polymer.dom.removeStaticFlush(this._boundFlush);baseCleanup.call(this);},_flush:function(){if(this._observer){this._mutationHandler(this._observer.takeRecords());}},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify();this._observer.disconnect();this._observer.observe(this.node,{childList:true,attributes:true,subtree:true});var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host&&Polymer.dom(host).observer){Polymer.dom(host).observer.enableShadowAttributeTracking();}}},_makeContentListenersAlwaysNotify:function(){for(var i=0,h;i<this._listeners.length;i++){h=this._listeners[i];h._alwaysNotify=h._isContentListener;}}});}}());(function(){'use strict';var DomApi=Polymer.DomApi.ctor;var Settings=Polymer.Settings;DomApi.DistributedNodesObserver=function(domApi){DomApi.EffectiveNodesObserver.call(this,domApi);};DomApi.DistributedNodesObserver.prototype=Object.create(DomApi.EffectiveNodesObserver.prototype);Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes();}});if(Settings.useShadow){Polymer.Base.mixin(DomApi.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){var self=this;this._observer=Polymer.dom(host).observeNodes(function(){self._scheduleNotify();});this._observer._isContentListener=true;if(this._hasAttrSelect()){Polymer.dom(host).observer.enableShadowAttributeTracking();}}}},_hasAttrSelect:function(){var select=this.node.getAttribute('select');return select&&select.match(/[[.]+/);},_cleanup:function(){var root=this.domApi.getOwnerRoot();var host=root&&root.host;if(host){Polymer.dom(host).unobserveNodes(this._observer);}
3808this._observer=null;}});}}());(function(){var DomApi=Polymer.DomApi;var TreeApi=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template);},_setupShady:function(){this.shadyRoot=null;if(!this.__domApi){this.__domApi=null;}
3809if(!this.__dom){this.__dom=null;}
3810if(!this._ownerShadyRoot){this._ownerShadyRoot=undefined;}},_poolContent:function(){if(this._useContent){TreeApi.Logical.saveChildNodes(this);}},_setupRoot:function(){if(this._useContent){this._createLocalRoot();if(!this.dataHost){upgradeLogicalChildren(TreeApi.Logical.getChildNodes(this));}}},_createLocalRoot:function(){this.shadyRoot=this.root;this.shadyRoot._distributionClean=false;this.shadyRoot._hasDistributed=false;this.shadyRoot._isShadyRoot=true;this.shadyRoot._dirtyRoots=[];var i$=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll('content'):[];TreeApi.Logical.saveChildNodes(this.shadyRoot);for(var i=0,c;i<i$.length;i++){c=i$[i];TreeApi.Logical.saveChildNodes(c);TreeApi.Logical.saveChildNodes(c.parentNode);}
3811this.shadyRoot.host=this;},distributeContent:function(updateInsertionPoints){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||updateInsertionPoints;var host=getTopDistributingHost(this);Polymer.dom(this)._lazyDistribute(host);}},_distributeContent:function(){if(this._useContent&&!this.shadyRoot._distributionClean){if(this.shadyRoot._invalidInsertionPoints){Polymer.dom(this)._updateInsertionPoints(this);this.shadyRoot._invalidInsertionPoints=false;}
3812this._beginDistribute();this._distributeDirtyRoots();this._finishDistribute();}},_beginDistribute:function(){if(this._useContent&&DomApi.hasInsertionPoint(this.shadyRoot)){this._resetDistribution();this._distributePool(this.shadyRoot,this._collectPool());}},_distributeDirtyRoots:function(){var c$=this.shadyRoot._dirtyRoots;for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){c._distributeContent();}
3813this.shadyRoot._dirtyRoots=[];},_finishDistribute:function(){if(this._useContent){this.shadyRoot._distributionClean=true;if(DomApi.hasInsertionPoint(this.shadyRoot)){this._composeTree();notifyContentObservers(this.shadyRoot);}else{if(!this.shadyRoot._hasDistributed){TreeApi.Composed.clearChildNodes(this);this.appendChild(this.shadyRoot);}else{var children=this._composeNode(this);this._updateChildNodes(this,children);}}
3814if(!this.shadyRoot._hasDistributed){notifyInitialDistribution(this);}
3815this.shadyRoot._hasDistributed=true;}},elementMatches:function(selector,node){node=node||this;return DomApi.matchesSelector.call(node,selector);},_resetDistribution:function(){var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(child._destinationInsertionPoints){child._destinationInsertionPoints=undefined;}
3816if(isInsertionPoint(child)){clearDistributedDestinationInsertionPoints(child);}}
3817var root=this.shadyRoot;var p$=root._insertionPoints;for(var j=0;j<p$.length;j++){p$[j]._distributedNodes=[];}},_collectPool:function(){var pool=[];var children=TreeApi.Logical.getChildNodes(this);for(var i=0;i<children.length;i++){var child=children[i];if(isInsertionPoint(child)){pool.push.apply(pool,child._distributedNodes);}else{pool.push(child);}}
3818return pool;},_distributePool:function(node,pool){var p$=node._insertionPoints;for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){this._distributeInsertionPoint(p,pool);maybeRedistributeParent(p,this);}},_distributeInsertionPoint:function(content,pool){var anyDistributed=false;for(var i=0,l=pool.length,node;i<l;i++){node=pool[i];if(!node){continue;}
3819if(this._matchesContentSelect(node,content)){distributeNodeInto(node,content);pool[i]=undefined;anyDistributed=true;}}
3820if(!anyDistributed){var children=TreeApi.Logical.getChildNodes(content);for(var j=0;j<children.length;j++){distributeNodeInto(children[j],content);}}},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));var p$=this.shadyRoot._insertionPoints;for(var i=0,l=p$.length,p,parent;i<l&&(p=p$[i]);i++){parent=TreeApi.Logical.getParentNode(p);if(!parent._useContent&&parent!==this&&parent!==this.shadyRoot){this._updateChildNodes(parent,this._composeNode(parent));}}},_composeNode:function(node){var children=[];var c$=TreeApi.Logical.getChildNodes(node.shadyRoot||node);for(var i=0;i<c$.length;i++){var child=c$[i];if(isInsertionPoint(child)){var distributedNodes=child._distributedNodes;for(var j=0;j<distributedNodes.length;j++){var distributedNode=distributedNodes[j];if(isFinalDestination(child,distributedNode)){children.push(distributedNode);}}}else{children.push(child);}}
3821return children;},_updateChildNodes:function(container,children){var composed=TreeApi.Composed.getChildNodes(container);var splices=Polymer.ArraySplice.calculateSplices(children,composed);for(var i=0,d=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0,n;j<s.removed.length&&(n=s.removed[j]);j++){if(TreeApi.Composed.getParentNode(n)===container){TreeApi.Composed.removeChild(container,n);}
3822composed.splice(s.index+d,1);}
3823d-=s.addedCount;}
3824for(var i=0,s,next;i<splices.length&&(s=splices[i]);i++){next=composed[s.index];for(j=s.index,n;j<s.index+s.addedCount;j++){n=children[j];TreeApi.Composed.insertBefore(container,n,next);composed.splice(j,0,n);}}},_matchesContentSelect:function(node,contentElement){var select=contentElement.getAttribute('select');if(!select){return true;}
3825select=select.trim();if(!select){return true;}
3826if(!(node instanceof Element)){return false;}
3827var validSelectors=/^(:not\()?[*.#[a-zA-Z_|]/;if(!validSelectors.test(select)){return false;}
3828return this.elementMatches(select,node);},_elementAdd:function(){},_elementRemove:function(){}});var domHostDesc={get:function(){var root=Polymer.dom(this).getOwnerRoot();return root&&root.host;},configurable:true};Object.defineProperty(Polymer.Base,'domHost',domHostDesc);Polymer.BaseDescriptors.domHost=domHostDesc;function distributeNodeInto(child,insertionPoint){insertionPoint._distributedNodes.push(child);var points=child._destinationInsertionPoints;if(!points){child._destinationInsertionPoints=[insertionPoint];}else{points.push(insertionPoint);}}
3829function clearDistributedDestinationInsertionPoints(content){var e$=content._distributedNodes;if(e$){for(var i=0;i<e$.length;i++){var d=e$[i]._destinationInsertionPoints;if(d){d.splice(d.indexOf(content)+1,d.length);}}}}
3830function maybeRedistributeParent(content,host){var parent=TreeApi.Logical.getParentNode(content);if(parent&&parent.shadyRoot&&DomApi.hasInsertionPoint(parent.shadyRoot)&&parent.shadyRoot._distributionClean){parent.shadyRoot._distributionClean=false;host.shadyRoot._dirtyRoots.push(parent);}}
3831function isFinalDestination(insertionPoint,node){var points=node._destinationInsertionPoints;return points&&points[points.length-1]===insertionPoint;}
3832function isInsertionPoint(node){return node.localName=='content';}
3833function getTopDistributingHost(host){while(host&&hostNeedsRedistribution(host)){host=host.domHost;}
3834return host;}
3835function hostNeedsRedistribution(host){var c$=TreeApi.Logical.getChildNodes(host);for(var i=0,c;i<c$.length;i++){c=c$[i];if(c.localName&&c.localName==='content'){return host.domHost;}}}
3836function notifyContentObservers(root){for(var i=0,c;i<root._insertionPoints.length;i++){c=root._insertionPoints[i];if(DomApi.hasApi(c)){Polymer.dom(c).notifyObserver();}}}
3837function notifyInitialDistribution(host){if(DomApi.hasApi(host)){Polymer.dom(host).notifyObserver();}}
3838var needsUpgrade=window.CustomElements&&!CustomElements.useNative;function upgradeLogicalChildren(children){if(needsUpgrade&&children){for(var i=0;i<children.length;i++){CustomElements.upgrade(children[i]);}}}}());if(Polymer.Settings.useShadow){Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot();this.shadowRoot.appendChild(this.root);this.root=this.shadowRoot;}});}Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0,_twiddle:document.createTextNode(''),run:function(callback,waitTime){if(waitTime>0){return~setTimeout(callback,waitTime);}else{this._twiddle.textContent=this._twiddleContent++;this._callbacks.push(callback);return this._currVal++;}},cancel:function(handle){if(handle<0){clearTimeout(~handle);}else{var idx=handle-this._lastVal;if(idx>=0){if(!this._callbacks[idx]){throw'invalid async handle: '+handle;}
3839this._callbacks[idx]=null;}}},_atEndOfMicrotask:function(){var len=this._callbacks.length;for(var i=0;i<len;i++){var cb=this._callbacks[i];if(cb){try{cb();}catch(e){i++;this._callbacks.splice(0,i);this._lastVal+=i;this._twiddle.textContent=this._twiddleContent++;throw e;}}}
3840this._callbacks.splice(0,len);this._lastVal+=len;}};new window.MutationObserver(function(){Polymer.Async._atEndOfMicrotask();}).observe(Polymer.Async._twiddle,{characterData:true});Polymer.Debounce=function(){var Async=Polymer.Async;var Debouncer=function(context){this.context=context;var self=this;this.boundComplete=function(){self.complete();};};Debouncer.prototype={go:function(callback,wait){var h;this.finish=function(){Async.cancel(h);};h=Async.run(this.boundComplete,wait);this.callback=callback;},stop:function(){if(this.finish){this.finish();this.finish=null;this.callback=null;}},complete:function(){if(this.finish){var callback=this.callback;this.stop();callback.call(this.context);}}};function debounce(debouncer,callback,wait){if(debouncer){debouncer.stop();}else{debouncer=new Debouncer(this);}
3841debouncer.go(callback,wait);return debouncer;}
3842return debounce;}();Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={};},debounce:function(jobName,callback,wait){return this._debouncers[jobName]=Polymer.Debounce.call(this,this._debouncers[jobName],callback,wait);},isDebouncerActive:function(jobName){var debouncer=this._debouncers[jobName];return!!(debouncer&&debouncer.finish);},flushDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.complete();}},cancelDebouncer:function(jobName){var debouncer=this._debouncers[jobName];if(debouncer){debouncer.stop();}}});Polymer.DomModule=document.createElement('dom-module');Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();this._prepBehaviors();this._prepConstructor();this._prepTemplate();this._prepShady();this._prepPropertyInfo();},_prepBehavior:function(b){this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._registerHost();if(this._template){this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();}
3843this._marshalHostAttributes();this._setupDebouncers();this._marshalBehaviors();this._tryReady();},_marshalBehavior:function(b){}});(function(){Polymer.nar=[];var disableUpgradeEnabled=Polymer.Settings.disableUpgradeEnabled;Polymer.Annotations={parseAnnotations:function(template,stripWhiteSpace){var list=[];var content=template._content||template.content;this._parseNodeAnnotations(content,list,stripWhiteSpace||template.hasAttribute('strip-whitespace'));return list;},_parseNodeAnnotations:function(node,list,stripWhiteSpace){return node.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(node,list):this._parseElementAnnotations(node,list,stripWhiteSpace);},_bindingRegex:function(){var IDENT='(?:'+'[a-zA-Z_$][\\w.:$\\-*]*'+')';var NUMBER='(?:'+'[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?'+')';var SQUOTE_STRING='(?:'+'\'(?:[^\'\\\\]|\\\\.)*\''+')';var DQUOTE_STRING='(?:'+'"(?:[^"\\\\]|\\\\.)*"'+')';var STRING='(?:'+SQUOTE_STRING+'|'+DQUOTE_STRING+')';var ARGUMENT='(?:'+IDENT+'|'+NUMBER+'|'+STRING+'\\s*'+')';var ARGUMENTS='(?:'+ARGUMENT+'(?:,\\s*'+ARGUMENT+')*'+')';var ARGUMENT_LIST='(?:'+'\\(\\s*'+'(?:'+ARGUMENTS+'?'+')'+'\\)\\s*'+')';var BINDING='('+IDENT+'\\s*'+ARGUMENT_LIST+'?'+')';var OPEN_BRACKET='(\\[\\[|{{)'+'\\s*';var CLOSE_BRACKET='(?:]]|}})';var NEGATE='(?:(!)\\s*)?';var EXPRESSION=OPEN_BRACKET+NEGATE+BINDING+CLOSE_BRACKET;return new RegExp(EXPRESSION,'g');}(),_parseBindings:function(text){var re=this._bindingRegex;var parts=[];var lastIndex=0;var m;while((m=re.exec(text))!==null){if(m.index>lastIndex){parts.push({literal:text.slice(lastIndex,m.index)});}
3844var mode=m[1][0];var negate=Boolean(m[2]);var value=m[3].trim();var customEvent,notifyEvent,colon;if(mode=='{'&&(colon=value.indexOf('::'))>0){notifyEvent=value.substring(colon+2);value=value.substring(0,colon);customEvent=true;}
3845parts.push({compoundIndex:parts.length,value:value,mode:mode,negate:negate,event:notifyEvent,customEvent:customEvent});lastIndex=re.lastIndex;}
3846if(lastIndex&&lastIndex<text.length){var literal=text.substring(lastIndex);if(literal){parts.push({literal:literal});}}
3847if(parts.length){return parts;}},_literalFromParts:function(parts){var s='';for(var i=0;i<parts.length;i++){var literal=parts[i].literal;s+=literal||'';}
3848return s;},_parseTextNodeAnnotation:function(node,list){var parts=this._parseBindings(node.textContent);if(parts){node.textContent=this._literalFromParts(parts)||' ';var annote={bindings:[{kind:'text',name:'textContent',parts:parts,isCompound:parts.length!==1}]};list.push(annote);return annote;}},_parseElementAnnotations:function(element,list,stripWhiteSpace){var annote={bindings:[],events:[]};if(element.localName==='content'){list._hasContent=true;}
3849this._parseChildNodesAnnotations(element,annote,list,stripWhiteSpace);if(element.attributes){this._parseNodeAttributeAnnotations(element,annote,list);if(this.prepElement){this.prepElement(element);}}
3850if(annote.bindings.length||annote.events.length||annote.id){list.push(annote);}
3851return annote;},_parseChildNodesAnnotations:function(root,annote,list,stripWhiteSpace){if(root.firstChild){var node=root.firstChild;var i=0;while(node){var next=node.nextSibling;if(node.localName==='template'&&!node.hasAttribute('preserve-content')){this._parseTemplate(node,i,list,annote,stripWhiteSpace);}
3852if(node.localName=='slot'){node=this._replaceSlotWithContent(node);}
3853if(node.nodeType===Node.TEXT_NODE){var n=next;while(n&&n.nodeType===Node.TEXT_NODE){node.textContent+=n.textContent;next=n.nextSibling;root.removeChild(n);n=next;}
3854if(stripWhiteSpace&&!node.textContent.trim()){root.removeChild(node);i--;}}
3855if(node.parentNode){var childAnnotation=this._parseNodeAnnotations(node,list,stripWhiteSpace);if(childAnnotation){childAnnotation.parent=annote;childAnnotation.index=i;}}
3856node=next;i++;}}},_replaceSlotWithContent:function(slot){var content=slot.ownerDocument.createElement('content');while(slot.firstChild){content.appendChild(slot.firstChild);}
3857var attrs=slot.attributes;for(var i=0;i<attrs.length;i++){var attr=attrs[i];content.setAttribute(attr.name,attr.value);}
3858var name=slot.getAttribute('name');if(name){content.setAttribute('select','[slot=\''+name+'\']');}
3859slot.parentNode.replaceChild(content,slot);return content;},_parseTemplate:function(node,index,list,parent,stripWhiteSpace){var content=document.createDocumentFragment();content._notes=this.parseAnnotations(node,stripWhiteSpace);content.appendChild(node.content);list.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:content,parent:parent,index:index});},_parseNodeAttributeAnnotations:function(node,annotation){var attrs=Array.prototype.slice.call(node.attributes);for(var i=attrs.length-1,a;a=attrs[i];i--){var n=a.name;var v=a.value;var b;if(n.slice(0,3)==='on-'){node.removeAttribute(n);annotation.events.push({name:n.slice(3),value:v});}else if(b=this._parseNodeAttributeAnnotation(node,n,v)){annotation.bindings.push(b);}else if(n==='id'){annotation.id=v;}}},_parseNodeAttributeAnnotation:function(node,name,value){var parts=this._parseBindings(value);if(parts){var origName=name;var kind='property';if(name[name.length-1]=='$'){name=name.slice(0,-1);kind='attribute';}
3860var literal=this._literalFromParts(parts);if(literal&&kind=='attribute'){node.setAttribute(name,literal);}
3861if(node.localName==='input'&&origName==='value'){node.setAttribute(origName,'');}
3862if(disableUpgradeEnabled&&origName==='disable-upgrade$'){node.setAttribute(name,'');}
3863node.removeAttribute(origName);var propertyName=Polymer.CaseMap.dashToCamelCase(name);if(kind==='property'){name=propertyName;}
3864return{kind:kind,name:name,propertyName:propertyName,parts:parts,literal:literal,isCompound:parts.length!==1};}},findAnnotatedNode:function(root,annote){var parent=annote.parent&&Polymer.Annotations.findAnnotatedNode(root,annote.parent);if(parent){for(var n=parent.firstChild,i=0;n;n=n.nextSibling){if(annote.index===i++){return n;}}}else{return root;}}};}());(function(){function resolveCss(cssText,ownerDocument){return cssText.replace(CSS_URL_RX,function(m,pre,url,post){return pre+'\''+resolve(url.replace(/["']/g,''),ownerDocument)+'\''+post;});}
3865function resolveAttrs(element,ownerDocument){for(var name in URL_ATTRS){var a$=URL_ATTRS[name];for(var i=0,l=a$.length,a,at,v;i<l&&(a=a$[i]);i++){if(name==='*'||element.localName===name){at=element.attributes[a];v=at&&at.value;if(v&&v.search(BINDING_RX)<0){at.value=a==='style'?resolveCss(v,ownerDocument):resolve(v,ownerDocument);}}}}}
3866function resolve(url,ownerDocument){if(url&&ABS_URL.test(url)){return url;}
3867var resolver=getUrlResolver(ownerDocument);resolver.href=url;return resolver.href||url;}
3868var tempDoc;var tempDocBase;function resolveUrl(url,baseUri){if(!tempDoc){tempDoc=document.implementation.createHTMLDocument('temp');tempDocBase=tempDoc.createElement('base');tempDoc.head.appendChild(tempDocBase);}
3869tempDocBase.href=baseUri;return resolve(url,tempDoc);}
3870function getUrlResolver(ownerDocument){return ownerDocument.body.__urlResolver||(ownerDocument.body.__urlResolver=ownerDocument.createElement('a'));}
3871var CSS_URL_RX=/(url\()([^)]*)(\))/g;var URL_ATTRS={'*':['href','src','style','url'],form:['action']};var ABS_URL=/(^\/)|(^#)|(^[\w-\d]*:)/;var BINDING_RX=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:resolveCss,resolveAttrs:resolveAttrs,resolveUrl:resolveUrl};}());Polymer.Path={root:function(path){var dotIndex=path.indexOf('.');if(dotIndex===-1){return path;}
3872return path.slice(0,dotIndex);},isDeep:function(path){return path.indexOf('.')!==-1;},isAncestor:function(base,path){return base.indexOf(path+'.')===0;},isDescendant:function(base,path){return path.indexOf(base+'.')===0;},translate:function(base,newBase,path){return newBase+path.slice(base.length);},matches:function(base,wildcard,path){return base===path||this.isAncestor(base,path)||Boolean(wildcard)&&this.isDescendant(base,path);}};Polymer.Base._addFeature({_prepAnnotations:function(){if(!this._template){this._notes=[];}else{var self=this;Polymer.Annotations.prepElement=function(element){self._prepElement(element);};if(this._template._content&&this._template._content._notes){this._notes=this._template._content._notes;}else{this._notes=Polymer.Annotations.parseAnnotations(this._template);this._processAnnotations(this._notes);}
3873Polymer.Annotations.prepElement=null;}},_processAnnotations:function(notes){for(var i=0;i<notes.length;i++){var note=notes[i];for(var j=0;j<note.bindings.length;j++){var b=note.bindings[j];for(var k=0;k<b.parts.length;k++){var p=b.parts[k];if(!p.literal){var signature=this._parseMethod(p.value);if(signature){p.signature=signature;}else{p.model=Polymer.Path.root(p.value);}}}}
3874if(note.templateContent){this._processAnnotations(note.templateContent._notes);var pp=note.templateContent._parentProps=this._discoverTemplateParentProps(note.templateContent._notes);var bindings=[];for(var prop in pp){var name='_parent_'+prop;bindings.push({index:note.index,kind:'property',name:name,propertyName:name,parts:[{mode:'{',model:prop,value:prop}]});}
3875note.bindings=note.bindings.concat(bindings);}}},_discoverTemplateParentProps:function(notes){var pp={};for(var i=0,n;i<notes.length&&(n=notes[i]);i++){for(var j=0,b$=n.bindings,b;j<b$.length&&(b=b$[j]);j++){for(var k=0,p$=b.parts,p;k<p$.length&&(p=p$[k]);k++){if(p.signature){var args=p.signature.args;for(var kk=0;kk<args.length;kk++){var model=args[kk].model;if(model){pp[model]=true;}}
3876if(p.signature.dynamicFn){pp[p.signature.method]=true;}}else{if(p.model){pp[p.model]=true;}}}}
3877if(n.templateContent){var tpp=n.templateContent._parentProps;Polymer.Base.mixin(pp,tpp);}}
3878return pp;},_prepElement:function(element){Polymer.ResolveUrl.resolveAttrs(element,this._template.ownerDocument);},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){if(this._template){this._marshalIdNodes();this._marshalAnnotatedNodes();this._marshalAnnotatedListeners();}},_configureAnnotationReferences:function(){var notes=this._notes;var nodes=this._nodes;for(var i=0;i<notes.length;i++){var note=notes[i];var node=nodes[i];this._configureTemplateContent(note,node);this._configureCompoundBindings(note,node);}},_configureTemplateContent:function(note,node){if(note.templateContent){node._content=note.templateContent;}},_configureCompoundBindings:function(note,node){var bindings=note.bindings;for(var i=0;i<bindings.length;i++){var binding=bindings[i];if(binding.isCompound){var storage=node.__compoundStorage__||(node.__compoundStorage__={});var parts=binding.parts;var literals=new Array(parts.length);for(var j=0;j<parts.length;j++){literals[j]=parts[j].literal;}
3879var name=binding.name;storage[name]=literals;if(binding.literal&&binding.kind=='property'){if(node._configValue){node._configValue(name,binding.literal);}else{node[name]=binding.literal;}}}}},_marshalIdNodes:function(){this.$={};for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.id){this.$[a.id]=this._findAnnotatedNode(this.root,a);}}},_marshalAnnotatedNodes:function(){if(this._notes&&this._notes.length){var r=new Array(this._notes.length);for(var i=0;i<this._notes.length;i++){r[i]=this._findAnnotatedNode(this.root,this._notes[i]);}
3880this._nodes=r;}},_marshalAnnotatedListeners:function(){for(var i=0,l=this._notes.length,a;i<l&&(a=this._notes[i]);i++){if(a.events&&a.events.length){var node=this._findAnnotatedNode(this.root,a);for(var j=0,e$=a.events,e;j<e$.length&&(e=e$[j]);j++){this.listen(node,e.name,e.value);}}}}});Polymer.Base._addFeature({listeners:{},_listenListeners:function(listeners){var node,name,eventName;for(eventName in listeners){if(eventName.indexOf('.')<0){node=this;name=eventName;}else{name=eventName.split('.');node=this.$[name[0]];name=name[1];}
3881this.listen(node,name,listeners[eventName]);}},listen:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(!handler){handler=this._createEventHandler(node,eventName,methodName);}
3882if(handler._listening){return;}
3883this._listen(node,eventName,handler);handler._listening=true;},_boundListenerKey:function(eventName,methodName){return eventName+':'+methodName;},_recordEventHandler:function(host,eventName,target,methodName,handler){var hbl=host.__boundListeners;if(!hbl){hbl=host.__boundListeners=new WeakMap();}
3884var bl=hbl.get(target);if(!bl){bl={};if(!Polymer.Settings.isIE||target!=window){hbl.set(target,bl);}}
3885var key=this._boundListenerKey(eventName,methodName);bl[key]=handler;},_recallEventHandler:function(host,eventName,target,methodName){var hbl=host.__boundListeners;if(!hbl){return;}
3886var bl=hbl.get(target);if(!bl){return;}
3887var key=this._boundListenerKey(eventName,methodName);return bl[key];},_createEventHandler:function(node,eventName,methodName){var host=this;var handler=function(e){if(host[methodName]){host[methodName](e,e.detail);}else{host._warn(host._logf('_createEventHandler','listener method `'+methodName+'` not defined'));}};handler._listening=false;this._recordEventHandler(host,eventName,node,methodName,handler);return handler;},unlisten:function(node,eventName,methodName){var handler=this._recallEventHandler(this,eventName,node,methodName);if(handler){this._unlisten(node,eventName,handler);handler._listening=false;}},_listen:function(node,eventName,handler){node.addEventListener(eventName,handler);},_unlisten:function(node,eventName,handler){node.removeEventListener(eventName,handler);}});(function(){'use strict';var wrap=Polymer.DomApi.wrap;var HAS_NATIVE_TA=typeof document.head.style.touchAction==='string';var GESTURE_KEY='__polymerGestures';var HANDLED_OBJ='__polymerGesturesHandled';var TOUCH_ACTION='__polymerGesturesTouchAction';var TAP_DISTANCE=25;var TRACK_DISTANCE=5;var TRACK_LENGTH=2;var MOUSE_TIMEOUT=2500;var MOUSE_EVENTS=['mousedown','mousemove','mouseup','click'];var MOUSE_WHICH_TO_BUTTONS=[0,1,4,2];var MOUSE_HAS_BUTTONS=function(){try{return new MouseEvent('test',{buttons:1}).buttons===1;}catch(e){return false;}}();var SUPPORTS_PASSIVE=false;(function(){try{var opts=Object.defineProperty({},'passive',{get:function(){SUPPORTS_PASSIVE=true;}});window.addEventListener('test',null,opts);window.removeEventListener('test',null,opts);}catch(e){}}());var IS_TOUCH_ONLY=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/);var mouseCanceller=function(mouseEvent){var sc=mouseEvent.sourceCapabilities;if(sc&&!sc.firesTouchEvents){return;}
3888mouseEvent[HANDLED_OBJ]={skip:true};if(mouseEvent.type==='click'){var path=Polymer.dom(mouseEvent).path;for(var i=0;i<path.length;i++){if(path[i]===POINTERSTATE.mouse.target){return;}}
3889mouseEvent.preventDefault();mouseEvent.stopPropagation();}};function setupTeardownMouseCanceller(setup){var events=IS_TOUCH_ONLY?['click']:MOUSE_EVENTS;for(var i=0,en;i<events.length;i++){en=events[i];if(setup){document.addEventListener(en,mouseCanceller,true);}else{document.removeEventListener(en,mouseCanceller,true);}}}
3890function ignoreMouse(ev){if(!POINTERSTATE.mouse.mouseIgnoreJob){setupTeardownMouseCanceller(true);}
3891var unset=function(){setupTeardownMouseCanceller();POINTERSTATE.mouse.target=null;POINTERSTATE.mouse.mouseIgnoreJob=null;};POINTERSTATE.mouse.target=Polymer.dom(ev).rootTarget;POINTERSTATE.mouse.mouseIgnoreJob=Polymer.Debounce(POINTERSTATE.mouse.mouseIgnoreJob,unset,MOUSE_TIMEOUT);}
3892function hasLeftMouseButton(ev){var type=ev.type;if(MOUSE_EVENTS.indexOf(type)===-1){return false;}
3893if(type==='mousemove'){var buttons=ev.buttons===undefined?1:ev.buttons;if(ev instanceof window.MouseEvent&&!MOUSE_HAS_BUTTONS){buttons=MOUSE_WHICH_TO_BUTTONS[ev.which]||0;}
3894return Boolean(buttons&1);}else{var button=ev.button===undefined?0:ev.button;return button===0;}}
3895function isSyntheticClick(ev){if(ev.type==='click'){if(ev.detail===0){return true;}
3896var t=Gestures.findOriginalTarget(ev);var bcr=t.getBoundingClientRect();var x=ev.pageX,y=ev.pageY;return!(x>=bcr.left&&x<=bcr.right&&(y>=bcr.top&&y<=bcr.bottom));}
3897return false;}
3898var POINTERSTATE={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:false}};function firstTouchAction(ev){var path=Polymer.dom(ev).path;var ta='auto';for(var i=0,n;i<path.length;i++){n=path[i];if(n[TOUCH_ACTION]){ta=n[TOUCH_ACTION];break;}}
3899return ta;}
3900function trackDocument(stateObj,movefn,upfn){stateObj.movefn=movefn;stateObj.upfn=upfn;document.addEventListener('mousemove',movefn);document.addEventListener('mouseup',upfn);}
3901function untrackDocument(stateObj){document.removeEventListener('mousemove',stateObj.movefn);document.removeEventListener('mouseup',stateObj.upfn);stateObj.movefn=null;stateObj.upfn=null;}
3902document.addEventListener('touchend',ignoreMouse,SUPPORTS_PASSIVE?{passive:true}:false);var Gestures={gestures:{},recognizers:[],deepTargetFind:function(x,y){var node=document.elementFromPoint(x,y);var next=node;while(next&&next.shadowRoot){next=next.shadowRoot.elementFromPoint(x,y);if(next){node=next;}}
3903return node;},findOriginalTarget:function(ev){if(ev.path){return ev.path[0];}
3904return ev.target;},handleNative:function(ev){var handled;var type=ev.type;var node=wrap(ev.currentTarget);var gobj=node[GESTURE_KEY];if(!gobj){return;}
3905var gs=gobj[type];if(!gs){return;}
3906if(!ev[HANDLED_OBJ]){ev[HANDLED_OBJ]={};if(type.slice(0,5)==='touch'){var t=ev.changedTouches[0];if(type==='touchstart'){if(ev.touches.length===1){POINTERSTATE.touch.id=t.identifier;}}
3907if(POINTERSTATE.touch.id!==t.identifier){return;}
3908if(!HAS_NATIVE_TA){if(type==='touchstart'||type==='touchmove'){Gestures.handleTouchAction(ev);}}}}
3909handled=ev[HANDLED_OBJ];if(handled.skip){return;}
3910var recognizers=Gestures.recognizers;for(var i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){if(r.flow&&r.flow.start.indexOf(ev.type)>-1&&r.reset){r.reset();}}}
3911for(i=0,r;i<recognizers.length;i++){r=recognizers[i];if(gs[r.name]&&!handled[r.name]){handled[r.name]=true;r[type](ev);}}},handleTouchAction:function(ev){var t=ev.changedTouches[0];var type=ev.type;if(type==='touchstart'){POINTERSTATE.touch.x=t.clientX;POINTERSTATE.touch.y=t.clientY;POINTERSTATE.touch.scrollDecided=false;}else if(type==='touchmove'){if(POINTERSTATE.touch.scrollDecided){return;}
3912POINTERSTATE.touch.scrollDecided=true;var ta=firstTouchAction(ev);var prevent=false;var dx=Math.abs(POINTERSTATE.touch.x-t.clientX);var dy=Math.abs(POINTERSTATE.touch.y-t.clientY);if(!ev.cancelable){}else if(ta==='none'){prevent=true;}else if(ta==='pan-x'){prevent=dy>dx;}else if(ta==='pan-y'){prevent=dx>dy;}
3913if(prevent){ev.preventDefault();}else{Gestures.prevent('track');}}},add:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(!gobj){node[GESTURE_KEY]=gobj={};}
3914for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];if(IS_TOUCH_ONLY&&MOUSE_EVENTS.indexOf(dep)>-1&&dep!=='click'){continue;}
3915gd=gobj[dep];if(!gd){gobj[dep]=gd={_count:0};}
3916if(gd._count===0){node.addEventListener(dep,this.handleNative);}
3917gd[name]=(gd[name]||0)+1;gd._count=(gd._count||0)+1;}
3918node.addEventListener(evType,handler);if(recognizer.touchAction){this.setTouchAction(node,recognizer.touchAction);}},remove:function(node,evType,handler){node=wrap(node);var recognizer=this.gestures[evType];var deps=recognizer.deps;var name=recognizer.name;var gobj=node[GESTURE_KEY];if(gobj){for(var i=0,dep,gd;i<deps.length;i++){dep=deps[i];gd=gobj[dep];if(gd&&gd[name]){gd[name]=(gd[name]||1)-1;gd._count=(gd._count||1)-1;if(gd._count===0){node.removeEventListener(dep,this.handleNative);}}}}
3919node.removeEventListener(evType,handler);},register:function(recog){this.recognizers.push(recog);for(var i=0;i<recog.emits.length;i++){this.gestures[recog.emits[i]]=recog;}},findRecognizerByEvent:function(evName){for(var i=0,r;i<this.recognizers.length;i++){r=this.recognizers[i];for(var j=0,n;j<r.emits.length;j++){n=r.emits[j];if(n===evName){return r;}}}
3920return null;},setTouchAction:function(node,value){if(HAS_NATIVE_TA){node.style.touchAction=value;}
3921node[TOUCH_ACTION]=value;},fire:function(target,type,detail){var ev=Polymer.Base.fire(type,detail,{node:target,bubbles:true,cancelable:true});if(ev.defaultPrevented){var preventer=detail.preventer||detail.sourceEvent;if(preventer&&preventer.preventDefault){preventer.preventDefault();}}},prevent:function(evName){var recognizer=this.findRecognizerByEvent(evName);if(recognizer.info){recognizer.info.prevent=true;}},resetMouseCanceller:function(){if(POINTERSTATE.mouse.mouseIgnoreJob){POINTERSTATE.mouse.mouseIgnoreJob.complete();}}};Gestures.register({name:'downup',deps:['mousedown','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['down','up'],info:{movefn:null,upfn:null},reset:function(){untrackDocument(this.info);},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
3922var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){if(!hasLeftMouseButton(e)){self.fire('up',t,e);untrackDocument(self.info);}};var upfn=function upfn(e){if(hasLeftMouseButton(e)){self.fire('up',t,e);}
3923untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.fire('down',t,e);},touchstart:function(e){this.fire('down',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},touchend:function(e){this.fire('up',Gestures.findOriginalTarget(e),e.changedTouches[0],e);},fire:function(type,target,event,preventer){Gestures.fire(target,type,{x:event.clientX,y:event.clientY,sourceEvent:event,preventer:preventer,prevent:function(e){return Gestures.prevent(e);}});}});Gestures.register({name:'track',touchAction:'none',deps:['mousedown','touchstart','touchmove','touchend'],flow:{start:['mousedown','touchstart'],end:['mouseup','touchend']},emits:['track'],info:{x:0,y:0,state:'start',started:false,moves:[],addMove:function(move){if(this.moves.length>TRACK_LENGTH){this.moves.shift();}
3924this.moves.push(move);},movefn:null,upfn:null,prevent:false},reset:function(){this.info.state='start';this.info.started=false;this.info.moves=[];this.info.x=0;this.info.y=0;this.info.prevent=false;untrackDocument(this.info);},hasMovedEnough:function(x,y){if(this.info.prevent){return false;}
3925if(this.info.started){return true;}
3926var dx=Math.abs(this.info.x-x);var dy=Math.abs(this.info.y-y);return dx>=TRACK_DISTANCE||dy>=TRACK_DISTANCE;},mousedown:function(e){if(!hasLeftMouseButton(e)){return;}
3927var t=Gestures.findOriginalTarget(e);var self=this;var movefn=function movefn(e){var x=e.clientX,y=e.clientY;if(self.hasMovedEnough(x,y)){self.info.state=self.info.started?e.type==='mouseup'?'end':'track':'start';if(self.info.state==='start'){Gestures.prevent('tap');}
3928self.info.addMove({x:x,y:y});if(!hasLeftMouseButton(e)){self.info.state='end';untrackDocument(self.info);}
3929self.fire(t,e);self.info.started=true;}};var upfn=function upfn(e){if(self.info.started){movefn(e);}
3930untrackDocument(self.info);};trackDocument(this.info,movefn,upfn);this.info.x=e.clientX;this.info.y=e.clientY;},touchstart:function(e){var ct=e.changedTouches[0];this.info.x=ct.clientX;this.info.y=ct.clientY;},touchmove:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];var x=ct.clientX,y=ct.clientY;if(this.hasMovedEnough(x,y)){if(this.info.state==='start'){Gestures.prevent('tap');}
3931this.info.addMove({x:x,y:y});this.fire(t,ct);this.info.state='track';this.info.started=true;}},touchend:function(e){var t=Gestures.findOriginalTarget(e);var ct=e.changedTouches[0];if(this.info.started){this.info.state='end';this.info.addMove({x:ct.clientX,y:ct.clientY});this.fire(t,ct,e);}},fire:function(target,touch,preventer){var secondlast=this.info.moves[this.info.moves.length-2];var lastmove=this.info.moves[this.info.moves.length-1];var dx=lastmove.x-this.info.x;var dy=lastmove.y-this.info.y;var ddx,ddy=0;if(secondlast){ddx=lastmove.x-secondlast.x;ddy=lastmove.y-secondlast.y;}
3932return Gestures.fire(target,'track',{state:this.info.state,x:touch.clientX,y:touch.clientY,dx:dx,dy:dy,ddx:ddx,ddy:ddy,sourceEvent:touch,preventer:preventer,hover:function(){return Gestures.deepTargetFind(touch.clientX,touch.clientY);}});}});Gestures.register({name:'tap',deps:['mousedown','click','touchstart','touchend'],flow:{start:['mousedown','touchstart'],end:['click','touchend']},emits:['tap'],info:{x:NaN,y:NaN,prevent:false},reset:function(){this.info.x=NaN;this.info.y=NaN;this.info.prevent=false;},save:function(e){this.info.x=e.clientX;this.info.y=e.clientY;},mousedown:function(e){if(hasLeftMouseButton(e)){this.save(e);}},click:function(e){if(hasLeftMouseButton(e)){this.forward(e);}},touchstart:function(e){this.save(e.changedTouches[0],e);},touchend:function(e){this.forward(e.changedTouches[0],e);},forward:function(e,preventer){var dx=Math.abs(e.clientX-this.info.x);var dy=Math.abs(e.clientY-this.info.y);var t=Gestures.findOriginalTarget(e);if(isNaN(dx)||isNaN(dy)||dx<=TAP_DISTANCE&&dy<=TAP_DISTANCE||isSyntheticClick(e)){if(!this.info.prevent){Gestures.fire(t,'tap',{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:preventer});}}}});var DIRECTION_MAP={x:'pan-x',y:'pan-y',none:'none',all:'auto'};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null;},_listen:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.add(node,eventName,handler);}else{node.addEventListener(eventName,handler);}},_unlisten:function(node,eventName,handler){if(Gestures.gestures[eventName]){Gestures.remove(node,eventName,handler);}else{node.removeEventListener(eventName,handler);}},setScrollDirection:function(direction,node){node=node||this;Gestures.setTouchAction(node,DIRECTION_MAP[direction]||'auto');}});Polymer.Gestures=Gestures;}());(function(){'use strict';Polymer.Base._addFeature({$$:function(slctr){return Polymer.dom(this.root).querySelector(slctr);},toggleClass:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.classList.contains(name);}
3933if(bool){Polymer.dom(node).classList.add(name);}else{Polymer.dom(node).classList.remove(name);}},toggleAttribute:function(name,bool,node){node=node||this;if(arguments.length==1){bool=!node.hasAttribute(name);}
3934if(bool){Polymer.dom(node).setAttribute(name,'');}else{Polymer.dom(node).removeAttribute(name);}},classFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).classList.remove(name);}
3935if(toElement){Polymer.dom(toElement).classList.add(name);}},attributeFollows:function(name,toElement,fromElement){if(fromElement){Polymer.dom(fromElement).removeAttribute(name);}
3936if(toElement){Polymer.dom(toElement).setAttribute(name,'');}},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes();},getEffectiveChildren:function(){var list=Polymer.dom(this).getEffectiveChildNodes();return list.filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},getEffectiveTextContent:function(){var cn=this.getEffectiveChildNodes();var tc=[];for(var i=0,c;c=cn[i];i++){if(c.nodeType!==Node.COMMENT_NODE){tc.push(Polymer.dom(c).textContent);}}
3937return tc.join('');},queryEffectiveChildren:function(slctr){var e$=Polymer.dom(this).queryDistributedElements(slctr);return e$&&e$[0];},queryAllEffectiveChildren:function(slctr){return Polymer.dom(this).queryDistributedElements(slctr);},getContentChildNodes:function(slctr){var content=Polymer.dom(this.root).querySelector(slctr||'content');return content?Polymer.dom(content).getDistributedNodes():[];},getContentChildren:function(slctr){return this.getContentChildNodes(slctr).filter(function(n){return n.nodeType===Node.ELEMENT_NODE;});},fire:function(type,detail,options){options=options||Polymer.nob;var node=options.node||this;detail=detail===null||detail===undefined?{}:detail;var bubbles=options.bubbles===undefined?true:options.bubbles;var cancelable=Boolean(options.cancelable);var useCache=options._useCache;var event=this._getEvent(type,bubbles,cancelable,useCache);event.detail=detail;if(useCache){this.__eventCache[type]=null;}
3938node.dispatchEvent(event);if(useCache){this.__eventCache[type]=event;}
3939return event;},__eventCache:{},_getEvent:function(type,bubbles,cancelable,useCache){var event=useCache&&this.__eventCache[type];if(!event||(event.bubbles!=bubbles||event.cancelable!=cancelable)){event=new Event(type,{bubbles:Boolean(bubbles),cancelable:cancelable});}
3940return event;},async:function(callback,waitTime){var self=this;return Polymer.Async.run(function(){callback.call(self);},waitTime);},cancelAsync:function(handle){Polymer.Async.cancel(handle);},arrayDelete:function(path,item){var index;if(Array.isArray(path)){index=path.indexOf(item);if(index>=0){return path.splice(index,1);}}else{var arr=this._get(path);index=arr.indexOf(item);if(index>=0){return this.splice(path,index,1);}}},transform:function(transform,node){node=node||this;node.style.webkitTransform=transform;node.style.transform=transform;},translate3d:function(x,y,z,node){node=node||this;this.transform('translate3d('+x+','+y+','+z+')',node);},importHref:function(href,onload,onerror,optAsync){var link=document.createElement('link');link.rel='import';link.href=href;var list=Polymer.Base.importHref.imported=Polymer.Base.importHref.imported||{};var cached=list[link.href];var imprt=cached||link;var self=this;var loadListener=function(e){e.target.__firedLoad=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onload.call(self,e);};var errorListener=function(e){e.target.__firedError=true;e.target.removeEventListener('load',loadListener);e.target.removeEventListener('error',errorListener);return onerror.call(self,e);};if(onload){imprt.addEventListener('load',loadListener);}
3941if(onerror){imprt.addEventListener('error',errorListener);}
3942if(cached){if(cached.__firedLoad){cached.dispatchEvent(new Event('load'));}
3943if(cached.__firedError){cached.dispatchEvent(new Event('error'));}}else{list[link.href]=link;optAsync=Boolean(optAsync);if(optAsync){link.setAttribute('async','');}
3944document.head.appendChild(link);}
3945return imprt;},create:function(tag,props){var elt=document.createElement(tag);if(props){for(var n in props){elt[n]=props[n];}}
3946return elt;},isLightDescendant:function(node){return this!==node&&this.contains(node)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(node).getOwnerRoot();},isLocalDescendant:function(node){return this.root===Polymer.dom(node).getOwnerRoot();}});if(!Polymer.Settings.useNativeCustomElements){var importHref=Polymer.Base.importHref;Polymer.Base.importHref=function(href,onload,onerror,optAsync){CustomElements.ready=false;var loadFn=function(e){CustomElements.upgradeDocumentTree(document);CustomElements.ready=true;if(onload){return onload.call(this,e);}};return importHref.call(this,href,loadFn,onerror,optAsync);};}}());Polymer.Bind={prepareModel:function(model){Polymer.Base.mixin(model,this._modelApi);},_modelApi:{_notifyChange:function(source,event,value){value=value===undefined?this[source]:value;event=event||Polymer.CaseMap.camelToDashCase(source)+'-changed';this.fire(event,{value:value},{bubbles:false,cancelable:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_propertySetter:function(property,value,effects,fromAbove){var old=this.__data__[property];if(old!==value&&(old===old||value===value)){this.__data__[property]=value;if(typeof value=='object'){this._clearPath(property);}
3947if(this._propertyChanged){this._propertyChanged(property,value,old);}
3948if(effects){this._effectEffects(property,value,effects,old,fromAbove);}}
3949return old;},__setProperty:function(property,value,quiet,node){node=node||this;var effects=node._propertyEffects&&node._propertyEffects[property];if(effects){node._propertySetter(property,value,effects,quiet);}else if(node[property]!==value){node[property]=value;}},_effectEffects:function(property,value,effects,old,fromAbove){for(var i=0,l=effects.length,fx;i<l&&(fx=effects[i]);i++){fx.fn.call(this,property,this[property],fx.effect,old,fromAbove);}},_clearPath:function(path){for(var prop in this.__data__){if(Polymer.Path.isDescendant(path,prop)){this.__data__[prop]=undefined;}}}},ensurePropertyEffects:function(model,property){if(!model._propertyEffects){model._propertyEffects={};}
3950var fx=model._propertyEffects[property];if(!fx){fx=model._propertyEffects[property]=[];}
3951return fx;},addPropertyEffect:function(model,property,kind,effect){var fx=this.ensurePropertyEffects(model,property);var propEffect={kind:kind,effect:effect,fn:Polymer.Bind['_'+kind+'Effect']};fx.push(propEffect);return propEffect;},createBindings:function(model){var fx$=model._propertyEffects;if(fx$){for(var n in fx$){var fx=fx$[n];fx.sort(this._sortPropertyEffects);this._createAccessors(model,n,fx);}}},_sortPropertyEffects:function(){var EFFECT_ORDER={'compute':0,'annotation':1,'annotatedComputation':2,'reflect':3,'notify':4,'observer':5,'complexObserver':6,'function':7};return function(a,b){return EFFECT_ORDER[a.kind]-EFFECT_ORDER[b.kind];};}(),_createAccessors:function(model,property,effects){var defun={get:function(){return this.__data__[property];}};var setter=function(value){this._propertySetter(property,value,effects);};var info=model.getPropertyInfo&&model.getPropertyInfo(property);if(info&&info.readOnly){if(!info.computed){model['_set'+this.upper(property)]=setter;}}else{defun.set=setter;}
3952Object.defineProperty(model,property,defun);},upper:function(name){return name[0].toUpperCase()+name.substring(1);},_addAnnotatedListener:function(model,index,property,path,event,negated){if(!model._bindListeners){model._bindListeners=[];}
3953var fn=this._notedListenerFactory(property,path,Polymer.Path.isDeep(path),negated);var eventName=event||Polymer.CaseMap.camelToDashCase(property)+'-changed';model._bindListeners.push({index:index,property:property,path:path,changedFn:fn,event:eventName});},_isEventBogus:function(e,target){return e.path&&e.path[0]!==target;},_notedListenerFactory:function(property,path,isStructured,negated){return function(target,value,targetPath){if(targetPath){var newPath=Polymer.Path.translate(property,path,targetPath);this._notifyPath(newPath,value);}else{value=target[property];if(negated){value=!value;}
3954if(!isStructured){this[path]=value;}else{if(this.__data__[path]!=value){this.set(path,value);}}}};},prepareInstance:function(inst){inst.__data__=Object.create(null);},setupBindListeners:function(inst){var b$=inst._bindListeners;for(var i=0,l=b$.length,info;i<l&&(info=b$[i]);i++){var node=inst._nodes[info.index];this._addNotifyListener(node,inst,info.event,info.changedFn);}},_addNotifyListener:function(element,context,event,changedFn){element.addEventListener(event,function(e){return context._notifyListener(changedFn,e);});}};Polymer.Base.mixin(Polymer.Bind,{_shouldAddListener:function(effect){return effect.name&&effect.kind!='attribute'&&effect.kind!='text'&&!effect.isCompound&&effect.parts[0].mode==='{';},_annotationEffect:function(source,value,effect){if(source!=effect.value){value=this._get(effect.value);this.__data__[effect.value]=value;}
3955this._applyEffectValue(effect,value);},_reflectEffect:function(source,value,effect){this.reflectPropertyToAttribute(source,effect.attribute,value);},_notifyEffect:function(source,value,effect,old,fromAbove){if(!fromAbove){this._notifyChange(source,effect.event,value);}},_functionEffect:function(source,value,fn,old,fromAbove){fn.call(this,source,value,old,fromAbove);},_observerEffect:function(source,value,effect,old){var fn=this[effect.method];if(fn){fn.call(this,value,old);}else{this._warn(this._logf('_observerEffect','observer method `'+effect.method+'` not defined'));}},_complexObserverEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){fn.apply(this,args);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_complexObserverEffect','observer method `'+effect.method+'` not defined'));}},_computeEffect:function(source,value,effect){var fn=this[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(this,args);this.__setProperty(effect.name,computedvalue);}}else if(effect.dynamicFn){}else{this._warn(this._logf('_computeEffect','compute method `'+effect.method+'` not defined'));}},_annotatedComputationEffect:function(source,value,effect){var computedHost=this._rootDataHost||this;var fn=computedHost[effect.method];if(fn){var args=Polymer.Bind._marshalArgs(this.__data__,effect,source,value);if(args){var computedvalue=fn.apply(computedHost,args);this._applyEffectValue(effect,computedvalue);}}else if(effect.dynamicFn){}else{computedHost._warn(computedHost._logf('_annotatedComputationEffect','compute method `'+effect.method+'` not defined'));}},_marshalArgs:function(model,effect,path,value){var values=[];var args=effect.args;var bailoutEarly=args.length>1||effect.dynamicFn;for(var i=0,l=args.length;i<l;i++){var arg=args[i];var name=arg.name;var v;if(arg.literal){v=arg.value;}else if(path===name){v=value;}else{v=model[name];if(v===undefined&&arg.structured){v=Polymer.Base._get(name,model);}}
3956if(bailoutEarly&&v===undefined){return;}
3957if(arg.wildcard){var matches=Polymer.Path.isAncestor(path,name);values[i]={path:matches?path:name,value:matches?value:v,base:v};}else{values[i]=v;}}
3958return values;}});Polymer.Base._addFeature({_addPropertyEffect:function(property,kind,effect){var prop=Polymer.Bind.addPropertyEffect(this,property,kind,effect);prop.pathFn=this['_'+prop.kind+'PathEffect'];},_prepEffects:function(){Polymer.Bind.prepareModel(this);this._addAnnotationEffects(this._notes);},_prepBindings:function(){Polymer.Bind.createBindings(this);},_addPropertyEffects:function(properties){if(properties){for(var p in properties){var prop=properties[p];if(prop.observer){this._addObserverEffect(p,prop.observer);}
3959if(prop.computed){prop.readOnly=true;this._addComputedEffect(p,prop.computed);}
3960if(prop.notify){this._addPropertyEffect(p,'notify',{event:Polymer.CaseMap.camelToDashCase(p)+'-changed'});}
3961if(prop.reflectToAttribute){var attr=Polymer.CaseMap.camelToDashCase(p);if(attr[0]==='-'){this._warn(this._logf('_addPropertyEffects','Property '+p+' cannot be reflected to attribute '+attr+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.'));}else{this._addPropertyEffect(p,'reflect',{attribute:attr});}}
3962if(prop.readOnly){Polymer.Bind.ensurePropertyEffects(this,p);}}}},_addComputedEffect:function(name,expression){var sig=this._parseMethod(expression);var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'compute',{method:sig.method,args:sig.args,trigger:arg,name:name,dynamicFn:dynamicFn});}
3963if(dynamicFn){this._addPropertyEffect(sig.method,'compute',{method:sig.method,args:sig.args,trigger:null,name:name,dynamicFn:dynamicFn});}},_addObserverEffect:function(property,observer){this._addPropertyEffect(property,'observer',{method:observer,property:property});},_addComplexObserverEffects:function(observers){if(observers){for(var i=0,o;i<observers.length&&(o=observers[i]);i++){this._addComplexObserverEffect(o);}}},_addComplexObserverEffect:function(observer){var sig=this._parseMethod(observer);if(!sig){throw new Error('Malformed observer expression \''+observer+'\'');}
3964var dynamicFn=sig.dynamicFn;for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){this._addPropertyEffect(arg.model,'complexObserver',{method:sig.method,args:sig.args,trigger:arg,dynamicFn:dynamicFn});}
3965if(dynamicFn){this._addPropertyEffect(sig.method,'complexObserver',{method:sig.method,args:sig.args,trigger:null,dynamicFn:dynamicFn});}},_addAnnotationEffects:function(notes){for(var i=0,note;i<notes.length&&(note=notes[i]);i++){var b$=note.bindings;for(var j=0,binding;j<b$.length&&(binding=b$[j]);j++){this._addAnnotationEffect(binding,i);}}},_addAnnotationEffect:function(note,index){if(Polymer.Bind._shouldAddListener(note)){Polymer.Bind._addAnnotatedListener(this,index,note.name,note.parts[0].value,note.parts[0].event,note.parts[0].negate);}
3966for(var i=0;i<note.parts.length;i++){var part=note.parts[i];if(part.signature){this._addAnnotatedComputationEffect(note,part,index);}else if(!part.literal){if(note.kind==='attribute'&&note.name[0]==='-'){this._warn(this._logf('_addAnnotationEffect','Cannot set attribute '+note.name+' because "-" is not a valid attribute starting character'));}else{this._addPropertyEffect(part.model,'annotation',{kind:note.kind,index:index,name:note.name,propertyName:note.propertyName,value:part.value,isCompound:note.isCompound,compoundIndex:part.compoundIndex,event:part.event,customEvent:part.customEvent,negate:part.negate});}}}},_addAnnotatedComputationEffect:function(note,part,index){var sig=part.signature;if(sig.static){this.__addAnnotatedComputationEffect('__static__',index,note,part,null);}else{for(var i=0,arg;i<sig.args.length&&(arg=sig.args[i]);i++){if(!arg.literal){this.__addAnnotatedComputationEffect(arg.model,index,note,part,arg);}}
3967if(sig.dynamicFn){this.__addAnnotatedComputationEffect(sig.method,index,note,part,null);}}},__addAnnotatedComputationEffect:function(property,index,note,part,trigger){this._addPropertyEffect(property,'annotatedComputation',{index:index,isCompound:note.isCompound,compoundIndex:part.compoundIndex,kind:note.kind,name:note.name,negate:part.negate,method:part.signature.method,args:part.signature.args,trigger:trigger,dynamicFn:part.signature.dynamicFn});},_parseMethod:function(expression){var m=expression.match(/([^\s]+?)\(([\s\S]*)\)/);if(m){var sig={method:m[1],static:true};if(this.getPropertyInfo(sig.method)!==Polymer.nob){sig.static=false;sig.dynamicFn=true;}
3968if(m[2].trim()){var args=m[2].replace(/\\,/g,'&comma;').split(',');return this._parseArgs(args,sig);}else{sig.args=Polymer.nar;return sig;}}},_parseArgs:function(argList,sig){sig.args=argList.map(function(rawArg){var arg=this._parseArg(rawArg);if(!arg.literal){sig.static=false;}
3969return arg;},this);return sig;},_parseArg:function(rawArg){var arg=rawArg.trim().replace(/&comma;/g,',').replace(/\\(.)/g,'$1');var a={name:arg};var fc=arg[0];if(fc==='-'){fc=arg[1];}
3970if(fc>='0'&&fc<='9'){fc='#';}
3971switch(fc){case'\'':case'"':a.value=arg.slice(1,-1);a.literal=true;break;case'#':a.value=Number(arg);a.literal=true;break;}
3972if(!a.literal){a.model=Polymer.Path.root(arg);a.structured=Polymer.Path.isDeep(arg);if(a.structured){a.wildcard=arg.slice(-2)=='.*';if(a.wildcard){a.name=arg.slice(0,-2);}}}
3973return a;},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this);if(this._bindListeners){Polymer.Bind.setupBindListeners(this);}},_applyEffectValue:function(info,value){var node=this._nodes[info.index];var property=info.name;value=this._computeFinalAnnotationValue(node,property,value,info);if(info.kind=='attribute'){this.serializeValueToAttribute(value,property,node);}else{var pinfo=node._propertyInfo&&node._propertyInfo[property];if(pinfo&&pinfo.readOnly){return;}
3974this.__setProperty(property,value,Polymer.Settings.suppressBindingNotifications,node);}},_computeFinalAnnotationValue:function(node,property,value,info){if(info.negate){value=!value;}
3975if(info.isCompound){var storage=node.__compoundStorage__[property];storage[info.compoundIndex]=value;value=storage.join('');}
3976if(info.kind!=='attribute'){if(property==='className'){value=this._scopeElementClass(node,value);}
3977if(property==='textContent'||node.localName=='input'&&property=='value'){value=value==undefined?'':value;}}
3978return value;},_executeStaticEffects:function(){if(this._propertyEffects&&this._propertyEffects.__static__){this._effectEffects('__static__',null,this._propertyEffects.__static__);}}});(function(){var usePolyfillProto=Polymer.Settings.usePolyfillProto;var avoidInstanceProperties=Boolean(Object.getOwnPropertyDescriptor(document.documentElement,'properties'));Polymer.Base._addFeature({_setupConfigure:function(initialConfig){this._config={};this._handlers=[];this._aboveConfig=null;if(initialConfig){for(var i in initialConfig){if(initialConfig[i]!==undefined){this._config[i]=initialConfig[i];}}}},_marshalAttributes:function(){this._takeAttributesToModel(this._config);},_attributeChangedImpl:function(name){var model=this._clientsReadied?this:this._config;this._setAttributeToProperty(model,name);},_configValue:function(name,value){var info=this._propertyInfo[name];if(!info||!info.readOnly){this._config[name]=value;}},_beforeClientsReady:function(){this._configure();},_configure:function(){this._configureAnnotationReferences();this._configureInstanceProperties();this._aboveConfig=this.mixin({},this._config);var config={};for(var i=0;i<this.behaviors.length;i++){this._configureProperties(this.behaviors[i].properties,config);}
3979this._configureProperties(avoidInstanceProperties?this.__proto__.properties:this.properties,config);this.mixin(config,this._aboveConfig);this._config=config;if(this._clients&&this._clients.length){this._distributeConfig(this._config);}},_configureInstanceProperties:function(){for(var i in this._propertyEffects){if(!usePolyfillProto&&this.hasOwnProperty(i)){this._configValue(i,this[i]);delete this[i];}}},_configureProperties:function(properties,config){for(var i in properties){var c=properties[i];if(c.value!==undefined){var value=c.value;if(typeof value=='function'){value=value.call(this,this._config);}
3980config[i]=value;}}},_distributeConfig:function(config){var fx$=this._propertyEffects;if(fx$){for(var p in config){var fx=fx$[p];if(fx){for(var i=0,l=fx.length,x;i<l&&(x=fx[i]);i++){if(x.kind==='annotation'){var node=this._nodes[x.effect.index];var name=x.effect.propertyName;var isAttr=x.effect.kind=='attribute';var hasEffect=node._propertyEffects&&node._propertyEffects[name];if(node._configValue&&(hasEffect||!isAttr)){var value=p===x.effect.value?config[p]:this._get(x.effect.value,config);value=this._computeFinalAnnotationValue(node,name,value,x.effect);if(isAttr){value=node.deserialize(this.serialize(value),node._propertyInfo[name].type);}
3981node._configValue(name,value);}}}}}}},_afterClientsReady:function(){this._executeStaticEffects();this._applyConfig(this._config,this._aboveConfig);this._flushHandlers();},_applyConfig:function(config,aboveConfig){for(var n in config){if(this[n]===undefined){this.__setProperty(n,config[n],n in aboveConfig);}}},_notifyListener:function(fn,e){if(!Polymer.Bind._isEventBogus(e,e.target)){var value,path;if(e.detail){value=e.detail.value;path=e.detail.path;}
3982if(!this._clientsReadied){this._queueHandler([fn,e.target,value,path]);}else{return fn.call(this,e.target,value,path);}}},_queueHandler:function(args){this._handlers.push(args);},_flushHandlers:function(){var h$=this._handlers;for(var i=0,l=h$.length,h;i<l&&(h=h$[i]);i++){h[0].call(this,h[1],h[2],h[3]);}
3983this._handlers=[];}});}());(function(){'use strict';var Path=Polymer.Path;Polymer.Base._addFeature({notifyPath:function(path,value,fromAbove){var info={};var v=this._get(path,this,info);if(arguments.length===1){value=v;}
3984if(info.path){this._notifyPath(info.path,value,fromAbove);}},_notifyPath:function(path,value,fromAbove){var old=this._propertySetter(path,value);if(old!==value&&(old===old||value===value)){this._pathEffector(path,value);if(!fromAbove){this._notifyPathUp(path,value);}
3985return true;}},_getPathParts:function(path){if(Array.isArray(path)){var parts=[];for(var i=0;i<path.length;i++){var args=path[i].toString().split('.');for(var j=0;j<args.length;j++){parts.push(args[j]);}}
3986return parts;}else{return path.toString().split('.');}},set:function(path,value,root){var prop=root||this;var parts=this._getPathParts(path);var array;var last=parts[parts.length-1];if(parts.length>1){for(var i=0;i<parts.length-1;i++){var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
3987if(!prop){return;}
3988array=Array.isArray(prop)?prop:null;}
3989if(array){var coll=Polymer.Collection.get(array);var old,key;if(last[0]=='#'){key=last;old=coll.getItem(key);last=array.indexOf(old);coll.setItem(key,value);}else if(parseInt(last,10)==last){old=prop[last];key=coll.getKey(old);parts[i]=key;coll.setItem(key,value);}}
3990prop[last]=value;if(!root){this._notifyPath(parts.join('.'),value);}}else{prop[path]=value;}},get:function(path,root){return this._get(path,root);},_get:function(path,root,info){var prop=root||this;var parts=this._getPathParts(path);var array;for(var i=0;i<parts.length;i++){if(!prop){return;}
3991var part=parts[i];if(array&&part[0]=='#'){prop=Polymer.Collection.get(array).getItem(part);}else{prop=prop[part];if(info&&array&&parseInt(part,10)==part){parts[i]=Polymer.Collection.get(array).getKey(prop);}}
3992array=Array.isArray(prop)?prop:null;}
3993if(info){info.path=parts.join('.');}
3994return prop;},_pathEffector:function(path,value){var model=Path.root(path);var fx$=this._propertyEffects&&this._propertyEffects[model];if(fx$){for(var i=0,fx;i<fx$.length&&(fx=fx$[i]);i++){var fxFn=fx.pathFn;if(fxFn){fxFn.call(this,path,value,fx.effect);}}}
3995if(this._boundPaths){this._notifyBoundPaths(path,value);}},_annotationPathEffect:function(path,value,effect){if(Path.matches(effect.value,false,path)){Polymer.Bind._annotationEffect.call(this,path,value,effect);}else if(!effect.negate&&Path.isDescendant(effect.value,path)){var node=this._nodes[effect.index];if(node&&node._notifyPath){var newPath=Path.translate(effect.value,effect.name,path);node._notifyPath(newPath,value,true);}}},_complexObserverPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._complexObserverEffect.call(this,path,value,effect);}},_computePathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._computeEffect.call(this,path,value,effect);}},_annotatedComputationPathEffect:function(path,value,effect){if(Path.matches(effect.trigger.name,effect.trigger.wildcard,path)){Polymer.Bind._annotatedComputationEffect.call(this,path,value,effect);}},linkPaths:function(to,from){this._boundPaths=this._boundPaths||{};if(from){this._boundPaths[to]=from;}else{this.unlinkPaths(to);}},unlinkPaths:function(path){if(this._boundPaths){delete this._boundPaths[path];}},_notifyBoundPaths:function(path,value){for(var a in this._boundPaths){var b=this._boundPaths[a];if(Path.isDescendant(a,path)){this._notifyPath(Path.translate(a,b,path),value);}else if(Path.isDescendant(b,path)){this._notifyPath(Path.translate(b,a,path),value);}}},_notifyPathUp:function(path,value){var rootName=Path.root(path);var dashCaseName=Polymer.CaseMap.camelToDashCase(rootName);var eventName=dashCaseName+this._EVENT_CHANGED;this.fire(eventName,{path:path,value:value},{bubbles:false,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE});},_EVENT_CHANGED:'-changed',notifySplices:function(path,splices){var info={};var array=this._get(path,this,info);this._notifySplices(array,info.path,splices);},_notifySplices:function(array,path,splices){var change={keySplices:Polymer.Collection.applySplices(array,splices),indexSplices:splices};var splicesPath=path+'.splices';this._notifyPath(splicesPath,change);this._notifyPath(path+'.length',array.length);this.__data__[splicesPath]={keySplices:null,indexSplices:null};},_notifySplice:function(array,path,index,added,removed){this._notifySplices(array,path,[{index:index,addedCount:added,removed:removed,object:array,type:'splice'}]);},push:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var len=array.length;var ret=array.push.apply(array,args);if(args.length){this._notifySplice(array,info.path,len,args.length,[]);}
3996return ret;},pop:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.pop.apply(array,args);if(hadLength){this._notifySplice(array,info.path,array.length,0,[ret]);}
3997return ret;},splice:function(path,start){var info={};var array=this._get(path,this,info);if(start<0){start=array.length-Math.floor(-start);}else{start=Math.floor(start);}
3998if(!start){start=0;}
3999var args=Array.prototype.slice.call(arguments,1);var ret=array.splice.apply(array,args);var addedCount=Math.max(args.length-2,0);if(addedCount||ret.length){this._notifySplice(array,info.path,start,addedCount,ret);}
4000return ret;},shift:function(path){var info={};var array=this._get(path,this,info);var hadLength=Boolean(array.length);var args=Array.prototype.slice.call(arguments,1);var ret=array.shift.apply(array,args);if(hadLength){this._notifySplice(array,info.path,0,0,[ret]);}
4001return ret;},unshift:function(path){var info={};var array=this._get(path,this,info);var args=Array.prototype.slice.call(arguments,1);var ret=array.unshift.apply(array,args);if(args.length){this._notifySplice(array,info.path,0,args.length,[]);}
4002return ret;},prepareModelNotifyPath:function(model){this.mixin(model,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts});}});}());Polymer.Base._addFeature({resolveUrl:function(url){var module=Polymer.DomModule.import(this.is);var root='';if(module){var assetPath=module.getAttribute('assetpath')||'';root=Polymer.ResolveUrl.resolveUrl(assetPath,module.ownerDocument.baseURI);}
4003return Polymer.ResolveUrl.resolveUrl(url,root);}});Polymer.CssParse=function(){return{parse:function(text){text=this._clean(text);return this._parseCss(this._lex(text),text);},_clean:function(cssText){return cssText.replace(this._rx.comments,'').replace(this._rx.port,'');},_lex:function(text){var root={start:0,end:text.length};var n=root;for(var i=0,l=text.length;i<l;i++){switch(text[i]){case this.OPEN_BRACE:if(!n.rules){n.rules=[];}
4004var p=n;var previous=p.rules[p.rules.length-1];n={start:i+1,parent:p,previous:previous};p.rules.push(n);break;case this.CLOSE_BRACE:n.end=i+1;n=n.parent||root;break;}}
4005return root;},_parseCss:function(node,text){var t=text.substring(node.start,node.end-1);node.parsedCssText=node.cssText=t.trim();if(node.parent){var ss=node.previous?node.previous.end:node.parent.start;t=text.substring(ss,node.start-1);t=this._expandUnicodeEscapes(t);t=t.replace(this._rx.multipleSpaces,' ');t=t.substring(t.lastIndexOf(';')+1);var s=node.parsedSelector=node.selector=t.trim();node.atRule=s.indexOf(this.AT_START)===0;if(node.atRule){if(s.indexOf(this.MEDIA_START)===0){node.type=this.types.MEDIA_RULE;}else if(s.match(this._rx.keyframesRule)){node.type=this.types.KEYFRAMES_RULE;node.keyframesName=node.selector.split(this._rx.multipleSpaces).pop();}}else{if(s.indexOf(this.VAR_START)===0){node.type=this.types.MIXIN_RULE;}else{node.type=this.types.STYLE_RULE;}}}
4006var r$=node.rules;if(r$){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this._parseCss(r,text);}}
4007return node;},_expandUnicodeEscapes:function(s){return s.replace(/\\([0-9a-f]{1,6})\s/gi,function(){var code=arguments[1],repeat=6-code.length;while(repeat--){code='0'+code;}
4008return'\\'+code;});},stringify:function(node,preserveProperties,text){text=text||'';var cssText='';if(node.cssText||node.rules){var r$=node.rules;if(r$&&!this._hasMixinRules(r$)){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){cssText=this.stringify(r,preserveProperties,cssText);}}else{cssText=preserveProperties?node.cssText:this.removeCustomProps(node.cssText);cssText=cssText.trim();if(cssText){cssText='  '+cssText+'\n';}}}
4009if(cssText){if(node.selector){text+=node.selector+' '+this.OPEN_BRACE+'\n';}
4010text+=cssText;if(node.selector){text+=this.CLOSE_BRACE+'\n\n';}}
4011return text;},_hasMixinRules:function(rules){return rules[0].selector.indexOf(this.VAR_START)===0;},removeCustomProps:function(cssText){cssText=this.removeCustomPropAssignment(cssText);return this.removeCustomPropApply(cssText);},removeCustomPropAssignment:function(cssText){return cssText.replace(this._rx.customProp,'').replace(this._rx.mixinProp,'');},removeCustomPropApply:function(cssText){return cssText.replace(this._rx.mixinApply,'').replace(this._rx.varApply,'');},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1000},OPEN_BRACE:'{',CLOSE_BRACE:'}',_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START:'--',MEDIA_START:'@media',AT_START:'@'};}();Polymer.StyleUtil=function(){var settings=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.useNativeCSSProperties,MODULE_STYLES_SELECTOR:'style, link[rel=import][type~=css], template',INCLUDE_ATTR:'include',toCssText:function(rules,callback){if(typeof rules==='string'){rules=this.parser.parse(rules);}
4012if(callback){this.forEachRule(rules,callback);}
4013return this.parser.stringify(rules,this.NATIVE_VARIABLES);},forRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback);}}},forActiveRulesInStyles:function(styles,styleRuleCallback,keyframesRuleCallback){if(styles){for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){this.forEachRuleInStyle(s,styleRuleCallback,keyframesRuleCallback,true);}}},rulesForStyle:function(style){if(!style.__cssRules&&style.textContent){style.__cssRules=this.parser.parse(style.textContent);}
4014return style.__cssRules;},isKeyframesSelector:function(rule){return rule.parent&&rule.parent.type===this.ruleTypes.KEYFRAMES_RULE;},forEachRuleInStyle:function(style,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){var rules=this.rulesForStyle(style);var styleCallback,keyframeCallback;if(styleRuleCallback){styleCallback=function(rule){styleRuleCallback(rule,style);};}
4015if(keyframesRuleCallback){keyframeCallback=function(rule){keyframesRuleCallback(rule,style);};}
4016this.forEachRule(rules,styleCallback,keyframeCallback,onlyActiveRules);},forEachRule:function(node,styleRuleCallback,keyframesRuleCallback,onlyActiveRules){if(!node){return;}
4017var skipRules=false;if(onlyActiveRules){if(node.type===this.ruleTypes.MEDIA_RULE){var matchMedia=node.selector.match(this.rx.MEDIA_MATCH);if(matchMedia){if(!window.matchMedia(matchMedia[1]).matches){skipRules=true;}}}}
4018if(node.type===this.ruleTypes.STYLE_RULE){styleRuleCallback(node);}else if(keyframesRuleCallback&&node.type===this.ruleTypes.KEYFRAMES_RULE){keyframesRuleCallback(node);}else if(node.type===this.ruleTypes.MIXIN_RULE){skipRules=true;}
4019var r$=node.rules;if(r$&&!skipRules){for(var i=0,l=r$.length,r;i<l&&(r=r$[i]);i++){this.forEachRule(r,styleRuleCallback,keyframesRuleCallback,onlyActiveRules);}}},applyCss:function(cssText,moniker,target,contextNode){var style=this.createScopeStyle(cssText,moniker);return this.applyStyle(style,target,contextNode);},applyStyle:function(style,target,contextNode){target=target||document.head;var after=contextNode&&contextNode.nextSibling||target.firstChild;this.__lastHeadApplyNode=style;return target.insertBefore(style,after);},createScopeStyle:function(cssText,moniker){var style=document.createElement('style');if(moniker){style.setAttribute('scope',moniker);}
4020style.textContent=cssText;return style;},__lastHeadApplyNode:null,applyStylePlaceHolder:function(moniker){var placeHolder=document.createComment(' Shady DOM styles for '+moniker+' ');var after=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null;var scope=document.head;scope.insertBefore(placeHolder,after||scope.firstChild);this.__lastHeadApplyNode=placeHolder;return placeHolder;},cssFromModules:function(moduleIds,warnIfNotFound){var modules=moduleIds.trim().split(' ');var cssText='';for(var i=0;i<modules.length;i++){cssText+=this.cssFromModule(modules[i],warnIfNotFound);}
4021return cssText;},cssFromModule:function(moduleId,warnIfNotFound){var m=Polymer.DomModule.import(moduleId);if(m&&!m._cssText){m._cssText=this.cssFromElement(m);}
4022if(!m&&warnIfNotFound){console.warn('Could not find style data in module named',moduleId);}
4023return m&&m._cssText||'';},cssFromElement:function(element){var cssText='';var content=element.content||element;var e$=Polymer.TreeApi.arrayCopy(content.querySelectorAll(this.MODULE_STYLES_SELECTOR));for(var i=0,e;i<e$.length;i++){e=e$[i];if(e.localName==='template'){if(!e.hasAttribute('preserve-content')){cssText+=this.cssFromElement(e);}}else{if(e.localName==='style'){var include=e.getAttribute(this.INCLUDE_ATTR);if(include){cssText+=this.cssFromModules(include,true);}
4024e=e.__appliedElement||e;e.parentNode.removeChild(e);cssText+=this.resolveCss(e.textContent,element.ownerDocument);}else if(e.import&&e.import.body){cssText+=this.resolveCss(e.import.body.textContent,e.import);}}}
4025return cssText;},styleIncludesToTemplate:function(targetTemplate){var styles=targetTemplate.content.querySelectorAll('style[include]');for(var i=0,s;i<styles.length;i++){s=styles[i];s.parentNode.insertBefore(this._includesToFragment(s.getAttribute('include')),s);}},_includesToFragment:function(styleIncludes){var includeArray=styleIncludes.trim().split(' ');var frag=document.createDocumentFragment();for(var i=0;i<includeArray.length;i++){var t=Polymer.DomModule.import(includeArray[i],'template');if(t){this._addStylesToFragment(frag,t.content);}}
4026return frag;},_addStylesToFragment:function(frag,source){var s$=source.querySelectorAll('style');for(var i=0,s;i<s$.length;i++){s=s$[i];var include=s.getAttribute('include');if(include){frag.appendChild(this._includesToFragment(include));}
4027if(s.textContent){frag.appendChild(s.cloneNode(true));}}},isTargetedBuild:function(buildType){return settings.useNativeShadow?buildType==='shadow':buildType==='shady';},cssBuildTypeForModule:function(module){var dm=Polymer.DomModule.import(module);if(dm){return this.getCssBuildType(dm);}},getCssBuildType:function(element){return element.getAttribute('css-build');},_findMatchingParen:function(text,start){var level=0;for(var i=start,l=text.length;i<l;i++){switch(text[i]){case'(':level++;break;case')':if(--level===0){return i;}
4028break;}}
4029return-1;},processVariableAndFallback:function(str,callback){var start=str.indexOf('var(');if(start===-1){return callback(str,'','','');}
4030var end=this._findMatchingParen(str,start+3);var inner=str.substring(start+4,end);var prefix=str.substring(0,start);var suffix=this.processVariableAndFallback(str.substring(end+1),callback);var comma=inner.indexOf(',');if(comma===-1){return callback(prefix,inner.trim(),'',suffix);}
4031var value=inner.substring(0,comma).trim();var fallback=inner.substring(comma+1).trim();return callback(prefix,value,fallback,suffix);},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSUMED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:'(?:^|[^.#[:])',HOST_SUFFIX:'($|[.:[\\s>+~])'},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types};}();Polymer.StyleTransformer=function(){var styleUtil=Polymer.StyleUtil;var settings=Polymer.Settings;var api={dom:function(node,scope,useAttr,shouldRemoveScope){this._transformDom(node,scope||'',useAttr,shouldRemoveScope);},_transformDom:function(node,selector,useAttr,shouldRemoveScope){if(node.setAttribute){this.element(node,selector,useAttr,shouldRemoveScope);}
4032var c$=Polymer.dom(node).childNodes;for(var i=0;i<c$.length;i++){this._transformDom(c$[i],selector,useAttr,shouldRemoveScope);}},element:function(element,scope,useAttr,shouldRemoveScope){if(useAttr){if(shouldRemoveScope){element.removeAttribute(SCOPE_NAME);}else{element.setAttribute(SCOPE_NAME,scope);}}else{if(scope){if(element.classList){if(shouldRemoveScope){element.classList.remove(SCOPE_NAME);element.classList.remove(scope);}else{element.classList.add(SCOPE_NAME);element.classList.add(scope);}}else if(element.getAttribute){var c=element.getAttribute(CLASS);if(shouldRemoveScope){if(c){element.setAttribute(CLASS,c.replace(SCOPE_NAME,'').replace(scope,''));}}else{element.setAttribute(CLASS,(c?c+' ':'')+SCOPE_NAME+' '+scope);}}}}},elementStyles:function(element,callback){var styles=element._styles;var cssText='';var cssBuildType=element.__cssBuild;var passthrough=settings.useNativeShadow||cssBuildType==='shady';var cb;if(passthrough){var self=this;cb=function(rule){rule.selector=self._slottedToContent(rule.selector);rule.selector=rule.selector.replace(ROOT,':host > *');if(callback){callback(rule);}};}
4033for(var i=0,l=styles.length,s;i<l&&(s=styles[i]);i++){var rules=styleUtil.rulesForStyle(s);cssText+=passthrough?styleUtil.toCssText(rules,cb):this.css(rules,element.is,element.extends,callback,element._scopeCssViaAttr)+'\n\n';}
4034return cssText.trim();},css:function(rules,scope,ext,callback,useAttr){var hostScope=this._calcHostScope(scope,ext);scope=this._calcElementScope(scope,useAttr);var self=this;return styleUtil.toCssText(rules,function(rule){if(!rule.isScoped){self.rule(rule,scope,hostScope);rule.isScoped=true;}
4035if(callback){callback(rule,scope,hostScope);}});},_calcElementScope:function(scope,useAttr){if(scope){return useAttr?CSS_ATTR_PREFIX+scope+CSS_ATTR_SUFFIX:CSS_CLASS_PREFIX+scope;}else{return'';}},_calcHostScope:function(scope,ext){return ext?'[is='+scope+']':scope;},rule:function(rule,scope,hostScope){this._transformRule(rule,this._transformComplexSelector,scope,hostScope);},_transformRule:function(rule,transformer,scope,hostScope){rule.selector=rule.transformedSelector=this._transformRuleCss(rule,transformer,scope,hostScope);},_transformRuleCss:function(rule,transformer,scope,hostScope){var p$=rule.selector.split(COMPLEX_SELECTOR_SEP);if(!styleUtil.isKeyframesSelector(rule)){for(var i=0,l=p$.length,p;i<l&&(p=p$[i]);i++){p$[i]=transformer.call(this,p,scope,hostScope);}}
4036return p$.join(COMPLEX_SELECTOR_SEP);},_transformComplexSelector:function(selector,scope,hostScope){var stop=false;var hostContext=false;var self=this;selector=selector.trim();selector=this._slottedToContent(selector);selector=selector.replace(ROOT,':host > *');selector=selector.replace(CONTENT_START,HOST+' $1');selector=selector.replace(SIMPLE_SELECTOR_SEP,function(m,c,s){if(!stop){var info=self._transformCompoundSelector(s,c,scope,hostScope);stop=stop||info.stop;hostContext=hostContext||info.hostContext;c=info.combinator;s=info.value;}else{s=s.replace(SCOPE_JUMP,' ');}
4037return c+s;});if(hostContext){selector=selector.replace(HOST_CONTEXT_PAREN,function(m,pre,paren,post){return pre+paren+' '+hostScope+post+COMPLEX_SELECTOR_SEP+' '+pre+hostScope+paren+post;});}
4038return selector;},_transformCompoundSelector:function(selector,combinator,scope,hostScope){var jumpIndex=selector.search(SCOPE_JUMP);var hostContext=false;if(selector.indexOf(HOST_CONTEXT)>=0){hostContext=true;}else if(selector.indexOf(HOST)>=0){selector=this._transformHostSelector(selector,hostScope);}else if(jumpIndex!==0){selector=scope?this._transformSimpleSelector(selector,scope):selector;}
4039if(selector.indexOf(CONTENT)>=0){combinator='';}
4040var stop;if(jumpIndex>=0){selector=selector.replace(SCOPE_JUMP,' ');stop=true;}
4041return{value:selector,combinator:combinator,stop:stop,hostContext:hostContext};},_transformSimpleSelector:function(selector,scope){var p$=selector.split(PSEUDO_PREFIX);p$[0]+=scope;return p$.join(PSEUDO_PREFIX);},_transformHostSelector:function(selector,hostScope){var m=selector.match(HOST_PAREN);var paren=m&&m[2].trim()||'';if(paren){if(!paren[0].match(SIMPLE_SELECTOR_PREFIX)){var typeSelector=paren.split(SIMPLE_SELECTOR_PREFIX)[0];if(typeSelector===hostScope){return paren;}else{return SELECTOR_NO_MATCH;}}else{return selector.replace(HOST_PAREN,function(m,host,paren){return hostScope+paren;});}}else{return selector.replace(HOST,hostScope);}},documentRule:function(rule){rule.selector=rule.parsedSelector;this.normalizeRootSelector(rule);if(!settings.useNativeShadow){this._transformRule(rule,this._transformDocumentSelector);}},normalizeRootSelector:function(rule){rule.selector=rule.selector.replace(ROOT,'html');},_transformDocumentSelector:function(selector){return selector.match(SCOPE_JUMP)?this._transformComplexSelector(selector,SCOPE_DOC_SELECTOR):this._transformSimpleSelector(selector.trim(),SCOPE_DOC_SELECTOR);},_slottedToContent:function(cssText){return cssText.replace(SLOTTED_PAREN,CONTENT+'> $1');},SCOPE_NAME:'style-scope'};var SCOPE_NAME=api.SCOPE_NAME;var SCOPE_DOC_SELECTOR=':not(['+SCOPE_NAME+'])'+':not(.'+SCOPE_NAME+')';var COMPLEX_SELECTOR_SEP=',';var SIMPLE_SELECTOR_SEP=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g;var SIMPLE_SELECTOR_PREFIX=/[[.:#*]/;var HOST=':host';var ROOT=':root';var HOST_PAREN=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/;var HOST_CONTEXT=':host-context';var HOST_CONTEXT_PAREN=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/;var CONTENT='::content';var SCOPE_JUMP=/::content|::shadow|\/deep\//;var CSS_CLASS_PREFIX='.';var CSS_ATTR_PREFIX='['+SCOPE_NAME+'~=';var CSS_ATTR_SUFFIX=']';var PSEUDO_PREFIX=':';var CLASS='class';var CONTENT_START=new RegExp('^('+CONTENT+')');var SELECTOR_NO_MATCH='should_not_match';var SLOTTED_PAREN=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;return api;}();Polymer.StyleExtends=function(){var styleUtil=Polymer.StyleUtil;return{hasExtends:function(cssText){return Boolean(cssText.match(this.rx.EXTEND));},transform:function(style){var rules=styleUtil.rulesForStyle(style);var self=this;styleUtil.forEachRule(rules,function(rule){self._mapRuleOntoParent(rule);if(rule.parent){var m;while(m=self.rx.EXTEND.exec(rule.cssText)){var extend=m[1];var extendor=self._findExtendor(extend,rule);if(extendor){self._extendRule(rule,extendor);}}}
4042rule.cssText=rule.cssText.replace(self.rx.EXTEND,'');});return styleUtil.toCssText(rules,function(rule){if(rule.selector.match(self.rx.STRIP)){rule.cssText='';}},true);},_mapRuleOntoParent:function(rule){if(rule.parent){var map=rule.parent.map||(rule.parent.map={});var parts=rule.selector.split(',');for(var i=0,p;i<parts.length;i++){p=parts[i];map[p.trim()]=rule;}
4043return map;}},_findExtendor:function(extend,rule){return rule.parent&&rule.parent.map&&rule.parent.map[extend]||this._findExtendor(extend,rule.parent);},_extendRule:function(target,source){if(target.parent!==source.parent){this._cloneAndAddRuleToParent(source,target.parent);}
4044target.extends=target.extends||[];target.extends.push(source);source.selector=source.selector.replace(this.rx.STRIP,'');source.selector=(source.selector&&source.selector+',\n')+target.selector;if(source.extends){source.extends.forEach(function(e){this._extendRule(target,e);},this);}},_cloneAndAddRuleToParent:function(rule,parent){rule=Object.create(rule);rule.parent=parent;if(rule.extends){rule.extends=rule.extends.slice();}
4045parent.rules.push(rule);},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}};}();Polymer.ApplyShim=function(){'use strict';var styleUtil=Polymer.StyleUtil;var MIXIN_MATCH=styleUtil.rx.MIXIN_MATCH;var VAR_ASSIGN=styleUtil.rx.VAR_ASSIGN;var BAD_VAR=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g;var APPLY_NAME_CLEAN=/;\s*/m;var INITIAL_INHERIT=/^\s*(initial)|(inherit)\s*$/;var MIXIN_VAR_SEP='_-_';var mixinMap={};function mapSet(name,props){name=name.trim();mixinMap[name]={properties:props,dependants:{}};}
4046function mapGet(name){name=name.trim();return mixinMap[name];}
4047function replaceInitialOrInherit(property,value){var match=INITIAL_INHERIT.exec(value);if(match){if(match[1]){value=ApplyShim._getInitialValueForProperty(property);}else{value='apply-shim-inherit';}}
4048return value;}
4049function cssTextToMap(text){var props=text.split(';');var property,value;var out={};for(var i=0,p,sp;i<props.length;i++){p=props[i];if(p){sp=p.split(':');if(sp.length>1){property=sp[0].trim();value=replaceInitialOrInherit(property,sp.slice(1).join(':'));out[property]=value;}}}
4050return out;}
4051function invalidateMixinEntry(mixinEntry){var currentProto=ApplyShim.__currentElementProto;var currentElementName=currentProto&&currentProto.is;for(var elementName in mixinEntry.dependants){if(elementName!==currentElementName){mixinEntry.dependants[elementName].__applyShimInvalid=true;}}}
4052function produceCssProperties(matchText,propertyName,valueProperty,valueMixin){if(valueProperty){styleUtil.processVariableAndFallback(valueProperty,function(prefix,value){if(value&&mapGet(value)){valueMixin='@apply '+value+';';}});}
4053if(!valueMixin){return matchText;}
4054var mixinAsProperties=consumeCssProperties(valueMixin);var prefix=matchText.slice(0,matchText.indexOf('--'));var mixinValues=cssTextToMap(mixinAsProperties);var combinedProps=mixinValues;var mixinEntry=mapGet(propertyName);var oldProps=mixinEntry&&mixinEntry.properties;if(oldProps){combinedProps=Object.create(oldProps);combinedProps=Polymer.Base.mixin(combinedProps,mixinValues);}else{mapSet(propertyName,combinedProps);}
4055var out=[];var p,v;var needToInvalidate=false;for(p in combinedProps){v=mixinValues[p];if(v===undefined){v='initial';}
4056if(oldProps&&!(p in oldProps)){needToInvalidate=true;}
4057out.push(propertyName+MIXIN_VAR_SEP+p+': '+v);}
4058if(needToInvalidate){invalidateMixinEntry(mixinEntry);}
4059if(mixinEntry){mixinEntry.properties=combinedProps;}
4060if(valueProperty){prefix=matchText+';'+prefix;}
4061return prefix+out.join('; ')+';';}
4062function fixVars(matchText,varA,varB){return'var('+varA+','+'var('+varB+'))';}
4063function atApplyToCssProperties(mixinName,fallbacks){mixinName=mixinName.replace(APPLY_NAME_CLEAN,'');var vars=[];var mixinEntry=mapGet(mixinName);if(!mixinEntry){mapSet(mixinName,{});mixinEntry=mapGet(mixinName);}
4064if(mixinEntry){var currentProto=ApplyShim.__currentElementProto;if(currentProto){mixinEntry.dependants[currentProto.is]=currentProto;}
4065var p,parts,f;for(p in mixinEntry.properties){f=fallbacks&&fallbacks[p];parts=[p,': var(',mixinName,MIXIN_VAR_SEP,p];if(f){parts.push(',',f);}
4066parts.push(')');vars.push(parts.join(''));}}
4067return vars.join('; ');}
4068function consumeCssProperties(text){var m;while(m=MIXIN_MATCH.exec(text)){var matchText=m[0];var mixinName=m[1];var idx=m.index;var applyPos=idx+matchText.indexOf('@apply');var afterApplyPos=idx+matchText.length;var textBeforeApply=text.slice(0,applyPos);var textAfterApply=text.slice(afterApplyPos);var defaults=cssTextToMap(textBeforeApply);var replacement=atApplyToCssProperties(mixinName,defaults);text=[textBeforeApply,replacement,textAfterApply].join('');MIXIN_MATCH.lastIndex=idx+replacement.length;}
4069return text;}
4070var ApplyShim={_measureElement:null,_map:mixinMap,_separator:MIXIN_VAR_SEP,transform:function(styles,elementProto){this.__currentElementProto=elementProto;styleUtil.forRulesInStyles(styles,this._boundFindDefinitions);styleUtil.forRulesInStyles(styles,this._boundFindApplications);if(elementProto){elementProto.__applyShimInvalid=false;}
4071this.__currentElementProto=null;},_findDefinitions:function(rule){var cssText=rule.parsedCssText;cssText=cssText.replace(BAD_VAR,fixVars);cssText=cssText.replace(VAR_ASSIGN,produceCssProperties);rule.cssText=cssText;if(rule.selector===':root'){rule.selector=':host > *';}},_findApplications:function(rule){rule.cssText=consumeCssProperties(rule.cssText);},transformRule:function(rule){this._findDefinitions(rule);this._findApplications(rule);},_getInitialValueForProperty:function(property){if(!this._measureElement){this._measureElement=document.createElement('meta');this._measureElement.style.all='initial';document.head.appendChild(this._measureElement);}
4072return window.getComputedStyle(this._measureElement).getPropertyValue(property);}};ApplyShim._boundTransformRule=ApplyShim.transformRule.bind(ApplyShim);ApplyShim._boundFindDefinitions=ApplyShim._findDefinitions.bind(ApplyShim);ApplyShim._boundFindApplications=ApplyShim._findApplications.bind(ApplyShim);return ApplyShim;}();(function(){var prepElement=Polymer.Base._prepElement;var nativeShadow=Polymer.Settings.useNativeShadow;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var styleExtends=Polymer.StyleExtends;var applyShim=Polymer.ApplyShim;var settings=Polymer.Settings;Polymer.Base._addFeature({_prepElement:function(element){if(this._encapsulateStyle&&this.__cssBuild!=='shady'){styleTransformer.element(element,this.is,this._scopeCssViaAttr);}
4073prepElement.call(this,element);},_prepStyles:function(){if(this._encapsulateStyle===undefined){this._encapsulateStyle=!nativeShadow;}
4074if(!nativeShadow){this._scopeStyle=styleUtil.applyStylePlaceHolder(this.is);}
4075this.__cssBuild=styleUtil.cssBuildTypeForModule(this.is);},_prepShimStyles:function(){if(this._template){var hasTargetedCssBuild=styleUtil.isTargetedBuild(this.__cssBuild);if(settings.useNativeCSSProperties&&this.__cssBuild==='shadow'&&hasTargetedCssBuild){if(settings.preserveStyleIncludes){styleUtil.styleIncludesToTemplate(this._template);}
4076return;}
4077this._styles=this._styles||this._collectStyles();if(settings.useNativeCSSProperties&&!this.__cssBuild){applyShim.transform(this._styles,this);}
4078var cssText=settings.useNativeCSSProperties&&hasTargetedCssBuild?this._styles.length&&this._styles[0].textContent.trim():styleTransformer.elementStyles(this);this._prepStyleProperties();if(!this._needsStyleProperties()&&cssText){styleUtil.applyCss(cssText,this.is,nativeShadow?this._template.content:null,this._scopeStyle);}}else{this._styles=[];}},_collectStyles:function(){var styles=[];var cssText='',m$=this.styleModules;if(m$){for(var i=0,l=m$.length,m;i<l&&(m=m$[i]);i++){cssText+=styleUtil.cssFromModule(m);}}
4079cssText+=styleUtil.cssFromModule(this.is);var p=this._template&&this._template.parentNode;if(this._template&&(!p||p.id.toLowerCase()!==this.is)){cssText+=styleUtil.cssFromElement(this._template);}
4080if(cssText){var style=document.createElement('style');style.textContent=cssText;if(styleExtends.hasExtends(style.textContent)){cssText=styleExtends.transform(style);}
4081styles.push(style);}
4082return styles;},_elementAdd:function(node){if(this._encapsulateStyle){if(node.__styleScoped){node.__styleScoped=false;}else{styleTransformer.dom(node,this.is,this._scopeCssViaAttr);}}},_elementRemove:function(node){if(this._encapsulateStyle){styleTransformer.dom(node,this.is,this._scopeCssViaAttr,true);}},scopeSubtree:function(container,shouldObserve){if(nativeShadow){return;}
4083var self=this;var scopify=function(node){if(node.nodeType===Node.ELEMENT_NODE){var className=node.getAttribute('class');node.setAttribute('class',self._scopeElementClass(node,className));var n$=node.querySelectorAll('*');for(var i=0,n;i<n$.length&&(n=n$[i]);i++){className=n.getAttribute('class');n.setAttribute('class',self._scopeElementClass(n,className));}}};scopify(container);if(shouldObserve){var mo=new MutationObserver(function(mxns){for(var i=0,m;i<mxns.length&&(m=mxns[i]);i++){if(m.addedNodes){for(var j=0;j<m.addedNodes.length;j++){scopify(m.addedNodes[j]);}}}});mo.observe(container,{childList:true,subtree:true});return mo;}}});}());Polymer.StyleProperties=function(){'use strict';var matchesSelector=Polymer.DomApi.matchesSelector;var styleUtil=Polymer.StyleUtil;var styleTransformer=Polymer.StyleTransformer;var IS_IE=navigator.userAgent.match('Trident');var settings=Polymer.Settings;return{decorateStyles:function(styles,scope){var self=this,props={},keyframes=[],ruleIndex=0;var scopeSelector=styleTransformer._calcHostScope(scope.is,scope.extends);styleUtil.forRulesInStyles(styles,function(rule,style){self.decorateRule(rule);rule.index=ruleIndex++;self.whenHostOrRootRule(scope,rule,style,function(info){if(rule.parent.type===styleUtil.ruleTypes.MEDIA_RULE){scope.__notStyleScopeCacheable=true;}
4084if(info.isHost){var hostContextOrFunction=info.selector.split(' ').some(function(s){return s.indexOf(scopeSelector)===0&&s.length!==scopeSelector.length;});scope.__notStyleScopeCacheable=scope.__notStyleScopeCacheable||hostContextOrFunction;}});self.collectPropertiesInCssText(rule.propertyInfo.cssText,props);},function onKeyframesRule(rule){keyframes.push(rule);});styles._keyframes=keyframes;var names=[];for(var i in props){names.push(i);}
4085return names;},decorateRule:function(rule){if(rule.propertyInfo){return rule.propertyInfo;}
4086var info={},properties={};var hasProperties=this.collectProperties(rule,properties);if(hasProperties){info.properties=properties;rule.rules=null;}
4087info.cssText=this.collectCssText(rule);rule.propertyInfo=info;return info;},collectProperties:function(rule,properties){var info=rule.propertyInfo;if(info){if(info.properties){Polymer.Base.mixin(properties,info.properties);return true;}}else{var m,rx=this.rx.VAR_ASSIGN;var cssText=rule.parsedCssText;var value;var any;while(m=rx.exec(cssText)){value=(m[2]||m[3]).trim();if(value!=='inherit'){properties[m[1].trim()]=value;}
4088any=true;}
4089return any;}},collectCssText:function(rule){return this.collectConsumingCssText(rule.parsedCssText);},collectConsumingCssText:function(cssText){return cssText.replace(this.rx.BRACKETED,'').replace(this.rx.VAR_ASSIGN,'');},collectPropertiesInCssText:function(cssText,props){var m;while(m=this.rx.VAR_CONSUMED.exec(cssText)){var name=m[1];if(m[2]!==':'){props[name]=true;}}},reify:function(props){var names=Object.getOwnPropertyNames(props);for(var i=0,n;i<names.length;i++){n=names[i];props[n]=this.valueForProperty(props[n],props);}},valueForProperty:function(property,props){if(property){if(property.indexOf(';')>=0){property=this.valueForProperties(property,props);}else{var self=this;var fn=function(prefix,value,fallback,suffix){var propertyValue=self.valueForProperty(props[value],props);if(!propertyValue||propertyValue==='initial'){propertyValue=self.valueForProperty(props[fallback]||fallback,props)||fallback;}else if(propertyValue==='apply-shim-inherit'){propertyValue='inherit';}
4090return prefix+(propertyValue||'')+suffix;};property=styleUtil.processVariableAndFallback(property,fn);}}
4091return property&&property.trim()||'';},valueForProperties:function(property,props){var parts=property.split(';');for(var i=0,p,m;i<parts.length;i++){if(p=parts[i]){this.rx.MIXIN_MATCH.lastIndex=0;m=this.rx.MIXIN_MATCH.exec(p);if(m){p=this.valueForProperty(props[m[1]],props);}else{var colon=p.indexOf(':');if(colon!==-1){var pp=p.substring(colon);pp=pp.trim();pp=this.valueForProperty(pp,props)||pp;p=p.substring(0,colon)+pp;}}
4092parts[i]=p&&p.lastIndexOf(';')===p.length-1?p.slice(0,-1):p||'';}}
4093return parts.join(';');},applyProperties:function(rule,props){var output='';if(!rule.propertyInfo){this.decorateRule(rule);}
4094if(rule.propertyInfo.cssText){output=this.valueForProperties(rule.propertyInfo.cssText,props);}
4095rule.cssText=output;},applyKeyframeTransforms:function(rule,keyframeTransforms){var input=rule.cssText;var output=rule.cssText;if(rule.hasAnimations==null){rule.hasAnimations=this.rx.ANIMATION_MATCH.test(input);}
4096if(rule.hasAnimations){var transform;if(rule.keyframeNamesToTransform==null){rule.keyframeNamesToTransform=[];for(var keyframe in keyframeTransforms){transform=keyframeTransforms[keyframe];output=transform(input);if(input!==output){input=output;rule.keyframeNamesToTransform.push(keyframe);}}}else{for(var i=0;i<rule.keyframeNamesToTransform.length;++i){transform=keyframeTransforms[rule.keyframeNamesToTransform[i]];input=transform(input);}
4097output=input;}}
4098rule.cssText=output;},propertyDataFromStyles:function(styles,element){var props={},self=this;var o=[];styleUtil.forActiveRulesInStyles(styles,function(rule){if(!rule.propertyInfo){self.decorateRule(rule);}
4099var selectorToMatch=rule.transformedSelector||rule.parsedSelector;if(element&&rule.propertyInfo.properties&&selectorToMatch){if(matchesSelector.call(element,selectorToMatch)){self.collectProperties(rule,props);addToBitMask(rule.index,o);}}});return{properties:props,key:o};},_rootSelector:/:root|:host\s*>\s*\*/,_checkRoot:function(hostScope,selector){return Boolean(selector.match(this._rootSelector))||hostScope==='html'&&selector.indexOf('html')>-1;},whenHostOrRootRule:function(scope,rule,style,callback){if(!rule.propertyInfo){self.decorateRule(rule);}
4100if(!rule.propertyInfo.properties){return;}
4101var hostScope=scope.is?styleTransformer._calcHostScope(scope.is,scope.extends):'html';var parsedSelector=rule.parsedSelector;var isRoot=this._checkRoot(hostScope,parsedSelector);var isHost=!isRoot&&parsedSelector.indexOf(':host')===0;var cssBuild=scope.__cssBuild||style.__cssBuild;if(cssBuild==='shady'){isRoot=parsedSelector===hostScope+' > *.'+hostScope||parsedSelector.indexOf('html')>-1;isHost=!isRoot&&parsedSelector.indexOf(hostScope)===0;}
4102if(!isRoot&&!isHost){return;}
4103var selectorToMatch=hostScope;if(isHost){if(settings.useNativeShadow&&!rule.transformedSelector){rule.transformedSelector=styleTransformer._transformRuleCss(rule,styleTransformer._transformComplexSelector,scope.is,hostScope);}
4104selectorToMatch=rule.transformedSelector||rule.parsedSelector;}
4105if(isRoot&&hostScope==='html'){selectorToMatch=rule.transformedSelector||rule.parsedSelector;}
4106callback({selector:selectorToMatch,isHost:isHost,isRoot:isRoot});},hostAndRootPropertiesForScope:function(scope){var hostProps={},rootProps={},self=this;styleUtil.forActiveRulesInStyles(scope._styles,function(rule,style){self.whenHostOrRootRule(scope,rule,style,function(info){var element=scope._element||scope;if(matchesSelector.call(element,info.selector)){if(info.isHost){self.collectProperties(rule,hostProps);}else{self.collectProperties(rule,rootProps);}}});});return{rootProps:rootProps,hostProps:hostProps};},transformStyles:function(element,properties,scopeSelector){var self=this;var hostSelector=styleTransformer._calcHostScope(element.is,element.extends);var rxHostSelector=element.extends?'\\'+hostSelector.slice(0,-1)+'\\]':hostSelector;var hostRx=new RegExp(this.rx.HOST_PREFIX+rxHostSelector+this.rx.HOST_SUFFIX);var keyframeTransforms=this._elementKeyframeTransforms(element,scopeSelector);return styleTransformer.elementStyles(element,function(rule){self.applyProperties(rule,properties);if(!settings.useNativeShadow&&!Polymer.StyleUtil.isKeyframesSelector(rule)&&rule.cssText){self.applyKeyframeTransforms(rule,keyframeTransforms);self._scopeSelector(rule,hostRx,hostSelector,element._scopeCssViaAttr,scopeSelector);}});},_elementKeyframeTransforms:function(element,scopeSelector){var keyframesRules=element._styles._keyframes;var keyframeTransforms={};if(!settings.useNativeShadow&&keyframesRules){for(var i=0,keyframesRule=keyframesRules[i];i<keyframesRules.length;keyframesRule=keyframesRules[++i]){this._scopeKeyframes(keyframesRule,scopeSelector);keyframeTransforms[keyframesRule.keyframesName]=this._keyframesRuleTransformer(keyframesRule);}}
4107return keyframeTransforms;},_keyframesRuleTransformer:function(keyframesRule){return function(cssText){return cssText.replace(keyframesRule.keyframesNameRx,keyframesRule.transformedKeyframesName);};},_scopeKeyframes:function(rule,scopeId){rule.keyframesNameRx=new RegExp(rule.keyframesName,'g');rule.transformedKeyframesName=rule.keyframesName+'-'+scopeId;rule.transformedSelector=rule.transformedSelector||rule.selector;rule.selector=rule.transformedSelector.replace(rule.keyframesName,rule.transformedKeyframesName);},_scopeSelector:function(rule,hostRx,hostSelector,viaAttr,scopeId){rule.transformedSelector=rule.transformedSelector||rule.selector;var selector=rule.transformedSelector;var scope=viaAttr?'['+styleTransformer.SCOPE_NAME+'~='+scopeId+']':'.'+scopeId;var parts=selector.split(',');for(var i=0,l=parts.length,p;i<l&&(p=parts[i]);i++){parts[i]=p.match(hostRx)?p.replace(hostSelector,scope):scope+' '+p;}
4108rule.selector=parts.join(',');},applyElementScopeSelector:function(element,selector,old,viaAttr){var c=viaAttr?element.getAttribute(styleTransformer.SCOPE_NAME):element.getAttribute('class')||'';var v=old?c.replace(old,selector):(c?c+' ':'')+this.XSCOPE_NAME+' '+selector;if(c!==v){if(viaAttr){element.setAttribute(styleTransformer.SCOPE_NAME,v);}else{element.setAttribute('class',v);}}},applyElementStyle:function(element,properties,selector,style){var cssText=style?style.textContent||'':this.transformStyles(element,properties,selector);var s=element._customStyle;if(s&&!settings.useNativeShadow&&s!==style){s._useCount--;if(s._useCount<=0&&s.parentNode){s.parentNode.removeChild(s);}}
4109if(settings.useNativeShadow){if(element._customStyle){element._customStyle.textContent=cssText;style=element._customStyle;}else if(cssText){style=styleUtil.applyCss(cssText,selector,element.root,element._scopeStyle);}}else{if(!style){if(cssText){style=styleUtil.applyCss(cssText,selector,null,element._scopeStyle);}}else if(!style.parentNode){if(IS_IE&&cssText.indexOf('@media')>-1){style.textContent=cssText;}
4110styleUtil.applyStyle(style,null,element._scopeStyle);}}
4111if(style){style._useCount=style._useCount||0;if(element._customStyle!=style){style._useCount++;}
4112element._customStyle=style;}
4113return style;},mixinCustomStyle:function(props,customStyle){var v;for(var i in customStyle){v=customStyle[i];if(v||v===0){props[i]=v;}}},updateNativeStyleProperties:function(element,properties){var oldPropertyNames=element.__customStyleProperties;if(oldPropertyNames){for(var i=0;i<oldPropertyNames.length;i++){element.style.removeProperty(oldPropertyNames[i]);}}
4114var propertyNames=[];for(var p in properties){if(properties[p]!==null){element.style.setProperty(p,properties[p]);propertyNames.push(p);}}
4115element.__customStyleProperties=propertyNames;},rx:styleUtil.rx,XSCOPE_NAME:'x-scope'};function addToBitMask(n,bits){var o=parseInt(n/32);var v=1<<n%32;bits[o]=(bits[o]||0)|v;}}();(function(){Polymer.StyleCache=function(){this.cache={};};Polymer.StyleCache.prototype={MAX:100,store:function(is,data,keyValues,keyStyles){data.keyValues=keyValues;data.styles=keyStyles;var s$=this.cache[is]=this.cache[is]||[];s$.push(data);if(s$.length>this.MAX){s$.shift();}},retrieve:function(is,keyValues,keyStyles){var cache=this.cache[is];if(cache){for(var i=cache.length-1,data;i>=0;i--){data=cache[i];if(keyStyles===data.styles&&this._objectsEqual(keyValues,data.keyValues)){return data;}}}},clear:function(){this.cache={};},_objectsEqual:function(target,source){var t,s;for(var i in target){t=target[i],s=source[i];if(!(typeof t==='object'&&t?this._objectsStrictlyEqual(t,s):t===s)){return false;}}
4116if(Array.isArray(target)){return target.length===source.length;}
4117return true;},_objectsStrictlyEqual:function(target,source){return this._objectsEqual(target,source)&&this._objectsEqual(source,target);}};}());Polymer.StyleDefaults=function(){var styleProperties=Polymer.StyleProperties;var StyleCache=Polymer.StyleCache;var nativeVariables=Polymer.Settings.useNativeCSSProperties;var api={_styles:[],_properties:null,customStyle:{},_styleCache:new StyleCache(),_element:Polymer.DomApi.wrap(document.documentElement),addStyle:function(style){this._styles.push(style);this._properties=null;},get _styleProperties(){if(!this._properties){styleProperties.decorateStyles(this._styles,this);this._styles._scopeStyleProperties=null;this._properties=styleProperties.hostAndRootPropertiesForScope(this).rootProps;styleProperties.mixinCustomStyle(this._properties,this.customStyle);styleProperties.reify(this._properties);}
4118return this._properties;},hasStyleProperties:function(){return Boolean(this._properties);},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties;},updateStyles:function(properties){this._properties=null;if(properties){Polymer.Base.mixin(this.customStyle,properties);}
4119this._styleCache.clear();for(var i=0,s;i<this._styles.length;i++){s=this._styles[i];s=s.__importElement||s;s._apply();}
4120if(nativeVariables){styleProperties.updateNativeStyleProperties(document.documentElement,this.customStyle);}}};return api;}();(function(){'use strict';var serializeValueToAttribute=Polymer.Base.serializeValueToAttribute;var propertyUtils=Polymer.StyleProperties;var styleTransformer=Polymer.StyleTransformer;var styleDefaults=Polymer.StyleDefaults;var nativeShadow=Polymer.Settings.useNativeShadow;var nativeVariables=Polymer.Settings.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:function(){if(!nativeVariables){this._ownStylePropertyNames=this._styles&&this._styles.length?propertyUtils.decorateStyles(this._styles,this):null;}},customStyle:null,getComputedStyleValue:function(property){if(!nativeVariables&&!this._styleProperties){this._computeStyleProperties();}
4121return!nativeVariables&&this._styleProperties&&this._styleProperties[property]||getComputedStyle(this).getPropertyValue(property);},_setupStyleProperties:function(){this.customStyle={};this._styleCache=null;this._styleProperties=null;this._scopeSelector=null;this._ownStyleProperties=null;this._customStyle=null;},_needsStyleProperties:function(){return Boolean(!nativeVariables&&this._ownStylePropertyNames&&this._ownStylePropertyNames.length);},_validateApplyShim:function(){if(this.__applyShimInvalid){Polymer.ApplyShim.transform(this._styles,this.__proto__);var cssText=styleTransformer.elementStyles(this);if(nativeShadow){var templateStyle=this._template.content.querySelector('style');if(templateStyle){templateStyle.textContent=cssText;}}else{var shadyStyle=this._scopeStyle&&this._scopeStyle.nextSibling;if(shadyStyle){shadyStyle.textContent=cssText;}}}},_beforeAttached:function(){if((!this._scopeSelector||this.__stylePropertiesInvalid)&&this._needsStyleProperties()){this.__stylePropertiesInvalid=false;this._updateStyleProperties();}},_findStyleHost:function(){var e=this,root;while(root=Polymer.dom(e).getOwnerRoot()){if(Polymer.isInstance(root.host)){return root.host;}
4122e=root.host;}
4123return styleDefaults;},_updateStyleProperties:function(){var info,scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();}
4124if(!scope._styleCache){scope._styleCache=new Polymer.StyleCache();}
4125var scopeData=propertyUtils.propertyDataFromStyles(scope._styles,this);var scopeCacheable=!this.__notStyleScopeCacheable;if(scopeCacheable){scopeData.key.customStyle=this.customStyle;info=scope._styleCache.retrieve(this.is,scopeData.key,this._styles);}
4126var scopeCached=Boolean(info);if(scopeCached){this._styleProperties=info._styleProperties;}else{this._computeStyleProperties(scopeData.properties);}
4127this._computeOwnStyleProperties();if(!scopeCached){info=styleCache.retrieve(this.is,this._ownStyleProperties,this._styles);}
4128var globalCached=Boolean(info)&&!scopeCached;var style=this._applyStyleProperties(info);if(!scopeCached){style=style&&nativeShadow?style.cloneNode(true):style;info={style:style,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties};if(scopeCacheable){scopeData.key.customStyle={};this.mixin(scopeData.key.customStyle,this.customStyle);scope._styleCache.store(this.is,info,scopeData.key,this._styles);}
4129if(!globalCached){styleCache.store(this.is,Object.create(info),this._ownStyleProperties,this._styles);}}},_computeStyleProperties:function(scopeProps){var scope=this._findStyleHost();if(!scope._styleProperties){scope._computeStyleProperties();}
4130var props=Object.create(scope._styleProperties);var hostAndRootProps=propertyUtils.hostAndRootPropertiesForScope(this);this.mixin(props,hostAndRootProps.hostProps);scopeProps=scopeProps||propertyUtils.propertyDataFromStyles(scope._styles,this).properties;this.mixin(props,scopeProps);this.mixin(props,hostAndRootProps.rootProps);propertyUtils.mixinCustomStyle(props,this.customStyle);propertyUtils.reify(props);this._styleProperties=props;},_computeOwnStyleProperties:function(){var props={};for(var i=0,n;i<this._ownStylePropertyNames.length;i++){n=this._ownStylePropertyNames[i];props[n]=this._styleProperties[n];}
4131this._ownStyleProperties=props;},_scopeCount:0,_applyStyleProperties:function(info){var oldScopeSelector=this._scopeSelector;this._scopeSelector=info?info._scopeSelector:this.is+'-'+this.__proto__._scopeCount++;var style=propertyUtils.applyElementStyle(this,this._styleProperties,this._scopeSelector,info&&info.style);if(!nativeShadow){propertyUtils.applyElementScopeSelector(this,this._scopeSelector,oldScopeSelector,this._scopeCssViaAttr);}
4132return style;},serializeValueToAttribute:function(value,attribute,node){node=node||this;if(attribute==='class'&&!nativeShadow){var host=node===this?this.domHost||this.dataHost:this;if(host){value=host._scopeElementClass(node,value);}}
4133node=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(node):node;serializeValueToAttribute.call(this,value,attribute,node);},_scopeElementClass:function(element,selector){if(!nativeShadow&&!this._scopeCssViaAttr){selector=(selector?selector+' ':'')+SCOPE_NAME+' '+this.is+(element._scopeSelector?' '+XSCOPE_NAME+' '+element._scopeSelector:'');}
4134return selector;},updateStyles:function(properties){if(properties){this.mixin(this.customStyle,properties);}
4135if(nativeVariables){propertyUtils.updateNativeStyleProperties(this,this.customStyle);}else{if(this.isAttached){if(this._needsStyleProperties()){this._updateStyleProperties();}else{this._styleProperties=null;}}else{this.__stylePropertiesInvalid=true;}
4136if(this._styleCache){this._styleCache.clear();}
4137this._updateRootStyles();}},_updateRootStyles:function(root){root=root||this.root;var c$=Polymer.dom(root)._query(function(e){return e.shadyRoot||e.shadowRoot;});for(var i=0,l=c$.length,c;i<l&&(c=c$[i]);i++){if(c.updateStyles){c.updateStyles();}}}});Polymer.updateStyles=function(properties){styleDefaults.updateStyles(properties);Polymer.Base._updateRootStyles(document);};var styleCache=new Polymer.StyleCache();Polymer.customStyleCache=styleCache;var SCOPE_NAME=styleTransformer.SCOPE_NAME;var XSCOPE_NAME=propertyUtils.XSCOPE_NAME;}());Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs();if(this.factoryImpl){this._prepConstructor();}
4138this._prepStyles();},_finishRegisterFeatures:function(){this._prepTemplate();this._prepShimStyles();this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepPropertyInfo();this._prepBindings();this._prepShady();},_prepBehavior:function(b){this._addPropertyEffects(b.properties);this._addComplexObserverEffects(b.observers);this._addHostAttributes(b.hostAttributes);},_initFeatures:function(){this._setupGestures();this._setupConfigure(this.__data__);this._setupStyleProperties();this._setupDebouncers();this._setupShady();this._registerHost();if(this._template){this._validateApplyShim();this._poolContent();this._beginHosting();this._stampTemplate();this._endHosting();this._marshalAnnotationReferences();}
4139this._marshalInstanceEffects();this._marshalBehaviors();this._marshalHostAttributes();this._marshalAttributes();this._tryReady();},_marshalBehavior:function(b){if(b.listeners){this._listenListeners(b.listeners);}}});(function(){var propertyUtils=Polymer.StyleProperties;var styleUtil=Polymer.StyleUtil;var cssParse=Polymer.CssParse;var styleDefaults=Polymer.StyleDefaults;var styleTransformer=Polymer.StyleTransformer;var applyShim=Polymer.ApplyShim;var debounce=Polymer.Debounce;var settings=Polymer.Settings;var updateDebouncer;Polymer({is:'custom-style',extends:'style',_template:null,properties:{include:String},ready:function(){this.__appliedElement=this.__appliedElement||this;this.__cssBuild=styleUtil.getCssBuildType(this);if(this.__appliedElement!==this){this.__appliedElement.__cssBuild=this.__cssBuild;}
4140this._tryApply();},attached:function(){this._tryApply();},_tryApply:function(){if(!this._appliesToDocument){if(this.parentNode&&this.parentNode.localName!=='dom-module'){this._appliesToDocument=true;var e=this.__appliedElement;if(!settings.useNativeCSSProperties){this.__needsUpdateStyles=styleDefaults.hasStyleProperties();styleDefaults.addStyle(e);}
4141if(e.textContent||this.include){this._apply(true);}else{var self=this;var observer=new MutationObserver(function(){observer.disconnect();self._apply(true);});observer.observe(e,{childList:true});}}}},_updateStyles:function(){Polymer.updateStyles();},_apply:function(initialApply){var e=this.__appliedElement;if(this.include){e.textContent=styleUtil.cssFromModules(this.include,true)+e.textContent;}
4142if(!e.textContent){return;}
4143var buildType=this.__cssBuild;var targetedBuild=styleUtil.isTargetedBuild(buildType);if(settings.useNativeCSSProperties&&targetedBuild){return;}
4144var styleRules=styleUtil.rulesForStyle(e);if(!targetedBuild){styleUtil.forEachRule(styleRules,function(rule){styleTransformer.documentRule(rule);});if(settings.useNativeCSSProperties&&!buildType){applyShim.transform([e]);}}
4145if(settings.useNativeCSSProperties){e.textContent=styleUtil.toCssText(styleRules);}else{var self=this;var fn=function fn(){self._flushCustomProperties();};if(initialApply){Polymer.RenderStatus.whenReady(fn);}else{fn();}}},_flushCustomProperties:function(){if(this.__needsUpdateStyles){this.__needsUpdateStyles=false;updateDebouncer=debounce(updateDebouncer,this._updateStyles);}else{this._applyCustomProperties();}},_applyCustomProperties:function(){var element=this.__appliedElement;this._computeStyleProperties();var props=this._styleProperties;var rules=styleUtil.rulesForStyle(element);if(!rules){return;}
4146element.textContent=styleUtil.toCssText(rules,function(rule){var css=rule.cssText=rule.parsedCssText;if(rule.propertyInfo&&rule.propertyInfo.cssText){css=cssParse.removeCustomPropAssignment(css);rule.cssText=propertyUtils.valueForProperties(css,props);}});}});}());Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:'_showHideChildren'}},_instanceProps:Polymer.nob,_parentPropPrefix:'_parent_',templatize:function(template){this._templatized=template;if(!template._content){template._content=template.content;}
4147if(template._content._ctor){this.ctor=template._content._ctor;this._prepParentProperties(this.ctor.prototype,template);return;}
4148var archetype=Object.create(Polymer.Base);this._customPrepAnnotations(archetype,template);this._prepParentProperties(archetype,template);archetype._prepEffects();this._customPrepEffects(archetype);archetype._prepBehaviors();archetype._prepPropertyInfo();archetype._prepBindings();archetype._notifyPathUp=this._notifyPathUpImpl;archetype._scopeElementClass=this._scopeElementClassImpl;archetype.listen=this._listenImpl;archetype._showHideChildren=this._showHideChildrenImpl;archetype.__setPropertyOrig=this.__setProperty;archetype.__setProperty=this.__setPropertyImpl;var _constructor=this._constructorImpl;var ctor=function TemplateInstance(model,host){_constructor.call(this,model,host);};ctor.prototype=archetype;archetype.constructor=ctor;template._content._ctor=ctor;this.ctor=ctor;},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost;},_showHideChildrenImpl:function(hide){var c=this._children;for(var i=0;i<c.length;i++){var n=c[i];if(Boolean(hide)!=Boolean(n.__hideTemplateChildren__)){if(n.nodeType===Node.TEXT_NODE){if(hide){n.__polymerTextContent__=n.textContent;n.textContent='';}else{n.textContent=n.__polymerTextContent__;}}else if(n.style){if(hide){n.__polymerDisplay__=n.style.display;n.style.display='none';}else{n.style.display=n.__polymerDisplay__;}}}
4149n.__hideTemplateChildren__=hide;}},__setPropertyImpl:function(property,value,fromAbove,node){if(node&&node.__hideTemplateChildren__&&property=='textContent'){property='__polymerTextContent__';}
4150this.__setPropertyOrig(property,value,fromAbove,node);},_debounceTemplate:function(fn){Polymer.dom.addDebouncer(this.debounce('_debounceTemplate',fn));},_flushTemplates:function(){Polymer.dom.flush();},_customPrepEffects:function(archetype){var parentProps=archetype._parentProps;for(var prop in parentProps){archetype._addPropertyEffect(prop,'function',this._createHostPropEffector(prop));}
4151for(prop in this._instanceProps){archetype._addPropertyEffect(prop,'function',this._createInstancePropEffector(prop));}},_customPrepAnnotations:function(archetype,template){archetype._template=template;var c=template._content;if(!c._notes){var rootDataHost=archetype._rootDataHost;if(rootDataHost){Polymer.Annotations.prepElement=function(){rootDataHost._prepElement();};}
4152c._notes=Polymer.Annotations.parseAnnotations(template);Polymer.Annotations.prepElement=null;this._processAnnotations(c._notes);}
4153archetype._notes=c._notes;archetype._parentProps=c._parentProps;},_prepParentProperties:function(archetype,template){var parentProps=this._parentProps=archetype._parentProps;if(this._forwardParentProp&&parentProps){var proto=archetype._parentPropProto;var prop;if(!proto){for(prop in this._instanceProps){delete parentProps[prop];}
4154proto=archetype._parentPropProto=Object.create(null);if(template!=this){Polymer.Bind.prepareModel(proto);Polymer.Base.prepareModelNotifyPath(proto);}
4155for(prop in parentProps){var parentProp=this._parentPropPrefix+prop;var effects=[{kind:'function',effect:this._createForwardPropEffector(prop),fn:Polymer.Bind._functionEffect},{kind:'notify',fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(parentProp)+'-changed'}}];proto._propertyEffects=proto._propertyEffects||{};proto._propertyEffects[parentProp]=effects;Polymer.Bind._createAccessors(proto,parentProp,effects);}}
4156var self=this;if(template!=this){Polymer.Bind.prepareInstance(template);template._forwardParentProp=function(source,value){self._forwardParentProp(source,value);};}
4157this._extendTemplate(template,proto);template._pathEffector=function(path,value,fromAbove){return self._pathEffectorImpl(path,value,fromAbove);};}},_createForwardPropEffector:function(prop){return function(source,value){this._forwardParentProp(prop,value);};},_createHostPropEffector:function(prop){var prefix=this._parentPropPrefix;return function(source,value){this.dataHost._templatized[prefix+prop]=value;};},_createInstancePropEffector:function(prop){return function(source,value,old,fromAbove){if(!fromAbove){this.dataHost._forwardInstanceProp(this,prop,value);}};},_extendTemplate:function(template,proto){var n$=Object.getOwnPropertyNames(proto);if(proto._propertySetter){template._propertySetter=proto._propertySetter;}
4158for(var i=0,n;i<n$.length&&(n=n$[i]);i++){var val=template[n];if(val&&n=='_propertyEffects'){var pe=Polymer.Base.mixin({},val);template._propertyEffects=Polymer.Base.mixin(pe,proto._propertyEffects);}else{var pd=Object.getOwnPropertyDescriptor(proto,n);Object.defineProperty(template,n,pd);if(val!==undefined){template._propertySetter(n,val);}}}},_showHideChildren:function(hidden){},_forwardInstancePath:function(inst,path,value){},_forwardInstanceProp:function(inst,prop,value){},_notifyPathUpImpl:function(path,value){var dataHost=this.dataHost;var root=Polymer.Path.root(path);dataHost._forwardInstancePath.call(dataHost,this,path,value);if(root in dataHost._parentProps){dataHost._templatized._notifyPath(dataHost._parentPropPrefix+path,value);}},_pathEffectorImpl:function(path,value,fromAbove){if(this._forwardParentPath){if(path.indexOf(this._parentPropPrefix)===0){var subPath=path.substring(this._parentPropPrefix.length);var model=Polymer.Path.root(subPath);if(model in this._parentProps){this._forwardParentPath(subPath,value);}}}
4159Polymer.Base._pathEffector.call(this._templatized,path,value,fromAbove);},_constructorImpl:function(model,host){this._rootDataHost=host._getRootDataHost();this._setupConfigure(model);this._registerHost(host);this._beginHosting();this.root=this.instanceTemplate(this._template);this.root.__noContent=!this._notes._hasContent;this.root.__styleScoped=true;this._endHosting();this._marshalAnnotatedNodes();this._marshalInstanceEffects();this._marshalAnnotatedListeners();var children=[];for(var n=this.root.firstChild;n;n=n.nextSibling){children.push(n);n._templateInstance=this;}
4160this._children=children;if(host.__hideTemplateChildren__){this._showHideChildren(true);}
4161this._tryReady();},_listenImpl:function(node,eventName,methodName){var model=this;var host=this._rootDataHost;var handler=host._createEventHandler(node,eventName,methodName);var decorated=function(e){e.model=model;handler(e);};host._listen(node,eventName,decorated);},_scopeElementClassImpl:function(node,value){var host=this._rootDataHost;if(host){return host._scopeElementClass(node,value);}
4162return value;},stamp:function(model){model=model||{};if(this._parentProps){var templatized=this._templatized;for(var prop in this._parentProps){if(model[prop]===undefined){model[prop]=templatized[this._parentPropPrefix+prop];}}}
4163return new this.ctor(model,this);},modelForElement:function(el){var model;while(el){if(model=el._templateInstance){if(model.dataHost!=this){el=model.dataHost;}else{return model;}}else{el=el.parentNode;}}}};Polymer({is:'dom-template',extends:'template',_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this);}});Polymer._collections=new WeakMap();Polymer.Collection=function(userArray){Polymer._collections.set(userArray,this);this.userArray=userArray;this.store=userArray.slice();this.initMap();};Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){var omap=this.omap=new WeakMap();var pmap=this.pmap={};var s=this.store;for(var i=0;i<s.length;i++){var item=s[i];if(item&&typeof item=='object'){omap.set(item,i);}else{pmap[item]=i;}}},add:function(item){var key=this.store.push(item)-1;if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
4164return'#'+key;},removeKey:function(key){if(key=this._parseKey(key)){this._removeFromMap(this.store[key]);delete this.store[key];}},_removeFromMap:function(item){if(item&&typeof item=='object'){this.omap.delete(item);}else{delete this.pmap[item];}},remove:function(item){var key=this.getKey(item);this.removeKey(key);return key;},getKey:function(item){var key;if(item&&typeof item=='object'){key=this.omap.get(item);}else{key=this.pmap[item];}
4165if(key!=undefined){return'#'+key;}},getKeys:function(){return Object.keys(this.store).map(function(key){return'#'+key;});},_parseKey:function(key){if(key&&key[0]=='#'){return key.slice(1);}},setItem:function(key,item){if(key=this._parseKey(key)){var old=this.store[key];if(old){this._removeFromMap(old);}
4166if(item&&typeof item=='object'){this.omap.set(item,key);}else{this.pmap[item]=key;}
4167this.store[key]=item;}},getItem:function(key){if(key=this._parseKey(key)){return this.store[key];}},getItems:function(){var items=[],store=this.store;for(var key in store){items.push(store[key]);}
4168return items;},_applySplices:function(splices){var keyMap={},key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){s.addedKeys=[];for(var j=0;j<s.removed.length;j++){key=this.getKey(s.removed[j]);keyMap[key]=keyMap[key]?null:-1;}
4169for(j=0;j<s.addedCount;j++){var item=this.userArray[s.index+j];key=this.getKey(item);key=key===undefined?this.add(item):key;keyMap[key]=keyMap[key]?null:1;s.addedKeys.push(key);}}
4170var removed=[];var added=[];for(key in keyMap){if(keyMap[key]<0){this.removeKey(key);removed.push(key);}
4171if(keyMap[key]>0){added.push(key);}}
4172return[{removed:removed,added:added}];}};Polymer.Collection.get=function(userArray){return Polymer._collections.get(userArray)||new Polymer.Collection(userArray);};Polymer.Collection.applySplices=function(userArray,splices){var coll=Polymer._collections.get(userArray);return coll?coll._applySplices(splices):null;};Polymer({is:'dom-repeat',extends:'template',_template:null,properties:{items:{type:Array},as:{type:String,value:'item'},indexAs:{type:String,value:'index'},sort:{type:Function,observer:'_sortChanged'},filter:{type:Function,observer:'_filterChanged'},observe:{type:String,observer:'_observeChanged'},delay:Number,renderedItemCount:{type:Number,notify:!Polymer.Settings.suppressTemplateNotifications,readOnly:true},initialCount:{type:Number,observer:'_initializeChunking'},targetFramerate:{type:Number,value:20},notifyDomChange:{type:Boolean},_targetFrameTime:{type:Number,computed:'_computeFrameTime(targetFramerate)'}},behaviors:[Polymer.Templatizer],observers:['_itemsChanged(items.*)'],created:function(){this._instances=[];this._pool=[];this._limit=Infinity;var self=this;this._boundRenderChunk=function(){self._renderChunk();};},detached:function(){this.__isDetached=true;for(var i=0;i<this._instances.length;i++){this._detachInstance(i);}},attached:function(){if(this.__isDetached){this.__isDetached=false;var parent=Polymer.dom(Polymer.dom(this).parentNode);for(var i=0;i<this._instances.length;i++){this._attachInstance(i,parent);}}},ready:function(){this._instanceProps={__key__:true};this._instanceProps[this.as]=true;this._instanceProps[this.indexAs]=true;if(!this.ctor){this.templatize(this);}},_sortChanged:function(sort){var dataHost=this._getRootDataHost();this._sortFn=sort&&(typeof sort=='function'?sort:function(){return dataHost[sort].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_filterChanged:function(filter){var dataHost=this._getRootDataHost();this._filterFn=filter&&(typeof filter=='function'?filter:function(){return dataHost[filter].apply(dataHost,arguments);});this._needFullRefresh=true;if(this.items){this._debounceTemplate(this._render);}},_computeFrameTime:function(rate){return Math.ceil(1000/rate);},_initializeChunking:function(){if(this.initialCount){this._limit=this.initialCount;this._chunkCount=this.initialCount;this._lastChunkTime=performance.now();}},_tryRenderChunk:function(){if(this.items&&this._limit<this.items.length){this.debounce('renderChunk',this._requestRenderChunk);}},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk);},_renderChunk:function(){var currChunkTime=performance.now();var ratio=this._targetFrameTime/(currChunkTime-this._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*ratio)||1;this._limit+=this._chunkCount;this._lastChunkTime=currChunkTime;this._debounceTemplate(this._render);},_observeChanged:function(){this._observePaths=this.observe&&this.observe.replace('.*','.').split(' ');},_itemsChanged:function(change){if(change.path=='items'){if(Array.isArray(this.items)){this.collection=Polymer.Collection.get(this.items);}else if(!this.items){this.collection=null;}else{this._error(this._logf('dom-repeat','expected array for `items`,'+' found',this.items));}
4173this._keySplices=[];this._indexSplices=[];this._needFullRefresh=true;this._initializeChunking();this._debounceTemplate(this._render);}else if(change.path=='items.splices'){this._keySplices=this._keySplices.concat(change.value.keySplices);this._indexSplices=this._indexSplices.concat(change.value.indexSplices);this._debounceTemplate(this._render);}else{var subpath=change.path.slice(6);this._forwardItemPath(subpath,change.value);this._checkObservedPaths(subpath);}},_checkObservedPaths:function(path){if(this._observePaths){path=path.substring(path.indexOf('.')+1);var paths=this._observePaths;for(var i=0;i<paths.length;i++){if(path.indexOf(paths[i])===0){this._needFullRefresh=true;if(this.delay){this.debounce('render',this._render,this.delay);}else{this._debounceTemplate(this._render);}
4174return;}}}},render:function(){this._needFullRefresh=true;this._debounceTemplate(this._render);this._flushTemplates();},_render:function(){if(this._needFullRefresh){this._applyFullRefresh();this._needFullRefresh=false;}else if(this._keySplices.length){if(this._sortFn){this._applySplicesUserSort(this._keySplices);}else{if(this._filterFn){this._applyFullRefresh();}else{this._applySplicesArrayOrder(this._indexSplices);}}}else{}
4175this._keySplices=[];this._indexSplices=[];var keyToIdx=this._keyToInstIdx={};for(var i=this._instances.length-1;i>=0;i--){var inst=this._instances[i];if(inst.isPlaceholder&&i<this._limit){inst=this._insertInstance(i,inst.__key__);}else if(!inst.isPlaceholder&&i>=this._limit){inst=this._downgradeInstance(i,inst.__key__);}
4176keyToIdx[inst.__key__]=i;if(!inst.isPlaceholder){inst.__setProperty(this.indexAs,i,true);}}
4177this._pool.length=0;this._setRenderedItemCount(this._instances.length);if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}
4178this._tryRenderChunk();},_applyFullRefresh:function(){var c=this.collection;var keys;if(this._sortFn){keys=c?c.getKeys():[];}else{keys=[];var items=this.items;if(items){for(var i=0;i<items.length;i++){keys.push(c.getKey(items[i]));}}}
4179var self=this;if(this._filterFn){keys=keys.filter(function(a){return self._filterFn(c.getItem(a));});}
4180if(this._sortFn){keys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});}
4181for(i=0;i<keys.length;i++){var key=keys[i];var inst=this._instances[i];if(inst){inst.__key__=key;if(!inst.isPlaceholder&&i<this._limit){inst.__setProperty(this.as,c.getItem(key),true);}}else if(i<this._limit){this._insertInstance(i,key);}else{this._insertPlaceholder(i,key);}}
4182for(var j=this._instances.length-1;j>=i;j--){this._detachAndRemoveInstance(j);}},_numericSort:function(a,b){return a-b;},_applySplicesUserSort:function(splices){var c=this.collection;var keyMap={};var key;for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){key=s.removed[j];keyMap[key]=keyMap[key]?null:-1;}
4183for(j=0;j<s.added.length;j++){key=s.added[j];keyMap[key]=keyMap[key]?null:1;}}
4184var removedIdxs=[];var addedKeys=[];for(key in keyMap){if(keyMap[key]===-1){removedIdxs.push(this._keyToInstIdx[key]);}
4185if(keyMap[key]===1){addedKeys.push(key);}}
4186if(removedIdxs.length){removedIdxs.sort(this._numericSort);for(i=removedIdxs.length-1;i>=0;i--){var idx=removedIdxs[i];if(idx!==undefined){this._detachAndRemoveInstance(idx);}}}
4187var self=this;if(addedKeys.length){if(this._filterFn){addedKeys=addedKeys.filter(function(a){return self._filterFn(c.getItem(a));});}
4188addedKeys.sort(function(a,b){return self._sortFn(c.getItem(a),c.getItem(b));});var start=0;for(i=0;i<addedKeys.length;i++){start=this._insertRowUserSort(start,addedKeys[i]);}}},_insertRowUserSort:function(start,key){var c=this.collection;var item=c.getItem(key);var end=this._instances.length-1;var idx=-1;while(start<=end){var mid=start+end>>1;var midKey=this._instances[mid].__key__;var cmp=this._sortFn(c.getItem(midKey),item);if(cmp<0){start=mid+1;}else if(cmp>0){end=mid-1;}else{idx=mid;break;}}
4189if(idx<0){idx=end+1;}
4190this._insertPlaceholder(idx,key);return idx;},_applySplicesArrayOrder:function(splices){for(var i=0,s;i<splices.length&&(s=splices[i]);i++){for(var j=0;j<s.removed.length;j++){this._detachAndRemoveInstance(s.index);}
4191for(j=0;j<s.addedKeys.length;j++){this._insertPlaceholder(s.index+j,s.addedKeys[j]);}}},_detachInstance:function(idx){var inst=this._instances[idx];if(!inst.isPlaceholder){for(var i=0;i<inst._children.length;i++){var el=inst._children[i];Polymer.dom(inst.root).appendChild(el);}
4192return inst;}},_attachInstance:function(idx,parent){var inst=this._instances[idx];if(!inst.isPlaceholder){parent.insertBefore(inst.root,this);}},_detachAndRemoveInstance:function(idx){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
4193this._instances.splice(idx,1);},_insertPlaceholder:function(idx,key){this._instances.splice(idx,0,{isPlaceholder:true,__key__:key});},_stampInstance:function(idx,key){var model={__key__:key};model[this.as]=this.collection.getItem(key);model[this.indexAs]=idx;return this.stamp(model);},_insertInstance:function(idx,key){var inst=this._pool.pop();if(inst){inst.__setProperty(this.as,this.collection.getItem(key),true);inst.__setProperty('__key__',key,true);}else{inst=this._stampInstance(idx,key);}
4194var beforeRow=this._instances[idx+1];var beforeNode=beforeRow&&!beforeRow.isPlaceholder?beforeRow._children[0]:this;var parentNode=Polymer.dom(this).parentNode;Polymer.dom(parentNode).insertBefore(inst.root,beforeNode);this._instances[idx]=inst;return inst;},_downgradeInstance:function(idx,key){var inst=this._detachInstance(idx);if(inst){this._pool.push(inst);}
4195inst={isPlaceholder:true,__key__:key};this._instances[idx]=inst;return inst;},_showHideChildren:function(hidden){for(var i=0;i<this._instances.length;i++){if(!this._instances[i].isPlaceholder)
4196this._instances[i]._showHideChildren(hidden);}},_forwardInstanceProp:function(inst,prop,value){if(prop==this.as){var idx;if(this._sortFn||this._filterFn){idx=this.items.indexOf(this.collection.getItem(inst.__key__));}else{idx=inst[this.indexAs];}
4197this.set('items.'+idx,value);}},_forwardInstancePath:function(inst,path,value){if(path.indexOf(this.as+'.')===0){this._notifyPath('items.'+inst.__key__+'.'+path.slice(this.as.length+1),value);}},_forwardParentProp:function(prop,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst.__setProperty(prop,value,true);}}},_forwardParentPath:function(path,value){var i$=this._instances;for(var i=0,inst;i<i$.length&&(inst=i$[i]);i++){if(!inst.isPlaceholder){inst._notifyPath(path,value,true);}}},_forwardItemPath:function(path,value){if(this._keyToInstIdx){var dot=path.indexOf('.');var key=path.substring(0,dot<0?path.length:dot);var idx=this._keyToInstIdx[key];var inst=this._instances[idx];if(inst&&!inst.isPlaceholder){if(dot>=0){path=this.as+'.'+path.substring(dot+1);inst._notifyPath(path,value,true);}else{inst.__setProperty(this.as,value,true);}}}},itemForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.as];},keyForElement:function(el){var instance=this.modelForElement(el);return instance&&instance.__key__;},indexForElement:function(el){var instance=this.modelForElement(el);return instance&&instance[this.indexAs];}});Polymer({is:'array-selector',_template:null,properties:{items:{type:Array,observer:'clearSelection'},multi:{type:Boolean,value:false,observer:'clearSelection'},selected:{type:Object,notify:true},selectedItem:{type:Object,notify:true},toggle:{type:Boolean,value:false}},clearSelection:function(){if(Array.isArray(this.selected)){for(var i=0;i<this.selected.length;i++){this.unlinkPaths('selected.'+i);}}else{this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}
4198if(this.multi){if(!this.selected||this.selected.length){this.selected=[];this._selectedColl=Polymer.Collection.get(this.selected);}}else{this.selected=null;this._selectedColl=null;}
4199this.selectedItem=null;},isSelected:function(item){if(this.multi){return this._selectedColl.getKey(item)!==undefined;}else{return this.selected==item;}},deselect:function(item){if(this.multi){if(this.isSelected(item)){var skey=this._selectedColl.getKey(item);this.arrayDelete('selected',item);this.unlinkPaths('selected.'+skey);}}else{this.selected=null;this.selectedItem=null;this.unlinkPaths('selected');this.unlinkPaths('selectedItem');}},select:function(item){var icol=Polymer.Collection.get(this.items);var key=icol.getKey(item);if(this.multi){if(this.isSelected(item)){if(this.toggle){this.deselect(item);}}else{this.push('selected',item);var skey=this._selectedColl.getKey(item);this.linkPaths('selected.'+skey,'items.'+key);}}else{if(this.toggle&&item==this.selected){this.deselect();}else{this.selected=item;this.selectedItem=item;this.linkPaths('selected','items.'+key);this.linkPaths('selectedItem','items.'+key);}}}});Polymer({is:'dom-if',extends:'template',_template:null,properties:{'if':{type:Boolean,value:false,observer:'_queueRender'},restamp:{type:Boolean,value:false,observer:'_queueRender'},notifyDomChange:{type:Boolean}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render);},detached:function(){if(!this.parentNode||this.parentNode.nodeType==Node.DOCUMENT_FRAGMENT_NODE&&(!Polymer.Settings.hasShadow||!(this.parentNode instanceof ShadowRoot))){this._teardownInstance();}},attached:function(){if(this.if&&this.ctor){this.async(this._ensureInstance);}},render:function(){this._flushTemplates();},_render:function(){if(this.if){if(!this.ctor){this.templatize(this);}
4200this._ensureInstance();this._showHideChildren();}else if(this.restamp){this._teardownInstance();}
4201if(!this.restamp&&this._instance){this._showHideChildren();}
4202if(this.if!=this._lastIf){if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}
4203this._lastIf=this.if;}},_ensureInstance:function(){var parentNode=Polymer.dom(this).parentNode;if(parentNode){var parent=Polymer.dom(parentNode);if(!this._instance){this._instance=this.stamp();var root=this._instance.root;parent.insertBefore(root,this);}else{var c$=this._instance._children;if(c$&&c$.length){var lastChild=Polymer.dom(this).previousSibling;if(lastChild!==c$[c$.length-1]){for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.insertBefore(n,this);}}}}}},_teardownInstance:function(){if(this._instance){var c$=this._instance._children;if(c$&&c$.length){var parent=Polymer.dom(Polymer.dom(c$[0]).parentNode);for(var i=0,n;i<c$.length&&(n=c$[i]);i++){parent.removeChild(n);}}
4204this._instance=null;}},_showHideChildren:function(){var hidden=this.__hideTemplateChildren__||!this.if;if(this._instance){this._instance._showHideChildren(hidden);}},_forwardParentProp:function(prop,value){if(this._instance){this._instance.__setProperty(prop,value,true);}},_forwardParentPath:function(path,value){if(this._instance){this._instance._notifyPath(path,value,true);}}});Polymer({is:'dom-bind',properties:{notifyDomChange:{type:Boolean}},extends:'template',_template:null,created:function(){var self=this;Polymer.RenderStatus.whenReady(function(){if(document.readyState=='loading'){document.addEventListener('DOMContentLoaded',function(){self._markImportsReady();});}else{self._markImportsReady();}});},_ensureReady:function(){if(!this._readied){this._readySelf();}},_markImportsReady:function(){this._importsReady=true;this._ensureReady();},_registerFeatures:function(){this._prepConstructor();},_insertChildren:function(){var parentDom=Polymer.dom(Polymer.dom(this).parentNode);parentDom.insertBefore(this.root,this);},_removeChildren:function(){if(this._children){for(var i=0;i<this._children.length;i++){this.root.appendChild(this._children[i]);}}},_initFeatures:function(){},_scopeElementClass:function(element,selector){if(this.dataHost){return this.dataHost._scopeElementClass(element,selector);}else{return selector;}},_configureInstanceProperties:function(){},_prepConfigure:function(){var config={};for(var prop in this._propertyEffects){config[prop]=this[prop];}
4205var setupConfigure=this._setupConfigure;this._setupConfigure=function(){setupConfigure.call(this,config);};},attached:function(){if(this._importsReady){this.render();}},detached:function(){this._removeChildren();},render:function(){this._ensureReady();if(!this._children){this._template=this;this._prepAnnotations();this._prepEffects();this._prepBehaviors();this._prepConfigure();this._prepBindings();this._prepPropertyInfo();Polymer.Base._initFeatures.call(this);this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root);}
4206this._insertChildren();if(!Polymer.Settings.suppressTemplateNotifications||this.notifyDomChange){this.fire('dom-change');}}});'use strict';if(!Polymer.Settings.useNativeShadow){tr.b.showPanic('Polymer error','base only works in shadow mode');}'use strict';const global=this.window||this.global;this.tr=(function(){if(global.tr)return global.tr;function exportPath(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{cur=cur[part]={};}}
4207return cur;}
4208function isExported(name){const parts=name.split('.');let cur=global;for(let part;parts.length&&(part=parts.shift());){if(part in cur){cur=cur[part];}else{return false;}}
4209return true;}
4210function isDefined(name){const parts=name.split('.');let curObject=global;for(let i=0;i<parts.length;i++){const partName=parts[i];const nextObject=curObject[partName];if(nextObject===undefined)return false;curObject=nextObject;}
4211return true;}
4212let panicElement=undefined;const rawPanicMessages=[];function showPanicElementIfNeeded(){if(panicElement)return;const panicOverlay=document.createElement('div');panicOverlay.style.backgroundColor='white';panicOverlay.style.border='3px solid red';panicOverlay.style.boxSizing='border-box';panicOverlay.style.color='black';panicOverlay.style.display='-webkit-flex';panicOverlay.style.height='100%';panicOverlay.style.left=0;panicOverlay.style.padding='8px';panicOverlay.style.position='fixed';panicOverlay.style.top=0;panicOverlay.style.webkitFlexDirection='column';panicOverlay.style.width='100%';panicElement=document.createElement('div');panicElement.style.webkitFlex='1 1 auto';panicElement.style.overflow='auto';panicOverlay.appendChild(panicElement);if(!document.body){setTimeout(function(){document.body.appendChild(panicOverlay);},150);}else{document.body.appendChild(panicOverlay);}}
4213function showPanic(panicTitle,panicDetails){if(tr.isHeadless){if(panicDetails instanceof Error)throw panicDetails;throw new Error('Panic: '+panicTitle+':\n'+panicDetails);}
4214if(panicDetails instanceof Error){panicDetails=panicDetails.stack;}
4215showPanicElementIfNeeded();const panicMessageEl=document.createElement('div');panicMessageEl.innerHTML='<h2 id="message"></h2>'+'<pre id="details"></pre>';panicMessageEl.querySelector('#message').textContent=panicTitle;panicMessageEl.querySelector('#details').textContent=panicDetails;panicElement.appendChild(panicMessageEl);rawPanicMessages.push({title:panicTitle,details:panicDetails});}
4216function hasPanic(){return rawPanicMessages.length!==0;}
4217function getPanicText(){return rawPanicMessages.map(function(msg){return msg.title;}).join(', ');}
4218function exportTo(namespace,fn){const obj=exportPath(namespace);const exports=fn();for(const propertyName in exports){const propertyDescriptor=Object.getOwnPropertyDescriptor(exports,propertyName);if(propertyDescriptor){Object.defineProperty(obj,propertyName,propertyDescriptor);}}}
4219function initialize(){if(global.isVinn){tr.isVinn=true;}else if(global.process&&global.process.versions.node){tr.isNode=true;}else{tr.isVinn=false;tr.isNode=false;tr.doc=document;tr.isMac=/Mac/.test(navigator.platform);tr.isWindows=/Win/.test(navigator.platform);tr.isChromeOS=/CrOS/.test(navigator.userAgent);tr.isLinux=/Linux/.test(navigator.userAgent);}
4220tr.isHeadless=tr.isVinn||tr.isNode;}
4221return{initialize,exportTo,isExported,isDefined,showPanic,hasPanic,getPanicText,};})();tr.initialize();'use strict';tr.exportTo('tr.b',function(){function EventTarget(){}
4222EventTarget.decorate=function(target){for(const k in EventTarget.prototype){if(k==='decorate')continue;const v=EventTarget.prototype[k];if(typeof v!=='function')continue;target[k]=v;}};EventTarget.prototype={addEventListener(type,handler){if(!this.listeners_){this.listeners_=Object.create(null);}
4223if(!(type in this.listeners_)){this.listeners_[type]=[handler];}else{const handlers=this.listeners_[type];if(handlers.indexOf(handler)<0){handlers.push(handler);}}},removeEventListener(type,handler){if(!this.listeners_)return;if(type in this.listeners_){const handlers=this.listeners_[type];const index=handlers.indexOf(handler);if(index>=0){if(handlers.length===1){delete this.listeners_[type];}else{handlers.splice(index,1);}}}},dispatchEvent(event){if(!this.listeners_)return true;event.__defineGetter__('target',()=>this);const realPreventDefault=event.preventDefault;event.preventDefault=function(){realPreventDefault.call(this);this.rawReturnValue=false;};const type=event.type;let prevented=0;if(type in this.listeners_){const handlers=this.listeners_[type].concat();for(let i=0,handler;handler=handlers[i];i++){if(handler.handleEvent){prevented|=handler.handleEvent.call(handler,event)===false;}else{prevented|=handler.call(this,event)===false;}}}
4224return!prevented&&event.rawReturnValue;},async dispatchAsync(event){if(!this.listeners_)return true;const listeners=this.listeners_[event.type];if(listeners===undefined)return;await Promise.all(listeners.slice().map(listener=>{if(listener.handleEvent){return listener.handleEvent.call(listener,event);}
4225return listener.call(this,event);}));},hasEventListener(type){return(this.listeners_!==undefined&&this.listeners_[type]!==undefined);}};return{EventTarget,};});'use strict';tr.exportTo('tr.b',function(){function RegisteredTypeInfo(constructor,metadata){this.constructor=constructor;this.metadata=metadata;}
4226const BASIC_REGISTRY_MODE='BASIC_REGISTRY_MODE';const TYPE_BASED_REGISTRY_MODE='TYPE_BASED_REGISTRY_MODE';const ALL_MODES={BASIC_REGISTRY_MODE:true,TYPE_BASED_REGISTRY_MODE:true};function ExtensionRegistryOptions(mode){if(mode===undefined){throw new Error('Mode is required');}
4227if(!ALL_MODES[mode]){throw new Error('Not a mode.');}
4228this.mode_=mode;this.defaultMetadata_={};this.defaultConstructor_=undefined;this.defaultTypeInfo_=undefined;this.frozen_=false;}
4229ExtensionRegistryOptions.prototype={freeze(){if(this.frozen_){throw new Error('Frozen');}
4230this.frozen_=true;},get mode(){return this.mode_;},get defaultMetadata(){return this.defaultMetadata_;},set defaultMetadata(defaultMetadata){if(this.frozen_){throw new Error('Frozen');}
4231this.defaultMetadata_=defaultMetadata;this.defaultTypeInfo_=undefined;},get defaultConstructor(){return this.defaultConstructor_;},set defaultConstructor(defaultConstructor){if(this.frozen_){throw new Error('Frozen');}
4232this.defaultConstructor_=defaultConstructor;this.defaultTypeInfo_=undefined;},get defaultTypeInfo(){if(this.defaultTypeInfo_===undefined&&this.defaultConstructor_){this.defaultTypeInfo_=new RegisteredTypeInfo(this.defaultConstructor,this.defaultMetadata);}
4233return this.defaultTypeInfo_;},validateConstructor(constructor){if(!this.mandatoryBaseClass)return;let curProto=constructor.prototype.__proto__;let ok=false;while(curProto){if(curProto===this.mandatoryBaseClass.prototype){ok=true;break;}
4234curProto=curProto.__proto__;}
4235if(!ok){throw new Error(constructor+'must be subclass of '+registry);}}};return{BASIC_REGISTRY_MODE,TYPE_BASED_REGISTRY_MODE,ExtensionRegistryOptions,RegisteredTypeInfo,};});'use strict';tr.exportTo('tr.b',function(){let Event;if(tr.isHeadless){function HeadlessEvent(type,opt_bubbles,opt_preventable){this.type=type;this.bubbles=(opt_bubbles!==undefined?!!opt_bubbles:false);this.cancelable=(opt_preventable!==undefined?!!opt_preventable:false);this.defaultPrevented=false;this.cancelBubble=false;}
4236HeadlessEvent.prototype={preventDefault(){this.defaultPrevented=true;},stopPropagation(){this.cancelBubble=true;}};Event=HeadlessEvent;}else{function TrEvent(type,opt_bubbles,opt_preventable){const e=tr.doc.createEvent('Event');e.initEvent(type,!!opt_bubbles,!!opt_preventable);e.__proto__=global.Event.prototype;return e;}
4237TrEvent.prototype={__proto__:global.Event.prototype};Event=TrEvent;}
4238function dispatchSimpleEvent(target,type,opt_bubbles,opt_cancelable,opt_fields){const e=new tr.b.Event(type,opt_bubbles,opt_cancelable);Object.assign(e,opt_fields);return target.dispatchEvent(e);}
4239async function dispatchSimpleEventAsync(target,type,opt_fields){const e=new tr.b.Event(type,false,false);Object.assign(e,opt_fields);return await target.dispatchAsync(e);}
4240return{Event,dispatchSimpleEvent,dispatchSimpleEventAsync,};});'use strict';tr.exportTo('tr.b',function(){const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateBasicExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.register=function(constructor,opt_metadata){if(registry.findIndexOfRegisteredConstructor(constructor)!==undefined){throw new Error('Handler already registered for '+constructor);}
4241extensionRegistryOptions.validateConstructor(constructor);const metadata={};for(const k in extensionRegistryOptions.defaultMetadata){metadata[k]=extensionRegistryOptions.defaultMetadata[k];}
4242if(opt_metadata){for(const k in opt_metadata){metadata[k]=opt_metadata[k];}}
4243const typeInfo=new RegisteredTypeInfo(constructor,metadata);let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push(registry.registeredTypeInfos_);registry.registeredTypeInfos_=[];const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){registry.registeredTypeInfos_=savedStateStack[0];savedStateStack.splice(0,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.findIndexOfRegisteredConstructor=function(constructor){for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){return i;}}
4244return undefined;};registry.unregister=function(constructor){const foundIndex=registry.findIndexOfRegisteredConstructor(constructor);if(foundIndex===undefined){throw new Error(constructor+' not registered');}
4245registry.registeredTypeInfos_.splice(foundIndex,1);const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getAllRegisteredTypeInfos=function(){return registry.registeredTypeInfos_;};registry.findTypeInfo=function(constructor){const foundIndex=this.findIndexOfRegisteredConstructor(constructor);if(foundIndex!==undefined){return this.registeredTypeInfos_[foundIndex];}
4246return undefined;};registry.findTypeInfoMatching=function(predicate,opt_this){opt_this=opt_this?opt_this:undefined;for(let i=0;i<registry.registeredTypeInfos_.length;++i){const typeInfo=registry.registeredTypeInfos_[i];if(predicate.call(opt_this,typeInfo)){return typeInfo;}}
4247return extensionRegistryOptions.defaultTypeInfo;};registry.findTypeInfoWithName=function(name){if(typeof(name)!=='string'){throw new Error('Name is not a string.');}
4248const typeInfo=registry.findTypeInfoMatching(function(ti){return ti.constructor.name===name;});if(typeInfo)return typeInfo;return undefined;};}
4249return{_decorateBasicExtensionRegistry:decorateBasicExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){const categoryPartsFor={};function getCategoryParts(category){let parts=categoryPartsFor[category];if(parts!==undefined)return parts;parts=category.split(',');categoryPartsFor[category]=parts;return parts;}
4250return{getCategoryParts,};});'use strict';tr.exportTo('tr.b',function(){const getCategoryParts=tr.b.getCategoryParts;const RegisteredTypeInfo=tr.b.RegisteredTypeInfo;const ExtensionRegistryOptions=tr.b.ExtensionRegistryOptions;function decorateTypeBasedExtensionRegistry(registry,extensionRegistryOptions){const savedStateStack=[];registry.registeredTypeInfos_=[];registry.categoryPartToTypeInfoMap_=new Map();registry.typeNameToTypeInfoMap_=new Map();registry.register=function(constructor,metadata){extensionRegistryOptions.validateConstructor(constructor);const typeInfo=new RegisteredTypeInfo(constructor,metadata||extensionRegistryOptions.defaultMetadata);typeInfo.typeNames=[];typeInfo.categoryParts=[];if(metadata&&metadata.typeName){typeInfo.typeNames.push(metadata.typeName);}
4251if(metadata&&metadata.typeNames){typeInfo.typeNames.push.apply(typeInfo.typeNames,metadata.typeNames);}
4252if(metadata&&metadata.categoryParts){typeInfo.categoryParts.push.apply(typeInfo.categoryParts,metadata.categoryParts);}
4253if(typeInfo.typeNames.length===0&&typeInfo.categoryParts.length===0){throw new Error('typeName or typeNames must be provided');}
4254typeInfo.typeNames.forEach(function(typeName){if(registry.typeNameToTypeInfoMap_.has(typeName)){throw new Error('typeName '+typeName+' already registered');}});typeInfo.categoryParts.forEach(function(categoryPart){if(registry.categoryPartToTypeInfoMap_.has(categoryPart)){throw new Error('categoryPart '+categoryPart+' already registered');}});let e=new tr.b.Event('will-register');e.typeInfo=typeInfo;registry.dispatchEvent(e);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.set(typeName,typeInfo);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.set(categoryPart,typeInfo);});registry.registeredTypeInfos_.push(typeInfo);e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.pushCleanStateBeforeTest=function(){savedStateStack.push({registeredTypeInfos:registry.registeredTypeInfos_,typeNameToTypeInfoMap:registry.typeNameToTypeInfoMap_,categoryPartToTypeInfoMap:registry.categoryPartToTypeInfoMap_});registry.registeredTypeInfos_=[];registry.typeNameToTypeInfoMap_=new Map();registry.categoryPartToTypeInfoMap_=new Map();const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.popCleanStateAfterTest=function(){const state=savedStateStack[0];savedStateStack.splice(0,1);registry.registeredTypeInfos_=state.registeredTypeInfos;registry.typeNameToTypeInfoMap_=state.typeNameToTypeInfoMap;registry.categoryPartToTypeInfoMap_=state.categoryPartToTypeInfoMap;const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.unregister=function(constructor){let typeInfoIndex=-1;for(let i=0;i<registry.registeredTypeInfos_.length;i++){if(registry.registeredTypeInfos_[i].constructor===constructor){typeInfoIndex=i;break;}}
4255if(typeInfoIndex===-1){throw new Error(constructor+' not registered');}
4256const typeInfo=registry.registeredTypeInfos_[typeInfoIndex];registry.registeredTypeInfos_.splice(typeInfoIndex,1);typeInfo.typeNames.forEach(function(typeName){registry.typeNameToTypeInfoMap_.delete(typeName);});typeInfo.categoryParts.forEach(function(categoryPart){registry.categoryPartToTypeInfoMap_.delete(categoryPart);});const e=new tr.b.Event('registry-changed');registry.dispatchEvent(e);};registry.getTypeInfo=function(category,typeName){if(category){const categoryParts=getCategoryParts(category);for(let i=0;i<categoryParts.length;i++){const categoryPart=categoryParts[i];const typeInfo=registry.categoryPartToTypeInfoMap_.get(categoryPart);if(typeInfo!==undefined)return typeInfo;}}
4257const typeInfo=registry.typeNameToTypeInfoMap_.get(typeName);if(typeInfo!==undefined)return typeInfo;return extensionRegistryOptions.defaultTypeInfo;};registry.getConstructor=function(category,typeName){const typeInfo=registry.getTypeInfo(category,typeName);if(typeInfo)return typeInfo.constructor;return undefined;};}
4258return{_decorateTypeBasedExtensionRegistry:decorateTypeBasedExtensionRegistry};});'use strict';tr.exportTo('tr.b',function(){function asArray(x){const values=[];if(x[Symbol.iterator]){for(const value of x){values.push(value);}}else{for(let i=0;i<x.length;i++){values.push(x[i]);}}
4259return values;}
4260function getOnlyElement(iterable){const iterator=iterable[Symbol.iterator]();const firstIteration=iterator.next();if(firstIteration.done){throw new Error('getOnlyElement was passed an empty iterable.');}
4261const secondIteration=iterator.next();if(!secondIteration.done){throw new Error('getOnlyElement was passed an iterable with multiple elements.');}
4262return firstIteration.value;}
4263function getFirstElement(iterable){const iterator=iterable[Symbol.iterator]();const result=iterator.next();if(result.done){throw new Error('getFirstElement was passed an empty iterable.');}
4264return result.value;}
4265function compareArrays(x,y,elementCmp){const minLength=Math.min(x.length,y.length);let i;for(i=0;i<minLength;i++){const tmp=elementCmp(x[i],y[i]);if(tmp)return tmp;}
4266if(x.length===y.length)return 0;if(x[i]===undefined)return-1;return 1;}
4267function comparePossiblyUndefinedValues(x,y,cmp,opt_this){if(x!==undefined&&y!==undefined){return cmp.call(opt_this,x,y);}
4268if(x!==undefined)return-1;if(y!==undefined)return 1;return 0;}
4269function concatenateObjects(){const result={};for(let i=0;i<arguments.length;i++){const object=arguments[i];for(const j in object){result[j]=object[j];}}
4270return result;}
4271function dictionaryContainsValue(dict,value){for(const key in dict){if(dict[key]===value){return true;}}
4272return false;}
4273function groupIntoMap(ary,callback,opt_this,opt_arrayConstructor){const arrayConstructor=opt_arrayConstructor||Array;const results=new Map();for(const element of ary){const key=callback.call(opt_this,element);let items=results.get(key);if(items===undefined){items=new arrayConstructor();results.set(key,items);}
4274items.push(element);}
4275return results;}
4276function mapItems(dict,fn,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];result[key]=fn.call(opt_this,key,dict[key]);}
4277return result;}
4278function filterItems(dict,predicate,opt_this){opt_this=opt_this||this;const result={};const keys=Object.keys(dict);for(let i=0;i<keys.length;i++){const key=keys[i];const value=dict[key];if(predicate.call(opt_this,key,value)){result[key]=value;}}
4279return result;}
4280function inPlaceFilter(array,predicate,opt_this){opt_this=opt_this||this;let nextPosition=0;for(let i=0;i<array.length;i++){if(!predicate.call(opt_this,array[i],i))continue;if(nextPosition<i){array[nextPosition]=array[i];}
4281nextPosition++;}
4282if(nextPosition<array.length){array.length=nextPosition;}}
4283function iterObjectFieldsRecursively(object,func){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){func(object,i,object[i]);iterObjectFieldsRecursively(object[i],func);}
4284return;}
4285for(const key in object){const value=object[key];func(object,key,value);iterObjectFieldsRecursively(value,func);}}
4286function invertArrayOfDicts(array,opt_dictGetter,opt_this){opt_this=opt_this||this;const result={};for(let i=0;i<array.length;i++){const item=array[i];if(item===undefined)continue;const dict=opt_dictGetter?opt_dictGetter.call(opt_this,item):item;if(dict===undefined)continue;for(const key in dict){let valueList=result[key];if(valueList===undefined){result[key]=valueList=new Array(array.length);}
4287valueList[i]=dict[key];}}
4288return result;}
4289function arrayToDict(array,valueToKeyFn,opt_this){opt_this=opt_this||this;const result={};const length=array.length;for(let i=0;i<length;i++){const value=array[i];const key=valueToKeyFn.call(opt_this,value);result[key]=value;}
4290return result;}
4291function identity(d){return d;}
4292function findFirstIndexInArray(ary,opt_func,opt_this){const func=opt_func||identity;for(let i=0;i<ary.length;i++){if(func.call(opt_this,ary[i],i))return i;}
4293return-1;}
4294function findFirstInArray(ary,opt_func,opt_this){const i=findFirstIndexInArray(ary,opt_func,opt_func);if(i===-1)return undefined;return ary[i];}
4295function findFirstKeyInDictMatching(dict,opt_func,opt_this){const func=opt_func||identity;for(const key in dict){if(func.call(opt_this,key,dict[key])){return key;}}
4296return undefined;}
4297function mapValues(map){const values=[];for(const value of map.values()){values.push(value);}
4298return values;}
4299function setsEqual(a,b){if(!(a instanceof Set)||!(b instanceof Set))return false;if(a.size!==b.size)return false;for(const x of a){if(!b.has(x))return false;}
4300return true;}
4301return{asArray,concatenateObjects,compareArrays,comparePossiblyUndefinedValues,dictionaryContainsValue,getOnlyElement,getFirstElement,groupIntoMap,mapItems,filterItems,inPlaceFilter,iterObjectFieldsRecursively,invertArrayOfDicts,arrayToDict,identity,findFirstIndexInArray,findFirstInArray,findFirstKeyInDictMatching,mapValues,setsEqual,};});'use strict';tr.exportTo('tr.b',function(){function decorateExtensionRegistry(registry,registryOptions){if(registry.register){throw new Error('Already has registry');}
4302registryOptions.freeze();if(registryOptions.mode===tr.b.BASIC_REGISTRY_MODE){tr.b._decorateBasicExtensionRegistry(registry,registryOptions);}else if(registryOptions.mode===tr.b.TYPE_BASED_REGISTRY_MODE){tr.b._decorateTypeBasedExtensionRegistry(registry,registryOptions);}else{throw new Error('Unrecognized mode');}
4303if(registry.addEventListener===undefined){tr.b.EventTarget.decorate(registry);}}
4304return{decorateExtensionRegistry,};});'use strict';tr.exportTo('tr.importer',function(){function Importer(){}
4305Importer.prototype={__proto__:Object.prototype,get importerName(){return'Importer';},isTraceDataContainer(){return false;},extractSubtraces(){return[];},importClockSyncMarkers(){},importEvents(){},importSampleData(){},finalizeImport(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Importer;tr.b.decorateExtensionRegistry(Importer,options);Importer.findImporterFor=function(eventData){const typeInfo=Importer.findTypeInfoMatching(function(ti){return ti.constructor.canImport(eventData);});if(typeInfo){return typeInfo.constructor;}
4306return undefined;};return{Importer,};});'use strict';tr.exportTo('tr.e.importer.gcloud_trace',function(){function GcloudTraceImporter(model,eventData){this.importPriority=2;this.eventData_=eventData;}
4307GcloudTraceImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;}
4308const normalizedEventData=eventData.slice(0,20).replace(/\s/g,'');if(normalizedEventData.length<14)return false;return normalizedEventData.slice(0,14)==='{"projectId":"';};GcloudTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GcloudTraceImporter';},extractSubtraces(){const traceEvents=this.createEventsForTrace();return traceEvents?[traceEvents]:[];},createEventsForTrace(){const events=[];const trace=JSON.parse(this.eventData_);const spanLength=trace.spans.length;for(let i=0;i<spanLength;i++){events.push(this.createEventForSpan(trace.traceId,trace.spans[i]));}
4309return{'traceEvents':events};},createEventForSpan(traceId,span){let newArgs={};if(span.labels){newArgs=JSON.parse(JSON.stringify(span.labels));}
4310newArgs['Span ID']=span.spanId;newArgs['Start Time']=span.startTime;newArgs['End Time']=span.endTime;if(span.parentSpanId){newArgs['Parent Span ID']=span.parentSpanId;}
4311return{name:span.name,args:newArgs,pid:traceId,ts:Date.parse(span.startTime)*1000,dur:(Date.parse(span.endTime)-Date.parse(span.startTime))*1000,cat:'tracespan',tid:traceId,ph:'X'};}};tr.importer.Importer.register(GcloudTraceImporter);return{GcloudTraceImporter,};});'use strict';tr.exportTo('tr.b.math',function(){function convertEventsToRanges(events){return events.map(function(event){return tr.b.math.Range.fromExplicitRange(event.start,event.end);});}
4312function mergeRanges(inRanges,mergeThreshold,mergeFunction){const remainingEvents=inRanges.slice();remainingEvents.sort(function(x,y){return x.min-y.min;});if(remainingEvents.length<=1){const merged=[];if(remainingEvents.length===1){merged.push(mergeFunction(remainingEvents));}
4313return merged;}
4314const mergedEvents=[];let currentMergeBuffer=[];let rightEdge;function beginMerging(){currentMergeBuffer.push(remainingEvents[0]);remainingEvents.splice(0,1);rightEdge=currentMergeBuffer[0].max;}
4315function flushCurrentMergeBuffer(){if(currentMergeBuffer.length===0)return;mergedEvents.push(mergeFunction(currentMergeBuffer));currentMergeBuffer=[];if(remainingEvents.length!==0)beginMerging();}
4316beginMerging();while(remainingEvents.length){const currentEvent=remainingEvents[0];const distanceFromRightEdge=currentEvent.min-rightEdge;if(distanceFromRightEdge<mergeThreshold){rightEdge=Math.max(rightEdge,currentEvent.max);remainingEvents.splice(0,1);currentMergeBuffer.push(currentEvent);continue;}
4317flushCurrentMergeBuffer();}
4318flushCurrentMergeBuffer();return mergedEvents;}
4319function findEmptyRangesBetweenRanges(inRanges,opt_totalRange){if(opt_totalRange&&opt_totalRange.isEmpty)opt_totalRange=undefined;const emptyRanges=[];if(!inRanges.length){if(opt_totalRange)emptyRanges.push(opt_totalRange);return emptyRanges;}
4320inRanges=inRanges.slice();inRanges.sort(function(x,y){return x.min-y.min;});if(opt_totalRange&&(opt_totalRange.min<inRanges[0].min)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(opt_totalRange.min,inRanges[0].min));}
4321inRanges.forEach(function(range,index){for(let otherIndex=0;otherIndex<inRanges.length;++otherIndex){if(index===otherIndex)continue;const other=inRanges[otherIndex];if(other.min>range.max){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,other.min));return;}
4322if(other.max>range.max){return;}}
4323if(opt_totalRange&&(range.max<opt_totalRange.max)){emptyRanges.push(tr.b.math.Range.fromExplicitRange(range.max,opt_totalRange.max));}});return emptyRanges;}
4324return{convertEventsToRanges,findEmptyRangesBetweenRanges,mergeRanges,};});!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define(n);else{var r=n();for(var a in r)("object"==typeof exports?exports:t)[a]=r[a]}}(this,function(){return function(t){function n(a){if(r[a])return r[a].exports;var e=r[a]={exports:{},id:a,loaded:!1};return t[a].call(e.exports,e,e.exports,n),e.loaded=!0,e.exports}var r={};return n.m=t,n.c=r,n.p="",n(0)}([function(t,n,r){n.glMatrix=r(1),n.mat2=r(2),n.mat2d=r(3),n.mat3=r(4),n.mat4=r(5),n.quat=r(6),n.vec2=r(9),n.vec3=r(7),n.vec4=r(8)},function(t,n,r){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.setMatrixArrayType=function(t){GLMAT_ARRAY_TYPE=t};var e=Math.PI/180;a.toRadian=function(t){return t*e},t.exports=a},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1];t[1]=n[2],t[2]=r}else t[0]=n[0],t[1]=n[2],t[2]=n[1],t[3]=n[3];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*u-e*a;return o?(o=1/o,t[0]=u*o,t[1]=-a*o,t[2]=-e*o,t[3]=r*o,t):null},e.adjoint=function(t,n){var r=n[0];return t[0]=n[3],t[1]=-n[1],t[2]=-n[2],t[3]=r,t},e.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*i+u*c,t[1]=e*i+o*c,t[2]=a*f+u*s,t[3]=e*f+o*s,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+u*i,t[1]=e*c+o*i,t[2]=a*-i+u*c,t[3]=e*-i+o*c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1];return t[0]=a*i,t[1]=e*i,t[2]=u*c,t[3]=o*c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t},e.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},e.LDU=function(t,n,r,a){return t[2]=a[2]/a[0],r[0]=a[0],r[1]=a[1],r[3]=a[3]-t[2]*r[1],[t,n,r]},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(6);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=r*u-a*e;return c?(c=1/c,t[0]=u*c,t[1]=-a*c,t[2]=-e*c,t[3]=r*c,t[4]=(e*i-u*o)*c,t[5]=(a*o-r*i)*c,t):null},e.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1],h=r[2],M=r[3],l=r[4],v=r[5];return t[0]=a*f+u*s,t[1]=e*f+o*s,t[2]=a*h+u*M,t[3]=e*h+o*M,t[4]=a*l+u*v+i,t[5]=e*l+o*v+c,t},e.mul=e.multiply,e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=Math.sin(r),s=Math.cos(r);return t[0]=a*s+u*f,t[1]=e*s+o*f,t[2]=a*-f+u*s,t[3]=e*-f+o*s,t[4]=i,t[5]=c,t},e.scale=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a*f,t[1]=e*f,t[2]=u*s,t[3]=o*s,t[4]=i,t[5]=c,t},e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=r[0],s=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=a*f+u*s+i,t[5]=e*f+o*s+c,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=-r,t[3]=a,t[4]=0,t[5]=0,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=n[1],t[4]=0,t[5]=0,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=n[0],t[5]=n[1],t},e.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat4=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[4],t[4]=n[5],t[5]=n[6],t[6]=n[8],t[7]=n[9],t[8]=n[10],t},e.clone=function(t){var n=new a.ARRAY_TYPE(9);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[5];t[1]=n[3],t[2]=n[6],t[3]=r,t[5]=n[7],t[6]=a,t[7]=e}else t[0]=n[0],t[1]=n[3],t[2]=n[6],t[3]=n[1],t[4]=n[4],t[5]=n[7],t[6]=n[2],t[7]=n[5],t[8]=n[8];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=s*o-i*f,M=-s*u+i*c,l=f*u-o*c,v=r*h+a*M+e*l;return v?(v=1/v,t[0]=h*v,t[1]=(-s*a+e*f)*v,t[2]=(i*a-e*o)*v,t[3]=M*v,t[4]=(s*r-e*c)*v,t[5]=(-i*r+e*u)*v,t[6]=l*v,t[7]=(-f*r+a*c)*v,t[8]=(o*r-a*u)*v,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8];return t[0]=o*s-i*f,t[1]=e*f-a*s,t[2]=a*i-e*o,t[3]=i*c-u*s,t[4]=r*s-e*c,t[5]=e*u-r*i,t[6]=u*f-o*c,t[7]=a*c-r*f,t[8]=r*o-a*u,t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8];return n*(f*u-o*c)+r*(-f*e+o*i)+a*(c*e-u*i)},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1],v=r[2],m=r[3],p=r[4],d=r[5],A=r[6],R=r[7],w=r[8];return t[0]=M*a+l*o+v*f,t[1]=M*e+l*i+v*s,t[2]=M*u+l*c+v*h,t[3]=m*a+p*o+d*f,t[4]=m*e+p*i+d*s,t[5]=m*u+p*c+d*h,t[6]=A*a+R*o+w*f,t[7]=A*e+R*i+w*s,t[8]=A*u+R*c+w*h,t},e.mul=e.multiply,e.translate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=r[0],l=r[1];return t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=M*a+l*o+f,t[7]=M*e+l*i+s,t[8]=M*u+l*c+h,t},e.rotate=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=Math.sin(r),l=Math.cos(r);return t[0]=l*a+M*o,t[1]=l*e+M*i,t[2]=l*u+M*c,t[3]=l*o-M*a,t[4]=l*i-M*e,t[5]=l*c-M*u,t[6]=f,t[7]=s,t[8]=h,t},e.scale=function(t,n,r){var a=r[0],e=r[1];return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=e*n[3],t[4]=e*n[4],t[5]=e*n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=n[0],t[7]=n[1],t[8]=1,t},e.fromRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=-r,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=n[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},e.fromMat2d=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=0,t[3]=n[2],t[4]=n[3],t[5]=0,t[6]=n[4],t[7]=n[5],t[8]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[3]=s-d,t[6]=M+p,t[1]=s+d,t[4]=1-f-v,t[7]=l-m,t[2]=M-p,t[5]=l+m,t[8]=1-f-h,t},e.normalFromMat4=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(c*P-o*b-f*x)*D,t[2]=(o*T-i*P+f*y)*D,t[3]=(e*T-a*b-u*E)*D,t[4]=(r*b-e*P+u*x)*D,t[5]=(a*P-r*T-u*y)*D,t[6]=(m*g-p*Y+d*q)*D,t[7]=(p*w-v*g-d*R)*D,t[8]=(v*Y-m*w+d*A)*D,t):null},e.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.clone=function(t){var n=new a.ARRAY_TYPE(16);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.transpose=function(t,n){if(t===n){var r=n[1],a=n[2],e=n[3],u=n[6],o=n[7],i=n[11];t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=r,t[6]=n[9],t[7]=n[13],t[8]=a,t[9]=u,t[11]=n[14],t[12]=e,t[13]=o,t[14]=i}else t[0]=n[0],t[1]=n[4],t[2]=n[8],t[3]=n[12],t[4]=n[1],t[5]=n[5],t[6]=n[9],t[7]=n[13],t[8]=n[2],t[9]=n[6],t[10]=n[10],t[11]=n[14],t[12]=n[3],t[13]=n[7],t[14]=n[11],t[15]=n[15];return t},e.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15],A=r*i-a*o,R=r*c-e*o,w=r*f-u*o,q=a*c-e*i,Y=a*f-u*i,g=e*f-u*c,y=s*m-h*v,x=s*p-M*v,P=s*d-l*v,E=h*p-M*m,T=h*d-l*m,b=M*d-l*p,D=A*b-R*T+w*E+q*P-Y*x+g*y;return D?(D=1/D,t[0]=(i*b-c*T+f*E)*D,t[1]=(e*T-a*b-u*E)*D,t[2]=(m*g-p*Y+d*q)*D,t[3]=(M*Y-h*g-l*q)*D,t[4]=(c*P-o*b-f*x)*D,t[5]=(r*b-e*P+u*x)*D,t[6]=(p*w-v*g-d*R)*D,t[7]=(s*g-M*w+l*R)*D,t[8]=(o*T-i*P+f*y)*D,t[9]=(a*P-r*T-u*y)*D,t[10]=(v*Y-m*w+d*A)*D,t[11]=(h*w-s*Y-l*A)*D,t[12]=(i*x-o*E-c*y)*D,t[13]=(r*E-a*x+e*y)*D,t[14]=(m*R-v*q-p*A)*D,t[15]=(s*q-h*R+M*A)*D,t):null},e.adjoint=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=n[4],i=n[5],c=n[6],f=n[7],s=n[8],h=n[9],M=n[10],l=n[11],v=n[12],m=n[13],p=n[14],d=n[15];return t[0]=i*(M*d-l*p)-h*(c*d-f*p)+m*(c*l-f*M),t[1]=-(a*(M*d-l*p)-h*(e*d-u*p)+m*(e*l-u*M)),t[2]=a*(c*d-f*p)-i*(e*d-u*p)+m*(e*f-u*c),t[3]=-(a*(c*l-f*M)-i*(e*l-u*M)+h*(e*f-u*c)),t[4]=-(o*(M*d-l*p)-s*(c*d-f*p)+v*(c*l-f*M)),t[5]=r*(M*d-l*p)-s*(e*d-u*p)+v*(e*l-u*M),t[6]=-(r*(c*d-f*p)-o*(e*d-u*p)+v*(e*f-u*c)),t[7]=r*(c*l-f*M)-o*(e*l-u*M)+s*(e*f-u*c),t[8]=o*(h*d-l*m)-s*(i*d-f*m)+v*(i*l-f*h),t[9]=-(r*(h*d-l*m)-s*(a*d-u*m)+v*(a*l-u*h)),t[10]=r*(i*d-f*m)-o*(a*d-u*m)+v*(a*f-u*i),t[11]=-(r*(i*l-f*h)-o*(a*l-u*h)+s*(a*f-u*i)),t[12]=-(o*(h*p-M*m)-s*(i*p-c*m)+v*(i*M-c*h)),t[13]=r*(h*p-M*m)-s*(a*p-e*m)+v*(a*M-e*h),t[14]=-(r*(i*p-c*m)-o*(a*p-e*m)+v*(a*c-e*i)),t[15]=r*(i*M-c*h)-o*(a*M-e*h)+s*(a*c-e*i),t},e.determinant=function(t){var n=t[0],r=t[1],a=t[2],e=t[3],u=t[4],o=t[5],i=t[6],c=t[7],f=t[8],s=t[9],h=t[10],M=t[11],l=t[12],v=t[13],m=t[14],p=t[15],d=n*o-r*u,A=n*i-a*u,R=n*c-e*u,w=r*i-a*o,q=r*c-e*o,Y=a*c-e*i,g=f*v-s*l,y=f*m-h*l,x=f*p-M*l,P=s*m-h*v,E=s*p-M*v,T=h*p-M*m;return d*T-A*E+R*P+w*x-q*y+Y*g},e.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],m=n[12],p=n[13],d=n[14],A=n[15],R=r[0],w=r[1],q=r[2],Y=r[3];return t[0]=R*a+w*i+q*h+Y*m,t[1]=R*e+w*c+q*M+Y*p,t[2]=R*u+w*f+q*l+Y*d,t[3]=R*o+w*s+q*v+Y*A,R=r[4],w=r[5],q=r[6],Y=r[7],t[4]=R*a+w*i+q*h+Y*m,t[5]=R*e+w*c+q*M+Y*p,t[6]=R*u+w*f+q*l+Y*d,t[7]=R*o+w*s+q*v+Y*A,R=r[8],w=r[9],q=r[10],Y=r[11],t[8]=R*a+w*i+q*h+Y*m,t[9]=R*e+w*c+q*M+Y*p,t[10]=R*u+w*f+q*l+Y*d,t[11]=R*o+w*s+q*v+Y*A,R=r[12],w=r[13],q=r[14],Y=r[15],t[12]=R*a+w*i+q*h+Y*m,t[13]=R*e+w*c+q*M+Y*p,t[14]=R*u+w*f+q*l+Y*d,t[15]=R*o+w*s+q*v+Y*A,t},e.mul=e.multiply,e.translate=function(t,n,r){var a,e,u,o,i,c,f,s,h,M,l,v,m=r[0],p=r[1],d=r[2];return n===t?(t[12]=n[0]*m+n[4]*p+n[8]*d+n[12],t[13]=n[1]*m+n[5]*p+n[9]*d+n[13],t[14]=n[2]*m+n[6]*p+n[10]*d+n[14],t[15]=n[3]*m+n[7]*p+n[11]*d+n[15]):(a=n[0],e=n[1],u=n[2],o=n[3],i=n[4],c=n[5],f=n[6],s=n[7],h=n[8],M=n[9],l=n[10],v=n[11],t[0]=a,t[1]=e,t[2]=u,t[3]=o,t[4]=i,t[5]=c,t[6]=f,t[7]=s,t[8]=h,t[9]=M,t[10]=l,t[11]=v,t[12]=a*m+i*p+h*d+n[12],t[13]=e*m+c*p+M*d+n[13],t[14]=u*m+f*p+l*d+n[14],t[15]=o*m+s*p+v*d+n[15]),t},e.scale=function(t,n,r){var a=r[0],e=r[1],u=r[2];return t[0]=n[0]*a,t[1]=n[1]*a,t[2]=n[2]*a,t[3]=n[3]*a,t[4]=n[4]*e,t[5]=n[5]*e,t[6]=n[6]*e,t[7]=n[7]*e,t[8]=n[8]*u,t[9]=n[9]*u,t[10]=n[10]*u,t[11]=n[11]*u,t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15],t},e.rotate=function(t,n,r,e){var u,o,i,c,f,s,h,M,l,v,m,p,d,A,R,w,q,Y,g,y,x,P,E,T,b=e[0],D=e[1],L=e[2],_=Math.sqrt(b*b+D*D+L*L);return Math.abs(_)<a.EPSILON?null:(_=1/_,b*=_,D*=_,L*=_,u=Math.sin(r),o=Math.cos(r),i=1-o,c=n[0],f=n[1],s=n[2],h=n[3],M=n[4],l=n[5],v=n[6],m=n[7],p=n[8],d=n[9],A=n[10],R=n[11],w=b*b*i+o,q=D*b*i+L*u,Y=L*b*i-D*u,g=b*D*i-L*u,y=D*D*i+o,x=L*D*i+b*u,P=b*L*i+D*u,E=D*L*i-b*u,T=L*L*i+o,t[0]=c*w+M*q+p*Y,t[1]=f*w+l*q+d*Y,t[2]=s*w+v*q+A*Y,t[3]=h*w+m*q+R*Y,t[4]=c*g+M*y+p*x,t[5]=f*g+l*y+d*x,t[6]=s*g+v*y+A*x,t[7]=h*g+m*y+R*x,t[8]=c*P+M*E+p*T,t[9]=f*P+l*E+d*T,t[10]=s*P+v*E+A*T,t[11]=h*P+m*E+R*T,n!==t&&(t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t)},e.rotateX=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[4],o=n[5],i=n[6],c=n[7],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=u*e+f*a,t[5]=o*e+s*a,t[6]=i*e+h*a,t[7]=c*e+M*a,t[8]=f*e-u*a,t[9]=s*e-o*a,t[10]=h*e-i*a,t[11]=M*e-c*a,t},e.rotateY=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[8],s=n[9],h=n[10],M=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e-f*a,t[1]=o*e-s*a,t[2]=i*e-h*a,t[3]=c*e-M*a,t[8]=u*a+f*e,t[9]=o*a+s*e,t[10]=i*a+h*e,t[11]=c*a+M*e,t},e.rotateZ=function(t,n,r){var a=Math.sin(r),e=Math.cos(r),u=n[0],o=n[1],i=n[2],c=n[3],f=n[4],s=n[5],h=n[6],M=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=u*e+f*a,t[1]=o*e+s*a,t[2]=i*e+h*a,t[3]=c*e+M*a,t[4]=f*e-u*a,t[5]=s*e-o*a,t[6]=h*e-i*a,t[7]=M*e-c*a,t},e.fromTranslation=function(t,n){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},e.fromScaling=function(t,n){return t[0]=n[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=n[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotation=function(t,n,r){var e,u,o,i=r[0],c=r[1],f=r[2],s=Math.sqrt(i*i+c*c+f*f);return Math.abs(s)<a.EPSILON?null:(s=1/s,i*=s,c*=s,f*=s,e=Math.sin(n),u=Math.cos(n),o=1-u,t[0]=i*i*o+u,t[1]=c*i*o+f*e,t[2]=f*i*o-c*e,t[3]=0,t[4]=i*c*o-f*e,t[5]=c*c*o+u,t[6]=f*c*o+i*e,t[7]=0,t[8]=i*f*o+c*e,t[9]=c*f*o-i*e,t[10]=f*f*o+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)},e.fromXRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromYRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=a,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromZRotation=function(t,n){var r=Math.sin(n),a=Math.cos(n);return t[0]=a,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.fromRotationTranslation=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=a+a,c=e+e,f=u+u,s=a*i,h=a*c,M=a*f,l=e*c,v=e*f,m=u*f,p=o*i,d=o*c,A=o*f;return t[0]=1-(l+m),t[1]=h+A,t[2]=M-d,t[3]=0,t[4]=h-A,t[5]=1-(s+m),t[6]=v+p,t[7]=0,t[8]=M+d,t[9]=v-p,t[10]=1-(s+l),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScale=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3],c=e+e,f=u+u,s=o+o,h=e*c,M=e*f,l=e*s,v=u*f,m=u*s,p=o*s,d=i*c,A=i*f,R=i*s,w=a[0],q=a[1],Y=a[2];return t[0]=(1-(v+p))*w,t[1]=(M+R)*w,t[2]=(l-A)*w,t[3]=0,t[4]=(M-R)*q,t[5]=(1-(h+p))*q,t[6]=(m+d)*q,t[7]=0,t[8]=(l+A)*Y,t[9]=(m-d)*Y,t[10]=(1-(h+v))*Y,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t},e.fromRotationTranslationScaleOrigin=function(t,n,r,a,e){var u=n[0],o=n[1],i=n[2],c=n[3],f=u+u,s=o+o,h=i+i,M=u*f,l=u*s,v=u*h,m=o*s,p=o*h,d=i*h,A=c*f,R=c*s,w=c*h,q=a[0],Y=a[1],g=a[2],y=e[0],x=e[1],P=e[2];return t[0]=(1-(m+d))*q,t[1]=(l+w)*q,t[2]=(v-R)*q,t[3]=0,t[4]=(l-w)*Y,t[5]=(1-(M+d))*Y,t[6]=(p+A)*Y,t[7]=0,t[8]=(v+R)*g,t[9]=(p-A)*g,t[10]=(1-(M+m))*g,t[11]=0,t[12]=r[0]+y-(t[0]*y+t[4]*x+t[8]*P),t[13]=r[1]+x-(t[1]*y+t[5]*x+t[9]*P),t[14]=r[2]+P-(t[2]*y+t[6]*x+t[10]*P),t[15]=1,t},e.fromQuat=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r+r,i=a+a,c=e+e,f=r*o,s=a*o,h=a*i,M=e*o,l=e*i,v=e*c,m=u*o,p=u*i,d=u*c;return t[0]=1-h-v,t[1]=s+d,t[2]=M-p,t[3]=0,t[4]=s-d,t[5]=1-f-v,t[6]=l+m,t[7]=0,t[8]=M+p,t[9]=l-m,t[10]=1-f-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},e.frustum=function(t,n,r,a,e,u,o){var i=1/(r-n),c=1/(e-a),f=1/(u-o);return t[0]=2*u*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*u*c,t[6]=0,t[7]=0,t[8]=(r+n)*i,t[9]=(e+a)*c,t[10]=(o+u)*f,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*u*2*f,t[15]=0,t},e.perspective=function(t,n,r,a,e){var u=1/Math.tan(n/2),o=1/(a-e);return t[0]=u/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(e+a)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*e*a*o,t[15]=0,t},e.perspectiveFromFieldOfView=function(t,n,r,a){var e=Math.tan(n.upDegrees*Math.PI/180),u=Math.tan(n.downDegrees*Math.PI/180),o=Math.tan(n.leftDegrees*Math.PI/180),i=Math.tan(n.rightDegrees*Math.PI/180),c=2/(o+i),f=2/(e+u);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=f,t[6]=0,t[7]=0,t[8]=-((o-i)*c*.5),t[9]=(e-u)*f*.5,t[10]=a/(r-a),t[11]=-1,t[12]=0,t[13]=0,t[14]=a*r/(r-a),t[15]=0,t},e.ortho=function(t,n,r,a,e,u,o){var i=1/(n-r),c=1/(a-e),f=1/(u-o);return t[0]=-2*i,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*f,t[11]=0,t[12]=(n+r)*i,t[13]=(e+a)*c,t[14]=(o+u)*f,t[15]=1,t},e.lookAt=function(t,n,r,u){var o,i,c,f,s,h,M,l,v,m,p=n[0],d=n[1],A=n[2],R=u[0],w=u[1],q=u[2],Y=r[0],g=r[1],y=r[2];return Math.abs(p-Y)<a.EPSILON&&Math.abs(d-g)<a.EPSILON&&Math.abs(A-y)<a.EPSILON?e.identity(t):(M=p-Y,l=d-g,v=A-y,m=1/Math.sqrt(M*M+l*l+v*v),M*=m,l*=m,v*=m,o=w*v-q*l,i=q*M-R*v,c=R*l-w*M,m=Math.sqrt(o*o+i*i+c*c),m?(m=1/m,o*=m,i*=m,c*=m):(o=0,i=0,c=0),f=l*c-v*i,s=v*o-M*c,h=M*i-l*o,m=Math.sqrt(f*f+s*s+h*h),m?(m=1/m,f*=m,s*=m,h*=m):(f=0,s=0,h=0),t[0]=o,t[1]=f,t[2]=M,t[3]=0,t[4]=i,t[5]=s,t[6]=l,t[7]=0,t[8]=c,t[9]=h,t[10]=v,t[11]=0,t[12]=-(o*p+i*d+c*A),t[13]=-(f*p+s*d+h*A),t[14]=-(M*p+l*d+v*A),t[15]=1,t)},e.str=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},e.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2)+Math.pow(t[9],2)+Math.pow(t[10],2)+Math.pow(t[11],2)+Math.pow(t[12],2)+Math.pow(t[13],2)+Math.pow(t[14],2)+Math.pow(t[15],2))},t.exports=e},function(t,n,r){var a=r(1),e=r(4),u=r(7),o=r(8),i={};i.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.rotationTo=function(){var t=u.create(),n=u.fromValues(1,0,0),r=u.fromValues(0,1,0);return function(a,e,o){var c=u.dot(e,o);return-.999999>c?(u.cross(t,n,e),u.length(t)<1e-6&&u.cross(t,r,e),u.normalize(t,t),i.setAxisAngle(a,t,Math.PI),a):c>.999999?(a[0]=0,a[1]=0,a[2]=0,a[3]=1,a):(u.cross(t,e,o),a[0]=t[0],a[1]=t[1],a[2]=t[2],a[3]=1+c,i.normalize(a,a))}}(),i.setAxes=function(){var t=e.create();return function(n,r,a,e){return t[0]=a[0],t[3]=a[1],t[6]=a[2],t[1]=e[0],t[4]=e[1],t[7]=e[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],i.normalize(n,i.fromMat3(n,t))}}(),i.clone=o.clone,i.fromValues=o.fromValues,i.copy=o.copy,i.set=o.set,i.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},i.setAxisAngle=function(t,n,r){r=.5*r;var a=Math.sin(r);return t[0]=a*n[0],t[1]=a*n[1],t[2]=a*n[2],t[3]=Math.cos(r),t},i.add=o.add,i.multiply=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3],i=r[0],c=r[1],f=r[2],s=r[3];return t[0]=a*s+o*i+e*f-u*c,t[1]=e*s+o*c+u*i-a*f,t[2]=u*s+o*f+a*c-e*i,t[3]=o*s-a*i-e*c-u*f,t},i.mul=i.multiply,i.scale=o.scale,i.rotateX=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+o*i,t[1]=e*c+u*i,t[2]=u*c-e*i,t[3]=o*c-a*i,t},i.rotateY=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c-u*i,t[1]=e*c+o*i,t[2]=u*c+a*i,t[3]=o*c-e*i,t},i.rotateZ=function(t,n,r){r*=.5;var a=n[0],e=n[1],u=n[2],o=n[3],i=Math.sin(r),c=Math.cos(r);return t[0]=a*c+e*i,t[1]=e*c-a*i,t[2]=u*c+o*i,t[3]=o*c-u*i,t},i.calculateW=function(t,n){var r=n[0],a=n[1],e=n[2];return t[0]=r,t[1]=a,t[2]=e,t[3]=Math.sqrt(Math.abs(1-r*r-a*a-e*e)),t},i.dot=o.dot,i.lerp=o.lerp,i.slerp=function(t,n,r,a){var e,u,o,i,c,f=n[0],s=n[1],h=n[2],M=n[3],l=r[0],v=r[1],m=r[2],p=r[3];return u=f*l+s*v+h*m+M*p,0>u&&(u=-u,l=-l,v=-v,m=-m,p=-p),1-u>1e-6?(e=Math.acos(u),o=Math.sin(e),i=Math.sin((1-a)*e)/o,c=Math.sin(a*e)/o):(i=1-a,c=a),t[0]=i*f+c*l,t[1]=i*s+c*v,t[2]=i*h+c*m,t[3]=i*M+c*p,t},i.sqlerp=function(){var t=i.create(),n=i.create();return function(r,a,e,u,o,c){return i.slerp(t,a,o,c),i.slerp(n,e,u,c),i.slerp(r,t,n,2*c*(1-c)),r}}(),i.invert=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u,i=o?1/o:0;return t[0]=-r*i,t[1]=-a*i,t[2]=-e*i,t[3]=u*i,t},i.conjugate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=n[3],t},i.length=o.length,i.len=i.length,i.squaredLength=o.squaredLength,i.sqrLen=i.squaredLength,i.normalize=o.normalize,i.fromMat3=function(t,n){var r,a=n[0]+n[4]+n[8];if(a>0)r=Math.sqrt(a+1),t[3]=.5*r,r=.5/r,t[0]=(n[5]-n[7])*r,t[1]=(n[6]-n[2])*r,t[2]=(n[1]-n[3])*r;else{var e=0;n[4]>n[0]&&(e=1),n[8]>n[3*e+e]&&(e=2);var u=(e+1)%3,o=(e+2)%3;r=Math.sqrt(n[3*e+e]-n[3*u+u]-n[3*o+o]+1),t[e]=.5*r,r=.5/r,t[3]=(n[3*u+o]-n[3*o+u])*r,t[u]=(n[3*u+e]+n[3*e+u])*r,t[o]=(n[3*o+e]+n[3*e+o])*r}return t},i.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=i},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(3);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n},e.fromValues=function(t,n,r){var e=new a.ARRAY_TYPE(3);return e[0]=t,e[1]=n,e[2]=r,e},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t},e.set=function(t,n,r,a){return t[0]=n,t[1]=r,t[2]=a,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return Math.sqrt(r*r+a*a+e*e)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2];return r*r+a*a+e*e},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2];return Math.sqrt(n*n+r*r+a*a)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2];return n*n+r*r+a*a},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=r*r+a*a+e*e;return u>0&&(u=1/Math.sqrt(u),t[0]=n[0]*u,t[1]=n[1]*u,t[2]=n[2]*u),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]},e.cross=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2];return t[0]=e*c-u*i,t[1]=u*o-a*c,t[2]=a*i-e*o,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t},e.hermite=function(t,n,r,a,e,u){var o=u*u,i=o*(2*u-3)+1,c=o*(u-2)+u,f=o*(u-1),s=o*(3-2*u);return t[0]=n[0]*i+r[0]*c+a[0]*f+e[0]*s,t[1]=n[1]*i+r[1]*c+a[1]*f+e[1]*s,t[2]=n[2]*i+r[2]*c+a[2]*f+e[2]*s,t},e.bezier=function(t,n,r,a,e,u){var o=1-u,i=o*o,c=u*u,f=i*o,s=3*u*i,h=3*c*o,M=c*u;return t[0]=n[0]*f+r[0]*s+a[0]*h+e[0]*M,t[1]=n[1]*f+r[1]*s+a[1]*h+e[1]*M,t[2]=n[2]*f+r[2]*s+a[2]*h+e[2]*M,t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI,e=2*a.RANDOM()-1,u=Math.sqrt(1-e*e)*n;return t[0]=Math.cos(r)*u,t[1]=Math.sin(r)*u,t[2]=e*n,t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[3]*a+r[7]*e+r[11]*u+r[15];return o=o||1,t[0]=(r[0]*a+r[4]*e+r[8]*u+r[12])/o,t[1]=(r[1]*a+r[5]*e+r[9]*u+r[13])/o,t[2]=(r[2]*a+r[6]*e+r[10]*u+r[14])/o,t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1],u=n[2];return t[0]=a*r[0]+e*r[3]+u*r[6],t[1]=a*r[1]+e*r[4]+u*r[7],t[2]=a*r[2]+e*r[5]+u*r[8],t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t},e.rotateX=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0],u[1]=e[1]*Math.cos(a)-e[2]*Math.sin(a),u[2]=e[1]*Math.sin(a)+e[2]*Math.cos(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateY=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[2]*Math.sin(a)+e[0]*Math.cos(a),u[1]=e[1],u[2]=e[2]*Math.cos(a)-e[0]*Math.sin(a),t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.rotateZ=function(t,n,r,a){var e=[],u=[];return e[0]=n[0]-r[0],e[1]=n[1]-r[1],e[2]=n[2]-r[2],u[0]=e[0]*Math.cos(a)-e[1]*Math.sin(a),u[1]=e[0]*Math.sin(a)+e[1]*Math.cos(a),u[2]=e[2],t[0]=u[0]+r[0],t[1]=u[1]+r[1],t[2]=u[2]+r[2],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=3),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2];return n}}(),e.angle=function(t,n){var r=e.fromValues(t[0],t[1],t[2]),a=e.fromValues(n[0],n[1],n[2]);e.normalize(r,r),e.normalize(a,a);var u=e.dot(r,a);return u>1?0:Math.acos(u)},e.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(4);return n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n},e.fromValues=function(t,n,r,e){var u=new a.ARRAY_TYPE(4);return u[0]=t,u[1]=n,u[2]=r,u[3]=e,u},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t},e.set=function(t,n,r,a,e){return t[0]=n,t[1]=r,t[2]=a,t[3]=e,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t[2]=n[2]+r[2],t[3]=n[3]+r[3],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t[2]=n[2]-r[2],t[3]=n[3]-r[3],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t[2]=n[2]*r[2],t[3]=n[3]*r[3],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t[2]=n[2]/r[2],t[3]=n[3]/r[3],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t[2]=Math.min(n[2],r[2]),t[3]=Math.min(n[3],r[3]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t[2]=Math.max(n[2],r[2]),t[3]=Math.max(n[3],r[3]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=n[3]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t[2]=n[2]+r[2]*a,t[3]=n[3]+r[3]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return Math.sqrt(r*r+a*a+e*e+u*u)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1],e=n[2]-t[2],u=n[3]-t[3];return r*r+a*a+e*e+u*u},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return Math.sqrt(n*n+r*r+a*a+e*e)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1],a=t[2],e=t[3];return n*n+r*r+a*a+e*e},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t[2]=-n[2],t[3]=-n[3],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t[2]=1/n[2],t[3]=1/n[3],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=n[2],u=n[3],o=r*r+a*a+e*e+u*u;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=a*o,t[2]=e*o,t[3]=u*o),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]},e.lerp=function(t,n,r,a){var e=n[0],u=n[1],o=n[2],i=n[3];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t[2]=o+a*(r[2]-o),t[3]=i+a*(r[3]-i),t},e.random=function(t,n){return n=n||1,t[0]=a.RANDOM(),t[1]=a.RANDOM(),t[2]=a.RANDOM(),t[3]=a.RANDOM(),e.normalize(t,t),e.scale(t,t,n),t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=n[3];return t[0]=r[0]*a+r[4]*e+r[8]*u+r[12]*o,t[1]=r[1]*a+r[5]*e+r[9]*u+r[13]*o,t[2]=r[2]*a+r[6]*e+r[10]*u+r[14]*o,t[3]=r[3]*a+r[7]*e+r[11]*u+r[15]*o,t},e.transformQuat=function(t,n,r){var a=n[0],e=n[1],u=n[2],o=r[0],i=r[1],c=r[2],f=r[3],s=f*a+i*u-c*e,h=f*e+c*a-o*u,M=f*u+o*e-i*a,l=-o*a-i*e-c*u;return t[0]=s*f+l*-o+h*-c-M*-i,t[1]=h*f+l*-i+M*-o-s*-c,t[2]=M*f+l*-c+s*-i-h*-o,t[3]=n[3],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=4),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],t[2]=n[i+2],t[3]=n[i+3],u(t,t,o),n[i]=t[0],n[i+1]=t[1],n[i+2]=t[2],n[i+3]=t[3];return n}}(),e.str=function(t){return"vec4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},t.exports=e},function(t,n,r){var a=r(1),e={};e.create=function(){var t=new a.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},e.clone=function(t){var n=new a.ARRAY_TYPE(2);return n[0]=t[0],n[1]=t[1],n},e.fromValues=function(t,n){var r=new a.ARRAY_TYPE(2);return r[0]=t,r[1]=n,r},e.copy=function(t,n){return t[0]=n[0],t[1]=n[1],t},e.set=function(t,n,r){return t[0]=n,t[1]=r,t},e.add=function(t,n,r){return t[0]=n[0]+r[0],t[1]=n[1]+r[1],t},e.subtract=function(t,n,r){return t[0]=n[0]-r[0],t[1]=n[1]-r[1],t},e.sub=e.subtract,e.multiply=function(t,n,r){return t[0]=n[0]*r[0],t[1]=n[1]*r[1],t},e.mul=e.multiply,e.divide=function(t,n,r){return t[0]=n[0]/r[0],t[1]=n[1]/r[1],t},e.div=e.divide,e.min=function(t,n,r){return t[0]=Math.min(n[0],r[0]),t[1]=Math.min(n[1],r[1]),t},e.max=function(t,n,r){return t[0]=Math.max(n[0],r[0]),t[1]=Math.max(n[1],r[1]),t},e.scale=function(t,n,r){return t[0]=n[0]*r,t[1]=n[1]*r,t},e.scaleAndAdd=function(t,n,r,a){return t[0]=n[0]+r[0]*a,t[1]=n[1]+r[1]*a,t},e.distance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return Math.sqrt(r*r+a*a)},e.dist=e.distance,e.squaredDistance=function(t,n){var r=n[0]-t[0],a=n[1]-t[1];return r*r+a*a},e.sqrDist=e.squaredDistance,e.length=function(t){var n=t[0],r=t[1];return Math.sqrt(n*n+r*r)},e.len=e.length,e.squaredLength=function(t){var n=t[0],r=t[1];return n*n+r*r},e.sqrLen=e.squaredLength,e.negate=function(t,n){return t[0]=-n[0],t[1]=-n[1],t},e.inverse=function(t,n){return t[0]=1/n[0],t[1]=1/n[1],t},e.normalize=function(t,n){var r=n[0],a=n[1],e=r*r+a*a;return e>0&&(e=1/Math.sqrt(e),t[0]=n[0]*e,t[1]=n[1]*e),t},e.dot=function(t,n){return t[0]*n[0]+t[1]*n[1]},e.cross=function(t,n,r){var a=n[0]*r[1]-n[1]*r[0];return t[0]=t[1]=0,t[2]=a,t},e.lerp=function(t,n,r,a){var e=n[0],u=n[1];return t[0]=e+a*(r[0]-e),t[1]=u+a*(r[1]-u),t},e.random=function(t,n){n=n||1;var r=2*a.RANDOM()*Math.PI;return t[0]=Math.cos(r)*n,t[1]=Math.sin(r)*n,t},e.transformMat2=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e,t[1]=r[1]*a+r[3]*e,t},e.transformMat2d=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[2]*e+r[4],t[1]=r[1]*a+r[3]*e+r[5],t},e.transformMat3=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[3]*e+r[6],t[1]=r[1]*a+r[4]*e+r[7],t},e.transformMat4=function(t,n,r){var a=n[0],e=n[1];return t[0]=r[0]*a+r[4]*e+r[12],t[1]=r[1]*a+r[5]*e+r[13],t},e.forEach=function(){var t=e.create();return function(n,r,a,e,u,o){var i,c;for(r||(r=2),a||(a=0),c=e?Math.min(e*r+a,n.length):n.length,i=a;c>i;i+=r)t[0]=n[i],t[1]=n[i+1],u(t,t,o),n[i]=t[0],n[i+1]=t[1];return n}}(),e.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},t.exports=e}])});'use strict';(function(global){if(tr.isNode){const glMatrixAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/gl-matrix-min.js');const glMatrixModule=require(glMatrixAbsPath);for(const exportName in glMatrixModule){global[exportName]=glMatrixModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const PREFERRED_NUMBER_SERIES_MULTIPLIERS=[1,2,5,10];function approximately(x,y,delta){if(delta===undefined)delta=1e-9;return Math.abs(x-y)<delta;}
4325function clamp(x,lo,hi){return Math.min(Math.max(x,lo),hi);}
4326function lerp(percentage,lo,hi){const range=hi-lo;return lo+percentage*range;}
4327function normalize(value,lo,hi){return(value-lo)/(hi-lo);}
4328function deg2rad(deg){return(Math.PI*deg)/180.0;}
4329function erf(x){const sign=(x>=0)?1:-1;x=Math.abs(x);const a1=0.254829592;const a2=-0.284496736;const a3=1.421413741;const a4=-1.453152027;const a5=1.061405429;const p=0.3275911;const t=1.0/(1.0+p*x);const y=1.0-(((((a5*t+a4)*t)+a3)*t+a2)*t+a1)*t*Math.exp(-x*x);return sign*y;}
4330const tmpVec2=vec2.create();const tmpVec2b=vec2.create();const tmpVec4=vec4.create();const tmpMat2d=mat2d.create();vec2.createFromArray=function(arr){if(arr.length!==2)throw new Error('Should be length 2');const v=vec2.create();vec2.set(v,arr[0],arr[1]);return v;};vec2.createXY=function(x,y){const v=vec2.create();vec2.set(v,x,y);return v;};vec2.toString=function(a){return'['+a[0]+', '+a[1]+']';};vec2.addTwoScaledUnitVectors=function(out,u1,scale1,u2,scale2){vec2.scale(tmpVec2,u1,scale1);vec2.scale(tmpVec2b,u2,scale2);vec2.add(out,tmpVec2,tmpVec2b);};vec2.interpolatePiecewiseFunction=function(points,x){if(x<points[0][0])return points[0][1];for(let i=1;i<points.length;++i){if(x<points[i][0]){const percent=normalize(x,points[i-1][0],points[i][0]);return lerp(percent,points[i-1][1],points[i][1]);}}
4331return points[points.length-1][1];};vec3.createXYZ=function(x,y,z){const v=vec3.create();vec3.set(v,x,y,z);return v;};vec3.toString=function(a){return'vec3('+a[0]+', '+a[1]+', '+a[2]+')';};mat2d.translateXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.translate(out,out,tmpVec2);};mat2d.scaleXY=function(out,x,y){vec2.set(tmpVec2,x,y);mat2d.scale(out,out,tmpVec2);};vec4.unitize=function(out,a){out[0]=a[0]/a[3];out[1]=a[1]/a[3];out[2]=a[2]/a[3];out[3]=1;return out;};vec2.copyFromVec4=function(out,a){vec4.unitize(tmpVec4,a);vec2.copy(out,tmpVec4);};function logOrLog10(x,base){if(base===10)return Math.log10(x);return Math.log(x)/Math.log(base);}
4332function lesserPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.floor(logOrLog10(x,base)));}
4333function greaterPower(x,opt_base){const base=opt_base||10;return Math.pow(base,Math.ceil(logOrLog10(x,base)));}
4334function lesserWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.floor(x/pow10);}
4335function greaterWholeNumber(x){if(x===0)return 0;const pow10=(x<0)?-lesserPower(-x):lesserPower(x);return pow10*Math.ceil(x/pow10);}
4336function preferredNumberLargerThanMin(min){const absMin=Math.abs(min);const conservativeGuess=tr.b.math.lesserPower(absMin);let minPreferedNumber=undefined;for(const multiplier of PREFERRED_NUMBER_SERIES_MULTIPLIERS){const tightenedGuess=conservativeGuess*multiplier;if(tightenedGuess>=absMin){minPreferedNumber=tightenedGuess;break;}}
4337if(minPreferedNumber===undefined){throw new Error('Could not compute preferred number for '+min);}
4338if(min<0)minPreferedNumber*=-1;return minPreferedNumber;}
4339return{approximately,clamp,lerp,normalize,deg2rad,erf,lesserPower,greaterPower,lesserWholeNumber,greaterWholeNumber,preferredNumberLargerThanMin,};});'use strict';tr.exportTo('tr.b.math',function(){function Range(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;}
4340Range.prototype={__proto__:Object.prototype,clone(){if(this.isEmpty)return new Range();return Range.fromExplicitRange(this.min_,this.max_);},reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addRange(range){if(range.isEmpty)return;this.addValue(range.min);this.addValue(range.max);},addValue(value){if(this.isEmpty_){this.max_=value;this.min_=value;this.isEmpty_=false;return;}
4341this.max_=Math.max(this.max_,value);this.min_=Math.min(this.min_,value);},set min(min){this.isEmpty_=false;this.min_=min;},get min(){if(this.isEmpty_)return undefined;return this.min_;},get max(){if(this.isEmpty_)return undefined;return this.max_;},set max(max){this.isEmpty_=false;this.max_=max;},get range(){if(this.isEmpty_)return undefined;return this.max_-this.min_;},get center(){return(this.min_+this.max_)*0.5;},get duration(){if(this.isEmpty_)return 0;return this.max_-this.min_;},enclosingPowers(opt_base){if(this.isEmpty)return new Range();return Range.fromExplicitRange(tr.b.math.lesserPower(this.min_,opt_base),tr.b.math.greaterPower(this.max_,opt_base));},normalize(x){return tr.b.math.normalize(x,this.min,this.max);},lerp(x){return tr.b.math.lerp(x,this.min,this.max);},clamp(x){return tr.b.math.clamp(x,this.min,this.max);},equals(that){if(this.isEmpty&&that.isEmpty)return true;if(this.isEmpty!==that.isEmpty)return false;return(tr.b.math.approximately(this.min,that.min)&&tr.b.math.approximately(this.max,that.max));},containsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=min&&max<=this.max_;},containsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<min&&max<this.max_;},intersectsExplicitRangeInclusive(min,max){if(this.isEmpty)return false;return this.min_<=max&&min<=this.max_;},intersectsExplicitRangeExclusive(min,max){if(this.isEmpty)return false;return this.min_<max&&min<this.max_;},containsRangeInclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeInclusive(range.min_,range.max_);},containsRangeExclusive(range){if(range.isEmpty)return false;return this.containsExplicitRangeExclusive(range.min_,range.max_);},intersectsRangeInclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeInclusive(range.min_,range.max_);},intersectsRangeExclusive(range){if(range.isEmpty)return false;return this.intersectsExplicitRangeExclusive(range.min_,range.max_);},findExplicitIntersectionDuration(min,max){min=Math.max(this.min,min);max=Math.min(this.max,max);if(max<min)return 0;return max-min;},findIntersection(range){if(this.isEmpty||range.isEmpty)return new Range();const min=Math.max(this.min,range.min);const max=Math.min(this.max,range.max);if(max<min)return new Range();return Range.fromExplicitRange(min,max);},toJSON(){if(this.isEmpty_)return{isEmpty:true};return{isEmpty:false,max:this.max,min:this.min};},filterArray(array,opt_keyFunc,opt_this){if(this.isEmpty_)return[];function binSearch(test){let i0=0;let i1=array.length;while(i0<i1){const i=Math.trunc((i0+i1)/2);if(test(i)){i1=i;}else{i0=i+1;}}
4342return i1;}
4343const keyFunc=opt_keyFunc||tr.b.identity;function getValue(index){return keyFunc.call(opt_this,array[index]);}
4344const first=binSearch(function(i){return this.min_===undefined||this.min_<=getValue(i);}.bind(this));const last=binSearch(function(i){return this.max_!==undefined&&this.max_<getValue(i);}.bind(this));return array.slice(first,last);}};Range.fromDict=function(d){if(d.isEmpty===true)return new Range();if(d.isEmpty===false){const range=new Range();range.min=d.min;range.max=d.max;return range;}
4345throw new Error('Not a range');};Range.fromExplicitRange=function(min,max){const range=new Range();range.min=min;range.max=max;return range;};Range.compareByMinTimes=function(a,b){if(!a.isEmpty&&!b.isEmpty)return a.min_-b.min_;if(a.isEmpty&&!b.isEmpty)return-1;if(!a.isEmpty&&b.isEmpty)return 1;return 0;};Range.findDifference=function(rangeA,rangeB){if(!rangeA||rangeA.duration<0||!rangeB||rangeB.duration<0){throw new Error(`Couldn't subtract ranges`);}
4346const resultRanges=[];if(rangeA.isEmpty)return resultRanges;if(rangeB.isEmpty)return[rangeA.clone()];const intersection=rangeA.findIntersection(rangeB);if(intersection.isEmpty){return[rangeA.clone()];}
4347if(rangeA.duration===0&&rangeB.duration===0){if(intersection.empty)return[rangeA.clone()];else if(intersection.duration===0)return resultRanges;throw new Error(`Two points' intersection can only be a point or empty`);}
4348const leftRange=tr.b.math.Range.fromExplicitRange(rangeA.min,intersection.min);if(leftRange.duration>0){resultRanges.push(leftRange);}
4349const rightRange=tr.b.math.Range.fromExplicitRange(intersection.max,rangeA.max);if(rightRange.duration>0){resultRanges.push(rightRange);}
4350return resultRanges;};Range.PERCENT_RANGE=Range.fromExplicitRange(0,1);Object.freeze(Range.PERCENT_RANGE);return{Range,};});'use strict';(function(exports){var rank={standard:function(array,key){array=array.sort(function(a,b){var x=a[key];var y=b[key];return((x<y)?-1:((x>y)?1:0));});for(var i=1;i<array.length+1;i++){array[i-1]['rank']=i;}
4351return array;},fractional:function(array,key){array=this.standard(array,key);var pos=0;while(pos<array.length){var sum=0;var i=0;for(i=0;array[pos+i+1]&&(array[pos+i][key]===array[pos+i+1][key]);i++){sum+=array[pos+i]['rank'];}
4352sum+=array[pos+i]['rank'];var endPos=pos+i+1;for(pos;pos<endPos;pos++){array[pos]['rank']=sum/(i+1);}
4353pos=endPos;}
4354return array;},rank:function(x,y){var nx=x.length,ny=y.length,combined=[],ranked;while(nx--){combined.push({set:'x',val:x[nx]});}
4355while(ny--){combined.push({set:'y',val:y[ny]});}
4356ranked=this.fractional(combined,'val');return ranked}};var erf=function erf(x){var cof=[-1.3026537197817094,6.4196979235649026e-1,1.9476473204185836e-2,-9.561514786808631e-3,-9.46595344482036e-4,3.66839497852761e-4,4.2523324806907e-5,-2.0278578112534e-5,-1.624290004647e-6,1.303655835580e-6,1.5626441722e-8,-8.5238095915e-8,6.529054439e-9,5.059343495e-9,-9.91364156e-10,-2.27365122e-10,9.6467911e-11,2.394038e-12,-6.886027e-12,8.94487e-13,3.13092e-13,-1.12708e-13,3.81e-16,7.106e-15,-1.523e-15,-9.4e-17,1.21e-16,-2.8e-17];var j=cof.length-1;var isneg=false;var d=0;var dd=0;var t,ty,tmp,res;if(x<0){x=-x;isneg=true;}
4357t=2/(2+x);ty=4*t-2;for(;j>0;j--){tmp=d;d=ty*d-dd+cof[j];dd=tmp;}
4358res=t*Math.exp(-x*x+0.5*(cof[0]+ty*d)-dd);return isneg?res-1:1-res;};var dnorm=function(x,mean,std){return 0.5*(1+erf((x-mean)/Math.sqrt(2*std*std)));}
4359var statistic=function(x,y){var ranked=rank.rank(x,y),nr=ranked.length,nx=x.length,ny=y.length,ranksums={x:0,y:0},i=0,t=0,nt=1,tcf,ux,uy;while(i<nr){if(i>0){if(ranked[i].val==ranked[i-1].val){nt++;}else{if(nt>1){t+=Math.pow(nt,3)-nt
4360nt=1;}}}
4361ranksums[ranked[i].set]+=ranked[i].rank
4362i++;}
4363tcf=1-(t/(Math.pow(nr,3)-nr))
4364ux=nx*ny+(nx*(nx+1)/2)-ranksums.x;uy=nx*ny-ux;return{tcf:tcf,ux:ux,uy:uy,big:Math.max(ux,uy),small:Math.min(ux,uy)}}
4365exports.test=function(x,y,alt,corr){alt=typeof alt!=='undefined'?alt:'two-sided';corr=typeof corr!=='undefined'?corr:true;var nx=x.length,ny=y.length,f=1,u,mu,std,z,p;u=statistic(x,y);if(corr){mu=(nx*ny/2)+0.5;}else{mu=nx*ny/2;}
4366std=Math.sqrt(u.tcf*nx*ny*(nx+ny+1)/12);if(alt=='less'){z=(u.ux-mu)/std;}else if(alt=='greater'){z=(u.uy-mu)/std;}else if(alt=='two-sided'){z=Math.abs((u.big-mu)/std);}else{console.log('Unknown alternative argument');}
4367if(alt=='two-sided'){f=2;}
4368p=dnorm(-z,0,1)*f;return{U:u.small,p:p};}})(typeof exports==='undefined'?this['mannwhitneyu']={}:exports);'use strict';(function(global){if(tr.isNode){const mwuAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/mannwhitneyu.js');const mwuModule=require(mwuAbsPath);for(const exportName in mwuModule){global[exportName]=mwuModule[exportName];}}})(this);'use strict';tr.exportTo('tr.b.math',function(){const identity=x=>x;const Statistics={};Statistics.divideIfPossibleOrZero=function(numerator,denominator){if(denominator===0)return 0;return numerator/denominator;};Statistics.sum=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=0;let i=0;for(const elt of ary){ret+=func.call(opt_this,elt,i++);}
4369return ret;};Statistics.mean=function(ary,opt_func,opt_this){const func=opt_func||identity;let sum=0;let i=0;for(const elt of ary){sum+=func.call(opt_this,elt,i++);}
4370if(i===0)return undefined;return sum/i;};Statistics.geometricMean=function(ary,opt_func,opt_this){const func=opt_func||identity;let i=0;let logsum=0;for(const elt of ary){const x=func.call(opt_this,elt,i++);if(x<=0)return 0;logsum+=Math.log(Math.abs(x));}
4371if(i===0)return 1;return Math.exp(logsum/i);};Statistics.weightedMean=function(ary,weightCallback,opt_valueCallback,opt_this){const valueCallback=opt_valueCallback||identity;let numerator=0;let denominator=0;let i=-1;for(const elt of ary){i++;const value=valueCallback.call(opt_this,elt,i);if(value===undefined)continue;const weight=weightCallback.call(opt_this,elt,i,value);numerator+=weight*value;denominator+=weight;}
4372if(denominator===0)return undefined;return numerator/denominator;};Statistics.variance=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;if(ary.length===1)return 0;const func=opt_func||identity;const mean=Statistics.mean(ary,func,opt_this);const sumOfSquaredDistances=Statistics.sum(ary,function(d,i){const v=func.call(this,d,i)-mean;return v*v;},opt_this);return sumOfSquaredDistances/(ary.length-1);};Statistics.stddev=function(ary,opt_func,opt_this){if(ary.length===0)return undefined;return Math.sqrt(Statistics.variance(ary,opt_func,opt_this));};Statistics.max=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=-Infinity;let i=0;for(const elt of ary){ret=Math.max(ret,func.call(opt_this,elt,i++));}
4373return ret;};Statistics.min=function(ary,opt_func,opt_this){const func=opt_func||identity;let ret=Infinity;let i=0;for(const elt of ary){ret=Math.min(ret,func.call(opt_this,elt,i++));}
4374return ret;};Statistics.range=function(ary,opt_func,opt_this){const func=opt_func||identity;const ret=new tr.b.math.Range();let i=0;for(const elt of ary){ret.addValue(func.call(opt_this,elt,i++));}
4375return ret;};Statistics.percentile=function(ary,percent,opt_func,opt_this){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');}
4376const func=opt_func||identity;const tmp=new Array(ary.length);let i=0;for(const elt of ary){tmp[i]=func.call(opt_this,elt,i++);}
4377tmp.sort((a,b)=>a-b);const idx=Math.floor((ary.length-1)*percent);return tmp[idx];};Statistics.normalizeSamples=function(samples){if(samples.length===0){return{normalized_samples:samples,scale:1.0};}
4378samples=samples.slice().sort(function(a,b){return a-b;});const low=Math.min.apply(null,samples);const high=Math.max.apply(null,samples);const newLow=0.5/samples.length;const newHigh=(samples.length-0.5)/samples.length;if(high-low===0.0){samples=Array.apply(null,new Array(samples.length)).map(function(){return 0.5;});return{normalized_samples:samples,scale:1.0};}
4379const scale=(newHigh-newLow)/(high-low);for(let i=0;i<samples.length;i++){samples[i]=(samples[i]-low)*scale+newLow;}
4380return{normalized_samples:samples,scale};};Statistics.discrepancy=function(samples,opt_locationCount){if(samples.length===0)return 0.0;let maxLocalDiscrepancy=0;const invSampleCount=1.0/samples.length;const locations=[];const countLess=[];const countLessEqual=[];if(opt_locationCount!==undefined){let sampleIndex=0;for(let i=0;i<opt_locationCount;i++){const location=i/(opt_locationCount-1);locations.push(location);while(sampleIndex<samples.length&&samples[sampleIndex]<location){sampleIndex+=1;}
4381countLess.push(sampleIndex);while(sampleIndex<samples.length&&samples[sampleIndex]<=location){sampleIndex+=1;}
4382countLessEqual.push(sampleIndex);}}else{if(samples[0]>0.0){locations.push(0.0);countLess.push(0);countLessEqual.push(0);}
4383for(let i=0;i<samples.length;i++){locations.push(samples[i]);countLess.push(i);countLessEqual.push(i+1);}
4384if(samples[-1]<1.0){locations.push(1.0);countLess.push(samples.length);countLessEqual.push(samples.length);}}
4385let maxDiff=0;let minDiff=0;for(let i=1;i<locations.length;i++){const length=locations[i]-locations[i-1];const countClosed=countLessEqual[i]-countLess[i-1];const countOpen=countLess[i]-countLessEqual[i-1];const countClosedIncrement=countLessEqual[i]-countLessEqual[i-1];const countOpenIncrement=countLess[i]-countLess[i-1];maxDiff=Math.max(countClosedIncrement*invSampleCount-length+maxDiff,countClosed*invSampleCount-length);minDiff=Math.min(countOpenIncrement*invSampleCount-length+minDiff,countOpen*invSampleCount-length);maxLocalDiscrepancy=Math.max(maxDiff,-minDiff,maxLocalDiscrepancy);}
4386return maxLocalDiscrepancy;};Statistics.timestampsDiscrepancy=function(timestamps,opt_absolute,opt_locationCount){if(timestamps.length===0)return 0.0;if(opt_absolute===undefined)opt_absolute=true;if(Array.isArray(timestamps[0])){const rangeDiscrepancies=timestamps.map(function(r){return Statistics.timestampsDiscrepancy(r);});return Math.max.apply(null,rangeDiscrepancies);}
4387const s=Statistics.normalizeSamples(timestamps);const samples=s.normalized_samples;const sampleScale=s.scale;let discrepancy=Statistics.discrepancy(samples,opt_locationCount);const invSampleCount=1.0/samples.length;if(opt_absolute===true){discrepancy/=sampleScale;}else{discrepancy=tr.b.math.clamp((discrepancy-invSampleCount)/(1.0-invSampleCount),0.0,1.0);}
4388return discrepancy;};Statistics.durationsDiscrepancy=function(durations,opt_absolute,opt_locationCount){if(durations.length===0)return 0.0;const timestamps=durations.reduce(function(prev,curr,index,array){prev.push(prev[prev.length-1]+curr);return prev;},[0]);return Statistics.timestampsDiscrepancy(timestamps,opt_absolute,opt_locationCount);};Statistics.uniformlySampleArray=function(samples,count){if(samples.length<=count){return samples;}
4389while(samples.length>count){const i=parseInt(Math.random()*samples.length);samples.splice(i,1);}
4390return samples;};Statistics.uniformlySampleStream=function(samples,streamLength,newElement,numSamples){if(streamLength<=numSamples){if(samples.length>=streamLength){samples[streamLength-1]=newElement;}else{samples.push(newElement);}
4391return;}
4392const probToKeep=numSamples/streamLength;if(Math.random()>probToKeep)return;const index=Math.floor(Math.random()*numSamples);samples[index]=newElement;};Statistics.mergeSampledStreams=function(samplesA,streamLengthA,samplesB,streamLengthB,numSamples){if(streamLengthB<numSamples){const nbElements=Math.min(streamLengthB,samplesB.length);for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(samplesA,streamLengthA+i+1,samplesB[i],numSamples);}
4393return;}
4394if(streamLengthA<numSamples){const nbElements=Math.min(streamLengthA,samplesA.length);const tempSamples=samplesB.slice();for(let i=0;i<nbElements;++i){Statistics.uniformlySampleStream(tempSamples,streamLengthB+i+1,samplesA[i],numSamples);}
4395for(let i=0;i<tempSamples.length;++i){samplesA[i]=tempSamples[i];}
4396return;}
4397const nbElements=Math.min(numSamples,samplesB.length);const probOfSwapping=streamLengthB/(streamLengthA+streamLengthB);for(let i=0;i<nbElements;++i){if(Math.random()<probOfSwapping){samplesA[i]=samplesB[i];}}};function Distribution(){}
4398Distribution.prototype={computeDensity(x){throw Error('Not implemented');},computePercentile(x){throw Error('Not implemented');},computeComplementaryPercentile(x){return 1-this.computePercentile(x);},get mean(){throw Error('Not implemented');},get mode(){throw Error('Not implemented');},get median(){throw Error('Not implemented');},get standardDeviation(){throw Error('Not implemented');},get variance(){throw Error('Not implemented');}};Statistics.UniformDistribution=function(opt_range){if(!opt_range)opt_range=tr.b.math.Range.fromExplicitRange(0,1);this.range=opt_range;};Statistics.UniformDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){return 1/this.range.range;},computePercentile(x){return tr.b.math.normalize(x,this.range.min,this.range.max);},get mean(){return this.range.center;},get mode(){return undefined;},get median(){return this.mean;},get standardDeviation(){return Math.sqrt(this.variance);},get variance(){return Math.pow(this.range.range,2)/12;}};Statistics.NormalDistribution=function(opt_mean,opt_variance){this.mean_=opt_mean||0;this.variance_=opt_variance||1;this.standardDeviation_=Math.sqrt(this.variance_);};Statistics.NormalDistribution.prototype={__proto__:Distribution.prototype,computeDensity(x){const scale=(1.0/(this.standardDeviation*Math.sqrt(2.0*Math.PI)));const exponent=-Math.pow(x-this.mean,2)/(2.0*this.variance);return scale*Math.exp(exponent);},computePercentile(x){const standardizedX=((x-this.mean)/Math.sqrt(2.0*this.variance));return(1.0+tr.b.math.erf(standardizedX))/2.0;},get mean(){return this.mean_;},get median(){return this.mean;},get mode(){return this.mean;},get standardDeviation(){return this.standardDeviation_;},get variance(){return this.variance_;}};Statistics.LogNormalDistribution=function(opt_location,opt_shape){this.normalDistribution_=new Statistics.NormalDistribution(opt_location,Math.pow(opt_shape||1,2));};Statistics.LogNormalDistribution.prototype={__proto__:Statistics.NormalDistribution.prototype,computeDensity(x){return this.normalDistribution_.computeDensity(Math.log(x))/x;},computePercentile(x){return this.normalDistribution_.computePercentile(Math.log(x));},get mean(){return Math.exp(this.normalDistribution_.mean+
4399(this.normalDistribution_.variance/2));},get variance(){const nm=this.normalDistribution_.mean;const nv=this.normalDistribution_.variance;return(Math.exp(2*(nm+nv))-
4400Math.exp(2*nm+nv));},get standardDeviation(){return Math.sqrt(this.variance);},get median(){return Math.exp(this.normalDistribution_.mean);},get mode(){return Math.exp(this.normalDistribution_.mean-
4401this.normalDistribution_.variance);}};Statistics.LogNormalDistribution.fromMedianAndDiminishingReturns=function(median,diminishingReturns){diminishingReturns=Math.log(diminishingReturns/median);const shape=Math.sqrt(1-3*diminishingReturns-
4402Math.sqrt(Math.pow(diminishingReturns-3,2)-8))/2;const location=Math.log(median);return new Statistics.LogNormalDistribution(location,shape);};Statistics.DEFAULT_ALPHA=0.01;Statistics.MAX_SUGGESTED_SAMPLE_SIZE=20;Statistics.Significance={SIGNIFICANT:'REJECT',INSIGNIFICANT:'FAIL_TO_REJECT',NEED_MORE_DATA:'NEED_MORE_DATA',DONT_CARE:'DONT_CARE',};Statistics.mwu=function(a,b,opt_alpha,opt_reqSampleSize){const result=mannwhitneyu.test(a,b);const alpha=opt_alpha||Statistics.DEFAULT_ALPHA;if(result.p<alpha){result.significance=Statistics.Significance.SIGNIFICANT;}else if(opt_reqSampleSize&&(a.length<opt_reqSampleSize||b.length<opt_reqSampleSize)){result.significance=Statistics.Significance.NEED_MORE_DATA;}else{result.significance=Statistics.Significance.INSIGNIFICANT;}
4403return result;};return{Statistics,};});'use strict';const GREEK_SMALL_LETTER_MU=String.fromCharCode(956);tr.exportTo('tr.b',function(){const SECONDS_IN_A_MINUTE=60;const SECONDS_IN_AN_HOUR=SECONDS_IN_A_MINUTE*60;const SECONDS_IN_A_DAY=SECONDS_IN_AN_HOUR*24;const SECONDS_IN_A_WEEK=SECONDS_IN_A_DAY*7;const SECONDS_IN_A_YEAR=SECONDS_IN_A_DAY*365.2422;const SECONDS_IN_A_MONTH=SECONDS_IN_A_YEAR/12;const UnitPrefixScale={};const UnitScale={};function defineUnitPrefixScale(name,prefixes){if(UnitPrefixScale[name]!==undefined){throw new Error('Unit prefix scale \''+name+'\' already exists');}
4404if(prefixes.AUTO!==undefined){throw new Error('The \'AUTO\' unit prefix is not supported for unit'+'prefix scales and cannot be added to scale \''+name+'\'');}
4405UnitPrefixScale[name]=prefixes;}
4406UnitScale.defineUnitScale=function(name,unitScale){if(UnitScale[name]!==undefined){throw new Error('Unit scale \''+name+'\' already exists');}
4407if(unitScale.AUTO!==undefined){throw new Error('\'AUTO\' unit scale will be added automatically '+'for unit scale \''+name+'\'');}
4408unitScale.AUTO=Object.values(unitScale);unitScale.AUTO.sort((a,b)=>a.value-b.value);if(name)UnitScale[name]=unitScale;return unitScale;};UnitScale.defineUnitScaleFromPrefixScale=function(baseSymbol,baseName,prefixScale,opt_scaleName){if(baseSymbol===undefined){throw new Error('Cannot create UnitScale with undefined baseSymbol.');}
4409if(!baseName){throw new Error('Cannot create UnitScale without a baseName.');}
4410if(!prefixScale){throw new Error('Cannot create UnitScale without a prefix scale.');}
4411const unitScale={};for(const curPrefix of Object.keys(prefixScale)){const curScale=prefixScale[curPrefix];if(curScale.symbol===undefined||!curScale.value){throw new Error(`Cannot convert PrefixScale with malformed prefix ${curScale}.`);}
4412const name=curPrefix==='NONE'?baseName:`${curPrefix}_${baseName}`;unitScale[name]={value:curScale.value,symbol:curScale.symbol+baseSymbol,baseSymbol};}
4413return UnitScale.defineUnitScale(opt_scaleName,unitScale);};function convertUnit(value,fromScale,toScale){if(value===undefined)return undefined;const fromScaleBase=fromScale.baseSymbol;const toScaleBase=toScale.baseSymbol;if(fromScaleBase!==undefined&&toScaleBase!==undefined&&fromScaleBase!==toScaleBase){throw new Error('Cannot convert between units with different base symbols.');}
4414return value*(fromScale.value/toScale.value);}
4415defineUnitPrefixScale('BINARY',{NONE:{value:Math.pow(1024,0),symbol:''},KIBI:{value:Math.pow(1024,1),symbol:'Ki'},MEBI:{value:Math.pow(1024,2),symbol:'Mi'},GIBI:{value:Math.pow(1024,3),symbol:'Gi'},TEBI:{value:Math.pow(1024,4),symbol:'Ti'}});defineUnitPrefixScale('METRIC',{NANO:{value:1e-9,symbol:'n'},MICRO:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU},MILLI:{value:1e-3,symbol:'m'},NONE:{value:1,symbol:''},KILO:{value:1e3,symbol:'k'},MEGA:{value:1e6,symbol:'M'},GIGA:{value:1e9,symbol:'G'}});UnitScale.defineUnitScale('TIME',{NANO_SEC:{value:1e-9,symbol:'ns',baseSymbol:'s'},MICRO_SEC:{value:1e-6,symbol:GREEK_SMALL_LETTER_MU+'s',baseSymbol:'s'},MILLI_SEC:{value:1e-3,symbol:'ms',baseSymbol:'s'},SEC:{value:1,symbol:'s',baseSymbol:'s'},MINUTE:{value:SECONDS_IN_A_MINUTE,symbol:'min',baseSymbol:'s'},HOUR:{value:SECONDS_IN_AN_HOUR,symbol:'hr',baseSymbol:'s'},DAY:{value:SECONDS_IN_A_DAY,symbol:'days',baseSymbol:'s'},WEEK:{value:SECONDS_IN_A_WEEK,symbol:'weeks',baseSymbol:'s'},MONTH:{value:SECONDS_IN_A_MONTH,symbol:'months',baseSymbol:'s'},YEAR:{value:SECONDS_IN_A_YEAR,symbol:'years',baseSymbol:'s'}});UnitScale.defineUnitScaleFromPrefixScale('B','BYTE',UnitPrefixScale.BINARY,'MEMORY');return{UnitPrefixScale,UnitScale,convertUnit,};});'use strict';tr.exportTo('tr.b',function(){const msDisplayMode={scale:1e-3,suffix:'ms',roundedLess(a,b){return Math.round(a*1000)<Math.round(b*1000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.MILLI_SEC],minimumFractionDigits:3,}};const nsDisplayMode={scale:1e-9,suffix:'ns',roundedLess(a,b){return Math.round(a*1000000)<Math.round(b*1000000);},formatSpec:{unitScale:[tr.b.UnitScale.TIME.NANO_SEC],maximumFractionDigits:0}};const TimeDisplayModes={ns:nsDisplayMode,ms:msDisplayMode};return{TimeDisplayModes,};});'use strict';tr.exportTo('tr.b',function(){function iterateElementDeeplyImpl(element,cb,thisArg,includeElement){if(includeElement&&cb.call(thisArg,element))return true;if(element.root&&element.root!==element&&iterateElementDeeplyImpl(element.root,cb,thisArg,false)){return true;}
4416const children=Polymer.dom(element).children;for(let i=0;i<children.length;i++){if(iterateElementDeeplyImpl(children[i],cb,thisArg,true)){return true;}}
4417return false;}
4418function iterateElementDeeply(element,cb,thisArg){iterateElementDeeplyImpl(element,cb,thisArg,false);}
4419function findDeepElementMatchingPredicate(element,predicate){let foundElement=undefined;function matches(element){const match=predicate(element);if(!match){return false;}
4420foundElement=element;return true;}
4421iterateElementDeeply(element,matches);return foundElement;}
4422function findDeepElementsMatchingPredicate(element,predicate){const foundElements=[];function matches(element){const match=predicate(element);if(match){foundElements.push(element);}
4423return false;}
4424iterateElementDeeply(element,matches);return foundElements;}
4425function findDeepElementMatching(element,selector){return findDeepElementMatchingPredicate(element,function(element){return element.matches(selector);});}
4426function findDeepElementsMatching(element,selector){return findDeepElementsMatchingPredicate(element,function(element){return element.matches(selector);});}
4427function findDeepElementWithTextContent(element,re){return findDeepElementMatchingPredicate(element,function(element){if(element.children.length!==0)return false;return re.test(Polymer.dom(element).textContent);});}
4428return{iterateElementDeeply,findDeepElementMatching,findDeepElementsMatching,findDeepElementMatchingPredicate,findDeepElementsMatchingPredicate,findDeepElementWithTextContent,};});'use strict';tr.exportTo('tr.b',function(){const TimeDisplayModes=tr.b.TimeDisplayModes;const PLUS_MINUS_SIGN=String.fromCharCode(177);const CACHED_FORMATTERS={};function getNumberFormatter(minSpec,maxSpec,minCtx,maxCtx){const key=minSpec+'-'+maxSpec+'-'+minCtx+'-'+maxCtx;let formatter=CACHED_FORMATTERS[key];if(formatter===undefined){let minimumFractionDigits=minCtx!==undefined?minCtx:minSpec;let maximumFractionDigits=maxCtx!==undefined?maxCtx:maxSpec;if(minimumFractionDigits>maximumFractionDigits){if(minCtx!==undefined&&maxCtx===undefined){maximumFractionDigits=minimumFractionDigits;}else if(minCtx===undefined&&maxCtx!==undefined){minimumFractionDigits=maximumFractionDigits;}}
4429formatter=new Intl.NumberFormat(undefined,{minimumFractionDigits,maximumFractionDigits,});CACHED_FORMATTERS[key]=formatter;}
4430return formatter;}
4431function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return a.scale>b.scale?a:b;}
4432const ImprovementDirection={DONT_CARE:0,BIGGER_IS_BETTER:1,SMALLER_IS_BETTER:2};function Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,formatSpec){this.unitName=unitName;this.jsonName=jsonName;this.scaleBaseUnit=scaleBaseUnit;this.isDelta=isDelta;this.improvementDirection=improvementDirection;this.formatSpec_=formatSpec;this.baseUnit=undefined;this.correspondingDeltaUnit=undefined;}
4433Unit.prototype={asJSON(){return this.jsonName;},getUnitScale_(opt_context){let formatSpec=this.formatSpec_;let formatSpecWasFunction=false;if(typeof formatSpec==='function'){formatSpecWasFunction=true;formatSpec=formatSpec();}
4434const context=opt_context||{};let scale=undefined;if(context.unitScale){scale=context.unitScale;}else if(context.unitPrefix){const symbol=formatSpec.baseSymbol?formatSpec.baseSymbol:this.scaleBaseUnit.baseSymbol;scale=tr.b.UnitScale.defineUnitScaleFromPrefixScale(symbol,symbol,[context.unitPrefix]).AUTO;}else{scale=formatSpec.unitScale;if(!scale){scale=[{value:1,symbol:formatSpec.baseSymbol||'',baseSymbol:formatSpec.baseSymbol||''}];if(!formatSpecWasFunction)formatSpec.unitScale=scale;}}
4435if(!(scale instanceof Array)){throw new Error('Unit has a malformed unit scale.');}
4436return scale;},get unitString(){const scale=this.getUnitScale_();if(!scale){throw new Error('A UnitScale could not be found for Unit '+this.unitName);}
4437return scale[0].baseSymbol||scale[0].symbol;},format(value,opt_context){let signString='';if(value<0){signString='-';value=-value;}else if(this.isDelta){signString=value===0?PLUS_MINUS_SIGN:'+';}
4438const context=opt_context||{};const scale=this.getUnitScale_(context);let deltaValue=context.deltaValue===undefined?value:context.deltaValue;deltaValue=Math.abs(deltaValue)*this.scaleBaseUnit.value;let i=0;while(i<scale.length-1&&deltaValue/scale[i+1].value>=1){i++;}
4439const selectedSubUnit=scale[i];let formatSpec=this.formatSpec_;if(typeof formatSpec==='function')formatSpec=formatSpec();let unitString='';if(selectedSubUnit.symbol){if(!formatSpec.avoidSpacePrecedingUnit)unitString=' ';unitString+=selectedSubUnit.symbol;}
4440value=tr.b.convertUnit(value,this.scaleBaseUnit,selectedSubUnit);const numberString=getNumberFormatter(formatSpec.minimumFractionDigits,formatSpec.maximumFractionDigits,context.minimumFractionDigits,context.maximumFractionDigits).format(value);return signString+numberString+unitString;}};Unit.reset=function(){Unit.currentTimeDisplayMode=TimeDisplayModes.ms;};Unit.timestampFromUs=function(us){return tr.b.convertUnit(us,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);};Object.defineProperty(Unit,'currentTimeDisplayMode',{get(){return Unit.currentTimeDisplayMode_;},set(value){if(Unit.currentTimeDisplayMode_===value)return;Unit.currentTimeDisplayMode_=value;Unit.dispatchEvent(new tr.b.Event('display-mode-changed'));}});Unit.didPreferredTimeDisplayUnitChange=function(){let largest=undefined;const els=tr.b.findDeepElementsMatching(document.body,'tr-v-ui-preferred-display-unit');els.forEach(function(el){largest=max(largest,el.preferredTimeDisplayMode);});Unit.currentTimeDisplayMode=largest===undefined?TimeDisplayModes.ms:largest;};Unit.byName={};Unit.byJSONName={};Unit.fromJSON=function(object){const u=Unit.byJSONName[object];if(u){return u;}
4441throw new Error('Unrecognized unit');};Unit.define=function(params){const definedUnits=[];for(const improvementDirection of Object.values(ImprovementDirection)){const regularUnit=Unit.defineUnitVariant_(params,false,improvementDirection);const deltaUnit=Unit.defineUnitVariant_(params,true,improvementDirection);regularUnit.correspondingDeltaUnit=deltaUnit;deltaUnit.correspondingDeltaUnit=deltaUnit;definedUnits.push(regularUnit,deltaUnit);}
4442const baseUnit=Unit.byName[params.baseUnitName];definedUnits.forEach(u=>u.baseUnit=baseUnit);};Unit.nameSuffixForImprovementDirection=function(improvementDirection){switch(improvementDirection){case ImprovementDirection.DONT_CARE:return'';case ImprovementDirection.BIGGER_IS_BETTER:return'_biggerIsBetter';case ImprovementDirection.SMALLER_IS_BETTER:return'_smallerIsBetter';default:throw new Error('Unknown improvement direction: '+improvementDirection);}};Unit.defineUnitVariant_=function(params,isDelta,improvementDirection){let nameSuffix=isDelta?'Delta':'';nameSuffix+=Unit.nameSuffixForImprovementDirection(improvementDirection);const unitName=params.baseUnitName+nameSuffix;const jsonName=params.baseJsonName+nameSuffix;if(Unit.byName[unitName]!==undefined){throw new Error('Unit \''+unitName+'\' already exists');}
4443if(Unit.byJSONName[jsonName]!==undefined){throw new Error('JSON unit \''+jsonName+'\' alread exists');}
4444let scaleBaseUnit=params.scaleBaseUnit;if(!scaleBaseUnit){let formatSpec=params.formatSpec;if(typeof formatSpec==='function')formatSpec=formatSpec();const baseSymbol=formatSpec.unitScale?formatSpec.unitScale[0].baseSymbol:(formatSpec.baseSymbol||'');scaleBaseUnit={value:1,symbol:baseSymbol,baseSymbol};}
4445const unit=new Unit(unitName,jsonName,scaleBaseUnit,isDelta,improvementDirection,params.formatSpec);Unit.byName[unitName]=unit;Unit.byJSONName[jsonName]=unit;return unit;};tr.b.EventTarget.decorate(Unit);Unit.reset();Unit.define({baseUnitName:'timeInMsAutoFormat',baseJsonName:'msBestFitFormat',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec:{unitScale:tr.b.UnitScale.TIME.AUTO,minimumFractionDigits:0,maximumFractionDigits:3}});Unit.define({baseUnitName:'timeDurationInMs',baseJsonName:'ms',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'timeStampInMs',baseJsonName:'tsMs',scaleBaseUnit:tr.b.UnitScale.TIME.MILLI_SEC,formatSpec(){return Unit.currentTimeDisplayMode_.formatSpec;}});Unit.define({baseUnitName:'normalizedPercentage',baseJsonName:'n%',formatSpec:{unitScale:[{value:0.01,symbol:'%'}],avoidSpacePrecedingUnit:true,minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'sizeInBytes',baseJsonName:'sizeInBytes',formatSpec:{unitScale:tr.b.UnitScale.MEMORY.AUTO,minimumFractionDigits:1,maximumFractionDigits:1}});Unit.define({baseUnitName:'energyInJoules',baseJsonName:'J',formatSpec:{baseSymbol:'J',minimumFractionDigits:3}});Unit.define({baseUnitName:'powerInWatts',baseJsonName:'W',formatSpec:{baseSymbol:'W',minimumFractionDigits:3}});Unit.define({baseUnitName:'unitlessNumber',baseJsonName:'unitless',formatSpec:{minimumFractionDigits:3,maximumFractionDigits:3}});Unit.define({baseUnitName:'count',baseJsonName:'count',formatSpec:{minimumFractionDigits:0,maximumFractionDigits:0}});Unit.define({baseUnitName:'sigma',baseJsonName:'sigma',formatSpec:{baseSymbol:String.fromCharCode(963),minimumFractionDigits:1,maximumFractionDigits:1}});return{ImprovementDirection,Unit,};});'use strict';tr.exportTo('tr.b',function(){class Scalar{constructor(unit,value){if(!(unit instanceof tr.b.Unit)){throw new Error('Expected Unit');}
4446if(!(typeof(value)==='number')){throw new Error('Expected value to be number');}
4447this.unit=unit;this.value=value;}
4448asDict(){return{unit:this.unit.asJSON(),value:tr.b.numberToJson(this.value),};}
4449toString(){return this.unit.format(this.value);}
4450static fromDict(d){return new Scalar(tr.b.Unit.fromJSON(d.unit),tr.b.numberFromJson(d.value));}}
4451return{Scalar,};});'use strict';tr.exportTo('tr.c',function(){function Auditor(model){this.model_=model;}
4452Auditor.prototype={__proto__:Object.prototype,get model(){return this.model_;},runAnnotate(){},installUserFriendlyCategoryDriverIfNeeded(){},runAudit(){}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Auditor;tr.b.decorateExtensionRegistry(Auditor,options);return{Auditor,};});'use strict';tr.exportTo('tr.b',function(){function clamp01(value){return Math.max(0,Math.min(1,value));}
4453function Color(opt_r,opt_g,opt_b,opt_a){this.r=Math.floor(opt_r)||0;this.g=Math.floor(opt_g)||0;this.b=Math.floor(opt_b)||0;this.a=opt_a;}
4454Color.fromString=function(str){let tmp;let values;if(str.substr(0,4)==='rgb('){tmp=str.substr(4,str.length-5);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==3){throw new Error('Malformatted rgb-expression');}
4455return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]));}
4456if(str.substr(0,5)==='rgba('){tmp=str.substr(5,str.length-6);values=tmp.split(',').map(function(v){return v.replace(/^\s+/,'','g');});if(values.length!==4){throw new Error('Malformatted rgb-expression');}
4457return new Color(parseInt(values[0]),parseInt(values[1]),parseInt(values[2]),parseFloat(values[3]));}
4458if(str[0]==='#'&&str.length===7){return new Color(parseInt(str.substr(1,2),16),parseInt(str.substr(3,2),16),parseInt(str.substr(5,2),16));}
4459throw new Error('Unrecognized string format.');};Color.lerp=function(a,b,percent){if(a.a!==undefined&&b.a!==undefined){return Color.lerpRGBA(a,b,percent);}
4460return Color.lerpRGB(a,b,percent);};Color.lerpRGB=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b);};Color.lerpRGBA=function(a,b,percent){return new Color(((b.r-a.r)*percent)+a.r,((b.g-a.g)*percent)+a.g,((b.b-a.b)*percent)+a.b,((b.a-a.a)*percent)+a.a);};Color.fromDict=function(dict){return new Color(dict.r,dict.g,dict.b,dict.a);};Color.fromHSLExplicit=function(h,s,l,a){let r;let g;let b;function hue2rgb(p,q,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p+(q-p)*6*t;if(t<1/2)return q;if(t<2/3)return p+(q-p)*(2/3-t)*6;return p;}
4461if(s===0){r=g=b=l;}else{const q=l<0.5?l*(1+s):l+s-l*s;const p=2*l-q;r=hue2rgb(p,q,h+1/3);g=hue2rgb(p,q,h);b=hue2rgb(p,q,h-1/3);}
4462return new Color(Math.floor(r*255),Math.floor(g*255),Math.floor(b*255),a);};Color.fromHSL=function(hsl){return Color.fromHSLExplicit(hsl.h,hsl.s,hsl.l,hsl.a);};Color.prototype={clone(){const c=new Color();c.r=this.r;c.g=this.g;c.b=this.b;c.a=this.a;return c;},blendOver(bgColor){const oneMinusThisAlpha=1-this.a;const outA=this.a+bgColor.a*oneMinusThisAlpha;const bgBlend=(bgColor.a*oneMinusThisAlpha)/bgColor.a;return new Color(this.r*this.a+bgColor.r*bgBlend,this.g*this.a+bgColor.g*bgBlend,this.b*this.a+bgColor.b*bgBlend,outA);},brighten(opt_k){const k=opt_k||0.45;return new Color(Math.min(255,this.r+Math.floor(this.r*k)),Math.min(255,this.g+Math.floor(this.g*k)),Math.min(255,this.b+Math.floor(this.b*k)),this.a);},lighten(k,opt_maxL){const maxL=opt_maxL!==undefined?opt_maxL:1.0;const hsl=this.toHSL();hsl.l=Math.min(hsl.l+k,maxL);return Color.fromHSL(hsl);},darken(opt_k){let k;if(opt_k!==undefined){k=opt_k;}else{k=0.45;}
4463return new Color(Math.min(255,this.r-Math.floor(this.r*k)),Math.min(255,this.g-Math.floor(this.g*k)),Math.min(255,this.b-Math.floor(this.b*k)),this.a);},desaturate(opt_desaturateFactor){let desaturateFactor;if(opt_desaturateFactor!==undefined){desaturateFactor=opt_desaturateFactor;}else{desaturateFactor=1;}
4464const hsl=this.toHSL();hsl.s=clamp01(hsl.s*(1-desaturateFactor));return Color.fromHSL(hsl);},withAlpha(a){return new Color(this.r,this.g,this.b,a);},toString(){if(this.a!==undefined){return'rgba('+
4465this.r+','+this.g+','+
4466this.b+','+this.a+')';}
4467return'rgb('+this.r+','+this.g+','+this.b+')';},toHSL(){const r=this.r/255;const g=this.g/255;const b=this.b/255;const max=Math.max(r,g,b);const min=Math.min(r,g,b);let h;let s;const l=(max+min)/2;if(min===max){h=0;s=0;}else{const delta=max-min;if(l>0.5){s=delta/(2-max-min);}else{s=delta/(max+min);}
4468if(r===max){h=(g-b)/delta;if(g<b)h+=6;}else if(g===max){h=2+((b-r)/delta);}else{h=4+((r-g)/delta);}
4469h/=6;}
4470return{h,s,l,a:this.a};},toStringWithAlphaOverride(alpha){return'rgba('+
4471this.r+','+this.g+','+
4472this.b+','+alpha+')';}};return{Color,};});'use strict';tr.exportTo('tr.b',function(){const generalPurposeColors=[new tr.b.Color(122,98,135),new tr.b.Color(150,83,105),new tr.b.Color(44,56,189),new tr.b.Color(99,86,147),new tr.b.Color(104,129,107),new tr.b.Color(130,178,55),new tr.b.Color(87,109,147),new tr.b.Color(111,145,88),new tr.b.Color(81,152,131),new tr.b.Color(142,91,111),new tr.b.Color(81,163,70),new tr.b.Color(148,94,86),new tr.b.Color(144,89,118),new tr.b.Color(83,150,97),new tr.b.Color(105,94,139),new tr.b.Color(89,144,122),new tr.b.Color(105,119,128),new tr.b.Color(96,128,137),new tr.b.Color(145,88,145),new tr.b.Color(88,145,144),new tr.b.Color(90,100,143),new tr.b.Color(121,97,136),new tr.b.Color(111,160,73),new tr.b.Color(112,91,142),new tr.b.Color(86,147,86),new tr.b.Color(63,100,170),new tr.b.Color(81,152,107),new tr.b.Color(60,164,173),new tr.b.Color(143,72,161),new tr.b.Color(159,74,86)];const reservedColorsByName={thread_state_uninterruptible:new tr.b.Color(182,125,143),thread_state_iowait:new tr.b.Color(255,140,0),thread_state_running:new tr.b.Color(126,200,148),thread_state_runnable:new tr.b.Color(133,160,210),thread_state_sleeping:new tr.b.Color(240,240,240),thread_state_unknown:new tr.b.Color(199,155,125),background_memory_dump:new tr.b.Color(0,180,180),light_memory_dump:new tr.b.Color(0,0,180),detailed_memory_dump:new tr.b.Color(180,0,180),vsync_highlight_color:new tr.b.Color(0,0,255),generic_work:new tr.b.Color(125,125,125),good:new tr.b.Color(0,125,0),bad:new tr.b.Color(180,125,0),terrible:new tr.b.Color(180,0,0),black:new tr.b.Color(0,0,0),grey:new tr.b.Color(221,221,221),white:new tr.b.Color(255,255,255),yellow:new tr.b.Color(255,255,0),olive:new tr.b.Color(100,100,0),rail_response:new tr.b.Color(67,135,253),rail_animation:new tr.b.Color(244,74,63),rail_idle:new tr.b.Color(238,142,0),rail_load:new tr.b.Color(13,168,97),startup:new tr.b.Color(230,230,0),heap_dump_stack_frame:new tr.b.Color(128,128,128),heap_dump_object_type:new tr.b.Color(0,0,255),heap_dump_child_node_arrow:new tr.b.Color(204,102,0),cq_build_running:new tr.b.Color(255,255,119),cq_build_passed:new tr.b.Color(153,238,102),cq_build_failed:new tr.b.Color(238,136,136),cq_build_abandoned:new tr.b.Color(187,187,187),cq_build_attempt_runnig:new tr.b.Color(222,222,75),cq_build_attempt_passed:new tr.b.Color(103,218,35),cq_build_attempt_failed:new tr.b.Color(197,81,81)};const numGeneralPurposeColorIds=generalPurposeColors.length;const numReservedColorIds=Object.keys(reservedColorsByName).length;const numColorsPerVariant=numGeneralPurposeColorIds+numReservedColorIds;function ColorScheme(){}
4473const paletteBase=[];paletteBase.push.apply(paletteBase,generalPurposeColors);paletteBase.push.apply(paletteBase,Object.values(reservedColorsByName));ColorScheme.colors=[];ColorScheme.properties={};ColorScheme.properties={numColorsPerVariant,};function pushVariant(func){const variantColors=paletteBase.map(func);ColorScheme.colors.push.apply(ColorScheme.colors,variantColors);}
4474pushVariant(function(c){return c;});ColorScheme.properties.brightenedOffsets=[];ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.3,0.8);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.48,0.85);});ColorScheme.properties.brightenedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.lighten(0.65,0.9);});ColorScheme.properties.dimmedOffsets=[];ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate();});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.5);});ColorScheme.properties.dimmedOffsets.push(ColorScheme.colors.length);pushVariant(function(c){return c.desaturate(0.3);});ColorScheme.colorsAsStrings=ColorScheme.colors.map(function(c){return c.toString();});const reservedColorNameToIdMap=(function(){const m=new Map();let i=generalPurposeColors.length;for(const key of Object.keys(reservedColorsByName)){m.set(key,i++);}
4475return m;})();ColorScheme.getColorIdForReservedName=function(name){const id=reservedColorNameToIdMap.get(name);if(id===undefined){throw new Error('Unrecognized color '+name);}
4476return id;};ColorScheme.getColorForReservedNameAsString=function(reservedName){const id=ColorScheme.getColorIdForReservedName(reservedName);return ColorScheme.colorsAsStrings[id];};ColorScheme.getStringHash=function(name){let hash=0;for(let i=0;i<name.length;++i){hash=(hash+37*hash+11*name.charCodeAt(i))%0xFFFFFFFF;}
4477return hash;};const stringColorIdCache=new Map();ColorScheme.getColorIdForGeneralPurposeString=function(string){if(stringColorIdCache.get(string)===undefined){const hash=ColorScheme.getStringHash(string);stringColorIdCache.set(string,hash%numGeneralPurposeColorIds);}
4478return stringColorIdCache.get(string);};ColorScheme.getAnotherColorId=function(colorId,n){return(colorId+n)%numColorsPerVariant;};ColorScheme.getVariantColorId=function(colorId,offset){return colorId+offset;};return{ColorScheme,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function EventInfo(title,description,docLinks){this.title=title;this.description=description;this.docLinks=docLinks;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(title);}
4479return{EventInfo,};});'use strict';tr.exportTo('tr.b',function(){let nextGUID=1;const UUID4_PATTERN='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';const GUID={allocateSimple(){return nextGUID++;},getLastSimpleGuid(){return nextGUID-1;},allocateUUID4(){return UUID4_PATTERN.replace(/[xy]/g,function(c){let r=parseInt(Math.random()*16);if(c==='y')r=(r&3)+8;return r.toString(16);});}};return{GUID,};});'use strict';tr.exportTo('tr.model',function(){function EventRegistry(){}
4480const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(EventRegistry,options);EventRegistry.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.name===undefined){throw new Error('Registered events must provide name metadata');}
4481if(metadata.pluralName===undefined){throw new Error('Registered events must provide pluralName metadata');}
4482if(metadata.subTypes===undefined){metadata.subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=e.typeInfo.constructor;options.defaultConstructor=e.typeInfo.constructor;tr.b.decorateExtensionRegistry(metadata.subTypes,options);}else{if(!metadata.subTypes.register){throw new Error('metadata.subTypes must be an extension registry.');}}
4483e.typeInfo.constructor.subTypes=metadata.subTypes;});let eventsByTypeName=undefined;EventRegistry.getEventTypeInfoByTypeName=function(typeName){if(eventsByTypeName===undefined){eventsByTypeName={};EventRegistry.getAllRegisteredTypeInfos().forEach(function(typeInfo){eventsByTypeName[typeInfo.metadata.name]=typeInfo;});}
4484return eventsByTypeName[typeName];};EventRegistry.addEventListener('registry-changed',function(){eventsByTypeName=undefined;});function convertCamelCaseToTitleCase(name){let result=name.replace(/[A-Z]/g,' $&');result=result.charAt(0).toUpperCase()+result.slice(1);return result;}
4485EventRegistry.getUserFriendlySingularName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.name;return convertCamelCaseToTitleCase(str);};EventRegistry.getUserFriendlyPluralName=function(typeName){const typeInfo=EventRegistry.getEventTypeInfoByTypeName(typeName);const str=typeInfo.metadata.pluralName;return convertCamelCaseToTitleCase(str);};return{EventRegistry,};});'use strict';tr.exportTo('tr.model',function(){const EventRegistry=tr.model.EventRegistry;const RequestSelectionChangeEvent=tr.b.Event.bind(undefined,'requestSelectionChange',true,false);function EventSet(opt_events){this.bounds_=new tr.b.math.Range();this.events_=new Set();this.guid_=tr.b.GUID.allocateSimple();if(opt_events){if(opt_events instanceof Array){for(const event of opt_events){this.push(event);}}else if(opt_events instanceof EventSet){this.addEventSet(opt_events);}else{this.push(opt_events);}}}
4486EventSet.prototype={__proto__:Object.prototype,get bounds(){return this.bounds_;},get duration(){if(this.bounds_.isEmpty)return 0;return this.bounds_.max-this.bounds_.min;},get length(){return this.events_.size;},get guid(){return this.guid_;},*[Symbol.iterator](){for(const event of this.events_){yield event;}},clear(){this.bounds_=new tr.b.math.Range();this.events_.clear();},push(...events){let numPushed;for(const event of events){if(event.guid===undefined){throw new Error('Event must have a GUID');}
4487if(!this.events_.has(event)){this.events_.add(event);if(event.addBoundsToRange){if(this.bounds_!==undefined){event.addBoundsToRange(this.bounds_);}}}
4488numPushed++;}
4489return numPushed;},contains(event){if(this.events_.has(event))return event;return undefined;},addEventSet(eventSet){for(const event of eventSet){this.push(event);}},intersectionIsEmpty(otherEventSet){return!this.some(event=>otherEventSet.contains(event));},equals(that){if(this.length!==that.length)return false;return this.every(event=>that.contains(event));},sortEvents(compare){const ary=this.toArray();ary.sort(compare);this.clear();for(const event of ary){this.push(event);}},getEventsOrganizedByBaseType(opt_pruneEmpty){const allTypeInfos=EventRegistry.getAllRegisteredTypeInfos();const events=this.getEventsOrganizedByCallback(function(event){let maxEventIndex=-1;let maxEventTypeInfo=undefined;allTypeInfos.forEach(function(eventTypeInfo,eventIndex){if(!(event instanceof eventTypeInfo.constructor))return;if(eventIndex>maxEventIndex){maxEventIndex=eventIndex;maxEventTypeInfo=eventTypeInfo;}});if(maxEventIndex===-1){throw new Error(`Unrecognized event type: ${event.constructor.name}`);}
4490return maxEventTypeInfo.metadata.name;});if(!opt_pruneEmpty){allTypeInfos.forEach(function(eventTypeInfo){if(events[eventTypeInfo.metadata.name]===undefined){events[eventTypeInfo.metadata.name]=new EventSet();}});}
4491return events;},getEventsOrganizedByTitle(){return this.getEventsOrganizedByCallback(function(event){if(event.title===undefined){throw new Error('An event didn\'t have a title!');}
4492return event.title;});},getEventsOrganizedByCallback(cb,opt_this){const groupedEvents=tr.b.groupIntoMap(this,cb,opt_this||this);const groupedEventsDict={};for(const[k,events]of groupedEvents){groupedEventsDict[k]=new EventSet(events);}
4493return groupedEventsDict;},enumEventsOfType(type,func){for(const event of this){if(event instanceof type){func(event);}}},get userFriendlyName(){if(this.length===0){throw new Error('Empty event set');}
4494const eventsByBaseType=this.getEventsOrganizedByBaseType(true);const eventTypeName=Object.keys(eventsByBaseType)[0];if(this.length===1){const tmp=EventRegistry.getUserFriendlySingularName(eventTypeName);return tr.b.getOnlyElement(this.events_).userFriendlyName;}
4495const numEventTypes=Object.keys(eventsByBaseType).length;if(numEventTypes!==1){return this.length+' events of various types';}
4496const tmp=EventRegistry.getUserFriendlyPluralName(eventTypeName);return this.length+' '+tmp;},filter(fn,opt_this){const res=new EventSet();for(const event of this){if(fn.call(opt_this,event)){res.push(event);}}
4497return res;},toArray(){const ary=[];for(const event of this){ary.push(event);}
4498return ary;},forEach(fn,opt_this){for(const event of this){fn.call(opt_this,event);}},map(fn,opt_this){const res=[];for(const event of this){res.push(fn.call(opt_this,event));}
4499return res;},every(fn,opt_this){for(const event of this){if(!fn.call(opt_this,event)){return false;}}
4500return true;},some(fn,opt_this){for(const event of this){if(fn.call(opt_this,event)){return true;}}
4501return false;},asDict(){const stableIds=[];for(const event of this){stableIds.push(event.stableId);}
4502return{'events':stableIds};},asSet(){return this.events_;}};EventSet.IMMUTABLE_EMPTY_SET=(function(){const s=new EventSet();s.push=function(){throw new Error('Cannot push to an immutable event set');};s.addEventSet=function(){throw new Error('Cannot add to an immutable event set');};Object.freeze(s);return s;})();return{EventSet,RequestSelectionChangeEvent,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const SelectionState={NONE:0,SELECTED:ColorScheme.properties.brightenedOffsets[0],HIGHLIGHTED:ColorScheme.properties.brightenedOffsets[1],DIMMED:ColorScheme.properties.dimmedOffsets[0],BRIGHTENED0:ColorScheme.properties.brightenedOffsets[0],BRIGHTENED1:ColorScheme.properties.brightenedOffsets[1],BRIGHTENED2:ColorScheme.properties.brightenedOffsets[2],DIMMED0:ColorScheme.properties.dimmedOffsets[0],DIMMED1:ColorScheme.properties.dimmedOffsets[1],DIMMED2:ColorScheme.properties.dimmedOffsets[2]};const brighteningLevels=[SelectionState.NONE,SelectionState.BRIGHTENED0,SelectionState.BRIGHTENED1,SelectionState.BRIGHTENED2];SelectionState.getFromBrighteningLevel=function(level){return brighteningLevels[level];};const dimmingLevels=[SelectionState.DIMMED0,SelectionState.DIMMED1,SelectionState.DIMMED2];SelectionState.getFromDimmingLevel=function(level){return dimmingLevels[level];};return{SelectionState,};});'use strict';tr.exportTo('tr.model',function(){const SelectionState=tr.model.SelectionState;function SelectableItem(modelItem){this.modelItem_=modelItem;}
4503SelectableItem.prototype={get modelItem(){return this.modelItem_;},get selected(){return this.selectionState===SelectionState.SELECTED;},addToSelection(selection){const modelItem=this.modelItem_;if(!modelItem)return;selection.push(modelItem);},addToTrackMap(eventToTrackMap,track){const modelItem=this.modelItem_;if(!modelItem)return;eventToTrackMap.addEvent(modelItem,track);}};return{SelectableItem,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;const IMMUTABLE_EMPTY_SET=tr.model.EventSet.IMMUTABLE_EMPTY_SET;function Event(){SelectableItem.call(this,this);this.guid_=tr.b.GUID.allocateSimple();this.selectionState=SelectionState.NONE;this.info=undefined;}
4504Event.prototype={__proto__:SelectableItem.prototype,get guid(){return this.guid_;},get stableId(){return undefined;},get range(){const range=new tr.b.math.Range();this.addBoundsToRange(range);return range;},associatedAlerts:IMMUTABLE_EMPTY_SET,addAssociatedAlert(alert){if(this.associatedAlerts===IMMUTABLE_EMPTY_SET){this.associatedAlerts=new tr.model.EventSet();}
4505this.associatedAlerts.push(alert);},addBoundsToRange(range){}};return{Event,};});'use strict';tr.exportTo('tr.model',function(){function TimedEvent(start){tr.model.Event.call(this);this.start=start;this.duration=0;this.cpuStart=undefined;this.cpuDuration=undefined;this.contexts=Object.freeze([]);}
4506TimedEvent.prototype={__proto__:tr.model.Event.prototype,get end(){return this.start+this.duration;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);},bounds(that,opt_precisionUnit){if(opt_precisionUnit===undefined){opt_precisionUnit=tr.b.TimeDisplayModes.ms;}
4507const startsBefore=opt_precisionUnit.roundedLess(that.start,this.start);const endsAfter=opt_precisionUnit.roundedLess(this.end,that.end);return!startsBefore&&!endsAfter;}};return{TimedEvent,};});'use strict';tr.exportTo('tr.model',function(){function Alert(info,start,opt_associatedEvents,opt_args){tr.model.TimedEvent.call(this,start);this.info=info;this.args=opt_args||{};this.associatedEvents=new tr.model.EventSet(opt_associatedEvents);this.associatedEvents.forEach(function(event){event.addAssociatedAlert(this);},this);}
4508Alert.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.info.title;},get colorId(){return this.info.colorId;},get userFriendlyName(){return'Alert '+this.title+' at '+
4509tr.b.Unit.byName.timeStampInMs.format(this.start);}};tr.model.EventRegistry.register(Alert,{name:'alert',pluralName:'alerts'});return{Alert,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS={GOOD:'good',BAD:'bad',TERRIBLE:'terrible',NEUTRAL:'generic_work'};function Frame(associatedEvents,threadTimeRanges,opt_args){tr.model.Event.call(this);this.threadTimeRanges=threadTimeRanges;this.associatedEvents=new tr.model.EventSet(associatedEvents);this.args=opt_args||{};this.title='Frame';this.start=Statistics.min(threadTimeRanges,function(x){return x.start;});this.end=Statistics.max(threadTimeRanges,function(x){return x.end;});this.totalDuration=Statistics.sum(threadTimeRanges,function(x){return x.end-x.start;});this.perfClass=FRAME_PERF_CLASS.NEUTRAL;}
4510Frame.prototype={__proto__:tr.model.Event.prototype,set perfClass(perfClass){this.colorId=ColorScheme.getColorIdForReservedName(perfClass);this.perfClass_=perfClass;},get perfClass(){return this.perfClass_;},shiftTimestampsForward(amount){this.start+=amount;this.end+=amount;for(let i=0;i<this.threadTimeRanges.length;i++){this.threadTimeRanges[i].start+=amount;this.threadTimeRanges[i].end+=amount;}},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};tr.model.EventRegistry.register(Frame,{name:'frame',pluralName:'frames'});return{Frame,FRAME_PERF_CLASS,};});'use strict';tr.exportTo('tr.b.math',function(){function findLowIndexInSortedArray(ary,mapFn,loVal){if(ary.length===0)return 1;let low=0;let high=ary.length-1;let i;let comparison;let hitPos=-1;while(low<=high){i=Math.floor((low+high)/2);comparison=mapFn(ary[i])-loVal;if(comparison<0){low=i+1;continue;}else if(comparison>0){high=i-1;continue;}else{hitPos=i;high=i-1;}}
4511return hitPos!==-1?hitPos:low;}
4512function findHighIndexInSortedArray(ary,mapFn,loVal,hiVal){let lo=loVal||0;let hi=hiVal!==undefined?hiVal:ary.length;while(lo<hi){const mid=(lo+hi)>>1;if(mapFn(ary[mid])>=0){lo=mid+1;}else{hi=mid;}}
4513return hi;}
4514function findIndexInSortedIntervals(ary,mapLoFn,mapWidthFn,loVal){const first=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(first===0){if(loVal>=mapLoFn(ary[0])&&loVal<mapLoFn(ary[0])+mapWidthFn(ary[0],0)){return 0;}
4515return-1;}
4516if(first<ary.length){if(loVal>=mapLoFn(ary[first])&&loVal<mapLoFn(ary[first])+mapWidthFn(ary[first],first)){return first;}
4517if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
4518mapWidthFn(ary[first-1],first-1)){return first-1;}
4519return ary.length;}
4520if(first===ary.length){if(loVal>=mapLoFn(ary[first-1])&&loVal<mapLoFn(ary[first-1])+
4521mapWidthFn(ary[first-1],first-1)){return first-1;}
4522return ary.length;}
4523return ary.length;}
4524function findIndexInSortedClosedIntervals(ary,mapLoFn,mapHiFn,val){const i=findLowIndexInSortedArray(ary,mapLoFn,val);if(i===0){if(val>=mapLoFn(ary[0],0)&&val<=mapHiFn(ary[0],0)){return 0;}
4525return-1;}
4526if(i<ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}
4527if(val>=mapLoFn(ary[i],i)&&val<=mapHiFn(ary[i],i)){return i;}
4528return ary.length;}
4529if(i===ary.length){if(val>=mapLoFn(ary[i-1],i-1)&&val<=mapHiFn(ary[i-1],i-1)){return i-1;}
4530return ary.length;}
4531return ary.length;}
4532function iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,cb){if(ary.length===0)return;if(loVal>hiVal)return;let i=findLowIndexInSortedArray(ary,mapLoFn,loVal);if(i===-1){return;}
4533if(i>0){const hi=mapLoFn(ary[i-1])+mapWidthFn(ary[i-1],i-1);if(hi>=loVal){cb(ary[i-1],i-1);}}
4534if(i===ary.length){return;}
4535for(let n=ary.length;i<n;i++){const lo=mapLoFn(ary[i]);if(lo>=hiVal)break;cb(ary[i],i);}}
4536function getIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal){const tmp=[];iterateOverIntersectingIntervals(ary,mapLoFn,mapWidthFn,loVal,hiVal,function(d){tmp.push(d);});return tmp;}
4537function findClosestElementInSortedArray(ary,mapFn,val,maxDiff){if(ary.length===0)return null;let aftIdx=findLowIndexInSortedArray(ary,mapFn,val);const befIdx=aftIdx>0?aftIdx-1:0;if(aftIdx===ary.length)aftIdx-=1;const befDiff=Math.abs(val-mapFn(ary[befIdx]));const aftDiff=Math.abs(val-mapFn(ary[aftIdx]));if(befDiff>maxDiff&&aftDiff>maxDiff)return null;const idx=befDiff<aftDiff?befIdx:aftIdx;return ary[idx];}
4538function findClosestIntervalInSortedIntervals(ary,mapLoFn,mapHiFn,val,maxDiff){if(ary.length===0)return null;let idx=findLowIndexInSortedArray(ary,mapLoFn,val);if(idx>0)idx-=1;const hiInt=ary[idx];let loInt=hiInt;if(val>mapHiFn(hiInt)&&idx+1<ary.length){loInt=ary[idx+1];}
4539const loDiff=Math.abs(val-mapLoFn(loInt));const hiDiff=Math.abs(val-mapHiFn(hiInt));if(loDiff>maxDiff&&hiDiff>maxDiff)return null;if(loDiff<hiDiff)return loInt;return hiInt;}
4540return{findLowIndexInSortedArray,findHighIndexInSortedArray,findIndexInSortedIntervals,findIndexInSortedClosedIntervals,iterateOverIntersectingIntervals,getIntersectingIntervals,findClosestElementInSortedArray,findClosestIntervalInSortedIntervals,};});'use strict';tr.exportTo('tr.model.helpers',function(){const Frame=tr.model.Frame;const Statistics=tr.b.math.Statistics;const UI_DRAW_TYPE={NONE:'none',LEGACY:'legacy',MARSHMALLOW:'marshmallow'};const UI_THREAD_DRAW_NAMES={'performTraversals':UI_DRAW_TYPE.LEGACY,'Choreographer#doFrame':UI_DRAW_TYPE.MARSHMALLOW};const RENDER_THREAD_DRAW_NAME='DrawFrame';const RENDER_THREAD_INDEP_DRAW_NAME='doFrame';const RENDER_THREAD_QUEUE_NAME='queueBuffer';const RENDER_THREAD_SWAP_NAME='eglSwapBuffers';const THREAD_SYNC_NAME='syncFrameState';function getSlicesForThreadTimeRanges(threadTimeRanges){const ret=[];threadTimeRanges.forEach(function(threadTimeRange){const slices=[];threadTimeRange.thread.sliceGroup.iterSlicesInTimeRange(function(slice){slices.push(slice);},threadTimeRange.start,threadTimeRange.end);ret.push.apply(ret,slices);});return ret;}
4541function makeFrame(threadTimeRanges,surfaceFlinger){const args={};if(surfaceFlinger&&surfaceFlinger.hasVsyncs){const start=Statistics.min(threadTimeRanges,function(threadTimeRanges){return threadTimeRanges.start;});args.deadline=surfaceFlinger.getFrameDeadline(start);args.frameKickoff=surfaceFlinger.getFrameKickoff(start);}
4542const events=getSlicesForThreadTimeRanges(threadTimeRanges);return new Frame(events,threadTimeRanges,args);}
4543function findOverlappingDrawFrame(renderThread,uiDrawSlice){if(!renderThread)return undefined;let overlappingDrawFrame;const slices=tr.b.math.iterateOverIntersectingIntervals(renderThread.sliceGroup.slices,function(range){return range.start;},function(range){return range.end;},uiDrawSlice.start,uiDrawSlice.end,function(rtDrawSlice){if(rtDrawSlice.title===RENDER_THREAD_DRAW_NAME){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice&&rtSyncSlice.start>=uiDrawSlice.start&&rtSyncSlice.end<=uiDrawSlice.end){overlappingDrawFrame=rtDrawSlice;}}});return overlappingDrawFrame;}
4544function getPreTraversalWorkRanges(uiThread){if(!uiThread)return[];const preFrameEvents=[];uiThread.sliceGroup.slices.forEach(function(slice){if(slice.title==='obtainView'||slice.title==='setupListItem'||slice.title==='deliverInputEvent'||slice.title==='RV Scroll'){preFrameEvents.push(slice);}});uiThread.asyncSliceGroup.slices.forEach(function(slice){if(slice.title==='deliverInputEvent'){preFrameEvents.push(slice);}});return tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(preFrameEvents),3,function(events){return{start:events[0].min,end:events[events.length-1].max};});}
4545function getFrameStartTime(traversalStart,preTraversalWorkRanges){const preTraversalWorkRange=tr.b.math.findClosestIntervalInSortedIntervals(preTraversalWorkRanges,function(range){return range.start;},function(range){return range.end;},traversalStart,3);if(preTraversalWorkRange){return preTraversalWorkRange.start;}
4546return traversalStart;}
4547function getRtFrameEndTime(rtDrawSlice){const rtQueueSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_QUEUE_NAME);if(rtQueueSlice){return rtQueueSlice.end;}
4548const rtSwapSlice=rtDrawSlice.findDescendentSlice(RENDER_THREAD_SWAP_NAME);if(rtSwapSlice){return rtSwapSlice.end;}
4549return rtDrawSlice.end;}
4550function getUiThreadDrivenFrames(app){if(!app.uiThread)return[];let preTraversalWorkRanges=[];if(app.uiDrawType===UI_DRAW_TYPE.LEGACY){preTraversalWorkRanges=getPreTraversalWorkRanges(app.uiThread);}
4551const frames=[];app.uiThread.sliceGroup.slices.forEach(function(slice){if(!(slice.title in UI_THREAD_DRAW_NAMES)){return;}
4552const threadTimeRanges=[];const uiThreadTimeRange={thread:app.uiThread,start:getFrameStartTime(slice.start,preTraversalWorkRanges),end:slice.end};threadTimeRanges.push(uiThreadTimeRange);const rtDrawSlice=findOverlappingDrawFrame(app.renderThread,slice);if(rtDrawSlice){const rtSyncSlice=rtDrawSlice.findDescendentSlice(THREAD_SYNC_NAME);if(rtSyncSlice){uiThreadTimeRange.end=Math.min(uiThreadTimeRange.end,rtSyncSlice.start);}
4553threadTimeRanges.push({thread:app.renderThread,start:rtDrawSlice.start,end:getRtFrameEndTime(rtDrawSlice)});}
4554frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;}
4555function getRenderThreadDrivenFrames(app){if(!app.renderThread)return[];const frames=[];app.renderThread.sliceGroup.getSlicesOfName(RENDER_THREAD_INDEP_DRAW_NAME).forEach(function(slice){const threadTimeRanges=[{thread:app.renderThread,start:slice.start,end:slice.end}];frames.push(makeFrame(threadTimeRanges,app.surfaceFlinger));});return frames;}
4556function getUiDrawType(uiThread){if(!uiThread){return UI_DRAW_TYPE.NONE;}
4557const slices=uiThread.sliceGroup.slices;for(let i=0;i<slices.length;i++){if(slices[i].title in UI_THREAD_DRAW_NAMES){return UI_THREAD_DRAW_NAMES[slices[i].title];}}
4558return UI_DRAW_TYPE.NONE;}
4559function getInputSamples(process){let samples=undefined;for(const counterName in process.counters){if(/^android\.aq\:pending/.test(counterName)&&process.counters[counterName].numSeries===1){samples=process.counters[counterName].series[0].samples;break;}}
4560if(!samples)return[];const inputSamples=[];let lastValue=0;samples.forEach(function(sample){if(sample.value>lastValue){inputSamples.push(sample);}
4561lastValue=sample.value;});return inputSamples;}
4562function getAnimationAsyncSlices(uiThread){if(!uiThread)return[];const slices=[];for(const slice of uiThread.asyncSliceGroup.getDescendantEvents()){if(/^animator\:/.test(slice.title)){slices.push(slice);}}
4563return slices;}
4564function AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType){this.process=process;this.uiThread=uiThread;this.renderThread=renderThread;this.surfaceFlinger=surfaceFlinger;this.uiDrawType=uiDrawType;this.frames_=undefined;this.inputs_=undefined;}
4565AndroidApp.createForProcessIfPossible=function(process,surfaceFlinger){let uiThread=process.getThread(process.pid);const uiDrawType=getUiDrawType(uiThread);if(uiDrawType===UI_DRAW_TYPE.NONE){uiThread=undefined;}
4566const renderThreads=process.findAllThreadsNamed('RenderThread');const renderThread=(renderThreads.length===1?renderThreads[0]:undefined);if(uiThread||renderThread){return new AndroidApp(process,uiThread,renderThread,surfaceFlinger,uiDrawType);}};AndroidApp.prototype={getFrames(){if(!this.frames_){const uiFrames=getUiThreadDrivenFrames(this);const rtFrames=getRenderThreadDrivenFrames(this);this.frames_=uiFrames.concat(rtFrames);this.frames_.sort(function(a,b){a.end-b.end;});}
4567return this.frames_;},getInputSamples(){if(!this.inputs_){this.inputs_=getInputSamples(this.process);}
4568return this.inputs_;},getAnimationAsyncSlices(){if(!this.animations_){this.animations_=getAnimationAsyncSlices(this.uiThread);}
4569return this.animations_;}};return{AndroidApp,};});'use strict';tr.exportTo('tr.model.helpers',function(){const findLowIndexInSortedArray=tr.b.math.findLowIndexInSortedArray;const VSYNC_SF_NAME='android.VSYNC-sf';const VSYNC_APP_NAME='android.VSYNC-app';const VSYNC_FALLBACK_NAME='android.VSYNC';const TIMESTAMP_FUDGE_MS=0.01;function getVsyncTimestamps(process,counterName){let vsync=process.counters[counterName];if(!vsync){vsync=process.counters[VSYNC_FALLBACK_NAME];}
4570if(vsync&&vsync.numSeries===1&&vsync.numSamples>1){return vsync.series[0].timestamps;}
4571return undefined;}
4572function AndroidSurfaceFlinger(process,thread){this.process=process;this.thread=thread;this.appVsync_=undefined;this.sfVsync_=undefined;this.appVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_APP_NAME);this.sfVsyncTimestamps_=getVsyncTimestamps(process,VSYNC_SF_NAME);this.deadlineDelayMs_=this.appVsyncTimestamps_!==this.sfVsyncTimestamps_?5:TIMESTAMP_FUDGE_MS;}
4573AndroidSurfaceFlinger.createForProcessIfPossible=function(process){const mainThread=process.getThread(process.pid);if(mainThread&&mainThread.name&&/surfaceflinger/.test(mainThread.name)){return new AndroidSurfaceFlinger(process,mainThread);}
4574const primaryThreads=process.findAllThreadsNamed('SurfaceFlinger');if(primaryThreads.length===1){return new AndroidSurfaceFlinger(process,primaryThreads[0]);}
4575return undefined;};AndroidSurfaceFlinger.prototype={get hasVsyncs(){return!!this.appVsyncTimestamps_&&!!this.sfVsyncTimestamps_;},getFrameKickoff(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');}
4576const firstGreaterIndex=findLowIndexInSortedArray(this.appVsyncTimestamps_,function(x){return x;},timestamp+TIMESTAMP_FUDGE_MS);if(firstGreaterIndex<1)return undefined;return this.appVsyncTimestamps_[firstGreaterIndex-1];},getFrameDeadline(timestamp){if(!this.hasVsyncs){throw new Error('cannot query vsync info without vsyncs');}
4577const firstGreaterIndex=findLowIndexInSortedArray(this.sfVsyncTimestamps_,function(x){return x;},timestamp+this.deadlineDelayMs_);if(firstGreaterIndex>=this.sfVsyncTimestamps_.length){return undefined;}
4578return this.sfVsyncTimestamps_[firstGreaterIndex];}};return{AndroidSurfaceFlinger,};});'use strict';tr.exportTo('tr.model.helpers',function(){const AndroidApp=tr.model.helpers.AndroidApp;const AndroidSurfaceFlinger=tr.model.helpers.AndroidSurfaceFlinger;const IMPORTANT_SURFACE_FLINGER_SLICES={'doComposition':true,'updateTexImage':true,'postFramebuffer':true};const IMPORTANT_UI_THREAD_SLICES={'Choreographer#doFrame':true,'performTraversals':true,'deliverInputEvent':true};const IMPORTANT_RENDER_THREAD_SLICES={'doFrame':true};function iterateImportantThreadSlices(thread,important,callback){if(!thread)return;thread.sliceGroup.slices.forEach(function(slice){if(slice.title in important){callback(slice);}});}
4579function AndroidModelHelper(model){this.model=model;this.apps=[];this.surfaceFlinger=undefined;const processes=model.getAllProcesses();for(let i=0;i<processes.length&&!this.surfaceFlinger;i++){this.surfaceFlinger=AndroidSurfaceFlinger.createForProcessIfPossible(processes[i]);}
4580model.getAllProcesses().forEach(function(process){const app=AndroidApp.createForProcessIfPossible(process,this.surfaceFlinger);if(app){this.apps.push(app);}},this);}
4581AndroidModelHelper.guid=tr.b.GUID.allocateSimple();AndroidModelHelper.supportsModel=function(model){return true;};AndroidModelHelper.prototype={iterateImportantSlices(callback){if(this.surfaceFlinger){iterateImportantThreadSlices(this.surfaceFlinger.thread,IMPORTANT_SURFACE_FLINGER_SLICES,callback);}
4582this.apps.forEach(function(app){iterateImportantThreadSlices(app.uiThread,IMPORTANT_UI_THREAD_SLICES,callback);iterateImportantThreadSlices(app.renderThread,IMPORTANT_RENDER_THREAD_SLICES,callback);});}};return{AndroidModelHelper,};});'use strict';tr.exportTo('tr.model',function(){function Slice(category,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){if(new.target){throw new Error('Can\'t instantiate pure virtual class Slice');}
4583tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.inFlowEvents=[];this.outFlowEvents=[];this.subSlices=[];this.selfTime=undefined;this.cpuSelfTime=undefined;this.important=false;this.parentContainer=undefined;this.argsStripped=false;this.bind_id_=opt_bindId;this.parentSlice=undefined;this.isTopLevel=false;if(opt_duration!==undefined){this.duration=opt_duration;}
4584if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;}
4585if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;}
4586if(opt_argsStripped!==undefined){this.argsStripped=true;}}
4587Slice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get userFriendlyName(){return'Slice '+this.title+' at '+
4588tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentSliceGroup=this.parentContainer.sliceGroup;return parentSliceGroup.stableId+'.'+
4589parentSliceGroup.slices.indexOf(this);},get bindId(){return this.bind_id_;},findDescendentSlice(targetTitle){if(!this.subSlices){return undefined;}
4590for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];}
4591const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
4592return undefined;},get mostTopLevelSlice(){if(!this.parentSlice)return this;return this.parentSlice.mostTopLevelSlice;},getProcess(){const thread=this.parentContainer;if(thread&&thread.getProcess){return thread.getProcess();}
4593return undefined;},get model(){const process=this.getProcess();if(process!==undefined){return this.getProcess().model;}
4594return undefined;},*findTopmostSlicesRelativeToThisSlice(eventPredicate){if(eventPredicate(this)){yield this;return;}
4595for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},iterateAllSubsequentSlices(callback,opt_this){const parentStack=[];let started=false;const topmostSlice=this.mostTopLevelSlice;parentStack.push(topmostSlice);while(parentStack.length!==0){const curSlice=parentStack.pop();if(started){callback.call(opt_this,curSlice);}else{started=(curSlice.guid===this.guid);}
4596for(let i=curSlice.subSlices.length-1;i>=0;i--){parentStack.push(curSlice.subSlices[i]);}}},get subsequentSlices(){const res=[];this.iterateAllSubsequentSlices(function(subseqSlice){res.push(subseqSlice);});return res;},*enumerateAllAncestors(){let curSlice=this.parentSlice;while(curSlice){yield curSlice;curSlice=curSlice.parentSlice;}},get ancestorSlices(){return Array.from(this.enumerateAllAncestors());},iterateEntireHierarchy(callback,opt_this){const mostTopLevelSlice=this.mostTopLevelSlice;callback.call(opt_this,mostTopLevelSlice);mostTopLevelSlice.iterateAllSubsequentSlices(callback,opt_this);},get entireHierarchy(){const res=[];this.iterateEntireHierarchy(function(slice){res.push(slice);});return res;},get ancestorAndSubsequentSlices(){const res=[];res.push(this);for(const aSlice of this.enumerateAllAncestors()){res.push(aSlice);}
4597this.iterateAllSubsequentSlices(function(sSlice){res.push(sSlice);});return res;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;}
4598for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},get descendentSlices(){const res=[];for(const slice of this.enumerateAllDescendents()){res.push(slice);}
4599return res;}};return{Slice,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;const SCHEDULING_STATE={DEBUG:'Debug',EXIT_DEAD:'Exit Dead',RUNNABLE:'Runnable',RUNNING:'Running',SLEEPING:'Sleeping',STOPPED:'Stopped',TASK_DEAD:'Task Dead',UNINTR_SLEEP:'Uninterruptible Sleep',UNINTR_SLEEP_WAKE_KILL:'Uninterruptible Sleep | WakeKill',UNINTR_SLEEP_WAKING:'Uninterruptible Sleep | Waking',UNINTR_SLEEP_IO:'Uninterruptible Sleep - Block I/O',UNINTR_SLEEP_WAKE_KILL_IO:'Uninterruptible Sleep | WakeKill - Block I/O',UNINTR_SLEEP_WAKING_IO:'Uninterruptible Sleep | Waking - Block I/O',UNKNOWN:'UNKNOWN',WAKE_KILL:'Wakekill',WAKING:'Waking',ZOMBIE:'Zombie'};function ThreadTimeSlice(thread,schedulingState,cat,start,args,opt_duration){Slice.call(this,cat,schedulingState,this.getColorForState_(schedulingState),start,args,opt_duration);this.thread=thread;this.schedulingState=schedulingState;this.cpuOnWhichThreadWasRunning=undefined;}
4600ThreadTimeSlice.prototype={__proto__:Slice.prototype,getColorForState_(state){const getColorIdForReservedName=tr.b.ColorScheme.getColorIdForReservedName;switch(state){case SCHEDULING_STATE.RUNNABLE:return getColorIdForReservedName('thread_state_runnable');case SCHEDULING_STATE.RUNNING:return getColorIdForReservedName('thread_state_running');case SCHEDULING_STATE.SLEEPING:return getColorIdForReservedName('thread_state_sleeping');case SCHEDULING_STATE.DEBUG:case SCHEDULING_STATE.EXIT_DEAD:case SCHEDULING_STATE.STOPPED:case SCHEDULING_STATE.TASK_DEAD:case SCHEDULING_STATE.UNINTR_SLEEP:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:case SCHEDULING_STATE.UNKNOWN:case SCHEDULING_STATE.WAKE_KILL:case SCHEDULING_STATE.WAKING:case SCHEDULING_STATE.ZOMBIE:return getColorIdForReservedName('thread_state_uninterruptible');case SCHEDULING_STATE.UNINTR_SLEEP_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO:case SCHEDULING_STATE.UNINTR_SLEEP_WAKING_IO:return getColorIdForReservedName('thread_state_iowait');default:return getColorIdForReservedName('thread_state_unknown');}},get analysisTypeName(){return'tr.ui.analysis.ThreadTimeSlice';},getAssociatedCpuSlice(){if(!this.cpuOnWhichThreadWasRunning)return undefined;const cpuSlices=this.cpuOnWhichThreadWasRunning.slices;for(let i=0;i<cpuSlices.length;i++){const cpuSlice=cpuSlices[i];if(cpuSlice.start!==this.start)continue;if(cpuSlice.duration!==this.duration)continue;return cpuSlice;}
4601return undefined;},getCpuSliceThatTookCpu(){if(this.cpuOnWhichThreadWasRunning)return undefined;let curIndex=this.thread.indexOfTimeSlice(this);let cpuSliceWhenLastRunning;while(curIndex>=0){const curSlice=this.thread.timeSlices[curIndex];if(!curSlice.cpuOnWhichThreadWasRunning){curIndex--;continue;}
4602cpuSliceWhenLastRunning=curSlice.getAssociatedCpuSlice();break;}
4603if(!cpuSliceWhenLastRunning)return undefined;const cpu=cpuSliceWhenLastRunning.cpu;const indexOfSliceOnCpuWhenLastRunning=cpu.indexOf(cpuSliceWhenLastRunning);const nextRunningSlice=cpu.slices[indexOfSliceOnCpuWhenLastRunning+1];if(!nextRunningSlice)return undefined;if(Math.abs(nextRunningSlice.start-cpuSliceWhenLastRunning.end)<0.00001){return nextRunningSlice;}
4604return undefined;}};tr.model.EventRegistry.register(ThreadTimeSlice,{name:'threadTimeSlice',pluralName:'threadTimeSlices'});return{ThreadTimeSlice,SCHEDULING_STATE,};});'use strict';tr.exportTo('tr.model',function(){const CompoundEventSelectionState={NOT_SELECTED:0,EVENT_SELECTED:0x1,SOME_ASSOCIATED_EVENTS_SELECTED:0x2,ALL_ASSOCIATED_EVENTS_SELECTED:0x4,EVENT_AND_SOME_ASSOCIATED_SELECTED:0x1|0x2,EVENT_AND_ALL_ASSOCIATED_SELECTED:0x1|0x4};return{CompoundEventSelectionState,};});'use strict';tr.exportTo('tr.model.um',function(){const CompoundEventSelectionState=tr.model.CompoundEventSelectionState;function UserExpectation(parentModel,initiatorType,start,duration){tr.model.TimedEvent.call(this,start);this.associatedEvents=new tr.model.EventSet();this.duration=duration;this.initiatorType_=initiatorType;this.parentModel=parentModel;this.typeInfo_=undefined;this.sourceEvents=new tr.model.EventSet();}
4605const INITIATOR_TYPE={KEYBOARD:'Keyboard',MOUSE:'Mouse',MOUSE_WHEEL:'MouseWheel',TAP:'Tap',PINCH:'Pinch',FLING:'Fling',TOUCH:'Touch',SCROLL:'Scroll',CSS:'CSS',WEBGL:'WebGL',VIDEO:'Video'};UserExpectation.prototype={__proto__:tr.model.TimedEvent.prototype,computeCompoundEvenSelectionState(selection){let cess=CompoundEventSelectionState.NOT_SELECTED;if(selection.contains(this)){cess|=CompoundEventSelectionState.EVENT_SELECTED;}
4606if(this.associatedEvents.intersectionIsEmpty(selection)){return cess;}
4607const allContained=this.associatedEvents.every(function(event){return selection.contains(event);});if(allContained){cess|=CompoundEventSelectionState.ALL_ASSOCIATED_EVENTS_SELECTED;}else{cess|=CompoundEventSelectionState.SOME_ASSOCIATED_EVENTS_SELECTED;}
4608return cess;},get associatedSamples(){const samples=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event instanceof tr.model.ThreadSlice){samples.addEventSet(event.overlappingSamples);}});return samples;},get userFriendlyName(){return this.title+' User Expectation at '+
4609tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){return('UserExpectation.'+this.guid);},get typeInfo(){if(!this.typeInfo_){this.typeInfo_=UserExpectation.subTypes.findTypeInfo(this.constructor);}
4610if(!this.typeInfo_){throw new Error('Unregistered UserExpectation');}
4611return this.typeInfo_;},get colorId(){return this.typeInfo.metadata.colorId;},get stageTitle(){return this.typeInfo.metadata.stageTitle;},get initiatorType(){return this.initiatorType_;},get title(){if(!this.initiatorType){return this.stageTitle;}
4612return this.initiatorType+' '+this.stageTitle;},get totalCpuMs(){let cpuMs=0;this.associatedEvents.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}};const subTypes={};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(subTypes,options);subTypes.addEventListener('will-register',function(e){const metadata=e.typeInfo.metadata;if(metadata.stageTitle===undefined){throw new Error('Registered UserExpectations must provide '+'stageTitle');}
4613if(metadata.colorId===undefined){throw new Error('Registered UserExpectations must provide '+'colorId');}});tr.model.EventRegistry.register(UserExpectation,{name:'userExpectation',pluralName:'userExpectations',subTypes});return{UserExpectation,INITIATOR_TYPE,};});'use strict';tr.exportTo('tr.model.um',function(){function ResponseExpectation(parentModel,initiatorTitle,start,duration,opt_isAnimationBegin){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.isAnimationBegin=opt_isAnimationBegin||false;}
4614ResponseExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:ResponseExpectation};tr.model.um.UserExpectation.subTypes.register(ResponseExpectation,{stageTitle:'Response',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_response')});return{ResponseExpectation,};});'use strict';tr.exportTo('tr.e.audits',function(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;const Auditor=tr.c.Auditor;const AndroidModelHelper=tr.model.helpers.AndroidModelHelper;const ColorScheme=tr.b.ColorScheme;const Statistics=tr.b.math.Statistics;const FRAME_PERF_CLASS=tr.model.FRAME_PERF_CLASS;const Alert=tr.model.Alert;const EventInfo=tr.model.EventInfo;const Scalar=tr.b.Scalar;const timeDurationInMs=tr.b.Unit.byName.timeDurationInMs;const EXPECTED_FRAME_TIME_MS=16.67;function getStart(e){return e.start;}
4615function getDuration(e){return e.duration;}
4616function getCpuDuration(e){return(e.cpuDuration!==undefined)?e.cpuDuration:e.duration;}
4617function frameIsActivityStart(frame){return frame.associatedEvents.any(x=>x.title==='activityStart');}
4618function frameMissedDeadline(frame){return frame.args.deadline&&frame.args.deadline<frame.end;}
4619function DocLinkBuilder(){this.docLinks=[];}
4620DocLinkBuilder.prototype={addAppVideo(name,videoId){this.docLinks.push({label:'Video Link',textContent:('Android Performance Patterns: '+name),href:'https://www.youtube.com/watch?list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE&v='+videoId});return this;},addDacRef(name,link){this.docLinks.push({label:'Doc Link',textContent:(name+' documentation'),href:'https://developer.android.com/reference/'+link});return this;},build(){return this.docLinks;}};function AndroidAuditor(model){Auditor.call(this,model);const helper=model.getOrCreateHelper(AndroidModelHelper);if(helper.apps.length||helper.surfaceFlinger){this.helper=helper;}}
4621AndroidAuditor.viewAlphaAlertInfo_=new EventInfo('Inefficient View alpha usage','Setting an alpha between 0 and 1 has significant performance costs, if one of the fast alpha paths is not used.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('View#setAlpha()','android/view/View.html#setAlpha(float)').build());AndroidAuditor.saveLayerAlertInfo_=new EventInfo('Expensive rendering with Canvas#saveLayer()','Canvas#saveLayer() incurs extremely high rendering cost. They disrupt the rendering pipeline when drawn, forcing a flush of drawing content. Instead use View hardware layers, or static Bitmaps. This enables the offscreen buffers to be reused in between frames, and avoids the disruptive render target switch.',new DocLinkBuilder().addAppVideo('Hidden Cost of Transparency','wIy8g8yNhNk').addDacRef('Canvas#saveLayerAlpha()','android/graphics/Canvas.html#saveLayerAlpha(android.graphics.RectF, int, int)').build());AndroidAuditor.getSaveLayerAlerts_=function(frame){const badAlphaRegEx=/^(.+) alpha caused (unclipped )?saveLayer (\d+)x(\d+)$/;const saveLayerRegEx=/^(unclipped )?saveLayer (\d+)x(\d+)$/;const ret=[];const events=[];frame.associatedEvents.forEach(function(slice){const match=badAlphaRegEx.exec(slice.title);if(match){const args={'view name':match[1],'width':parseInt(match[3]),'height':parseInt(match[4])};ret.push(new Alert(AndroidAuditor.viewAlphaAlertInfo_,slice.start,[slice],args));}else if(saveLayerRegEx.test(slice.title)){events.push(slice);}},this);if(events.length>ret.length){const unclippedSeen=Statistics.sum(events,function(slice){return saveLayerRegEx.exec(slice.title)[1]?1:0;});const clippedSeen=events.length-unclippedSeen;const earliestStart=Statistics.min(events,function(slice){return slice.start;});const args={'Unclipped saveLayer count (especially bad!)':unclippedSeen,'Clipped saveLayer count':clippedSeen};events.push(frame);ret.push(new Alert(AndroidAuditor.saveLayerAlertInfo_,earliestStart,events,args));}
4622return ret;};AndroidAuditor.pathAlertInfo_=new EventInfo('Path texture churn','Paths are drawn with a mask texture, so when a path is modified / newly drawn, that texture must be generated and uploaded to the GPU. Ensure that you cache paths between frames and do not unnecessarily call Path#reset(). You can cut down on this cost by sharing Path object instances between drawables/views.');AndroidAuditor.getPathAlert_=function(frame){const uploadRegEx=/^Generate Path Texture$/;const events=frame.associatedEvents.filter(function(event){return event.title==='Generate Path Texture';});const start=Statistics.min(events,getStart);const duration=Statistics.sum(events,getDuration);if(duration<3)return undefined;events.push(frame);return new Alert(AndroidAuditor.pathAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.uploadAlertInfo_=new EventInfo('Expensive Bitmap uploads','Bitmaps that have been modified / newly drawn must be uploaded to the GPU. Since this is expensive if the total number of pixels uploaded is large, reduce the amount of Bitmap churn in this animation/context, per frame.');AndroidAuditor.getUploadAlert_=function(frame){const uploadRegEx=/^Upload (\d+)x(\d+) Texture$/;const events=[];let start=Number.POSITIVE_INFINITY;let duration=0;let pixelsUploaded=0;frame.associatedEvents.forEach(function(event){const match=uploadRegEx.exec(event.title);if(match){events.push(event);start=Math.min(start,event.start);duration+=event.duration;pixelsUploaded+=parseInt(match[1])*parseInt(match[2]);}});if(events.length===0||duration<3)return undefined;const mPixels=(pixelsUploaded/1000000).toFixed(2)+' million';const args={'Pixels uploaded':mPixels,'Time spent':new Scalar(timeDurationInMs,duration)};events.push(frame);return new Alert(AndroidAuditor.uploadAlertInfo_,start,events,args);};AndroidAuditor.ListViewInflateAlertInfo_=new EventInfo('Inflation during ListView recycling','ListView item recycling involved inflating views. Ensure your Adapter#getView() recycles the incoming View, instead of constructing a new one.');AndroidAuditor.ListViewBindAlertInfo_=new EventInfo('Inefficient ListView recycling/rebinding','ListView recycling taking too much time per frame. Ensure your Adapter#getView() binds data efficiently.');AndroidAuditor.getListViewAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='obtainView'||event.title==='setupListItem';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;let hasInflation=false;for(const event of events){if(event.findDescendentSlice('inflate')){hasInflation=true;}}
4623const start=Statistics.min(events,getStart);const args={'Time spent':new Scalar(timeDurationInMs,duration)};args['ListView items '+(hasInflation?'inflated':'rebound')]=events.length/2;const eventInfo=hasInflation?AndroidAuditor.ListViewInflateAlertInfo_:AndroidAuditor.ListViewBindAlertInfo_;events.push(frame);return new Alert(eventInfo,start,events,args);};AndroidAuditor.measureLayoutAlertInfo_=new EventInfo('Expensive measure/layout pass','Measure/Layout took a significant time, contributing to jank. Avoid triggering layout during animations.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').build());AndroidAuditor.getMeasureLayoutAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='measure'||event.title==='layout';});const duration=Statistics.sum(events,getCpuDuration);if(events.length===0||duration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.measureLayoutAlertInfo_,start,events,{'Time spent':new Scalar(timeDurationInMs,duration)});};AndroidAuditor.viewDrawAlertInfo_=new EventInfo('Long View#draw()','Recording the drawing commands of invalidated Views took a long time. Avoid significant work in View or Drawable custom drawing, especially allocations or drawing to Bitmaps.',new DocLinkBuilder().addAppVideo('Invalidations, Layouts, and Performance','we6poP0kw6E').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getViewDrawAlert_=function(frame){let slice=undefined;for(const event of frame.associatedEvents){if(event.title==='getDisplayList'||event.title==='Record View#draw()'){slice=event;break;}}
4624if(!slice||getCpuDuration(slice)<3)return undefined;return new Alert(AndroidAuditor.viewDrawAlertInfo_,slice.start,[slice,frame],{'Time spent':new Scalar(timeDurationInMs,getCpuDuration(slice))});};AndroidAuditor.blockingGcAlertInfo_=new EventInfo('Blocking Garbage Collection','Blocking GCs are caused by object churn, and made worse by having large numbers of objects in the heap. Avoid allocating objects during animations/scrolling, and recycle Bitmaps to avoid triggering garbage collection.',new DocLinkBuilder().addAppVideo('Garbage Collection in Android','pzfzz50W5Uo').addAppVideo('Avoiding Allocations in onDraw()','HAK5acHQ53E').build());AndroidAuditor.getBlockingGcAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return event.title==='DVM Suspend'||event.title==='GC: Wait For Concurrent';});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<3)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.blockingGcAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.lockContentionAlertInfo_=new EventInfo('Lock contention','UI thread lock contention is caused when another thread holds a lock that the UI thread is trying to use. UI thread progress is blocked until the lock is released. Inspect locking done within the UI thread, and ensure critical sections are short.');AndroidAuditor.getLockContentionAlert_=function(frame){const events=frame.associatedEvents.filter(function(event){return/^Lock Contention on /.test(event.title);});const blockedDuration=Statistics.sum(events,getDuration);if(blockedDuration<1)return undefined;const start=Statistics.min(events,getStart);events.push(frame);return new Alert(AndroidAuditor.lockContentionAlertInfo_,start,events,{'Blocked duration':new Scalar(timeDurationInMs,blockedDuration)});};AndroidAuditor.schedulingAlertInfo_=new EventInfo('Scheduling delay','Work to produce this frame was descheduled for several milliseconds, contributing to jank. Ensure that code on the UI thread doesn\'t block on work being done on other threads, and that background threads (doing e.g. network or bitmap loading) are running at android.os.Process#THREAD_PRIORITY_BACKGROUND or lower so they are less likely to interrupt the UI thread. These background threads should show up with a priority number of 130 or higher in the scheduling section under the Kernel process.');AndroidAuditor.getSchedulingAlert_=function(frame){let totalDuration=0;const totalStats={};for(const ttr of frame.threadTimeRanges){const stats=ttr.thread.getSchedulingStatsForRange(ttr.start,ttr.end);for(const[key,value]of Object.entries(stats)){if(!(key in totalStats)){totalStats[key]=0;}
4625totalStats[key]+=value;totalDuration+=value;}}
4626if(!(SCHEDULING_STATE.RUNNING in totalStats)||totalDuration===0||totalDuration-totalStats[SCHEDULING_STATE.RUNNING]<3){return;}
4627const args={};for(const[key,value]of Object.entries(totalStats)){let newKey=key;if(key===SCHEDULING_STATE.RUNNABLE){newKey='Not scheduled, but runnable';}else if(key===SCHEDULING_STATE.UNINTR_SLEEP){newKey='Blocking I/O delay';}
4628args[newKey]=new Scalar(timeDurationInMs,value);}
4629return new Alert(AndroidAuditor.schedulingAlertInfo_,frame.start,[frame],args);};AndroidAuditor.prototype={__proto__:Auditor.prototype,renameAndSort_(){this.model.kernel.important=false;this.model.getAllProcesses().forEach(function(process){if(this.helper.surfaceFlinger&&process===this.helper.surfaceFlinger.process){if(!process.name){process.name='SurfaceFlinger';}
4630process.sortIndex=Number.NEGATIVE_INFINITY;process.important=false;return;}
4631const uiThread=process.getThread(process.pid);if(!process.name&&uiThread&&uiThread.name){if(/^ndroid\./.test(uiThread.name)){uiThread.name='a'+uiThread.name;}
4632process.name=uiThread.name;uiThread.name='UI Thread';}
4633process.sortIndex=0;for(const tid in process.threads){process.sortIndex-=process.threads[tid].sliceGroup.slices.length;}},this);this.model.getAllThreads().forEach(function(thread){if(thread.tid===thread.parent.pid){thread.sortIndex=-3;}
4634if(thread.name==='RenderThread'){thread.sortIndex=-2;}
4635if(/^hwuiTask/.test(thread.name)){thread.sortIndex=-1;}});},pushFramesAndJudgeJank_(){let badFramesObserved=0;let framesObserved=0;const surfaceFlinger=this.helper.surfaceFlinger;this.helper.apps.forEach(function(app){app.process.frames=app.getFrames();app.process.frames.forEach(function(frame){if(frame.totalDuration>EXPECTED_FRAME_TIME_MS*2){badFramesObserved+=2;frame.perfClass=FRAME_PERF_CLASS.TERRIBLE;}else if(frame.totalDuration>EXPECTED_FRAME_TIME_MS||frameMissedDeadline(frame)){badFramesObserved++;frame.perfClass=FRAME_PERF_CLASS.BAD;}else{frame.perfClass=FRAME_PERF_CLASS.GOOD;}});framesObserved+=app.process.frames.length;});if(framesObserved){const portionBad=badFramesObserved/framesObserved;if(portionBad>0.3){this.model.faviconHue='red';}else if(portionBad>0.05){this.model.faviconHue='yellow';}else{this.model.faviconHue='green';}}},pushEventInfo_(){const appAnnotator=new AppAnnotator();this.helper.apps.forEach(function(app){if(app.uiThread){appAnnotator.applyEventInfos(app.uiThread.sliceGroup);}
4636if(app.renderThread){appAnnotator.applyEventInfos(app.renderThread.sliceGroup);}});},runAnnotate(){if(!this.helper)return;this.renameAndSort_();this.pushFramesAndJudgeJank_();this.pushEventInfo_();this.helper.iterateImportantSlices(function(slice){slice.important=true;});},runAudit(){if(!this.helper)return;const alerts=this.model.alerts;this.helper.apps.forEach(function(app){app.getFrames().forEach(function(frame){alerts.push.apply(alerts,AndroidAuditor.getSaveLayerAlerts_(frame));if(frame.perfClass===FRAME_PERF_CLASS.NEUTRAL||frame.perfClass===FRAME_PERF_CLASS.GOOD){return;}
4637let alert=AndroidAuditor.getPathAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getUploadAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getListViewAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getMeasureLayoutAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getViewDrawAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getBlockingGcAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getLockContentionAlert_(frame);if(alert)alerts.push(alert);alert=AndroidAuditor.getSchedulingAlert_(frame);if(alert)alerts.push(alert);});},this);this.addRenderingInteractionRecords();this.addInputInteractionRecords();},addRenderingInteractionRecords(){const events=[];this.helper.apps.forEach(function(app){events.push.apply(events,app.getAnimationAsyncSlices());events.push.apply(events,app.getFrames());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Rendering',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);tr.b.math.mergeRanges(tr.b.math.convertEventsToRanges(events),30,mergerFunction);},addInputInteractionRecords(){const inputSamples=[];this.helper.apps.forEach(function(app){inputSamples.push.apply(inputSamples,app.getInputSamples());});const mergerFunction=function(events){const ir=new tr.model.um.ResponseExpectation(this.model,'Input',events[0].min,events[events.length-1].max-events[0].min);this.model.userModel.expectations.push(ir);}.bind(this);const inputRanges=inputSamples.map(function(sample){return tr.b.math.Range.fromExplicitRange(sample.timestamp,sample.timestamp);});tr.b.math.mergeRanges(inputRanges,30,mergerFunction);}};Auditor.register(AndroidAuditor);function AppAnnotator(){this.titleInfoLookup=new Map();this.titleParentLookup=new Map();this.build_();}
4638AppAnnotator.prototype={build_(){const registerEventInfo=function(dict){this.titleInfoLookup.set(dict.title,new EventInfo(dict.title,dict.description,dict.docLinks));if(dict.parents){this.titleParentLookup.set(dict.title,dict.parents);}}.bind(this);registerEventInfo({title:'inflate',description:'Constructing a View hierarchy from pre-processed XML via LayoutInflater#layout. This includes constructing all of the View objects in the hierarchy, and applying styled attributes.'});registerEventInfo({title:'obtainView',description:'Adapter#getView() called to bind content to a recycled View that is being presented.'});registerEventInfo({title:'setupListItem',description:'Attached a newly-bound, recycled View to its parent ListView.'});registerEventInfo({title:'setupGridItem',description:'Attached a newly-bound, recycled View to its parent GridView.'});const choreographerLinks=new DocLinkBuilder().addDacRef('Choreographer','android/view/Choreographer.html').build();registerEventInfo({title:'Choreographer#doFrame',docLinks:choreographerLinks,description:'Choreographer executes frame callbacks for inputs, animations, and rendering traversals. When this work is done, a frame will be presented to the user.'});registerEventInfo({title:'input',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Input callbacks are processed. This generally encompasses dispatching input to Views, as well as any work the Views do to process this input/gesture.'});registerEventInfo({title:'animation',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Animation callbacks are processed. This is generally minimal work, as animations determine progress for the frame, and push new state to animated objects (such as setting View properties).'});registerEventInfo({title:'traversals',parents:['Choreographer#doFrame'],docLinks:choreographerLinks,description:'Primary draw traversals. This is the primary traversal of the View hierarchy, including layout and draw passes.'});const traversalParents=['Choreographer#doFrame','performTraversals'];const layoutLinks=new DocLinkBuilder().addDacRef('View#Layout','android/view/View.html#Layout').build();registerEventInfo({title:'performTraversals',description:'A drawing traversal of the View hierarchy, comprised of all layout and drawing needed to produce the frame.'});registerEventInfo({title:'measure',parents:traversalParents,docLinks:layoutLinks,description:'First of two phases in view hierarchy layout. Views are asked to size themselves according to constraints supplied by their parent. Some ViewGroups may measure a child more than once to help satisfy their own constraints. Nesting ViewGroups that measure children more than once can lead to excessive and repeated work.'});registerEventInfo({title:'layout',parents:traversalParents,docLinks:layoutLinks,description:'Second of two phases in view hierarchy layout, repositioning content and child Views into their new locations.'});const drawString='Draw pass over the View hierarchy. Every invalidated View will have its drawing commands recorded. On Android versions prior to Lollipop, this would also include the issuing of draw commands to the GPU. Starting with Lollipop, it only includes the recording of commands, and syncing that information to the RenderThread.';registerEventInfo({title:'draw',parents:traversalParents,description:drawString});const recordString='Every invalidated View\'s drawing commands are recorded. Each will have View#draw() called, and is passed a Canvas that will record and store its drawing commands until it is next invalidated/rerecorded.';registerEventInfo({title:'getDisplayList',parents:['draw'],description:recordString});registerEventInfo({title:'Record View#draw()',parents:['draw'],description:recordString});registerEventInfo({title:'drawDisplayList',parents:['draw'],description:'Execution of recorded draw commands to generate a frame. This represents the actual formation and issuing of drawing commands to the GPU. On Android L and higher devices, this work is done on a dedicated RenderThread, instead of on the UI Thread.'});registerEventInfo({title:'DrawFrame',description:'RenderThread portion of the standard UI/RenderThread split frame. This represents the actual formation and issuing of drawing commands to the GPU.'});registerEventInfo({title:'doFrame',description:'RenderThread animation frame. Represents drawing work done by the RenderThread on a frame where the UI thread did not produce new drawing content.'});registerEventInfo({title:'syncFrameState',description:'Sync stage between the UI thread and the RenderThread, where the UI thread hands off a frame (including information about modified Views). Time in this method primarily consists of uploading modified Bitmaps to the GPU. After this sync is completed, the UI thread is unblocked, and the RenderThread starts to render the frame.'});registerEventInfo({title:'flush drawing commands',description:'Issuing the now complete drawing commands to the GPU.'});registerEventInfo({title:'eglSwapBuffers',description:'Complete GPU rendering of the frame.'});registerEventInfo({title:'RV Scroll',description:'RecyclerView is calculating a scroll. If there are too many of these in Systrace, some Views inside RecyclerView might be causing it. Try to avoid using EditText, focusable views or handle them with care.'});registerEventInfo({title:'RV OnLayout',description:'OnLayout has been called by the View system. If this shows up too many times in Systrace, make sure the children of RecyclerView do not update themselves directly. This will cause a full re-layout but when it happens via the Adapter notifyItemChanged, RecyclerView can avoid full layout calculation.'});registerEventInfo({title:'RV FullInvalidate',description:'NotifyDataSetChanged or equal has been called. If this is taking a long time, try sending granular notify adapter changes instead of just calling notifyDataSetChanged or setAdapter / swapAdapter. Adding stable ids to your adapter might help.'});registerEventInfo({title:'RV PartialInvalidate',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV OnBindView',description:'RecyclerView is rebinding a View. If this is taking a lot of time, consider optimizing your layout or make sure you are not doing extra operations in onBindViewHolder call.'});registerEventInfo({title:'RV CreateView',description:'RecyclerView is creating a new View. If too many of these are present: 1) There might be a problem in Recycling (e.g. custom Animations that set transient state and prevent recycling or ItemAnimator not implementing the contract properly. See Adapter#onFailedToRecycleView(ViewHolder). 2) There may be too many item view types. Try merging them. 3) There might be too many itemChange animations and not enough space in RecyclerPool. Try increasing your pool size and item cache size.'});registerEventInfo({title:'eglSwapBuffers',description:'The CPU has finished producing drawing commands, and is flushing drawing work to the GPU, and posting that buffer to the consumer (which is often SurfaceFlinger window composition). Once this is completed, the GPU can produce the frame content without any involvement from the CPU.'});},applyEventInfosRecursive_(parentNames,slice){const checkExpectedParentNames=function(expectedParentNames){if(!expectedParentNames)return true;return expectedParentNames.some(function(name){return parentNames.has(name);});};if(this.titleInfoLookup.has(slice.title)){if(checkExpectedParentNames(this.titleParentLookup.get(slice.title))){slice.info=this.titleInfoLookup.get(slice.title);}}
4639if(slice.subSlices.length>0){if(!parentNames.has(slice.title)){parentNames.set(slice.title,0);}
4640parentNames.set(slice.title,parentNames.get(slice.title)+1);slice.subSlices.forEach(function(subSlice){this.applyEventInfosRecursive_(parentNames,subSlice);},this);parentNames.set(slice.title,parentNames.get(slice.title)-1);if(parentNames.get(slice.title)===0){delete parentNames[slice.title];}}},applyEventInfos(sliceGroup){sliceGroup.topLevelSlices.forEach(function(slice){this.applyEventInfosRecursive_(new Map(),slice);},this);}};return{AndroidAuditor,};});'use strict';tr.exportTo('tr.model',function(){function ObjectSnapshot(objectInstance,ts,args){tr.model.Event.call(this);this.objectInstance=objectInstance;this.ts=ts;this.args=args;}
4641ObjectSnapshot.prototype={__proto__:tr.model.Event.prototype,preInitialize(){},initialize(){},referencedAt(item,object,field){},addBoundsToRange(range){range.addValue(this.ts);},get userFriendlyName(){return'Snapshot of '+
4642this.objectInstance.typeName+' '+
4643this.objectInstance.id+' @ '+
4644tr.b.Unit.byName.timeStampInMs.format(this.ts);}};tr.model.EventRegistry.register(ObjectSnapshot,{name:'objectSnapshot',pluralName:'objectSnapshots'});return{ObjectSnapshot,};});'use strict';tr.exportTo('tr.model',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectInstance(parent,scopedId,category,name,creationTs,opt_baseTypeName){tr.model.Event.call(this);this.parent=parent;this.scopedId=scopedId;this.category=category;this.baseTypeName=opt_baseTypeName?opt_baseTypeName:name;this.name=name;this.creationTs=creationTs;this.creationTsWasExplicit=false;this.deletionTs=Number.MAX_VALUE;this.deletionTsWasExplicit=false;this.colorId=0;this.bounds=new tr.b.math.Range();this.snapshots=[];this.hasImplicitSnapshots=false;}
4645ObjectInstance.prototype={__proto__:tr.model.Event.prototype,get typeName(){return this.name;},addBoundsToRange(range){range.addRange(this.bounds);},addSnapshot(ts,args,opt_name,opt_baseTypeName){if(ts<this.creationTs){throw new Error('Snapshots must be >= instance.creationTs');}
4646if(ts>=this.deletionTs){throw new Error('Snapshots cannot be added after '+'an objects deletion timestamp.');}
4647let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts===ts){throw new Error('Snapshots already exists at this time!');}
4648if(ts<lastSnapshot.ts){throw new Error('Snapshots must be added in increasing timestamp order');}}
4649if(opt_name&&(this.name!==opt_name)){if(!opt_baseTypeName){throw new Error('Must provide base type name for name update');}
4650if(this.baseTypeName!==opt_baseTypeName){throw new Error('Cannot update type name: base types dont match');}
4651this.name=opt_name;}
4652const snapshotConstructor=tr.model.ObjectSnapshot.subTypes.getConstructor(this.category,this.name);const snapshot=new snapshotConstructor(this,ts,args);this.snapshots.push(snapshot);return snapshot;},wasDeleted(ts){let lastSnapshot;if(this.snapshots.length>0){lastSnapshot=this.snapshots[this.snapshots.length-1];if(lastSnapshot.ts>ts){throw new Error('Instance cannot be deleted at ts='+
4653ts+'. A snapshot exists that is older.');}}
4654this.deletionTs=ts;this.deletionTsWasExplicit=true;},preInitialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].preInitialize();}},initialize(){for(let i=0;i<this.snapshots.length;i++){this.snapshots[i].initialize();}},isAliveAt(ts){if(ts<this.creationTs&&this.creationTsWasExplicit){return false;}
4655if(ts>this.deletionTs){return false;}
4656return true;},getSnapshotAt(ts){if(ts<this.creationTs){if(this.creationTsWasExplicit){throw new Error('ts must be within lifetime of this instance');}
4657return this.snapshots[0];}
4658if(ts>this.deletionTs){throw new Error('ts must be within lifetime of this instance');}
4659const snapshots=this.snapshots;const i=tr.b.math.findIndexInSortedIntervals(snapshots,function(snapshot){return snapshot.ts;},function(snapshot,i){if(i===snapshots.length-1){return snapshots[i].objectInstance.deletionTs;}
4660return snapshots[i+1].ts-snapshots[i].ts;},ts);if(i<0){return this.snapshots[0];}
4661if(i>=this.snapshots.length){return this.snapshots[this.snapshots.length-1];}
4662return this.snapshots[i];},updateBounds(){this.bounds.reset();this.bounds.addValue(this.creationTs);if(this.deletionTs!==Number.MAX_VALUE){this.bounds.addValue(this.deletionTs);}else if(this.snapshots.length>0){this.bounds.addValue(this.snapshots[this.snapshots.length-1].ts);}},shiftTimestampsForward(amount){this.creationTs+=amount;if(this.deletionTs!==Number.MAX_VALUE){this.deletionTs+=amount;}
4663this.snapshots.forEach(function(snapshot){snapshot.ts+=amount;});},get userFriendlyName(){return this.typeName+' object '+this.scopedId;}};tr.model.EventRegistry.register(ObjectInstance,{name:'objectInstance',pluralName:'objectInstances'});return{ObjectInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function BlameContextSnapshot(){ObjectSnapshot.apply(this,arguments);}
4664BlameContextSnapshot.prototype={__proto__:ObjectSnapshot.prototype,get parentContext(){if(this.args.parent instanceof BlameContextSnapshot){return this.args.parent;}
4665return undefined;},get userFriendlyName(){return'BlameContext';}};function BlameContextInstance(){ObjectInstance.apply(this,arguments);}
4666BlameContextInstance.prototype={__proto__:ObjectInstance.prototype,get blameContextType(){throw new Error('Not implemented');}};return{BlameContextSnapshot,BlameContextInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function FrameTreeNodeSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4667FrameTreeNodeSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get renderFrame(){if(this.args.renderFrame instanceof tr.e.chrome.RenderFrameSnapshot){return this.args.renderFrame;}
4668return undefined;},get url(){return this.args.url;},get userFriendlyName(){return'FrameTreeNode';}};tr.model.ObjectSnapshot.subTypes.register(FrameTreeNodeSnapshot,{typeName:'FrameTreeNode'});function FrameTreeNodeInstance(){BlameContextInstance.apply(this,arguments);}
4669FrameTreeNodeInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(FrameTreeNodeInstance,{typeName:'FrameTreeNode'});return{FrameTreeNodeSnapshot,FrameTreeNodeInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function RenderFrameSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4670RenderFrameSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,referencedAt(item,object,field){if(item instanceof tr.e.chrome.FrameTreeNodeSnapshot&&object===item.args&&field==='renderFrame'){this.args.frameTreeNode=item;}},get frameTreeNode(){if(this.args.frameTreeNode instanceof
4671tr.e.chrome.FrameTreeNodeSnapshot){return this.args.frameTreeNode;}
4672return undefined;},get url(){if(this.frameTreeNode){return this.frameTreeNode.url;}
4673return undefined;},get userFriendlyName(){return'RenderFrame';}};tr.model.ObjectSnapshot.subTypes.register(RenderFrameSnapshot,{typeName:'RenderFrame'});function RenderFrameInstance(){BlameContextInstance.apply(this,arguments);}
4674RenderFrameInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'Frame';}};tr.model.ObjectInstance.subTypes.register(RenderFrameInstance,{typeName:'RenderFrame'});return{RenderFrameSnapshot,RenderFrameInstance,};});'use strict';tr.exportTo('tr.e.chrome',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;function TopLevelSnapshot(){BlameContextSnapshot.apply(this,arguments);}
4675TopLevelSnapshot.prototype={__proto__:BlameContextSnapshot.prototype,get userFriendlyName(){return'TopLevel';}};tr.model.ObjectSnapshot.subTypes.register(TopLevelSnapshot,{typeName:'TopLevel'});function TopLevelInstance(){BlameContextInstance.apply(this,arguments);}
4676TopLevelInstance.prototype={__proto__:BlameContextInstance.prototype,get blameContextType(){return'TopLevel';}};tr.model.ObjectInstance.subTypes.register(TopLevelInstance,{typeName:'TopLevel'});return{TopLevelSnapshot,TopLevelInstance,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSlice(category,title,colorId,start,args,duration,opt_isTopLevel,opt_cpuStart,opt_cpuDuration,opt_argsStripped){tr.model.TimedEvent.call(this,start);this.category=category||'';this.originalTitle=title;this.title=title;this.colorId=colorId;this.args=args;this.startStackFrame=undefined;this.endStackFrame=undefined;this.didNotFinish=false;this.important=false;this.subSlices=[];this.parentContainer_=undefined;this.id=undefined;this.startThread=undefined;this.endThread=undefined;this.cpuStart=undefined;this.cpuDuration=undefined;this.argsStripped=false;this.startStackFrame=undefined;this.endStackFrame=undefined;this.duration=duration;this.isTopLevel=(opt_isTopLevel===true);if(opt_cpuStart!==undefined){this.cpuStart=opt_cpuStart;}
4677if(opt_cpuDuration!==undefined){this.cpuDuration=opt_cpuDuration;}
4678if(opt_argsStripped!==undefined){this.argsStripped=opt_argsStripped;}}
4679AsyncSlice.prototype={__proto__:tr.model.TimedEvent.prototype,get analysisTypeName(){return this.title;},get parentContainer(){return this.parentContainer_;},set parentContainer(parentContainer){this.parentContainer_=parentContainer;for(let i=0;i<this.subSlices.length;i++){const subSlice=this.subSlices[i];if(subSlice.parentContainer===undefined){subSlice.parentContainer=parentContainer;}}},get viewSubGroupTitle(){return this.title;},get userFriendlyName(){return'Async slice '+this.title+' at '+
4680tr.b.Unit.byName.timeStampInMs.format(this.start);},get stableId(){const parentAsyncSliceGroup=this.parentContainer.asyncSliceGroup;return parentAsyncSliceGroup.stableId+'.'+
4681parentAsyncSliceGroup.slices.indexOf(this);},*findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this){if(eventPredicate(this)){yield this;return;}
4682for(const s of this.subSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},findDescendentSlice(targetTitle){if(!this.subSlices)return undefined;for(let i=0;i<this.subSlices.length;i++){if(this.subSlices[i].title===targetTitle){return this.subSlices[i];}
4683const slice=this.subSlices[i].findDescendentSlice(targetTitle);if(slice)return slice;}
4684return undefined;},*enumerateAllDescendents(){for(const slice of this.subSlices){yield slice;}
4685for(const slice of this.subSlices){yield*slice.enumerateAllDescendents();}},compareTo(that){return this.title.localeCompare(that.title);}};tr.model.EventRegistry.register(AsyncSlice,{name:'asyncSlice',pluralName:'asyncSlices'});return{AsyncSlice,};});'use strict';tr.exportTo('tr.model.helpers',function(){const MAIN_FRAMETIME_TYPE='main_frametime_type';const IMPL_FRAMETIME_TYPE='impl_frametime_type';const MAIN_RENDERING_STATS='BenchmarkInstrumentation::MainThreadRenderingStats';const IMPL_RENDERING_STATS='BenchmarkInstrumentation::ImplThreadRenderingStats';function getSlicesIntersectingRange(rangeOfInterest,slices){const slicesInFilterRange=[];for(let i=0;i<slices.length;i++){const slice=slices[i];if(rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end)){slicesInFilterRange.push(slice);}}
4686return slicesInFilterRange;}
4687function ChromeProcessHelper(modelHelper,process){this.modelHelper=modelHelper;this.process=process;this.telemetryInternalRanges_=undefined;}
4688ChromeProcessHelper.prototype={get pid(){return this.process.pid;},isTelemetryInternalEvent(slice){if(this.telemetryInternalRanges_===undefined){this.findTelemetryInternalRanges_();}
4689for(const range of this.telemetryInternalRanges_){if(range.containsExplicitRangeInclusive(slice.start,slice.end)){return true;}}
4690return false;},findTelemetryInternalRanges_(){this.telemetryInternalRanges_=[];let start=0;for(const thread of Object.values(this.process.threads)){for(const slice of thread.asyncSliceGroup.getDescendantEvents()){if(/^telemetry\.internal\.[^.]*\.start$/.test(slice.title)){start=slice.start;}else if(/^telemetry\.internal\.[^.]*\.end$/.test(slice.title)&&start!==undefined){this.telemetryInternalRanges_.push(tr.b.math.Range.fromExplicitRange(start,slice.end));start=undefined;}}}},getFrameEventsInRange(frametimeType,range){const titleToGet=(frametimeType===MAIN_FRAMETIME_TYPE?MAIN_RENDERING_STATS:IMPL_RENDERING_STATS);const frameEvents=[];for(const event of this.process.getDescendantEvents()){if(event.title===titleToGet){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){frameEvents.push(event);}}}
4691frameEvents.sort(function(a,b){return a.start-b.start;});return frameEvents;}};function getFrametimeDataFromEvents(frameEvents){const frametimeData=[];for(let i=1;i<frameEvents.length;i++){const diff=frameEvents[i].start-frameEvents[i-1].start;frametimeData.push({'x':frameEvents[i].start,'frametime':diff});}
4692return frametimeData;}
4693return{ChromeProcessHelper,MAIN_FRAMETIME_TYPE,IMPL_FRAMETIME_TYPE,MAIN_RENDERING_STATS,IMPL_RENDERING_STATS,getSlicesIntersectingRange,getFrametimeDataFromEvents,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeBrowserHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrBrowserMain');if(!process.name){process.name=ChromeBrowserHelper.PROCESS_NAME;}}
4694ChromeBrowserHelper.PROCESS_NAME='Browser';ChromeBrowserHelper.isBrowserProcess=function(process){return!!process.findAtMostOneThreadNamed('CrBrowserMain');};ChromeBrowserHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get browserName(){const hasInProcessRendererThread=this.process.findAllThreadsNamed('Chrome_InProcRendererThread').length>0;return hasInProcessRendererThread?'webview':'chrome';},get mainThread(){return this.mainThread_;},get rendererHelpers(){return this.modelHelper.rendererHelpers;},getLoadingEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title.indexOf('WebContentsImpl Loading')===0&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getCommitProvisionalLoadEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return slice.title==='RenderFrameImpl::didCommitProvisionalLoad'&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},get hasLatencyEvents(){let hasLatency=false;for(const thread of this.modelHelper.model.getAllThreads()){for(const event of thread.getDescendantEvents()){if(!event.isTopLevel)continue;if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){continue;}
4695hasLatency=true;}}
4696return hasLatency;},getLatencyEventsInRange(rangeOfInterest){return this.getAllAsyncSlicesMatching(function(slice){return(slice.title.indexOf('InputLatency')===0)&&rangeOfInterest.intersectsExplicitRangeInclusive(slice.start,slice.end);});},getAllAsyncSlicesMatching(pred,opt_this){const events=[];this.iterAllThreads(function(thread){for(const slice of thread.getDescendantEvents()){if(pred.call(opt_this,slice)){events.push(slice);}}});return events;},iterAllThreads(func,opt_this){for(const thread of Object.values(this.process.threads)){func.call(opt_this,thread);}
4697for(const rendererHelper of Object.values(this.rendererHelpers)){const rendererProcess=rendererHelper.process;for(const thread of Object.values(rendererProcess.threads)){func.call(opt_this,thread);}}}};return{ChromeBrowserHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function ChromeGpuHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);if(!process.name){process.name=ChromeGpuHelper.PROCESS_NAME;}}
4698ChromeGpuHelper.PROCESS_NAME='GPU Process';ChromeGpuHelper.isGpuProcess=function(process){if(process.findAtMostOneThreadNamed('CrBrowserMain')||process.findAtMostOneThreadNamed('CrRendererMain')){return false;}
4699return process.findAllThreadsNamed('CrGpuMain').length>0;};ChromeGpuHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype};return{ChromeGpuHelper,};});'use strict';tr.exportTo('tr.b',function(){function SinebowColorGenerator(opt_a,opt_brightness){this.a_=(opt_a===undefined)?1:opt_a;this.brightness_=(opt_brightness===undefined)?1:opt_brightness;this.colorIndex_=0;this.keyToColor={};}
4700SinebowColorGenerator.prototype={colorForKey(key){if(!this.keyToColor[key]){this.keyToColor[key]=this.nextColor();}
4701return this.keyToColor[key];},nextColor(){const components=SinebowColorGenerator.nthColor(this.colorIndex_++);return tr.b.Color.fromString(SinebowColorGenerator.calculateColor(components[0],components[1],components[2],this.a_,this.brightness_));}};SinebowColorGenerator.PHI=(1+Math.sqrt(5))/2;SinebowColorGenerator.sinebow_=function(h){h+=0.5;h=-h;let r=Math.sin(Math.PI*h);let g=Math.sin(Math.PI*(h+1/3));let b=Math.sin(Math.PI*(h+2/3));r*=r;g*=g;b*=b;const y=2*(0.2989*r+0.5870*g+0.1140*b);r/=y;g/=y;b/=y;return[256*r,256*g,256*b];};SinebowColorGenerator.nthColor=function(n){return SinebowColorGenerator.sinebow_(n*this.PHI);};SinebowColorGenerator.calculateColor=function(r,g,b,a,brightness){if(brightness<=1){r*=brightness;g*=brightness;b*=brightness;}else{r=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),r,255);g=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),g,255);b=tr.b.math.lerp(tr.b.math.normalize(brightness,1,2),b,255);}
4702r=Math.round(r);g=Math.round(g);b=Math.round(b);return'rgba('+r+','+g+','+b+', '+a+')';};return{SinebowColorGenerator,};});'use strict';tr.exportTo('tr.e.chrome',function(){const SAME_AS_PARENT='same-as-parent';const TITLES_FOR_USER_FRIENDLY_CATEGORY={composite:['CompositingInputsUpdater::update','ThreadProxy::SetNeedsUpdateLayers','LayerTreeHost::UpdateLayers::CalcDrawProps','UpdateLayerTree'],gc:['minorGC','majorGC','MajorGC','MinorGC','V8.GCScavenger','V8.GCIncrementalMarking','V8.GCIdleNotification','V8.GCContext','V8.GCCompactor','V8GCController::traceDOMWrappers'],iframe_creation:['WebLocalFrameImpl::createChildframe'],imageDecode:['Decode Image','ImageFrameGenerator::decode','ImageFrameGenerator::decodeAndScale'],input:['HitTest','ScrollableArea::scrollPositionChanged','EventHandler::handleMouseMoveEvent'],layout:['FrameView::invalidateTree','FrameView::layout','FrameView::performLayout','FrameView::performPostLayoutTasks','FrameView::performPreLayoutTasks','Layer::updateLayerPositionsAfterLayout','Layout','LayoutView::hitTest','ResourceLoadPriorityOptimizer::updateAllImageResourcePriorities','WebViewImpl::layout'],parseHTML:['ParseHTML','HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser','HTMLDocumentParser::processParsedChunkFromBackgroundParser','HTMLDocumentParser::processTokenizedChunkFromBackgroundParser',],raster:['DisplayListRasterSource::PerformSolidColorAnalysis','Picture::Raster','RasterBufferImpl::Playback','RasterTask','RasterizerTaskImpl::RunOnWorkerThread','SkCanvas::drawImageRect()','SkCanvas::drawPicture()','SkCanvas::drawTextBlob()','TileTaskWorkerPool::PlaybackToMemory'],record:['ContentLayerDelegate::paintContents','DeprecatedPaintLayerCompositor::updateIfNeededRecursive','DeprecatedPaintLayerCompositor::updateLayerPositionsAfterLayout','Paint','Picture::Record','PictureLayer::Update','RenderLayer::updateLayerPositionsAfterLayout'],style:['CSSParserImpl::parseStyleSheet.parse','CSSParserImpl::parseStyleSheet.tokenize','Document::updateStyle','Document::updateStyleInvalidationIfNeeded','ParseAuthorStyleSheet','RuleSet::addRulesFromSheet','StyleElement::processStyleSheet','StyleEngine::createResolver','StyleSheetContents::parseAuthorStyleSheet','UpdateLayoutTree'],script_parse_and_compile:['v8.parseOnBackground','V8.ScriptCompiler'],script_execute:['V8.Execute','WindowProxy::initialize'],resource_loading:['ResourceFetcher::requestResource','ResourceDispatcher::OnReceivedData','ResourceDispatcher::OnRequestComplete','ResourceDispatcher::OnReceivedResponse','Resource::appendData'],renderer_misc:['DecodeFont','ThreadState::completeSweep'],v8_runtime:[],[SAME_AS_PARENT]:['SyncChannel::Send']};const COLOR_FOR_USER_FRIENDLY_CATEGORY=new tr.b.SinebowColorGenerator();const USER_FRIENDLY_CATEGORY_FOR_TITLE=new Map();for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){TITLES_FOR_USER_FRIENDLY_CATEGORY[category].forEach(function(title){USER_FRIENDLY_CATEGORY_FOR_TITLE.set(title,category);});}
4703const USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY={netlog:'net',overhead:'overhead',startup:'startup',gpu:'gpu'};function ChromeUserFriendlyCategoryDriver(){}
4704ChromeUserFriendlyCategoryDriver.fromEvent=function(event){let userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_TITLE.get(event.title);if(userFriendlyCategory){if(userFriendlyCategory===SAME_AS_PARENT){if(event.parentSlice){return ChromeUserFriendlyCategoryDriver.fromEvent(event.parentSlice);}}else{return userFriendlyCategory;}}
4705const eventCategoryParts=tr.b.getCategoryParts(event.category);for(let i=0;i<eventCategoryParts.length;++i){const eventCategory=eventCategoryParts[i];userFriendlyCategory=USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY[eventCategory];if(userFriendlyCategory){return userFriendlyCategory;}}
4706return'other';};ChromeUserFriendlyCategoryDriver.getColor=function(ufc){return COLOR_FOR_USER_FRIENDLY_CATEGORY.colorForKey(ufc);};ChromeUserFriendlyCategoryDriver.ALL_TITLES=['other'];for(const category in TITLES_FOR_USER_FRIENDLY_CATEGORY){if(category===SAME_AS_PARENT)continue;ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
4707for(const category of Object.values(USER_FRIENDLY_CATEGORY_FOR_EVENT_CATEGORY)){ChromeUserFriendlyCategoryDriver.ALL_TITLES.push(category);}
4708ChromeUserFriendlyCategoryDriver.ALL_TITLES.sort();for(const category of ChromeUserFriendlyCategoryDriver.ALL_TITLES){ChromeUserFriendlyCategoryDriver.getColor(category);}
4709return{ChromeUserFriendlyCategoryDriver,};});'use strict';tr.exportTo('tr.model.helpers',function(){const NET_CATEGORIES=new Set(['net','netlog','disabled-by-default-netlog','disabled-by-default-network']);class ChromeThreadHelper{constructor(thread){this.thread=thread;}
4710getNetworkEvents(){const networkEvents=[];for(const slice of this.thread.asyncSliceGroup.slices){const categories=tr.b.getCategoryParts(slice.category);const isNetEvent=category=>NET_CATEGORIES.has(category);if(categories.filter(isNetEvent).length===0)continue;networkEvents.push(slice);}
4711return networkEvents;}}
4712return{ChromeThreadHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){const ChromeThreadHelper=tr.model.helpers.ChromeThreadHelper;function ChromeRendererHelper(modelHelper,process){tr.model.helpers.ChromeProcessHelper.call(this,modelHelper,process);this.mainThread_=process.findAtMostOneThreadNamed('CrRendererMain')||process.findAtMostOneThreadNamed('Chrome_InProcRendererThread');this.compositorThread_=process.findAtMostOneThreadNamed('Compositor');this.rasterWorkerThreads_=process.findAllThreadsMatching(function(t){if(t.name===undefined)return false;if(t.name.indexOf('CompositorTileWorker')===0)return true;if(t.name.indexOf('CompositorRasterWorker')===0)return true;return false;});if(!process.name){process.name=ChromeRendererHelper.PROCESS_NAME;}}
4713ChromeRendererHelper.PROCESS_NAME='Renderer';ChromeRendererHelper.isRenderProcess=function(process){if(process.findAtMostOneThreadNamed('CrRendererMain'))return true;if(process.findAtMostOneThreadNamed('Compositor'))return true;return false;};ChromeRendererHelper.isTracingProcess=function(process){return process.labels!==undefined&&process.labels.length===1&&process.labels[0]==='chrome://tracing';};ChromeRendererHelper.prototype={__proto__:tr.model.helpers.ChromeProcessHelper.prototype,get mainThread(){return this.mainThread_;},get compositorThread(){return this.compositorThread_;},get rasterWorkerThreads(){return this.rasterWorkerThreads_;},get isChromeTracingUI(){return ChromeRendererHelper.isTracingProcess(this.process);},};return{ChromeRendererHelper,};});'use strict';tr.exportTo('tr.model.helpers',function(){function findChromeBrowserProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeBrowserHelper.isBrowserProcess);}
4714function findChromeRenderProcesses(model){return model.getAllProcesses(tr.model.helpers.ChromeRendererHelper.isRenderProcess);}
4715function findChromeGpuProcess(model){const gpuProcesses=model.getAllProcesses(tr.model.helpers.ChromeGpuHelper.isGpuProcess);if(gpuProcesses.length!==1)return undefined;return gpuProcesses[0];}
4716function ChromeModelHelper(model){this.model_=model;const browserProcesses=findChromeBrowserProcesses(model);this.browserHelpers_=browserProcesses.map(p=>new tr.model.helpers.ChromeBrowserHelper(this,p));const gpuProcess=findChromeGpuProcess(model);if(gpuProcess){this.gpuHelper_=new tr.model.helpers.ChromeGpuHelper(this,gpuProcess);}else{this.gpuHelper_=undefined;}
4717const rendererProcesses_=findChromeRenderProcesses(model);this.rendererHelpers_={};rendererProcesses_.forEach(function(renderProcess){const rendererHelper=new tr.model.helpers.ChromeRendererHelper(this,renderProcess);this.rendererHelpers_[rendererHelper.pid]=rendererHelper;},this);this.chromeBounds_=undefined;}
4718ChromeModelHelper.guid=tr.b.GUID.allocateSimple();ChromeModelHelper.supportsModel=function(model){if(findChromeBrowserProcesses(model).length)return true;if(findChromeRenderProcesses(model).length)return true;return false;};ChromeModelHelper.prototype={get pid(){throw new Error('woah');},get process(){throw new Error('woah');},get model(){return this.model_;},get browserProcess(){if(this.browserHelper===undefined)return undefined;return this.browserHelper.process;},get browserHelper(){return this.browserHelpers_[0];},get browserHelpers(){return this.browserHelpers_;},get gpuHelper(){return this.gpuHelper_;},get rendererHelpers(){return this.rendererHelpers_;},get rendererWithLargestPid(){let largestPid=-1;for(const pid in this.rendererHelpers){const rendererHelper=this.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;if(pid>largestPid)largestPid=pid;}
4719if(largestPid===-1)return undefined;return this.rendererHelpers[largestPid];},get chromeBounds(){if(!this.chromeBounds_){this.chromeBounds_=new tr.b.math.Range();for(const browserHelper of
4720Object.values(this.browserHelpers)){this.chromeBounds_.addRange(browserHelper.process.bounds);}}
4721if(this.chromeBounds_.isEmpty){return undefined;}
4722return this.chromeBounds_;}};return{ChromeModelHelper,};});'use strict';tr.exportTo('tr.e.cc',function(){const AsyncSlice=tr.model.AsyncSlice;const EventSet=tr.model.EventSet;const UI_COMP_NAME='INPUT_EVENT_LATENCY_UI_COMPONENT';const ORIGINAL_COMP_NAME='INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT';const BEGIN_COMP_NAME='INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT';const END_COMP_NAME='INPUT_EVENT_LATENCY_TERMINATED_FRAME_SWAP_COMPONENT';const MAIN_RENDERER_THREAD_NAME='CrRendererMain';const COMPOSITOR_THREAD_NAME='Compositor';const POSTTASK_FLOW_EVENT='disabled-by-default-toplevel.flow';const IPC_FLOW_EVENT='disabled-by-default-ipc.flow';const INPUT_EVENT_TYPE_NAMES={CHAR:'Char',CLICK:'GestureClick',CONTEXT_MENU:'ContextMenu',FLING_CANCEL:'GestureFlingCancel',FLING_START:'GestureFlingStart',KEY_DOWN:'KeyDown',KEY_DOWN_RAW:'RawKeyDown',KEY_UP:'KeyUp',LATENCY_SCROLL_UPDATE:'ScrollUpdate',MOUSE_DOWN:'MouseDown',MOUSE_ENTER:'MouseEnter',MOUSE_LEAVE:'MouseLeave',MOUSE_MOVE:'MouseMove',MOUSE_UP:'MouseUp',MOUSE_WHEEL:'MouseWheel',PINCH_BEGIN:'GesturePinchBegin',PINCH_END:'GesturePinchEnd',PINCH_UPDATE:'GesturePinchUpdate',SCROLL_BEGIN:'GestureScrollBegin',SCROLL_END:'GestureScrollEnd',SCROLL_UPDATE:'GestureScrollUpdate',SCROLL_UPDATE_RENDERER:'ScrollUpdate',SHOW_PRESS:'GestureShowPress',TAP:'GestureTap',TAP_CANCEL:'GestureTapCancel',TAP_DOWN:'GestureTapDown',TOUCH_CANCEL:'TouchCancel',TOUCH_END:'TouchEnd',TOUCH_MOVE:'TouchMove',TOUCH_START:'TouchStart',UNKNOWN:'UNKNOWN'};function InputLatencyAsyncSlice(){AsyncSlice.apply(this,arguments);this.associatedEvents_=new EventSet();this.typeName_=undefined;if(!this.isLegacyEvent){this.determineModernTypeName_();}}
4723InputLatencyAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get isLegacyEvent(){return this.title==='InputLatency';},get typeName(){if(!this.typeName_){this.determineLegacyTypeName_();}
4724return this.typeName_;},checkTypeName_(){if(!this.typeName_){throw new Error('Unable to determine typeName');}
4725let found=false;for(const typeName in INPUT_EVENT_TYPE_NAMES){if(this.typeName===INPUT_EVENT_TYPE_NAMES[typeName]){found=true;break;}}
4726if(!found){this.typeName_=INPUT_EVENT_TYPE_NAMES.UNKNOWN;}},determineModernTypeName_(){const lastColonIndex=this.title.lastIndexOf(':');if(lastColonIndex<0)return;const characterAfterLastColonIndex=lastColonIndex+1;this.typeName_=this.title.slice(characterAfterLastColonIndex);this.checkTypeName_();},determineLegacyTypeName_(){for(const subSlice of this.enumerateAllDescendents()){const subSliceIsAInputLatencyAsyncSlice=(subSlice instanceof InputLatencyAsyncSlice);if(!subSliceIsAInputLatencyAsyncSlice)continue;if(!subSlice.typeName)continue;if(this.typeName_&&subSlice.typeName_){const subSliceHasDifferentTypeName=(this.typeName_!==subSlice.typeName_);if(subSliceHasDifferentTypeName){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() '+' found multiple typeNames');}}
4727this.typeName_=subSlice.typeName_;}
4728if(!this.typeName_){throw new Error('InputLatencyAsyncSlice.determineLegacyTypeName_() failed');}
4729this.checkTypeName_();},getRendererHelper(sourceSlices){const traceModel=this.startThread.parent.model;const modelHelper=traceModel.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper)return undefined;let mainThread=undefined;let compositorThread=undefined;for(const i in sourceSlices){if(sourceSlices[i].parentContainer.name===MAIN_RENDERER_THREAD_NAME){mainThread=sourceSlices[i].parentContainer;}else if(sourceSlices[i].parentContainer.name===COMPOSITOR_THREAD_NAME){compositorThread=sourceSlices[i].parentContainer;}
4730if(mainThread&&compositorThread)break;}
4731const rendererHelpers=modelHelper.rendererHelpers;const pids=Object.keys(rendererHelpers);for(let i=0;i<pids.length;i++){const pid=pids[i];const rendererHelper=rendererHelpers[pid];if(rendererHelper.mainThread===mainThread||rendererHelper.compositorThread===compositorThread){return rendererHelper;}}
4732return undefined;},addEntireSliceHierarchy(slice){this.associatedEvents_.push(slice);slice.iterateAllSubsequentSlices(function(subsequentSlice){this.associatedEvents_.push(subsequentSlice);},this);},addDirectlyAssociatedEvents(flowEvents){const slices=[];flowEvents.forEach(function(flowEvent){this.associatedEvents_.push(flowEvent);const newSource=flowEvent.startSlice.mostTopLevelSlice;if(slices.indexOf(newSource)===-1){slices.push(newSource);}},this);const lastFlowEvent=flowEvents[flowEvents.length-1];const lastSource=lastFlowEvent.endSlice.mostTopLevelSlice;if(slices.indexOf(lastSource)===-1){slices.push(lastSource);}
4733return slices;},addScrollUpdateEvents(rendererHelper){if(!rendererHelper||!rendererHelper.compositorThread){return;}
4734const compositorThread=rendererHelper.compositorThread;const gestureScrollUpdateStart=this.start;const gestureScrollUpdateEnd=this.end;const allCompositorAsyncSlices=compositorThread.asyncSliceGroup.slices;for(const i in allCompositorAsyncSlices){const slice=allCompositorAsyncSlices[i];if(slice.title!=='Latency::ScrollUpdate')continue;const parentId=slice.args.data.INPUT_EVENT_LATENCY_FORWARD_SCROLL_UPDATE_TO_MAIN_COMPONENT.sequence_number;if(parentId===undefined){if(slice.start<gestureScrollUpdateStart||slice.start>=gestureScrollUpdateEnd){continue;}}else{if(parseInt(parentId)!==parseInt(this.id)){continue;}}
4735slice.associatedEvents.forEach(function(event){this.associatedEvents_.push(event);},this);break;}},belongToOtherInputs(slice,flowEvents){let fromOtherInputs=false;slice.iterateEntireHierarchy(function(subsequentSlice){if(fromOtherInputs)return;subsequentSlice.inFlowEvents.forEach(function(inflow){if(fromOtherInputs)return;if(inflow.category.indexOf('input')>-1){if(flowEvents.indexOf(inflow)===-1){fromOtherInputs=true;}}},this);},this);return fromOtherInputs;},triggerOtherInputs(event,flowEvents){if(event.outFlowEvents===undefined||event.outFlowEvents.length===0){return false;}
4736const flow=event.outFlowEvents[0];if(flow.category!==POSTTASK_FLOW_EVENT||!flow.endSlice){return false;}
4737const endSlice=flow.endSlice;if(this.belongToOtherInputs(endSlice.mostTopLevelSlice,flowEvents)){return true;}
4738return false;},followSubsequentSlices(event,queue,visited,flowEvents){let stopFollowing=false;let inputAck=false;event.iterateAllSubsequentSlices(function(slice){if(stopFollowing)return;if(slice.title==='TaskQueueManager::RunTask')return;if(slice.title==='ThreadProxy::ScheduledActionSendBeginMainFrame'){return;}
4739if(slice.title==='Scheduler::ScheduleBeginImplFrameDeadline'){if(this.triggerOtherInputs(slice,flowEvents))return;}
4740if(slice.title==='CompositorImpl::PostComposite'){if(this.triggerOtherInputs(slice,flowEvents))return;}
4741if(slice.title==='InputRouterImpl::ProcessInputEventAck'){inputAck=true;}
4742if(inputAck&&slice.title==='InputRouterImpl::FilterAndSendWebInputEvent'){stopFollowing=true;}
4743this.followCurrentSlice(slice,queue,visited);},this);},followCurrentSlice(event,queue,visited){event.outFlowEvents.forEach(function(outflow){if((outflow.category===POSTTASK_FLOW_EVENT||outflow.category===IPC_FLOW_EVENT)&&outflow.endSlice){this.associatedEvents_.push(outflow);const nextEvent=outflow.endSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);queue.push(nextEvent);}}},this);},backtraceFromDraw(beginImplFrame,visited){const pendingEventQueue=[];pendingEventQueue.push(beginImplFrame.mostTopLevelSlice);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);event.inFlowEvents.forEach(function(inflow){if(inflow.category===POSTTASK_FLOW_EVENT&&inflow.startSlice){const nextEvent=inflow.startSlice.mostTopLevelSlice;if(!visited.contains(nextEvent)){visited.push(nextEvent);pendingEventQueue.push(nextEvent);}}},this);}},sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices){rasterWorkerThreads.forEach(function(rasterizer){Array.prototype.push.apply(sortedRasterizerSlices,rasterizer.sliceGroup.slices);},this);sortedRasterizerSlices.sort(function(a,b){if(a.start!==b.start){return a.start-b.start;}
4744return a.guid-b.guid;});},addRasterizationEvents(prepareTiles,rendererHelper,visited,flowEvents,sortedRasterizerSlices){if(!prepareTiles.args.prepare_tiles_id)return;if(!rendererHelper||!rendererHelper.rasterWorkerThreads){return;}
4745const rasterWorkerThreads=rendererHelper.rasterWorkerThreads;const prepareTileId=prepareTiles.args.prepare_tiles_id;const pendingEventQueue=[];if(sortedRasterizerSlices.length===0){this.sortRasterizerSlices(rasterWorkerThreads,sortedRasterizerSlices);}
4746let numFinishedTasks=0;const RASTER_TASK_TITLE='RasterizerTaskImpl::RunOnWorkerThread';const IMAGEDECODE_TASK_TITLE='ImageDecodeTaskImpl::RunOnWorkerThread';const FINISHED_TASK_TITLE='TaskSetFinishedTaskImpl::RunOnWorkerThread';for(let i=0;i<sortedRasterizerSlices.length;i++){const task=sortedRasterizerSlices[i];if(task.title===RASTER_TASK_TITLE||task.title===IMAGEDECODE_TASK_TITLE){if(task.args.source_prepare_tiles_id===prepareTileId){this.addEntireSliceHierarchy(task.mostTopLevelSlice);}}else if(task.title===FINISHED_TASK_TITLE){if(task.start>prepareTiles.start){pendingEventQueue.push(task.mostTopLevelSlice);if(++numFinishedTasks===3)break;}}}
4747while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followSubsequentSlices(event,pendingEventQueue,visited,flowEvents);}},addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents,sortedRasterizerSlices){const pendingEventQueue=[];const visitedEvents=new EventSet();let beginImplFrame=undefined;let prepareTiles=undefined;sortedRasterizerSlices=[];sourceSlices.forEach(function(sourceSlice){if(!visitedEvents.contains(sourceSlice)){visitedEvents.push(sourceSlice);pendingEventQueue.push(sourceSlice);}},this);while(pendingEventQueue.length!==0){const event=pendingEventQueue.pop();this.addEntireSliceHierarchy(event);this.followCurrentSlice(event,pendingEventQueue,visitedEvents);this.followSubsequentSlices(event,pendingEventQueue,visitedEvents,flowEvents);const COMPOSITOR_PREPARE_TILES='TileManager::PrepareTiles';prepareTiles=event.findDescendentSlice(COMPOSITOR_PREPARE_TILES);if(prepareTiles){this.addRasterizationEvents(prepareTiles,rendererHelper,visitedEvents,flowEvents,sortedRasterizerSlices);}
4748const COMPOSITOR_ON_BIFD='Scheduler::OnBeginImplFrameDeadline';beginImplFrame=event.findDescendentSlice(COMPOSITOR_ON_BIFD);if(beginImplFrame){this.backtraceFromDraw(beginImplFrame,visitedEvents);}}
4749const INPUT_GSU='InputLatency::GestureScrollUpdate';if(this.title===INPUT_GSU){this.addScrollUpdateEvents(rendererHelper);}},get associatedEvents(){if(this.associatedEvents_.length!==0){return this.associatedEvents_;}
4750const modelIndices=this.startThread.parent.model.modelIndices;const flowEvents=modelIndices.getFlowEventsWithId(this.id);if(flowEvents.length===0){return this.associatedEvents_;}
4751const sourceSlices=this.addDirectlyAssociatedEvents(flowEvents);const rendererHelper=this.getRendererHelper(sourceSlices);this.addOtherCausallyRelatedEvents(rendererHelper,sourceSlices,flowEvents);return this.associatedEvents_;},get inputLatency(){if(!('data'in this.args))return undefined;const data=this.args.data;if(!(END_COMP_NAME in data))return undefined;let latency=0;const endTime=data[END_COMP_NAME].time;if(ORIGINAL_COMP_NAME in data){latency=endTime-data[ORIGINAL_COMP_NAME].time;}else if(UI_COMP_NAME in data){latency=endTime-data[UI_COMP_NAME].time;}else if(BEGIN_COMP_NAME in data){latency=endTime-data[BEGIN_COMP_NAME].time;}else{throw new Error('No valid begin latency component');}
4752return latency;}};const eventTypeNames=['Char','ContextMenu','GestureClick','GestureFlingCancel','GestureFlingStart','GestureScrollBegin','GestureScrollEnd','GestureScrollUpdate','GestureShowPress','GestureTap','GestureTapCancel','GestureTapDown','GesturePinchBegin','GesturePinchEnd','GesturePinchUpdate','KeyDown','KeyUp','MouseDown','MouseEnter','MouseLeave','MouseMove','MouseUp','MouseWheel','RawKeyDown','ScrollUpdate','TouchCancel','TouchEnd','TouchMove','TouchStart'];const allTypeNames=['InputLatency'];eventTypeNames.forEach(function(eventTypeName){allTypeNames.push('InputLatency:'+eventTypeName);allTypeNames.push('InputLatency::'+eventTypeName);});AsyncSlice.subTypes.register(InputLatencyAsyncSlice,{typeNames:allTypeNames,categoryParts:['latencyInfo']});return{InputLatencyAsyncSlice,INPUT_EVENT_TYPE_NAMES,};});'use strict';tr.exportTo('tr.model',function(){return{BROWSER_PROCESS_PID_REF:-1,OBJECT_DEFAULT_SCOPE:'ptr',LOCAL_ID_PHASES:new Set(['N','D','O','(',')'])};});'use strict';tr.exportTo('tr.e.audits',function(){const Auditor=tr.c.Auditor;function ChromeAuditor(model){Auditor.call(this,model);const modelHelper=this.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper&&modelHelper.browserHelper){this.modelHelper=modelHelper;}else{this.modelHelper=undefined;}}
4753ChromeAuditor.prototype={__proto__:Auditor.prototype,runAnnotate(){if(!this.modelHelper)return;for(const pid in this.modelHelper.rendererHelpers){const rendererHelper=this.modelHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI){rendererHelper.process.important=false;}}},installUserFriendlyCategoryDriverIfNeeded(){this.model.addUserFriendlyCategoryDriver(tr.e.chrome.ChromeUserFriendlyCategoryDriver);},runAudit(){if(!this.modelHelper)return;this.model.replacePIDRefsInPatchups(tr.model.BROWSER_PROCESS_PID_REF,this.modelHelper.browserProcess.pid);this.model.applyObjectRefPatchups();}};Auditor.register(ChromeAuditor);return{ChromeAuditor,};});'use strict';tr.exportTo('tr.e.chrome',function(){const KNOWN_PROPERTIES={absX:1,absY:1,address:1,anonymous:1,childNeeds:1,children:1,classNames:1,col:1,colSpan:1,float:1,height:1,htmlId:1,name:1,posChildNeeds:1,positioned:1,positionedMovement:1,relX:1,relY:1,relativePositioned:1,row:1,rowSpan:1,selfNeeds:1,stickyPositioned:1,tag:1,width:1};function LayoutObject(snapshot,args){this.snapshot_=snapshot;this.id_=args.address;this.name_=args.name;this.childLayoutObjects_=[];this.otherProperties_={};this.tag_=args.tag;this.relativeRect_=tr.b.math.Rect.fromXYWH(args.relX,args.relY,args.width,args.height);this.absoluteRect_=tr.b.math.Rect.fromXYWH(args.absX,args.absY,args.width,args.height);this.isFloat_=args.float;this.isStickyPositioned_=args.stickyPositioned;this.isPositioned_=args.positioned;this.isRelativePositioned_=args.relativePositioned;this.isAnonymous_=args.anonymous;this.htmlId_=args.htmlId;this.classNames_=args.classNames;this.needsLayoutReasons_=[];if(args.selfNeeds){this.needsLayoutReasons_.push('self');}
4754if(args.childNeeds){this.needsLayoutReasons_.push('child');}
4755if(args.posChildNeeds){this.needsLayoutReasons_.push('positionedChild');}
4756if(args.positionedMovement){this.needsLayoutReasons_.push('positionedMovement');}
4757this.tableRow_=args.row;this.tableCol_=args.col;this.tableRowSpan_=args.rowSpan;this.tableColSpan_=args.colSpan;if(args.children){args.children.forEach(function(child){this.childLayoutObjects_.push(new LayoutObject(snapshot,child));}.bind(this));}
4758for(const property in args){if(!KNOWN_PROPERTIES[property]){this.otherProperties_[property]=args[property];}}}
4759LayoutObject.prototype={get snapshot(){return this.snapshot_;},get id(){return this.id_;},get name(){return this.name_;},get tag(){return this.tag_;},get relativeRect(){return this.relativeRect_;},get absoluteRect(){return this.absoluteRect_;},get isPositioned(){return this.isPositioned_;},get isFloat(){return this.isFloat_;},get isStickyPositioned(){return this.isStickyPositioned_;},get isRelativePositioned(){return this.isRelativePositioned_;},get isAnonymous(){return this.isAnonymous_;},get tableRow(){return this.tableRow_;},get tableCol(){return this.tableCol_;},get tableRowSpan(){return this.tableRowSpan_;},get tableColSpan(){return this.tableColSpan_;},get htmlId(){return this.htmlId_;},get classNames(){return this.classNames_;},get needsLayoutReasons(){return this.needsLayoutReasons_;},get hasChildLayoutObjects(){return this.childLayoutObjects_.length>0;},get childLayoutObjects(){return this.childLayoutObjects_;},traverseTree(cb,opt_this){cb.call(opt_this,this);if(!this.hasChildLayoutObjects)return;this.childLayoutObjects.forEach(function(child){child.traverseTree(cb,opt_this);});},get otherPropertyNames(){const names=[];for(const name in this.otherProperties_){names.push(name);}
4760return names;},getProperty(name){return this.otherProperties_[name];},get previousSnapshotLayoutObject(){if(!this.snapshot.previousSnapshot)return undefined;return this.snapshot.previousSnapshot.getLayoutObjectById(this.id);},get nextSnapshotLayoutObject(){if(!this.snapshot.nextSnapshot)return undefined;return this.snapshot.nextSnapshot.getLayoutObjectById(this.id);}};return{LayoutObject,};});'use strict';tr.exportTo('tr.e.chrome',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayoutTreeInstance(){ObjectInstance.apply(this,arguments);}
4761LayoutTreeInstance.prototype={__proto__:ObjectInstance.prototype,};ObjectInstance.subTypes.register(LayoutTreeInstance,{typeName:'LayoutTree'});function LayoutTreeSnapshot(){ObjectSnapshot.apply(this,arguments);this.rootLayoutObject=new tr.e.chrome.LayoutObject(this,this.args);}
4762LayoutTreeSnapshot.prototype={__proto__:ObjectSnapshot.prototype,};ObjectSnapshot.subTypes.register(LayoutTreeSnapshot,{typeName:'LayoutTree'});return{LayoutTreeInstance,LayoutTreeSnapshot,};});'use strict';tr.exportTo('tr.model',function(){function EventContainer(){this.guid_=tr.b.GUID.allocateSimple();this.important=true;this.bounds_=new tr.b.math.Range();}
4763EventContainer.prototype={get guid(){return this.guid_;},get stableId(){throw new Error('Not implemented');},get bounds(){return this.bounds_;},updateBounds(){throw new Error('Not implemented');},shiftTimestampsForward(amount){throw new Error('Not implemented');},*childEvents(){},*getDescendantEvents(){yield*this.childEvents();for(const container of this.childEventContainers()){yield*container.getDescendantEvents();}},*childEventContainers(){},*getDescendantEventContainers(){yield this;for(const container of this.childEventContainers()){yield*container.getDescendantEventContainers();}},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){},*findTopmostSlices(eventPredicate){for(const ec of this.getDescendantEventContainers()){yield*ec.findTopmostSlicesInThisContainer(eventPredicate);}},*findTopmostSlicesNamed(name){yield*this.findTopmostSlices(e=>e.title===name);}};return{EventContainer,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;class ResourceUsageSample extends Event{constructor(series,start,usage){super();this.series_=series;this.start_=start;this.usage_=usage;}
4764get series(){return this.series_;}
4765get start(){return this.start_;}
4766set start(value){this.start_=value;}
4767get usage(){return this.usage_;}
4768set usage(value){this.usage_=value;}
4769addBoundsToRange(range){range.addValue(this.start);}}
4770EventRegistry.register(ResourceUsageSample,{name:'resourceUsageSample',pluralName:'resourceUsageSamples'});return{ResourceUsageSample,};});'use strict';tr.exportTo('tr.model',function(){const ResourceUsageSample=tr.model.ResourceUsageSample;class ResourceUsageSeries extends tr.model.EventContainer{constructor(device){super();this.device_=device;this.samples_=[];}
4771get device(){return this.device_;}
4772get samples(){return this.samples_;}
4773get stableId(){return this.device_.stableId+'.ResourceUsageSeries';}
4774addUsageSample(ts,val){const sample=new ResourceUsageSample(this,ts,val);this.samples_.push(sample);return sample;}
4775computeResourceTimeConsumedInMs(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let resourceTimeInMs=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0)startIndex=0;for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);resourceTimeInMs+=intersectionRangeInMs.duration*sample.usage;}
4776return resourceTimeInMs;}
4777getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);}
4778shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}}
4779updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);}*childEvents(){yield*this.samples_;}}
4780return{ResourceUsageSeries,};});'use strict';tr.exportTo('tr.e.audits',function(){class CpuUsageAuditor extends tr.c.Auditor{constructor(model){super();this.model_=model;}
4781runAnnotate(){this.model_.device.cpuUsageSeries=this.computeCpuUsageSeries_(this.model_.bounds.min,this.model_.bounds.max,this.computeCpuUsage_());}
4782computeBinSize_(start,end){const MIN_BIN_SIZE_MS=1.0;const MAX_NUM_BINS=100000;const interval=end-start;let binSize=MIN_BIN_SIZE_MS;while(binSize*MAX_NUM_BINS<interval)binSize*=2;return binSize;}
4783computeCpuUsageSeries_(start,end,usageRecords){const series=new tr.model.ResourceUsageSeries();if(start===undefined)return series;const binSize=this.computeBinSize_(start,end);const numBins=Math.ceil((end-start)/binSize);const arr=new Array(numBins).fill(0);for(const record of usageRecords){const firstIndex=Math.ceil((record.start-start)/binSize);const lastIndex=Math.floor((record.end-start)/binSize);for(let i=firstIndex;i<=lastIndex;i++)arr[i]+=record.usage;}
4784for(let i=0;i<numBins;i++){series.addUsageSample(start+(i*binSize),arr[i]);}
4785return series;}
4786computeCpuUsage_(){const model=this.model_;const result=[];for(const pid in model.processes){for(const e of model.processes[pid].getDescendantEvents()){if(!(e instanceof tr.model.ThreadSlice)||e.duration===0||e.cpuDuration===undefined){continue;}
4787if(e.selfTime===0||e.selfTime===undefined||e.cpuSelfTime===undefined){continue;}
4788const usage=tr.b.math.clamp(e.cpuSelfTime/e.selfTime,0,1);let lastTime=e.start;for(const subslice of e.subSlices){result.push({usage,start:lastTime,end:subslice.start});lastTime=subslice.end;}
4789result.push({usage,start:lastTime,end:e.end});}}
4790return result;}}
4791tr.c.Auditor.register(CpuUsageAuditor);return{CpuUsageAuditor};});'use strict';tr.exportTo('tr.b',function(){function Base64(){}
4792function b64ToUint6(nChr){if(nChr>64&&nChr<91)return nChr-65;if(nChr>96&&nChr<123)return nChr-71;if(nChr>47&&nChr<58)return nChr+4;if(nChr===43)return 62;if(nChr===47)return 63;return 0;}
4793Base64.getDecodedBufferLength=function(input){return input.length*3+1>>2;};Base64.EncodeArrayBufferToString=function(input){let binary='';const bytes=new Uint8Array(input);const len=bytes.byteLength;for(let i=0;i<len;i++){binary+=String.fromCharCode(bytes[i]);}
4794return btoa(binary);};Base64.DecodeToTypedArray=function(input,output){const nInLen=input.length;const nOutLen=nInLen*3+1>>2;let nMod3=0;let nMod4=0;let nUint24=0;let nOutIdx=0;if(nOutLen>output.byteLength){throw new Error('Output buffer too small to decode.');}
4795for(let nInIdx=0;nInIdx<nInLen;nInIdx++){nMod4=nInIdx&3;nUint24|=b64ToUint6(input.charCodeAt(nInIdx))<<18-6*nMod4;if(nMod4===3||nInLen-nInIdx===1){for(nMod3=0;nMod3<3&&nOutIdx<nOutLen;nMod3++,nOutIdx++){output.setUint8(nOutIdx,nUint24>>>(16>>>nMod3&24)&255);}
4796nUint24=0;}}
4797return nOutIdx-1;};Base64.btoa=function(input){return btoa(input);};Base64.atob=function(input){return atob(input);};return{Base64,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){function Parser(importer){this.importer=importer;this.model=importer.model;}
4798Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='68FDD900-4A3E-11D1-84F4-0000F80464E3';const kEventTraceHeaderOpcode=0;function EventTraceParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kEventTraceHeaderOpcode,EventTraceParser.prototype.decodeHeader.bind(this));}
4799EventTraceParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version!==2){throw new Error('Incompatible EventTrace event version.');}
4800const bufferSize=decoder.decodeUInt32();const version=decoder.decodeUInt32();const providerVersion=decoder.decodeUInt32();const numberOfProcessors=decoder.decodeUInt32();const endTime=decoder.decodeUInt64ToString();const timerResolution=decoder.decodeUInt32();const maxFileSize=decoder.decodeUInt32();const logFileMode=decoder.decodeUInt32();const buffersWritten=decoder.decodeUInt32();const startBuffers=decoder.decodeUInt32();const pointerSize=decoder.decodeUInt32();const eventsLost=decoder.decodeUInt32();const cpuSpeed=decoder.decodeUInt32();const loggerName=decoder.decodeUInteger(header.is64);const logFileName=decoder.decodeUInteger(header.is64);const timeZoneInformation=decoder.decodeTimeZoneInformation();const padding=decoder.decodeUInt32();const bootTime=decoder.decodeUInt64ToString();const perfFreq=decoder.decodeUInt64ToString();const startTime=decoder.decodeUInt64ToString();const reservedFlags=decoder.decodeUInt32();const buffersLost=decoder.decodeUInt32();const sessionNameString=decoder.decodeW16String();const logFileNameString=decoder.decodeW16String();return{bufferSize,version,providerVersion,numberOfProcessors,endTime,timerResolution,maxFileSize,logFileMode,buffersWritten,startBuffers,pointerSize,eventsLost,cpuSpeed,loggerName,logFileName,timeZoneInformation,bootTime,perfFreq,startTime,reservedFlags,buffersLost,sessionNameString,logFileNameString};},decodeHeader(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(EventTraceParser);return{EventTraceParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D0-FE05-11D0-9DDA-00C04FD7BA7C';const kProcessStartOpcode=1;const kProcessEndOpcode=2;const kProcessDCStartOpcode=3;const kProcessDCEndOpcode=4;const kProcessDefunctOpcode=39;function ProcessParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kProcessStartOpcode,ProcessParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kProcessEndOpcode,ProcessParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kProcessDCStartOpcode,ProcessParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kProcessDCEndOpcode,ProcessParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kProcessDefunctOpcode,ProcessParser.prototype.decodeDefunct.bind(this));}
4801ProcessParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>5){throw new Error('Incompatible Process event version.');}
4802let pageDirectoryBase;if(header.version===1){pageDirectoryBase=decoder.decodeUInteger(header.is64);}
4803let uniqueProcessKey;if(header.version>=2){uniqueProcessKey=decoder.decodeUInteger(header.is64);}
4804const processId=decoder.decodeUInt32();const parentId=decoder.decodeUInt32();let sessionId;let exitStatus;if(header.version>=1){sessionId=decoder.decodeUInt32();exitStatus=decoder.decodeInt32();}
4805let directoryTableBase;if(header.version>=3){directoryTableBase=decoder.decodeUInteger(header.is64);}
4806let flags;if(header.version>=4){flags=decoder.decodeUInt32();}
4807const userSID=decoder.decodeSID(header.is64);let imageFileName;if(header.version>=1){imageFileName=decoder.decodeString();}
4808let commandLine;if(header.version>=2){commandLine=decoder.decodeW16String();}
4809let packageFullName;let applicationId;if(header.version>=4){packageFullName=decoder.decodeW16String();applicationId=decoder.decodeW16String();}
4810let exitTime;if(header.version===5&&header.opcode===kProcessDefunctOpcode){exitTime=decoder.decodeUInt64ToString();}
4811return{pageDirectoryBase,uniqueProcessKey,processId,parentId,sessionId,exitStatus,directoryTableBase,flags,userSID,imageFileName,commandLine,packageFullName,applicationId,exitTime};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');}
4812process.name=fields.imageFileName;return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);if(process.hasOwnProperty('has_ended')){throw new Error('Process clash detected.');}
4813process.name=fields.imageFileName;return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);const process=this.model.getOrCreateProcess(fields.processId);process.has_ended=true;return true;},decodeDefunct(header,decoder){const fields=this.decodeFields(header,decoder);return true;}};Parser.register(ProcessParser);return{ProcessParser,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const Parser=tr.e.importer.etw.Parser;const guid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadStartOpcode=1;const kThreadEndOpcode=2;const kThreadDCStartOpcode=3;const kThreadDCEndOpcode=4;const kThreadCSwitchOpcode=36;function ThreadParser(importer){Parser.call(this,importer);importer.registerEventHandler(guid,kThreadStartOpcode,ThreadParser.prototype.decodeStart.bind(this));importer.registerEventHandler(guid,kThreadEndOpcode,ThreadParser.prototype.decodeEnd.bind(this));importer.registerEventHandler(guid,kThreadDCStartOpcode,ThreadParser.prototype.decodeDCStart.bind(this));importer.registerEventHandler(guid,kThreadDCEndOpcode,ThreadParser.prototype.decodeDCEnd.bind(this));importer.registerEventHandler(guid,kThreadCSwitchOpcode,ThreadParser.prototype.decodeCSwitch.bind(this));}
4814ThreadParser.prototype={__proto__:Parser.prototype,decodeFields(header,decoder){if(header.version>3){throw new Error('Incompatible Thread event version.');}
4815const processId=decoder.decodeUInt32();const threadId=decoder.decodeUInt32();let stackBase;let stackLimit;let userStackBase;let userStackLimit;let affinity;let startAddr;let win32StartAddr;let tebBase;let subProcessTag;let basePriority;let pagePriority;let ioPriority;let threadFlags;let waitMode;if(header.version===1){if(header.opcode===kThreadStartOpcode||header.opcode===kThreadDCStartOpcode){stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);startAddr=decoder.decodeUInteger(header.is64);win32StartAddr=decoder.decodeUInteger(header.is64);waitMode=decoder.decodeInt8();decoder.skip(3);}}else{stackBase=decoder.decodeUInteger(header.is64);stackLimit=decoder.decodeUInteger(header.is64);userStackBase=decoder.decodeUInteger(header.is64);userStackLimit=decoder.decodeUInteger(header.is64);if(header.version===2){startAddr=decoder.decodeUInteger(header.is64);}else{affinity=decoder.decodeUInteger(header.is64);}
4816win32StartAddr=decoder.decodeUInteger(header.is64);tebBase=decoder.decodeUInteger(header.is64);subProcessTag=decoder.decodeUInt32();if(header.version===3){basePriority=decoder.decodeUInt8();pagePriority=decoder.decodeUInt8();ioPriority=decoder.decodeUInt8();threadFlags=decoder.decodeUInt8();}}
4817return{processId,threadId,stackBase,stackLimit,userStackBase,userStackLimit,affinity,startAddr,win32StartAddr,tebBase,subProcessTag,waitMode,basePriority,pagePriority,ioPriority,threadFlags};},decodeCSwitchFields(header,decoder){if(header.version!==2){throw new Error('Incompatible Thread event version.');}
4818const newThreadId=decoder.decodeUInt32();const oldThreadId=decoder.decodeUInt32();const newThreadPriority=decoder.decodeInt8();const oldThreadPriority=decoder.decodeInt8();const previousCState=decoder.decodeUInt8();const spareByte=decoder.decodeInt8();const oldThreadWaitReason=decoder.decodeInt8();const oldThreadWaitMode=decoder.decodeInt8();const oldThreadState=decoder.decodeInt8();const oldThreadWaitIdealProcessor=decoder.decodeInt8();const newThreadWaitTime=decoder.decodeUInt32();const reserved=decoder.decodeUInt32();return{newThreadId,oldThreadId,newThreadPriority,oldThreadPriority,previousCState,spareByte,oldThreadWaitReason,oldThreadWaitMode,oldThreadState,oldThreadWaitIdealProcessor,newThreadWaitTime,reserved};},decodeStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeDCStart(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.createThreadIfNeeded(fields.processId,fields.threadId);return true;},decodeDCEnd(header,decoder){const fields=this.decodeFields(header,decoder);this.importer.removeThreadIfPresent(fields.threadId);return true;},decodeCSwitch(header,decoder){const fields=this.decodeCSwitchFields(header,decoder);const cpu=this.importer.getOrCreateCpu(header.cpu);const newThread=this.importer.getThreadFromWindowsTid(fields.newThreadId);let newThreadName;if(newThread&&newThread.userFriendlyName){newThreadName=newThread.userFriendlyName;}else{const newProcessId=this.importer.getPidFromWindowsTid(fields.newThreadId);const newProcess=this.model.getProcess(newProcessId);let newProcessName;if(newProcess){newProcessName=newProcess.name;}else{newProcessName='Unknown process';}
4819newThreadName=newProcessName+' (tid '+fields.newThreadId+')';}
4820cpu.switchActiveThread(header.timestamp,{},fields.newThreadId,newThreadName,fields);return true;}};Parser.register(ThreadParser);return{ThreadParser,};});'use strict';tr.exportTo('tr.b',function(){function max(a,b){if(a===undefined)return b;if(b===undefined)return a;return Math.max(a,b);}
4821function IntervalTree(beginPositionCb,endPositionCb){this.beginPositionCb_=beginPositionCb;this.endPositionCb_=endPositionCb;this.root_=undefined;this.size_=0;}
4822IntervalTree.prototype={insert(datum){const startPosition=this.beginPositionCb_(datum);const endPosition=this.endPositionCb_(datum);const node=new IntervalTreeNode(datum,startPosition,endPosition);this.size_++;this.root_=this.insertNode_(this.root_,node);this.root_.colour=Colour.BLACK;return datum;},insertNode_(root,node){if(root===undefined)return node;if(root.leftNode&&root.leftNode.isRed&&root.rightNode&&root.rightNode.isRed){this.flipNodeColour_(root);}
4823if(node.key<root.key){root.leftNode=this.insertNode_(root.leftNode,node);}else if(node.key===root.key){root.merge(node);}else{root.rightNode=this.insertNode_(root.rightNode,node);}
4824if(root.rightNode&&root.rightNode.isRed&&(root.leftNode===undefined||!root.leftNode.isRed)){root=this.rotateLeft_(root);}
4825if(root.leftNode&&root.leftNode.isRed&&root.leftNode.leftNode&&root.leftNode.leftNode.isRed){root=this.rotateRight_(root);}
4826return root;},rotateRight_(node){const sibling=node.leftNode;node.leftNode=sibling.rightNode;sibling.rightNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},rotateLeft_(node){const sibling=node.rightNode;node.rightNode=sibling.leftNode;sibling.leftNode=node;sibling.colour=node.colour;node.colour=Colour.RED;return sibling;},flipNodeColour_(node){node.colour=this.flipColour_(node.colour);node.leftNode.colour=this.flipColour_(node.leftNode.colour);node.rightNode.colour=this.flipColour_(node.rightNode.colour);},flipColour_(colour){return colour===Colour.RED?Colour.BLACK:Colour.RED;},updateHighValues(){this.updateHighValues_(this.root_);},updateHighValues_(node){if(node===undefined)return undefined;node.maxHighLeft=this.updateHighValues_(node.leftNode);node.maxHighRight=this.updateHighValues_(node.rightNode);return max(max(node.maxHighLeft,node.highValue),node.maxHighRight);},validateFindArguments_(queryLow,queryHigh){if(queryLow===undefined||queryHigh===undefined){throw new Error('queryLow and queryHigh must be defined');}
4827if((typeof queryLow!=='number')||(typeof queryHigh!=='number')){throw new Error('queryLow and queryHigh must be numbers');}},findIntersection(queryLow,queryHigh){this.validateFindArguments_(queryLow,queryHigh);if(this.root_===undefined)return[];const ret=[];this.root_.appendIntersectionsInto_(ret,queryLow,queryHigh);return ret;},get size(){return this.size_;},get root(){return this.root_;},dump_(){if(this.root_===undefined)return[];return this.root_.dump();}};const Colour={RED:'red',BLACK:'black'};function IntervalTreeNode(datum,lowValue,highValue){this.lowValue_=lowValue;this.data_=[{datum,high:highValue,low:lowValue}];this.colour_=Colour.RED;this.parentNode_=undefined;this.leftNode_=undefined;this.rightNode_=undefined;this.maxHighLeft_=undefined;this.maxHighRight_=undefined;}
4828IntervalTreeNode.prototype={appendIntersectionsInto_(ret,queryLow,queryHigh){if(this.lowValue_>=queryHigh){if(!this.leftNode_)return;return this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
4829if(this.maxHighLeft_>queryLow){this.leftNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}
4830if(this.highValue>queryLow){for(let i=(this.data.length-1);i>=0;--i){if(this.data[i].high<queryLow)break;ret.push(this.data[i].datum);}}
4831if(this.rightNode_){this.rightNode_.appendIntersectionsInto_(ret,queryLow,queryHigh);}},get colour(){return this.colour_;},set colour(colour){this.colour_=colour;},get key(){return this.lowValue_;},get lowValue(){return this.lowValue_;},get highValue(){return this.data_[this.data_.length-1].high;},set leftNode(left){this.leftNode_=left;},get leftNode(){return this.leftNode_;},get hasLeftNode(){return this.leftNode_!==undefined;},set rightNode(right){this.rightNode_=right;},get rightNode(){return this.rightNode_;},get hasRightNode(){return this.rightNode_!==undefined;},set parentNode(parent){this.parentNode_=parent;},get parentNode(){return this.parentNode_;},get isRootNode(){return this.parentNode_===undefined;},set maxHighLeft(high){this.maxHighLeft_=high;},get maxHighLeft(){return this.maxHighLeft_;},set maxHighRight(high){this.maxHighRight_=high;},get maxHighRight(){return this.maxHighRight_;},get data(){return this.data_;},get isRed(){return this.colour_===Colour.RED;},merge(node){for(let i=0;i<node.data.length;i++){this.data_.push(node.data[i]);}
4832this.data_.sort(function(a,b){return a.high-b.high;});},dump(){const ret={};if(this.leftNode_){ret.left=this.leftNode_.dump();}
4833ret.data=this.data_.map(function(d){return[d.low,d.high];});if(this.rightNode_){ret.right=this.rightNode_.dump();}
4834return ret;}};return{IntervalTree,};});'use strict';tr.exportTo('tr.b.math',function(){const tmpVec2s=[];for(let i=0;i<8;i++){tmpVec2s[i]=vec2.create();}
4835const tmpVec2a=vec4.create();const tmpVec4a=vec4.create();const tmpVec4b=vec4.create();const tmpMat4=mat4.create();const tmpMat4b=mat4.create();const p00=vec2.createXY(0,0);const p10=vec2.createXY(1,0);const p01=vec2.createXY(0,1);const p11=vec2.createXY(1,1);const lerpingVecA=vec2.create();const lerpingVecB=vec2.create();function lerpVec2(out,a,b,amt){vec2.scale(lerpingVecA,a,amt);vec2.scale(lerpingVecB,b,1-amt);vec2.add(out,lerpingVecA,lerpingVecB);vec2.normalize(out,out);return out;}
4836function Quad(){this.p1=vec2.create();this.p2=vec2.create();this.p3=vec2.create();this.p4=vec2.create();}
4837Quad.fromXYWH=function(x,y,w,h){const q=new Quad();vec2.set(q.p1,x,y);vec2.set(q.p2,x+w,y);vec2.set(q.p3,x+w,y+h);vec2.set(q.p4,x,y+h);return q;};Quad.fromRect=function(r){return new Quad.fromXYWH(r.x,r.y,r.width,r.height);};Quad.from4Vecs=function(p1,p2,p3,p4){const q=new Quad();vec2.set(q.p1,p1[0],p1[1]);vec2.set(q.p2,p2[0],p2[1]);vec2.set(q.p3,p3[0],p3[1]);vec2.set(q.p4,p4[0],p4[1]);return q;};Quad.from8Array=function(arr){if(arr.length!==8){throw new Error('Array must be 8 long');}
4838const q=new Quad();q.p1[0]=arr[0];q.p1[1]=arr[1];q.p2[0]=arr[2];q.p2[1]=arr[3];q.p3[0]=arr[4];q.p3[1]=arr[5];q.p4[0]=arr[6];q.p4[1]=arr[7];return q;};Quad.prototype={pointInside(point){return pointInImplicitQuad(point,this.p1,this.p2,this.p3,this.p4);},boundingRect(){const x0=Math.min(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y0=Math.min(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);const x1=Math.max(this.p1[0],this.p2[0],this.p3[0],this.p4[0]);const y1=Math.max(this.p1[1],this.p2[1],this.p3[1],this.p4[1]);return new tr.b.math.Rect.fromXYWH(x0,y0,x1-x0,y1-y0);},clone(){const q=new Quad();vec2.copy(q.p1,this.p1);vec2.copy(q.p2,this.p2);vec2.copy(q.p3,this.p3);vec2.copy(q.p4,this.p4);return q;},scale(s){const q=new Quad();this.scaleFast(q,s);return q;},scaleFast(dstQuad,s){vec2.copy(dstQuad.p1,this.p1,s);vec2.copy(dstQuad.p2,this.p2,s);vec2.copy(dstQuad.p3,this.p3,s);vec2.copy(dstQuad.p3,this.p3,s);},isRectangle(){const bounds=this.boundingRect();return(bounds.x===this.p1[0]&&bounds.y===this.p1[1]&&bounds.width===this.p2[0]-this.p1[0]&&bounds.y===this.p2[1]&&bounds.width===this.p3[0]-this.p1[0]&&bounds.height===this.p3[1]-this.p2[1]&&bounds.x===this.p4[0]&&bounds.height===this.p4[1]-this.p2[1]);},projectUnitRect(rect){const q=new Quad();this.projectUnitRectFast(q,rect);return q;},projectUnitRectFast(dstQuad,rect){const v12=tmpVec2s[0];const v14=tmpVec2s[1];const v23=tmpVec2s[2];const v43=tmpVec2s[3];vec2.sub(v12,this.p2,this.p1);const l12=vec2.length(v12);vec2.scale(v12,v12,1/l12);vec2.sub(v14,this.p4,this.p1);const l14=vec2.length(v14);vec2.scale(v14,v14,1/l14);vec2.sub(v23,this.p3,this.p2);const l23=vec2.length(v23);vec2.scale(v23,v23,1/l23);vec2.sub(v43,this.p3,this.p4);const l43=vec2.length(v43);vec2.scale(v43,v43,1/l43);const b12=tmpVec2s[0];const b14=tmpVec2s[1];const b23=tmpVec2s[2];const b43=tmpVec2s[3];lerpVec2(b12,v12,v43,rect.y);lerpVec2(b43,v12,v43,1-rect.bottom);lerpVec2(b14,v14,v23,rect.x);lerpVec2(b23,v14,v23,1-rect.right);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*rect.x,b14,l14*rect.y);vec2.add(dstQuad.p1,this.p1,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b12,l12*-(1.0-rect.right),b23,l23*rect.y);vec2.add(dstQuad.p2,this.p2,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*-(1.0-rect.right),b23,l23*-(1.0-rect.bottom));vec2.add(dstQuad.p3,this.p3,tmpVec2a);vec2.addTwoScaledUnitVectors(tmpVec2a,b43,l43*rect.left,b14,l14*-(1.0-rect.bottom));vec2.add(dstQuad.p4,this.p4,tmpVec2a);},toString(){return'Quad('+
4839vec2.toString(this.p1)+', '+
4840vec2.toString(this.p2)+', '+
4841vec2.toString(this.p3)+', '+
4842vec2.toString(this.p4)+')';}};function sign(p1,p2,p3){return(p1[0]-p3[0])*(p2[1]-p3[1])-
4843(p2[0]-p3[0])*(p1[1]-p3[1]);}
4844function pointInTriangle2(pt,p1,p2,p3){const b1=sign(pt,p1,p2)<0.0;const b2=sign(pt,p2,p3)<0.0;const b3=sign(pt,p3,p1)<0.0;return((b1===b2)&&(b2===b3));}
4845function pointInImplicitQuad(point,p1,p2,p3,p4){return pointInTriangle2(point,p1,p2,p3)||pointInTriangle2(point,p1,p3,p4);}
4846return{pointInTriangle2,pointInImplicitQuad,Quad,};});'use strict';tr.exportTo('tr.b',function(){function addSingletonGetter(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor());};}
4847function deepCopy(value){if(!(value instanceof Object)){if(value===undefined||value===null)return value;if(typeof value==='string')return value.substring();if(typeof value==='boolean')return value;if(typeof value==='number')return value;throw new Error('Unrecognized: '+typeof value);}
4848const object=value;if(object instanceof Array){const res=new Array(object.length);for(let i=0;i<object.length;i++){res[i]=deepCopy(object[i]);}
4849return res;}
4850if(object.__proto__!==Object.prototype){throw new Error('Can only clone simple types');}
4851const res={};for(const key in object){res[key]=deepCopy(object[key]);}
4852return res;}
4853function normalizeException(e){if(e===undefined||e===null){return{typeName:'UndefinedError',message:'Unknown: null or undefined exception',stack:'Unknown'};}
4854if(typeof(e)==='string'){return{typeName:'StringError',message:e,stack:[e]};}
4855let typeName;if(e.name){typeName=e.name;}else if(e.constructor){if(e.constructor.name){typeName=e.constructor.name;}else{typeName='AnonymousError';}}else{typeName='ErrorWithNoConstructor';}
4856const msg=e.message?e.message:'Unknown';return{typeName,message:msg,stack:e.stack?e.stack:[msg]};}
4857function stackTraceAsString(){return new Error().stack+'';}
4858function stackTrace(){let stack=stackTraceAsString();stack=stack.split('\n');return stack.slice(2);}
4859function getUsingPath(path,fromDict){const parts=path.split('.');let cur=fromDict;for(let part;parts.length&&(part=parts.shift());){if(!parts.length){return cur[part];}else if(part in cur){cur=cur[part];}else{return undefined;}}
4860return undefined;}
4861function formatDate(date){return date.toISOString().replace('T',' ').slice(0,19);}
4862function numberToJson(n){if(isNaN(n))return'NaN';if(n===Infinity)return'Infinity';if(n===-Infinity)return'-Infinity';return n;}
4863function numberFromJson(n){if(n==='NaN'||n===null)return NaN;if(n==='Infinity')return Infinity;if(n==='-Infinity')return-Infinity;return n;}
4864function runLengthEncoding(ary){const encodedArray=[];for(const element of ary){if(encodedArray.length===0||encodedArray[encodedArray.length-1].value!==element){encodedArray.push({value:element,count:1,});}else{encodedArray[encodedArray.length-1].count+=1;}}
4865return encodedArray;}
4866return{addSingletonGetter,deepCopy,normalizeException,stackTrace,stackTraceAsString,formatDate,numberToJson,numberFromJson,getUsingPath,runLengthEncoding,};});'use strict';tr.exportTo('tr.b',function(){const ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS=10;const REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS=100;const recordRAFStacks=false;let pendingPreAFs=[];let pendingRAFs=[];const pendingIdleCallbacks=[];let currentRAFDispatchList=undefined;let rafScheduled=false;let idleWorkScheduled=false;function scheduleRAF(){if(rafScheduled)return;rafScheduled=true;if(tr.isHeadless){Promise.resolve().then(function(){processRequests(false,0);},function(e){throw e;});}else{if(window.requestAnimationFrame){window.requestAnimationFrame(processRequests.bind(this,false));}else{const delta=Date.now()-window.performance.now();window.webkitRequestAnimationFrame(function(domTimeStamp){processRequests(false,domTimeStamp-delta);});}}}
4867function nativeRequestIdleCallbackSupported(){return!tr.isHeadless&&window.requestIdleCallback;}
4868function scheduleIdleWork(){if(idleWorkScheduled)return;if(!nativeRequestIdleCallbackSupported()){scheduleRAF();return;}
4869idleWorkScheduled=true;window.requestIdleCallback(function(deadline,didTimeout){processIdleWork(false,deadline);},{timeout:REQUEST_IDLE_CALLBACK_TIMEOUT_MILLISECONDS});}
4870function onAnimationFrameError(e,opt_stack){console.log(e.stack);if(tr.isHeadless)throw e;if(opt_stack)console.log(opt_stack);if(e.message){console.error(e.message,e.stack);}else{console.error(e);}}
4871function runTask(task,frameBeginTime){try{task.callback.call(task.context,frameBeginTime);}catch(e){tr.b.onAnimationFrameError(e,task.stack);}}
4872function processRequests(forceAllTasksToRun,frameBeginTime){rafScheduled=false;const currentPreAFs=pendingPreAFs;currentRAFDispatchList=pendingRAFs;pendingPreAFs=[];pendingRAFs=[];const hasRAFTasks=currentPreAFs.length||currentRAFDispatchList.length;for(let i=0;i<currentPreAFs.length;i++){runTask(currentPreAFs[i],frameBeginTime);}
4873while(currentRAFDispatchList.length>0){runTask(currentRAFDispatchList.shift(),frameBeginTime);}
4874currentRAFDispatchList=undefined;if((!hasRAFTasks&&!nativeRequestIdleCallbackSupported())||forceAllTasksToRun){const rafCompletionDeadline=frameBeginTime+ESTIMATED_IDLE_PERIOD_LENGTH_MILLISECONDS;processIdleWork(forceAllTasksToRun,{timeRemaining(){return rafCompletionDeadline-window.performance.now();}});}
4875if(pendingIdleCallbacks.length>0)scheduleIdleWork();}
4876function processIdleWork(forceAllTasksToRun,deadline){idleWorkScheduled=false;while(pendingIdleCallbacks.length>0){runTask(pendingIdleCallbacks.shift());if(!forceAllTasksToRun&&(tr.isHeadless||deadline.timeRemaining()<=0)){break;}}
4877if(pendingIdleCallbacks.length>0)scheduleIdleWork();}
4878function getStack_(){if(!recordRAFStacks)return'';const stackLines=tr.b.stackTrace();stackLines.shift();return stackLines.join('\n');}
4879function requestPreAnimationFrame(callback,opt_this){pendingPreAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
4880function requestAnimationFrameInThisFrameIfPossible(callback,opt_this){if(!currentRAFDispatchList){requestAnimationFrame(callback,opt_this);return;}
4881currentRAFDispatchList.push({callback,context:opt_this||global,stack:getStack_()});return;}
4882function requestAnimationFrame(callback,opt_this){pendingRAFs.push({callback,context:opt_this||global,stack:getStack_()});scheduleRAF();}
4883function animationFrame(){return new Promise(resolve=>requestAnimationFrame(resolve));}
4884function requestIdleCallback(callback,opt_this){pendingIdleCallbacks.push({callback,context:opt_this||global,stack:getStack_()});scheduleIdleWork();}
4885function forcePendingRAFTasksToRun(frameBeginTime){if(!rafScheduled)return;processRequests(false,frameBeginTime);}
4886function forceAllPendingTasksToRunForTest(){if(!rafScheduled&&!idleWorkScheduled)return;processRequests(true,0);}
4887function timeout(ms){return new Promise(resolve=>window.setTimeout(resolve,ms));}
4888function idle(){return new Promise(resolve=>requestIdleCallback(resolve));}
4889return{animationFrame,forceAllPendingTasksToRunForTest,forcePendingRAFTasksToRun,idle,onAnimationFrameError,requestAnimationFrame,requestAnimationFrameInThisFrameIfPossible,requestIdleCallback,requestPreAnimationFrame,timeout,};});'use strict';tr.exportTo('tr.b',function(){class Mark{constructor(groupName,functionName){if(tr.isHeadless)return;this.groupName_=groupName;this.functionName_=functionName;const guid=tr.b.GUID.allocateSimple();this.measureName_=`${groupName} ${functionName}`;this.startMarkName_=`${this.measureName} ${guid} start`;this.endMarkName_=`${this.measureName} ${guid} end`;window.performance.mark(this.startMarkName_);}
4890get groupName(){return this.groupName_;}
4891get functionName(){return this.functionName_;}
4892get measureName(){return this.measureName_;}
4893get startMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.startMarkName_));}
4894get endMark(){return tr.b.getOnlyElement(window.performance.getEntriesByName(this.endMarkName_));}
4895get durationMs(){return this.endMark.startTime-this.startMark.startTime;}
4896end(){if(tr.isHeadless)return;window.performance.mark(this.endMarkName_);window.performance.measure(this.measureName_,this.startMarkName_,this.endMarkName_);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:this.groupName,eventAction:this.functionName,eventValue:this.durationMs,});}}
4897class Timing{static mark(groupName,functionName){return new Mark(groupName,functionName);}
4898static instant(groupName,functionName,opt_value){const valueString=opt_value===undefined?'':' '+opt_value;console.timeStamp(`${groupName} ${functionName}${valueString}`);if(!(window.ga instanceof Function))return;ga('send',{hitType:'event',eventCategory:groupName,eventAction:functionName,eventValue:opt_value,});}}
4899return{Timing,};});'use strict';tr.exportTo('tr.b',function(){const Timing=tr.b.Timing;function Task(runCb,thisArg){if(runCb!==undefined&&thisArg===undefined&&runCb.prototype!==undefined){throw new Error('Almost certainly you meant to pass a bound callback '+'or thisArg.');}
4900this.runCb_=runCb;this.thisArg_=thisArg;this.afterTask_=undefined;this.subTasks_=[];this.updatesUi_=false;}
4901Task.prototype={get name(){return this.runCb_.name;},set updatesUi(value){this.updatesUi_=value;},subTask(cb,thisArg){if(cb instanceof Task){this.subTasks_.push(cb);}else{this.subTasks_.push(new Task(cb,thisArg));}
4902return this.subTasks_[this.subTasks_.length-1];},run(){if(this.runCb_!==undefined)this.runCb_.call(this.thisArg_,this);const subTasks=this.subTasks_;this.subTasks_=undefined;if(!subTasks.length)return this.afterTask_;for(let i=1;i<subTasks.length;i++){subTasks[i-1].afterTask_=subTasks[i];}
4903subTasks[subTasks.length-1].afterTask_=this.afterTask_;return subTasks[0];},after(cb,thisArg){if(this.afterTask_){throw new Error('Has an after task already');}
4904if(cb instanceof Task){this.afterTask_=cb;}else{this.afterTask_=new Task(cb,thisArg);}
4905return this.afterTask_;},enqueue(cb,thisArg){if(!this.afterTask_)return this.after(cb,thisArg);return this.afterTask_.enqueue(cb,thisArg);}};Task.RunSynchronously=function(task){let curTask=task;while(curTask){curTask=curTask.run();}};Task.RunWhenIdle=function(task){return new Promise(function(resolve,reject){let curTask=task;function runAnother(){try{curTask=curTask.run();}catch(e){reject(e);return;}
4906if(curTask){if(curTask.updatesUi_){tr.b.requestAnimationFrameInThisFrameIfPossible(runAnother);}else{tr.b.requestIdleCallback(runAnother);}
4907return;}
4908resolve();}
4909tr.b.requestIdleCallback(runAnother);});};return{Task,};});'use strict';tr.exportTo('tr.c',function(){function makeCaseInsensitiveRegex(pattern){pattern=pattern.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');return new RegExp(pattern,'i');}
4910function Filter(){}
4911Filter.prototype={__proto__:Object.prototype,matchCounter(counter){return true;},matchCpu(cpu){return true;},matchProcess(process){return true;},matchSlice(slice){return true;},matchThread(thread){return true;}};function TitleOrCategoryFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);if(!text.length){throw new Error('Filter text is empty.');}}
4912TitleOrCategoryFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){if(slice.title===undefined&&slice.category===undefined){return false;}
4913return this.regex_.test(slice.title)||(!!slice.category&&this.regex_.test(slice.category));}};function ExactTitleFilter(text){Filter.call(this);this.text_=text;if(!text.length){throw new Error('Filter text is empty.');}}
4914ExactTitleFilter.prototype={__proto__:Filter.prototype,matchSlice(slice){return slice.title===this.text_;}};function FullTextFilter(text){Filter.call(this);this.regex_=makeCaseInsensitiveRegex(text);this.titleOrCategoryFilter_=new TitleOrCategoryFilter(text);}
4915FullTextFilter.prototype={__proto__:Filter.prototype,matchObject_(obj){for(const key in obj){if(!obj.hasOwnProperty(key))continue;if(this.regex_.test(key))return true;if(this.regex_.test(obj[key]))return true;}
4916return false;},matchSlice(slice){if(this.titleOrCategoryFilter_.matchSlice(slice))return true;return this.matchObject_(slice.args);}};return{Filter,TitleOrCategoryFilter,ExactTitleFilter,FullTextFilter,};});'use strict';tr.exportTo('tr.model',function(){const ClockDomainId={BATTOR:'BATTOR',UNKNOWN_CHROME_LEGACY:'UNKNOWN_CHROME_LEGACY',LINUX_CLOCK_MONOTONIC:'LINUX_CLOCK_MONOTONIC',LINUX_FTRACE_GLOBAL:'LINUX_FTRACE_GLOBAL',MAC_MACH_ABSOLUTE_TIME:'MAC_MACH_ABSOLUTE_TIME',WIN_ROLLOVER_PROTECTED_TIME_GET_TIME:'WIN_ROLLOVER_PROTECTED_TIME_GET_TIME',WIN_QPC:'WIN_QPC',SYSTRACE:'SYSTRACE',TELEMETRY:'TELEMETRY'};const POSSIBLE_CHROME_CLOCK_DOMAINS=new Set([ClockDomainId.UNKNOWN_CHROME_LEGACY,ClockDomainId.LINUX_CLOCK_MONOTONIC,ClockDomainId.MAC_MACH_ABSOLUTE_TIME,ClockDomainId.WIN_ROLLOVER_PROTECTED_TIME_GET_TIME,ClockDomainId.WIN_QPC]);const BATTOR_FAST_SYNC_THRESHOLD_MS=3;function ClockSyncManager(){this.domainsSeen_=new Set();this.markersBySyncId_=new Map();this.transformerMapByDomainId_={};}
4917ClockSyncManager.prototype={addClockSyncMarker(domainId,syncId,startTs,opt_endTs){this.onDomainSeen_(domainId);if(Object.values(ClockDomainId).indexOf(domainId)<0){throw new Error('"'+domainId+'" is not in the list of known '+'clock domain IDs.');}
4918if(this.modelDomainId_){throw new Error('Cannot add new clock sync markers after getting '+'a model time transformer.');}
4919const marker=new ClockSyncMarker(domainId,startTs,opt_endTs);if(!this.markersBySyncId_.has(syncId)){this.markersBySyncId_.set(syncId,[marker]);return;}
4920const markers=this.markersBySyncId_.get(syncId);if(markers.length===2){throw new Error('Clock sync with ID "'+syncId+'" is already '+'complete - cannot add a third clock sync marker to it.');}
4921if(markers[0].domainId===domainId){throw new Error('A clock domain cannot sync with itself.');}
4922markers.push(marker);this.onSyncCompleted_(markers[0],marker);},get markersBySyncId(){return this.markersBySyncId_;},get domainsSeen(){return this.domainsSeen_;},getModelTimeTransformer(domainId){this.onDomainSeen_(domainId);if(!this.modelDomainId_){this.selectModelDomainId_();}
4923return this.getTimeTransformerRaw_(domainId,this.modelDomainId_).fn;},getTimeTransformerError(fromDomainId,toDomainId){this.onDomainSeen_(fromDomainId);this.onDomainSeen_(toDomainId);return this.getTimeTransformerRaw_(fromDomainId,toDomainId).error;},getTimeTransformerRaw_(fromDomainId,toDomainId){const transformer=this.getTransformerBetween_(fromDomainId,toDomainId);if(!transformer){throw new Error('No clock sync markers exist pairing clock domain "'+
4924fromDomainId+'" '+'with target clock domain "'+
4925toDomainId+'".');}
4926return transformer;},getTransformerBetween_(fromDomainId,toDomainId){const visitedDomainIds=new Set();const queue=[{domainId:fromDomainId,transformer:Transformer.IDENTITY}];while(queue.length>0){queue.sort((domain1,domain2)=>domain1.transformer.error-domain2.transformer.error);const current=queue.shift();if(current.domainId===toDomainId){return current.transformer;}
4927if(visitedDomainIds.has(current.domainId)){continue;}
4928visitedDomainIds.add(current.domainId);const outgoingTransformers=this.transformerMapByDomainId_[current.domainId];if(!outgoingTransformers)continue;for(const outgoingDomainId in outgoingTransformers){const toNextDomainTransformer=outgoingTransformers[outgoingDomainId];const toCurrentDomainTransformer=current.transformer;queue.push({domainId:outgoingDomainId,transformer:Transformer.compose(toNextDomainTransformer,toCurrentDomainTransformer)});}}
4929return undefined;},selectModelDomainId_(){this.ensureAllDomainsAreConnected_();for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(this.domainsSeen_.has(chromeDomainId)){this.modelDomainId_=chromeDomainId;return;}}
4930const domainsSeenArray=Array.from(this.domainsSeen_);domainsSeenArray.sort();this.modelDomainId_=domainsSeenArray[0];},ensureAllDomainsAreConnected_(){let firstDomainId=undefined;for(const domainId of this.domainsSeen_){if(!firstDomainId){firstDomainId=domainId;continue;}
4931if(!this.getTransformerBetween_(firstDomainId,domainId)){throw new Error('Unable to select a primary clock domain because no '+'path can be found from "'+firstDomainId+'" to "'+domainId+'".');}}
4932return true;},onDomainSeen_(domainId){if(domainId===ClockDomainId.UNKNOWN_CHROME_LEGACY&&!this.domainsSeen_.has(ClockDomainId.UNKNOWN_CHROME_LEGACY)){for(const chromeDomainId of POSSIBLE_CHROME_CLOCK_DOMAINS){if(chromeDomainId===ClockDomainId.UNKNOWN_CHROME_LEGACY){continue;}
4933this.collapseDomains_(ClockDomainId.UNKNOWN_CHROME_LEGACY,chromeDomainId);}}
4934this.domainsSeen_.add(domainId);},onSyncCompleted_(marker1,marker2){const forwardTransformer=Transformer.fromMarkers(marker1,marker2);const backwardTransformer=Transformer.fromMarkers(marker2,marker1);const existingTransformer=this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId];if(!existingTransformer||forwardTransformer.error<existingTransformer.error){this.getOrCreateTransformerMap_(marker1.domainId)[marker2.domainId]=forwardTransformer;this.getOrCreateTransformerMap_(marker2.domainId)[marker1.domainId]=backwardTransformer;}},collapseDomains_(domain1Id,domain2Id){this.getOrCreateTransformerMap_(domain1Id)[domain2Id]=this.getOrCreateTransformerMap_(domain2Id)[domain1Id]=Transformer.IDENTITY;},getOrCreateTransformerMap_(domainId){if(!this.transformerMapByDomainId_[domainId]){this.transformerMapByDomainId_[domainId]={};}
4935return this.transformerMapByDomainId_[domainId];},computeDotGraph(){let dotString='graph {\n';const domainsSeen=[...this.domainsSeen_].sort();for(const domainId of domainsSeen){dotString+=`  ${domainId}[shape=box]\n`;}
4936const markersBySyncIdEntries=[...this.markersBySyncId_.entries()].sort(([syncId1,markers1],[syncId2,markers2])=>syncId1.localeCompare(syncId2));for(const[syncId,markers]of markersBySyncIdEntries){const sortedMarkers=markers.sort((a,b)=>a.domainId.localeCompare(b.domainId));for(const m of markers){dotString+=`  "${syncId}" -- ${m.domainId} `;dotString+=`[label="[${m.startTs}, ${m.endTs}]"]\n`;}}
4937dotString+='}';return dotString;}};function ClockSyncMarker(domainId,startTs,opt_endTs){this.domainId=domainId;this.startTs=startTs;this.endTs=opt_endTs===undefined?startTs:opt_endTs;}
4938ClockSyncMarker.prototype={get duration(){return this.endTs-this.startTs;},get ts(){return this.startTs+this.duration/2;}};function Transformer(fn,error){this.fn=fn;this.error=error;}
4939Transformer.IDENTITY=new Transformer(tr.b.identity,0);Transformer.compose=function(aToB,bToC){return new Transformer((ts)=>bToC.fn(aToB.fn(ts)),aToB.error+bToC.error);};Transformer.fromMarkers=function(fromMarker,toMarker){let fromTs=fromMarker.ts;let toTs=toMarker.ts;if(fromMarker.domainId===ClockDomainId.BATTOR&&toMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){toTs=toMarker.startTs;}else if(toMarker.domainId===ClockDomainId.BATTOR&&fromMarker.duration>BATTOR_FAST_SYNC_THRESHOLD_MS){fromTs=fromMarker.startTs;}
4940const tsShift=toTs-fromTs;return new Transformer((ts)=>ts+tsShift,fromMarker.duration+toMarker.duration);};return{ClockDomainId,ClockSyncManager,};});'use strict';tr.exportTo('tr.model',function(){function CounterSample(series,timestamp,value){tr.model.Event.call(this);this.series_=series;this.timestamp_=timestamp;this.value_=value;}
4941CounterSample.groupByTimestamp=function(samples){const samplesByTimestamp=tr.b.groupIntoMap(samples,s=>s.timestamp);const timestamps=Array.from(samplesByTimestamp.keys());timestamps.sort();const groups=[];for(const ts of timestamps){const group=samplesByTimestamp.get(ts);group.sort((x,y)=>x.series.seriesIndex-y.series.seriesIndex);groups.push(group);}
4942return groups;};CounterSample.prototype={__proto__:tr.model.Event.prototype,get series(){return this.series_;},get timestamp(){return this.timestamp_;},get value(){return this.value_;},set timestamp(timestamp){this.timestamp_=timestamp;},addBoundsToRange(range){range.addValue(this.timestamp);},getSampleIndex(){return tr.b.math.findLowIndexInSortedArray(this.series.timestamps,function(x){return x;},this.timestamp_);},get userFriendlyName(){return'Counter sample from '+this.series_.title+' at '+
4943tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(CounterSample,{name:'counterSample',pluralName:'counterSamples'});return{CounterSample,};});'use strict';tr.exportTo('tr.model',function(){const CounterSample=tr.model.CounterSample;function CounterSeries(name,color){tr.model.EventContainer.call(this);this.name_=name;this.color_=color;this.timestamps_=[];this.samples_=[];this.counter=undefined;this.seriesIndex=undefined;}
4944CounterSeries.prototype={__proto__:tr.model.EventContainer.prototype,get length(){return this.timestamps_.length;},get name(){return this.name_;},get color(){return this.color_;},get samples(){return this.samples_;},get timestamps(){return this.timestamps_;},getSample(idx){return this.samples_[idx];},getTimestamp(idx){return this.timestamps_[idx];},addCounterSample(ts,val){const sample=new CounterSample(this,ts,val);this.addSample(sample);return sample;},addSample(sample){this.timestamps_.push(sample.timestamp);this.samples_.push(sample);},getStatistics(sampleIndices){let sum=0;let min=Number.MAX_VALUE;let max=-Number.MAX_VALUE;for(let i=0;i<sampleIndices.length;++i){const sample=this.getSample(sampleIndices[i]).value;sum+=sample;min=Math.min(sample,min);max=Math.max(sample,max);}
4945return{min,max,avg:(sum/sampleIndices.length),start:this.getSample(sampleIndices[0]).value,end:this.getSample(sampleIndices.length-1).value};},shiftTimestampsForward(amount){for(let i=0;i<this.timestamps_.length;++i){this.timestamps_[i]+=amount;this.samples_[i].timestamp=this.timestamps_[i];}},*childEvents(){yield*this.samples_;},*childEventContainers(){}};return{CounterSeries,};});'use strict';tr.exportTo('tr.model',function(){function Counter(parent,id,category,name){tr.model.EventContainer.call(this);this.parent_=parent;this.id_=id;this.category_=category||'';this.name_=name;this.series_=[];this.totals=[];}
4946Counter.prototype={__proto__:tr.model.EventContainer.prototype,get parent(){return this.parent_;},get id(){return this.id_;},get category(){return this.category_;},get name(){return this.name_;},*childEvents(){},*childEventContainers(){yield*this.series;},set timestamps(arg){throw new Error('Bad counter API. No cookie.');},set seriesNames(arg){throw new Error('Bad counter API. No cookie.');},set seriesColors(arg){throw new Error('Bad counter API. No cookie.');},set samples(arg){throw new Error('Bad counter API. No cookie.');},addSeries(series){series.counter=this;series.seriesIndex=this.series_.length;this.series_.push(series);return series;},getSeries(idx){return this.series_[idx];},get series(){return this.series_;},get numSeries(){return this.series_.length;},get numSamples(){if(this.series_.length===0)return 0;return this.series_[0].length;},get timestamps(){if(this.series_.length===0)return[];return this.series_[0].timestamps;},getSampleStatistics(sampleIndices){sampleIndices.sort();const ret=[];this.series_.forEach(function(series){ret.push(series.getStatistics(sampleIndices));});return ret;},shiftTimestampsForward(amount){for(let i=0;i<this.series_.length;++i){this.series_[i].shiftTimestampsForward(amount);}},updateBounds(){this.totals=[];this.maxTotal=0;this.bounds.reset();if(this.series_.length===0)return;const firstSeries=this.series_[0];const lastSeries=this.series_[this.series_.length-1];this.bounds.addValue(firstSeries.getTimestamp(0));this.bounds.addValue(lastSeries.getTimestamp(lastSeries.length-1));const numSeries=this.numSeries;this.maxTotal=-Infinity;for(let i=0;i<firstSeries.length;++i){let total=0;this.series_.forEach(function(series){total+=series.getSample(i).value;this.totals.push(total);}.bind(this));this.maxTotal=Math.max(total,this.maxTotal);}}};Counter.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp!==0)return tmp;tmp=x.name.localeCompare(y.name);if(tmp===0)return x.tid-y.tid;return tmp;};return{Counter,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function CpuSlice(cat,title,colorId,start,args,opt_duration){Slice.apply(this,arguments);this.threadThatWasRunning=undefined;this.cpu=undefined;}
4947CpuSlice.prototype={__proto__:Slice.prototype,get analysisTypeName(){return'tr.ui.analysis.CpuSlice';},getAssociatedTimeslice(){if(!this.threadThatWasRunning){return undefined;}
4948const timeSlices=this.threadThatWasRunning.timeSlices;for(let i=0;i<timeSlices.length;i++){const timeSlice=timeSlices[i];if(timeSlice.start!==this.start){continue;}
4949if(timeSlice.duration!==this.duration){continue;}
4950return timeSlice;}
4951return undefined;}};tr.model.EventRegistry.register(CpuSlice,{name:'cpuSlice',pluralName:'cpuSlices'});return{CpuSlice,};});'use strict';tr.exportTo('tr.model',function(){function TimeToObjectInstanceMap(createObjectInstanceFunction,parent,scopedId){this.createObjectInstanceFunction_=createObjectInstanceFunction;this.parent=parent;this.scopedId=scopedId;this.instances=[];}
4952TimeToObjectInstanceMap.prototype={idWasCreated(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));this.instances[0].creationTsWasExplicit=true;return this.instances[0];}
4953let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.deletionTs){throw new Error('Mutation of the TimeToObjectInstanceMap must be '+'done in ascending timestamp order.');}
4954lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);lastInstance.creationTsWasExplicit=true;this.instances.push(lastInstance);return lastInstance;},addSnapshot(category,name,ts,args,opt_baseTypeName){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName));}
4955const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);let instance;if(i<0){instance=this.instances[0];if(ts>instance.deletionTs||instance.creationTsWasExplicit){throw new Error('At the provided timestamp, no instance was still alive');}
4956if(instance.snapshots.length!==0){throw new Error('Cannot shift creationTs forward, '+'snapshots have been added. First snap was at ts='+
4957instance.snapshots[0].ts+' and creationTs was '+
4958instance.creationTs);}
4959instance.creationTs=ts;}else if(i>=this.instances.length){instance=this.instances[this.instances.length-1];if(ts>=instance.deletionTs){instance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts,opt_baseTypeName);this.instances.push(instance);}else{let lastValidIndex;for(let i=this.instances.length-1;i>=0;i--){const tmp=this.instances[i];if(ts>=tmp.deletionTs)break;if(tmp.creationTsWasExplicit===false&&tmp.snapshots.length===0){lastValidIndex=i;}}
4960if(lastValidIndex===undefined){throw new Error('Cannot add snapshot. No instance was alive that was mutable.');}
4961instance=this.instances[lastValidIndex];instance.creationTs=ts;}}else{instance=this.instances[i];}
4962return instance.addSnapshot(ts,args,name,opt_baseTypeName);},get lastInstance(){if(this.instances.length===0)return undefined;return this.instances[this.instances.length-1];},idWasDeleted(category,name,ts){if(this.instances.length===0){this.instances.push(this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts));}
4963let lastInstance=this.instances[this.instances.length-1];if(ts<lastInstance.creationTs){throw new Error('Cannot delete an id before it was created');}
4964if(lastInstance.deletionTs===Number.MAX_VALUE){lastInstance.wasDeleted(ts);return lastInstance;}
4965if(ts<lastInstance.deletionTs){throw new Error('id was already deleted earlier.');}
4966lastInstance=this.createObjectInstanceFunction_(this.parent,this.scopedId,category,name,ts);this.instances.push(lastInstance);lastInstance.wasDeleted(ts);return lastInstance;},getInstanceAt(ts){const i=tr.b.math.findIndexInSortedIntervals(this.instances,function(inst){return inst.creationTs;},function(inst){return inst.deletionTs-inst.creationTs;},ts);if(i<0){if(this.instances[0].creationTsWasExplicit){return undefined;}
4967return this.instances[0];}else if(i>=this.instances.length){return undefined;}
4968return this.instances[i];}};return{TimeToObjectInstanceMap,};});'use strict';tr.exportTo('tr.model',function(){const ObjectInstance=tr.model.ObjectInstance;const ObjectSnapshot=tr.model.ObjectSnapshot;function ObjectCollection(parent){tr.model.EventContainer.call(this);this.parent=parent;this.instanceMapsByScopedId_={};this.instancesByTypeName_={};this.createObjectInstance_=this.createObjectInstance_.bind(this);}
4969ObjectCollection.prototype={__proto__:tr.model.EventContainer.prototype,*childEvents(){for(const instance of this.getAllObjectInstances()){yield instance;yield*instance.snapshots;}},createObjectInstance_(parent,scopedId,category,name,creationTs,opt_baseTypeName){const constructor=tr.model.ObjectInstance.subTypes.getConstructor(category,name);const instance=new constructor(parent,scopedId,category,name,creationTs,opt_baseTypeName);const typeName=instance.typeName;let instancesOfTypeName=this.instancesByTypeName_[typeName];if(!instancesOfTypeName){instancesOfTypeName=[];this.instancesByTypeName_[typeName]=instancesOfTypeName;}
4970instancesOfTypeName.push(instance);return instance;},getOrCreateInstanceMap_(scopedId){let dict;if(scopedId.scope in this.instanceMapsByScopedId_){dict=this.instanceMapsByScopedId_[scopedId.scope];}else{dict={};this.instanceMapsByScopedId_[scopedId.scope]=dict;}
4971let instanceMap=dict[scopedId.id];if(instanceMap)return instanceMap;instanceMap=new tr.model.TimeToObjectInstanceMap(this.createObjectInstance_,this.parent,scopedId);dict[scopedId.id]=instanceMap;return instanceMap;},idWasCreated(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);return instanceMap.idWasCreated(category,name,ts);},addSnapshot(scopedId,category,name,ts,args,opt_baseTypeName){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const snapshot=instanceMap.addSnapshot(category,name,ts,args,opt_baseTypeName);if(snapshot.objectInstance.category!==category){const msg='Added snapshot name='+name+' with cat='+category+' impossible. It instance was created/snapshotted with cat='+
4972snapshot.objectInstance.category+' name='+
4973snapshot.objectInstance.name;throw new Error(msg);}
4974if(opt_baseTypeName&&snapshot.objectInstance.baseTypeName!==opt_baseTypeName){throw new Error('Could not add snapshot with baseTypeName='+
4975opt_baseTypeName+'. It '+'was previously created with name='+
4976snapshot.objectInstance.baseTypeName);}
4977if(snapshot.objectInstance.name!==name){throw new Error('Could not add snapshot with name='+name+'. It '+'was previously created with name='+
4978snapshot.objectInstance.name);}
4979return snapshot;},idWasDeleted(scopedId,category,name,ts){const instanceMap=this.getOrCreateInstanceMap_(scopedId);const deletedInstance=instanceMap.idWasDeleted(category,name,ts);if(!deletedInstance)return;if(deletedInstance.category!==category){const msg='Deleting object '+deletedInstance.name+' with a different category '+'than when it was created. It previous had cat='+
4980deletedInstance.category+' but the delete command '+'had cat='+category;throw new Error(msg);}
4981if(deletedInstance.baseTypeName!==name){throw new Error('Deletion requested for name='+
4982name+' could not proceed: '+'An existing object with baseTypeName='+
4983deletedInstance.baseTypeName+' existed.');}},autoDeleteObjects(maxTimestamp){for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){const lastInstance=i2imap.lastInstance;if(lastInstance.deletionTs!==Number.MAX_VALUE)continue;i2imap.idWasDeleted(lastInstance.category,lastInstance.name,maxTimestamp);lastInstance.deletionTsWasExplicit=false;}}},getObjectInstanceAt(scopedId,ts){let instanceMap;if(scopedId.scope in this.instanceMapsByScopedId_){instanceMap=this.instanceMapsByScopedId_[scopedId.scope][scopedId.id];}
4984if(!instanceMap)return undefined;return instanceMap.getInstanceAt(ts);},getSnapshotAt(scopedId,ts){const instance=this.getObjectInstanceAt(scopedId,ts);if(!instance)return undefined;return instance.getSnapshotAt(ts);},iterObjectInstances(iter,opt_this){opt_this=opt_this||this;for(const imapById of Object.values(this.instanceMapsByScopedId_)){for(const i2imap of Object.values(imapById)){i2imap.instances.forEach(iter,opt_this);}}},getAllObjectInstances(){const instances=[];this.iterObjectInstances(function(i){instances.push(i);});return instances;},getAllInstancesNamed(name){return this.instancesByTypeName_[name];},getAllInstancesByTypeName(){return this.instancesByTypeName_;},preInitializeAllObjects(){this.iterObjectInstances(function(instance){instance.preInitialize();});},initializeAllObjects(){this.iterObjectInstances(function(instance){instance.initialize();});},initializeInstances(){this.iterObjectInstances(function(instance){instance.initialize();});},updateBounds(){this.bounds.reset();this.iterObjectInstances(function(instance){instance.updateBounds();this.bounds.addRange(instance.bounds);},this);},shiftTimestampsForward(amount){this.iterObjectInstances(function(instance){instance.shiftTimestampsForward(amount);});},addCategoriesToDict(categoriesDict){this.iterObjectInstances(function(instance){categoriesDict[instance.category]=true;});}};return{ObjectCollection,};});'use strict';tr.exportTo('tr.model',function(){function AsyncSliceGroup(parentContainer,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;this.slices=[];this.name_=opt_name;this.viewSubGroups_=undefined;}
4985AsyncSliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.parent.model;},get stableId(){return this.parentContainer_.stableId+'.AsyncSliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name_;},push(slice){slice.parentContainer=this.parentContainer;this.slices.push(slice);return slice;},get length(){return this.slices.length;},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);const shiftSubSlices=function(subSlices){if(subSlices===undefined||subSlices.length===0)return;for(let sJ=0;sJ<subSlices.length;sJ++){subSlices[sJ].start+=amount;shiftSubSlices(subSlices[sJ].subSlices);}};shiftSubSlices(slice.subSlices);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},get viewSubGroups(){if(this.viewSubGroups_===undefined){let prefix='';if(this.name!==undefined){prefix=this.name+'.';}else{prefix='';}
4986const subGroupsByTitle={};for(let i=0;i<this.slices.length;++i){const slice=this.slices[i];const subGroupTitle=slice.viewSubGroupTitle;if(!subGroupsByTitle[subGroupTitle]){subGroupsByTitle[subGroupTitle]=new AsyncSliceGroup(this.parentContainer_,prefix+subGroupTitle);}
4987subGroupsByTitle[subGroupTitle].push(slice);}
4988this.viewSubGroups_=Object.values(subGroupsByTitle);this.viewSubGroups_.sort(function(a,b){return a.slices[0].compareTo(b.slices[0]);});}
4989return this.viewSubGroups_;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const slice of this.slices){if(slice.isTopLevel){yield*slice.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}}},*childEvents(){for(const slice of this.slices){yield slice;if(slice.subSlices){yield*slice.subSlices;}}},*childEventContainers(){}};return{AsyncSliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const Slice=tr.model.Slice;function ThreadSlice(cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId){Slice.call(this,cat,title,colorId,start,args,opt_duration,opt_cpuStart,opt_cpuDuration,opt_argsStripped,opt_bindId);this.subSlices=[];}
4990ThreadSlice.prototype={__proto__:Slice.prototype,get overlappingSamples(){const samples=new tr.model.EventSet();if(!this.parentContainer||!this.parentContainer.samples){return samples;}
4991this.parentContainer.samples.forEach(function(sample){if(this.start<=sample.start&&sample.start<=this.end){samples.push(sample);}},this);return samples;}};tr.model.EventRegistry.register(ThreadSlice,{name:'slice',pluralName:'slices'});return{ThreadSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const ThreadSlice=tr.model.ThreadSlice;function getSliceLo(s){return s.start;}
4992function getSliceHi(s){return s.end;}
4993function SliceGroup(parentContainer,opt_sliceConstructor,opt_name){tr.model.EventContainer.call(this);this.parentContainer_=parentContainer;const sliceConstructor=opt_sliceConstructor||ThreadSlice;this.sliceConstructor=sliceConstructor;this.sliceConstructorSubTypes=this.sliceConstructor.subTypes;if(!this.sliceConstructorSubTypes){throw new Error('opt_sliceConstructor must have a subtype registry.');}
4994this.openPartialSlices_=[];this.slices=[];this.topLevelSlices=[];this.haveTopLevelSlicesBeenBuilt=false;this.name_=opt_name;if(this.model===undefined){throw new Error('SliceGroup must have model defined.');}}
4995SliceGroup.prototype={__proto__:tr.model.EventContainer.prototype,get parentContainer(){return this.parentContainer_;},get model(){return this.parentContainer_.model;},get stableId(){return this.parentContainer_.stableId+'.SliceGroup';},getSettingsKey(){if(!this.name_)return undefined;const parentKey=this.parentContainer_.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},get length(){return this.slices.length;},pushSlice(slice){this.haveTopLevelSlicesBeenBuilt=false;slice.parentContainer=this.parentContainer_;this.slices.push(slice);return slice;},pushSlices(slices){this.haveTopLevelSlicesBeenBuilt=false;slices.forEach(function(slice){slice.parentContainer=this.parentContainer_;this.slices.push(slice);},this);},beginSlice(category,title,ts,opt_args,opt_tts,opt_argsStripped,opt_colorId){if(this.openPartialSlices_.length){const prevSlice=this.openPartialSlices_[this.openPartialSlices_.length-1];if(ts<prevSlice.start){throw new Error('Slices must be added in increasing timestamp order');}}
4996const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},null,opt_tts,undefined,opt_argsStripped);this.openPartialSlices_.push(slice);slice.didNotFinish=true;this.pushSlice(slice);return slice;},isTimestampValidForBeginOrEnd(ts){if(!this.openPartialSlices_.length)return true;const top=this.openPartialSlices_[this.openPartialSlices_.length-1];return ts>=top.start;},get openSliceCount(){return this.openPartialSlices_.length;},get mostRecentlyOpenedPartialSlice(){if(!this.openPartialSlices_.length)return undefined;return this.openPartialSlices_[this.openPartialSlices_.length-1];},endSlice(ts,opt_tts,opt_colorId){if(!this.openSliceCount){throw new Error('endSlice called without an open slice');}
4997const slice=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ts<slice.start){throw new Error('Slice '+slice.title+' end time is before its start.');}
4998slice.duration=ts-slice.start;slice.didNotFinish=false;slice.colorId=opt_colorId||slice.colorId;if(opt_tts&&slice.cpuStart!==undefined){slice.cpuDuration=opt_tts-slice.cpuStart;}
4999return slice;},pushCompleteSlice(category,title,ts,duration,tts,cpuDuration,opt_args,opt_argsStripped,opt_colorId,opt_bindId){const colorId=opt_colorId||ColorScheme.getColorIdForGeneralPurposeString(title);const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(category,title);const slice=new sliceType(category,title,colorId,ts,opt_args?opt_args:{},duration,tts,cpuDuration,opt_argsStripped,opt_bindId);if(duration===undefined){slice.didNotFinish=true;}
5000this.pushSlice(slice);return slice;},autoCloseOpenSlices(){this.updateBounds();const maxTimestamp=this.bounds.max;for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];if(slice.didNotFinish){slice.duration=maxTimestamp-slice.start;}}
5001this.openPartialSlices_=[];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){const slice=this.slices[sI];slice.start=(slice.start+amount);}},updateBounds(){this.bounds.reset();for(let i=0;i<this.slices.length;i++){this.bounds.addValue(this.slices[i].start);this.bounds.addValue(this.slices[i].end);}},copySlice(slice){const sliceConstructorSubTypes=this.sliceConstructorSubTypes;const sliceType=sliceConstructorSubTypes.getConstructor(slice.category,slice.title);const newSlice=new sliceType(slice.category,slice.title,slice.colorId,slice.start,slice.args,slice.duration,slice.cpuStart,slice.cpuDuration);newSlice.didNotFinish=slice.didNotFinish;return newSlice;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');}
5002for(const s of this.topLevelSlices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate);}},*childEvents(){yield*this.slices;},*childEventContainers(){},getSlicesOfName(title){const slices=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].title===title){slices.push(this.slices[i]);}}
5003return slices;},iterSlicesInTimeRange(callback,start,end){const ret=[];tr.b.math.iterateOverIntersectingIntervals(this.topLevelSlices,function(s){return s.start;},function(s){return s.duration;},start,end,function(topLevelSlice){callback(topLevelSlice);for(const slice of topLevelSlice.enumerateAllDescendents()){callback(slice);}});return ret;},findFirstSlice(){if(!this.haveTopLevelSlicesBeenBuilt){throw new Error('Nope');}
5004if(0===this.slices.length)return undefined;return this.slices[0];},findSliceAtTs(ts){if(!this.haveTopLevelSlicesBeenBuilt)throw new Error('Nope');let i=tr.b.math.findIndexInSortedClosedIntervals(this.topLevelSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===this.topLevelSlices.length){return undefined;}
5005let curSlice=this.topLevelSlices[i];while(true){i=tr.b.math.findIndexInSortedClosedIntervals(curSlice.subSlices,getSliceLo,getSliceHi,ts);if(i===-1||i===curSlice.subSlices.length){return curSlice;}
5006curSlice=curSlice.subSlices[i];}},findNextSliceAfter(ts,refGuid){let i=tr.b.math.findLowIndexInSortedArray(this.slices,getSliceLo,ts);if(i===this.slices.length){return undefined;}
5007for(;i<this.slices.length;i++){const slice=this.slices[i];if(slice.start>ts)return slice;if(slice.guid<=refGuid)continue;return slice;}
5008return undefined;},hasCpuDuration_(){if(this.slices.some(function(slice){return slice.cpuDuration!==undefined;}))return true;return false;},createSubSlices(){this.haveTopLevelSlicesBeenBuilt=true;this.createSubSlicesImpl_();if(!this.hasCpuDuration_()&&this.parentContainer.timeSlices){this.addCpuTimeToSubslices_(this.parentContainer.timeSlices);}
5009this.slices.forEach(function(slice){let selfTime=slice.duration;for(let i=0;i<slice.subSlices.length;i++){selfTime-=slice.subSlices[i].duration;}
5010slice.selfTime=selfTime;if(slice.cpuDuration===undefined)return;let cpuSelfTime=slice.cpuDuration;for(let i=0;i<slice.subSlices.length;i++){if(slice.subSlices[i].cpuDuration!==undefined){cpuSelfTime-=slice.subSlices[i].cpuDuration;}}
5011slice.cpuSelfTime=cpuSelfTime;});},createSubSlicesImpl_(){const precisionUnit=this.model.intrinsicTimeUnit;function addSliceIfBounds(parent,child){if(parent.bounds(child,precisionUnit)){child.parentSlice=parent;if(parent.subSlices===undefined){parent.subSlices=[];}
5012parent.subSlices.push(child);return true;}
5013return false;}
5014if(!this.slices.length)return;const ops=[];for(let i=0;i<this.slices.length;i++){if(this.slices[i].subSlices){this.slices[i].subSlices.splice(0,this.slices[i].subSlices.length);}
5015ops.push(i);}
5016const originalSlices=this.slices;ops.sort(function(ix,iy){const x=originalSlices[ix];const y=originalSlices[iy];if(x.start!==y.start){return x.start-y.start;}
5017return ix-iy;});const slices=new Array(this.slices.length);for(let i=0;i<ops.length;i++){slices[i]=originalSlices[ops[i]];}
5018let rootSlice=slices[0];this.topLevelSlices=[];this.topLevelSlices.push(rootSlice);rootSlice.isTopLevel=true;for(let i=1;i<slices.length;i++){const slice=slices[i];while(rootSlice!==undefined&&(!addSliceIfBounds(rootSlice,slice))){rootSlice=rootSlice.parentSlice;}
5019if(rootSlice===undefined){this.topLevelSlices.push(slice);slice.isTopLevel=true;}
5020rootSlice=slice;}
5021this.slices=slices;},addCpuTimeToSubslices_(timeSlices){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;let sliceIdx=0;timeSlices.forEach(function(timeSlice){if(timeSlice.schedulingState===SCHEDULING_STATE.RUNNING){while(sliceIdx<this.topLevelSlices.length){if(this.addCpuTimeToSubslice_(this.topLevelSlices[sliceIdx],timeSlice)){sliceIdx++;}else{break;}}}},this);},addCpuTimeToSubslice_(slice,timeSlice){if(slice.start>timeSlice.end||slice.end<timeSlice.start){return slice.end<=timeSlice.end;}
5022let duration=timeSlice.duration;if(slice.start>timeSlice.start){duration-=slice.start-timeSlice.start;}
5023if(timeSlice.end>slice.end){duration-=timeSlice.end-slice.end;}
5024if(slice.cpuDuration){slice.cpuDuration+=duration;}else{slice.cpuDuration=duration;}
5025for(let i=0;i<slice.subSlices.length;i++){this.addCpuTimeToSubslice_(slice.subSlices[i],timeSlice);}
5026return slice.end<=timeSlice.end;}};SliceGroup.merge=function(groupA,groupB){if(groupA.openPartialSlices_.length>0){throw new Error('groupA has open partial slices');}
5027if(groupB.openPartialSlices_.length>0){throw new Error('groupB has open partial slices');}
5028if(groupA.parentContainer!==groupB.parentContainer){throw new Error('Different parent threads. Cannot merge');}
5029if(groupA.sliceConstructor!==groupB.sliceConstructor){throw new Error('Different slice constructors. Cannot merge');}
5030const result=new SliceGroup(groupA.parentContainer,groupA.sliceConstructor,groupA.name_);const slicesA=groupA.slices;const slicesB=groupB.slices;let idxA=0;let idxB=0;const openA=[];const openB=[];const splitOpenSlices=function(when){for(let i=0;i<openB.length;i++){const oldSlice=openB[i];const oldEnd=oldSlice.end;if(when<oldSlice.start||oldEnd<when){throw new Error('slice should not be split');}
5031const newSlice=result.copySlice(oldSlice);newSlice.start=when;newSlice.duration=oldEnd-when;if(newSlice.title.indexOf(' (cont.)')===-1){newSlice.title+=' (cont.)';}
5032oldSlice.duration=when-oldSlice.start;openB[i]=newSlice;result.pushSlice(newSlice);}};const closeOpenSlices=function(upTo){while(openA.length>0||openB.length>0){const nextA=openA[openA.length-1];const nextB=openB[openB.length-1];const endA=nextA&&nextA.end;const endB=nextB&&nextB.end;if((endA===undefined||endA>upTo)&&(endB===undefined||endB>upTo)){return;}
5033if(endB===undefined||endA<endB){splitOpenSlices(endA);openA.pop();}else{openB.pop();}}};while(idxA<slicesA.length||idxB<slicesB.length){const sA=slicesA[idxA];const sB=slicesB[idxB];let nextSlice;let isFromB;if(sA===undefined||(sB!==undefined&&sA.start>sB.start)){nextSlice=result.copySlice(sB);isFromB=true;idxB++;}else{nextSlice=result.copySlice(sA);isFromB=false;idxA++;}
5034closeOpenSlices(nextSlice.start);result.pushSlice(nextSlice);if(isFromB){openB.push(nextSlice);}else{splitOpenSlices(nextSlice.start);openA.push(nextSlice);}}
5035closeOpenSlices();return result;};return{SliceGroup,};});'use strict';tr.exportTo('tr.model',function(){const AsyncSlice=tr.model.AsyncSlice;const AsyncSliceGroup=tr.model.AsyncSliceGroup;const SliceGroup=tr.model.SliceGroup;const ThreadSlice=tr.model.ThreadSlice;const ThreadTimeSlice=tr.model.ThreadTimeSlice;function Thread(parent,tid){if(!parent){throw new Error('Parent must be provided.');}
5036tr.model.EventContainer.call(this);this.parent=parent;this.sortIndex=0;this.tid=tid;this.name=undefined;this.samples_=undefined;this.sliceGroup=new SliceGroup(this,ThreadSlice,'slices');this.timeSlices=undefined;this.kernelSliceGroup=new SliceGroup(this,ThreadSlice,'kernel-slices');this.asyncSliceGroup=new AsyncSliceGroup(this,'async-slices');}
5037Thread.prototype={__proto__:tr.model.EventContainer.prototype,get model(){return this.parent.model;},get stableId(){return this.parent.stableId+'.'+this.tid;},compareTo(that){return Thread.compare(this,that);},*childEventContainers(){if(this.sliceGroup.length){yield this.sliceGroup;}
5038if(this.kernelSliceGroup.length){yield this.kernelSliceGroup;}
5039if(this.asyncSliceGroup.length){yield this.asyncSliceGroup;}},*childEvents(){if(this.timeSlices){yield*this.timeSlices;}},iterateAllPersistableObjects(cb){cb(this);if(this.sliceGroup.length){cb(this.sliceGroup);}
5040this.asyncSliceGroup.viewSubGroups.forEach(cb);},shiftTimestampsForward(amount){this.sliceGroup.shiftTimestampsForward(amount);if(this.timeSlices){for(let i=0;i<this.timeSlices.length;i++){const slice=this.timeSlices[i];slice.start+=amount;}}
5041this.kernelSliceGroup.shiftTimestampsForward(amount);this.asyncSliceGroup.shiftTimestampsForward(amount);},get isEmpty(){if(this.sliceGroup.length)return false;if(this.sliceGroup.openSliceCount)return false;if(this.timeSlices&&this.timeSlices.length)return false;if(this.kernelSliceGroup.length)return false;if(this.asyncSliceGroup.length)return false;if(this.samples_.length)return false;return true;},updateBounds(){this.bounds.reset();this.sliceGroup.updateBounds();this.bounds.addRange(this.sliceGroup.bounds);this.kernelSliceGroup.updateBounds();this.bounds.addRange(this.kernelSliceGroup.bounds);this.asyncSliceGroup.updateBounds();this.bounds.addRange(this.asyncSliceGroup.bounds);if(this.timeSlices&&this.timeSlices.length){this.bounds.addValue(this.timeSlices[0].start);this.bounds.addValue(this.timeSlices[this.timeSlices.length-1].end);}
5042if(this.samples_&&this.samples_.length){this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].end);}},addCategoriesToDict(categoriesDict){for(let i=0;i<this.sliceGroup.length;i++){categoriesDict[this.sliceGroup.slices[i].category]=true;}
5043for(let i=0;i<this.kernelSliceGroup.length;i++){categoriesDict[this.kernelSliceGroup.slices[i].category]=true;}
5044for(let i=0;i<this.asyncSliceGroup.length;i++){categoriesDict[this.asyncSliceGroup.slices[i].category]=true;}
5045if(this.samples_){for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}}},autoCloseOpenSlices(){this.sliceGroup.autoCloseOpenSlices();this.kernelSliceGroup.autoCloseOpenSlices();},mergeKernelWithUserland(){if(this.kernelSliceGroup.length>0){const newSlices=SliceGroup.merge(this.sliceGroup,this.kernelSliceGroup);this.sliceGroup.slices=newSlices.slices;this.kernelSliceGroup=new SliceGroup(this);this.updateBounds();}},createSubSlices(){this.sliceGroup.createSubSlices();this.samples_=this.parent.model.samples.filter(sample=>sample.thread===this);},get userFriendlyName(){return this.name||this.tid;},get userFriendlyDetails(){return'tid: '+this.tid+
5046(this.name?', name: '+this.name:'');},getSettingsKey(){if(!this.name)return undefined;const parentKey=this.parent.getSettingsKey();if(!parentKey)return undefined;return parentKey+'.'+this.name;},getProcess(){return this.parent;},indexOfTimeSlice(timeSlice){const i=tr.b.math.findLowIndexInSortedArray(this.timeSlices,function(slice){return slice.start;},timeSlice.start);if(this.timeSlices[i]!==timeSlice)return undefined;return i;},getCpuStatsForRange(range){const stats={};stats.total=0;if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const freqRange=tr.b.math.Range.fromExplicitRange(threadTimeSlice.start,threadTimeSlice.end);const intersection=freqRange.findIntersection(range);if(threadTimeSlice.schedulingState===tr.model.SCHEDULING_STATE.RUNNING){const cpu=threadTimeSlice.cpuOnWhichThreadWasRunning;if(!(cpu.cpuNumber in stats)){stats[cpu.cpuNumber]=0;}
5047stats[cpu.cpuNumber]+=intersection.duration;stats.total+=intersection.duration;}}
5048tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},range.min,range.max,addStatsForSlice);return stats;},getSchedulingStatsForRange(start,end){const stats={};if(!this.timeSlices)return stats;function addStatsForSlice(threadTimeSlice){const overlapStart=Math.max(threadTimeSlice.start,start);const overlapEnd=Math.min(threadTimeSlice.end,end);const schedulingState=threadTimeSlice.schedulingState;if(!(schedulingState in stats))stats[schedulingState]=0;stats[schedulingState]+=overlapEnd-overlapStart;}
5049tr.b.math.iterateOverIntersectingIntervals(this.timeSlices,function(x){return x.start;},function(x){return x.end;},start,end,addStatsForSlice);return stats;},get samples(){return this.samples_;},get type(){const re=/^[^0-9|\/]+/;const matches=re.exec(this.name);if(matches&&matches[0])return matches[0];throw new Error('Could not determine thread type for thread name '+
5050this.name);}};Thread.compare=function(x,y){let tmp=x.parent.compareTo(y.parent);if(tmp)return tmp;tmp=x.sortIndex-y.sortIndex;if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.tid-y.tid;};return{Thread,};});'use strict';tr.exportTo('tr.model',function(){const Thread=tr.model.Thread;const Counter=tr.model.Counter;function ProcessBase(model){if(!model){throw new Error('Must provide a model');}
5051tr.model.EventContainer.call(this);this.model=model;this.threads={};this.counters={};this.objects=new tr.model.ObjectCollection(this);this.sortIndex=0;}
5052ProcessBase.compare=function(x,y){return x.sortIndex-y.sortIndex;};ProcessBase.prototype={__proto__:tr.model.EventContainer.prototype,get stableId(){throw new Error('Not implemented');},*childEventContainers(){yield*Object.values(this.threads);yield*Object.values(this.counters);yield this.objects;},iterateAllPersistableObjects(cb){cb(this);for(const tid in this.threads){this.threads[tid].iterateAllPersistableObjects(cb);}},get numThreads(){let n=0;for(const p in this.threads){n++;}
5053return n;},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}},autoCloseOpenSlices(){for(const tid in this.threads){const thread=this.threads[tid];thread.autoCloseOpenSlices();}},autoDeleteObjects(maxTimestamp){this.objects.autoDeleteObjects(maxTimestamp);},preInitializeObjects(){this.objects.preInitializeAllObjects();},initializeObjects(){this.objects.initializeAllObjects();},mergeKernelWithUserland(){for(const tid in this.threads){const thread=this.threads[tid];thread.mergeKernelWithUserland();}},updateBounds(){this.bounds.reset();for(const tid in this.threads){this.threads[tid].updateBounds();this.bounds.addRange(this.threads[tid].bounds);}
5054for(const id in this.counters){this.counters[id].updateBounds();this.bounds.addRange(this.counters[id].bounds);}
5055this.objects.updateBounds();this.bounds.addRange(this.objects.bounds);},addCategoriesToDict(categoriesDict){for(const tid in this.threads){this.threads[tid].addCategoriesToDict(categoriesDict);}
5056for(const id in this.counters){categoriesDict[this.counters[id].category]=true;}
5057this.objects.addCategoriesToDict(categoriesDict);},findAllThreadsMatching(predicate,opt_this){const threads=[];for(const tid in this.threads){const thread=this.threads[tid];if(predicate.call(opt_this,thread)){threads.push(thread);}}
5058return threads;},findAllThreadsNamed(name){const threads=this.findAllThreadsMatching(function(thread){if(!thread.name)return false;return thread.name===name;});return threads;},findAtMostOneThreadNamed(name){const threads=this.findAllThreadsNamed(name);if(threads.length===0)return undefined;if(threads.length>1){throw new Error('Expected no more than one '+name);}
5059return threads[0];},pruneEmptyContainers(){const threadsToKeep={};for(const tid in this.threads){const thread=this.threads[tid];if(!thread.isEmpty){threadsToKeep[tid]=thread;}}
5060this.threads=threadsToKeep;},getThread(tid){return this.threads[tid];},getOrCreateThread(tid){if(!this.threads[tid]){this.threads[tid]=new Thread(this,tid);}
5061return this.threads[tid];},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);}
5062return this.counters[id];},getSettingsKey(){throw new Error('Not implemented');},createSubSlices(){for(const tid in this.threads){this.threads[tid].createSubSlices();}}};return{ProcessBase,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;const Counter=tr.model.Counter;const CpuSlice=tr.model.CpuSlice;function Cpu(kernel,number){if(kernel===undefined||number===undefined){throw new Error('Missing arguments');}
5063this.kernel=kernel;this.cpuNumber=number;this.slices=[];this.counters={};this.bounds_=new tr.b.math.Range();this.samples_=undefined;this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;}
5064Cpu.prototype={__proto__:tr.model.EventContainer.prototype,get samples(){return this.samples_;},get userFriendlyName(){return'CPU '+this.cpuNumber;},*findTopmostSlicesInThisContainer(eventPredicate,opt_this){for(const s of this.slices){yield*s.findTopmostSlicesRelativeToThisSlice(eventPredicate,opt_this);}},*childEvents(){yield*this.slices;if(this.samples_){yield*this.samples_;}},*childEventContainers(){yield*Object.values(this.counters);},getOrCreateCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){this.counters[id]=new Counter(this,id,cat,name);}
5065return this.counters[id];},getCounter(cat,name){const id=cat+'.'+name;if(!this.counters[id]){return undefined;}
5066return this.counters[id];},shiftTimestampsForward(amount){for(let sI=0;sI<this.slices.length;sI++){this.slices[sI].start=(this.slices[sI].start+amount);}
5067for(const id in this.counters){this.counters[id].shiftTimestampsForward(amount);}},updateBounds(){this.bounds_.reset();if(this.slices.length){this.bounds_.addValue(this.slices[0].start);this.bounds_.addValue(this.slices[this.slices.length-1].end);}
5068for(const id in this.counters){this.counters[id].updateBounds();this.bounds_.addRange(this.counters[id].bounds);}
5069if(this.samples_&&this.samples_.length){this.bounds_.addValue(this.samples_[0].start);this.bounds_.addValue(this.samples_[this.samples_.length-1].end);}},createSubSlices(){this.samples_=this.kernel.model.samples.filter(function(sample){return sample.cpu===this;},this);},addCategoriesToDict(categoriesDict){for(let i=0;i<this.slices.length;i++){categoriesDict[this.slices[i].category]=true;}
5070for(const id in this.counters){categoriesDict[this.counters[id].category]=true;}
5071for(let i=0;i<this.samples_.length;i++){categoriesDict[this.samples_[i].category]=true;}},indexOf(cpuSlice){const i=tr.b.math.findLowIndexInSortedArray(this.slices,function(slice){return slice.start;},cpuSlice.start);if(this.slices[i]!==cpuSlice)return undefined;return i;},closeActiveThread(endTimestamp,args){if(this.lastActiveThread_===undefined||this.lastActiveThread_===0){return;}
5072if(endTimestamp<this.lastActiveTimestamp_){throw new Error('The end timestamp of a thread running on CPU '+
5073this.cpuNumber+' is before its start timestamp.');}
5074for(const key in args){this.lastActiveArgs_[key]=args[key];}
5075const duration=endTimestamp-this.lastActiveTimestamp_;const slice=new tr.model.CpuSlice('',this.lastActiveName_,ColorScheme.getColorIdForGeneralPurposeString(this.lastActiveName_),this.lastActiveTimestamp_,this.lastActiveArgs_,duration);slice.cpu=this;this.slices.push(slice);this.lastActiveTimestamp_=undefined;this.lastActiveThread_=undefined;this.lastActiveName_=undefined;this.lastActiveArgs_=undefined;},switchActiveThread(timestamp,oldThreadArgs,newThreadId,newThreadName,newThreadArgs){this.closeActiveThread(timestamp,oldThreadArgs);this.lastActiveTimestamp_=timestamp;this.lastActiveThread_=newThreadId;this.lastActiveName_=newThreadName;this.lastActiveArgs_=newThreadArgs;},getFreqStatsForRange(range){const stats={};function addStatsForFreq(freqSample,index){const freqEnd=(index<freqSample.series_.length-1)?freqSample.series_.samples_[index+1].timestamp:range.max;const freqRange=tr.b.math.Range.fromExplicitRange(freqSample.timestamp,freqEnd);const intersection=freqRange.findIntersection(range);if(!(freqSample.value in stats)){stats[freqSample.value]=0;}
5076stats[freqSample.value]+=intersection.duration;}
5077const freqCounter=this.getCounter('','Clock Frequency');if(freqCounter!==undefined){const freqSeries=freqCounter.getSeries(0);if(!freqSeries)return;tr.b.math.iterateOverIntersectingIntervals(freqSeries.samples_,function(x){return x.timestamp;},function(x,index){if(index<freqSeries.length-1){return freqSeries.samples_[index+1].timestamp;}
5078return range.max;},range.min,range.max,addStatsForFreq);}
5079return stats;}};Cpu.compare=function(x,y){return x.cpuNumber-y.cpuNumber;};return{Cpu,};});'use strict';tr.exportTo('tr.model',function(){const Event=tr.model.Event;const EventRegistry=tr.model.EventRegistry;function PowerSample(series,start,powerInW){Event.call(this);this.series_=series;this.start_=parseFloat(start);this.powerInW_=parseFloat(powerInW);}
5080PowerSample.prototype={__proto__:Event.prototype,get series(){return this.series_;},get start(){return this.start_;},set start(value){this.start_=value;},get powerInW(){return this.powerInW_;},set powerInW(value){this.powerInW_=value;},addBoundsToRange(range){range.addValue(this.start);}};EventRegistry.register(PowerSample,{name:'powerSample',pluralName:'powerSamples'});return{PowerSample,};});'use strict';tr.exportTo('tr.model',function(){const PowerSample=tr.model.PowerSample;function PowerSeries(device){tr.model.EventContainer.call(this);this.device_=device;this.samples_=[];}
5081PowerSeries.prototype={__proto__:tr.model.EventContainer.prototype,get device(){return this.device_;},get samples(){return this.samples_;},get stableId(){return this.device_.stableId+'.PowerSeries';},addPowerSample(ts,val){const sample=new PowerSample(this,ts,val);this.samples_.push(sample);return sample;},getEnergyConsumedInJ(start,end){const measurementRange=tr.b.math.Range.fromExplicitRange(start,end);let energyConsumedInJ=0;let startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start)-1;const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);if(startIndex<0){startIndex=0;}
5082for(let i=startIndex;i<endIndex;i++){const sample=this.samples[i];const nextSample=this.samples[i+1];const sampleRange=new tr.b.math.Range();sampleRange.addValue(sample.start);sampleRange.addValue(nextSample?nextSample.start:sample.start);const intersectionRangeInMs=measurementRange.findIntersection(sampleRange);const durationInS=tr.b.convertUnit(intersectionRangeInMs.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);energyConsumedInJ+=durationInS*sample.powerInW;}
5083return energyConsumedInJ;},getSamplesWithinRange(start,end){const startIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,start);const endIndex=tr.b.math.findLowIndexInSortedArray(this.samples,x=>x.start,end);return this.samples.slice(startIndex,endIndex);},shiftTimestampsForward(amount){for(let i=0;i<this.samples_.length;++i){this.samples_[i].start+=amount;}},updateBounds(){this.bounds.reset();if(this.samples_.length===0)return;this.bounds.addValue(this.samples_[0].start);this.bounds.addValue(this.samples_[this.samples_.length-1].start);},*childEvents(){yield*this.samples_;},};return{PowerSeries,};});'use strict';tr.exportTo('tr.model',function(){function Device(model){if(!model){throw new Error('Must provide a model.');}
5084tr.model.EventContainer.call(this);this.powerSeries_=undefined;this.cpuUsageSeries_=undefined;this.vSyncTimestamps_=[];}
5085Device.compare=function(x,y){return x.guid-y.guid;};Device.prototype={__proto__:tr.model.EventContainer.prototype,compareTo(that){return Device.compare(this,that);},get userFriendlyName(){return'Device';},get userFriendlyDetails(){return'Device';},get stableId(){return'Device';},getSettingsKey(){return'device';},get powerSeries(){return this.powerSeries_;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;},get cpuUsageSeries(){return this.cpuUsageSeries_;},set cpuUsageSeries(cpuUsageSeries){this.cpuUsageSeries_=cpuUsageSeries;},get vSyncTimestamps(){return this.vSyncTimestamps_;},set vSyncTimestamps(value){this.vSyncTimestamps_=value;},updateBounds(){this.bounds.reset();for(const child of this.childEventContainers()){child.updateBounds();this.bounds.addRange(child.bounds);}},shiftTimestampsForward(amount){for(const child of this.childEventContainers()){child.shiftTimestampsForward(amount);}
5086for(let i=0;i<this.vSyncTimestamps_.length;i++){this.vSyncTimestamps_[i]+=amount;}},addCategoriesToDict(categoriesDict){},*childEventContainers(){if(this.powerSeries_){yield this.powerSeries_;}
5087if(this.cpuUsageSeries_){yield this.cpuUsageSeries_;}}};return{Device,};});'use strict';tr.exportTo('tr.model',function(){function FlowEvent(category,id,title,colorId,start,args,opt_duration){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.start=start;this.args=args;this.id=id;this.startSlice=undefined;this.endSlice=undefined;this.startStackFrame=undefined;this.endStackFrame=undefined;if(opt_duration!==undefined){this.duration=opt_duration;}}
5088FlowEvent.prototype={__proto__:tr.model.TimedEvent.prototype,get userFriendlyName(){return'Flow event named '+this.title+' at '+
5089tr.b.Unit.byName.timeStampInMs.format(this.timestamp);}};tr.model.EventRegistry.register(FlowEvent,{name:'flowEvent',pluralName:'flowEvents'});return{FlowEvent,};});'use strict';tr.exportTo('tr.model',function(){function ContainerMemoryDump(start){tr.model.TimedEvent.call(this,start);this.levelOfDetail=undefined;this.memoryAllocatorDumps_=undefined;this.memoryAllocatorDumpsByFullName_=undefined;}
5090ContainerMemoryDump.LevelOfDetail={BACKGROUND:0,LIGHT:1,DETAILED:2};ContainerMemoryDump.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();},getMemoryAllocatorDumpByFullName(fullName){if(this.memoryAllocatorDumps_===undefined)return undefined;if(this.memoryAllocatorDumpsByFullName_===undefined){const index={};function addDumpsToIndex(dumps){dumps.forEach(function(dump){index[dump.fullName]=dump;addDumpsToIndex(dump.children);});}
5091addDumpsToIndex(this.memoryAllocatorDumps_);this.memoryAllocatorDumpsByFullName_=index;}
5092return this.memoryAllocatorDumpsByFullName_[fullName];},forceRebuildingMemoryAllocatorDumpByFullNameIndex(){this.memoryAllocatorDumpsByFullName_=undefined;},iterateRootAllocatorDumps(fn,opt_this){if(this.memoryAllocatorDumps===undefined)return;this.memoryAllocatorDumps.forEach(fn,opt_this||this);}};return{ContainerMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){function MemoryAllocatorDump(containerMemoryDump,fullName,opt_guid){this.fullName=fullName;this.parent=undefined;this.children=[];this.numerics={};this.diagnostics={};this.containerMemoryDump=containerMemoryDump;this.owns=undefined;this.ownedBy=[];this.ownedBySiblingSizes=new Map();this.retains=[];this.retainedBy=[];this.weak=false;this.infos=[];this.guid=opt_guid;}
5093MemoryAllocatorDump.SIZE_NUMERIC_NAME='size';MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME='effective_size';MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME='resident_size';MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME=MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;MemoryAllocatorDump.prototype={get name(){return this.fullName.substring(this.fullName.lastIndexOf('/')+1);},get quantifiedName(){return'\''+this.fullName+'\' in '+
5094this.containerMemoryDump.containerName;},getDescendantDumpByFullName(fullName){return this.containerMemoryDump.getMemoryAllocatorDumpByFullName(this.fullName+'/'+fullName);},isDescendantOf(otherDump){if(this===otherDump)return true;if(this.parent===undefined)return false;return this.parent.isDescendantOf(otherDump);},addNumeric(name,numeric){if(!(numeric instanceof tr.b.Scalar)){throw new Error('Numeric value must be an instance of Scalar.');}
5095if(name in this.numerics){throw new Error('Duplicate numeric name: '+name+'.');}
5096this.numerics[name]=numeric;},addDiagnostic(name,text){if(typeof text!=='string'){throw new Error('Diagnostic text must be a string.');}
5097if(name in this.diagnostics){throw new Error('Duplicate diagnostic name: '+name+'.');}
5098this.diagnostics[name]=text;},aggregateNumericsRecursively(opt_model){const numericNames=new Set();this.children.forEach(function(child){child.aggregateNumericsRecursively(opt_model);for(const[item,value]of Object.entries(child.numerics)){numericNames.add(item,value);}},this);numericNames.forEach(function(numericName){if(numericName===MemoryAllocatorDump.SIZE_NUMERIC_NAME||numericName===MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME||this.numerics[numericName]!==undefined){return;}
5099this.numerics[numericName]=MemoryAllocatorDump.aggregateNumerics(this.children.map(function(child){return child.numerics[numericName];}),opt_model);},this);}};MemoryAllocatorDump.aggregateNumerics=function(numerics,opt_model){let shouldLogWarning=!!opt_model;let aggregatedUnit=undefined;let aggregatedValue=0;numerics.forEach(function(numeric){if(numeric===undefined)return;const unit=numeric.unit;if(aggregatedUnit===undefined){aggregatedUnit=unit;}else if(aggregatedUnit!==unit){if(shouldLogWarning){opt_model.importWarning({type:'numeric_parse_error',message:'Multiple units provided for numeric: \''+
5100aggregatedUnit.unitName+'\' and \''+unit.unitName+'\'.'});shouldLogWarning=false;}
5101aggregatedUnit=tr.b.Unit.byName.unitlessNumber_smallerIsBetter;}
5102aggregatedValue+=numeric.value;},this);if(aggregatedUnit===undefined)return undefined;return new tr.b.Scalar(aggregatedUnit,aggregatedValue);};function MemoryAllocatorDumpLink(source,target,opt_importance){this.source=source;this.target=target;this.importance=opt_importance;this.size=undefined;}
5103const MemoryAllocatorDumpInfoType={PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:0,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:1};return{MemoryAllocatorDump,MemoryAllocatorDumpLink,MemoryAllocatorDumpInfoType,};});'use strict';tr.exportTo('tr.model',function(){function GlobalMemoryDump(model,start){tr.model.ContainerMemoryDump.call(this,start);this.model=model;this.processMemoryDumps={};}
5104const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const EFFECTIVE_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;function getSize(dump){const numeric=dump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;return numeric.value;}
5105function hasSize(dump){return dump.numerics[SIZE_NUMERIC_NAME]!==undefined;}
5106function optional(value,defaultValue){if(value===undefined)return defaultValue;return value;}
5107GlobalMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Global memory dump at '+
5108tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return'global space';},finalizeGraph(){this.removeWeakDumps();this.setUpTracingOverheadOwnership();this.aggregateNumerics();this.calculateSizes();this.calculateEffectiveSizes();this.discountTracingOverheadFromVmRegions();this.forceRebuildingMemoryAllocatorDumpByFullNameIndices();},removeWeakDumps(){this.traverseAllocatorDumpsInDepthFirstPreOrder(function(dump){if(dump.weak)return;if((dump.owns!==undefined&&dump.owns.target.weak)||(dump.parent!==undefined&&dump.parent.weak)){dump.weak=true;}});function removeWeakDumpsFromListRecursively(dumps){tr.b.inPlaceFilter(dumps,function(dump){if(dump.weak){return false;}
5109removeWeakDumpsFromListRecursively(dump.children);tr.b.inPlaceFilter(dump.ownedBy,function(ownershipLink){return!ownershipLink.source.weak;});return true;});}
5110this.iterateContainerDumps(function(containerDump){const memoryAllocatorDumps=containerDump.memoryAllocatorDumps;if(memoryAllocatorDumps!==undefined){removeWeakDumpsFromListRecursively(memoryAllocatorDumps);}});},calculateSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateMemoryAllocatorDumpSize_.bind(this));},calculateMemoryAllocatorDumpSize_(dump){let shouldDefineSize=false;function getDependencySize(dependencyDump){const numeric=dependencyDump.numerics[SIZE_NUMERIC_NAME];if(numeric===undefined)return 0;shouldDefineSize=true;return numeric.value;}
5111const sizeNumeric=dump.numerics[SIZE_NUMERIC_NAME];let size=0;let checkDependencySizeIsConsistent=function(){};if(sizeNumeric!==undefined){size=sizeNumeric.value;shouldDefineSize=true;if(sizeNumeric.unit!==tr.b.Unit.byName.sizeInBytes_smallerIsBetter){this.model.importWarning({type:'memory_dump_parse_error',message:'Invalid unit of \'size\' numeric of memory allocator '+'dump '+dump.quantifiedName+': '+
5112sizeNumeric.unit.unitName+'.'});}
5113checkDependencySizeIsConsistent=function(dependencySize,dependencyInfoType,dependencyName){if(size>=dependencySize)return;this.model.importWarning({type:'memory_dump_parse_error',message:'Size provided by memory allocator dump \''+
5114dump.fullName+'\''+
5115tr.b.Unit.byName.sizeInBytes.format(size)+') is less than '+dependencyName+' ('+
5116tr.b.Unit.byName.sizeInBytes.format(dependencySize)+').'});dump.infos.push({type:dependencyInfoType,providedSize:size,dependencySize});}.bind(this);}
5117let aggregatedChildrenSize=0;const allOverlaps={};dump.children.forEach(function(childDump){function aggregateDescendantDump(descendantDump){const ownedDumpLink=descendantDump.owns;if(ownedDumpLink!==undefined&&ownedDumpLink.target.isDescendantOf(dump)){let ownedChildDump=ownedDumpLink.target;while(ownedChildDump.parent!==dump){ownedChildDump=ownedChildDump.parent;}
5118if(childDump!==ownedChildDump){const ownedBySiblingSize=getDependencySize(descendantDump);if(ownedBySiblingSize>0){const previousTotalOwnedBySiblingSize=ownedChildDump.ownedBySiblingSizes.get(childDump)||0;const updatedTotalOwnedBySiblingSize=previousTotalOwnedBySiblingSize+ownedBySiblingSize;ownedChildDump.ownedBySiblingSizes.set(childDump,updatedTotalOwnedBySiblingSize);}}
5119return;}
5120if(descendantDump.children.length===0){aggregatedChildrenSize+=getDependencySize(descendantDump);return;}
5121descendantDump.children.forEach(aggregateDescendantDump);}
5122aggregateDescendantDump(childDump);});checkDependencySizeIsConsistent(aggregatedChildrenSize,PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN,'the aggregated size of its children');let largestOwnerSize=0;dump.ownedBy.forEach(function(ownershipLink){const owner=ownershipLink.source;const ownerSize=getDependencySize(owner);largestOwnerSize=Math.max(largestOwnerSize,ownerSize);});checkDependencySizeIsConsistent(largestOwnerSize,PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER,'the size of its largest owner');if(!shouldDefineSize){delete dump.numerics[SIZE_NUMERIC_NAME];return;}
5123size=Math.max(size,aggregatedChildrenSize,largestOwnerSize);dump.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size);if(aggregatedChildrenSize<size&&dump.children!==undefined&&dump.children.length>0){const virtualChild=new tr.model.MemoryAllocatorDump(dump.containerMemoryDump,dump.fullName+'/<unspecified>');virtualChild.parent=dump;dump.children.unshift(virtualChild);virtualChild.numerics[SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,size-aggregatedChildrenSize);}},calculateEffectiveSizes(){this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpSubSizes_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPreOrder(this.calculateDumpCumulativeOwnershipCoefficient_.bind(this));this.traverseAllocatorDumpsInDepthFirstPostOrder(this.calculateDumpEffectiveSize_.bind(this));},calculateDumpSubSizes_(dump){if(!hasSize(dump))return;if(dump.children===undefined||dump.children.length===0){const size=getSize(dump);dump.notOwningSubSize_=size;dump.notOwnedSubSize_=size;return;}
5124let notOwningSubSize=0;dump.children.forEach(function(childDump){if(childDump.owns!==undefined)return;notOwningSubSize+=optional(childDump.notOwningSubSize_,0);});dump.notOwningSubSize_=notOwningSubSize;let notOwnedSubSize=0;dump.children.forEach(function(childDump){if(childDump.ownedBy.length===0){notOwnedSubSize+=optional(childDump.notOwnedSubSize_,0);return;}
5125let largestChildOwnerSize=0;childDump.ownedBy.forEach(function(ownershipLink){largestChildOwnerSize=Math.max(largestChildOwnerSize,getSize(ownershipLink.source));});notOwnedSubSize+=getSize(childDump)-largestChildOwnerSize;});dump.notOwnedSubSize_=notOwnedSubSize;},calculateDumpOwnershipCoefficient_(dump){if(!hasSize(dump))return;if(dump.ownedBy.length===0)return;const owners=dump.ownedBy.map(function(ownershipLink){return{dump:ownershipLink.source,importance:optional(ownershipLink.importance,0),notOwningSubSize:optional(ownershipLink.source.notOwningSubSize_,0)};});owners.sort(function(a,b){if(a.importance===b.importance){return a.notOwningSubSize-b.notOwningSubSize;}
5126return b.importance-a.importance;});let currentImportanceStartPos=0;let alreadyAttributedSubSize=0;while(currentImportanceStartPos<owners.length){const currentImportance=owners[currentImportanceStartPos].importance;let nextImportanceStartPos=currentImportanceStartPos+1;while(nextImportanceStartPos<owners.length&&owners[nextImportanceStartPos].importance===currentImportance){nextImportanceStartPos++;}
5127let attributedNotOwningSubSize=0;for(let pos=currentImportanceStartPos;pos<nextImportanceStartPos;pos++){const owner=owners[pos];const notOwningSubSize=owner.notOwningSubSize;if(notOwningSubSize>alreadyAttributedSubSize){attributedNotOwningSubSize+=(notOwningSubSize-alreadyAttributedSubSize)/(nextImportanceStartPos-pos);alreadyAttributedSubSize=notOwningSubSize;}
5128let owningCoefficient=0;if(notOwningSubSize!==0){owningCoefficient=attributedNotOwningSubSize/notOwningSubSize;}
5129owner.dump.owningCoefficient_=owningCoefficient;}
5130currentImportanceStartPos=nextImportanceStartPos;}
5131const notOwnedSubSize=optional(dump.notOwnedSubSize_,0);const remainderSubSize=notOwnedSubSize-alreadyAttributedSubSize;let ownedCoefficient=0;if(notOwnedSubSize!==0){ownedCoefficient=remainderSubSize/notOwnedSubSize;}
5132dump.ownedCoefficient_=ownedCoefficient;},calculateDumpCumulativeOwnershipCoefficient_(dump){if(!hasSize(dump))return;let cumulativeOwnedCoefficient=optional(dump.ownedCoefficient_,1);const parent=dump.parent;if(dump.parent!==undefined){cumulativeOwnedCoefficient*=dump.parent.cumulativeOwnedCoefficient_;}
5133dump.cumulativeOwnedCoefficient_=cumulativeOwnedCoefficient;let cumulativeOwningCoefficient;if(dump.owns!==undefined){cumulativeOwningCoefficient=dump.owningCoefficient_*dump.owns.target.cumulativeOwningCoefficient_;}else if(dump.parent!==undefined){cumulativeOwningCoefficient=dump.parent.cumulativeOwningCoefficient_;}else{cumulativeOwningCoefficient=1;}
5134dump.cumulativeOwningCoefficient_=cumulativeOwningCoefficient;},calculateDumpEffectiveSize_(dump){if(!hasSize(dump)){delete dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME];return;}
5135let effectiveSize;if(dump.children===undefined||dump.children.length===0){effectiveSize=getSize(dump)*dump.cumulativeOwningCoefficient_*dump.cumulativeOwnedCoefficient_;}else{effectiveSize=0;dump.children.forEach(function(childDump){if(!hasSize(childDump))return;effectiveSize+=childDump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME].value;});}
5136dump.numerics[EFFECTIVE_SIZE_NUMERIC_NAME]=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes_smallerIsBetter,effectiveSize);},aggregateNumerics(){this.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);});this.iterateRootAllocatorDumps(this.propagateNumericsAndDiagnosticsRecursively);for(const processMemoryDump of Object.values(this.processMemoryDumps)){processMemoryDump.iterateRootAllocatorDumps(function(dump){dump.aggregateNumericsRecursively(this.model);},this);}},propagateNumericsAndDiagnosticsRecursively(globalAllocatorDump){['numerics','diagnostics'].forEach(function(field){for(const[name,value]of
5137Object.entries(globalAllocatorDump[field])){globalAllocatorDump.ownedBy.forEach(function(ownershipLink){const processAllocatorDump=ownershipLink.source;if(processAllocatorDump[field][name]!==undefined){return;}
5138processAllocatorDump[field][name]=value;});}});globalAllocatorDump.children.forEach(this.propagateNumericsAndDiagnosticsRecursively,this);},setUpTracingOverheadOwnership(){for(const dump of Object.values(this.processMemoryDumps)){dump.setUpTracingOverheadOwnership(this.model);}},discountTracingOverheadFromVmRegions(){for(const dump of Object.values(this.processMemoryDumps)){dump.discountTracingOverheadFromVmRegions(this.model);}},forceRebuildingMemoryAllocatorDumpByFullNameIndices(){this.iterateContainerDumps(function(containerDump){containerDump.forceRebuildingMemoryAllocatorDumpByFullNameIndex();});},iterateContainerDumps(fn){fn.call(this,this);for(const processDump of Object.values(this.processMemoryDumps)){fn.call(this,processDump);}},iterateAllRootAllocatorDumps(fn){this.iterateContainerDumps(function(containerDump){containerDump.iterateRootAllocatorDumps(fn,this);});},traverseAllocatorDumpsInDepthFirstPostOrder(fn){const visitedDumps=new WeakSet();const openDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(openDumps.has(dump)){throw new Error(dump.userFriendlyName+' contains a cycle');}
5139openDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);fn.call(this,dump);visitedDumps.add(dump);openDumps.delete(dump);}
5140this.iterateAllRootAllocatorDumps(visit);},traverseAllocatorDumpsInDepthFirstPreOrder(fn){const visitedDumps=new WeakSet();function visit(dump){if(visitedDumps.has(dump))return;if(dump.owns!==undefined&&!visitedDumps.has(dump.owns.target)){return;}
5141if(dump.parent!==undefined&&!visitedDumps.has(dump.parent)){return;}
5142fn.call(this,dump);visitedDumps.add(dump);dump.ownedBy.forEach(function(ownershipLink){visit.call(this,ownershipLink.source);},this);dump.children.forEach(visit,this);}
5143this.iterateAllRootAllocatorDumps(visit);}};tr.model.EventRegistry.register(GlobalMemoryDump,{name:'globalMemoryDump',pluralName:'globalMemoryDumps'});return{GlobalMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const InstantEventType={GLOBAL:1,PROCESS:2};function InstantEvent(category,title,colorId,start,args){tr.model.TimedEvent.call(this,start);this.category=category||'';this.title=title;this.colorId=colorId;this.args=args;this.type=undefined;}
5144InstantEvent.prototype={__proto__:tr.model.TimedEvent.prototype};function GlobalInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.GLOBAL;}
5145GlobalInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Global instant event '+this.title+' @ '+
5146tr.b.Unit.byName.timeStampInMs.format(start);}};function ProcessInstantEvent(category,title,colorId,start,args){InstantEvent.apply(this,arguments);this.type=InstantEventType.PROCESS;}
5147ProcessInstantEvent.prototype={__proto__:InstantEvent.prototype,get userFriendlyName(){return'Process-level instant event '+this.title+' @ '+
5148tr.b.Unit.byName.timeStampInMs.format(start);}};tr.model.EventRegistry.register(InstantEvent,{name:'instantEvent',pluralName:'instantEvents'});return{GlobalInstantEvent,ProcessInstantEvent,InstantEventType,InstantEvent,};});'use strict';tr.exportTo('tr.model',function(){const Cpu=tr.model.Cpu;const ProcessBase=tr.model.ProcessBase;function Kernel(model){ProcessBase.call(this,model);this.cpus={};this.softwareMeasuredCpuCount_=undefined;}
5149Kernel.compare=function(x,y){return 0;};Kernel.prototype={__proto__:ProcessBase.prototype,compareTo(that){return Kernel.compare(this,that);},get userFriendlyName(){return'Kernel';},get userFriendlyDetails(){return'Kernel';},get stableId(){return'Kernel';},getOrCreateCpu(cpuNumber){if(!this.cpus[cpuNumber]){this.cpus[cpuNumber]=new Cpu(this,cpuNumber);}
5150return this.cpus[cpuNumber];},get softwareMeasuredCpuCount(){return this.softwareMeasuredCpuCount_;},set softwareMeasuredCpuCount(softwareMeasuredCpuCount){if(this.softwareMeasuredCpuCount_!==undefined&&this.softwareMeasuredCpuCount_!==softwareMeasuredCpuCount){throw new Error('Cannot change the softwareMeasuredCpuCount once it is set');}
5151this.softwareMeasuredCpuCount_=softwareMeasuredCpuCount;},get bestGuessAtCpuCount(){const realCpuCount=Object.keys(this.cpus).length;if(realCpuCount!==0){return realCpuCount;}
5152return this.softwareMeasuredCpuCount;},updateBounds(){ProcessBase.prototype.updateBounds.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.updateBounds();this.bounds.addRange(cpu.bounds);}},createSubSlices(){ProcessBase.prototype.createSubSlices.call(this);for(const cpuNumber in this.cpus){const cpu=this.cpus[cpuNumber];cpu.createSubSlices();}},addCategoriesToDict(categoriesDict){ProcessBase.prototype.addCategoriesToDict.call(this,categoriesDict);for(const cpuNumber in this.cpus){this.cpus[cpuNumber].addCategoriesToDict(categoriesDict);}},getSettingsKey(){return'kernel';},*childEventContainers(){yield*ProcessBase.prototype.childEventContainers.call(this);yield*Object.values(this.cpus);},};return{Kernel,};});'use strict';tr.exportTo('tr.model',function(){function ModelIndices(model){this.flowEventsById_={};model.flowEvents.forEach(function(fe){if(fe.id!==undefined){if(!this.flowEventsById_.hasOwnProperty(fe.id)){this.flowEventsById_[fe.id]=[];}
5153this.flowEventsById_[fe.id].push(fe);}},this);}
5154ModelIndices.prototype={addEventWithId(id,event){if(!this.flowEventsById_.hasOwnProperty(id)){this.flowEventsById_[id]=[];}
5155this.flowEventsById_[id].push(event);},getFlowEventsWithId(id){if(!this.flowEventsById_.hasOwnProperty(id)){return[];}
5156return this.flowEventsById_[id];}};return{ModelIndices,};});'use strict';tr.exportTo('tr.model',function(){function ModelStats(){this.traceEventCountsByKey_=new Map();this.allTraceEventStats_=[];this.traceEventStatsInTimeIntervals_=new Map();this.allTraceEventStatsInTimeIntervals_=[];this.hasEventSizesinBytes_=false;this.traceImportDurationMs_=undefined;}
5157ModelStats.prototype={TIME_INTERVAL_SIZE_IN_MS:100,willProcessBasicTraceEvent(phase,category,title,ts,opt_eventSizeinBytes){const key=phase+'/'+category+'/'+title;let eventStats=this.traceEventCountsByKey_.get(key);if(eventStats===undefined){eventStats={phase,category,title,numEvents:0,totalEventSizeinBytes:0};this.traceEventCountsByKey_.set(key,eventStats);this.allTraceEventStats_.push(eventStats);}
5158eventStats.numEvents++;const timeIntervalKey=Math.floor(tr.b.Unit.timestampFromUs(ts)/this.TIME_INTERVAL_SIZE_IN_MS);let eventStatsByTimeInverval=this.traceEventStatsInTimeIntervals_.get(timeIntervalKey);if(eventStatsByTimeInverval===undefined){eventStatsByTimeInverval={timeInterval:timeIntervalKey,numEvents:0,totalEventSizeinBytes:0};this.traceEventStatsInTimeIntervals_.set(timeIntervalKey,eventStatsByTimeInverval);this.allTraceEventStatsInTimeIntervals_.push(eventStatsByTimeInverval);}
5159eventStatsByTimeInverval.numEvents++;if(opt_eventSizeinBytes!==undefined){this.hasEventSizesinBytes_=true;eventStats.totalEventSizeinBytes+=opt_eventSizeinBytes;eventStatsByTimeInverval.totalEventSizeinBytes+=opt_eventSizeinBytes;}},get allTraceEventStats(){return this.allTraceEventStats_;},get allTraceEventStatsInTimeIntervals(){return this.allTraceEventStatsInTimeIntervals_;},get hasEventSizesinBytes(){return this.hasEventSizesinBytes_;},get traceImportDurationMs(){return this.traceImportDurationMs_;},set traceImportDurationMs(traceImportDurationMs){this.traceImportDurationMs_=traceImportDurationMs;}};return{ModelStats,};});'use strict';tr.exportTo('tr.model',function(){function VMRegion(startAddress,sizeInBytes,protectionFlags,mappedFile,byteStats){this.startAddress=startAddress;this.sizeInBytes=sizeInBytes;this.protectionFlags=protectionFlags;this.mappedFile=mappedFile||'';this.byteStats=byteStats||{};}
5160VMRegion.PROTECTION_FLAG_READ=4;VMRegion.PROTECTION_FLAG_WRITE=2;VMRegion.PROTECTION_FLAG_EXECUTE=1;VMRegion.PROTECTION_FLAG_MAYSHARE=128;VMRegion.prototype={get uniqueIdWithinProcess(){return this.mappedFile+'#'+this.startAddress;},get protectionFlagsToString(){if(this.protectionFlags===undefined)return undefined;return((this.protectionFlags&VMRegion.PROTECTION_FLAG_READ?'r':'-')+
5161(this.protectionFlags&VMRegion.PROTECTION_FLAG_WRITE?'w':'-')+
5162(this.protectionFlags&VMRegion.PROTECTION_FLAG_EXECUTE?'x':'-')+
5163(this.protectionFlags&VMRegion.PROTECTION_FLAG_MAYSHARE?'s':'p'));}};VMRegion.fromDict=function(dict){return new VMRegion(dict.startAddress,dict.sizeInBytes,dict.protectionFlags,dict.mappedFile,dict.byteStats);};function VMRegionClassificationNode(opt_rule){this.rule_=opt_rule||VMRegionClassificationNode.CLASSIFICATION_RULES;this.hasRegions=false;this.sizeInBytes=undefined;this.byteStats={};this.children_=undefined;this.regions_=[];}
5164VMRegionClassificationNode.CLASSIFICATION_RULES={name:'Total',children:[{name:'Android',file:/^\/dev\/ashmem(?!\/libc malloc)/,children:[{name:'Java runtime',file:/^\/dev\/ashmem\/dalvik-/,children:[{name:'Spaces',file:/\/dalvik-(alloc|main|large object|non moving|zygote) space/,children:[{name:'Normal',file:/\/dalvik-(alloc|main)/},{name:'Large',file:/\/dalvik-large object/},{name:'Zygote',file:/\/dalvik-zygote/},{name:'Non-moving',file:/\/dalvik-non moving/}]},{name:'Linear Alloc',file:/\/dalvik-LinearAlloc/},{name:'Indirect Reference Table',file:/\/dalvik-indirect.ref/},{name:'Cache',file:/\/dalvik-jit-code-cache/},{name:'Accounting'}]},{name:'Cursor',file:/\/CursorWindow/},{name:'Ashmem'}]},{name:'Native heap',file:/^((\[heap\])|(\[anon:)|(\/dev\/ashmem\/libc malloc)|(\[discounted tracing overhead\])|$)/},{name:'Stack',file:/^\[stack/},{name:'Files',file:/\.((((jar)|(apk)|(ttf)|(odex)|(oat)|(art))$)|(dex)|(so))/,children:[{name:'so',file:/\.so/},{name:'jar',file:/\.jar$/},{name:'apk',file:/\.apk$/},{name:'ttf',file:/\.ttf$/},{name:'dex',file:/\.((dex)|(odex$))/},{name:'oat',file:/\.oat$/},{name:'art',file:/\.art$/}]},{name:'Devices',file:/(^\/dev\/)|(anon_inode:dmabuf)/,children:[{name:'GPU',file:/\/((nv)|(mali)|(kgsl))/},{name:'DMA',file:/anon_inode:dmabuf/}]}]};VMRegionClassificationNode.OTHER_RULE={name:'Other'};VMRegionClassificationNode.fromRegions=function(regions,opt_rules){const tree=new VMRegionClassificationNode(opt_rules);tree.regions_=regions;for(let i=0;i<regions.length;i++){tree.addStatsFromRegion_(regions[i]);}
5165return tree;};VMRegionClassificationNode.prototype={get title(){return this.rule_.name;},get children(){if(this.isLeafNode){return undefined;}
5166if(this.children_===undefined){this.buildTree_();}
5167return this.children_;},get regions(){if(!this.isLeafNode){return undefined;}
5168return this.regions_;},get allRegionsForTesting(){if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
5169return this.regions_;}
5170let regions=[];this.children_.forEach(function(childNode){regions=regions.concat(childNode.allRegionsForTesting);});return regions;},get isLeafNode(){const children=this.rule_.children;return children===undefined||children.length===0;},addRegion(region){this.addRegionRecursively_(region,true);},someRegion(fn,opt_this){if(this.regions_!==undefined){return this.regions_.some(fn,opt_this);}
5171return this.children_.some(function(childNode){return childNode.someRegion(fn,opt_this);});},addRegionRecursively_(region,addStatsToThisNode){if(addStatsToThisNode){this.addStatsFromRegion_(region);}
5172if(this.regions_!==undefined){if(this.children_!==undefined){throw new Error('Internal error: a VM region classification node '+'cannot have both regions and children');}
5173this.regions_.push(region);return;}
5174function regionRowMatchesChildNide(child){const fileRegExp=child.rule_.file;if(fileRegExp===undefined)return true;return fileRegExp.test(region.mappedFile);}
5175let matchedChild=tr.b.findFirstInArray(this.children_,regionRowMatchesChildNide);if(matchedChild===undefined){if(this.children_.length!==this.rule_.children.length){throw new Error('Internal error');}
5176matchedChild=new VMRegionClassificationNode(VMRegionClassificationNode.OTHER_RULE);this.children_.push(matchedChild);}
5177matchedChild.addRegionRecursively_(region,true);},buildTree_(){const cachedRegions=this.regions_;this.regions_=undefined;this.buildChildNodesRecursively_();for(let i=0;i<cachedRegions.length;i++){this.addRegionRecursively_(cachedRegions[i],false);}},buildChildNodesRecursively_(){if(this.children_!==undefined){throw new Error('Internal error: Classification node already has children');}
5178if(this.regions_!==undefined&&this.regions_.length!==0){throw new Error('Internal error: Classification node should have no regions');}
5179if(this.isLeafNode){return;}
5180this.regions_=undefined;this.children_=this.rule_.children.map(function(childRule){const child=new VMRegionClassificationNode(childRule);child.buildChildNodesRecursively_();return child;});},addStatsFromRegion_(region){this.hasRegions=true;const regionSizeInBytes=region.sizeInBytes;if(regionSizeInBytes!==undefined){this.sizeInBytes=(this.sizeInBytes||0)+regionSizeInBytes;}
5181const thisByteStats=this.byteStats;const regionByteStats=region.byteStats;for(const byteStatName in regionByteStats){const regionByteStatValue=regionByteStats[byteStatName];if(regionByteStatValue===undefined)continue;thisByteStats[byteStatName]=(thisByteStats[byteStatName]||0)+regionByteStatValue;}}};return{VMRegion,VMRegionClassificationNode,};});'use strict';tr.exportTo('tr.model',function(){const DISCOUNTED_ALLOCATOR_NAMES=['winheap','malloc'];const TRACING_OVERHEAD_PATH=['allocated_objects','tracing_overhead'];const SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME;const RESIDENT_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.RESIDENT_SIZE_NUMERIC_NAME;function getSizeNumericValue(dump,sizeNumericName){const sizeNumeric=dump.numerics[sizeNumericName];if(sizeNumeric===undefined)return 0;return sizeNumeric.value;}
5182function ProcessMemoryDump(globalMemoryDump,process,start){tr.model.ContainerMemoryDump.call(this,start);this.process=process;this.globalMemoryDump=globalMemoryDump;this.totals=undefined;this.vmRegions=undefined;this.heapDumps=undefined;this.tracingOverheadOwnershipSetUp_=false;this.tracingOverheadDiscountedFromVmRegions_=false;}
5183ProcessMemoryDump.prototype={__proto__:tr.model.ContainerMemoryDump.prototype,get userFriendlyName(){return'Process memory dump at '+
5184tr.b.Unit.byName.timeStampInMs.format(this.start);},get containerName(){return this.process.userFriendlyName;},get processMemoryDumps(){const dumps={};dumps[this.process.pid]=this;return dumps;},get hasOwnVmRegions(){return this.vmRegions!==undefined;},setUpTracingOverheadOwnership(opt_model){if(this.tracingOverheadOwnershipSetUp_)return;this.tracingOverheadOwnershipSetUp_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined||tracingDump.owns!==undefined){return;}
5185if(tracingDump.owns!==undefined)return;const hasDiscountedFromAllocatorDumps=DISCOUNTED_ALLOCATOR_NAMES.some(function(allocatorName){const allocatorDump=this.getMemoryAllocatorDumpByFullName(allocatorName);if(allocatorDump===undefined){return false;}
5186let nextPathIndex=0;let currentDump=allocatorDump;let currentFullName=allocatorName;for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+
5187TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=this.getMemoryAllocatorDumpByFullName(childFullName);if(childDump===undefined)break;currentDump=childDump;currentFullName=childFullName;}
5188for(;nextPathIndex<TRACING_OVERHEAD_PATH.length;nextPathIndex++){const childFullName=currentFullName+'/'+
5189TRACING_OVERHEAD_PATH[nextPathIndex];const childDump=new tr.model.MemoryAllocatorDump(currentDump.containerMemoryDump,childFullName);childDump.parent=currentDump;currentDump.children.push(childDump);currentFullName=childFullName;currentDump=childDump;}
5190const ownershipLink=new tr.model.MemoryAllocatorDumpLink(tracingDump,currentDump);tracingDump.owns=ownershipLink;currentDump.ownedBy.push(ownershipLink);return true;},this);if(hasDiscountedFromAllocatorDumps){this.forceRebuildingMemoryAllocatorDumpByFullNameIndex();}},discountTracingOverheadFromVmRegions(opt_model){if(this.tracingOverheadDiscountedFromVmRegions_)return;this.tracingOverheadDiscountedFromVmRegions_=true;const tracingDump=this.getMemoryAllocatorDumpByFullName('tracing');if(tracingDump===undefined)return;const discountedSize=getSizeNumericValue(tracingDump,SIZE_NUMERIC_NAME);const discountedResidentSize=getSizeNumericValue(tracingDump,RESIDENT_SIZE_NUMERIC_NAME);if(discountedSize<=0&&discountedResidentSize<=0)return;if(this.totals!==undefined){if(this.totals.residentBytes!==undefined){this.totals.residentBytes-=discountedResidentSize;}
5191if(this.totals.peakResidentBytes!==undefined){this.totals.peakResidentBytes-=discountedResidentSize;}}
5192if(this.vmRegions!==undefined){const hasSizeInBytes=this.vmRegions.sizeInBytes!==undefined;const hasPrivateDirtyResident=this.vmRegions.byteStats.privateDirtyResident!==undefined;const hasProportionalResident=this.vmRegions.byteStats.proportionalResident!==undefined;if((hasSizeInBytes&&discountedSize>0)||((hasPrivateDirtyResident||hasProportionalResident)&&discountedResidentSize>0)){const byteStats={};if(hasPrivateDirtyResident){byteStats.privateDirtyResident=-discountedResidentSize;}
5193if(hasProportionalResident){byteStats.proportionalResident=-discountedResidentSize;}
5194this.vmRegions.addRegion(tr.model.VMRegion.fromDict({mappedFile:'[discounted tracing overhead]',sizeInBytes:hasSizeInBytes?-discountedSize:undefined,byteStats}));}}}};ProcessMemoryDump.hookUpMostRecentVmRegionsLinks=function(processDumps){let mostRecentVmRegions=undefined;processDumps.forEach(function(processDump){if(processDump.vmRegions!==undefined){mostRecentVmRegions=processDump.vmRegions;}
5195processDump.mostRecentVmRegions=mostRecentVmRegions;});};tr.model.EventRegistry.register(ProcessMemoryDump,{name:'processMemoryDump',pluralName:'processMemoryDumps'});return{ProcessMemoryDump,};});'use strict';tr.exportTo('tr.model',function(){const ProcessBase=tr.model.ProcessBase;const ProcessInstantEvent=tr.model.ProcessInstantEvent;const Frame=tr.model.Frame;const ProcessMemoryDump=tr.model.ProcessMemoryDump;function Process(model,pid){if(model===undefined){throw new Error('model must be provided');}
5196if(pid===undefined){throw new Error('pid must be provided');}
5197tr.model.ProcessBase.call(this,model);this.pid=pid;this.name=undefined;this.labels=[];this.uptime_seconds=0;this.instantEvents=[];this.memoryDumps=[];this.frames=[];this.activities=[];}
5198Process.compare=function(x,y){let tmp=tr.model.ProcessBase.compare(x,y);if(tmp)return tmp;tmp=tr.b.comparePossiblyUndefinedValues(x.name,y.name,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;tmp=tr.b.compareArrays(x.labels,y.labels,function(x,y){return x.localeCompare(y);});if(tmp)return tmp;return x.pid-y.pid;};Process.prototype={__proto__:tr.model.ProcessBase.prototype,get stableId(){return this.pid;},compareTo(that){return Process.compare(this,that);},*childEvents(){yield*ProcessBase.prototype.childEvents.call(this);yield*this.instantEvents;yield*this.frames;yield*this.memoryDumps;},addLabelIfNeeded(labelName){for(let i=0;i<this.labels.length;i++){if(this.labels[i]===labelName)return;}
5199this.labels.push(labelName);},get userFriendlyName(){let res;if(this.name){res=this.name+' (pid '+this.pid+')';}else{res='Process '+this.pid;}
5200if(this.labels.length){res+=': '+this.labels.join(', ');}
5201if(this.uptime_seconds){res+=', uptime:'+this.uptime_seconds+'s';}
5202return res;},get userFriendlyDetails(){if(this.name){return this.name+' (pid '+this.pid+')';}
5203return'pid: '+this.pid;},getSettingsKey(){if(!this.name)return undefined;if(!this.labels.length)return'processes.'+this.name;return'processes.'+this.name+'.'+this.labels.join('.');},shiftTimestampsForward(amount){for(let i=0;i<this.instantEvents.length;i++){this.instantEvents[i].start+=amount;}
5204for(let i=0;i<this.frames.length;i++){this.frames[i].shiftTimestampsForward(amount);}
5205for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].shiftTimestampsForward(amount);}
5206for(let i=0;i<this.activities.length;i++){this.activities[i].shiftTimestampsForward(amount);}
5207tr.model.ProcessBase.prototype.shiftTimestampsForward.apply(this,arguments);},updateBounds(){tr.model.ProcessBase.prototype.updateBounds.apply(this);for(let i=0;i<this.frames.length;i++){this.frames[i].addBoundsToRange(this.bounds);}
5208for(let i=0;i<this.memoryDumps.length;i++){this.memoryDumps[i].addBoundsToRange(this.bounds);}
5209for(let i=0;i<this.activities.length;i++){this.activities[i].addBoundsToRange(this.bounds);}},sortMemoryDumps(){this.memoryDumps.sort(function(x,y){return x.start-y.start;});tr.model.ProcessMemoryDump.hookUpMostRecentVmRegionsLinks(this.memoryDumps);}};return{Process,};});'use strict';tr.exportTo('tr.model',function(){function Sample(start,title,leafNode,thread,opt_cpu,opt_weight,opt_args){tr.model.TimedEvent.call(this,start);this.start_=start;this.title_=title;this.leafNode_=leafNode;this.thread_=thread;this.colorId_=leafNode.colorId;this.cpu_=opt_cpu;this.weight_=opt_weight;this.args=opt_args||{};}
5210Sample.prototype={__proto__:tr.model.TimedEvent.prototype,get title(){return this.title_;},get colorId(){return this.colorId_;},get thread(){return this.thread_;},get leafNode(){return this.leafNode_;},get userFriendlyName(){return'Sample at '+
5211tr.b.Unit.byName.timeStampInMs.format(this.start);},get userFriendlyStack(){return this.leafNode_.userFriendlyStack;},getNodesAsArray(){const nodes=[];let node=this.leafNode_;while(node!==undefined){nodes.push(node);node=node.parentNode;}
5212return nodes;},get cpu(){return this.cpu_;},get weight(){return this.weight_;},};tr.model.EventRegistry.register(Sample,{name:'Sample',pluralName:'Samples'});return{Sample,};});'use strict';tr.exportTo('tr.model',function(){function StackFrame(parentFrame,id,title,colorId,opt_sourceInfo){if(id===undefined){throw new Error('id must be given');}
5213this.parentFrame_=parentFrame;this.id=id;this.title_=title;this.colorId=colorId;this.children=[];this.sourceInfo_=opt_sourceInfo;if(this.parentFrame_){this.parentFrame_.addChild(this);}}
5214StackFrame.prototype={get parentFrame(){return this.parentFrame_;},get title(){if(this.sourceInfo_){const src=this.sourceInfo_.toString();return this.title_+(src===''?'':' '+src);}
5215return this.title_;},get domain(){let result='unknown';if(this.sourceInfo_&&this.sourceInfo_.domain){result=this.sourceInfo_.domain;}
5216if(result==='unknown'&&this.parentFrame){result=this.parentFrame.domain;}
5217return result;},get sourceInfo(){return this.sourceInfo_;},set parentFrame(parentFrame){if(this.parentFrame_){Polymer.dom(this.parentFrame_).removeChild(this);}
5218this.parentFrame_=parentFrame;if(this.parentFrame_){this.parentFrame_.addChild(this);}},addChild(child){this.children.push(child);},removeChild(child){const i=this.children.indexOf(child.id);if(i===-1){throw new Error('omg');}
5219this.children.splice(i,1);},removeAllChildren(){for(let i=0;i<this.children.length;i++){this.children[i].parentFrame_=undefined;}
5220this.children.splice(0,this.children.length);},get stackTrace(){const stack=[this];let cur=this.parentFrame;while(cur){stack.push(cur);cur=cur.parentFrame;}
5221return stack;},getUserFriendlyStackTrace(){return this.stackTrace.map(function(x){return x.title;});}};return{StackFrame,};});'use strict';tr.exportTo('tr.model.um',function(){class Segment extends tr.model.TimedEvent{constructor(start,duration){super(start);this.duration=duration;this.expectations_=[];}
5222get expectations(){return this.expectations_;}
5223clone(){const clone=new Segment(this.start,this.duration);clone.expectations.push(...this.expectations);return clone;}
5224addSegment(other){this.duration+=other.duration;this.expectations.push(...other.expectations);}}
5225return{Segment,};});'use strict';tr.exportTo('tr.model.um',function(){class UserModel extends tr.model.EventContainer{constructor(parentModel){super();this.parentModel_=parentModel;this.expectations_=new tr.model.EventSet();this.segments_=[];}
5226get stableId(){return'UserModel';}
5227get parentModel(){return this.parentModel_;}
5228sortExpectations(){this.expectations_.sortEvents((x,y)=>(x.start-y.start));}
5229get expectations(){return this.expectations_;}
5230shiftTimestampsForward(amount){}
5231addCategoriesToDict(categoriesDict){}
5232get segments(){return this.segments_;}*childEvents(){yield*this.expectations;}*childEventContainers(){}
5233updateBounds(){this.bounds.reset();for(const expectation of this.expectations){expectation.addBoundsToRange(this.bounds);}}
5234resegment(getKeyForSegment){const newSegments=[];let prevKey=undefined;let prevSegment=undefined;for(let i=0;i<this.segments.length;++i){const segment=this.segments[i];const key=getKeyForSegment(segment,i);if(prevSegment!==undefined&&key===prevKey){prevSegment.addSegment(segment);}else{prevSegment=segment.clone();newSegments.push(prevSegment);}
5235prevKey=key;}
5236return newSegments;}}
5237return{UserModel,};});'use strict';tr.exportTo('tr',function(){const Process=tr.model.Process;const Device=tr.model.Device;const Kernel=tr.model.Kernel;const GlobalMemoryDump=tr.model.GlobalMemoryDump;const GlobalInstantEvent=tr.model.GlobalInstantEvent;const FlowEvent=tr.model.FlowEvent;const Alert=tr.model.Alert;const Sample=tr.model.Sample;function Model(){tr.model.EventContainer.call(this);tr.b.EventTarget.decorate(this);this.timestampShiftToZeroAmount_=0;this.faviconHue='blue';this.device=new Device(this);this.kernel=new Kernel(this);this.processes={};this.metadata=[];this.categories=[];this.instantEvents=[];this.flowEvents=[];this.clockSyncManager=new tr.model.ClockSyncManager();this.intrinsicTimeUnit_=undefined;this.stackFrames={};this.samples=[];this.alerts=[];this.userModel=new tr.model.um.UserModel(this);this.flowIntervalTree=new tr.b.IntervalTree((f)=>f.start,(f)=>f.end);this.globalMemoryDumps=[];this.userFriendlyCategoryDrivers_=[];this.annotationsByGuid_={};this.modelIndices=undefined;this.stats=new tr.model.ModelStats();this.importWarnings_=[];this.reportedImportWarnings_={};this.isTimeHighResolution_=true;this.patchupsToApply_=[];this.doesHelperGUIDSupportThisModel_={};this.helpersByConstructorGUID_={};this.eventsByStableId_=undefined;}
5238Model.prototype={__proto__:tr.model.EventContainer.prototype,getEventByStableId(stableId){if(this.eventsByStableId_===undefined){this.eventsByStableId_={};for(const event of this.getDescendantEvents()){this.eventsByStableId_[event.stableId]=event;}}
5239return this.eventsByStableId_[stableId];},getOrCreateHelper(constructor){if(!constructor.guid){throw new Error('Helper constructors must have GUIDs');}
5240if(this.helpersByConstructorGUID_[constructor.guid]===undefined){if(this.doesHelperGUIDSupportThisModel_[constructor.guid]===undefined){this.doesHelperGUIDSupportThisModel_[constructor.guid]=constructor.supportsModel(this);}
5241if(!this.doesHelperGUIDSupportThisModel_[constructor.guid]){return undefined;}
5242this.helpersByConstructorGUID_[constructor.guid]=new constructor(this);}
5243return this.helpersByConstructorGUID_[constructor.guid];},*childEvents(){yield*this.globalMemoryDumps;yield*this.instantEvents;yield*this.flowEvents;yield*this.alerts;yield*this.samples;},*childEventContainers(){yield this.userModel;yield this.device;yield this.kernel;yield*Object.values(this.processes);},iterateAllPersistableObjects(callback){this.kernel.iterateAllPersistableObjects(callback);for(const pid in this.processes){this.processes[pid].iterateAllPersistableObjects(callback);}},updateBounds(){this.bounds.reset();const bounds=this.bounds;for(const ec of this.childEventContainers()){ec.updateBounds();bounds.addRange(ec.bounds);}
5244for(const event of this.childEvents()){event.addBoundsToRange(bounds);}},shiftWorldToZero(){const shiftAmount=-this.bounds.min;this.timestampShiftToZeroAmount_=shiftAmount;for(const ec of this.childEventContainers()){ec.shiftTimestampsForward(shiftAmount);}
5245for(const event of this.childEvents()){event.start+=shiftAmount;}
5246this.updateBounds();},convertTimestampToModelTime(sourceClockDomainName,ts){if(sourceClockDomainName!=='traceEventClock'){throw new Error('Only traceEventClock is supported.');}
5247return tr.b.Unit.timestampFromUs(ts)+
5248this.timestampShiftToZeroAmount_;},get numProcesses(){let n=0;for(const p in this.processes){n++;}
5249return n;},getProcess(pid){return this.processes[pid];},getOrCreateProcess(pid){if(!this.processes[pid]){this.processes[pid]=new Process(this,pid);}
5250return this.processes[pid];},addStackFrame(stackFrame){if(this.stackFrames[stackFrame.id]){throw new Error('Stack frame already exists');}
5251this.stackFrames[stackFrame.id]=stackFrame;return stackFrame;},updateCategories_(){const categoriesDict={};this.userModel.addCategoriesToDict(categoriesDict);this.device.addCategoriesToDict(categoriesDict);this.kernel.addCategoriesToDict(categoriesDict);for(const pid in this.processes){this.processes[pid].addCategoriesToDict(categoriesDict);}
5252this.categories=[];for(const category in categoriesDict){if(category!==''){this.categories.push(category);}}},getAllThreads(){const threads=[];for(const tid in this.kernel.threads){threads.push(process.threads[tid]);}
5253for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.threads){threads.push(process.threads[tid]);}}
5254return threads;},getAllProcesses(opt_predicate){const processes=[];for(const pid in this.processes){const process=this.processes[pid];if(opt_predicate===undefined||opt_predicate(process)){processes.push(process);}}
5255return processes;},getAllCounters(){const counters=[];counters.push.apply(counters,Object.values(this.device.counters||{}));counters.push.apply(counters,Object.values(this.kernel.counters||{}));for(const pid in this.processes){const process=this.processes[pid];for(const tid in process.counters){counters.push(process.counters[tid]);}}
5256return counters;},getAnnotationByGUID(guid){return this.annotationsByGuid_[guid];},addAnnotation(annotation){if(!annotation.guid){throw new Error('Annotation with undefined guid given');}
5257this.annotationsByGuid_[annotation.guid]=annotation;tr.b.dispatchSimpleEvent(this,'annotationChange');},removeAnnotation(annotation){this.annotationsByGuid_[annotation.guid].onRemove();delete this.annotationsByGuid_[annotation.guid];tr.b.dispatchSimpleEvent(this,'annotationChange');},getAllAnnotations(){return Object.values(this.annotationsByGuid_);},addUserFriendlyCategoryDriver(ufcd){this.userFriendlyCategoryDrivers_.push(ufcd);},getUserFriendlyCategoryFromEvent(event){for(let i=0;i<this.userFriendlyCategoryDrivers_.length;i++){const ufc=this.userFriendlyCategoryDrivers_[i].fromEvent(event);if(ufc!==undefined)return ufc;}
5258return undefined;},findAllThreadsNamed(name){const namedThreads=[];namedThreads.push.apply(namedThreads,this.kernel.findAllThreadsNamed(name));for(const pid in this.processes){namedThreads.push.apply(namedThreads,this.processes[pid].findAllThreadsNamed(name));}
5259return namedThreads;},get importOptions(){return this.importOptions_;},set importOptions(options){this.importOptions_=options;},get intrinsicTimeUnit(){if(this.intrinsicTimeUnit_===undefined){return tr.b.TimeDisplayModes.ms;}
5260return this.intrinsicTimeUnit_;},set intrinsicTimeUnit(value){if(this.intrinsicTimeUnit_===value)return;if(this.intrinsicTimeUnit_!==undefined){throw new Error('Intrinsic time unit already set');}
5261this.intrinsicTimeUnit_=value;},get isTimeHighResolution(){return this.isTimeHighResolution_;},set isTimeHighResolution(value){this.isTimeHighResolution_=value;},get canonicalUrl(){return this.canonicalUrl_;},set canonicalUrl(value){if(this.canonicalUrl_===value)return;if(this.canonicalUrl_!==undefined){throw new Error('canonicalUrl already set');}
5262this.canonicalUrl_=value;},importWarning(data){data.showToUser=!!data.showToUser;this.importWarnings_.push(data);if(this.reportedImportWarnings_[data.type]===true)return;this.reportedImportWarnings_[data.type]=true;},get hasImportWarnings(){return(this.importWarnings_.length>0);},get importWarnings(){return this.importWarnings_;},get importWarningsThatShouldBeShownToUser(){return this.importWarnings_.filter(function(warning){return warning.showToUser;});},autoCloseOpenSlices(){this.samples.sort(function(x,y){return x.start-y.start;});this.updateBounds();this.kernel.autoCloseOpenSlices();for(const pid in this.processes){this.processes[pid].autoCloseOpenSlices();}},createSubSlices(){this.kernel.createSubSlices();for(const pid in this.processes){this.processes[pid].createSubSlices();}},preInitializeObjects(){for(const pid in this.processes){this.processes[pid].preInitializeObjects();}},initializeObjects(){for(const pid in this.processes){this.processes[pid].initializeObjects();}},pruneEmptyContainers(){this.kernel.pruneEmptyContainers();for(const pid in this.processes){this.processes[pid].pruneEmptyContainers();}},mergeKernelWithUserland(){for(const pid in this.processes){this.processes[pid].mergeKernelWithUserland();}},computeWorldBounds(shiftWorldToZero){this.updateBounds();this.updateCategories_();if(shiftWorldToZero){this.shiftWorldToZero();}},buildFlowEventIntervalTree(){for(let i=0;i<this.flowEvents.length;++i){const flowEvent=this.flowEvents[i];this.flowIntervalTree.insert(flowEvent);}
5263this.flowIntervalTree.updateHighValues();},cleanupUndeletedObjects(){for(const pid in this.processes){this.processes[pid].autoDeleteObjects(this.bounds.max);}},sortMemoryDumps(){this.globalMemoryDumps.sort(function(x,y){return x.start-y.start;});for(const pid in this.processes){this.processes[pid].sortMemoryDumps();}},finalizeMemoryGraphs(){this.globalMemoryDumps.forEach(function(dump){dump.finalizeGraph();});},buildEventIndices(){this.modelIndices=new tr.model.ModelIndices(this);},sortAlerts(){this.alerts.sort(function(x,y){return x.start-y.start;});},applyObjectRefPatchups(){const unresolved=[];this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef in this.processes){const snapshot=this.processes[patchup.pidRef].objects.getSnapshotAt(patchup.scopedId,patchup.ts);if(snapshot){patchup.object[patchup.field]=snapshot;snapshot.referencedAt(patchup.item,patchup.object,patchup.field);return;}}
5264unresolved.push(patchup);},this);this.patchupsToApply_=unresolved;},replacePIDRefsInPatchups(oldPidRef,newPidRef){this.patchupsToApply_.forEach(function(patchup){if(patchup.pidRef===oldPidRef){patchup.pidRef=newPidRef;}});},joinRefs(){this.joinObjectRefs_();this.applyObjectRefPatchups();},joinObjectRefs_(){for(const[pid,process]of Object.entries(this.processes)){this.joinObjectRefsForProcess_(pid,process);}},joinObjectRefsForProcess_(pid,process){for(const thread of Object.values(process.threads)){thread.asyncSliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);thread.sliceGroup.slices.forEach(function(item){this.searchItemForIDRefs_(pid,'start',item);},this);}
5265process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(item){this.searchItemForIDRefs_(pid,'ts',item);},this);},this);},searchItemForIDRefs_(pid,itemTimestampField,item){if(!item.args&&!item.contexts)return;const patchupsToApply=this.patchupsToApply_;function handleField(object,fieldName,fieldValue){if(!fieldValue||(!fieldValue.id_ref&&!fieldValue.idRef)){return;}
5266const scope=fieldValue.scope||tr.model.OBJECT_DEFAULT_SCOPE;const idRef=fieldValue.id_ref||fieldValue.idRef;const scopedId=new tr.model.ScopedId(scope,idRef);const pidRef=fieldValue.pid_ref||fieldValue.pidRef||pid;const ts=item[itemTimestampField];patchupsToApply.push({item,object,field:fieldName,pidRef,scopedId,ts});}
5267function iterObjectFieldsRecursively(object){if(!(object instanceof Object))return;if((object instanceof tr.model.ObjectSnapshot)||(object instanceof Float32Array)||(object instanceof tr.b.math.Quad)){return;}
5268if(object instanceof Array){for(let i=0;i<object.length;i++){handleField(object,i,object[i]);iterObjectFieldsRecursively(object[i]);}
5269return;}
5270for(const key in object){const value=object[key];handleField(object,key,value);iterObjectFieldsRecursively(value);}}
5271iterObjectFieldsRecursively(item.args);iterObjectFieldsRecursively(item.contexts);}};return{Model,};});'use strict';tr.exportTo('tr.e.importer.etw',function(){const kThreadGuid='3D6FA8D1-FE05-11D0-9DDA-00C04FD7BA7C';const kThreadDCStartOpcode=3;function Decoder(){this.payload_=new DataView(new ArrayBuffer(256));}
5272Decoder.prototype={__proto__:Object.prototype,reset(base64Payload){const decodedSize=tr.b.Base64.getDecodedBufferLength(base64Payload);if(decodedSize>this.payload_.byteLength){this.payload_=new DataView(new ArrayBuffer(decodedSize));}
5273tr.b.Base64.DecodeToTypedArray(base64Payload,this.payload_);this.position_=0;},skip(length){this.position_+=length;},decodeUInt8(){const result=this.payload_.getUint8(this.position_,true);this.position_+=1;return result;},decodeUInt16(){const result=this.payload_.getUint16(this.position_,true);this.position_+=2;return result;},decodeUInt32(){const result=this.payload_.getUint32(this.position_,true);this.position_+=4;return result;},decodeUInt64ToString(){const low=this.decodeUInt32();const high=this.decodeUInt32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},decodeInt8(){const result=this.payload_.getInt8(this.position_,true);this.position_+=1;return result;},decodeInt16(){const result=this.payload_.getInt16(this.position_,true);this.position_+=2;return result;},decodeInt32(){const result=this.payload_.getInt32(this.position_,true);this.position_+=4;return result;},decodeInt64ToString(){return this.decodeUInt64ToString();},decodeUInteger(is64){if(is64){return this.decodeUInt64ToString();}
5274return this.decodeUInt32();},decodeString(){let str='';while(true){const c=this.decodeUInt8();if(!c)return str;str=str+String.fromCharCode(c);}},decodeW16String(){let str='';while(true){const c=this.decodeUInt16();if(!c)return str;str=str+String.fromCharCode(c);}},decodeFixedW16String(length){const oldPosition=this.position_;let str='';for(let i=0;i<length;i++){const c=this.decodeUInt16();if(!c)break;str=str+String.fromCharCode(c);}
5275this.position_=oldPosition+2*length;return str;},decodeBytes(length){const bytes=[];for(let i=0;i<length;++i){const c=this.decodeUInt8();bytes.push(c);}
5276return bytes;},decodeSID(is64){const pSid=this.decodeUInteger(is64);const attributes=this.decodeUInt32();if(is64){this.decodeUInt32();}
5277const revision=this.decodeUInt8();const subAuthorityCount=this.decodeUInt8();this.decodeUInt16();this.decodeUInt32();if(revision!==1){throw new Error('Invalid SID revision: could not decode the SID structure.');}
5278const sid=this.decodeBytes(4*subAuthorityCount);return{pSid,attributes,sid};},decodeSystemTime(){const wYear=this.decodeInt16();const wMonth=this.decodeInt16();const wDayOfWeek=this.decodeInt16();const wDay=this.decodeInt16();const wHour=this.decodeInt16();const wMinute=this.decodeInt16();const wSecond=this.decodeInt16();const wMilliseconds=this.decodeInt16();return{wYear,wMonth,wDayOfWeek,wDay,wHour,wMinute,wSecond,wMilliseconds};},decodeTimeZoneInformation(){const bias=this.decodeUInt32();const standardName=this.decodeFixedW16String(32);const standardDate=this.decodeSystemTime();const standardBias=this.decodeUInt32();const daylightName=this.decodeFixedW16String(32);const daylightDate=this.decodeSystemTime();const daylightBias=this.decodeUInt32();return{bias,standardName,standardDate,standardBias,daylightName,daylightDate,daylightBias};}};function EtwImporter(model,events){this.importPriority=3;this.model_=model;this.events_=events;this.handlers_={};this.decoder_=new Decoder();this.walltime_=undefined;this.ticks_=undefined;this.is64bit_=undefined;this.tidsToPid_={};const allTypeInfos=tr.e.importer.etw.Parser.getAllRegisteredTypeInfos();this.parsers_=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);}
5279EtwImporter.canImport=function(events){if(!events.hasOwnProperty('name')||!events.hasOwnProperty('content')||events.name!=='ETW'){return false;}
5280return true;};EtwImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EtwImporter';},get model(){return this.model_;},createThreadIfNeeded(pid,tid){this.tidsToPid_[tid]=pid;},removeThreadIfPresent(tid){this.tidsToPid_[tid]=undefined;},getPidFromWindowsTid(tid){if(tid===0)return 0;const pid=this.tidsToPid_[tid];if(pid===undefined){return 0;}
5281return pid;},getThreadFromWindowsTid(tid){const pid=this.getPidFromWindowsTid(tid);const process=this.model_.getProcess(pid);if(!process)return undefined;return process.getThread(tid);},getOrCreateCpu(cpuNumber){const cpu=this.model_.kernel.getOrCreateCpu(cpuNumber);return cpu;},importEvents(){this.events_.content.forEach(this.parseInfo.bind(this));if(this.walltime_===undefined||this.ticks_===undefined){throw Error('Cannot find clock sync information in the system trace.');}
5282if(this.is64bit_===undefined){throw Error('Cannot determine pointer size of the system trace.');}
5283this.events_.content.forEach(this.parseEvent.bind(this));},importTimestamp(timestamp){const ts=parseInt(timestamp,16);return(ts-this.walltime_+this.ticks_)/1000.;},parseInfo(event){if(event.hasOwnProperty('guid')&&event.hasOwnProperty('walltime')&&event.hasOwnProperty('tick')&&event.guid==='ClockSync'){this.walltime_=parseInt(event.walltime,16);this.ticks_=parseInt(event.tick,16);}
5284if(this.is64bit_===undefined&&event.hasOwnProperty('guid')&&event.hasOwnProperty('op')&&event.hasOwnProperty('ver')&&event.hasOwnProperty('payload')&&event.guid===kThreadGuid&&event.op===kThreadDCStartOpcode){const decodedSize=tr.b.Base64.getDecodedBufferLength(event.payload);if(event.ver===1){if(decodedSize>=52){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===2){if(decodedSize>=64){this.is64bit_=true;}else{this.is64bit_=false;}}else if(event.ver===3){if(decodedSize>=60){this.is64bit_=true;}else{this.is64bit_=false;}}}
5285return true;},parseEvent(event){if(!event.hasOwnProperty('guid')||!event.hasOwnProperty('op')||!event.hasOwnProperty('ver')||!event.hasOwnProperty('cpu')||!event.hasOwnProperty('ts')||!event.hasOwnProperty('payload')){return false;}
5286const timestamp=this.importTimestamp(event.ts);const header={guid:event.guid,opcode:event.op,version:event.ver,cpu:event.cpu,timestamp,is64:this.is64bit_};const decoder=this.decoder_;decoder.reset(event.payload);const handler=this.getEventHandler(header.guid,header.opcode);if(!handler)return false;if(!handler(header,decoder)){this.model_.importWarning({type:'parse_error',message:'Malformed '+header.guid+' event ('+event.payload+')'});return false;}
5287return true;},registerEventHandler(guid,opcode,handler){if(this.handlers_[guid]===undefined){this.handlers_[guid]=[];}
5288this.handlers_[guid][opcode]=handler;},getEventHandler(guid,opcode){if(this.handlers_[guid]===undefined){return undefined;}
5289return this.handlers_[guid][opcode];}};tr.importer.Importer.register(EtwImporter);return{EtwImporter,};});'use strict';tr.exportTo('tr.b',function(){class TraceStream{static get HEADER_SIZE(){return Math.pow(2,10);}
5290static get CHUNK_SIZE(){return Math.pow(2,20);}
5291get isBinary(){throw new Error('Not implemented');}
5292get hasData(){throw new Error('Not implemented');}
5293get header(){throw new Error('Not implemented');}
5294readUntilDelimiter(delim){throw new Error('Not implemented');}
5295readNumBytes(opt_size){throw new Error('Not implemented');}
5296rewind(){throw new Error('Not implemented');}
5297substream(offset,opt_length,opt_headerSize){throw new Error('Not implemented');}}
5298return{TraceStream,};});'use strict';tr.exportTo('tr.b',function(){const MAX_FUNCTION_ARGS_COUNT=Math.pow(2,15)-1;class InMemoryTraceStream extends tr.b.TraceStream{constructor(buffer,isBinary,opt_headerSize){super();if(!buffer instanceof Uint8Array){throw new Error('buffer should be a Uint8Array');}
5299const headerSize=opt_headerSize||tr.b.TraceStream.HEADER_SIZE;this.data_=buffer;this.isBinary_=isBinary;this.header_=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(0,headerSize));this.cursor_=0;}
5300get isBinary(){return this.isBinary_;}
5301get hasData(){return this.cursor_<this.data_.length;}
5302get header(){return this.header_;}
5303get data(){return this.data_;}
5304toString(){this.rewind();return this.readNumBytes(Number.MAX_VALUE);}
5305readUntilDelimiter(delim){if(delim.length!==1){throw new Error('delim must be exactly one character');}
5306const offset=this.data_.indexOf(delim.charCodeAt(0),this.cursor_)+1;return this.readToOffset_(offset>0?Math.min(offset,this.data_.length):this.data_.length);}
5307readNumBytes(opt_size){if(opt_size!==undefined&&opt_size<=0){throw new Error(`readNumBytes expects a positive size (${opt_size} given)`);}
5308const size=opt_size||tr.b.TraceStream.CHUNK_SIZE;const offset=Math.min(this.cursor_+size,this.data_.length);return this.readToOffset_(offset);}
5309rewind(){this.cursor_=0;}
5310substream(startOffset,opt_endOffset,opt_headerSize){return new InMemoryTraceStream(this.data_.subarray(startOffset,opt_endOffset),this.isBinary_,opt_headerSize);}
5311readToOffset_(offset){const out=InMemoryTraceStream.uint8ArrayToString_(this.data_.subarray(this.cursor_,offset));this.cursor_=offset;return out;}
5312static uint8ArrayToString_(arr){const c=[];for(let i=0;i<arr.length;i+=MAX_FUNCTION_ARGS_COUNT){c.push(String.fromCharCode(...arr.subarray(i,i+MAX_FUNCTION_ARGS_COUNT)));}
5313return c.join('');}}
5314return{InMemoryTraceStream,};});!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.comment=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a){return e.deflateRaw(a)},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?A.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",A.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),c.createFolders&&(e=w(a))&&x.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a,b){return"/"!=a.slice(-1)&&(a+="/"),b="undefined"!=typeof b?b:!1,this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},y=function(a,b){var c,f=new j;return a._data instanceof j?(f.uncompressedSize=a._data.uncompressedSize,f.crc32=a._data.crc32,0===f.uncompressedSize||a.dir?(b=i.STORE,f.compressedContent="",f.crc32=0):a._data.compressionMethod===b.magic?f.compressedContent=a._data.getCompressedContent():(c=a._data.getContent(),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c)))):(c=p(a),(!c||0===c.length||a.dir)&&(b=i.STORE,c=""),f.uncompressedSize=c.length,f.crc32=e(c),f.compressedContent=b.compress(d.transformTo(b.compressInputType,c))),f.compressedSize=f.compressedContent.length,f.compressionMethod=b.magic,f},z=function(a,b,c,g){var h,i,j,k,m=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),n=b.comment||"",o=d.transformTo("string",l.utf8encode(n)),p=m.length!==b.name.length,q=o.length!==n.length,r=b.options,t="",u="",v="";j=b._initialMetadata.dir!==b.dir?b.dir:r.dir,k=b._initialMetadata.date!==b.date?b.date:r.date,h=k.getHours(),h<<=6,h|=k.getMinutes(),h<<=5,h|=k.getSeconds()/2,i=k.getFullYear()-1980,i<<=4,i|=k.getMonth()+1,i<<=5,i|=k.getDate(),p&&(u=s(1,1)+s(e(m),4)+m,t+="up"+s(u.length,2)+u),q&&(v=s(1,1)+s(this.crc32(o),4)+o,t+="uc"+s(v.length,2)+v);var w="";w+="\n\x00",w+=p||q?"\x00\b":"\x00\x00",w+=c.compressionMethod,w+=s(h,2),w+=s(i,2),w+=s(c.crc32,4),w+=s(c.compressedSize,4),w+=s(c.uncompressedSize,4),w+=s(m.length,2),w+=s(t.length,2);var x=f.LOCAL_FILE_HEADER+w+m+t,y=f.CENTRAL_FILE_HEADER+"\x00"+w+s(o.length,2)+"\x00\x00\x00\x00"+(j===!0?"\x00\x00\x00":"\x00\x00\x00\x00")+s(g,4)+m+t+o;return{fileRecord:x,dirRecord:y,compressedObject:c}},A={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=x.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",type:"base64",comment:null}),d.checkSupport(a.type);var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=y.call(this,o,q),u=z.call(this,l,o,r,g);g+=u.fileRecord.length+r.compressedSize,j+=u.dirRecord.length,e.push(u)}var v="";v=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var w=a.type.toLowerCase();for(b="uint8array"===w||"arraybuffer"===w||"blob"===w||"nodebuffer"===w?new n(g+j+v.length):new m(g+j+v.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(v);var x=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),x);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",x));case"base64":return a.base64?h.encode(x):x;default:return x}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=A},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a){c.checkSupport("blob");try{return new Blob([a],{type:"application/zip"})}catch(b){try{var d=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,e=new d;return e.append(a),e.getBlob("application/zip")}catch(b){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a)throw new Error("Corrupted zip : can't find end of central directory");if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object");c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readString(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength),this.dir=16&this.externalFileAttributes?!0:!1},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.correct){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.correct=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.correct=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.correct){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ab=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});'use strict';if(tr.isVinn){global.window={};}'use strict';if(tr.isVinn){global.JSZip=global.window.JSZip;global.window=undefined;}else if(tr.isNode){const jsZipAbsPath=HTMLImportsLoader.hrefToAbsolutePath('/jszip.min.js');const jsZipModule=require(jsZipAbsPath);global.JSZip=jsZipModule;}'use strict';tr.exportTo('tr.e.importer',function(){const GZIP_MEMBER_HEADER_ID_SIZE=3;const GZIP_HEADER_ID1=0x1f;const GZIP_HEADER_ID2=0x8b;const GZIP_DEFLATE_COMPRESSION=8;function GzipImporter(model,eventData){this.inflateAsTraceStream=false;if(typeof(eventData)==='string'||eventData instanceof String){eventData=JSZip.utils.transformTo('uint8array',eventData);}else if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}else if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.data;this.inflateAsTraceStream_=true;}else{throw new Error('Unknown gzip data format');}
5315this.model_=model;this.gzipData_=eventData;}
5316GzipImporter.canImport=function(eventData){if(eventData instanceof tr.b.InMemoryTraceStream){eventData=eventData.header;}
5317let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,GZIP_MEMBER_HEADER_ID_SIZE));}else if(typeof(eventData)==='string'||eventData instanceof String){header=eventData.substring(0,GZIP_MEMBER_HEADER_ID_SIZE);header=JSZip.utils.transformTo('uint8array',header);}else{return false;}
5318return header[0]===GZIP_HEADER_ID1&&header[1]===GZIP_HEADER_ID2&&header[2]===GZIP_DEFLATE_COMPRESSION;};GzipImporter.inflateGzipData_=function(data){let position=0;function getByte(){if(position>=data.length){throw new Error('Unexpected end of gzip data');}
5319return data[position++];}
5320function getWord(){const low=getByte();const high=getByte();return(high<<8)+low;}
5321function skipBytes(amount){position+=amount;}
5322function skipZeroTerminatedString(){while(getByte()!==0){}}
5323const id1=getByte();const id2=getByte();if(id1!==GZIP_HEADER_ID1||id2!==GZIP_HEADER_ID2){throw new Error('Not gzip data');}
5324const compressionMethod=getByte();if(compressionMethod!==GZIP_DEFLATE_COMPRESSION){throw new Error('Unsupported compression method: '+compressionMethod);}
5325const flags=getByte();const haveHeaderCrc=flags&(1<<1);const haveExtraFields=flags&(1<<2);const haveFileName=flags&(1<<3);const haveComment=flags&(1<<4);skipBytes(4+1+1);if(haveExtraFields){const bytesToSkip=getWord();skipBytes(bytesToSkip);}
5326if(haveFileName)skipZeroTerminatedString();if(haveComment)skipZeroTerminatedString();if(haveHeaderCrc)getWord();const inflatedData=JSZip.compressions.DEFLATE.uncompress(data.subarray(position));if(this.inflateAsTraceStream_){return GzipImporter.transformToStream(inflatedData);}
5327let string;try{string=GzipImporter.transformToString(inflatedData);}catch(err){return GzipImporter.transformToStream(inflatedData);}
5328if(inflatedData.length>0&&string.length===0){throw new RangeError('Inflated gzip data too long to fit into a string'+' ('+inflatedData.length+').');}
5329return string;};GzipImporter.transformToStream=function(data){const type=JSZip.utils.getTypeOf(data);if(type==='uint8array')return new tr.b.InMemoryTraceStream(data,false);throw new Error(`Cannot transform ${type} to TraceStream.`);};GzipImporter.transformToString=function(data){if(typeof TextDecoder==='undefined'){return JSZip.utils.transformTo('string',data);}
5330const type=JSZip.utils.getTypeOf(data);if(type==='string')return data;if(type==='array'){data=new Uint8Array(data);}
5331const decoder=new TextDecoder('utf-8');return decoder.decode(data);};GzipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'GzipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const eventData=GzipImporter.inflateGzipData_(this.gzipData_);return eventData?[eventData]:[];}};tr.importer.Importer.register(GzipImporter);return{GzipImporter,};});'use strict';tr.exportTo('tr.importer',function(){class SimpleLineReader{constructor(text){this.data_=text instanceof tr.b.TraceStream?text:text.split('\n');this.curLine_=0;this.readLastLine_=false;this.savedLines_=undefined;}*[Symbol.iterator](){let lastLine=undefined;while(this.hasData_){if(this.readLastLine_){this.curLine_++;this.readLastLine_=false;}else if(this.data_ instanceof tr.b.TraceStream){this.curLine_++;const line=this.data_.readUntilDelimiter('\n');lastLine=line.endsWith('\n')?line.slice(0,-1):line;}else{this.curLine_++;lastLine=this.data_[this.curLine_-1];}
5332yield lastLine;}}
5333get curLineNumber(){return this.curLine_;}
5334get hasData_(){if(this.data_ instanceof tr.b.TraceStream)return this.data_.hasData;return this.curLine_<this.data_.length;}
5335advanceToLineMatching(regex){for(const line of this){if(this.savedLines_!==undefined)this.savedLines_.push(line);if(regex.test(line)){this.goBack_();return true;}}
5336return false;}
5337goBack_(){if(this.readLastLine_){throw new Error('There should be at least one nextLine call between '+'any two goBack calls.');}
5338if(this.curLine_===0){throw new Error('There should be at least one nextLine call before '+'the first goBack call.');}
5339this.readLastLine_=true;this.curLine_--;}
5340beginSavingLines(){this.savedLines_=[];}
5341endSavingLinesAndGetResult(){const tmp=this.savedLines_;this.savedLines_=undefined;return tmp;}}
5342return{SimpleLineReader,};});'use strict';tr.exportTo('tr.e.importer',function(){function Trace2HTMLImporter(model,events){this.importPriority=0;}
5343Trace2HTMLImporter.subtraces_=[];function _extractEventsFromHTML(text){Trace2HTMLImporter.subtraces_=[];const r=new tr.importer.SimpleLineReader(text);while(true){if(!r.advanceToLineMatching(new RegExp('^<\s*script id="viewer-data" '+'type="(application\/json|text\/plain)">$'))){break;}
5344r.beginSavingLines();if(!r.advanceToLineMatching(/^<\/\s*script>$/))return;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);const data64=rawEvents.join('\n');const buffer=new ArrayBuffer(tr.b.Base64.getDecodedBufferLength(data64));const len=tr.b.Base64.DecodeToTypedArray(data64,new DataView(buffer));Trace2HTMLImporter.subtraces_.push(buffer.slice(0,len));}}
5345function _canImportFromHTML(text){if(!/^<!DOCTYPE html>/.test(text))return false;_extractEventsFromHTML(text);if(Trace2HTMLImporter.subtraces_.length===0)return false;return true;}
5346Trace2HTMLImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)return false;return _canImportFromHTML(events);};Trace2HTMLImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'Trace2HTMLImporter';},isTraceDataContainer(){return true;},extractSubtraces(){return Trace2HTMLImporter.subtraces_;},importEvents(){}};tr.importer.Importer.register(Trace2HTMLImporter);return{Trace2HTMLImporter,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function SplayTree(){}
5347SplayTree.prototype.root_=null;SplayTree.prototype.isEmpty=function(){return!this.root_;};SplayTree.prototype.insert=function(key,value){if(this.isEmpty()){this.root_=new SplayTree.Node(key,value);return;}
5348this.splay_(key);if(this.root_.key===key){return;}
5349const node=new SplayTree.Node(key,value);if(key>this.root_.key){node.left=this.root_;node.right=this.root_.right;this.root_.right=null;}else{node.right=this.root_;node.left=this.root_.left;this.root_.left=null;}
5350this.root_=node;};SplayTree.prototype.remove=function(key){if(this.isEmpty()){throw Error('Key not found: '+key);}
5351this.splay_(key);if(this.root_.key!==key){throw Error('Key not found: '+key);}
5352const removed=this.root_;if(!this.root_.left){this.root_=this.root_.right;}else{const right=this.root_.right;this.root_=this.root_.left;this.splay_(key);this.root_.right=right;}
5353return removed;};SplayTree.prototype.find=function(key){if(this.isEmpty())return null;this.splay_(key);return this.root_.key===key?this.root_:null;};SplayTree.prototype.findMin=function(){if(this.isEmpty())return null;let current=this.root_;while(current.left){current=current.left;}
5354return current;};SplayTree.prototype.findMax=function(opt_startNode){if(this.isEmpty())return null;let current=opt_startNode||this.root_;while(current.right){current=current.right;}
5355return current;};SplayTree.prototype.findGreatestLessThan=function(key){if(this.isEmpty())return null;this.splay_(key);if(this.root_.key<=key){return this.root_;}
5356if(this.root_.left){return this.findMax(this.root_.left);}
5357return null;};SplayTree.prototype.exportKeysAndValues=function(){const result=[];this.traverse_(function(node){result.push([node.key,node.value]);});return result;};SplayTree.prototype.exportValues=function(){const result=[];this.traverse_(function(node){result.push(node.value);});return result;};SplayTree.prototype.splay_=function(key){if(this.isEmpty())return;const dummy=new SplayTree.Node(null,null);let left=dummy;let right=dummy;let current=this.root_;while(true){if(key<current.key){if(!current.left){break;}
5358if(key<current.left.key){const tmp=current.left;current.left=tmp.right;tmp.right=current;current=tmp;if(!current.left){break;}}
5359right.left=current;right=current;current=current.left;}else if(key>current.key){if(!current.right){break;}
5360if(key>current.right.key){const tmp=current.right;current.right=tmp.left;tmp.left=current;current=tmp;if(!current.right){break;}}
5361left.right=current;left=current;current=current.right;}else{break;}}
5362left.right=current.left;right.left=current.right;current.left=dummy.right;current.right=dummy.left;this.root_=current;};SplayTree.prototype.traverse_=function(f){const nodesToVisit=[this.root_];while(nodesToVisit.length>0){const node=nodesToVisit.shift();if(node===null)continue;f(node);nodesToVisit.push(node.left);nodesToVisit.push(node.right);}};SplayTree.Node=function(key,value){this.key=key;this.value=value;};SplayTree.Node.prototype.left=null;SplayTree.Node.prototype.right=null;return{SplayTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CodeMap(){this.dynamics_=new tr.e.importer.v8.SplayTree();this.dynamicsNameGen_=new tr.e.importer.v8.CodeMap.NameGenerator();this.statics_=new tr.e.importer.v8.SplayTree();this.libraries_=new tr.e.importer.v8.SplayTree();this.pages_=[];}
5363CodeMap.PAGE_ALIGNMENT=12;CodeMap.PAGE_SIZE=1<<CodeMap.PAGE_ALIGNMENT;CodeMap.prototype.addCode=function(start,codeEntry){this.deleteAllCoveredNodes_(this.dynamics_,start,start+codeEntry.size);this.dynamics_.insert(start,codeEntry);};CodeMap.prototype.moveCode=function(from,to){const removedNode=this.dynamics_.remove(from);this.deleteAllCoveredNodes_(this.dynamics_,to,to+removedNode.value.size);this.dynamics_.insert(to,removedNode.value);};CodeMap.prototype.deleteCode=function(start){const removedNode=this.dynamics_.remove(start);};CodeMap.prototype.addLibrary=function(start,codeEntry){this.markPages_(start,start+codeEntry.size);this.libraries_.insert(start,codeEntry);};CodeMap.prototype.addStaticCode=function(start,codeEntry){this.statics_.insert(start,codeEntry);};CodeMap.prototype.markPages_=function(start,end){for(let addr=start;addr<=end;addr+=CodeMap.PAGE_SIZE){this.pages_[addr>>>CodeMap.PAGE_ALIGNMENT]=1;}};CodeMap.prototype.deleteAllCoveredNodes_=function(tree,start,end){const toDelete=[];let addr=end-1;while(addr>=start){const node=tree.findGreatestLessThan(addr);if(!node)break;const start2=node.key;const end2=start2+node.value.size;if(start2<end&&start<end2)toDelete.push(start2);addr=start2-1;}
5364for(let i=0,l=toDelete.length;i<l;++i)tree.remove(toDelete[i]);};CodeMap.prototype.isAddressBelongsTo_=function(addr,node){return addr>=node.key&&addr<(node.key+node.value.size);};CodeMap.prototype.findInTree_=function(tree,addr){const node=tree.findGreatestLessThan(addr);return node&&this.isAddressBelongsTo_(addr,node)?node.value:null;};CodeMap.prototype.findEntryInLibraries=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.libraries_,addr);}
5365return undefined;};CodeMap.prototype.findEntry=function(addr){const pageAddr=addr>>>CodeMap.PAGE_ALIGNMENT;if(pageAddr in this.pages_){return this.findInTree_(this.statics_,addr)||this.findInTree_(this.libraries_,addr);}
5366const min=this.dynamics_.findMin();const max=this.dynamics_.findMax();if(max!==null&&addr<(max.key+max.value.size)&&addr>=min.key){const dynaEntry=this.findInTree_(this.dynamics_,addr);if(dynaEntry===null)return null;if(!dynaEntry.nameUpdated_){dynaEntry.name=this.dynamicsNameGen_.getName(dynaEntry.name);dynaEntry.nameUpdated_=true;}
5367return dynaEntry;}
5368return null;};CodeMap.prototype.findDynamicEntryByStartAddress=function(addr){const node=this.dynamics_.find(addr);return node?node.value:null;};CodeMap.prototype.getAllDynamicEntries=function(){return this.dynamics_.exportValues();};CodeMap.prototype.getAllDynamicEntriesWithAddresses=function(){return this.dynamics_.exportKeysAndValues();};CodeMap.prototype.getAllStaticEntries=function(){return this.statics_.exportValues();};CodeMap.prototype.getAllLibrariesEntries=function(){return this.libraries_.exportValues();};CodeMap.CodeState={COMPILED:0,OPTIMIZABLE:1,OPTIMIZED:2};CodeMap.CodeEntry=function(size,opt_name,opt_type){this.id=tr.b.GUID.allocateSimple();this.size=size;this.name_=opt_name||'';this.type=opt_type||'';this.nameUpdated_=false;};CodeMap.CodeEntry.prototype={__proto__:Object.prototype,get name(){return this.name_;},set name(value){this.name_=value;},toString(){this.name_+': '+this.size.toString(16);}};CodeMap.CodeEntry.TYPE={SHARED_LIB:'SHARED_LIB',CPP:'CPP'};CodeMap.DynamicFuncCodeEntry=function(size,type,func,state){CodeMap.CodeEntry.call(this,size,'',type);this.func=func;this.state=state;};CodeMap.DynamicFuncCodeEntry.STATE_PREFIX=['','~','*'];CodeMap.DynamicFuncCodeEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){return CodeMap.DynamicFuncCodeEntry.STATE_PREFIX[this.state]+
5369this.func.name;},set name(value){this.name_=value;},getRawName(){return this.func.getName();},isJSFunction(){return true;},toString(){return this.type+': '+this.name+': '+this.size.toString(16);}};CodeMap.FunctionEntry=function(name){CodeMap.CodeEntry.call(this,0,name);};CodeMap.FunctionEntry.prototype={__proto__:CodeMap.CodeEntry.prototype,get name(){let name=this.name_;if(name.length===0){name='<anonymous>';}else if(name.charAt(0)===' '){name='<anonymous>'+name;}
5370return name;},set name(value){this.name_=value;}};CodeMap.NameGenerator=function(){this.knownNames_={};};CodeMap.NameGenerator.prototype.getName=function(name){if(!(name in this.knownNames_)){this.knownNames_[name]=0;return name;}
5371const count=++this.knownNames_[name];return name+' {'+count+'}';};return{CodeMap,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){function CsvParser(){}
5372CsvParser.CSV_FIELD_RE_=/^"((?:[^"]|"")*)"|([^,]*)/;CsvParser.DOUBLE_QUOTE_RE_=/""/g;CsvParser.prototype.parseLine=function(line){const fieldRe=CsvParser.CSV_FIELD_RE_;const doubleQuoteRe=CsvParser.DOUBLE_QUOTE_RE_;let pos=0;const endPos=line.length;const fields=[];if(endPos>0){do{const fieldMatch=fieldRe.exec(line.substr(pos));if(typeof fieldMatch[1]==='string'){const field=fieldMatch[1];pos+=field.length+3;fields.push(field.replace(doubleQuoteRe,'"'));}else{const field=fieldMatch[2];pos+=field.length+1;fields.push(field);}}while(pos<=endPos);}
5373return fields;};function LogReader(dispatchTable){this.dispatchTable_=dispatchTable;this.lineNum_=0;this.csvParser_=new CsvParser();}
5374LogReader.prototype.printError=function(str){};LogReader.prototype.processLogChunk=function(chunk){this.processLog_(chunk.split('\n'));};LogReader.prototype.processLogLine=function(line){this.processLog_([line]);};LogReader.prototype.processStack=function(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}}
5375return fullStack;};LogReader.prototype.skipDispatch=function(dispatch){return false;};LogReader.prototype.dispatchLogRow_=function(fields){const command=fields[0];if(!(command in this.dispatchTable_))return;const dispatch=this.dispatchTable_[command];if(dispatch===null||this.skipDispatch(dispatch)){return;}
5376const parsedFields=[];for(let i=0;i<dispatch.parsers.length;++i){const parser=dispatch.parsers[i];if(parser===null){parsedFields.push(fields[1+i]);}else if(typeof parser==='function'){parsedFields.push(parser(fields[1+i]));}else{parsedFields.push(fields.slice(1+i));break;}}
5377dispatch.processor.apply(this,parsedFields);};LogReader.prototype.processLog_=function(lines){for(let i=0,n=lines.length;i<n;++i,++this.lineNum_){const line=lines[i];if(!line){continue;}
5378try{const fields=this.csvParser_.parseLine(line);this.dispatchLogRow_(fields);}catch(e){this.printError('line '+(this.lineNum_+1)+': '+
5379(e.message||e));}}};return{LogReader,};});'use strict';tr.exportTo('tr.model',function(){function ProfileNode(id,title,parentNode){this.id_=id;this.title_=title;this.parentNode_=parentNode;this.colorId_=-1;this.userFriendlyStack_=[];}
5380ProfileNode.prototype={__proto__:Object.prototype,get title(){return this.title_;},get parentNode(){return this.parentNode_;},set parentNode(value){this.parentNode_=value;},get id(){return this.id_;},get colorId(){return this.colorId_;},set colorId(value){this.colorId_=value;},get userFriendlyName(){return this.title_;},get userFriendlyStack(){if(this.userFriendlyStack_.length===0){this.userFriendlyStack_=[this.userFriendlyName];if(this.parentNode_!==undefined){this.userFriendlyStack_=this.userFriendlyStack_.concat(this.parentNode_.userFriendlyStack);}}
5381return this.userFriendlyStack_;},get sampleTitle(){throw new Error('Not implemented.');}};tr.model.EventRegistry.register(ProfileNode,{name:'Node',pluralName:'Nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.e.v8',function(){const ProfileNode=tr.model.ProfileNode;function V8CpuProfileNode(id,callFrame,parentNode){ProfileNode.call(this,id,callFrame.functionName,parentNode);this.callFrame_=tr.b.deepCopy(callFrame);this.deoptReason_='';this.colorId_=tr.b.ColorScheme.getColorIdForGeneralPurposeString(callFrame.functionName);}
5382V8CpuProfileNode.prototype={__proto__:ProfileNode.prototype,get functionName(){return this.callFrame_.functionName;},get scriptId(){return this.callFrame_.scriptId;},get url(){if(!this.callFrame_.url){return'unknown';}
5383let url=this.callFrame_.url;if(this.callFrame_.lineNumber===undefined){return url;}
5384url=url+':'+this.callFrame_.lineNumber;if(this.callFrame_.columnNumber===undefined){return url;}
5385url=url+':'+this.callFrame_.columnNumber;return url;},get deoptReason(){return this.deoptReason_;},set deoptReason(value){this.deoptReason_=value;},get userFriendlyName(){const name=this.functionName+' url: '+this.url;return!this.deoptReason_?name:name+' Deoptimized reason: '+this.deoptReason_;},get sampleTitle(){return'V8 Sample';}};V8CpuProfileNode.constructFromObject=function(profileTree,node){const nodeId=node.id;if(nodeId===1){return undefined;}
5386const parentNode=profileTree.getNode(node.parent);const profileNode=new V8CpuProfileNode(nodeId,node.callFrame,parentNode);if(node.deoptReason!==undefined){profileNode.deoptReason=node.deoptReason;}
5387return profileNode;};ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'cpuProfile',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});ProfileNode.subTypes.register(V8CpuProfileNode,{typeName:'legacySample',name:'v8 cpu profile node',pluralName:'v8 cpu profile nodes'});return{ProfileNode,};});'use strict';tr.exportTo('tr.model',function(){function ProfileTree(){this.startTime_=undefined;this.endTime_=undefined;this.tree_=new Map();this.pid_=-1;this.tid_=-1;}
5388ProfileTree.prototype={__proto__:Object.prototype,get pid(){return this.pid_;},set pid(value){this.pid_=value;},get tid(){return this.tid_;},set tid(value){this.tid_=value;},get tree(){return this.tree_;},get startTime(){return this.startTime_;},set startTime(value){this.startTime_=value;this.endTime_=value;},get endTime(){return this.endTime_;},set endTime(value){this.endTime_=value;},add(node){if(this.tree_.has(node.id)){throw new Error('Conflict id in the profile tree.');}
5389this.tree_.set(node.id,node);return node;},getNode(nodeId){return this.tree_.get(nodeId);}};return{ProfileTree,};});'use strict';tr.exportTo('tr.e.importer.v8',function(){const CodeEntry=tr.e.importer.v8.CodeMap.CodeEntry;const CodeMap=tr.e.importer.v8.CodeMap;const ColorScheme=tr.b.ColorScheme;const DynamicFuncCodeEntry=tr.e.importer.v8.CodeMap.DynamicFuncCodeEntry;const FunctionEntry=tr.e.importer.v8.CodeMap.FunctionEntry;const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');function V8LogImporter(model,eventData){this.importPriority=3;this.model_=model;this.logData_=eventData;this.code_map_=new CodeMap();this.v8_timer_thread_=undefined;this.v8_thread_=undefined;this.profileTree_=new tr.model.ProfileTree();this.profileTree_.add(new ProfileNodeType(-1,{url:'',functionName:'unknown'}));this.v8_stack_timeline_=[];}
5390const kV8BinarySuffixes=['/d8','/libv8.so'];const TimerEventDefaultArgs={'V8.Execute':{pause:false,no_execution:false},'V8.External':{pause:false,no_execution:true},'V8.CompileFullCode':{pause:true,no_execution:true},'V8.RecompileSynchronous':{pause:true,no_execution:true},'V8.RecompileParallel':{pause:false,no_execution:false},'V8.CompileEval':{pause:true,no_execution:true},'V8.Parse':{pause:true,no_execution:true},'V8.PreParse':{pause:true,no_execution:true},'V8.ParseLazy':{pause:true,no_execution:true},'V8.GCScavenger':{pause:true,no_execution:true},'V8.GCCompactor':{pause:true,no_execution:true},'V8.GCContext':{pause:true,no_execution:true}};V8LogImporter.canImport=function(eventData){if(typeof(eventData)!=='string'&&!(eventData instanceof String)){return false;}
5391return eventData.substring(0,11)==='v8-version,'||eventData.substring(0,12)==='timer-event,'||eventData.substring(0,5)==='tick,'||eventData.substring(0,15)==='shared-library,'||eventData.substring(0,9)==='profiler,'||eventData.substring(0,14)==='code-creation,';};V8LogImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'V8LogImporter';},processTimerEvent_(name,startInUs,lengthInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const lengthInMs=tr.b.convertUnit(lengthInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);const colorId=ColorScheme.getColorIdForGeneralPurposeString(name);const slice=new tr.model.ThreadSlice('v8',name,colorId,startInMs,args,lengthInMs);this.v8_timer_thread_.sliceGroup.pushSlice(slice);},processTimerEventStart_(name,startInUs){const args=TimerEventDefaultArgs[name];if(args===undefined)return;const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.beginSlice('v8',name,startInMs,args);},processTimerEventEnd_(name,endInUs){const endInMs=tr.b.convertUnit(endInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);this.v8_timer_thread_.sliceGroup.endSlice(endInMs);},processCodeCreateEvent_(type,kind,address,size,name,maybeFunc){function parseState(s){switch(s){case'':return CodeMap.CodeState.COMPILED;case'~':return CodeMap.CodeState.OPTIMIZABLE;case'*':return CodeMap.CodeState.OPTIMIZED;}
5392throw new Error('unknown code state: '+s);}
5393if(maybeFunc.length){const funcAddr=parseInt(maybeFunc[0]);const state=parseState(maybeFunc[1]);let func=this.code_map_.findDynamicEntryByStartAddress(funcAddr);if(!func){func=new FunctionEntry(name);func.kind=kind;this.code_map_.addCode(funcAddr,func);}else if(func.name!==name){func.name=name;}
5394let entry=this.code_map_.findDynamicEntryByStartAddress(address);if(entry){if(entry.size===size&&entry.func===func){entry.state=state;}}else{entry=new DynamicFuncCodeEntry(size,type,func,state);entry.kind=kind;this.code_map_.addCode(address,entry);}}else{const codeEntry=new CodeEntry(size,name);codeEntry.kind=kind;this.code_map_.addCode(address,codeEntry);}},processCodeMoveEvent_(from,to){this.code_map_.moveCode(from,to);},processCodeDeleteEvent_(address){this.code_map_.deleteCode(address);},processSharedLibrary_(name,start,end){const codeEntry=new CodeEntry(end-start,name,CodeEntry.TYPE.SHARED_LIB);codeEntry.kind=-3;for(let i=0;i<kV8BinarySuffixes.length;i++){const suffix=kV8BinarySuffixes[i];if(name.indexOf(suffix,name.length-suffix.length)>=0){codeEntry.kind=-1;break;}}
5395this.code_map_.addLibrary(start,codeEntry);},processCppSymbol_(address,size,name){const codeEntry=new CodeEntry(size,name,CodeEntry.TYPE.CPP);codeEntry.kind=-1;this.code_map_.addStaticCode(address,codeEntry);},processTickEvent_(pc,startInUs,isExternalCallback,tosOrExternalCallback,vmstate,stack){const startInMs=tr.b.convertUnit(startInUs,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);function findChildWithEntryID(stackFrame,entryID){for(let i=0;i<stackFrame.children.length;i++){if(stackFrame.children[i].entryID===entryID){return stackFrame.children[i];}}
5396return undefined;}
5397function processStack(pc,func,stack){const fullStack=func?[pc,func]:[pc];let prevFrame=pc;for(let i=0,n=stack.length;i<n;++i){const frame=stack[i];const firstChar=frame.charAt(0);if(firstChar==='+'||firstChar==='-'){prevFrame+=parseInt(frame,16);fullStack.push(prevFrame);}else if(firstChar!=='o'){fullStack.push(parseInt(frame,16));}}
5398return fullStack;}
5399if(isExternalCallback){pc=tosOrExternalCallback;tosOrExternalCallback=0;}else if(tosOrExternalCallback){const funcEntry=this.code_map_.findEntry(tosOrExternalCallback);if(!funcEntry||!funcEntry.isJSFunction||!funcEntry.isJSFunction()){tosOrExternalCallback=0;}}
5400let processedStack=processStack(pc,tosOrExternalCallback,stack);let node=undefined;let lastNode=undefined;processedStack=processedStack.reverse();for(let i=0,n=processedStack.length;i<n;i++){const frame=processedStack[i];if(!frame)break;const entry=this.code_map_.findEntry(frame);if(!entry&&i!==0){continue;}
5401let sourceInfo=undefined;if(entry&&entry.type===CodeEntry.TYPE.CPP){const libEntry=this.code_map_.findEntryInLibraries(frame);if(libEntry){sourceInfo={file:libEntry.name};}}
5402const entryId=entry?entry.id:-1;node=this.profileTree_.getNode(entryId);if(node===undefined){node=this.profileTree_.add(new ProfileNodeType(entryId,{functionName:entry.name,url:sourceInfo?sourceInfo.file:'',lineNumber:sourceInfo?sourceInfo.line:undefined,columnNumber:sourceInfo?sourceInfo.column:undefined,scriptId:sourceInfo?sourceInfo.scriptId:undefined},lastNode));}
5403lastNode=node;}
5404this.model_.samples.push(new tr.model.Sample(startInMs,'V8 PC',node,this.v8_thread_,undefined,1));},processDistortion_(distortionInPicoseconds){},processPlotRange_(start,end){},processV8Version_(major,minor,build,patch,candidate){},importEvents(){const logreader=new tr.e.importer.v8.LogReader({'timer-event':{parsers:[null,parseInt,parseInt],processor:this.processTimerEvent_.bind(this)},'shared-library':{parsers:[null,parseInt,parseInt],processor:this.processSharedLibrary_.bind(this)},'timer-event-start':{parsers:[null,parseInt],processor:this.processTimerEventStart_.bind(this)},'timer-event-end':{parsers:[null,parseInt],processor:this.processTimerEventEnd_.bind(this)},'code-creation':{parsers:[null,parseInt,parseInt,parseInt,null,'var-args'],processor:this.processCodeCreateEvent_.bind(this)},'code-move':{parsers:[parseInt,parseInt],processor:this.processCodeMoveEvent_.bind(this)},'code-delete':{parsers:[parseInt],processor:this.processCodeDeleteEvent_.bind(this)},'cpp':{parsers:[parseInt,parseInt,null],processor:this.processCppSymbol_.bind(this)},'tick':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt,'var-args'],processor:this.processTickEvent_.bind(this)},'distortion':{parsers:[parseInt],processor:this.processDistortion_.bind(this)},'plot-range':{parsers:[parseInt,parseInt],processor:this.processPlotRange_.bind(this)},'v8-version':{parsers:[parseInt,parseInt,parseInt,parseInt,parseInt],processor:this.processV8Version_.bind(this)}});this.v8_timer_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(1);this.v8_timer_thread_.name='V8 Timers';this.v8_thread_=this.model_.getOrCreateProcess(-32).getOrCreateThread(2);this.v8_thread_.name='V8';const lines=this.logData_.split('\n');for(let i=0;i<lines.length;i++){logreader.processLogLine(lines[i]);}
5405function addSlices(slices,thread){for(let i=0;i<slices.length;i++){const duration=slices[i].end-slices[i].start;const slice=new tr.model.ThreadSlice('v8',slices[i].name,ColorScheme.getColorIdForGeneralPurposeString(slices[i].name),slices[i].start,{},duration);thread.sliceGroup.pushSlice(slice);addSlices(slices[i].children,thread);}}
5406addSlices(this.v8_stack_timeline_,this.v8_thread_);}};tr.importer.Importer.register(V8LogImporter);return{V8LogImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function ZipImporter(model,eventData){if(eventData instanceof ArrayBuffer){eventData=new Uint8Array(eventData);}
5407this.model_=model;this.eventData_=eventData;}
5408ZipImporter.canImport=function(eventData){let header;if(eventData instanceof ArrayBuffer){header=new Uint8Array(eventData.slice(0,2));}else if(typeof(eventData)==='string'||eventData instanceof String){header=[eventData.charCodeAt(0),eventData.charCodeAt(1)];}else{return false;}
5409return header[0]==='P'.charCodeAt(0)&&header[1]==='K'.charCodeAt(0);};ZipImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'ZipImporter';},isTraceDataContainer(){return true;},extractSubtraces(){const zip=new JSZip(this.eventData_);const subtraces=[];for(const idx in zip.files){subtraces.push(zip.files[idx].asBinary());}
5410return subtraces;}};tr.importer.Importer.register(ZipImporter);return{ZipImporter,};});'use strict';tr.exportTo('tr.model',function(){function HeapEntry(heapDump,leafStackFrame,objectTypeName,size,count,valuesAreTotals){this.heapDump=heapDump;this.leafStackFrame=leafStackFrame;this.objectTypeName=objectTypeName;this.size=size;this.count=count;this.valuesAreTotals=valuesAreTotals;}
5411function HeapDump(processMemoryDump,allocatorName,isComplete){this.processMemoryDump=processMemoryDump;this.allocatorName=allocatorName;this.isComplete=isComplete;this.entries=[];}
5412HeapDump.prototype={addEntry(leafStackFrame,objectTypeName,size,count,opt_valuesAreTotals){if(opt_valuesAreTotals===undefined)opt_valuesAreTotals=true;const valuesAreTotals=opt_valuesAreTotals;const entry=new HeapEntry(this,leafStackFrame,objectTypeName,size,count,valuesAreTotals);this.entries.push(entry);return entry;}};return{HeapEntry,HeapDump,};});'use strict';tr.exportTo('tr.e.importer',function(){function HeapDumpTraceEventImporter(heapProfileExpander,stackFrames,processMemoryDump,idPrefix,model){this.expander=heapProfileExpander;this.stackFrames=stackFrames;this.processMemoryDump=processMemoryDump;this.idPrefix=idPrefix;this.model=model;}
5413HeapDumpTraceEventImporter.prototype={getLeafStackFrame(stackFrameId){if(stackFrameId==='')return undefined;const parentId=this.idPrefix+stackFrameId;const id=parentId+':self';if(!this.stackFrames[id]){const parentStackFrame=this.stackFrames[parentId];const stackFrame=new tr.model.StackFrame(parentStackFrame,id,'<self>',undefined);this.model.addStackFrame(stackFrame);}
5414return this.stackFrames[id];},parseEntry(entry,heapDump){const size=entry.size;const count=entry.count;const leafStackFrame=this.getLeafStackFrame(entry.node.id);const objectTypeName=entry.type.name;const valuesAreTotals=false;if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+typeId+')',});}
5415heapDump.addEntry(leafStackFrame,objectTypeName,size,count,valuesAreTotals);},parse(){const heapDumps={};const inflated=this.expander.inflated;for(const[allocatorName,entries]of Object.entries(inflated)){const heapDump=new tr.model.HeapDump(this.processMemoryDump,allocatorName);for(const entry of entries){this.parseEntry(entry,heapDump);}
5416heapDump.isComplete=true;heapDumps[allocatorName]=heapDump;}
5417return heapDumps;},};return{HeapDumpTraceEventImporter,};});'use strict';tr.exportTo('tr.e.importer',function(){function LegacyHeapDumpTraceEventImporter(model,processMemoryDump,processObjectTypeNameMap,idPrefix,dumpId,rawHeapDumps){this.model_=model;this.processObjectTypeNameMap_=processObjectTypeNameMap;this.idPrefix_=idPrefix;this.processMemoryDump_=processMemoryDump;this.pid_=this.processMemoryDump_.process.pid;this.dumpId_=dumpId;this.rawHeapDumps_=rawHeapDumps;}
5418LegacyHeapDumpTraceEventImporter.prototype={parseRawHeapDump(rawHeapDump,allocatorName){const model=this.model_;const processMemoryDump=this.processMemoryDump_;const heapDump=new tr.model.HeapDump(processMemoryDump,allocatorName);const entries=rawHeapDump.entries;if(entries===undefined||entries.length===0){this.model_.importWarning({type:'memory_dump_parse_error',message:'No heap entries in a '+allocatorName+' heap dump for PID='+this.pid_+' and dump ID='+this.dumpId_+'.'});return undefined;}
5419const isOldFormat=entries[0].bt===undefined;if(!isOldFormat&&this.processObjectTypeNameMap_===undefined){return undefined;}
5420for(let i=0;i<entries.length;i++){const entry=entries[i];const size=parseInt(entry.size,16);const leafStackFrameIndex=entry.bt;let leafStackFrame;if(isOldFormat){if(leafStackFrameIndex===undefined){leafStackFrame=undefined;}else{let leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+
5421leafStackFrameId+') of heap entry '+i+' (size '+
5422size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}
5423leafStackFrameId+=':self';if(model.stackFrames[leafStackFrameId]!==undefined){leafStackFrame=model.stackFrames[leafStackFrameId];}else{leafStackFrame=new tr.model.StackFrame(leafStackFrame,leafStackFrameId,'<self>',undefined);model.addStackFrame(leafStackFrame);}}}else{if(leafStackFrameIndex===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing stack frame ID of heap entry '+i+' (size '+size+') in a '+allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}
5424const leafStackFrameId=this.idPrefix_+leafStackFrameIndex;if(leafStackFrameIndex===''){leafStackFrame=undefined;}else{leafStackFrame=model.stackFrames[leafStackFrameId];if(leafStackFrame===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing leaf stack frame (ID '+leafStackFrameId+') of heap entry '+i+' (size '+size+') in a '+
5425allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}}
5426const objectTypeId=entry.type;let objectTypeName;if(objectTypeId===undefined){objectTypeName=undefined;}else if(this.processObjectTypeNameMap_===undefined){continue;}else{objectTypeName=this.processObjectTypeNameMap_[objectTypeId];if(objectTypeName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing object type name (ID '+objectTypeId+') of heap entry '+i+' (size '+size+') in a '+
5427allocatorName+' heap dump for PID='+this.pid_+'.'});continue;}}
5428const count=entry.count===undefined?undefined:parseInt(entry.count,16);heapDump.addEntry(leafStackFrame,objectTypeName,size,count);}
5429return heapDump;},parse(){const heapDumps={};for(const allocatorName in this.rawHeapDumps_){const rawHeapDump=this.rawHeapDumps_[allocatorName];const heapDump=this.parseRawHeapDump(rawHeapDump,allocatorName);if(heapDump!==undefined&&heapDump.entries.length>0){heapDumps[allocatorName]=heapDump;}}
5430return heapDumps;},};return{LegacyHeapDumpTraceEventImporter,};});(function(window,Object,Array,Error,JSON,undefined){var partialComplete=varArgs(function(fn,args){var numBoundArgs=args.length;return varArgs(function(callArgs){for(var i=0;i<callArgs.length;i++){args[numBoundArgs+i]=callArgs[i];}
5431args.length=numBoundArgs+callArgs.length;return fn.apply(this,args);});}),compose=varArgs(function(fns){var fnsList=arrayAsList(fns);function next(params,curFn){return[apply(params,curFn)];}
5432return varArgs(function(startParams){return foldR(next,startParams,fnsList)[0];});});function compose2(f1,f2){return function(){return f1.call(this,f2.apply(this,arguments));}}
5433function attr(key){return function(o){return o[key];};}
5434var lazyUnion=varArgs(function(fns){return varArgs(function(params){var maybeValue;for(var i=0;i<len(fns);i++){maybeValue=apply(params,fns[i]);if(maybeValue){return maybeValue;}}});});function apply(args,fn){return fn.apply(undefined,args);}
5435function varArgs(fn){var numberOfFixedArguments=fn.length-1,slice=Array.prototype.slice;if(numberOfFixedArguments==0){return function(){return fn.call(this,slice.call(arguments));}}else if(numberOfFixedArguments==1){return function(){return fn.call(this,arguments[0],slice.call(arguments,1));}}
5436var argsHolder=Array(fn.length);return function(){for(var i=0;i<numberOfFixedArguments;i++){argsHolder[i]=arguments[i];}
5437argsHolder[numberOfFixedArguments]=slice.call(arguments,numberOfFixedArguments);return fn.apply(this,argsHolder);}}
5438function flip(fn){return function(a,b){return fn(b,a);}}
5439function lazyIntersection(fn1,fn2){return function(param){return fn1(param)&&fn2(param);};}
5440function noop(){}
5441function always(){return true}
5442function functor(val){return function(){return val;}}
5443function isOfType(T,maybeSomething){return maybeSomething&&maybeSomething.constructor===T;}
5444var len=attr('length'),isString=partialComplete(isOfType,String);function defined(value){return value!==undefined;}
5445function hasAllProperties(fieldList,o){return(o instanceof Object)&&all(function(field){return(field in o);},fieldList);}
5446function cons(x,xs){return[x,xs];}
5447var emptyList=null,head=attr(0),tail=attr(1);function arrayAsList(inputArray){return reverseList(inputArray.reduce(flip(cons),emptyList));}
5448var list=varArgs(arrayAsList);function listAsArray(list){return foldR(function(arraySoFar,listItem){arraySoFar.unshift(listItem);return arraySoFar;},[],list);}
5449function map(fn,list){return list?cons(fn(head(list)),map(fn,tail(list))):emptyList;}
5450function foldR(fn,startValue,list){return list?fn(foldR(fn,startValue,tail(list)),head(list)):startValue;}
5451function foldR1(fn,list){return tail(list)?fn(foldR1(fn,tail(list)),head(list)):head(list);}
5452function without(list,test,removedFn){return withoutInner(list,removedFn||noop);function withoutInner(subList,removedFn){return subList?(test(head(subList))?(removedFn(head(subList)),tail(subList)):cons(head(subList),withoutInner(tail(subList),removedFn))):emptyList;}}
5453function all(fn,list){return!list||(fn(head(list))&&all(fn,tail(list)));}
5454function applyEach(fnList,args){if(fnList){head(fnList).apply(null,args);applyEach(tail(fnList),args);}}
5455function reverseList(list){function reverseInner(list,reversedAlready){if(!list){return reversedAlready;}
5456return reverseInner(tail(list),cons(head(list),reversedAlready))}
5457return reverseInner(list,emptyList);}
5458function first(test,list){return list&&(test(head(list))?head(list):first(test,tail(list)));}
5459function clarinet(eventBus){"use strict";var
5460emitSaxKey=eventBus(SAX_KEY).emit,emitValueOpen=eventBus(SAX_VALUE_OPEN).emit,emitValueClose=eventBus(SAX_VALUE_CLOSE).emit,emitFail=eventBus(FAIL_EVENT).emit,MAX_BUFFER_LENGTH=64*1024,stringTokenPattern=/[\\"\n]/g,_n=0,BEGIN=_n++,VALUE=_n++,OPEN_OBJECT=_n++,CLOSE_OBJECT=_n++,OPEN_ARRAY=_n++,CLOSE_ARRAY=_n++,STRING=_n++,OPEN_KEY=_n++,CLOSE_KEY=_n++,TRUE=_n++,TRUE2=_n++,TRUE3=_n++,FALSE=_n++,FALSE2=_n++,FALSE3=_n++,FALSE4=_n++,NULL=_n++,NULL2=_n++,NULL3=_n++,NUMBER_DECIMAL_POINT=_n++,NUMBER_DIGIT=_n,bufferCheckPosition=MAX_BUFFER_LENGTH,latestError,c,p,textNode=undefined,numberNode="",slashed=false,closed=false,state=BEGIN,stack=[],unicodeS=null,unicodeI=0,depth=0,position=0,column=0,line=1;function checkBufferLength(){var maxActual=0;if(textNode!==undefined&&textNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: textNode");maxActual=Math.max(maxActual,textNode.length);}
5461if(numberNode.length>MAX_BUFFER_LENGTH){emitError("Max buffer length exceeded: numberNode");maxActual=Math.max(maxActual,numberNode.length);}
5462bufferCheckPosition=(MAX_BUFFER_LENGTH-maxActual)
5463+position;}
5464eventBus(STREAM_DATA).on(handleData);eventBus(STREAM_END).on(handleStreamEnd);function emitError(errorString){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5465latestError=Error(errorString+"\nLn: "+line+"\nCol: "+column+"\nChr: "+c);emitFail(errorReport(undefined,undefined,latestError));}
5466function handleStreamEnd(){if(state==BEGIN){emitValueOpen({});emitValueClose();closed=true;return;}
5467if(state!==VALUE||depth!==0)
5468emitError("Unexpected end");if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5469closed=true;}
5470function whitespace(c){return c=='\r'||c=='\n'||c==' '||c=='\t';}
5471function handleData(chunk){if(latestError)
5472return;if(closed){return emitError("Cannot write after close");}
5473var i=0;c=chunk[0];while(c){p=c;c=chunk[i++];if(!c)break;position++;if(c=="\n"){line++;column=0;}else column++;switch(state){case BEGIN:if(c==="{")state=OPEN_OBJECT;else if(c==="[")state=OPEN_ARRAY;else if(!whitespace(c))
5474return emitError("Non-whitespace before {[.");continue;case OPEN_KEY:case OPEN_OBJECT:if(whitespace(c))continue;if(state===OPEN_KEY)stack.push(CLOSE_KEY);else{if(c==='}'){emitValueOpen({});emitValueClose();state=stack.pop()||VALUE;continue;}else stack.push(CLOSE_OBJECT);}
5475if(c==='"')
5476state=STRING;else
5477return emitError("Malformed object key should start with \" ");continue;case CLOSE_KEY:case CLOSE_OBJECT:if(whitespace(c))continue;if(c===':'){if(state===CLOSE_OBJECT){stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen({});emitSaxKey(textNode);textNode=undefined;}
5478depth++;}else{if(textNode!==undefined){emitSaxKey(textNode);textNode=undefined;}}
5479state=VALUE;}else if(c==='}'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5480emitValueClose();depth--;state=stack.pop()||VALUE;}else if(c===','){if(state===CLOSE_OBJECT)
5481stack.push(CLOSE_OBJECT);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5482state=OPEN_KEY;}else
5483return emitError('Bad object');continue;case OPEN_ARRAY:case VALUE:if(whitespace(c))continue;if(state===OPEN_ARRAY){emitValueOpen([]);depth++;state=VALUE;if(c===']'){emitValueClose();depth--;state=stack.pop()||VALUE;continue;}else{stack.push(CLOSE_ARRAY);}}
5484if(c==='"')state=STRING;else if(c==='{')state=OPEN_OBJECT;else if(c==='[')state=OPEN_ARRAY;else if(c==='t')state=TRUE;else if(c==='f')state=FALSE;else if(c==='n')state=NULL;else if(c==='-'){numberNode+=c;}else if(c==='0'){numberNode+=c;state=NUMBER_DIGIT;}else if('123456789'.indexOf(c)!==-1){numberNode+=c;state=NUMBER_DIGIT;}else
5485return emitError("Bad value");continue;case CLOSE_ARRAY:if(c===','){stack.push(CLOSE_ARRAY);if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5486state=VALUE;}else if(c===']'){if(textNode!==undefined){emitValueOpen(textNode);emitValueClose();textNode=undefined;}
5487emitValueClose();depth--;state=stack.pop()||VALUE;}else if(whitespace(c))
5488continue;else
5489return emitError('Bad array');continue;case STRING:if(textNode===undefined){textNode="";}
5490var starti=i-1;STRING_BIGLOOP:while(true){while(unicodeI>0){unicodeS+=c;c=chunk.charAt(i++);if(unicodeI===4){textNode+=String.fromCharCode(parseInt(unicodeS,16));unicodeI=0;starti=i-1;}else{unicodeI++;}
5491if(!c)break STRING_BIGLOOP;}
5492if(c==='"'&&!slashed){state=stack.pop()||VALUE;textNode+=chunk.substring(starti,i-1);break;}
5493if(c==='\\'&&!slashed){slashed=true;textNode+=chunk.substring(starti,i-1);c=chunk.charAt(i++);if(!c)break;}
5494if(slashed){slashed=false;if(c==='n'){textNode+='\n';}
5495else if(c==='r'){textNode+='\r';}
5496else if(c==='t'){textNode+='\t';}
5497else if(c==='f'){textNode+='\f';}
5498else if(c==='b'){textNode+='\b';}
5499else if(c==='u'){unicodeI=1;unicodeS='';}else{textNode+=c;}
5500c=chunk.charAt(i++);starti=i-1;if(!c)break;else continue;}
5501stringTokenPattern.lastIndex=i;var reResult=stringTokenPattern.exec(chunk);if(!reResult){i=chunk.length+1;textNode+=chunk.substring(starti,i-1);break;}
5502i=reResult.index+1;c=chunk.charAt(reResult.index);if(!c){textNode+=chunk.substring(starti,i-1);break;}}
5503continue;case TRUE:if(!c)continue;if(c==='r')state=TRUE2;else
5504return emitError('Invalid true started with t'+c);continue;case TRUE2:if(!c)continue;if(c==='u')state=TRUE3;else
5505return emitError('Invalid true started with tr'+c);continue;case TRUE3:if(!c)continue;if(c==='e'){emitValueOpen(true);emitValueClose();state=stack.pop()||VALUE;}else
5506return emitError('Invalid true started with tru'+c);continue;case FALSE:if(!c)continue;if(c==='a')state=FALSE2;else
5507return emitError('Invalid false started with f'+c);continue;case FALSE2:if(!c)continue;if(c==='l')state=FALSE3;else
5508return emitError('Invalid false started with fa'+c);continue;case FALSE3:if(!c)continue;if(c==='s')state=FALSE4;else
5509return emitError('Invalid false started with fal'+c);continue;case FALSE4:if(!c)continue;if(c==='e'){emitValueOpen(false);emitValueClose();state=stack.pop()||VALUE;}else
5510return emitError('Invalid false started with fals'+c);continue;case NULL:if(!c)continue;if(c==='u')state=NULL2;else
5511return emitError('Invalid null started with n'+c);continue;case NULL2:if(!c)continue;if(c==='l')state=NULL3;else
5512return emitError('Invalid null started with nu'+c);continue;case NULL3:if(!c)continue;if(c==='l'){emitValueOpen(null);emitValueClose();state=stack.pop()||VALUE;}else
5513return emitError('Invalid null started with nul'+c);continue;case NUMBER_DECIMAL_POINT:if(c==='.'){numberNode+=c;state=NUMBER_DIGIT;}else
5514return emitError('Leading zero not followed by .');continue;case NUMBER_DIGIT:if('0123456789'.indexOf(c)!==-1)numberNode+=c;else if(c==='.'){if(numberNode.indexOf('.')!==-1)
5515return emitError('Invalid number has two dots');numberNode+=c;}else if(c==='e'||c==='E'){if(numberNode.indexOf('e')!==-1||numberNode.indexOf('E')!==-1)
5516return emitError('Invalid number has two exponential');numberNode+=c;}else if(c==="+"||c==="-"){if(!(p==='e'||p==='E'))
5517return emitError('Invalid symbol in number');numberNode+=c;}else{if(numberNode){emitValueOpen(parseFloat(numberNode));emitValueClose();numberNode="";}
5518i--;state=stack.pop()||VALUE;}
5519continue;default:return emitError("Unknown state: "+state);}}
5520if(position>=bufferCheckPosition)
5521checkBufferLength();}}
5522function ascentManager(oboeBus,handlers){"use strict";var listenerId={},ascent;function stateAfter(handler){return function(param){ascent=handler(ascent,param);}}
5523for(var eventName in handlers){oboeBus(eventName).on(stateAfter(handlers[eventName]),listenerId);}
5524oboeBus(NODE_SWAP).on(function(newNode){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));parentNode[key]=newNode;}});oboeBus(NODE_DROP).on(function(){var oldHead=head(ascent),key=keyOf(oldHead),ancestors=tail(ascent),parentNode;if(ancestors){parentNode=nodeOf(head(ancestors));delete parentNode[key];}});oboeBus(ABORTING).on(function(){for(var eventName in handlers){oboeBus(eventName).un(listenerId);}});}
5525function parseResponseHeaders(headerStr){var headers={};headerStr&&headerStr.split('\u000d\u000a').forEach(function(headerPair){var index=headerPair.indexOf('\u003a\u0020');headers[headerPair.substring(0,index)]=headerPair.substring(index+2);});return headers;}
5526function isCrossOrigin(pageLocation,ajaxHost){function defaultPort(protocol){return{'http:':80,'https:':443}[protocol];}
5527function portOf(location){return location.port||defaultPort(location.protocol||pageLocation.protocol);}
5528return!!((ajaxHost.protocol&&(ajaxHost.protocol!=pageLocation.protocol))||(ajaxHost.host&&(ajaxHost.host!=pageLocation.host))||(ajaxHost.host&&(portOf(ajaxHost)!=portOf(pageLocation))));}
5529function parseUrlOrigin(url){var URL_HOST_PATTERN=/(\w+:)?(?:\/\/)([\w.-]+)?(?::(\d+))?\/?/,urlHostMatch=URL_HOST_PATTERN.exec(url)||[];return{protocol:urlHostMatch[1]||'',host:urlHostMatch[2]||'',port:urlHostMatch[3]||''};}
5530function httpTransport(){return new XMLHttpRequest();}
5531function streamingHttp(oboeBus,xhr,method,url,data,headers,withCredentials){"use strict";var emitStreamData=oboeBus(STREAM_DATA).emit,emitFail=oboeBus(FAIL_EVENT).emit,numberOfCharsAlreadyGivenToCallback=0,stillToSendStartEvent=true;oboeBus(ABORTING).on(function(){xhr.onreadystatechange=null;xhr.abort();});function handleProgress(){var textSoFar=xhr.responseText,newText=textSoFar.substr(numberOfCharsAlreadyGivenToCallback);if(newText){emitStreamData(newText);}
5532numberOfCharsAlreadyGivenToCallback=len(textSoFar);}
5533if('onprogress'in xhr){xhr.onprogress=handleProgress;}
5534xhr.onreadystatechange=function(){function sendStartIfNotAlready(){try{stillToSendStartEvent&&oboeBus(HTTP_START).emit(xhr.status,parseResponseHeaders(xhr.getAllResponseHeaders()));stillToSendStartEvent=false;}catch(e){}}
5535switch(xhr.readyState){case 2:case 3:return sendStartIfNotAlready();case 4:sendStartIfNotAlready();var successful=String(xhr.status)[0]==2;if(successful){handleProgress();oboeBus(STREAM_END).emit();}else{emitFail(errorReport(xhr.status,xhr.responseText));}}};try{xhr.open(method,url,true);for(var headerName in headers){xhr.setRequestHeader(headerName,headers[headerName]);}
5536if(!isCrossOrigin(window.location,parseUrlOrigin(url))){xhr.setRequestHeader('X-Requested-With','XMLHttpRequest');}
5537xhr.withCredentials=withCredentials;xhr.send(data);}catch(e){window.setTimeout(partialComplete(emitFail,errorReport(undefined,undefined,e)),0);}}
5538var jsonPathSyntax=(function(){var
5539regexDescriptor=function regexDescriptor(regex){return regex.exec.bind(regex);},jsonPathClause=varArgs(function(componentRegexes){componentRegexes.unshift(/^/);return regexDescriptor(RegExp(componentRegexes.map(attr('source')).join('')));}),possiblyCapturing=/(\$?)/,namedNode=/([\w-_]+|\*)/,namePlaceholder=/()/,nodeInArrayNotation=/\["([^"]+)"\]/,numberedNodeInArrayNotation=/\[(\d+|\*)\]/,fieldList=/{([\w ]*?)}/,optionalFieldList=/(?:{([\w ]*?)})?/
5540,jsonPathNamedNodeInObjectNotation=jsonPathClause(possiblyCapturing,namedNode,optionalFieldList),jsonPathNamedNodeInArrayNotation=jsonPathClause(possiblyCapturing,nodeInArrayNotation,optionalFieldList),jsonPathNumberedNodeInArrayNotation=jsonPathClause(possiblyCapturing,numberedNodeInArrayNotation,optionalFieldList),jsonPathPureDuckTyping=jsonPathClause(possiblyCapturing,namePlaceholder,fieldList),jsonPathDoubleDot=jsonPathClause(/\.\./),jsonPathDot=jsonPathClause(/\./),jsonPathBang=jsonPathClause(possiblyCapturing,/!/),emptyString=jsonPathClause(/$/);return function(fn){return fn(lazyUnion(jsonPathNamedNodeInObjectNotation,jsonPathNamedNodeInArrayNotation,jsonPathNumberedNodeInArrayNotation,jsonPathPureDuckTyping),jsonPathDoubleDot,jsonPathDot,jsonPathBang,emptyString);};}());function namedNode(key,node){return{key:key,node:node};}
5541var keyOf=attr('key');var nodeOf=attr('node');var ROOT_PATH={};function incrementalContentBuilder(oboeBus){var emitNodeOpened=oboeBus(NODE_OPENED).emit,emitNodeClosed=oboeBus(NODE_CLOSED).emit,emitRootOpened=oboeBus(ROOT_PATH_FOUND).emit,emitRootClosed=oboeBus(ROOT_NODE_FOUND).emit;function arrayIndicesAreKeys(possiblyInconsistentAscent,newDeepestNode){var parentNode=nodeOf(head(possiblyInconsistentAscent));return isOfType(Array,parentNode)?keyFound(possiblyInconsistentAscent,len(parentNode),newDeepestNode):possiblyInconsistentAscent;}
5542function nodeOpened(ascent,newDeepestNode){if(!ascent){emitRootOpened(newDeepestNode);return keyFound(ascent,ROOT_PATH,newDeepestNode);}
5543var arrayConsistentAscent=arrayIndicesAreKeys(ascent,newDeepestNode),ancestorBranches=tail(arrayConsistentAscent),previouslyUnmappedName=keyOf(head(arrayConsistentAscent));appendBuiltContent(ancestorBranches,previouslyUnmappedName,newDeepestNode);return cons(namedNode(previouslyUnmappedName,newDeepestNode),ancestorBranches);}
5544function appendBuiltContent(ancestorBranches,key,node){nodeOf(head(ancestorBranches))[key]=node;}
5545function keyFound(ascent,newDeepestName,maybeNewDeepestNode){if(ascent){appendBuiltContent(ascent,newDeepestName,maybeNewDeepestNode);}
5546var ascentWithNewPath=cons(namedNode(newDeepestName,maybeNewDeepestNode),ascent);emitNodeOpened(ascentWithNewPath);return ascentWithNewPath;}
5547function nodeClosed(ascent){emitNodeClosed(ascent);return tail(ascent)||emitRootClosed(nodeOf(head(ascent)));}
5548var contentBuilderHandlers={};contentBuilderHandlers[SAX_VALUE_OPEN]=nodeOpened;contentBuilderHandlers[SAX_VALUE_CLOSE]=nodeClosed;contentBuilderHandlers[SAX_KEY]=keyFound;return contentBuilderHandlers;}
5549var jsonPathCompiler=jsonPathSyntax(function(pathNodeSyntax,doubleDotSyntax,dotSyntax,bangSyntax,emptySyntax){var CAPTURING_INDEX=1;var NAME_INDEX=2;var FIELD_LIST_INDEX=3;var headKey=compose2(keyOf,head),headNode=compose2(nodeOf,head);function nameClause(previousExpr,detection){var name=detection[NAME_INDEX],matchesName=(!name||name=='*')?always:function(ascent){return headKey(ascent)==name};return lazyIntersection(matchesName,previousExpr);}
5550function duckTypeClause(previousExpr,detection){var fieldListStr=detection[FIELD_LIST_INDEX];if(!fieldListStr)
5551return previousExpr;var hasAllrequiredFields=partialComplete(hasAllProperties,arrayAsList(fieldListStr.split(/\W+/))),isMatch=compose2(hasAllrequiredFields,headNode);return lazyIntersection(isMatch,previousExpr);}
5552function capture(previousExpr,detection){var capturing=!!detection[CAPTURING_INDEX];if(!capturing)
5553return previousExpr;return lazyIntersection(previousExpr,head);}
5554function skip1(previousExpr){if(previousExpr==always){return always;}
5555function notAtRoot(ascent){return headKey(ascent)!=ROOT_PATH;}
5556return lazyIntersection(notAtRoot,compose2(previousExpr,tail));}
5557function skipMany(previousExpr){if(previousExpr==always){return always;}
5558var
5559terminalCaseWhenArrivingAtRoot=rootExpr(),terminalCaseWhenPreviousExpressionIsSatisfied=previousExpr,recursiveCase=skip1(function(ascent){return cases(ascent);}),cases=lazyUnion(terminalCaseWhenArrivingAtRoot,terminalCaseWhenPreviousExpressionIsSatisfied,recursiveCase);return cases;}
5560function rootExpr(){return function(ascent){return headKey(ascent)==ROOT_PATH;};}
5561function statementExpr(lastClause){return function(ascent){var exprMatch=lastClause(ascent);return exprMatch===true?head(ascent):exprMatch;};}
5562function expressionsReader(exprs,parserGeneratedSoFar,detection){return foldR(function(parserGeneratedSoFar,expr){return expr(parserGeneratedSoFar,detection);},parserGeneratedSoFar,exprs);}
5563function generateClauseReaderIfTokenFound(tokenDetector,clauseEvaluatorGenerators,jsonPath,parserGeneratedSoFar,onSuccess){var detected=tokenDetector(jsonPath);if(detected){var compiledParser=expressionsReader(clauseEvaluatorGenerators,parserGeneratedSoFar,detected),remainingUnparsedJsonPath=jsonPath.substr(len(detected[0]));return onSuccess(remainingUnparsedJsonPath,compiledParser);}}
5564function clauseMatcher(tokenDetector,exprs){return partialComplete(generateClauseReaderIfTokenFound,tokenDetector,exprs);}
5565var clauseForJsonPath=lazyUnion(clauseMatcher(pathNodeSyntax,list(capture,duckTypeClause,nameClause,skip1)),clauseMatcher(doubleDotSyntax,list(skipMany)),clauseMatcher(dotSyntax,list()),clauseMatcher(bangSyntax,list(capture,rootExpr)),clauseMatcher(emptySyntax,list(statementExpr)),function(jsonPath){throw Error('"'+jsonPath+'" could not be tokenised')});function returnFoundParser(_remainingJsonPath,compiledParser){return compiledParser}
5566function compileJsonPathToFunction(uncompiledJsonPath,parserGeneratedSoFar){var onFind=uncompiledJsonPath?compileJsonPathToFunction:returnFoundParser;return clauseForJsonPath(uncompiledJsonPath,parserGeneratedSoFar,onFind);}
5567return function(jsonPath){try{return compileJsonPathToFunction(jsonPath,always);}catch(e){throw Error('Could not compile "'+jsonPath+'" because '+e.message);}}});function singleEventPubSub(eventType,newListener,removeListener){var listenerTupleList,listenerList;function hasId(id){return function(tuple){return tuple.id==id;};}
5568return{on:function(listener,listenerId){var tuple={listener:listener,id:listenerId||listener};if(newListener){newListener.emit(eventType,listener,tuple.id);}
5569listenerTupleList=cons(tuple,listenerTupleList);listenerList=cons(listener,listenerList);return this;},emit:function(){applyEach(listenerList,arguments);},un:function(listenerId){var removed;listenerTupleList=without(listenerTupleList,hasId(listenerId),function(tuple){removed=tuple;});if(removed){listenerList=without(listenerList,function(listener){return listener==removed.listener;});if(removeListener){removeListener.emit(eventType,removed.listener,removed.id);}}},listeners:function(){return listenerList;},hasListener:function(listenerId){var test=listenerId?hasId(listenerId):always;return defined(first(test,listenerTupleList));}};}
5570function pubSub(){var singles={},newListener=newSingle('newListener'),removeListener=newSingle('removeListener');function newSingle(eventName){return singles[eventName]=singleEventPubSub(eventName,newListener,removeListener);}
5571function pubSubInstance(eventName){return singles[eventName]||newSingle(eventName);}
5572['emit','on','un'].forEach(function(methodName){pubSubInstance[methodName]=varArgs(function(eventName,parameters){apply(parameters,pubSubInstance(eventName)[methodName]);});});return pubSubInstance;}
5573var
5574_S=1,NODE_OPENED=_S++,NODE_CLOSED=_S++,NODE_SWAP=_S++,NODE_DROP=_S++,FAIL_EVENT='fail',ROOT_NODE_FOUND=_S++,ROOT_PATH_FOUND=_S++,HTTP_START='start',STREAM_DATA='data',STREAM_END='end',ABORTING=_S++,SAX_KEY=_S++,SAX_VALUE_OPEN=_S++,SAX_VALUE_CLOSE=_S++;function errorReport(statusCode,body,error){try{var jsonBody=JSON.parse(body);}catch(e){}
5575return{statusCode:statusCode,body:body,jsonBody:jsonBody,thrown:error};}
5576function patternAdapter(oboeBus,jsonPathCompiler){var predicateEventMap={node:oboeBus(NODE_CLOSED),path:oboeBus(NODE_OPENED)};function emitMatchingNode(emitMatch,node,ascent){var descent=reverseList(ascent);emitMatch(node,listAsArray(tail(map(keyOf,descent))),listAsArray(map(nodeOf,descent)));}
5577function addUnderlyingListener(fullEventName,predicateEvent,compiledJsonPath){var emitMatch=oboeBus(fullEventName).emit;predicateEvent.on(function(ascent){var maybeMatchingMapping=compiledJsonPath(ascent);if(maybeMatchingMapping!==false){emitMatchingNode(emitMatch,nodeOf(maybeMatchingMapping),ascent);}},fullEventName);oboeBus('removeListener').on(function(removedEventName){if(removedEventName==fullEventName){if(!oboeBus(removedEventName).listeners()){predicateEvent.un(fullEventName);}}});}
5578oboeBus('newListener').on(function(fullEventName){var match=/(node|path):(.*)/.exec(fullEventName);if(match){var predicateEvent=predicateEventMap[match[1]];if(!predicateEvent.hasListener(fullEventName)){addUnderlyingListener(fullEventName,predicateEvent,jsonPathCompiler(match[2]));}}})}
5579function instanceApi(oboeBus,contentSource){var oboeApi,fullyQualifiedNamePattern=/^(node|path):./,rootNodeFinishedEvent=oboeBus(ROOT_NODE_FOUND),emitNodeDrop=oboeBus(NODE_DROP).emit,emitNodeSwap=oboeBus(NODE_SWAP).emit,addListener=varArgs(function(eventId,parameters){if(oboeApi[eventId]){apply(parameters,oboeApi[eventId]);}else{var event=oboeBus(eventId),listener=parameters[0];if(fullyQualifiedNamePattern.test(eventId)){addForgettableCallback(event,listener);}else{event.on(listener);}}
5580return oboeApi;}),removeListener=function(eventId,p2,p3){if(eventId=='done'){rootNodeFinishedEvent.un(p2);}else if(eventId=='node'||eventId=='path'){oboeBus.un(eventId+':'+p2,p3);}else{var listener=p2;oboeBus(eventId).un(listener);}
5581return oboeApi;};function addProtectedCallback(eventName,callback){oboeBus(eventName).on(protectedCallback(callback),callback);return oboeApi;}
5582function addForgettableCallback(event,callback,listenerId){listenerId=listenerId||callback;var safeCallback=protectedCallback(callback);event.on(function(){var discard=false;oboeApi.forget=function(){discard=true;};apply(arguments,safeCallback);delete oboeApi.forget;if(discard){event.un(listenerId);}},listenerId);return oboeApi;}
5583function protectedCallback(callback){return function(){try{return callback.apply(oboeApi,arguments);}catch(e){setTimeout(function(){throw new Error(e.message);});}}}
5584function fullyQualifiedPatternMatchEvent(type,pattern){return oboeBus(type+':'+pattern);}
5585function wrapCallbackToSwapNodeIfSomethingReturned(callback){return function(){var returnValueFromCallback=callback.apply(this,arguments);if(defined(returnValueFromCallback)){if(returnValueFromCallback==oboe.drop){emitNodeDrop();}else{emitNodeSwap(returnValueFromCallback);}}}}
5586function addSingleNodeOrPathListener(eventId,pattern,callback){var effectiveCallback;if(eventId=='node'){effectiveCallback=wrapCallbackToSwapNodeIfSomethingReturned(callback);}else{effectiveCallback=callback;}
5587addForgettableCallback(fullyQualifiedPatternMatchEvent(eventId,pattern),effectiveCallback,callback);}
5588function addMultipleNodeOrPathListeners(eventId,listenerMap){for(var pattern in listenerMap){addSingleNodeOrPathListener(eventId,pattern,listenerMap[pattern]);}}
5589function addNodeOrPathListenerApi(eventId,jsonPathOrListenerMap,callback){if(isString(jsonPathOrListenerMap)){addSingleNodeOrPathListener(eventId,jsonPathOrListenerMap,callback);}else{addMultipleNodeOrPathListeners(eventId,jsonPathOrListenerMap);}
5590return oboeApi;}
5591oboeBus(ROOT_PATH_FOUND).on(function(rootNode){oboeApi.root=functor(rootNode);});oboeBus(HTTP_START).on(function(_statusCode,headers){oboeApi.header=function(name){return name?headers[name]:headers;}});return oboeApi={on:addListener,addListener:addListener,removeListener:removeListener,emit:oboeBus.emit,node:partialComplete(addNodeOrPathListenerApi,'node'),path:partialComplete(addNodeOrPathListenerApi,'path'),done:partialComplete(addForgettableCallback,rootNodeFinishedEvent),start:partialComplete(addProtectedCallback,HTTP_START),fail:oboeBus(FAIL_EVENT).on,abort:oboeBus(ABORTING).emit,write:oboeBus(STREAM_DATA).emit,finish:oboeBus(STREAM_END).emit,header:noop,root:noop,source:contentSource};}
5592function wire(httpMethodName,contentSource,body,headers,withCredentials){var oboeBus=pubSub();if(contentSource){streamingHttp(oboeBus,httpTransport(),httpMethodName,contentSource,body,headers,withCredentials);}
5593clarinet(oboeBus);ascentManager(oboeBus,incrementalContentBuilder(oboeBus));patternAdapter(oboeBus,jsonPathCompiler);return instanceApi(oboeBus,contentSource);}
5594function applyDefaults(passthrough,url,httpMethodName,body,headers,withCredentials,cached){headers=headers?JSON.parse(JSON.stringify(headers)):{};if(body){if(!isString(body)){body=JSON.stringify(body);headers['Content-Type']=headers['Content-Type']||'application/json';}}else{body=null;}
5595function modifiedUrl(baseUrl,cached){if(cached===false){if(baseUrl.indexOf('?')==-1){baseUrl+='?';}else{baseUrl+='&';}
5596baseUrl+='_='+new Date().getTime();}
5597return baseUrl;}
5598return passthrough(httpMethodName||'GET',modifiedUrl(url,cached),body,headers,withCredentials||false);}
5599function oboe(arg1){var nodeStreamMethodNames=list('resume','pause','pipe'),isStream=partialComplete(hasAllProperties,nodeStreamMethodNames);if(arg1){if(isStream(arg1)||isString(arg1)){return applyDefaults(wire,arg1);}else{return applyDefaults(wire,arg1.url,arg1.method,arg1.body,arg1.headers,arg1.withCredentials,arg1.cached);}}else{return wire();}}
5600oboe.drop=function(){return oboe.drop;};if(typeof define==="function"&&define.amd){define("oboe",[],function(){return oboe;});}else if(typeof exports==='object'){module.exports=oboe;}else{window.oboe=oboe;}})((function(){try{return window;}catch(e){return self;}}()),Object,Array,Error,JSON);'use strict';if(tr.isHeadless){global.window={};}'use strict';if(tr.isVinn){global.oboe=global.window.oboe;global.window=undefined;}else if(tr.isNode){global.window=undefined;const path=HTMLImportsLoader.hrefToAbsolutePath('/oboe/dist/oboe-node.js');global.oboe=require(path);}'use strict';tr.exportTo('tr.e.importer',function(){const STRING_ID_SUFFIX='_sid';const PLURAL_STRING_ID_SUFFIX='_sids';function isStringReference(s){return s.endsWith(STRING_ID_SUFFIX)||s.endsWith(PLURAL_STRING_ID_SUFFIX);}
5601function getStringReferenceName(name){if(name.endsWith(PLURAL_STRING_ID_SUFFIX)){return name.slice(0,-PLURAL_STRING_ID_SUFFIX.length);}
5602return name.slice(0,-STRING_ID_SUFFIX.length);}
5603function deferenceStrings(idToString,o){const clone=Object.assign({},o);for(const[key,value]of Object.entries(clone)){if(isStringReference(key)){const name=getStringReferenceName(key);clone[name]=idToString(value);}}
5604return clone;}
5605function singularize(word){if(word.endsWith('s')){return word.slice(0,-1);}
5606return word;}
5607function getMetadataPairs(dataJson){const isMetadata=v=>typeof v!=='object'||Array.isArray(v);const pairs=Object.entries(dataJson);const metadataPairs=pairs.filter(([_,v])=>isMetadata(v));return metadataPairs;}
5608function getGroupPairs(dataJson){const pairs=Object.entries(dataJson);const nonMapPairs=pairs.filter(([k,_])=>k!=='maps');const groupPairs=nonMapPairs.filter(([_,v])=>typeof v==='object');return groupPairs;}
5609function createMap(mapJson){const map=new Map();for(const entry of mapJson){if(entry.id===undefined){throw new Error('Missing required key "id" in streaming event.');}
5610map.set(entry.id,entry);}
5611return map;}
5612function createMaps(mapsJson){const maps=new Map();for(const[name,mapJson]of Object.entries(mapsJson)){maps.set(name,createMap(mapJson));}
5613return maps;}
5614function createGroup(groupJson,opt_startTime){const entries=[];const n=Object.values(groupJson)[0].length;for(let i=0;i<n;i++){const entry={};for(const name in groupJson){entry[name]=groupJson[name][i];}
5615entries.push(entry);}
5616const timeDelta=groupJson.timeDelta;if(opt_startTime===undefined&&timeDelta!==undefined){throw new Error('Missing required key "startTime" in streaming event.');}
5617if(opt_startTime){let delta=0;for(const entry of entries){delta+=entry.timeDelta?entry.timeDelta:0;entry.time=opt_startTime+delta;}}
5618return entries;}
5619function createGroups(groupsJson,opt_startTime){const groups=new Map();for(const[name,groupJson]of Object.entries(groupsJson)){groups.set(name,createGroup(groupJson,opt_startTime));}
5620return groups;}
5621function createMetadata(metadataPairs){const metadata=new Map();for(const[name,value]of metadataPairs){metadata.set(name,value);}
5622if(metadata.get('version')===undefined){throw new Error('Missing required key "version" in streaming event.');}
5623return metadata;}
5624class ProfilingDictionaryReader{constructor(opt_metadata,opt_maps,opt_groups,opt_parent){this.metadata=opt_metadata||new Map();this.maps=opt_maps||new Map();this.groups=opt_groups||new Map();this.parent_=opt_parent||undefined;this.inflated_=undefined;this.raw_=undefined;this.boundGetString_=this.getString.bind(this);this.deferenceStrings_=o=>deferenceStrings(this.boundGetString_,o);}
5625static empty(){return new ProfilingDictionaryReader();}
5626get parent(){return this.parent_;}
5627get raw(){if(this.raw_)return this.raw_;this.raw_={};for(const[name,group]of this.groups.entries()){this.raw_[name]=group;}
5628return this.raw_;}
5629get inflated(){if(this.inflated_)return this.inflated_;this.inflated_={};for(const[name,group]of this.groups.entries()){this.inflated_[name]=this.inflateGroup(group);}
5630return this.inflated_;}
5631getNewMap(name){return this.maps.get(name)||new Map();}
5632getMapValue(mapName,id){let value=this.getNewMap(mapName).get(id);if(value===undefined&&this.parent){value=this.parent.getMapValue(mapName,id);}
5633return value;}
5634getString(id){const value=this.getMapValue('strings',id);if(value===undefined)return undefined;return value.string;}
5635hasMap(name){if(this.maps.has(name))return true;if(this.parent===undefined)return false;return this.parent.hasMap(name);}
5636inflateGroup(group){return group.map(this.inflateEntry.bind(this));}
5637inflateEntry(entry){const inflatedEntry={};for(const[name,value]of Object.entries(entry)){let inflatedValue;if(this.hasMap(name)){const id=value;inflatedValue=this.deferenceStrings_(this.getMapValue(name,id));}else{inflatedValue=value;}
5638inflatedEntry[singularize(name)]=inflatedValue;}
5639return this.deferenceStrings_(inflatedEntry);}
5640expandData(data){const mapsJson=data.maps||{};const groupsJson=data.allocators||{};const metadataPairs=getMetadataPairs(data);const metadata=createMetadata(metadataPairs);const opt_startTime=metadata.get('startTime');const maps=createMaps(mapsJson);const groups=createGroups(groupsJson,opt_startTime);return new ProfilingDictionaryReader(metadata,maps,groups,this);}
5641expandEvent(event){return this.expandData(event.args.data);}}
5642return{ProfilingDictionaryReader,singularize,deferenceStringsForTest:deferenceStrings,};});'use strict';tr.exportTo('tr.model.source_info',function(){function SourceInfo(file,opt_line,opt_column){this.file_=file;this.line_=opt_line||-1;this.column_=opt_column||-1;}
5643SourceInfo.prototype={get file(){return this.file_;},get line(){return this.line_;},get column(){return this.column_;},get domain(){if(!this.file_)return undefined;const domain=this.file_.match(/(.*:\/\/[^:\/]*)/i);return domain?domain[1]:undefined;},toString(){let str='';if(this.file_){str+=this.file_;}
5644if(this.line_>0){str+=':'+this.line_;}
5645if(this.column_>0){str+=':'+this.column_;}
5646return str;}};return{SourceInfo,};});'use strict';tr.exportTo('tr.model.source_info',function(){function JSSourceInfo(file,line,column,isNative,scriptId,state){tr.model.source_info.SourceInfo.call(this,file,line,column);this.isNative_=isNative;this.scriptId_=scriptId;this.state_=state;}
5647JSSourceInfo.prototype={__proto__:tr.model.source_info.SourceInfo.prototype,get state(){return this.state_;},get isNative(){return this.isNative_;},get scriptId(){return this.scriptId_;},toString(){const str=this.isNative_?'[native v8] ':'';return str+
5648tr.model.source_info.SourceInfo.prototype.toString.call(this);}};const JSSourceState={COMPILED:'compiled',OPTIMIZABLE:'optimizable',OPTIMIZED:'optimized',UNKNOWN:'unknown',};return{JSSourceInfo,JSSourceState,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeEntry(address,size,name,scriptId){this.id_=tr.b.GUID.allocateSimple();this.address_=address;this.size_=size;const rePrefix=/^(\w*:)?([*~]?)(.*)$/m;const tokens=rePrefix.exec(name);const prefix=tokens[1];let state=tokens[2];const body=tokens[3];if(state==='*'){state=tr.model.source_info.JSSourceState.OPTIMIZED;}else if(state==='~'){state=tr.model.source_info.JSSourceState.OPTIMIZABLE;}else if(state===''){state=tr.model.source_info.JSSourceState.COMPILED;}else{state=tr.model.source_info.JSSourceState.UNKNOWN;}
5649let rawName;let rawUrl;if(prefix==='Script:'){rawName='';rawUrl=body;}else{const spacePos=body.lastIndexOf(' ');rawName=spacePos!==-1?body.substr(0,spacePos):body;rawUrl=spacePos!==-1?body.substr(spacePos+1):'';}
5650function splitLineAndColumn(url){const lineColumnRegEx=/(?::(\d+))?(?::(\d+))?$/;const lineColumnMatch=lineColumnRegEx.exec(url);let lineNumber;let columnNumber;if(typeof(lineColumnMatch[1])==='string'){lineNumber=parseInt(lineColumnMatch[1],10);lineNumber=isNaN(lineNumber)?undefined:lineNumber-1;}
5651if(typeof(lineColumnMatch[2])==='string'){columnNumber=parseInt(lineColumnMatch[2],10);columnNumber=isNaN(columnNumber)?undefined:columnNumber-1;}
5652return{url:url.substring(0,url.length-lineColumnMatch[0].length),lineNumber,columnNumber};}
5653const nativeSuffix=' native';const isNative=rawName.endsWith(nativeSuffix);this.name_=isNative?rawName.slice(0,-nativeSuffix.length):rawName;const urlData=splitLineAndColumn(rawUrl);const url=urlData.url||'';const line=urlData.lineNumber||0;const column=urlData.columnNumber||0;this.sourceInfo_=new tr.model.source_info.JSSourceInfo(url,line,column,isNative,scriptId,state);}
5654TraceCodeEntry.prototype={get id(){return this.id_;},get sourceInfo(){return this.sourceInfo_;},get name(){return this.name_;},set address(address){this.address_=address;},get address(){return this.address_;},set size(size){this.size_=size;},get size(){return this.size_;}};return{TraceCodeEntry,};});'use strict';tr.exportTo('tr.e.importer',function(){function TraceCodeMap(){this.banks_=new Map();}
5655TraceCodeMap.prototype={addEntry(addressHex,size,name,scriptId){const entry=new tr.e.importer.TraceCodeEntry(this.getAddress_(addressHex),size,name,scriptId);this.addEntry_(addressHex,entry);},moveEntry(oldAddressHex,newAddressHex,size){const entry=this.getBank_(oldAddressHex).removeEntry(this.getAddress_(oldAddressHex));if(!entry)return;entry.address=this.getAddress_(newAddressHex);entry.size=size;this.addEntry_(newAddressHex,entry);},lookupEntry(addressHex){return this.getBank_(addressHex).lookupEntry(this.getAddress_(addressHex));},addEntry_(addressHex,entry){this.getBank_(addressHex).addEntry(entry);},getAddress_(addressHex){const bankSizeHexDigits=13;addressHex=addressHex.slice(2);return parseInt(addressHex.slice(-bankSizeHexDigits),16);},getBank_(addressHex){addressHex=addressHex.slice(2);const bankSizeHexDigits=13;const maxHexDigits=16;const bankName=addressHex.slice(-maxHexDigits,-bankSizeHexDigits);let bank=this.banks_.get(bankName);if(!bank){bank=new TraceCodeBank();this.banks_.set(bankName,bank);}
5656return bank;}};function TraceCodeBank(){this.entries_=[];}
5657TraceCodeBank.prototype={removeEntry(address){if(this.entries_.length===0)return undefined;const index=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},address);const entry=this.entries_[index];if(!entry||entry.address!==address)return undefined;this.entries_.splice(index,1);return entry;},lookupEntry(address){const index=tr.b.math.findHighIndexInSortedArray(this.entries_,function(e){return address-e.address;})-1;const entry=this.entries_[index];return entry&&address<entry.address+entry.size?entry:undefined;},addEntry(newEntry){if(this.entries_.length===0){this.entries_.push(newEntry);}
5658const endAddress=newEntry.address+newEntry.size;const lastIndex=tr.b.math.findLowIndexInSortedArray(this.entries_,function(entry){return entry.address;},endAddress);let index;for(index=lastIndex-1;index>=0;--index){const entry=this.entries_[index];const entryEndAddress=entry.address+entry.size;if(entryEndAddress<=newEntry.address)break;}
5659++index;this.entries_.splice(index,lastIndex-index,newEntry);}};return{TraceCodeMap,};});'use strict';tr.exportTo('tr.importer',function(){function ContextProcessor(model){this.model_=model;this.activeContexts_=[];this.stackPerType_={};this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.seenSnapshots_={};}
5660ContextProcessor.prototype={enterContext(contextType,scopedId){const newActiveContexts=[this.getOrCreateContext_(contextType,scopedId),];for(const oldContext of this.activeContexts_){if(oldContext.type===contextType){this.pushContext_(oldContext);}else{newActiveContexts.push(oldContext);}}
5661this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},leaveContext(contextType,scopedId){this.leaveContextImpl_(context=>context.type===contextType&&context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},destroyContext(scopedId){for(const stack of Object.values(this.stackPerType_)){let newLength=0;for(let i=0;i<stack.length;++i){if(stack[i].snapshot.scope!==scopedId.scope||stack[i].snapshot.idRef!==scopedId.id){stack[newLength++]=stack[i];}}
5662stack.length=newLength;}
5663this.leaveContextImpl_(context=>context.snapshot.scope===scopedId.scope&&context.snapshot.idRef===scopedId.id);},leaveContextImpl_(predicate){const newActiveContexts=[];for(const oldContext of this.activeContexts_){if(predicate(oldContext)){const previousContext=this.popContext_(oldContext.type);if(previousContext){newActiveContexts.push(previousContext);}}else{newActiveContexts.push(oldContext);}}
5664this.activeContexts_=newActiveContexts;this.cachedEntryForActiveContexts_=undefined;},getOrCreateContext_(contextType,scopedId){const context={type:contextType,snapshot:{scope:scopedId.scope,idRef:scopedId.id}};const key=this.getContextKey_(context);if(key in this.contextCache_){return this.contextCache_[key];}
5665this.contextCache_[key]=context;const snapshotKey=this.getSnapshotKey_(scopedId);this.seenSnapshots_[snapshotKey]=true;return context;},pushContext_(context){if(!(context.type in this.stackPerType_)){this.stackPerType_[context.type]=[];}
5666this.stackPerType_[context.type].push(context);},popContext_(contextType){if(!(contextType in this.stackPerType_)){return undefined;}
5667return this.stackPerType_[contextType].pop();},getContextKey_(context){return[context.type,context.snapshot.scope,context.snapshot.idRef].join('\x00');},getSnapshotKey_(scopedId){return[scopedId.scope,scopedId.idRef].join('\x00');},get activeContexts(){if(this.cachedEntryForActiveContexts_===undefined){let key=[];for(const context of this.activeContexts_){key.push(this.getContextKey_(context));}
5668key.sort();key=key.join('\x00');if(key in this.contextSetCache_){this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}else{this.activeContexts_.sort(function(a,b){const keyA=this.getContextKey_(a);const keyB=this.getContextKey_(b);if(keyA<keyB){return-1;}
5669if(keyA>keyB){return 1;}
5670return 0;}.bind(this));this.contextSetCache_[key]=Object.freeze(this.activeContexts_);this.cachedEntryForActiveContexts_=this.contextSetCache_[key];}}
5671return this.cachedEntryForActiveContexts_;},invalidateContextCacheForSnapshot(scopedId){const snapshotKey=this.getSnapshotKey_(scopedId);if(!(snapshotKey in this.seenSnapshots_))return;this.contextCache_={};this.contextSetCache_={};this.cachedEntryForActiveContexts_=undefined;this.activeContexts_=this.activeContexts_.map(function(context){if(context.snapshot.scope!==scopedId.scope||context.snapshot.idRef!==scopedId.id){return context;}
5672return{type:context.type,snapshot:{scope:context.snapshot.scope,idRef:context.snapshot.idRef}};});this.seenSnapshots_={};},};return{ContextProcessor,};});'use strict';tr.exportTo('tr.model',function(){function Annotation(){this.guid_=tr.b.GUID.allocateSimple();this.view_=undefined;}
5673Annotation.fromDictIfPossible=function(args){if(args.typeName===undefined){throw new Error('Missing typeName argument');}
5674const typeInfo=Annotation.findTypeInfoMatching(function(typeInfo){return typeInfo.metadata.typeName===args.typeName;});if(typeInfo===undefined)return undefined;return typeInfo.constructor.fromDict(args);};Annotation.fromDict=function(){throw new Error('Not implemented');};Annotation.prototype={get guid(){return this.guid_;},onRemove(){},toDict(){throw new Error('Not implemented');},getOrCreateView(viewport){if(!this.view_){this.view_=this.createView_(viewport);}
5675return this.view_;},createView_(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(Annotation,options);Annotation.addEventListener('will-register',function(e){if(!e.typeInfo.constructor.hasOwnProperty('fromDict')){throw new Error('Must have fromDict method');}
5676if(!e.typeInfo.metadata.typeName){throw new Error('Registered Annotations must provide typeName');}});return{Annotation,};});'use strict';tr.exportTo('tr.model',function(){function YComponent(stableId,yPercentOffset){this.stableId=stableId;this.yPercentOffset=yPercentOffset;}
5677YComponent.prototype={toDict(){return{stableId:this.stableId,yPercentOffset:this.yPercentOffset};}};function Location(xWorld,yComponents){this.xWorld_=xWorld;this.yComponents_=yComponents;}
5678Location.fromViewCoordinates=function(viewport,viewX,viewY){const dt=viewport.currentDisplayTransform;const xWorld=dt.xViewToWorld(viewX);const yComponents=[];let elem=document.elementFromPoint(viewX+viewport.modelTrackContainer.canvas.offsetLeft,viewY+viewport.modelTrackContainer.canvas.offsetTop);while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(viewY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
5679elem=elem.parentElement;}
5680if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.fromStableIdAndTimestamp=function(viewport,stableId,ts){const xWorld=ts;const yComponents=[];const containerToTrack=viewport.containerToTrackMap;let elem=containerToTrack.getTrackByStableId(stableId);if(!elem)return;const firstY=elem.getBoundingClientRect().top;while(elem instanceof tr.ui.tracks.Track){if(elem.eventContainer){const boundRect=elem.getBoundingClientRect();const yPercentOffset=(firstY-boundRect.top)/boundRect.height;yComponents.push(new YComponent(elem.eventContainer.stableId,yPercentOffset));}
5681elem=elem.parentElement;}
5682if(yComponents.length===0)return;return new Location(xWorld,yComponents);};Location.prototype={get xWorld(){return this.xWorld_;},getContainingTrack(viewport){const containerToTrack=viewport.containerToTrackMap;for(const i in this.yComponents_){const yComponent=this.yComponents_[i];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined)return track;}},toViewCoordinates(viewport){const dt=viewport.currentDisplayTransform;const containerToTrack=viewport.containerToTrackMap;const viewX=dt.xWorldToView(this.xWorld_);let viewY=-1;for(const index in this.yComponents_){const yComponent=this.yComponents_[index];const track=containerToTrack.getTrackByStableId(yComponent.stableId);if(track!==undefined){const boundRect=track.getBoundingClientRect();viewY=yComponent.yPercentOffset*boundRect.height+boundRect.top;break;}}
5683return{viewX,viewY};},toDict(){return{xWorld:this.xWorld_,yComponents:this.yComponents_};}};return{Location,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function AnnotationView(viewport,annotation){}
5684AnnotationView.prototype={draw(ctx){throw new Error('Not implemented');}};return{AnnotationView,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function RectAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
5685RectAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const startCoords=this.annotation_.startLocation.toViewCoordinates(this.viewport_);const endCoords=this.annotation_.endLocation.toViewCoordinates(this.viewport_);let startY=startCoords.viewY-ctx.canvas.getBoundingClientRect().top;const sizeY=endCoords.viewY-startCoords.viewY;if(startY+sizeY<0){startY=sizeY;}else if(startY<0){startY=0;}
5686ctx.fillStyle=this.annotation_.fillStyle;ctx.fillRect(startCoords.viewX,startY,endCoords.viewX-startCoords.viewX,sizeY);}};return{RectAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function RectAnnotation(start,end){tr.model.Annotation.apply(this,arguments);this.startLocation_=start;this.endLocation_=end;this.fillStyle='rgba(255, 180, 0, 0.3)';}
5687RectAnnotation.fromDict=function(dict){const args=dict.args;const startLoc=new tr.model.Location(args.start.xWorld,args.start.yComponents);const endLoc=new tr.model.Location(args.end.xWorld,args.end.yComponents);return new tr.model.RectAnnotation(startLoc,endLoc);};RectAnnotation.prototype={__proto__:tr.model.Annotation.prototype,get startLocation(){return this.startLocation_;},get endLocation(){return this.endLocation_;},toDict(){return{typeName:'rect',args:{start:this.startLocation.toDict(),end:this.endLocation.toDict()}};},createView_(viewport){return new tr.ui.annotations.RectAnnotationView(viewport,this);}};tr.model.Annotation.register(RectAnnotation,{typeName:'rect'});return{RectAnnotation,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function CommentBoxAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;this.textArea_=undefined;this.styleWidth=250;this.styleHeight=50;this.fontSize=10;this.rightOffset=50;this.topOffset=25;}
5688CommentBoxAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,removeTextArea(){Polymer.dom(Polymer.dom(this.textArea_).parentNode).removeChild(this.textArea_);},draw(ctx){const coords=this.annotation_.location.toViewCoordinates(this.viewport_);if(coords.viewX<0){if(this.textArea_){this.textArea_.style.visibility='hidden';}
5689return;}
5690if(!this.textArea_){this.textArea_=document.createElement('textarea');this.textArea_.style.position='absolute';this.textArea_.readOnly=true;this.textArea_.value=this.annotation_.text;this.textArea_.style.zIndex=1;Polymer.dom(Polymer.dom(ctx.canvas).parentNode).appendChild(this.textArea_);}
5691this.textArea_.style.width=this.styleWidth+'px';this.textArea_.style.height=this.styleHeight+'px';this.textArea_.style.fontSize=this.fontSize+'px';this.textArea_.style.visibility='visible';this.textArea_.style.left=coords.viewX+ctx.canvas.getBoundingClientRect().left+
5692this.rightOffset+'px';this.textArea_.style.top=coords.viewY-ctx.canvas.getBoundingClientRect().top-
5693this.topOffset+'px';ctx.strokeStyle='rgb(0, 0, 0)';ctx.lineWidth=2;ctx.beginPath();tr.ui.b.drawLine(ctx,coords.viewX,coords.viewY-ctx.canvas.getBoundingClientRect().top,coords.viewX+this.rightOffset,coords.viewY-this.topOffset-
5694ctx.canvas.getBoundingClientRect().top);ctx.stroke();}};return{CommentBoxAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function CommentBoxAnnotation(location,text){tr.model.Annotation.apply(this,arguments);this.location=location;this.text=text;}
5695CommentBoxAnnotation.fromDict=function(dict){const args=dict.args;const location=new tr.model.Location(args.location.xWorld,args.location.yComponents);return new tr.model.CommentBoxAnnotation(location,args.text);};CommentBoxAnnotation.prototype={__proto__:tr.model.Annotation.prototype,onRemove(){this.view_.removeTextArea();},toDict(){return{typeName:'comment_box',args:{text:this.text,location:this.location.toDict()}};},createView_(viewport){return new tr.ui.annotations.CommentBoxAnnotationView(viewport,this);}};tr.model.Annotation.register(CommentBoxAnnotation,{typeName:'comment_box'});return{CommentBoxAnnotation,};});'use strict';tr.exportTo('tr.model',function(){function ScopedId(scope,id,pid){if(scope===undefined){throw new Error('Scope should be defined. Use \''+
5696tr.model.OBJECT_DEFAULT_SCOPE+'\' as the default scope.');}
5697this.scope=scope;this.id=id;this.pid=pid;}
5698ScopedId.prototype={toString(){const pidStr=this.pid===undefined?'':'pid: '+this.pid+', ';return'{'+pidStr+'scope: '+this.scope+', id: '+this.id+'}';},toStringWithDelimiter(delim){return(this.pid===undefined?'':this.pid)+delim+
5699this.scope+delim+this.id;}};return{ScopedId,};});'use strict';tr.exportTo('tr.ui.annotations',function(){function XMarkerAnnotationView(viewport,annotation){this.viewport_=viewport;this.annotation_=annotation;}
5700XMarkerAnnotationView.prototype={__proto__:tr.ui.annotations.AnnotationView.prototype,draw(ctx){const dt=this.viewport_.currentDisplayTransform;const viewX=dt.xWorldToView(this.annotation_.timestamp);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,ctx.canvas.height);ctx.strokeStyle=this.annotation_.strokeStyle;ctx.stroke();}};return{XMarkerAnnotationView,};});'use strict';tr.exportTo('tr.model',function(){function XMarkerAnnotation(timestamp){tr.model.Annotation.apply(this,arguments);this.timestamp=timestamp;this.strokeStyle='rgba(0, 0, 255, 0.5)';}
5701XMarkerAnnotation.fromDict=function(dict){return new XMarkerAnnotation(dict.args.timestamp);};XMarkerAnnotation.prototype={__proto__:tr.model.Annotation.prototype,toDict(){return{typeName:'xmarker',args:{timestamp:this.timestamp}};},createView_(viewport){return new tr.ui.annotations.XMarkerAnnotationView(viewport,this);}};tr.model.Annotation.register(XMarkerAnnotation,{typeName:'xmarker'});return{XMarkerAnnotation,};});'use strict';tr.exportTo('tr.e.importer',function(){const Base64=tr.b.Base64;const deepCopy=tr.b.deepCopy;const ColorScheme=tr.b.ColorScheme;const HeapDumpTraceEventImporter=tr.e.importer.HeapDumpTraceEventImporter;const LegacyHeapDumpTraceEventImporter=tr.e.importer.LegacyHeapDumpTraceEventImporter;const StreamingEventExpander=tr.e.importer.StreamingEventExpander;const ProfilingDictionaryReader=tr.e.importer.ProfilingDictionaryReader;function getEventColor(event,opt_customName){if(event.cname){return ColorScheme.getColorIdForReservedName(event.cname);}else if(opt_customName||event.name){return ColorScheme.getColorIdForGeneralPurposeString(opt_customName||event.name);}}
5702function isLegacyChromeClockSyncEvent(event){return event.name!==undefined&&event.name.startsWith(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX)&&((event.ph==='S')||(event.ph==='F'));}
5703const PRODUCER='producer';const CONSUMER='consumer';const STEP='step';const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER=[undefined,BACKGROUND,LIGHT,DETAILED];const GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX='global/';const LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX='ClockSyncEvent.';const BYTE_STAT_NAME_MAP={'pc':'privateCleanResident','pd':'privateDirtyResident','sc':'sharedCleanResident','sd':'sharedDirtyResident','pss':'proportionalResident','sw':'swapped'};const WEAK_MEMORY_ALLOCATOR_DUMP_FLAG=1<<0;const OBJECT_TYPE_NAME_PATTERNS=[{prefix:'const char *WOW::getStringWithTypeName() [T = ',suffix:']'},{prefix:'const char* WOW::getStringWithTypeName() [with T = ',suffix:']'},{prefix:'const char *__cdecl WOW::getStringWithTypeName<',suffix:'>(void)'}];const SUBTRACE_FIELDS=new Set(['powerTraceAsString','systemTraceEvents',]);const NON_METADATA_FIELDS=new Set(['displayTimeUnit','samples','stackFrames','traceAnnotations','traceEvents',...SUBTRACE_FIELDS]);function TraceEventImporter(model,eventData){this.hasEvents_=undefined;this.importPriority=1;this.model_=model;this.events_=undefined;this.sampleEvents_=undefined;this.stackFrameEvents_=undefined;this.stackFrameTree_=new tr.model.ProfileTree();this.subtraces_=[];this.eventsWereFromString_=false;this.softwareMeasuredCpuCount_=undefined;this.allAsyncEvents_=[];this.allFlowEvents_=[];this.allObjectEvents_=[];this.contextProcessorPerThread={};this.traceEventSampleStackFramesByName_={};this.v8ProcessCodeMaps_={};this.v8ProcessRootStackFrame_={};this.v8SamplingData_=[];this.profileTrees_=new Map();this.profileInfo_=new Map();this.legacyChromeClockSyncStartEvent_=undefined;this.legacyChromeClockSyncFinishEvent_=undefined;this.allMemoryDumpEvents_={};this.heapProfileExpander=new ProfilingDictionaryReader();this.objectTypeNameMap_={};this.clockDomainId_=tr.model.ClockDomainId.UNKNOWN_CHROME_LEGACY;this.toModelTime_=undefined;if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();if(eventData[0]==='['){eventData=eventData.replace(/\s*,\s*$/,'');if(eventData[eventData.length-1]!==']'){eventData=eventData+']';}}
5704this.events_=JSON.parse(eventData);this.eventsWereFromString_=true;}else{this.events_=eventData;}
5705if(this.events_.traceEvents){const container=this.events_;this.events_=this.events_.traceEvents;for(const subtraceField of SUBTRACE_FIELDS){if(container[subtraceField]){this.storeSubtrace_(container[subtraceField]);}}
5706this.storeSamples_(container.samples);this.storeStackFrames_(container.stackFrames);this.storeDisplayTimeUnit_(container.displayTimeUnit);this.storeTraceAnnotations_(container.traceAnnotations);this.storeMetadata_(container);}else if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',function(e){return oboe.drop;}).node('!.powerTraceAsString',this.storeSubtrace_.bind(this)).node('!.systemTraceEvents',this.storeSubtrace_.bind(this)).node('!.samples',this.storeSamples_.bind(this)).node('!.stackFrames',this.storeStackFrames_.bind(this)).node('!.displayTimeUnit',this.storeDisplayTimeUnit_.bind(this)).node('!.traceAnnotations',this.storeTraceAnnotations_.bind(this)).done(this.storeMetadata_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5707parser.finish();}}
5708TraceEventImporter.canImport=function(eventData){if(eventData instanceof tr.b.TraceStream){if(eventData.isBinary)return false;eventData=eventData.header;}
5709if(typeof(eventData)==='string'||eventData instanceof String){eventData=eventData.trim();return eventData[0]==='{'||eventData[0]==='[';}
5710if(eventData instanceof Array&&eventData.length&&eventData[0].ph){return true;}
5711if(eventData.traceEvents){if(eventData.traceEvents instanceof Array){if(eventData.traceEvents.length&&eventData.traceEvents[0].ph){return true;}
5712if(eventData.samples&&eventData.samples.length&&eventData.stackFrames!==undefined){return true;}}}
5713return false;};TraceEventImporter.scopedIdForEvent_=function(event){const scope=event.scope||tr.model.OBJECT_DEFAULT_SCOPE;let pid=undefined;if(event.id!==undefined){if(event.id2!==undefined){throw new Error('Event has both id and id2');}
5714pid=tr.model.LOCAL_ID_PHASES.has(event.ph)?event.pid:undefined;return new tr.model.ScopedId(scope,event.id,pid);}else if(event.id2!==undefined){if(event.id2.global!==undefined){return new tr.model.ScopedId(scope,event.id2.global);}else if(event.id2.local!==undefined){return new tr.model.ScopedId(scope,event.id2.local,event.pid);}
5715throw new Error('Event that uses id2 must have either a global or local ID');}
5716return undefined;};TraceEventImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'TraceEventImporter';},extractSubtraces(){const subtraces=this.subtraces_;this.subtraces_=[];return subtraces;},deepCopyIfNeeded_(obj){if(obj===undefined)obj={};if(this.eventsWereFromString_)return obj;return deepCopy(obj);},deepCopyAlways_(obj){if(obj===undefined)obj={};return deepCopy(obj);},processAsyncEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allAsyncEvents_.push({sequenceNumber:this.allAsyncEvents_.length,event,thread});},processFlowEvent(event,opt_slice){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allFlowEvents_.push({refGuid:tr.b.GUID.getLastSimpleGuid(),sequenceNumber:this.allFlowEvents_.length,event,slice:opt_slice,thread});},processCounterEvent(event){let ctrName;if(event.id!==undefined){ctrName=event.name+'['+event.id+']';}else{ctrName=event.name;}
5717const ctr=this.model_.getOrCreateProcess(event.pid).getOrCreateCounter(event.cat,ctrName);const reservedColorId=event.cname?getEventColor(event):undefined;if(ctr.numSeries===0){for(const seriesName in event.args){const colorId=reservedColorId||getEventColor(event,ctr.name+'.'+seriesName);ctr.addSeries(new tr.model.CounterSeries(seriesName,colorId));}
5718if(ctr.numSeries===0){this.model_.importWarning({type:'counter_parse_error',message:'Expected counter '+event.name+' to have at least one argument to use as a value.'});delete ctr.parent.counters[ctr.name];return;}}
5719const ts=this.toModelTimeFromUs_(event.ts);ctr.series.forEach(function(series){const val=event.args[series.name]?event.args[series.name]:0;series.addCounterSample(ts,val);});},processObjectEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.allObjectEvents_.push({sequenceNumber:this.allObjectEvents_.length,event,thread});if(thread.guid in this.contextProcessorPerThread){const processor=this.contextProcessorPerThread[thread.guid];const scopedId=TraceEventImporter.scopedIdForEvent_(event);if(event.ph==='D'){processor.destroyContext(scopedId);}
5720processor.invalidateContextCacheForSnapshot(scopedId);}},processContextEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(!(thread.guid in this.contextProcessorPerThread)){this.contextProcessorPerThread[thread.guid]=new tr.importer.ContextProcessor(this.model_);}
5721const scopedId=TraceEventImporter.scopedIdForEvent_(event);const contextType=event.name;const processor=this.contextProcessorPerThread[thread.guid];if(event.ph==='('){processor.enterContext(contextType,scopedId);}else if(event.ph===')'){processor.leaveContext(contextType,scopedId);}else{this.model_.importWarning({type:'unknown_context_phase',message:'Unknown context event phase: '+event.ph+'.'});}},setContextsFromThread_(thread,slice){if(thread.guid in this.contextProcessorPerThread){slice.contexts=this.contextProcessorPerThread[thread.guid].activeContexts;}},processDurationEvent(event){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const ts=this.toModelTimeFromUs_(event.ts);if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'duration_parse_error',message:'Timestamps are moving backward.'});return;}
5722if(event.ph==='B'){const slice=thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));slice.startStackFrame=this.getStackFrameForEvent_(event);this.setContextsFromThread_(thread,slice);}else if(event.ph==='I'||event.ph==='i'||event.ph==='R'){if(event.s!==undefined&&event.s!=='t'){throw new Error('This should never happen');}
5723thread.sliceGroup.beginSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args),this.toModelTimeFromUs_(event.tts),event.argsStripped,getEventColor(event));const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts));slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=undefined;}else{if(!thread.sliceGroup.openSliceCount){this.model_.importWarning({type:'duration_parse_error',message:'E phase event without a matching B phase event.'});return;}
5724const slice=thread.sliceGroup.endSlice(this.toModelTimeFromUs_(event.ts),this.toModelTimeFromUs_(event.tts),getEventColor(event));if(event.name&&slice.title!==event.name){this.model_.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+
5725slice.title+' in openSlice, and is '+
5726event.name+' in endSlice'});}
5727slice.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(slice.args,event.args,slice.title);}},mergeArgsInto_(dstArgs,srcArgs,eventName){for(const arg in srcArgs){if(dstArgs[arg]!==undefined){this.model_.importWarning({type:'arg_merge_error',message:'Different phases of '+eventName+' provided values for argument '+arg+'.'+' The last provided value will be used.'});}
5728dstArgs[arg]=this.deepCopyIfNeeded_(srcArgs[arg]);}},processCompleteEvent(event){if(event.cat!==undefined&&event.cat.indexOf('trace_event_overhead')>-1){return undefined;}
5729const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);if(event.flow_out){if(event.flow_in){event.flowPhase=STEP;}else{event.flowPhase=PRODUCER;}}else if(event.flow_in){event.flowPhase=CONSUMER;}
5730const slice=thread.sliceGroup.pushCompleteSlice(event.cat,event.name,this.toModelTimeFromUs_(event.ts),this.maybeToModelTimeFromUs_(event.dur),this.maybeToModelTimeFromUs_(event.tts),this.maybeToModelTimeFromUs_(event.tdur),this.deepCopyIfNeeded_(event.args),event.argsStripped,getEventColor(event),event.bind_id);slice.startStackFrame=this.getStackFrameForEvent_(event);slice.endStackFrame=this.getStackFrameForEvent_(event,true);this.setContextsFromThread_(thread,slice);return slice;},processJitCodeEvent(event){if(this.v8ProcessCodeMaps_[event.pid]===undefined){this.v8ProcessCodeMaps_[event.pid]=new tr.e.importer.TraceCodeMap();}
5731const map=this.v8ProcessCodeMaps_[event.pid];const data=event.args.data;if(event.name==='JitCodeMoved'){map.moveEntry(data.code_start,data.new_code_start,data.code_len);}else{map.addEntry(data.code_start,data.code_len,data.name,data.script_id);}},processMetadataEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
5732if(event.argsStripped)return;if(event.name==='process_name'){const process=this.model_.getOrCreateProcess(event.pid);process.name=event.args.name;}else if(event.name==='process_labels'){const process=this.model_.getOrCreateProcess(event.pid);const labels=event.args.labels.split(',');for(let i=0;i<labels.length;i++){process.addLabelIfNeeded(labels[i]);}}else if(event.name==='process_uptime_seconds'){const process=this.model_.getOrCreateProcess(event.pid);process.uptime_seconds=event.args.uptime;}else if(event.name==='process_sort_index'){const process=this.model_.getOrCreateProcess(event.pid);process.sortIndex=event.args.sort_index;}else if(event.name==='thread_name'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.name=event.args.name;}else if(event.name==='thread_sort_index'){const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);thread.sortIndex=event.args.sort_index;}else if(event.name==='num_cpus'){let n=event.args.number;if(this.softwareMeasuredCpuCount_!==undefined){n=Math.max(n,this.softwareMeasuredCpuCount_);}
5733this.softwareMeasuredCpuCount_=n;}else if(event.name==='stackFrames'){const stackFrames=event.args.stackFrames;if(stackFrames===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No stack frames found in a \''+event.name+'\' metadata event'});}else{this.importStackFrames_(stackFrames,'p'+event.pid+':');}}else if(event.name==='typeNames'){const objectTypeNameMap=event.args.typeNames;if(objectTypeNameMap===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'No mapping from object type IDs to names found in a \''+
5734event.name+'\' metadata event'});}else{this.importObjectTypeNameMap_(objectTypeNameMap,event.pid);}}else if(event.name==='TraceConfig'){this.model_.metadata.push({name:'TraceConfig',value:event.args.value});}else{this.model_.importWarning({type:'metadata_parse_error',message:'Unrecognized metadata name: '+event.name});}},processInstantEvent(event){if(event.name==='JitCodeAdded'||event.name==='JitCodeMoved'){this.v8SamplingData_.push(event);return;}
5735if(event.s==='t'||event.s===undefined){this.processDurationEvent(event);return;}
5736let constructor;switch(event.s){case'g':constructor=tr.model.GlobalInstantEvent;break;case'p':constructor=tr.model.ProcessInstantEvent;break;default:this.model_.importWarning({type:'instant_parse_error',message:'I phase event with unknown "s" field value.'});return;}
5737const instantEvent=new constructor(event.cat,event.name,getEventColor(event),this.toModelTimeFromUs_(event.ts),this.deepCopyIfNeeded_(event.args));switch(instantEvent.type){case tr.model.InstantEventType.GLOBAL:this.model_.instantEvents.push(instantEvent);break;case tr.model.InstantEventType.PROCESS:{const process=this.model_.getOrCreateProcess(event.pid);process.instantEvents.push(instantEvent);break;}
5738default:throw new Error('Unknown instant event type: '+event.s);}},getOrCreateProfileTree_(sampleType,id){if(!this.profileTrees_.has(sampleType)){this.profileTrees_.set(sampleType,new Map());}
5739const profileTreeMap=this.profileTrees_.get(sampleType);if(profileTreeMap.has(id)){return profileTreeMap.get(id);}
5740const profileTree=new tr.model.ProfileTree();profileTreeMap.set(id,profileTree);const info=this.profileInfo_.get(id);if(info!==undefined){profileTree.startTime=info.startTime;profileTree.pid=info.pid;profileTree.tid=info.tid;}
5741return profileTree;},processSample(event){if(event.args===undefined||event.args.data===undefined){return;}
5742if(event.id===undefined){throw new Error('No event ID in sample');}
5743const data=event.args.data;if(data.startTime!==undefined){this.profileInfo_.set(event.id,{startTime:data.startTime,pid:event.pid,tid:event.tid});}
5744const timeDeltas=data.timeDeltas;for(const sampleType in data){if(sampleType==='timeDeltas'||sampleType==='startTime'){continue;}
5745if(data[sampleType].samples&&timeDeltas&&data[sampleType].samples.length!==timeDeltas.length){throw new Error('samples and timeDeltas array should have same length');}
5746const profileTree=this.getOrCreateProfileTree_(sampleType,event.id);const nodes=data[sampleType].nodes;const samples=data[sampleType].samples;if(nodes!==undefined){for(const node of nodes){const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);const profileNode=ProfileNodeType.constructFromObject(profileTree,node);if(profileNode===undefined){continue;}
5747profileTree.add(profileNode);}}
5748if(samples!==undefined){const thread=this.model_.getOrCreateProcess(profileTree.pid).getOrCreateThread(profileTree.tid);for(let i=0,len=samples.length;i<len;++i){const node=profileTree.getNode(samples[i]);profileTree.endTime+=timeDeltas[i];const start=this.toModelTimeFromUs_(profileTree.endTime);this.model_.samples.push(new tr.model.Sample(start,node.sampleTitle,node,thread));}}}},processLegacyV8Sample(event){const data=event.args.data;const sampleType='legacySample';const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,sampleType);if(data.vm_state==='js'&&!data.stack.length)return;const profileTree=this.getOrCreateProfileTree_(sampleType,event.pid);if(profileTree.getNode(-1)===undefined){profileTree.add(new ProfileNodeType(-1,{url:'',scriptId:-1,functionName:'unknown'},undefined));}
5749let node=undefined;if(data.stack.length>0&&this.v8ProcessCodeMaps_[event.pid]){const map=this.v8ProcessCodeMaps_[event.pid];data.stack.reverse();let parentNode=undefined;for(let i=0;i<data.stack.length;i++){const entry=map.lookupEntry(data.stack[i]);if(entry===undefined){node=profileTree.getNode(-1);}else{node=profileTree.getNode(entry.id);if(node===undefined){const sourceInfo=entry.sourceInfo;node=new ProfileNodeType(entry.id,{functionName:entry.name,url:entry.sourceInfo.file,lineNumber:sourceInfo.line!==-1?sourceInfo.line:undefined,columnNumber:sourceInfo.column!==-1?sourceInfo.column:undefined,scriptid:entry.sourceInfo.scriptId},parentNode);profileTree.add(node);}}
5750parentNode=node;}}else{node=profileTree.getNode(data.vm_state);if(node===undefined){node=new ProfileNodeType(data.vm_state,{url:'',functionName:data.vm_state},undefined);profileTree.add(node);}}
5751const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);this.model_.samples.push(new tr.model.Sample(this.toModelTimeFromUs_(event.ts),node.sampleTitle,node,thread));},processTraceSampleEvent(event){if(event.name==='V8Sample'||event.name.startsWith('Profile')){this.v8SamplingData_.push(event);return;}
5752let node=this.stackFrameTree_.getNode(event.name);if(node===undefined&&event.sf!==undefined){node=this.stackFrameTree_.getNode('g'+event.sf);}
5753if(node===undefined){let id=event.name;if(event.sf){id='g'+event.sf;}
5754const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');node=this.stackFrameTree_.add(new ProfileNodeType(id,{functionName:event.name},undefined));}
5755const thread=this.model_.getOrCreateProcess(event.pid).getOrCreateThread(event.tid);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),'Trace Event Sample',node,thread,undefined,1,this.deepCopyIfNeeded_(event.args));this.setContextsFromThread_(thread,sample);this.model_.samples.push(sample);},processMemoryDumpEvent(event){if(event.ph!=='v'){throw new Error('Invalid memory dump event phase "'+event.ph+'".');}
5756const dumpId=event.id;if(dumpId===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase \''+event.ph+'\') without a dump ID.'});return;}
5757const pid=event.pid;if(pid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory dump event (phase\''+event.ph+'\', dump ID \''+
5758dumpId+'\') without a PID.'});return;}
5759const allEvents=this.allMemoryDumpEvents_;let dumpIdEvents=allEvents[dumpId];if(dumpIdEvents===undefined){allEvents[dumpId]=dumpIdEvents={};}
5760let processEvents=dumpIdEvents[pid];if(processEvents===undefined){dumpIdEvents[pid]=processEvents=[];}
5761processEvents.push(event);},processClockSyncEvent(event){if(event.ph!=='c'){throw new Error('Invalid clock sync event phase "'+event.ph+'".');}
5762const syncId=event.args.sync_id;if(syncId===undefined){this.model_.importWarning({type:'clock_sync_parse_error',message:'Clock sync at time '+event.ts+' without an ID.'});return;}
5763if(event.args&&event.args.issue_ts!==undefined){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.args.issue_ts),tr.b.Unit.timestampFromUs(event.ts));}else{this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,syncId,tr.b.Unit.timestampFromUs(event.ts));}},processLegacyChromeClockSyncEvent(event){if(event.ph==='S'){this.legacyChromeClockSyncStartEvent_=event;}else if(event.ph==='F'){this.legacyChromeClockSyncFinishEvent_=event;}
5764if(this.legacyChromeClockSyncStartEvent_===undefined||this.legacyChromeClockSyncFinishEvent_===undefined){return;}
5765const startSyncId=this.legacyChromeClockSyncStartEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);const finishSyncId=this.legacyChromeClockSyncFinishEvent_.name.substring(LEGACY_CHROME_CLOCK_SYNC_EVENT_NAME_PREFIX.length);if(startSyncId!==finishSyncId){throw new Error('Inconsistent clock sync ID of legacy Chrome clock sync events');}
5766this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,startSyncId,tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncStartEvent_.ts),tr.b.Unit.timestampFromUs(this.legacyChromeClockSyncFinishEvent_.ts));},processV8Events(){this.v8SamplingData_.sort(function(a,b){if(a.ts!==b.ts)return a.ts-b.ts;if(a.ph==='M'||a.ph==='I'){return-1;}else if(b.ph==='M'||b.ph==='I'){return 1;}
5767return 0;});const length=this.v8SamplingData_.length;for(let i=0;i<length;++i){const event=this.v8SamplingData_[i];if(event.ph==='M'||event.ph==='I'){this.processJitCodeEvent(event);}else if(event.ph==='P'){if(event.name.startsWith('Profile')){this.processSample(event);}else{this.processLegacyV8Sample(event);}}}},importClockSyncMarkers(){if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.importClockSyncMarker_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5768parser.finish();}else{for(let i=0;i<this.events_.length;i++){this.importClockSyncMarker_(this.events_[i]);}}},importClockSyncMarker_(event){const isLegacyChromeClockSync=isLegacyChromeClockSyncEvent(event);if(event.ph!=='c'&&!isLegacyChromeClockSync)return;const eventSizeInBytes=this.model_.importOptions.trackDetailedModelStats?JSON.stringify(event).length:undefined;this.model_.stats.willProcessBasicTraceEvent('clock_sync',event.cat,event.name,event.ts,eventSizeInBytes);if(isLegacyChromeClockSync){this.processLegacyChromeClockSyncEvent(event);}else{this.processClockSyncEvent(event);}},importEvents(){this.hasEvents_=false;if(this.stackFrameEvents_){this.importStackFrames_(this.stackFrameEvents_,'g');}
5769if(this.traceAnnotations_)this.importAnnotations_();if(this.events_ instanceof tr.b.TraceStream){const parser=oboe().node('{cat ph}',this.processEvent_.bind(this));this.events_.rewind();while(this.events_.hasData){parser.write(this.events_.readNumBytes());}
5770parser.finish();}else{for(let eI=0;eI<this.events_.length;eI++){this.processEvent_(this.events_[eI]);}}
5771this.processV8Events();for(const frame of Object.values(this.v8ProcessRootStackFrame_)){frame.removeAllChildren();}},storeSubtrace_(subtrace){this.subtraces_.push(subtrace);return oboe.drop;},storeSamples_(samples){this.sampleEvents_=samples;return oboe.drop;},storeStackFrames_(stackFrames){this.stackFrameEvents_=stackFrames;return oboe.drop;},storeDisplayTimeUnit_(unitName){if(!unitName)return;const unit=tr.b.TimeDisplayModes[unitName];if(unit===undefined){throw new Error('Unit '+unitName+' is not supported.');}
5772this.model_.intrinsicTimeUnit=unit;return oboe.drop;},storeTraceAnnotations_(traceAnnotations){this.traceAnnotations_=traceAnnotations;return oboe.drop;},storeMetadata_(container){for(const fieldName of Object.keys(container)){if(NON_METADATA_FIELDS.has(fieldName))continue;this.model_.metadata.push({name:fieldName,value:container[fieldName]});if(fieldName!=='metadata')continue;const metadata=container[fieldName];if(metadata['highres-ticks']){this.model_.isTimeHighResolution=metadata['highres-ticks'];}
5773if(metadata['clock-domain']){this.clockDomainId_=metadata['clock-domain'];}}
5774return oboe.drop;},processEvent_(event){this.hasEvents_=true;const importOptions=this.model_.importOptions;const trackDetailedModelStats=importOptions.trackDetailedModelStats;const modelStats=this.model_.stats;if(event.args==='__stripped__'){event.argsStripped=true;event.args=undefined;}
5775let eventSizeInBytes=undefined;if(trackDetailedModelStats){eventSizeInBytes=JSON.stringify(event).length;}
5776switch(event.ph){case'B':case'E':modelStats.willProcessBasicTraceEvent('begin_end (non-compact)',event.cat,event.name,event.ts,eventSizeInBytes);this.processDurationEvent(event);break;case'X':{modelStats.willProcessBasicTraceEvent('begin_end (compact)',event.cat,event.name,event.ts,eventSizeInBytes);const slice=this.processCompleteEvent(event);if(slice!==undefined&&event.bind_id!==undefined){this.processFlowEvent(event,slice);}
5777break;}
5778case'b':case'e':case'n':case'S':case'F':case'T':case'p':modelStats.willProcessBasicTraceEvent('async',event.cat,event.name,event.ts,eventSizeInBytes);this.processAsyncEvent(event);break;case'I':case'i':case'R':modelStats.willProcessBasicTraceEvent('instant',event.cat,event.name,event.ts,eventSizeInBytes);this.processInstantEvent(event);break;case'P':modelStats.willProcessBasicTraceEvent('samples',event.cat,event.name,event.ts,eventSizeInBytes);this.processTraceSampleEvent(event);break;case'C':modelStats.willProcessBasicTraceEvent('counters',event.cat,event.name,event.ts,eventSizeInBytes);this.processCounterEvent(event);break;case'M':modelStats.willProcessBasicTraceEvent('metadata',event.cat,event.name,event.ts,eventSizeInBytes);this.processMetadataEvent(event);break;case'N':case'D':case'O':modelStats.willProcessBasicTraceEvent('objects',event.cat,event.name,event.ts,eventSizeInBytes);this.processObjectEvent(event);break;case's':case't':case'f':modelStats.willProcessBasicTraceEvent('flows',event.cat,event.name,event.ts,eventSizeInBytes);this.processFlowEvent(event);break;case'v':modelStats.willProcessBasicTraceEvent('memory_dumps',event.cat,event.name,event.ts,eventSizeInBytes);this.processMemoryDumpEvent(event);break;case'(':case')':this.processContextEvent(event);break;case'c':break;default:modelStats.willProcessBasicTraceEvent('unknown',event.cat,event.name,event.ts,eventSizeInBytes);this.model_.importWarning({type:'parse_error',message:'Unrecognized event phase: '+
5779event.ph+' ('+event.name+')'});}
5780return oboe.drop;},importStackFrames_(rawStackFrames,idPrefix){const model=this.model_;for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const fullId=idPrefix+id;const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const stackFrame=new tr.model.StackFrame(undefined,fullId,rawStackFrame.name,ColorScheme.getColorIdForGeneralPurposeString(textForColor));model.addStackFrame(stackFrame);}
5781for(const id in rawStackFrames){const fullId=idPrefix+id;const stackFrame=model.stackFrames[fullId];if(stackFrame===undefined){throw new Error('Internal error');}
5782const rawStackFrame=rawStackFrames[id];const parentId=rawStackFrame.parent;let parentStackFrame;if(parentId===undefined){parentStackFrame=undefined;}else{const parentFullId=idPrefix+parentId;parentStackFrame=model.stackFrames[parentFullId];if(parentStackFrame===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentFullId+' for stack frame \''+stackFrame.name+'\' (ID '+fullId+').'});}}
5783stackFrame.parentFrame=parentStackFrame;}
5784const ProfileNodeType=tr.model.ProfileNode.subTypes.getConstructor(undefined,'legacySample');if(idPrefix==='g'){for(const id in rawStackFrames){const rawStackFrame=rawStackFrames[id];const textForColor=rawStackFrame.category?rawStackFrame.category:rawStackFrame.name;const node=this.stackFrameTree_.add(new ProfileNodeType('g'+id,{functionName:rawStackFrame.name},undefined));node.colorId=ColorScheme.getColorIdForGeneralPurposeString(textForColor);node.parentId=rawStackFrame.parent;}
5785for(const id in rawStackFrames){const node=this.stackFrameTree_.getNode('g'+id);const parentId=node.parentId;let parentNode=undefined;if(parentId!==undefined){parentNode=this.stackFrameTree_.getNode('g'+parentId);if(parentNode===undefined){this.model_.importWarning({type:'metadata_parse_error',message:'Missing parent frame with ID '+parentId+' for stack frame \''+node.name+'\' (ID '+node.id+').'});}
5786node.parentNode=parentNode;}}}},importObjectTypeNameMap_(rawObjectTypeNameMap,pid){if(pid in this.objectTypeNameMap_){this.model_.importWarning({type:'metadata_parse_error',message:'Mapping from object type IDs to names provided for pid='+
5787pid+' multiple times.'});return;}
5788let objectTypeNamePrefix=undefined;let objectTypeNameSuffix=undefined;const objectTypeNameMap={};for(const objectTypeId in rawObjectTypeNameMap){const rawObjectTypeName=rawObjectTypeNameMap[objectTypeId];if(objectTypeNamePrefix===undefined){for(let i=0;i<OBJECT_TYPE_NAME_PATTERNS.length;i++){const pattern=OBJECT_TYPE_NAME_PATTERNS[i];if(rawObjectTypeName.startsWith(pattern.prefix)&&rawObjectTypeName.endsWith(pattern.suffix)){objectTypeNamePrefix=pattern.prefix;objectTypeNameSuffix=pattern.suffix;break;}}}
5789if(objectTypeNamePrefix!==undefined&&rawObjectTypeName.startsWith(objectTypeNamePrefix)&&rawObjectTypeName.endsWith(objectTypeNameSuffix)){objectTypeNameMap[objectTypeId]=rawObjectTypeName.substring(objectTypeNamePrefix.length,rawObjectTypeName.length-objectTypeNameSuffix.length);}else{objectTypeNameMap[objectTypeId]=rawObjectTypeName;}}
5790this.objectTypeNameMap_[pid]=objectTypeNameMap;},importAnnotations_(){for(const id in this.traceAnnotations_){const annotation=tr.model.Annotation.fromDictIfPossible(this.traceAnnotations_[id]);if(!annotation){this.model_.importWarning({type:'annotation_warning',message:'Unrecognized traceAnnotation typeName \"'+
5791this.traceAnnotations_[id].typeName+'\"'});continue;}
5792this.model_.addAnnotation(annotation);}},finalizeImport(){if(this.softwareMeasuredCpuCount_!==undefined){this.model_.kernel.softwareMeasuredCpuCount=this.softwareMeasuredCpuCount_;}
5793this.createAsyncSlices_();this.createFlowSlices_();this.createExplicitObjects_();this.createImplicitObjects_();this.createMemoryDumps_();},getStackFrameForEvent_(event,opt_lookForEndEvent){let sf;let stack;if(opt_lookForEndEvent){sf=event.esf;stack=event.estack;}else{sf=event.sf;stack=event.stack;}
5794if(stack!==undefined&&sf!==undefined){this.model_.importWarning({type:'stack_frame_and_stack_error',message:'Event at '+event.ts+' cannot have both a stack and a stackframe.'});return undefined;}
5795if(stack!==undefined){return this.model_.resolveStackToStackFrame_(event.pid,stack);}
5796if(sf===undefined)return undefined;const stackFrame=this.model_.stackFrames['g'+sf];if(stackFrame===undefined){this.model_.importWarning({type:'sample_import_error',message:'No frame for '+sf});return;}
5797return stackFrame;},resolveStackToStackFrame_(pid,stack){return undefined;},importSampleData(){if(!this.sampleEvents_)return;const m=this.model_;const events=this.sampleEvents_;if(this.hasEvents_===undefined){throw new Error('importEvents is not run before importSampleData');}else if(!this.hasEvents_){for(let i=0;i<events.length;i++){const event=events[i];m.getOrCreateProcess(event.tid).getOrCreateThread(event.tid);}}
5798const threadsByTid={};m.getAllThreads().forEach(function(t){threadsByTid[t.tid]=t;});for(let i=0;i<events.length;i++){const event=events[i];const thread=threadsByTid[event.tid];if(thread===undefined){m.importWarning({type:'sample_import_error',message:'Thread '+events.tid+'not found'});continue;}
5799let cpu;if(event.cpu!==undefined){cpu=m.kernel.getOrCreateCpu(event.cpu);}
5800const leafNode=this.stackFrameTree_.getNode('g'+event.sf);const sample=new tr.model.Sample(this.toModelTimeFromUs_(event.ts),event.name,leafNode,thread,cpu,event.weight);m.samples.push(sample);}},createAsyncSlices_(){if(this.allAsyncEvents_.length===0)return;this.allAsyncEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const legacyEvents=[];const nestableAsyncEventsByKey={};const nestableMeasureAsyncEventsByKey={};for(let i=0;i<this.allAsyncEvents_.length;i++){const asyncEventState=this.allAsyncEvents_[i];const event=asyncEventState.event;if(event.ph==='S'||event.ph==='F'||event.ph==='T'||event.ph==='p'){legacyEvents.push(asyncEventState);continue;}
5801if(event.cat===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'cat parameter.'});continue;}
5802if(event.name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require a '+'name parameter.'});continue;}
5803const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async events (ph: b, e, or n) require an '+'id parameter.'});continue;}
5804if(event.cat==='blink.user_timing'){const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(event.name);if(matched!==null){const key=matched[1]+':'+event.cat;event.args=JSON.parse(Base64.atob(matched[3])||'{}');if(nestableMeasureAsyncEventsByKey[key]===undefined){nestableMeasureAsyncEventsByKey[key]=[];}
5805nestableMeasureAsyncEventsByKey[key].push(asyncEventState);continue;}}
5806const key=event.cat+':'+id.toStringWithDelimiter(':');if(nestableAsyncEventsByKey[key]===undefined){nestableAsyncEventsByKey[key]=[];}
5807nestableAsyncEventsByKey[key].push(asyncEventState);}
5808this.createLegacyAsyncSlices_(legacyEvents);this.createNestableAsyncSlices_(nestableMeasureAsyncEventsByKey);this.createNestableAsyncSlices_(nestableAsyncEventsByKey);},createLegacyAsyncSlices_(legacyEvents){if(legacyEvents.length===0)return;legacyEvents.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const asyncEventStatesByNameThenID={};for(let i=0;i<legacyEvents.length;i++){const asyncEventState=legacyEvents[i];const event=asyncEventState.event;const name=event.name;if(name===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require a name '+' parameter.'});continue;}
5809const id=TraceEventImporter.scopedIdForEvent_(event);if(id===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'Async events (ph: S, T, p, or F) require an id parameter.'});continue;}
5810const key=id.toStringWithDelimiter(':');if(event.ph==='S'){if(asyncEventStatesByNameThenID[name]===undefined){asyncEventStatesByNameThenID[name]={};}
5811if(asyncEventStatesByNameThenID[name][key]){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', a slice of the same id '+id+' was alrady open.'});continue;}
5812asyncEventStatesByNameThenID[name][key]=[];asyncEventStatesByNameThenID[name][key].push(asyncEventState);}else{if(asyncEventStatesByNameThenID[name]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' was open.'});continue;}
5813if(asyncEventStatesByNameThenID[name][key]===undefined){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.ts+', no slice named '+name+' with id='+id+' was open.'});continue;}
5814const events=asyncEventStatesByNameThenID[name][key];events.push(asyncEventState);if(event.ph==='F'){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,name);const slice=new asyncSliceConstructor(events[0].event.cat,name,getEventColor(events[0].event),this.toModelTimeFromUs_(events[0].event.ts),tr.b.concatenateObjects(events[0].event.args,events[events.length-1].event.args),this.toModelTimeFromUs_(event.ts-events[0].event.ts),true,undefined,undefined,events[0].event.argsStripped);slice.startThread=events[0].thread;slice.endThread=asyncEventState.thread;slice.id=key;const stepType=events[1].event.ph;let isValid=true;for(let j=1;j<events.length-1;++j){if(events[j].event.ph==='T'||events[j].event.ph==='p'){isValid=this.assertStepTypeMatches_(stepType,events[j]);if(!isValid)break;}
5815if(events[j].event.ph==='S'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+
5816name+' with id='+id+' had a step before the start event.'});continue;}
5817if(events[j].event.ph==='F'){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+events[j].event.ts+', a slice named '+
5818name+' with id='+id+' had a step after the finish event.'});continue;}
5819const startIndex=j+(stepType==='T'?0:-1);const endIndex=startIndex+1;let subName=name;if(!events[j].event.argsStripped&&(events[j].event.ph==='T'||events[j].event.ph==='p')){subName=subName+':'+events[j].event.args.step;}
5820const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(events[0].event.cat,subName);const subSlice=new asyncSliceConstructor(events[0].event.cat,subName,getEventColor(event,subName+j),this.toModelTimeFromUs_(events[startIndex].event.ts),this.deepCopyIfNeeded_(events[j].event.args),this.toModelTimeFromUs_(events[endIndex].event.ts-events[startIndex].event.ts),undefined,undefined,events[startIndex].event.argsStripped);subSlice.startThread=events[startIndex].thread;subSlice.endThread=events[endIndex].thread;subSlice.id=key;slice.subSlices.push(subSlice);}
5821if(isValid){slice.startThread.asyncSliceGroup.push(slice);}
5822delete asyncEventStatesByNameThenID[name][key];}}}},createNestableAsyncSlices_(nestableEventsByKey){for(const key in nestableEventsByKey){const eventStateEntries=nestableEventsByKey[key];const parentStack=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'){let parentIndex=-1;for(let k=parentStack.length-1;k>=0;--k){if(parentStack[k].event.name===eventStateEntry.event.name){parentIndex=k;break;}}
5823if(parentIndex===-1){eventStateEntry.finished=false;}else{parentStack[parentIndex].end=eventStateEntry;while(parentIndex<parentStack.length){parentStack.pop();}}}
5824if(parentStack.length>0){eventStateEntry.parentEntry=parentStack[parentStack.length-1];}
5825if(eventStateEntry.event.ph==='b'){parentStack.push(eventStateEntry);}}
5826const topLevelSlices=[];for(let i=0;i<eventStateEntries.length;++i){const eventStateEntry=eventStateEntries[i];if(eventStateEntry.event.ph==='e'&&eventStateEntry.finished===undefined){continue;}
5827let startState=undefined;let endState=undefined;let sliceArgs=eventStateEntry.event.args||{};let sliceError=undefined;const id=TraceEventImporter.scopedIdForEvent_(eventStateEntry.event);if(eventStateEntry.event.ph==='n'){startState=eventStateEntry;endState=eventStateEntry;}else if(eventStateEntry.event.ph==='b'){if(eventStateEntry.end===undefined){eventStateEntry.end=eventStateEntries[eventStateEntries.length-1];sliceError='Slice has no matching END. End time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async BEGIN event at '+
5828eventStateEntry.event.ts+' with name='+
5829eventStateEntry.event.name+' and id='+id+' was unmatched.'});}else{function concatenateArguments(args1,args2){if(args1.params===undefined||args2.params===undefined){return tr.b.concatenateObjects(args1,args2);}
5830const args3={};args3.params=tr.b.concatenateObjects(args1.params,args2.params);return tr.b.concatenateObjects(args1,args2,args3);}
5831const endArgs=eventStateEntry.end.event.args||{};sliceArgs=concatenateArguments(sliceArgs,endArgs);}
5832startState=eventStateEntry;endState=eventStateEntry.end;}else{sliceError='Slice has no matching BEGIN. Start time has been adjusted.';this.model_.importWarning({type:'async_slice_parse_error',message:'Nestable async END event at '+
5833eventStateEntry.event.ts+' with name='+
5834eventStateEntry.event.name+' and id='+id+' was unmatched.'});startState=eventStateEntries[0];endState=eventStateEntry;}
5835const isTopLevel=(eventStateEntry.parentEntry===undefined);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(eventStateEntry.event.cat,eventStateEntry.event.name);let threadStart=undefined;let threadDuration=undefined;if(startState.event.tts&&startState.event.use_async_tts){threadStart=this.toModelTimeFromUs_(startState.event.tts);if(endState.event.tts){const threadEnd=this.toModelTimeFromUs_(endState.event.tts);threadDuration=threadEnd-threadStart;}}
5836const slice=new asyncSliceConstructor(eventStateEntry.event.cat,eventStateEntry.event.name,getEventColor(endState.event),this.toModelTimeFromUs_(startState.event.ts),sliceArgs,this.toModelTimeFromUs_(endState.event.ts-startState.event.ts),isTopLevel,threadStart,threadDuration,startState.event.argsStripped);slice.startThread=startState.thread;slice.endThread=endState.thread;slice.startStackFrame=this.getStackFrameForEvent_(startState.event);slice.endStackFrame=this.getStackFrameForEvent_(endState.event);slice.id=key;if(sliceError!==undefined){slice.error=sliceError;}
5837eventStateEntry.slice=slice;if(isTopLevel){topLevelSlices.push(slice);}else if(eventStateEntry.parentEntry.slice!==undefined){eventStateEntry.parentEntry.slice.subSlices.push(slice);}}
5838for(let si=0;si<topLevelSlices.length;si++){topLevelSlices[si].startThread.asyncSliceGroup.push(topLevelSlices[si]);}}},assertStepTypeMatches_(stepType,event){if(stepType!==event.event.ph){this.model_.importWarning({type:'async_slice_parse_error',message:'At '+event.event.ts+', a slice named '+
5839event.event.name+' with id='+
5840TraceEventImporter.scopedIdForEvent_(event.event)+' had both begin and end steps, which is not allowed.'});return false;}
5841return true;},validateFlowEvent_(event){if(event.name===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require a name parameter.'});return false;}
5842if(event.ph==='s'||event.ph==='f'||event.ph==='t'){if(event.id===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow events (ph: s, t or f) require an id parameter.'});return false;}
5843return true;}
5844if(event.bind_id){if(event.flow_in===undefined&&event.flow_out===undefined){this.model_.importWarning({type:'flow_slice_parse_error',message:'Flow producer or consumer require flow_in or flow_out.'});return false;}
5845return true;}
5846return false;},createFlowSlices_(){if(this.allFlowEvents_.length===0)return;const createFlowEvent=function(thread,event,opt_slice){let startSlice;let flowId;let flowStartTs;if(event.bind_id){startSlice=opt_slice;flowId=event.bind_id;flowStartTs=this.toModelTimeFromUs_(event.ts+event.dur);}else{const ts=this.toModelTimeFromUs_(event.ts);startSlice=thread.sliceGroup.findSliceAtTs(ts);if(startSlice===undefined)return undefined;flowId=event.id;flowStartTs=ts;}
5847const flowEvent=new tr.model.FlowEvent(event.cat,flowId,event.name,getEventColor(event),flowStartTs,this.deepCopyAlways_(event.args));flowEvent.startSlice=startSlice;flowEvent.startStackFrame=this.getStackFrameForEvent_(event);flowEvent.endStackFrame=undefined;startSlice.outFlowEvents.push(flowEvent);return flowEvent;}.bind(this);const finishFlowEventWith=function(flowEvent,thread,event,refGuid,bindToParent,opt_slice){let endSlice;if(event.bind_id){endSlice=opt_slice;}else{const ts=this.toModelTimeFromUs_(event.ts);if(bindToParent){endSlice=thread.sliceGroup.findSliceAtTs(ts);}else{endSlice=thread.sliceGroup.findNextSliceAfter(ts,refGuid);}
5848if(endSlice===undefined)return false;}
5849endSlice.inFlowEvents.push(flowEvent);flowEvent.endSlice=endSlice;flowEvent.duration=this.toModelTimeFromUs_(event.ts)-flowEvent.start;flowEvent.endStackFrame=this.getStackFrameForEvent_(event);this.mergeArgsInto_(flowEvent.args,event.args,flowEvent.title);return true;}.bind(this);const processFlowConsumer=function(flowIdToEvent,sliceGuidToEvent,event,slice){let flowEvent=flowIdToEvent[event.bind_id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Flow consumer '+event.bind_id+' does not have '+'a flow producer'});return false;}else if(flowEvent.endSlice){const flowProducer=flowEvent.startSlice;flowEvent=createFlowEvent(undefined,sliceGuidToEvent[flowProducer.guid],flowProducer);}
5850const refGuid=undefined;const ok=finishFlowEventWith(flowEvent,undefined,event,refGuid,undefined,slice);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'Flow consumer '+event.bind_id+' does not end '+'at an actual slice, so cannot be created.'});return false;}
5851return true;}.bind(this);const processFlowProducer=function(flowIdToEvent,flowStatus,event,slice){if(flowIdToEvent[event.bind_id]&&flowStatus[event.bind_id]){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' already seen'});return false;}
5852const flowEvent=createFlowEvent(undefined,event,slice);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'Flow producer '+event.bind_id+' does not start'+'a flow'});return false;}
5853flowIdToEvent[event.bind_id]=flowEvent;}.bind(this);this.allFlowEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const flowIdToEvent={};const sliceGuidToEvent={};const flowStatus={};for(let i=0;i<this.allFlowEvents_.length;++i){const data=this.allFlowEvents_[i];const refGuid=data.refGuid;const event=data.event;const thread=data.thread;if(!this.validateFlowEvent_(event))continue;if(event.bind_id){const slice=data.slice;sliceGuidToEvent[slice.guid]=event;if(event.flowPhase===PRODUCER){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;}
5854flowStatus[event.bind_id]=true;}else{if(!processFlowConsumer(flowIdToEvent,sliceGuidToEvent,event,slice)){continue;}
5855flowStatus[event.bind_id]=false;if(event.flowPhase===STEP){if(!processFlowProducer(flowIdToEvent,flowStatus,event,slice)){continue;}
5856flowStatus[event.bind_id]=true;}}
5857continue;}
5858let flowEvent;if(event.ph==='s'){if(flowIdToEvent[event.id]){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' already seen when '+'encountering start of flow event.'});continue;}
5859flowEvent=createFlowEvent(thread,event);if(!flowEvent){this.model_.importWarning({type:'flow_slice_start_error',message:'event id '+event.id+' does not start '+'at an actual slice, so cannot be created.'});continue;}
5860flowIdToEvent[event.id]=flowEvent;}else if(event.ph==='t'||event.ph==='f'){flowEvent=flowIdToEvent[event.id];if(flowEvent===undefined){this.model_.importWarning({type:'flow_slice_ordering_error',message:'Found flow phase '+event.ph+' for id: '+event.id+' but no flow start found.'});continue;}
5861let bindToParent=event.ph==='t';if(event.ph==='f'){if(event.bp===undefined){if(event.cat.indexOf('input')>-1){bindToParent=true;}else if(event.cat.indexOf('ipc.flow')>-1){bindToParent=true;}}else{if(event.bp!=='e'){this.model_.importWarning({type:'flow_slice_bind_point_error',message:'Flow event with invalid binding point (event.bp).'});continue;}
5862bindToParent=true;}}
5863const ok=finishFlowEventWith(flowEvent,thread,event,refGuid,bindToParent);if(ok){this.model_.flowEvents.push(flowEvent);}else{this.model_.importWarning({type:'flow_slice_end_error',message:'event id '+event.id+' does not end '+'at an actual slice, so cannot be created.'});}
5864flowIdToEvent[event.id]=undefined;if(ok&&event.ph==='t'){flowEvent=createFlowEvent(thread,event);flowIdToEvent[event.id]=flowEvent;}}}},createExplicitObjects_(){if(this.allObjectEvents_.length===0)return;const processEvent=function(objectEventState){const event=objectEventState.event;const scopedId=TraceEventImporter.scopedIdForEvent_(event);const thread=objectEventState.thread;if(event.name===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an name parameter.'});}
5865if(scopedId===undefined||scopedId.id===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+JSON.stringify(event)+': '+'Object events require an id parameter.'});}
5866const process=thread.parent;const ts=this.toModelTimeFromUs_(event.ts);let instance;if(event.ph==='N'){try{instance=process.objects.idWasCreated(scopedId,event.cat,event.name,ts);}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing create of '+
5867scopedId+' at ts='+ts+': '+e});return;}}else if(event.ph==='O'){if(event.args.snapshot===undefined){this.model_.importWarning({type:'object_parse_error',message:'While processing '+scopedId+' at ts='+ts+': '+'Snapshots must have args: {snapshot: ...}'});return;}
5868let snapshot;try{const args=this.deepCopyIfNeeded_(event.args.snapshot);let cat;if(args.cat){cat=args.cat;delete args.cat;}else{cat=event.cat;}
5869let baseTypename;if(args.base_type){baseTypename=args.base_type;delete args.base_type;}else{baseTypename=undefined;}
5870snapshot=process.objects.addSnapshot(scopedId,cat,event.name,ts,args,baseTypename);snapshot.snapshottedOnThread=thread;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing snapshot of '+
5871scopedId+' at ts='+ts+': '+e});return;}
5872instance=snapshot.objectInstance;}else if(event.ph==='D'){try{process.objects.idWasDeleted(scopedId,event.cat,event.name,ts);const instanceMap=process.objects.getOrCreateInstanceMap_(scopedId);instance=instanceMap.lastInstance;}catch(e){this.model_.importWarning({type:'object_parse_error',message:'While processing delete of '+
5873scopedId+' at ts='+ts+': '+e});return;}}
5874if(instance){instance.colorId=getEventColor(event,instance.typeName);}}.bind(this);this.allObjectEvents_.sort(function(x,y){const d=x.event.ts-y.event.ts;if(d!==0)return d;return x.sequenceNumber-y.sequenceNumber;});const allObjectEvents=this.allObjectEvents_;for(let i=0;i<allObjectEvents.length;i++){const objectEventState=allObjectEvents[i];try{processEvent.call(this,objectEventState);}catch(e){this.model_.importWarning({type:'object_parse_error',message:e.message});}}},createImplicitObjects_(){for(const proc of Object.values(this.model_.processes)){this.createImplicitObjectsForProcess_(proc);}},createImplicitObjectsForProcess_(process){function processField(referencingObject,referencingObjectFieldName,referencingObjectFieldValue,containingSnapshot){if(!referencingObjectFieldValue)return;if(referencingObjectFieldValue instanceof
5875tr.model.ObjectSnapshot){return null;}
5876if(referencingObjectFieldValue.id===undefined)return;const implicitSnapshot=referencingObjectFieldValue;const rawId=implicitSnapshot.id;const m=/(.+)\/(.+)/.exec(rawId);if(!m){throw new Error('Implicit snapshots must have names.');}
5877delete implicitSnapshot.id;const name=m[1];const id=m[2];let res;let cat;if(implicitSnapshot.cat!==undefined){cat=implicitSnapshot.cat;}else{cat=containingSnapshot.objectInstance.category;}
5878let baseTypename;if(implicitSnapshot.base_type){baseTypename=implicitSnapshot.base_type;}else{baseTypename=undefined;}
5879const scope=containingSnapshot.objectInstance.scopedId.scope;try{res=process.objects.addSnapshot(new tr.model.ScopedId(scope,id),cat,name,containingSnapshot.ts,implicitSnapshot,baseTypename);}catch(e){this.model_.importWarning({type:'object_snapshot_parse_error',message:'While processing implicit snapshot of '+
5880rawId+' at ts='+containingSnapshot.ts+': '+e});return;}
5881res.objectInstance.hasImplicitSnapshots=true;res.containingSnapshot=containingSnapshot;res.snapshottedOnThread=containingSnapshot.snapshottedOnThread;referencingObject[referencingObjectFieldName]=res;if(!(res instanceof tr.model.ObjectSnapshot)){throw new Error('Created object must be instanceof snapshot');}
5882return res.args;}
5883function iterObject(object,func,containingSnapshot,thisArg){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){const res=func.call(thisArg,object,i,object[i],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[i],func,containingSnapshot,thisArg);}}
5884return;}
5885for(const key in object){const res=func.call(thisArg,object,key,object[key],containingSnapshot);if(res===null)continue;if(res){iterObject(res,func,containingSnapshot,thisArg);}else{iterObject(object[key],func,containingSnapshot,thisArg);}}}
5886process.objects.iterObjectInstances(function(instance){instance.snapshots.forEach(function(snapshot){if(snapshot.args.id!==undefined){throw new Error('args cannot have an id field inside it');}
5887iterObject(snapshot.args,processField,snapshot,this);},this);},this);},createMemoryDumps_(){for(const dumpId in this.allMemoryDumpEvents_){this.createGlobalMemoryDump_(this.allMemoryDumpEvents_[dumpId],dumpId);}},createGlobalMemoryDump_(dumpIdEvents,dumpId){const globalRange=new tr.b.math.Range();for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){globalRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}}
5888if(globalRange.isEmpty){throw new Error('Internal error: Global memory dump without events');}
5889const globalMemoryDump=new tr.model.GlobalMemoryDump(this.model_,globalRange.min);globalMemoryDump.duration=globalRange.range;this.model_.globalMemoryDumps.push(globalMemoryDump);const globalMemoryAllocatorDumpsByFullName={};const levelsOfDetail={};const allMemoryAllocatorDumpsByGuid={};for(const pid in dumpIdEvents){this.createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,dumpIdEvents[pid],pid,dumpId);}
5890globalMemoryDump.levelOfDetail=levelsOfDetail.global;globalMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(globalMemoryAllocatorDumpsByFullName);this.parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId);},createProcessMemoryDump_(globalMemoryDump,globalMemoryAllocatorDumpsByFullName,levelsOfDetail,allMemoryAllocatorDumpsByGuid,processEvents,pid,dumpId){const processRange=new tr.b.math.Range();for(let i=0;i<processEvents.length;i++){processRange.addValue(this.toModelTimeFromUs_(processEvents[i].ts));}
5891if(processRange.isEmpty){throw new Error('Internal error: Process memory dump without events');}
5892const process=this.model_.getOrCreateProcess(pid);const processMemoryDump=new tr.model.ProcessMemoryDump(globalMemoryDump,process,processRange.min);processMemoryDump.duration=processRange.range;process.memoryDumps.push(processMemoryDump);globalMemoryDump.processMemoryDumps[pid]=processMemoryDump;const processMemoryAllocatorDumpsByFullName={};for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'\'dumps\' field not found in a process memory dump'+' event for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5893this.parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId);this.parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId);this.parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId);}
5894if(levelsOfDetail.process===undefined){levelsOfDetail.process=processMemoryDump.vmRegions?DETAILED:LIGHT;}
5895if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'global',levelsOfDetail.process)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for global memory'+' dump (dump ID='+dumpId+').'});}
5896processMemoryDump.levelOfDetail=levelsOfDetail.process;delete levelsOfDetail.process;processMemoryDump.memoryAllocatorDumps=this.inferMemoryAllocatorDumpTree_(processMemoryAllocatorDumpsByFullName);},parseMemoryDumpTotals_(processMemoryDump,dumps,pid,dumpId){const rawTotals=dumps.process_totals;if(rawTotals===undefined)return;if(processMemoryDump.totals!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Process totals provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5897const totals={};let platformSpecificTotals=undefined;for(const rawTotalName in rawTotals){const rawTotalValue=rawTotals[rawTotalName];if(rawTotalValue===undefined)continue;if(rawTotalName==='resident_set_bytes'){totals.residentBytes=parseInt(rawTotalValue,16);continue;}
5898if(rawTotalName==='peak_resident_set_bytes'){totals.peakResidentBytes=parseInt(rawTotalValue,16);continue;}
5899if(rawTotalName==='is_peak_rss_resetable'){totals.arePeakResidentBytesResettable=!!rawTotalValue;continue;}
5900if(platformSpecificTotals===undefined){platformSpecificTotals={};totals.platformSpecific=platformSpecificTotals;}
5901platformSpecificTotals[rawTotalName]=parseInt(rawTotalValue,16);}
5902if(totals.peakResidentBytes===undefined&&totals.arePeakResidentBytesResettable!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field peak_resident_set_bytes found'+' but is_peak_rss_resetable not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
5903if(totals.arePeakResidentBytesResettable!==undefined&&totals.peakResidentBytes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Optional field is_peak_rss_resetable found'+' but peak_resident_set_bytes not found in'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});}
5904processMemoryDump.totals=totals;},parseMemoryDumpVmRegions_(processMemoryDump,dumps,pid,dumpId){const rawProcessMmaps=dumps.process_mmaps;if(rawProcessMmaps===undefined)return;const rawVmRegions=rawProcessMmaps.vm_regions;if(rawVmRegions===undefined)return;if(processMemoryDump.vmRegions!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'VM regions provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5905const vmRegions=new Array(rawVmRegions.length);for(let i=0;i<rawVmRegions.length;i++){const rawVmRegion=rawVmRegions[i];const byteStats={};const rawByteStats=rawVmRegion.bs;for(const rawByteStatName in rawByteStats){const rawByteStatValue=rawByteStats[rawByteStatName];if(rawByteStatValue===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Byte stat \''+rawByteStatName+'\' of VM region '+
5906i+' ('+rawVmRegion.mf+') in process memory dump for '+'PID='+pid+' and dump ID='+dumpId+' does not have a value.'});continue;}
5907const byteStatName=BYTE_STAT_NAME_MAP[rawByteStatName];if(byteStatName===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown byte stat name \''+rawByteStatName+'\' ('+
5908rawByteStatValue+') of VM region '+i+' ('+
5909rawVmRegion.mf+') in process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5910byteStats[byteStatName]=parseInt(rawByteStatValue,16);if(byteStatName==='proportionalResident'&&byteStats[byteStatName]===0){byteStats[byteStatName]=undefined;}}
5911vmRegions[i]=new tr.model.VMRegion(parseInt(rawVmRegion.sa,16),parseInt(rawVmRegion.sz,16),rawVmRegion.pf,rawVmRegion.mf,byteStats);}
5912processMemoryDump.vmRegions=tr.model.VMRegionClassificationNode.fromRegions(vmRegions);},parseMemoryDumpHeapDumps_(processMemoryDump,dumps,pid,dumpId){const idPrefix='p'+pid+':';let importer;if(dumps.heaps){const processTypeMap=this.objectTypeNameMap_[pid];if(processTypeMap===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Missing mapping from object type IDs to names.'});}
5913importer=new LegacyHeapDumpTraceEventImporter(this.model_,processMemoryDump,processTypeMap,idPrefix,dumpId,dumps.heaps);}else if(dumps.heaps_v2){const data=dumps.heaps_v2;this.heapProfileExpander=this.heapProfileExpander.expandData(data);this.addNewStackFramesFromExpander_(this.heapProfileExpander,idPrefix);importer=new HeapDumpTraceEventImporter(this.heapProfileExpander,this.model_.stackFrames,processMemoryDump,idPrefix,this.model_);}
5914if(!importer)return;const heapDumps=importer.parse();if(!heapDumps)return;if(processMemoryDump.heapDumps!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Heap dumps provided multiple times for'+' process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5915if(Object.keys(heapDumps).length>0){processMemoryDump.heapDumps=heapDumps;}},addNewStackFramesFromExpander_(expander,idPrefix){const nodeMap=expander.getNewMap('nodes');const newStackFrames={};for(const[id,stackFrame]of nodeMap.entries()){if(!this.model_.stackFrames[idPrefix+id]){newStackFrames[id]={id,name:expander.getString(stackFrame.name_sid),};if(stackFrame.parent)newStackFrames[id].parent=stackFrame.parent;}}
5916this.importStackFrames_(newStackFrames,idPrefix);},parseMemoryDumpLevelOfDetail_(levelsOfDetail,dumps,pid,dumpId){const rawLevelOfDetail=dumps.level_of_detail;let level;switch(rawLevelOfDetail){case'background':level=BACKGROUND;break;case'light':level=LIGHT;break;case'detailed':level=DETAILED;break;case undefined:level=undefined;break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'unknown raw level of detail \''+rawLevelOfDetail+'\' of process memory dump for PID='+pid+' and dump ID='+dumpId+'.'});return;}
5917if(!this.updateMemoryDumpLevelOfDetail_(levelsOfDetail,'process',level)){this.model_.importWarning({type:'memory_dump_parse_error',message:'diffent levels of detail provided for process memory'+' dump for PID='+pid+' (dump ID='+dumpId+').'});}},updateMemoryDumpLevelOfDetail_(levelsOfDetail,scope,level){if(!(scope in levelsOfDetail)||level===levelsOfDetail[scope]){levelsOfDetail[scope]=level;return true;}
5918if(MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(level)>MEMORY_DUMP_LEVEL_OF_DETAIL_ORDER.indexOf(levelsOfDetail[scope])){levelsOfDetail[scope]=level;}
5919return false;},parseMemoryDumpAllocatorDumps_(processMemoryDump,globalMemoryDump,processMemoryAllocatorDumpsByFullName,globalMemoryAllocatorDumpsByFullName,allMemoryAllocatorDumpsByGuid,dumps,pid,dumpId){const rawAllocatorDumps=dumps.allocators;if(rawAllocatorDumps===undefined)return;for(let fullName in rawAllocatorDumps){const rawAllocatorDump=rawAllocatorDumps[fullName];const guid=rawAllocatorDump.guid;if(guid===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' for PID='+pid+' and dump ID='+dumpId+' does not have a GUID.'});}
5920const flags=rawAllocatorDump.flags||0;const isWeakDump=!!(flags&WEAK_MEMORY_ALLOCATOR_DUMP_FLAG);let containerMemoryDump;let dstIndex;if(fullName.startsWith(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX)){fullName=fullName.substring(GLOBAL_MEMORY_ALLOCATOR_DUMP_PREFIX.length);containerMemoryDump=globalMemoryDump;dstIndex=globalMemoryAllocatorDumpsByFullName;}else{containerMemoryDump=processMemoryDump;dstIndex=processMemoryAllocatorDumpsByFullName;}
5921let allocatorDump=allMemoryAllocatorDumpsByGuid[guid];if(allocatorDump===undefined){if(fullName in dstIndex){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple GUIDs provided for'+' memory allocator dump '+fullName+': '+
5922dstIndex[fullName].guid+', '+guid+' (ignored) for'+' PID='+pid+' and dump ID='+dumpId+'.'});continue;}
5923allocatorDump=new tr.model.MemoryAllocatorDump(containerMemoryDump,fullName,guid);allocatorDump.weak=isWeakDump;dstIndex[fullName]=allocatorDump;if(guid!==undefined){allMemoryAllocatorDumpsByGuid[guid]=allocatorDump;}}else{if(allocatorDump.containerMemoryDump!==containerMemoryDump){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5924dumpId+' dumped in different contexts.'});continue;}
5925if(allocatorDump.fullName!==fullName){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump with GUID='+guid+' for PID='+
5926pid+' and dump ID='+dumpId+' has multiple names: '+
5927allocatorDump.fullName+', '+fullName+' (ignored).'});continue;}
5928if(!isWeakDump){allocatorDump.weak=false;}}
5929let attributes=rawAllocatorDump.attrs;if(attributes===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+' does not have attributes.'});attributes={};}
5930for(const attrName in attributes){const attrArgs=attributes[attrName];const attrType=attrArgs.type;const attrValue=attrArgs.value;switch(attrType){case'scalar':{if(attrName in allocatorDump.numerics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for scalar attribute '+
5931attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5932dumpId+'.'});break;}
5933const unit=attrArgs.units==='bytes'?tr.b.Unit.byName.sizeInBytes_smallerIsBetter:tr.b.Unit.byName.unitlessNumber_smallerIsBetter;const value=parseInt(attrValue,16);allocatorDump.addNumeric(attrName,new tr.b.Scalar(unit,value));break;}
5934case'string':if(attrName in allocatorDump.diagnostics){this.model_.importWarning({type:'memory_dump_parse_error',message:'Multiple values provided for string attribute '+
5935attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+
5936dumpId+'.'});break;}
5937allocatorDump.addDiagnostic(attrName,attrValue);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Unknown type provided for attribute '+attrName+' of memory allocator dump '+fullName+' (GUID='+guid+') for PID='+pid+' and dump ID='+dumpId+': '+
5938attrType});break;}}}},inferMemoryAllocatorDumpTree_(memoryAllocatorDumpsByFullName){const rootAllocatorDumps=[];const fullNames=Object.keys(memoryAllocatorDumpsByFullName);fullNames.sort();for(let i=0;i<fullNames.length;i++){let fullName=fullNames[i];let allocatorDump=memoryAllocatorDumpsByFullName[fullName];while(true){const lastSlashIndex=fullName.lastIndexOf('/');if(lastSlashIndex===-1){rootAllocatorDumps.push(allocatorDump);break;}
5939const parentFullName=fullName.substring(0,lastSlashIndex);let parentAllocatorDump=memoryAllocatorDumpsByFullName[parentFullName];let parentAlreadyExisted=true;if(parentAllocatorDump===undefined){parentAlreadyExisted=false;parentAllocatorDump=new tr.model.MemoryAllocatorDump(allocatorDump.containerMemoryDump,parentFullName);if(allocatorDump.weak!==false){parentAllocatorDump.weak=undefined;}
5940memoryAllocatorDumpsByFullName[parentFullName]=parentAllocatorDump;}
5941allocatorDump.parent=parentAllocatorDump;parentAllocatorDump.children.push(allocatorDump);if(parentAlreadyExisted){if(!allocatorDump.weak){while(parentAllocatorDump!==undefined&&parentAllocatorDump.weak===undefined){parentAllocatorDump.weak=false;parentAllocatorDump=parentAllocatorDump.parent;}}
5942break;}
5943fullName=parentFullName;allocatorDump=parentAllocatorDump;}}
5944for(const fullName in memoryAllocatorDumpsByFullName){const allocatorDump=memoryAllocatorDumpsByFullName[fullName];if(allocatorDump.weak===undefined){allocatorDump.weak=true;}}
5945return rootAllocatorDumps;},parseMemoryDumpAllocatorEdges_(allMemoryAllocatorDumpsByGuid,dumpIdEvents,dumpId){for(const pid in dumpIdEvents){const processEvents=dumpIdEvents[pid];for(let i=0;i<processEvents.length;i++){const processEvent=processEvents[i];const dumps=processEvent.args.dumps;if(dumps===undefined)continue;const rawEdges=dumps.allocators_graph;if(rawEdges===undefined)continue;for(let j=0;j<rawEdges.length;j++){const rawEdge=rawEdges[j];const sourceGuid=rawEdge.source;const sourceDump=allMemoryAllocatorDumpsByGuid[sourceGuid];if(sourceDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing source memory allocator dump (GUID='+
5946sourceGuid+').'});continue;}
5947const targetGuid=rawEdge.target;const targetDump=allMemoryAllocatorDumpsByGuid[targetGuid];if(targetDump===undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Edge for PID='+pid+' and dump ID='+dumpId+' is missing target memory allocator dump (GUID='+
5948targetGuid+').'});continue;}
5949const importance=rawEdge.importance;const edge=new tr.model.MemoryAllocatorDumpLink(sourceDump,targetDump,importance);switch(rawEdge.type){case'ownership':if(sourceDump.owns!==undefined){this.model_.importWarning({type:'memory_dump_parse_error',message:'Memory allocator dump '+sourceDump.fullName+' (GUID='+sourceGuid+') already owns a memory'+' allocator dump ('+
5950sourceDump.owns.target.fullName+').'});}else{sourceDump.owns=edge;targetDump.ownedBy.push(edge);}
5951break;case'retention':sourceDump.retains.push(edge);targetDump.retainedBy.push(edge);break;default:this.model_.importWarning({type:'memory_dump_parse_error',message:'Invalid edge type: '+rawEdge.type+' (PID='+pid+', dump ID='+dumpId+', source='+sourceGuid+', target='+targetGuid+', importance='+importance+').'});}}}}},toModelTimeFromUs_(ts){if(!this.toModelTime_){this.toModelTime_=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);}
5952return this.toModelTime_(tr.b.Unit.timestampFromUs(ts));},maybeToModelTimeFromUs_(ts){if(ts===undefined){return undefined;}
5953return this.toModelTimeFromUs_(ts);}};tr.importer.Importer.register(TraceEventImporter);return{TraceEventImporter,};});'use strict';tr.exportTo('tr.e.measure',function(){const AsyncSlice=tr.model.AsyncSlice;function MeasureAsyncSlice(){this.groupTitle_='Ungrouped Measure';const matched=/([^\/:]+):([^\/:]+)\/?(.*)/.exec(arguments[1]);if(matched!==null){arguments[1]=matched[2];this.groupTitle_=matched[1];}
5954AsyncSlice.apply(this,arguments);}
5955MeasureAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return this.groupTitle_;},get title(){return this.title_;},set title(title){this.title_=title;}};AsyncSlice.subTypes.register(MeasureAsyncSlice,{categoryParts:['blink.user_timing']});return{MeasureAsyncSlice,};});'use strict';tr.exportTo('tr.e.net',function(){const AsyncSlice=tr.model.AsyncSlice;function NetAsyncSlice(){AsyncSlice.apply(this,arguments);this.url_=undefined;this.byteCount_=undefined;this.isTitleComputed_=false;this.isUrlComputed_=false;}
5956NetAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){return'NetLog';},get title(){if(this.isTitleComputed_||!this.isTopLevel){return this.title_;}
5957if(this.url!==undefined&&this.url.length>0){this.title_=this.url;}else if(this.args!==undefined&&this.args.source_type!==undefined){this.title_=this.args.source_type;}
5958this.isTitleComputed_=true;return this.title_;},set title(title){this.title_=title;},get url(){if(this.isUrlComputed_){return this.url_;}
5959if(this.args!==undefined&&this.args.params!==undefined&&this.args.params.url!==undefined){this.url_=this.args.params.url;}else if(this.subSlices!==undefined&&this.subSlices.length>0){for(let i=0;i<this.subSlices.length&&!this.url_;i++){if(this.subSlices[i].url!==undefined){this.url_=this.subSlices[i].url;}}}
5960this.isUrlComputed_=true;return this.url_;},get byteCount(){if(this.byteCount_!==undefined){return this.byteCount_;}
5961this.byteCount_=0;if((this.originalTitle==='URL_REQUEST_JOB_FILTERED_BYTES_READ'||this.originalTitle==='URL_REQUEST_JOB_BYTES_READ')&&this.args!==undefined&&this.args.params!==undefined&&this.args.params.byte_count!==undefined){this.byteCount_=this.args.params.byte_count;}
5962for(let i=0;i<this.subSlices.length;i++){this.byteCount_+=this.subSlices[i].byteCount;}
5963return this.byteCount_;}};AsyncSlice.subTypes.register(NetAsyncSlice,{categoryParts:['netlog','disabled-by-default-netlog']});return{NetAsyncSlice,};});'use strict';tr.exportTo('tr.model',function(){const ColorScheme=tr.b.ColorScheme;function Activity(name,category,range,args){tr.model.TimedEvent.call(this,range.min);this.title=name;this.category=category;this.colorId=ColorScheme.getColorIdForGeneralPurposeString(name);this.duration=range.duration;this.args=args;this.name=name;}
5964Activity.prototype={__proto__:tr.model.TimedEvent.prototype,shiftTimestampsForward(amount){this.start+=amount;},addBoundsToRange(range){range.addValue(this.start);range.addValue(this.end);}};return{Activity,};});'use strict';tr.exportTo('tr.e.importer.android',function(){const Importer=tr.importer.Importer;const ACTIVITY_STATE={NONE:'none',CREATED:'created',STARTED:'started',RESUMED:'resumed',PAUSED:'paused',STOPPED:'stopped',DESTROYED:'destroyed'};const activityMap={};function EventLogImporter(model,events){this.model_=model;this.events_=events;this.importPriority=3;}
5965const eventLogActivityRE=new RegExp('(\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d+)'+'\\s+(\\d+)\\s+(\\d+)\\s+([A-Z])\\s*'+'(am_\\w+)\\s*:(.*)');const amCreateRE=new RegExp('\s*\\[.*,.*,.*,(.*),.*,.*,.*,.*\\]');const amFocusedRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amProcStartRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,.*,activity,(.*)\\]');const amOnResumeRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amOnPauseRE=new RegExp('\s*\\[\\d+,(.*)\\]');const amLaunchTimeRE=new RegExp('\s*\\[\\d+,\\d+,(.*),(\\d+),(\\d+)');const amDestroyRE=new RegExp('\s*\\[\\d+,\\d+,\\d+,(.*)\\]');EventLogImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5966if(/^<!DOCTYPE html>/.test(events))return false;return eventLogActivityRE.test(events);};EventLogImporter.prototype={__proto__:Importer.prototype,get importerName(){return'EventLogImporter';},get model(){return this.model_;},getFullActivityName(component){const componentSplit=component.split('/');if(componentSplit[1].startsWith('.')){return componentSplit[0]+componentSplit[1];}
5967return componentSplit[1];},getProcName(component){const componentSplit=component.split('/');return componentSplit[0];},findOrCreateActivity(activityName){if(activityName in activityMap){return activityMap[activityName];}
5968const activity={state:ACTIVITY_STATE.NONE,name:activityName};activityMap[activityName]=activity;return activity;},deleteActivity(activityName){delete activityMap[activityName];},handleCreateActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.CREATED;activity.createdTs=ts;},handleFocusActivity(ts,procName,activityName){const activity=this.findOrCreateActivity(activityName);activity.lastFocusedTs=ts;},handleProcStartForActivity(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.procStartTs=ts;},handleOnResumeCalled(ts,pid,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.RESUMED;activity.lastResumeTs=ts;activity.pid=pid;},handleOnPauseCalled(ts,activityName){const activity=this.findOrCreateActivity(activityName);activity.state=ACTIVITY_STATE.PAUSED;activity.lastPauseTs=ts;if(ts>this.model_.bounds.min&&ts<this.model_.bounds.max){this.addActivityToProcess(activity);}},handleLaunchTime(ts,activityName,launchTime){const activity=this.findOrCreateActivity(activityName);activity.launchTime=launchTime;},handleDestroyActivity(ts,activityName){this.deleteActivity(activityName);},addActivityToProcess(activity){if(activity.pid===undefined)return;const process=this.model_.getOrCreateProcess(activity.pid);const range=tr.b.math.Range.fromExplicitRange(Math.max(this.model_.bounds.min,activity.lastResumeTs),activity.lastPauseTs);const newActivity=new tr.model.Activity(activity.name,'Android Activity',range,{created:activity.createdTs,procstart:activity.procStartTs,lastfocus:activity.lastFocusedTs});process.activities.push(newActivity);},parseAmLine_(line){let match=eventLogActivityRE.exec(line);if(!match)return;const firstRealtimeTs=this.model_.bounds.min-
5969this.model_.realtime_to_monotonic_offset_ms;const year=new Date(firstRealtimeTs).getFullYear();const ts=match[1].substring(0,5)+'-'+year+' '+
5970match[1].substring(5,match[1].length);const monotonicTs=Date.parse(ts)+
5971this.model_.realtime_to_monotonic_offset_ms;const pid=match[2];const action=match[5];const data=match[6];if(action==='am_create_activity'){match=amCreateRE.exec(data);if(match&&match.length>=2){this.handleCreateActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_focused_activity'){match=amFocusedRE.exec(data);if(match&&match.length>=2){this.handleFocusActivity(monotonicTs,this.getProcName(match[1]),this.getFullActivityName(match[1]));}}else if(action==='am_proc_start'){match=amProcStartRE.exec(data);if(match&&match.length>=2){this.handleProcStartForActivity(monotonicTs,this.getFullActivityName(match[1]));}}else if(action==='am_on_resume_called'){match=amOnResumeRE.exec(data);if(match&&match.length>=2){this.handleOnResumeCalled(monotonicTs,pid,match[1]);}}else if(action==='am_on_paused_called'){match=amOnPauseRE.exec(data);if(match&&match.length>=2){this.handleOnPauseCalled(monotonicTs,match[1]);}}else if(action==='am_activity_launch_time'){match=amLaunchTimeRE.exec(data);this.handleLaunchTime(monotonicTs,this.getFullActivityName(match[1]),match[2]);}else if(action==='am_destroy_activity'){match=amDestroyRE.exec(data);if(match&&match.length===2){this.handleDestroyActivity(monotonicTs,this.getFullActivityName(match[1]));}}},importEvents(){if(isNaN(this.model_.realtime_to_monotonic_offset_ms)){this.model_.importWarning({type:'eveng_log_clock_sync',message:'Need a trace_event_clock_sync to map realtime to import.'});return;}
5972this.model_.updateBounds();const lines=this.events_.split('\n');lines.forEach(this.parseAmLine_,this);for(const activityName in activityMap){const activity=activityMap[activityName];if(activity.state===ACTIVITY_STATE.RESUMED){activity.lastPauseTs=this.model_.bounds.max;this.addActivityToProcess(activity);}}}};Importer.register(EventLogImporter);return{EventLogImporter,};});'use strict';tr.exportTo('tr.e.importer.android.process_data',function(){const Importer=tr.importer.Importer;const PROCESS_DUMP_HEADER='PROCESS DUMP';function ProcessDataImporter(model,processData){this.model_=model;this.processDataLines=processData.split('\n');this.importPriority=3;}
5973ProcessDataImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5974if(events.split('\n')[0]===PROCESS_DUMP_HEADER){return true;}
5975return false;};ProcessDataImporter.prototype={__proto__:Importer.prototype,get importerName(){return'ProcessDataImporter';},get model(){return this.model_;},parseEventData(data){const allDumpedProcesses={};let parseProcesses=false;let parseThreads=false;let legacy=false;for(let i=1;i<data.length;i++){const cols=data[i].split(/\s+/);if(cols[0].startsWith('USER')){if(parseProcesses){parseProcesses=false;parseThreads=true;}else{parseThreads=false;parseProcesses=true;}
5976const colCount=cols.length;if(parseProcesses&&colCount===9){legacy=false;}else if(parseProcesses&&colCount===8){legacy=true;}
5977continue;}
5978if(parseProcesses){const pid=Number(cols[1]);if(allDumpedProcesses[pid]===undefined){allDumpedProcesses[pid]={};}
5979allDumpedProcesses[pid]={'name':cols[8],pid,'comm':cols[9]};continue;}
5980if(parseThreads){let pid;let tid;let name;if(legacy){pid=Number(cols[1]);if(allDumpedProcesses[pid]!==undefined){tid=pid;}else{tid=pid;pid=Number(cols[2]);}
5981name=cols.slice(8).join(' ');}else{pid=Number(cols[1]);tid=Number(cols[2]);name=cols.slice(3).join(' ');}
5982if(allDumpedProcesses[pid]===undefined)continue;if(allDumpedProcesses[pid].threads===undefined){allDumpedProcesses[pid].threads={};}
5983allDumpedProcesses[pid].threads[tid]={tid,name};continue;}}
5984return allDumpedProcesses;},importEvents(){const allDumpedProcesses=this.parseEventData(this.processDataLines);const modelProcesses=this.model_.getAllProcesses();for(let i=0;i<modelProcesses.length;i++){const modelProcess=modelProcesses[i];const pid=modelProcess.pid;const dumpedProcess=allDumpedProcesses[pid];if(dumpedProcess===undefined){continue;}
5985modelProcess.name=dumpedProcess.name;const processDumpThreads=dumpedProcess.threads;if(processDumpThreads!==undefined){for(const tid in modelProcess.threads){const modelThread=modelProcess.threads[tid];if(Number(pid)===Number(tid)){modelThread.name='UI thread';}else if(modelThread.name==='<...>'){if(processDumpThreads[tid]!==undefined){modelThread.name=processDumpThreads[tid].name;}}}}}}};Importer.register(ProcessDataImporter);return{ProcessDataImporter,};});'use strict';tr.exportTo('tr.e.importer.battor',function(){function BattorImporter(model,events){this.importPriority=3;this.model_=model;this.samples_=[];this.syncTimestampsById_=new Map();this.parseTrace_(events);}
5986const battorDataLineRE=new RegExp('^(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)\\s+(-?\\d+\\.\\d+)'+'(?:\\s+<(\\S+)>)?$');const battorHeaderLineRE=/^# BattOr/;BattorImporter.canImport=function(events){if(!(typeof(events)==='string'||events instanceof String)){return false;}
5987return battorHeaderLineRE.test(events);};BattorImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'BattorImporter';},get model(){return this.model_;},importClockSyncMarkers(){for(const[syncId,ts]of this.syncTimestampsById_){this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.BATTOR,syncId,ts);}},importEvents(){if(this.model_.device.powerSeries){this.model_.importWarning({type:'import_error',message:'Power counter exists, can not import BattOr power trace.'});return;}
5988const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(tr.model.ClockDomainId.BATTOR);const powerSeries=this.model_.device.powerSeries=new tr.model.PowerSeries(this.model_.device);for(let i=0;i<this.samples_.length;i++){const sample=this.samples_[i];powerSeries.addPowerSample(modelTimeTransformer(sample.ts),sample.powerInW);}},parseTrace_(trace){const lines=trace.split('\n');for(let line of lines){line=line.trim();if(line.length===0)continue;if(line.startsWith('#'))continue;const groups=battorDataLineRE.exec(line);if(!groups){this.model_.importWarning({type:'parse_error',message:'Unrecognized line in BattOr trace: '+line});continue;}
5989const ts=parseFloat(groups[1]);const voltageInV=tr.b.convertUnit(parseFloat(groups[2]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const currentInA=tr.b.convertUnit(parseFloat(groups[3]),tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);const syncId=groups[4];if(syncId){this.syncTimestampsById_.set(syncId,ts);}
5990if(voltageInV<0||currentInA<0){this.model_.importWarning({type:'parse_error',message:'The following line in the BattOr trace has a negative '+'voltage or current, neither of which are allowed: '+line+'. A common cause of this is that the device is charging '+'while the trace is being recorded.'});continue;}
5991this.samples_.push(new Sample(ts,voltageInV,currentInA));}}};function Sample(ts,voltageInV,currentInA){this.ts=ts;this.voltageInV=voltageInV;this.currentInA=currentInA;}
5992Sample.prototype={get powerInW(){return this.voltageInV*this.currentInA;}};tr.importer.Importer.register(BattorImporter);return{BattorImporter,};});'use strict';tr.exportTo('tr.e.importer.ddms',function(){const kPid=0;const kCategory='java';const kMethodLutEndMarker='\n*end\n';const kThreadsStart='\n*threads\n';const kMethodsStart='\n*methods\n';const kTraceMethodEnter=0x00;const kTraceMethodExit=0x01;const kTraceUnroll=0x02;const kTraceMethodActionMask=0x03;const kTraceHeaderLength=32;const kTraceMagicValue=0x574f4c53;const kTraceVersionSingleClock=2;const kTraceVersionDualClock=3;const kTraceRecordSizeSingleClock=10;const kTraceRecordSizeDualClock=14;function Reader(stringPayload){this.position_=0;this.data_=JSZip.utils.transformTo('uint8array',stringPayload);}
5993Reader.prototype={__proto__:Object.prototype,uint8(){const result=this.data_[this.position_];this.position_+=1;return result;},uint16(){let result=0;result+=this.uint8();result+=this.uint8()<<8;return result;},uint32(){let result=0;result+=this.uint8();result+=this.uint8()<<8;result+=this.uint8()<<16;result+=this.uint8()<<24;return result;},uint64(){const low=this.uint32();const high=this.uint32();const lowStr=('0000000'+low.toString(16)).substr(-8);const highStr=('0000000'+high.toString(16)).substr(-8);const result=highStr+lowStr;return result;},seekTo(position){this.position_=position;},hasMore(){return this.position_<this.data_.length;}};function DdmsImporter(model,data){this.importPriority=3;this.model_=model;this.data_=data;}
5994DdmsImporter.canImport=function(data){if(typeof(data)==='string'||data instanceof String){const header=data.slice(0,1000);return header.startsWith('*version\n')&&header.indexOf('\nvm=')>=0&&header.indexOf(kThreadsStart)>=0;}
5995return false;};DdmsImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'DdmsImporter';},get model(){return this.model_;},importEvents(){const divider=this.data_.indexOf(kMethodLutEndMarker)+
5996kMethodLutEndMarker.length;this.metadata_=this.data_.slice(0,divider);this.methods_={};this.parseThreads();this.parseMethods();const traceReader=new Reader(this.data_.slice(divider));const magic=traceReader.uint32();if(magic!==kTraceMagicValue){throw Error('Failed to match magic value');}
5997this.version_=traceReader.uint16();if(this.version_!==kTraceVersionDualClock){throw Error('Unknown version');}
5998const dataOffest=traceReader.uint16();const startDateTime=traceReader.uint64();const recordSize=traceReader.uint16();traceReader.seekTo(dataOffest);while(traceReader.hasMore()){this.parseTraceEntry(traceReader);}},parseTraceEntry(reader){const tid=reader.uint16();const methodPacked=reader.uint32();const cpuSinceStart=reader.uint32();const wallClockSinceStart=reader.uint32();let method=methodPacked&~kTraceMethodActionMask;const action=methodPacked&kTraceMethodActionMask;const thread=this.getTid(tid);method=this.getMethodName(method);if(action===kTraceMethodEnter){thread.sliceGroup.beginSlice(kCategory,method,wallClockSinceStart,undefined,cpuSinceStart);}else if(thread.sliceGroup.openSliceCount){thread.sliceGroup.endSlice(wallClockSinceStart,cpuSinceStart);}},parseThreads(){let threads=this.metadata_.slice(this.metadata_.indexOf(kThreadsStart)+
5999kThreadsStart.length);threads=threads.slice(0,threads.indexOf('\n*'));threads=threads.split('\n');threads.forEach(this.parseThread.bind(this));},parseThread(threadLine){const tid=threadLine.slice(0,threadLine.indexOf('\t'));const thread=this.getTid(parseInt(tid));thread.name=threadLine.slice(threadLine.indexOf('\t')+1);},getTid(tid){return this.model_.getOrCreateProcess(kPid).getOrCreateThread(tid);},parseMethods(){let methods=this.metadata_.slice(this.metadata_.indexOf(kMethodsStart)+
6000kMethodsStart.length);methods=methods.slice(0,methods.indexOf('\n*'));methods=methods.split('\n');methods.forEach(this.parseMethod.bind(this));},parseMethod(methodLine){const data=methodLine.split('\t');const methodId=parseInt(data[0]);const methodName=data[1]+'.'+data[2]+data[3];this.addMethod(methodId,methodName);},addMethod(methodId,methodName){this.methods_[methodId]=methodName;},getMethodName(methodId){return this.methods_[methodId];}};tr.importer.Importer.register(DdmsImporter);return{DdmsImporter,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){function Parser(importer){this.importer=importer;this.model=importer.model;}
6001Parser.prototype={__proto__:Object.prototype};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.mandatoryBaseClass=Parser;tr.b.decorateExtensionRegistry(Parser,options);return{Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function AndroidParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));importer.registerEventHandler('0:android',AndroidParser.prototype.traceMarkWriteAndroidEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6002function parseArgs(argsString){const args={};if(argsString){const argsArray=argsString.split(';');for(let i=0;i<argsArray.length;++i){const parts=argsArray[i].split('=');if(parts[0]){args[parts.shift()]=parts.join('=');}}}
6003return args;}
6004AndroidParser.prototype={__proto__:Parser.prototype,openAsyncSlice(thread,category,name,cookie,ts,args){const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts,args);const key=category+':'+name+':'+cookie;slice.id=cookie;slice.startThread=thread;if(!this.openAsyncSlices){this.openAsyncSlices={};}
6005this.openAsyncSlices[key]=slice;},closeAsyncSlice(thread,category,name,cookie,ts,args){if(!this.openAsyncSlices){return;}
6006const key=category+':'+name+':'+cookie;const slice=this.openAsyncSlices[key];if(!slice){return;}
6007for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the S and F events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the F event will be used.'});}
6008slice.args[arg]=args[arg];}
6009slice.endThread=thread;slice.duration=ts-slice.start;slice.startThread.asyncSliceGroup.push(slice);delete this.openAsyncSlices[key];},traceMarkWriteAndroidEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=eventBase.details.split('|');switch(eventData[0]){case'B':{const ppid=parseInt(eventData[1]);const title=eventData[2];const args=parseArgs(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;if(!thread.sliceGroup.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6010this.ppids_[pid]=ppid;thread.sliceGroup.beginSlice(category,title,ts,args);break;}
6011case'E':{const ppid=this.ppids_[pid];if(ppid===undefined){break;}
6012const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);if(!thread.sliceGroup.openSliceCount){break;}
6013const slice=thread.sliceGroup.endSlice(ts);const args=parseArgs(eventData[3]);for(const arg in args){if(slice.args[arg]!==undefined){this.model_.importWarning({type:'parse_error',message:'Both the B and E events of '+slice.title+' provided values for argument '+arg+'.'+' The value of the E event will be used.'});}
6014slice.args[arg]=args[arg];}
6015break;}
6016case'C':{const ppid=parseInt(eventData[1]);const name=eventData[2];const value=parseInt(eventData[3]);let category=eventData[4];if(category===undefined)category='android';const ctr=this.model_.getOrCreateProcess(ppid).getOrCreateCounter(category,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries(value,ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6017ctr.series.forEach(function(series){series.addCounterSample(ts,value);});break;}
6018case'S':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.openAsyncSlice(thread,category,name,cookie,ts,args);break;}
6019case'F':{const ppid=parseInt(eventData[1]);const name=eventData[2];const cookie=parseInt(eventData[3]);const args=parseArgs(eventData[4]);let category=eventData[5];if(category===undefined)category='android';const thread=this.model_.getOrCreateProcess(ppid).getOrCreateThread(pid);thread.name=eventBase.threadName;this.ppids_[pid]=ppid;this.closeAsyncSlice(thread,category,name,cookie,ts,args);break;}
6020default:return false;}
6021return true;}};Parser.register(AndroidParser);return{AndroidParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;const binderTransRE=new RegExp('transaction=(\\d+) dest_node=(\\d+) '+'dest_proc=(\\d+) dest_thread=(\\d+) '+'reply=(\\d+) flags=(0x[0-9a-fA-F]+) '+'code=(0x[0-9a-fA-F]+)');const binderTransReceivedRE=/transaction=(\d+)/;function isBinderThread(name){return(name.indexOf('Binder')>-1);}
6022const TF_ONE_WAY=0x01;const TF_ROOT_OBJECT=0x04;const TF_STATUS_CODE=0x08;const TF_ACCEPT_FDS=0x10;const NO_FLAGS=0;function binderFlagsToHuman(num){const flag=parseInt(num,16);let str='';if(flag&TF_ONE_WAY){str+='this is a one-way call: async, no return; ';}
6023if(flag&TF_ROOT_OBJECT){str+='contents are the components root object; ';}
6024if(flag&TF_STATUS_CODE){str+='contents are a 32-bit status code; ';}
6025if(flag&TF_ACCEPT_FDS){str+='allow replies with file descriptors; ';}
6026if(flag===NO_FLAGS){str+='No Flags Set';}
6027return str;}
6028function isReplyToOrigin(calling,called){return(called.dest_proc===calling.calling_pid||called.dest_thread===calling.calling_pid);}
6029function binderCodeToHuman(code){return'Java Layer Dependent';}
6030function doInternalSlice(trans,slice,ts){if(slice.subSlices.length!==0){slice.subSlices[0].start=ts;return slice.subSlices[0];}
6031const kthread=trans.calling_kthread.thread;const internalSlice=kthread.sliceGroup.pushCompleteSlice('binder',slice.title,ts,.001,0,0,slice.args);internalSlice.title=slice.title;internalSlice.id=slice.id;internalSlice.colorId=slice.colorId;slice.subSlices.push(internalSlice);return internalSlice;}
6032function generateBinderArgsForSlice(trans,cThreadName){return{'Transaction Id':trans.transaction_key,'Destination Node':trans.dest_node,'Destination Process':trans.dest_proc,'Destination Thread':trans.dest_thread,'Destination Name':cThreadName,'Reply transaction?':trans.is_reply_transaction,'Flags':trans.flags+' '+
6033binderFlagsToHuman(trans.flags),'Code':trans.code+' '+
6034binderCodeToHuman(trans.code),'Calling PID':trans.calling_pid,'Calling tgid':trans.calling_kthread.thread.parent.pid};}
6035function BinderTransaction(events,callingPid,callingTs,callingKthread){this.transaction_key=parseInt(events[1]);this.dest_node=parseInt(events[2]);this.dest_proc=parseInt(events[3]);this.dest_thread=parseInt(events[4]);this.is_reply_transaction=parseInt(events[5])===1?true:false;this.expect_reply=((this.is_reply_transaction===false)&&(parseInt(events[6],16)&TF_ONE_WAY)===0);this.flags=events[6];this.code=events[7];this.calling_pid=callingPid;this.calling_ts=callingTs;this.calling_kthread=callingKthread;}
6036function BinderParser(importer){Parser.call(this,importer);importer.registerEventHandler('binder_locked',BinderParser.prototype.binderLocked.bind(this));importer.registerEventHandler('binder_unlock',BinderParser.prototype.binderUnlock.bind(this));importer.registerEventHandler('binder_lock',BinderParser.prototype.binderLock.bind(this));importer.registerEventHandler('binder_transaction',BinderParser.prototype.binderTransaction.bind(this));importer.registerEventHandler('binder_transaction_received',BinderParser.prototype.binderTransactionReceived.bind(this));this.model_=importer.model;this.kthreadlookup={};this.importer_=importer;this.transWaitingRecv={};this.syncTransWaitingCompletion={};this.recursiveSyncTransWaitingCompletion_ByPID={};this.receivedTransWaitingConversion={};}
6037BinderParser.prototype={__proto__:Parser.prototype,binderLock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventName.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);kthread.binderAttemptLockTS=ts;kthread.binderOpenTsA=ts;return true;},binderLocked(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const binderThread=isBinderThread(eventBase.threadName);const name=eventBase.threadName;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);this.doNameMappings(pid,tgid,name);const rthread=kthread.thread;kthread.binderLockAquiredTS=ts;if(kthread.binderAttemptLockTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,name,kthread);rthread.sliceGroup.pushCompleteSlice('binder','binder lock waiting',kthread.binderAttemptLockTS,ts-kthread.binderAttemptLockTS,0,0,args);kthread.binderAttemptLockTS=undefined;return true;},binderUnlock(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);if(kthread.binderLockAquiredTS===undefined)return false;const args=this.generateArgsForSlice(tgid,pid,eventBase.threadName,kthread);kthread.thread.sliceGroup.pushCompleteSlice('binder','binder lock held',kthread.binderLockAquiredTS,ts-kthread.binderLockAquiredTS,0,0,args);kthread.binderLockAquiredTS=undefined;return true;},binderTransaction(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;this.doNameMappings(pid,tgid,eventBase.threadName);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const trans=new BinderTransaction(event,pid,ts,kthread);const args=generateBinderArgsForSlice(trans,eventBase.threadName);const priorReceive=this.getPriorReceiveOnPID(pid);if(priorReceive!==false){return this.modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event);}
6038const recursiveTrans=this.getRecursiveTransactionNeedingCompletion(pid);if(recursiveTrans!==false){return this.modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args);}
6039const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);slice.colorId=ColorScheme.getColorIdForGeneralPurposeString(ts.toString());trans.slice=slice;if(trans.expect_reply){slice.title='binder transaction';}else{slice.title='binder transaction async';}
6040this.addTransactionWaitingForRecv(trans.transaction_key,trans);return true;},binderTransactionReceived(eventName,cpuNumber,pid,ts,eventBase){const event=binderTransReceivedRE.exec(eventBase.details);if(event===undefined)return false;const tgid=parseInt(eventBase.tgid);if(isNaN(tgid))return false;const transactionkey=parseInt(event[1]);const kthread=this.importer_.getOrCreateBinderKernelThread(eventBase.threadName,tgid,pid);const syncComplete=this.getSyncTransNeedsCompletion(transactionkey);if(syncComplete!==false){const syncTrans=syncComplete[0];const syncSlice=syncTrans.slice;const responseTrans=syncComplete[1];const responseSlice=responseTrans.slice;syncSlice.duration=ts-syncSlice.start;const syncInternal=doInternalSlice(syncTrans,syncSlice,ts);const responseTs=responseSlice.start+responseSlice.duration;const responseInternal=doInternalSlice(responseTrans,responseSlice,responseTs);if(responseSlice.outFlowEvents.length===0||syncSlice.inFlowEvents.length===0){const flow=this.generateFlow(responseInternal,syncInternal,responseTrans,syncTrans);syncSlice.inFlowEvents.push(flow);responseSlice.outFlowEvents.push(flow);this.model_.flowEvents.push(flow);}
6041for(let i=1;i<syncSlice.inFlowEvents.length;i++){syncSlice.inFlowEvents[i].duration=ts-syncSlice.inFlowEvents[i].start;}
6042return true;}
6043const trForRecv=this.getTransactionWaitingForRecv(transactionkey);if(trForRecv!==false){if(!trForRecv.expect_reply){const args=generateBinderArgsForSlice(trForRecv,eventBase.threadName);const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder Async recv',ts,.03,0,0,args);const fakeEvent=[0,0,0,0,0,0,0];const fakeTrans=new BinderTransaction(fakeEvent,pid,ts,kthread);const flow=this.generateFlow(trForRecv.slice,slice,trForRecv,fakeTrans);this.model_.flowEvents.push(flow);trForRecv.slice.title='binder transaction async';trForRecv.slice.duration=.03;return true;}
6044trForRecv.slice.title='binder transaction';this.setCurrentReceiveOnPID(pid,[ts,trForRecv]);return true;}
6045return false;},modelRecursiveTransactions(recursiveTrans,ts,pid,kthread,trans,args){const recursiveSlice=recursiveTrans[1].slice;const origSlice=recursiveTrans[0].slice;recursiveSlice.duration=ts-recursiveSlice.start;trans.slice=recursiveSlice;if(trans.is_reply_transaction){origSlice.duration=ts-origSlice.start;this.addSyncTransNeedingCompletion(trans.transaction_key,recursiveTrans);if(isReplyToOrigin(recursiveTrans[0],trans)){this.removeRecursiveTransaction(pid);}}else{const slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',ts,.03,0,0,args);trans.slice=slice;this.addTransactionWaitingForRecv(trans.transaction_key,trans);}
6046return true;},modelPriorReceive(priorReceive,ts,pid,tgid,kthread,trans,args,event){const calleeSlice=priorReceive[1].slice;const calleeTrans=priorReceive[1];const recvTs=priorReceive[0];let slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','',recvTs,ts-recvTs,0,0,args);const flow=this.generateFlow(calleeSlice,slice,calleeTrans,trans);this.model_.flowEvents.push(flow);trans.slice=slice;if(trans.is_reply_transaction){slice.title='binder reply';this.addSyncTransNeedingCompletion(trans.transaction_key,[calleeTrans,trans]);}else{slice.title='binder reply';const trans1=new BinderTransaction(event,pid,ts,kthread);slice=kthread.thread.sliceGroup.pushCompleteSlice('binder','binder transaction',recvTs,(ts-recvTs),0,0,args);if(!trans.expect_reply){slice.title='binder transaction async';slice.duration=.03;}else{}
6047trans1.slice=slice;this.addRecursiveSyncTransNeedingCompletion(pid,[calleeTrans,trans]);this.addTransactionWaitingForRecv(trans.transaction_key,trans1);}
6048return true;},getRecursiveTransactionNeedingCompletion(pid){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){return false;}
6049const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0)return false;return this.recursiveSyncTransWaitingCompletion_ByPID[pid][len-1];},addRecursiveSyncTransNeedingCompletion(pid,tuple){if(this.recursiveSyncTransWaitingCompletion_ByPID[pid]===undefined){this.recursiveSyncTransWaitingCompletion_ByPID[pid]=[];}
6050this.recursiveSyncTransWaitingCompletion_ByPID[pid].push(tuple);},removeRecursiveTransaction(pid){const len=this.recursiveSyncTransWaitingCompletion_ByPID[pid].length;if(len===0){delete this.recursiveSyncTransWaitingCompletion_ByPID[pid];return;}
6051this.recursiveSyncTransWaitingCompletion_ByPID[pid].splice(len-1,1);},setCurrentReceiveOnPID(pid,tuple){if(this.receivedTransWaitingConversion[pid]===undefined){this.receivedTransWaitingConversion[pid]=[];}
6052this.receivedTransWaitingConversion[pid].push(tuple);},getPriorReceiveOnPID(pid){if(this.receivedTransWaitingConversion[pid]===undefined){return false;}
6053const len=this.receivedTransWaitingConversion[pid].length;if(len===0)return false;return this.receivedTransWaitingConversion[pid].splice(len-1,1)[0];},addSyncTransNeedingCompletion(transactionkey,tuple){const dict=this.syncTransWaitingCompletion;dict[transactionkey]=tuple;},getSyncTransNeedsCompletion(transactionkey){const ret=this.syncTransWaitingCompletion[transactionkey];if(ret===undefined)return false;delete this.syncTransWaitingCompletion[transactionkey];return ret;},getTransactionWaitingForRecv(transactionkey){const ret=this.transWaitingRecv[transactionkey];if(ret===undefined)return false;delete this.transWaitingRecv[transactionkey];return ret;},addTransactionWaitingForRecv(transactionkey,transaction){this.transWaitingRecv[transactionkey]=transaction;},generateFlow(from,to,fromTrans,toTrans){const title='Transaction from : '+
6054this.pid2name(fromTrans.calling_pid)+' From PID: '+fromTrans.calling_pid+' to pid: '+
6055toTrans.calling_pid+' Thread Name: '+this.pid2name(toTrans.calling_pid);const ts=from.start;const flow=new tr.model.FlowEvent('binder','binder',title,1,ts,[]);flow.startSlice=from;flow.endSlice=to;flow.start=from.start;flow.duration=to.start-ts;from.outFlowEvents.push(flow);to.inFlowEvents.push(flow);return flow;},generateArgsForSlice(tgid,pid,name,kthread){return{'Thread Name':name,pid,'gid':tgid};},pid2name(pid){return this.kthreadlookup[pid];},doNameMappings(pid,tgid,name){this.registerPidName(pid,name);this.registerPidName(tgid,name);},registerPidName(pid,name){if(this.pid2name(pid)===undefined){this.kthreadlookup[pid]=name;}}};Parser.register(BinderParser);return{BinderParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function BusParser(importer){Parser.call(this,importer);importer.registerEventHandler('memory_bus_usage',BusParser.prototype.traceMarkWriteBusEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6056BusParser.prototype={__proto__:Parser.prototype,traceMarkWriteBusEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const re=new RegExp('bus=(\\S+) rw_bytes=(\\d+) r_bytes=(\\d+) '+'w_bytes=(\\d+) cycles=(\\d+) ns=(\\d+)');const event=re.exec(eventBase.details);const name=event[1];const rwBytes=parseInt(event[2]);const rBytes=parseInt(event[3]);const wBytes=parseInt(event[4]);const cycles=parseInt(event[5]);const ns=parseInt(event[6]);const sec=tr.b.convertUnit(ns,tr.b.UnitPrefixScale.METRIC.NANO,tr.b.UnitPrefixScale.METRIC.NONE);const readBandwidthInBps=rBytes/sec;const readBandwidthInMiBps=tr.b.convertUnit(readBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);const writeBandwidthInBps=wBytes/sec;const writeBandwidthInMiBps=tr.b.convertUnit(writeBandwidthInBps,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI);let ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' read');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6057ctr.series.forEach(function(series){series.addCounterSample(ts,readBandwidthInMiBps);});ctr=this.model_.kernel.getOrCreateCounter(null,'bus '+name+' write');if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6058ctr.series.forEach(function(series){series.addCounterSample(ts,writeBandwidthInMiBps);});return true;}};Parser.register(BusParser);return{BusParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ClockParser(importer){Parser.call(this,importer);importer.registerEventHandler('clock_set_rate',ClockParser.prototype.traceMarkWriteClockEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6059ClockParser.prototype={__proto__:Parser.prototype,traceMarkWriteClockEvent(eventName,cpuNumber,pid,ts,eventBase,threadName){const event=/(\S+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);const name=event[1];const rate=parseInt(event[2]);const ctr=this.model_.kernel.getOrCreateCounter(null,name);if(ctr.numSeries===0){ctr.addSeries(new tr.model.CounterSeries('value',ColorScheme.getColorIdForGeneralPurposeString(ctr.name+'.'+'value')));}
6060ctr.series.forEach(function(series){series.addCounterSample(ts,rate);});return true;}};Parser.register(ClockParser);return{ClockParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function CpufreqParser(importer){Parser.call(this,importer);importer.registerEventHandler('cpufreq_interactive_up',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_down',CpufreqParser.prototype.cpufreqUpDownEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_already',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_notyet',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_setspeed',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_target',CpufreqParser.prototype.cpufreqTargetEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_boost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));importer.registerEventHandler('cpufreq_interactive_unboost',CpufreqParser.prototype.cpufreqBoostUnboostEvent.bind(this));}
6061function splitData(input){const data={};const args=input.split(/\s+/);const len=args.length;for(let i=0;i<len;i++){const item=args[i].split('=');data[item[0]]=parseInt(item[1]);}
6062return data;}
6063CpufreqParser.prototype={__proto__:Parser.prototype,cpufreqSlice(ts,eventName,cpu,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqBoostSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('cpufreq_boost');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},cpufreqUpDownEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqTargetEvent(eventName,cpuNumber,pid,ts,eventBase){const data=splitData(eventBase.details);this.cpufreqSlice(ts,eventName,data.cpu,data);return true;},cpufreqBoostUnboostEvent(eventName,cpuNumber,pid,ts,eventBase){this.cpufreqBoostSlice(ts,eventName,{type:eventBase.details});return true;}};Parser.register(CpufreqParser);return{CpufreqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DiskParser(importer){Parser.call(this,importer);importer.registerEventHandler('f2fs_write_begin',DiskParser.prototype.f2fsWriteBeginEvent.bind(this));importer.registerEventHandler('f2fs_write_end',DiskParser.prototype.f2fsWriteEndEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_enter',DiskParser.prototype.f2fsSyncFileEnterEvent.bind(this));importer.registerEventHandler('f2fs_sync_file_exit',DiskParser.prototype.f2fsSyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_sync_file_enter',DiskParser.prototype.ext4SyncFileEnterEvent.bind(this));importer.registerEventHandler('ext4_sync_file_exit',DiskParser.prototype.ext4SyncFileExitEvent.bind(this));importer.registerEventHandler('ext4_da_write_begin',DiskParser.prototype.ext4WriteBeginEvent.bind(this));importer.registerEventHandler('ext4_da_write_end',DiskParser.prototype.ext4WriteEndEvent.bind(this));importer.registerEventHandler('block_rq_issue',DiskParser.prototype.blockRqIssueEvent.bind(this));importer.registerEventHandler('block_rq_complete',DiskParser.prototype.blockRqCompleteEvent.bind(this));}
6064DiskParser.prototype={__proto__:Parser.prototype,openAsyncSlice(ts,category,threadName,pid,key,name){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);const asyncSliceConstructor=tr.model.AsyncSlice.subTypes.getConstructor(category,name);const slice=new asyncSliceConstructor(category,name,ColorScheme.getColorIdForGeneralPurposeString(name),ts);slice.startThread=kthread.thread;if(!kthread.openAsyncSlices){kthread.openAsyncSlices={};}
6065kthread.openAsyncSlices[key]=slice;},closeAsyncSlice(ts,category,threadName,pid,key,args){const kthread=this.importer.getOrCreateKernelThread(category+':'+threadName,pid);if(kthread.openAsyncSlices){const slice=kthread.openAsyncSlices[key];if(slice){slice.duration=ts-slice.start;slice.args=args;slice.endThread=kthread.thread;slice.subSlices=[new tr.model.AsyncSlice(category,slice.title,slice.colorId,slice.start,slice.args,slice.duration)];kthread.thread.asyncSliceGroup.push(slice);delete kthread.openAsyncSlices[key];}}},f2fsWriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), flags = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'f2fs_write');return true;},f2fsWriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev = \((\d+,\d+)\), ino = (\d+), pos = (\d+), len = (\d+), copied = (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4WriteBeginEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) flags (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const key=device+'-'+inode+'-'+pos+'-'+len;this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,'ext4_write');return true;},ext4WriteEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) pos (\d+) len (\d+) copied (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const pos=parseInt(event[3]);const len=parseInt(event[4]);const error=parseInt(event[5])!==len;const key=device+'-'+inode+'-'+pos+'-'+len;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},f2fsSyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), pino = (\\d+), i_mode = (\\S+), '+'i_size = (\\d+), i_nlink = (\\d+), i_blocks = (\\d+), i_advise = (\\d+)').exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const key=device+'-'+inode;this.openAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,'fsync');return true;},f2fsSyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('dev = \\((\\d+,\\d+)\\), ino = (\\d+), checkpoint is (\\S+), '+'datasync = (\\d+), ret = (\\d+)').exec(eventBase.details.replace('not needed','not_needed'));if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[5]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'f2fs',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},ext4SyncFileEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) parent (\d+) datasync (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const datasync=(event[4]==='1')||(event[4]===1);const key=device+'-'+inode;const action=datasync?'fdatasync':'fsync';this.openAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,action);return true;},ext4SyncFileExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev (\d+,\d+) ino (\d+) ret (\d+)/.exec(eventBase.details);if(!event)return false;const device=event[1];const inode=parseInt(event[2]);const error=parseInt(event[3]);const key=device+'-'+inode;this.closeAsyncSlice(ts,'ext4',eventBase.threadName,eventBase.pid,key,{device,inode,error});return true;},blockRqIssueEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\d+ \\(.*\\) (\\d+) \\+ (\\d+) \\[.*\\]').exec(eventBase.details);if(!event)return false;let action;switch(event[3]){case'D':action='discard';break;case'W':action='write';break;case'R':action='read';break;case'N':action='none';break;default:action='unknown';break;}
6066if(event[2]){action+=' flush';}
6067if(event[4]==='F'){action+=' fua';}
6068if(event[5]==='A'){action+=' ahead';}
6069if(event[6]==='S'){action+=' sync';}
6070if(event[7]==='M'){action+=' meta';}
6071const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const key=device+'-'+sector+'-'+numSectors;this.openAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,action);return true;},blockRqCompleteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=new RegExp('(\\d+,\\d+) (F)?([DWRN])(F)?(A)?(S)?(M)? '+'\\(.*\\) (\\d+) \\+ (\\d+) \\[(.*)\\]').exec(eventBase.details);if(!event)return false;const device=event[1];const sector=parseInt(event[8]);const numSectors=parseInt(event[9]);const error=parseInt(event[10]);const key=device+'-'+sector+'-'+numSectors;this.closeAsyncSlice(ts,'block',eventBase.threadName,eventBase.pid,key,{device,sector,numSectors,error});return true;}};Parser.register(DiskParser);return{DiskParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function DrmParser(importer){Parser.call(this,importer);importer.registerEventHandler('drm_vblank_event',DrmParser.prototype.vblankEvent.bind(this));}
6072DrmParser.prototype={__proto__:Parser.prototype,drmVblankSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('drm_vblank');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},vblankEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/crtc=(\d+), seq=(\d+)/.exec(eventBase.details);if(!event)return false;const crtc=parseInt(event[1]);const seq=parseInt(event[2]);this.drmVblankSlice(ts,'vblank:'+crtc,{crtc,seq});return true;}};Parser.register(DrmParser);return{DrmParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function ExynosParser(importer){Parser.call(this,importer);importer.registerEventHandler('exynos_busfreq_target_int',ExynosParser.prototype.busfreqTargetIntEvent.bind(this));importer.registerEventHandler('exynos_busfreq_target_mif',ExynosParser.prototype.busfreqTargetMifEvent.bind(this));importer.registerEventHandler('exynos_page_flip_state',ExynosParser.prototype.pageFlipStateEvent.bind(this));}
6073ExynosParser.prototype={__proto__:Parser.prototype,exynosBusfreqSample(name,ts,frequency){const targetCpu=this.importer.getOrCreateCpu(0);const counter=targetCpu.getOrCreateCounter('',name);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries('frequency',ColorScheme.getColorIdForGeneralPurposeString(counter.name+'.'+'frequency')));}
6074counter.series.forEach(function(series){series.addCounterSample(ts,frequency);});},busfreqTargetIntEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('INT Frequency',ts,parseInt(event[1]));return true;},busfreqTargetMifEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.exynosBusfreqSample('MIF Frequency',ts,parseInt(event[1]));return true;},exynosPageFlipStateOpenSlice(ts,pipe,fb,state){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');kthread.openSliceTS=ts;kthread.openSlice=state;},exynosPageFlipStateCloseSlice(ts,pipe,fb,args){const kthread=this.importer.getOrCreatePseudoThread('exynos_flip_state (pipe:'+pipe+', fb:'+fb+')');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6075kthread.openSlice=undefined;},pageFlipStateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/pipe=(\d+), fb=(\d+), state=(.*)/.exec(eventBase.details);if(!event)return false;const pipe=parseInt(event[1]);const fb=parseInt(event[2]);const state=event[3];this.exynosPageFlipStateCloseSlice(ts,pipe,fb,{pipe,fb});if(state!=='flipped'){this.exynosPageFlipStateOpenSlice(ts,pipe,fb,state);}
6076return true;}};Parser.register(ExynosParser);return{ExynosParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function GestureParser(importer){Parser.call(this,importer);importer.registerEventHandler('tracing_mark_write:log',GestureParser.prototype.logEvent.bind(this));importer.registerEventHandler('tracing_mark_write:SyncInterpret',GestureParser.prototype.syncEvent.bind(this));importer.registerEventHandler('tracing_mark_write:HandleTimer',GestureParser.prototype.timerEvent.bind(this));}
6077GestureParser.prototype={__proto__:Parser.prototype,gestureOpenSlice(title,ts,opt_args){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;thread.sliceGroup.beginSlice('touchpad_gesture',title,ts,opt_args);},gestureCloseSlice(title,ts){const thread=this.importer.getOrCreatePseudoThread('gesture').thread;if(thread.sliceGroup.openSliceCount){const slice=thread.sliceGroup.mostRecentlyOpenedPartialSlice;if(slice.title!==title){this.importer.model.importWarning({type:'title_match_error',message:'Titles do not match. Title is '+
6078slice.title+' in openSlice, and is '+
6079title+' in endSlice'});}else{thread.sliceGroup.endSlice(ts);}}},logEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('GestureLog',ts,{name:innerEvent[2]});break;case'end':this.gestureCloseSlice('GestureLog',ts);}
6080return true;},syncEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('SyncInterpret',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('SyncInterpret',ts);}
6081return true;},timerEvent(eventName,cpuNumber,pid,ts,eventBase){const innerEvent=/^\s*(\w+):\s*(\w+)$/.exec(eventBase.details);switch(innerEvent[1]){case'start':this.gestureOpenSlice('HandleTimer',ts,{interpreter:innerEvent[2]});break;case'end':this.gestureCloseSlice('HandleTimer',ts);}
6082return true;}};Parser.register(GestureParser);return{GestureParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I2cParser(importer){Parser.call(this,importer);importer.registerEventHandler('i2c_write',I2cParser.prototype.i2cWriteEvent.bind(this));importer.registerEventHandler('i2c_read',I2cParser.prototype.i2cReadEvent.bind(this));importer.registerEventHandler('i2c_reply',I2cParser.prototype.i2cReplyEvent.bind(this));importer.registerEventHandler('i2c_result',I2cParser.prototype.i2cResultEvent.bind(this));}
6083const i2cWriteReplyRE=new RegExp('i2c-(\\d+) #(\\d+) a=([\\da-fA-F]+) f=([\\da-fA-F]+) l=(\\d+) '+'(\\[[\\da-fA-F\\-]+\\])');const i2cReadRE=/i2c-(\d+) #(\d+) a=([\da-fA-F]+) f=([\da-fA-F]+) l=(\d+)/;const i2cResultRE=/i2c-(\d+) n=(\d+) ret=(\d+)/;I2cParser.prototype={__proto__:Parser.prototype,i2cWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c write';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cReadEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cReadRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c read';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength};return true;},i2cReplyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cWriteReplyRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const messageNumber=event[2];const address=event[3];const flags=event[4];const dataLength=event[5];const data=event[6];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle='i2c reply';thread.lastEntryTs=ts;thread.lastEntryArgs={'Message number':messageNumber,'Address':address,'Flags':flags,'Data Length':dataLength,'Data':data};return true;},i2cResultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=i2cResultRE.exec(eventBase.details);if(!event)return false;const adapterNumber=parseInt(event[1]);const numMessages=event[2];const ret=event[3];const thread=this.importer.getOrCreatePseudoThread('i2c adapter '+adapterNumber);const args=thread.lastEntryArgs;if(args!==undefined){args['Number of messages']=numMessages;args.Return=ret;}
6084pushLastSliceIfNeeded(thread,event[1],ts);thread.lastEntryTitle=undefined;thread.lastEntryTs=undefined;thread.lastEntryArgs=undefined;return true;},};function pushLastSliceIfNeeded(thread,id,currentTs){if(thread.lastEntryTs!==undefined){const duration=currentTs-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',thread.lastEntryTitle,ColorScheme.getColorIdForGeneralPurposeString(id),thread.lastEntryTs,thread.lastEntryArgs,duration);thread.thread.sliceGroup.pushSlice(slice);}}
6085Parser.register(I2cParser);return{I2cParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function I915Parser(importer){Parser.call(this,importer);importer.registerEventHandler('i915_gem_object_create',I915Parser.prototype.gemObjectCreateEvent.bind(this));importer.registerEventHandler('i915_gem_object_bind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_unbind',I915Parser.prototype.gemObjectBindEvent.bind(this));importer.registerEventHandler('i915_gem_object_change_domain',I915Parser.prototype.gemObjectChangeDomainEvent.bind(this));importer.registerEventHandler('i915_gem_object_pread',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_pwrite',I915Parser.prototype.gemObjectPreadWriteEvent.bind(this));importer.registerEventHandler('i915_gem_object_fault',I915Parser.prototype.gemObjectFaultEvent.bind(this));importer.registerEventHandler('i915_gem_object_clflush',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_object_destroy',I915Parser.prototype.gemObjectDestroyEvent.bind(this));importer.registerEventHandler('i915_gem_ring_dispatch',I915Parser.prototype.gemRingDispatchEvent.bind(this));importer.registerEventHandler('i915_gem_ring_flush',I915Parser.prototype.gemRingFlushEvent.bind(this));importer.registerEventHandler('i915_gem_request',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_add',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_complete',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_retire',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_begin',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_request_wait_end',I915Parser.prototype.gemRequestEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_begin',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_gem_ring_wait_end',I915Parser.prototype.gemRingWaitEvent.bind(this));importer.registerEventHandler('i915_reg_rw',I915Parser.prototype.regRWEvent.bind(this));importer.registerEventHandler('i915_flip_request',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('i915_flip_complete',I915Parser.prototype.flipEvent.bind(this));importer.registerEventHandler('intel_gpu_freq_change',I915Parser.prototype.gpuFrequency.bind(this));}
6086I915Parser.prototype={__proto__:Parser.prototype,i915FlipOpenSlice(ts,obj,plane){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');kthread.openSliceTS=ts;kthread.openSlice='flip:'+obj+'/'+plane;},i915FlipCloseSlice(ts,args){const kthread=this.importer.getOrCreatePseudoThread('i915_flip');if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,args,ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6087kthread.openSlice=undefined;},i915GemObjectSlice(ts,eventName,obj,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem');kthread.openSlice=eventName+':'+obj;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915GemRingSlice(ts,eventName,dev,ring,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gem_ring');kthread.openSlice=eventName+':'+dev+'.'+ring;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915RegSlice(ts,eventName,reg,args){const kthread=this.importer.getOrCreatePseudoThread('i915_reg');kthread.openSlice=eventName+':'+reg;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},i915FreqChangeSlice(ts,eventName,args){const kthread=this.importer.getOrCreatePseudoThread('i915_gpu_freq');kthread.openSlice=eventName;const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),ts,args,0);kthread.thread.sliceGroup.pushSlice(slice);},gemObjectCreateEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const size=parseInt(event[2]);this.i915GemObjectSlice(ts,eventName,obj,{obj,size});return true;},gemObjectBindEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\w+), size=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=event[2];const size=parseInt(event[3]);this.i915ObjectGemSlice(ts,eventName+':'+obj,{obj,offset,size});return true;},gemObjectChangeDomainEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), read=(\w+=>\w+), write=(\w+=>\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const read=event[2];const write=event[3];this.i915GemObjectSlice(ts,eventName,obj,{obj,read,write});return true;},gemObjectPreadWriteEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), offset=(\d+), len=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const offset=parseInt(event[2]);const len=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,offset,len});return true;},gemObjectFaultEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+), (\w+) index=(\d+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];const type=event[2];const index=parseInt(event[3]);this.i915GemObjectSlice(ts,eventName,obj,{obj,type,index});return true;},gemObjectDestroyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/obj=(\w+)/.exec(eventBase.details);if(!event)return false;const obj=event[1];this.i915GemObjectSlice(ts,eventName,obj,{obj});return true;},gemRingDispatchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingFlushEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\w+), invalidate=(\w+), flush=(\w+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const invalidate=event[3];const flush=event[4];this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,invalidate,flush});return true;},gemRequestEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+), seqno=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);const seqno=parseInt(event[3]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring,seqno});return true;},gemRingWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/dev=(\d+), ring=(\d+)/.exec(eventBase.details);if(!event)return false;const dev=parseInt(event[1]);const ring=parseInt(event[2]);this.i915GemRingSlice(ts,eventName,dev,ring,{dev,ring});return true;},regRWEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/(\w+) reg=(\w+), len=(\d+), val=(\(\w+, \w+\))/.exec(eventBase.details);if(!event)return false;const rw=event[1];const reg=event[2];const len=event[3];const data=event[3];this.i915RegSlice(ts,rw,reg,{rw,reg,len,data});return true;},flipEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/plane=(\d+), obj=(\w+)/.exec(eventBase.details);if(!event)return false;const plane=parseInt(event[1]);const obj=event[2];if(eventName==='i915_flip_request'){this.i915FlipOpenSlice(ts,obj,plane);}else{this.i915FlipCloseSlice(ts,{obj,plane});}
6088return true;},gpuFrequency(eventName,cpuNumver,pid,ts,eventBase){const event=/new_freq=(\d+)/.exec(eventBase.details);if(!event)return false;const freq=parseInt(event[1]);this.i915FreqChangeSlice(ts,eventName,{freq});return true;}};Parser.register(I915Parser);return{I915Parser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function IrqParser(importer){Parser.call(this,importer);importer.registerEventHandler('irq_handler_entry',IrqParser.prototype.irqHandlerEntryEvent.bind(this));importer.registerEventHandler('irq_handler_exit',IrqParser.prototype.irqHandlerExitEvent.bind(this));importer.registerEventHandler('softirq_raise',IrqParser.prototype.softirqRaiseEvent.bind(this));importer.registerEventHandler('softirq_entry',IrqParser.prototype.softirqEntryEvent.bind(this));importer.registerEventHandler('softirq_exit',IrqParser.prototype.softirqExitEvent.bind(this));importer.registerEventHandler('ipi_entry',IrqParser.prototype.ipiEntryEvent.bind(this));importer.registerEventHandler('ipi_exit',IrqParser.prototype.ipiExitEvent.bind(this));}
6089const irqHandlerEntryRE=/irq=(\d+) name=(.+)/;const irqHandlerExitRE=/irq=(\d+) ret=(.+)/;const softirqRE=/vec=(\d+) \[action=(.+)\]/;const ipiHandlerExitRE=/\((.+)\)/;IrqParser.prototype={__proto__:Parser.prototype,irqHandlerEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerEntryRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const name=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;thread.irqName=name;return true;},irqHandlerExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=irqHandlerExitRE.exec(eventBase.details);if(!event)return false;const irq=parseInt(event[1]);const ret=event[2];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IRQ ('+thread.irqName+')',ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{ret},duration);thread.thread.sliceGroup.pushSlice(slice);}
6090thread.lastEntryTs=undefined;thread.irqName=undefined;return true;},softirqRaiseEvent(eventName,cpuNumber,pid,ts,eventBase){return true;},softirqEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},softirqExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=softirqRE.exec(eventBase.details);if(!event)return false;const vec=parseInt(event[1]);const action=event[2];const thread=this.importer.getOrCreatePseudoThread('softirq cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('',action,ColorScheme.getColorIdForGeneralPurposeString(event[1]),thread.lastEntryTs,{vec},duration);thread.thread.sliceGroup.pushSlice(slice);}
6091thread.lastEntryTs=undefined;return true;},ipiEntryEvent(eventName,cpuNumber,pid,ts,eventBase){const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);thread.lastEntryTs=ts;return true;},ipiExitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=ipiHandlerExitRE.exec(eventBase.details);if(!event)return false;const ipiName=event[1];const thread=this.importer.getOrCreatePseudoThread('irqs cpu '+cpuNumber);if(thread.lastEntryTs!==undefined){const duration=ts-thread.lastEntryTs;const slice=new tr.model.ThreadSlice('','IPI ('+ipiName+')',ColorScheme.getColorIdForGeneralPurposeString(ipiName),thread.lastEntryTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);}
6092thread.lastEntryTs=undefined;return true;}};Parser.register(IrqParser);return{IrqParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const LinuxPerfParser=tr.e.importer.linux_perf.Parser;function KernelFuncParser(importer){LinuxPerfParser.call(this,importer);importer.registerEventHandler('graph_ent',KernelFuncParser.prototype.traceKernelFuncEnterEvent.bind(this));importer.registerEventHandler('graph_ret',KernelFuncParser.prototype.traceKernelFuncReturnEvent.bind(this));this.model_=importer.model_;this.ppids_={};}
6093const TestExports={};const funcEnterRE=new RegExp('func=(.+)');TestExports.funcEnterRE=funcEnterRE;KernelFuncParser.prototype={__proto__:LinuxPerfParser.prototype,traceKernelFuncEnterEvent(eventName,cpuNumber,pid,ts,eventBase){const eventData=funcEnterRE.exec(eventBase.details);if(!eventData)return false;if(eventBase.tgid===undefined){return false;}
6094const tgid=parseInt(eventBase.tgid);const name=eventData[1];const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6095const slice=slices.beginSlice(null,name,ts,{});return true;},traceKernelFuncReturnEvent(eventName,cpuNumber,pid,ts,eventBase){if(eventBase.tgid===undefined){return false;}
6096const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6097if(slices.openSliceCount>0){slices.endSlice(ts);}
6098return true;}};LinuxPerfParser.register(KernelFuncParser);return{KernelFuncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function MaliParser(importer){Parser.call(this,importer);importer.registerEventHandler('mali_dvfs_event',MaliParser.prototype.dvfsEventEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_clock',MaliParser.prototype.dvfsSetClockEvent.bind(this));importer.registerEventHandler('mali_dvfs_set_voltage',MaliParser.prototype.dvfsSetVoltageEvent.bind(this));this.addJMCounter('mali_hwc_MESSAGES_SENT','Messages Sent');this.addJMCounter('mali_hwc_MESSAGES_RECEIVED','Messages Received');this.addJMCycles('mali_hwc_GPU_ACTIVE','GPU Active');this.addJMCycles('mali_hwc_IRQ_ACTIVE','IRQ Active');for(let i=0;i<7;i++){const jobStr='JS'+i;const jobHWCStr='mali_hwc_'+jobStr;this.addJMCounter(jobHWCStr+'_JOBS',jobStr+' Jobs');this.addJMCounter(jobHWCStr+'_TASKS',jobStr+' Tasks');this.addJMCycles(jobHWCStr+'_ACTIVE',jobStr+' Active');this.addJMCycles(jobHWCStr+'_WAIT_READ',jobStr+' Wait Read');this.addJMCycles(jobHWCStr+'_WAIT_ISSUE',jobStr+' Wait Issue');this.addJMCycles(jobHWCStr+'_WAIT_DEPEND',jobStr+' Wait Depend');this.addJMCycles(jobHWCStr+'_WAIT_FINISH',jobStr+' Wait Finish');}
6099this.addTilerCounter('mali_hwc_TRIANGLES','Triangles');this.addTilerCounter('mali_hwc_QUADS','Quads');this.addTilerCounter('mali_hwc_POLYGONS','Polygons');this.addTilerCounter('mali_hwc_POINTS','Points');this.addTilerCounter('mali_hwc_LINES','Lines');this.addTilerCounter('mali_hwc_VCACHE_HIT','VCache Hit');this.addTilerCounter('mali_hwc_VCACHE_MISS','VCache Miss');this.addTilerCounter('mali_hwc_FRONT_FACING','Front Facing');this.addTilerCounter('mali_hwc_BACK_FACING','Back Facing');this.addTilerCounter('mali_hwc_PRIM_VISIBLE','Prim Visible');this.addTilerCounter('mali_hwc_PRIM_CULLED','Prim Culled');this.addTilerCounter('mali_hwc_PRIM_CLIPPED','Prim Clipped');this.addTilerCounter('mali_hwc_WRBUF_HIT','Wrbuf Hit');this.addTilerCounter('mali_hwc_WRBUF_MISS','Wrbuf Miss');this.addTilerCounter('mali_hwc_WRBUF_LINE','Wrbuf Line');this.addTilerCounter('mali_hwc_WRBUF_PARTIAL','Wrbuf Partial');this.addTilerCounter('mali_hwc_WRBUF_STALL','Wrbuf Stall');this.addTilerCycles('mali_hwc_ACTIVE','Tiler Active');this.addTilerCycles('mali_hwc_INDEX_WAIT','Index Wait');this.addTilerCycles('mali_hwc_INDEX_RANGE_WAIT','Index Range Wait');this.addTilerCycles('mali_hwc_VERTEX_WAIT','Vertex Wait');this.addTilerCycles('mali_hwc_PCACHE_WAIT','Pcache Wait');this.addTilerCycles('mali_hwc_WRBUF_WAIT','Wrbuf Wait');this.addTilerCycles('mali_hwc_BUS_READ','Bus Read');this.addTilerCycles('mali_hwc_BUS_WRITE','Bus Write');this.addTilerCycles('mali_hwc_TILER_UTLB_STALL','Tiler UTLB Stall');this.addTilerCycles('mali_hwc_TILER_UTLB_HIT','Tiler UTLB Hit');this.addFragCycles('mali_hwc_FRAG_ACTIVE','Active');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES','Primitives');this.addFragCounter('mali_hwc_FRAG_PRIMATIVES_DROPPED','Primitives Dropped');this.addFragCycles('mali_hwc_FRAG_CYCLE_DESC','Descriptor Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_PLR','PLR Processing??');this.addFragCycles('mali_hwc_FRAG_CYCLES_VERT','Vertex Processing');this.addFragCycles('mali_hwc_FRAG_CYCLES_TRISETUP','Triangle Setup');this.addFragCycles('mali_hwc_FRAG_CYCLES_RAST','Rasterization???');this.addFragCounter('mali_hwc_FRAG_THREADS','Threads');this.addFragCounter('mali_hwc_FRAG_DUMMY_THREADS','Dummy Threads');this.addFragCounter('mali_hwc_FRAG_QUADS_RAST','Quads Rast');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_TEST','Quads EZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_EZS_KILLED','Quads EZS Killed');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_TEST','Quads LZS Test');this.addFragCounter('mali_hwc_FRAG_QUADS_LZS_KILLED','Quads LZS Killed');this.addFragCycles('mali_hwc_FRAG_CYCLE_NO_TILE','No Tiles');this.addFragCounter('mali_hwc_FRAG_NUM_TILES','Tiles');this.addFragCounter('mali_hwc_FRAG_TRANS_ELIM','Transactions Eliminated');this.addComputeCycles('mali_hwc_COMPUTE_ACTIVE','Active');this.addComputeCounter('mali_hwc_COMPUTE_TASKS','Tasks');this.addComputeCounter('mali_hwc_COMPUTE_THREADS','Threads Started');this.addComputeCycles('mali_hwc_COMPUTE_CYCLES_DESC','Waiting for Descriptors');this.addTripipeCycles('mali_hwc_TRIPIPE_ACTIVE','Active');this.addArithCounter('mali_hwc_ARITH_WORDS','Instructions (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_REG','Reg scheduling stalls (/Pipes)');this.addArithCycles('mali_hwc_ARITH_CYCLES_L0','L0 cache miss stalls (/Pipes)');this.addArithCounter('mali_hwc_ARITH_FRAG_DEPEND','Frag dep check failures (/Pipes)');this.addLSCounter('mali_hwc_LS_WORDS','Instruction Words Completed');this.addLSCounter('mali_hwc_LS_ISSUES','Full Pipeline Issues');this.addLSCounter('mali_hwc_LS_RESTARTS','Restarts (unpairable insts)');this.addLSCounter('mali_hwc_LS_REISSUES_MISS','Pipeline reissue (cache miss/uTLB)');this.addLSCounter('mali_hwc_LS_REISSUES_VD','Pipeline reissue (varying data)');this.addLSCounter('mali_hwc_LS_REISSUE_ATTRIB_MISS','Pipeline reissue (attribute cache miss)');this.addLSCounter('mali_hwc_LS_REISSUE_NO_WB','Writeback not used');this.addTexCounter('mali_hwc_TEX_WORDS','Words');this.addTexCounter('mali_hwc_TEX_BUBBLES','Bubbles');this.addTexCounter('mali_hwc_TEX_WORDS_L0','Words L0');this.addTexCounter('mali_hwc_TEX_WORDS_DESC','Words Desc');this.addTexCounter('mali_hwc_TEX_THREADS','Threads');this.addTexCounter('mali_hwc_TEX_RECIRC_FMISS','Recirc due to Full Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_DESC','Recirc due to Desc Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_MULTI','Recirc due to Multipass');this.addTexCounter('mali_hwc_TEX_RECIRC_PMISS','Recirc due to Partial Cache Miss');this.addTexCounter('mali_hwc_TEX_RECIRC_CONF','Recirc due to Cache Conflict');this.addLSCCounter('mali_hwc_LSC_READ_HITS','Read Hits');this.addLSCCounter('mali_hwc_LSC_READ_MISSES','Read Misses');this.addLSCCounter('mali_hwc_LSC_WRITE_HITS','Write Hits');this.addLSCCounter('mali_hwc_LSC_WRITE_MISSES','Write Misses');this.addLSCCounter('mali_hwc_LSC_ATOMIC_HITS','Atomic Hits');this.addLSCCounter('mali_hwc_LSC_ATOMIC_MISSES','Atomic Misses');this.addLSCCounter('mali_hwc_LSC_LINE_FETCHES','Line Fetches');this.addLSCCounter('mali_hwc_LSC_DIRTY_LINE','Dirty Lines');this.addLSCCounter('mali_hwc_LSC_SNOOPS','Snoops');this.addAXICounter('mali_hwc_AXI_TLB_STALL','Address channel stall');this.addAXICounter('mali_hwc_AXI_TLB_MISS','Cache Miss');this.addAXICounter('mali_hwc_AXI_TLB_TRANSACTION','Transactions');this.addAXICounter('mali_hwc_LS_TLB_MISS','LS Cache Miss');this.addAXICounter('mali_hwc_LS_TLB_HIT','LS Cache Hit');this.addAXICounter('mali_hwc_AXI_BEATS_READ','Read Beats');this.addAXICounter('mali_hwc_AXI_BEATS_WRITE','Write Beats');this.addMMUCounter('mali_hwc_MMU_TABLE_WALK','Page Table Walks');this.addMMUCounter('mali_hwc_MMU_REPLAY_MISS','Cache Miss from Replay Buffer');this.addMMUCounter('mali_hwc_MMU_REPLAY_FULL','Replay Buffer Full');this.addMMUCounter('mali_hwc_MMU_NEW_MISS','Cache Miss on New Request');this.addMMUCounter('mali_hwc_MMU_HIT','Cache Hit');this.addMMUCycles('mali_hwc_UTLB_STALL','UTLB Stalled');this.addMMUCycles('mali_hwc_UTLB_REPLAY_MISS','UTLB Replay Miss');this.addMMUCycles('mali_hwc_UTLB_REPLAY_FULL','UTLB Replay Full');this.addMMUCycles('mali_hwc_UTLB_NEW_MISS','UTLB New Miss');this.addMMUCycles('mali_hwc_UTLB_HIT','UTLB Hit');this.addL2Counter('mali_hwc_L2_READ_BEATS','Read Beats');this.addL2Counter('mali_hwc_L2_WRITE_BEATS','Write Beats');this.addL2Counter('mali_hwc_L2_ANY_LOOKUP','Any Lookup');this.addL2Counter('mali_hwc_L2_READ_LOOKUP','Read Lookup');this.addL2Counter('mali_hwc_L2_SREAD_LOOKUP','Shareable Read Lookup');this.addL2Counter('mali_hwc_L2_READ_REPLAY','Read Replayed');this.addL2Counter('mali_hwc_L2_READ_SNOOP','Read Snoop');this.addL2Counter('mali_hwc_L2_READ_HIT','Read Cache Hit');this.addL2Counter('mali_hwc_L2_CLEAN_MISS','CleanUnique Miss');this.addL2Counter('mali_hwc_L2_WRITE_LOOKUP','Write Lookup');this.addL2Counter('mali_hwc_L2_SWRITE_LOOKUP','Shareable Write Lookup');this.addL2Counter('mali_hwc_L2_WRITE_REPLAY','Write Replayed');this.addL2Counter('mali_hwc_L2_WRITE_SNOOP','Write Snoop');this.addL2Counter('mali_hwc_L2_WRITE_HIT','Write Cache Hit');this.addL2Counter('mali_hwc_L2_EXT_READ_FULL','ExtRD with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_READ_HALF','ExtRD with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_FULL','ExtWR with BIU Full');this.addL2Counter('mali_hwc_L2_EXT_WRITE_HALF','ExtWR with BIU >1/2 Full');this.addL2Counter('mali_hwc_L2_EXT_READ','External Read (ExtRD)');this.addL2Counter('mali_hwc_L2_EXT_READ_LINE','ExtRD (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE','External Write (ExtWR)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_LINE','ExtWR (linefill)');this.addL2Counter('mali_hwc_L2_EXT_WRITE_SMALL','ExtWR (burst size <64B)');this.addL2Counter('mali_hwc_L2_EXT_BARRIER','External Barrier');this.addL2Counter('mali_hwc_L2_EXT_AR_STALL','Address Read stalls');this.addL2Counter('mali_hwc_L2_EXT_R_BUF_FULL','Response Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_RD_BUF_FULL','Read Data Buffer full stalls');this.addL2Counter('mali_hwc_L2_EXT_R_RAW','RAW hazard stalls');this.addL2Counter('mali_hwc_L2_EXT_W_STALL','Write Data stalls');this.addL2Counter('mali_hwc_L2_EXT_W_BUF_FULL','Write Data Buffer full');this.addL2Counter('mali_hwc_L2_EXT_R_W_HAZARD','WAW or WAR hazard stalls');this.addL2Counter('mali_hwc_L2_TAG_HAZARD','Tag hazard replays');this.addL2Cycles('mali_hwc_L2_SNOOP_FULL','Snoop buffer full');this.addL2Cycles('mali_hwc_L2_REPLAY_FULL','Replay buffer full');importer.registerEventHandler('tracing_mark_write:mali_driver',MaliParser.prototype.maliDDKEvent.bind(this));this.model_=importer.model_;}
6100MaliParser.prototype={__proto__:Parser.prototype,maliDDKOpenSlice(pid,tid,ts,func,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);const funcArgs=/^([\w\d_]*)(?:\(\))?:?\s*(.*)$/.exec(func);thread.sliceGroup.beginSlice('gpu-driver',funcArgs[1],ts,{'args':funcArgs[2],blockinfo});},maliDDKCloseSlice(pid,tid,ts,args,blockinfo){const thread=this.importer.model_.getOrCreateProcess(pid).getOrCreateThread(tid);if(!thread.sliceGroup.openSliceCount){return;}
6101thread.sliceGroup.endSlice(ts);},autoDetectLineRE(line){const lineREWithThread=/^\s*\(([\w\-]*)\)\s*(\w+):\s*([\w\\\/\.\-]*@\d*):?\s*(.*)$/;if(lineREWithThread.test(line)){return lineREWithThread;}
6102const lineRENoThread=/^s*()(\w+):\s*([\w\\\/.\-]*):?\s*(.*)$/;if(lineRENoThread.test(line)){return lineRENoThread;}
6103return null;},lineRE:null,maliDDKEvent(eventName,cpuNumber,pid,ts,eventBase){if(this.lineRE===null){this.lineRE=this.autoDetectLineRE(eventBase.details);if(this.lineRE===null)return false;}
6104const maliEvent=this.lineRE.exec(eventBase.details);const tid=(maliEvent[1]===''?'mali':maliEvent[1]);switch(maliEvent[2]){case'cros_trace_print_enter':this.maliDDKOpenSlice(pid,tid,ts,maliEvent[4],maliEvent[3]);break;case'cros_trace_print_exit':this.maliDDKCloseSlice(pid,tid,ts,[],maliEvent[3]);}
6105return true;},dvfsSample(counterName,seriesName,ts,s){const value=parseInt(s);const counter=this.model_.kernel.getOrCreateCounter('DVFS',counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));}
6106counter.series.forEach(function(series){series.addCounterSample(ts,value);});},dvfsEventEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/utilization=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Utilization','utilization',ts,event[1]);return true;},dvfsSetClockEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/frequency=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Frequency','frequency',ts,event[1]);return true;},dvfsSetVoltageEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/voltage=(\d+)/.exec(eventBase.details);if(!event)return false;this.dvfsSample('DVFS Voltage','voltage',ts,event[1]);return true;},hwcSample(cat,counterName,seriesName,ts,eventBase){const event=/val=(\d+)/.exec(eventBase.details);if(!event)return false;const value=parseInt(event[1]);const counter=this.model_.kernel.getOrCreateCounter(cat,counterName);if(counter.numSeries===0){counter.addSeries(new tr.model.CounterSeries(seriesName,ColorScheme.getColorIdForGeneralPurposeString(counter.name)));}
6107counter.series.forEach(function(series){series.addCounterSample(ts,value);});return true;},jmSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:jm','JM: '+ctrName,seriesName,ts,eventBase);},addJMCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'count',ts,eventBase);}
6108this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addJMCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.jmSample(hwcTitle,'cycles',ts,eventBase);}
6109this.importer.registerEventHandler(hwcEventName,handler.bind(this));},tilerSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:tiler','Tiler: '+ctrName,seriesName,ts,eventBase);},addTilerCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'count',ts,eventBase);}
6110this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTilerCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.tilerSample(hwcTitle,'cycles',ts,eventBase);}
6111this.importer.registerEventHandler(hwcEventName,handler.bind(this));},fragSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:fragment','Fragment: '+ctrName,seriesName,ts,eventBase);},addFragCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'count',ts,eventBase);}
6112this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addFragCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.fragSample(hwcTitle,'cycles',ts,eventBase);}
6113this.importer.registerEventHandler(hwcEventName,handler.bind(this));},computeSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:compute','Compute: '+ctrName,seriesName,ts,eventBase);},addComputeCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'count',ts,eventBase);}
6114this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addComputeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.computeSample(hwcTitle,'cycles',ts,eventBase);}
6115this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addTripipeCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:shader','Tripipe: '+hwcTitle,'cycles',ts,eventBase);}
6116this.importer.registerEventHandler(hwcEventName,handler.bind(this));},arithSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:arith','Arith: '+ctrName,seriesName,ts,eventBase);},addArithCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'count',ts,eventBase);}
6117this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addArithCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.arithSample(hwcTitle,'cycles',ts,eventBase);}
6118this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:ls','LS: '+hwcTitle,'count',ts,eventBase);}
6119this.importer.registerEventHandler(hwcEventName,handler.bind(this));},textureSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:texture','Texture: '+ctrName,seriesName,ts,eventBase);},addTexCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.textureSample(hwcTitle,'count',ts,eventBase);}
6120this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addLSCCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:lsc','LSC: '+hwcTitle,'count',ts,eventBase);}
6121this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addAXICounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.hwcSample('mali:axi','AXI: '+hwcTitle,'count',ts,eventBase);}
6122this.importer.registerEventHandler(hwcEventName,handler.bind(this));},mmuSample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:mmu','MMU: '+ctrName,seriesName,ts,eventBase);},addMMUCounter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'count',ts,eventBase);}
6123this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addMMUCycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.mmuSample(hwcTitle,'cycles',ts,eventBase);}
6124this.importer.registerEventHandler(hwcEventName,handler.bind(this));},l2Sample(ctrName,seriesName,ts,eventBase){return this.hwcSample('mali:l2','L2: '+ctrName,seriesName,ts,eventBase);},addL2Counter(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'count',ts,eventBase);}
6125this.importer.registerEventHandler(hwcEventName,handler.bind(this));},addL2Cycles(hwcEventName,hwcTitle){function handler(eventName,cpuNumber,pid,ts,eventBase){return this.l2Sample(hwcTitle,'cycles',ts,eventBase);}
6126this.importer.registerEventHandler(hwcEventName,handler.bind(this));}};Parser.register(MaliParser);return{MaliParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function MemReclaimParser(importer){Parser.call(this,importer);importer.registerEventHandler('mm_vmscan_kswapd_wake',MemReclaimParser.prototype.kswapdWake.bind(this));importer.registerEventHandler('mm_vmscan_kswapd_sleep',MemReclaimParser.prototype.kswapdSleep.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_begin',MemReclaimParser.prototype.reclaimBegin.bind(this));importer.registerEventHandler('mm_vmscan_direct_reclaim_end',MemReclaimParser.prototype.reclaimEnd.bind(this));}
6127const kswapdWakeRE=/nid=(\d+) order=(\d+)/;const kswapdSleepRE=/nid=(\d+)/;const reclaimBeginRE=/order=(\d+) may_writepage=\d+ gfp_flags=(.+)/;const reclaimEndRE=/nr_reclaimed=(\d+)/;MemReclaimParser.prototype={__proto__:Parser.prototype,kswapdWake(eventName,cpuNumber,pid,ts,eventBase){const event=kswapdWakeRE.exec(eventBase.details);if(!event)return false;const tgid=parseInt(eventBase.tgid);const nid=parseInt(event[1]);const order=parseInt(event[2]);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){if(order>kthread.order){kthread.order=order;}}else{kthread.openSliceTS=ts;kthread.order=order;}
6128return true;},kswapdSleep(eventName,cpuNumber,pid,ts,eventBase){const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim',eventBase.threadName,kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order});}
6129kthread.openSliceTS=undefined;kthread.order=undefined;return true;},reclaimBegin(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimBeginRE.exec(eventBase.details);if(!event)return false;const order=parseInt(event[1]);const gfp=event[2];const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);kthread.openSliceTS=ts;kthread.order=order;kthread.gfp=gfp;return true;},reclaimEnd(eventName,cpuNumber,pid,ts,eventBase){const event=reclaimEndRE.exec(eventBase.details);if(!event)return false;const nrReclaimed=parseInt(event[1]);const tgid=parseInt(eventBase.tgid);const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,tgid,pid);if(kthread.openSliceTS!==undefined){kthread.thread.sliceGroup.pushCompleteSlice('memreclaim','direct reclaim',kthread.openSliceTS,ts-kthread.openSliceTS,0,0,{order:kthread.order,gfp:kthread.gfp,nr_reclaimed:nrReclaimed});}
6130kthread.openSliceTS=undefined;kthread.order=undefined;kthread.gfp=undefined;return true;}};Parser.register(MemReclaimParser);return{MemReclaimParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function PowerParser(importer){Parser.call(this,importer);importer.registerEventHandler('power_start',PowerParser.prototype.powerStartEvent.bind(this));importer.registerEventHandler('power_frequency',PowerParser.prototype.powerFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency',PowerParser.prototype.cpuFrequencyEvent.bind(this));importer.registerEventHandler('cpu_frequency_limits',PowerParser.prototype.cpuFrequencyLimitsEvent.bind(this));importer.registerEventHandler('cpu_idle',PowerParser.prototype.cpuIdleEvent.bind(this));}
6131PowerParser.prototype={__proto__:Parser.prototype,cpuStateSlice(ts,targetCpuNumber,eventType,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);if(eventType!=='1'){this.importer.model.importWarning({type:'parse_error',message:'Don\'t understand power_start events of '+'type '+eventType});return;}
6132const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));}
6133powerCounter.series.forEach(function(series){series.addCounterSample(ts,cpuState);});},cpuIdleSlice(ts,targetCpuNumber,cpuState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','C-State');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name)));}
6134const val=(cpuState!==4294967295?cpuState+1:0);powerCounter.series.forEach(function(series){series.addCounterSample(ts,val);});},cpuFrequencySlice(ts,targetCpuNumber,powerState){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('state',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'state')));}
6135powerCounter.series.forEach(function(series){series.addCounterSample(ts,powerState);});},cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq){const targetCpu=this.importer.getOrCreateCpu(targetCpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Clock Frequency Limits');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('Min Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Min Frequency')));powerCounter.addSeries(new tr.model.CounterSeries('Max Frequency',ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'Max Frequency')));}
6136powerCounter.series.forEach(function(series){if(series.name==='Min Frequency'){series.addCounterSample(ts,minFreq);}
6137if(series.name==='Max Frequency'){series.addCounterSample(ts,maxFreq);}});},powerStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const cpuState=parseInt(event[2]);this.cpuStateSlice(ts,targetCpuNumber,event[1],cpuState);return true;},powerFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/type=(\d+) state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const powerState=parseInt(event[2]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const powerState=parseInt(event[1]);this.cpuFrequencySlice(ts,targetCpuNumber,powerState);return true;},cpuFrequencyLimitsEvent(eventName,cpu,pid,ts,eventBase){const event=/min=(\d+) max=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[3]);const minFreq=parseInt(event[1]);const maxFreq=parseInt(event[2]);this.cpuFrequencyLimitsSlice(ts,targetCpuNumber,minFreq,maxFreq);return true;},cpuIdleEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/state=(\d+) cpu_id=(\d+)/.exec(eventBase.details);if(!event)return false;const targetCpuNumber=parseInt(event[2]);const cpuState=parseInt(event[1]);this.cpuIdleSlice(ts,targetCpuNumber,cpuState);return true;}};Parser.register(PowerParser);return{PowerParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function RegulatorParser(importer){Parser.call(this,importer);importer.registerEventHandler('regulator_enable',RegulatorParser.prototype.regulatorEnableEvent.bind(this));importer.registerEventHandler('regulator_enable_delay',RegulatorParser.prototype.regulatorEnableDelayEvent.bind(this));importer.registerEventHandler('regulator_enable_complete',RegulatorParser.prototype.regulatorEnableCompleteEvent.bind(this));importer.registerEventHandler('regulator_disable',RegulatorParser.prototype.regulatorDisableEvent.bind(this));importer.registerEventHandler('regulator_disable_complete',RegulatorParser.prototype.regulatorDisableCompleteEvent.bind(this));importer.registerEventHandler('regulator_set_voltage',RegulatorParser.prototype.regulatorSetVoltageEvent.bind(this));importer.registerEventHandler('regulator_set_voltage_complete',RegulatorParser.prototype.regulatorSetVoltageCompleteEvent.bind(this));this.model_=importer.model_;}
6138const regulatorEnableRE=/name=(.+)/;const regulatorDisableRE=/name=(.+)/;const regulatorSetVoltageCompleteRE=/name=(\S+), val=(\d+)/;RegulatorParser.prototype={__proto__:Parser.prototype,getCtr_(ctrName,valueName){const ctr=this.model_.kernel.getOrCreateCounter(null,'vreg '+ctrName+' '+valueName);if(ctr.series[0]===undefined){ctr.addSeries(new tr.model.CounterSeries(valueName,ColorScheme.getColorIdForGeneralPurposeString(ctrName+'.'+valueName)));}
6139return ctr;},regulatorEnableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorEnableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,1);return true;},regulatorEnableDelayEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorEnableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorDisableEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorDisableRE.exec(eventBase.details);if(!event)return false;const name=event[1];const ctr=this.getCtr_(name,'enabled');ctr.series[0].addCounterSample(ts,0);return true;},regulatorDisableCompleteEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageEvent(eventName,cpuNum,pid,ts,eventBase){return true;},regulatorSetVoltageCompleteEvent(eventName,cpuNum,pid,ts,eventBase){const event=regulatorSetVoltageCompleteRE.exec(eventBase.details);if(!event)return false;const name=event[1];const voltage=parseInt(event[2]);const ctr=this.getCtr_(name,'voltage');ctr.series[0].addCounterSample(ts,voltage);return true;}};Parser.register(RegulatorParser);return{RegulatorParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const Parser=tr.e.importer.linux_perf.Parser;function SchedParser(importer){Parser.call(this,importer);importer.registerEventHandler('sched_switch',SchedParser.prototype.schedSwitchEvent.bind(this));importer.registerEventHandler('sched_wakeup',SchedParser.prototype.schedWakeupEvent.bind(this));importer.registerEventHandler('sched_blocked_reason',SchedParser.prototype.schedBlockedEvent.bind(this));importer.registerEventHandler('sched_cpu_hotplug',SchedParser.prototype.schedCpuHotplugEvent.bind(this));}
6140const TestExports={};const schedSwitchRE=new RegExp('prev_comm=(.+) prev_pid=(\\d+) prev_prio=(\\d+) '+'prev_state=(\\S\\+?|\\S\\|\\S) ==> '+'next_comm=(.+) next_pid=(\\d+) next_prio=(\\d+)');const schedBlockedRE=new RegExp('pid=(\\d+) iowait=(\\d) caller=(.+)');TestExports.schedSwitchRE=schedSwitchRE;const schedWakeupRE=/comm=(.+) pid=(\d+) prio=(\d+)(?: success=\d+)? target_cpu=(\d+)/;TestExports.schedWakeupRE=schedWakeupRE;SchedParser.prototype={__proto__:Parser.prototype,schedSwitchEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedSwitchRE.exec(eventBase.details);if(!event)return false;const prevState=event[4];const nextComm=event[5];const nextPid=parseInt(event[6]);const nextPrio=parseInt(event[7]);if(eventBase.tgid!==undefined){const tgid=parseInt(eventBase.tgid);const process=this.importer.model_.getOrCreateProcess(tgid);if(!process.getThread(pid)){const thread=process.getOrCreateThread(pid);thread.name=eventBase.threadName;}}
6141const nextThread=this.importer.threadsByLinuxPid[nextPid];let nextName;if(nextThread){nextName=nextThread.userFriendlyName;}else{nextName=nextComm;}
6142const cpu=this.importer.getOrCreateCpu(cpuNumber);cpu.switchActiveThread(ts,{stateWhenDescheduled:prevState},nextPid,nextName,{comm:nextComm,tid:nextPid,prio:nextPrio});return true;},schedWakeupEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedWakeupRE.exec(eventBase.details);if(!event)return false;const fromPid=pid;const comm=event[1];pid=parseInt(event[2]);const prio=parseInt(event[3]);this.importer.markPidRunnable(ts,pid,comm,prio,fromPid);return true;},schedCpuHotplugEvent(eventName,cpuNumber,pid,ts,eventBase){const event=/cpu (\d+) (.+) error=(\d+)/.exec(eventBase.details);if(!event)return false;cpuNumber=event[1];const state=event[2];const targetCpu=this.importer.getOrCreateCpu(cpuNumber);const powerCounter=targetCpu.getOrCreateCounter('','Cpu Hotplug');if(powerCounter.numSeries===0){powerCounter.addSeries(new tr.model.CounterSeries('State',tr.b.ColorScheme.getColorIdForGeneralPurposeString(powerCounter.name+'.'+'State')));}
6143powerCounter.series.forEach(function(series){if(series.name==='State'){series.addCounterSample(ts,state.localeCompare('offline')?0:1);}});return true;},schedBlockedEvent(eventName,cpuNumber,pid,ts,eventBase){const event=schedBlockedRE.exec(eventBase.details);if(!event)return false;pid=parseInt(event[1]);const iowait=parseInt(event[2]);const caller=event[3];this.importer.addPidBlockedReason(ts,pid,iowait,caller);return true;}};Parser.register(SchedParser);return{SchedParser,_SchedParserTestExports:TestExports};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function SyncParser(importer){Parser.call(this,importer);importer.registerEventHandler('sync_timeline',SyncParser.prototype.timelineEvent.bind(this));importer.registerEventHandler('sync_wait',SyncParser.prototype.syncWaitEvent.bind(this));importer.registerEventHandler('sync_pt',SyncParser.prototype.syncPtEvent.bind(this));this.model_=importer.model_;}
6144const syncTimelineRE=/name=(\S+) value=(\S*)/;const syncWaitRE=/(\S+) name=(\S+) state=(\d+)/;const syncPtRE=/name=(\S+) value=(\S*)/;SyncParser.prototype={__proto__:Parser.prototype,timelineEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncTimelineRE.exec(eventBase.details);if(!event)return false;const thread=this.importer.getOrCreatePseudoThread(event[1]);if(thread.lastActiveTs!==undefined){const duration=ts-thread.lastActiveTs;let value=thread.lastActiveValue;if(value===undefined)value=' ';const slice=new tr.model.ThreadSlice('',value,ColorScheme.getColorIdForGeneralPurposeString(value),thread.lastActiveTs,{},duration);thread.thread.sliceGroup.pushSlice(slice);}
6145thread.lastActiveTs=ts;thread.lastActiveValue=event[2];return true;},syncWaitEvent(eventName,cpuNumber,pid,ts,eventBase){const event=syncWaitRE.exec(eventBase.details);if(!event)return false;if(eventBase.tgid===undefined){return false;}
6146const tgid=parseInt(eventBase.tgid);const thread=this.model_.getOrCreateProcess(tgid).getOrCreateThread(pid);thread.name=eventBase.threadName;const slices=thread.kernelSliceGroup;if(!slices.isTimestampValidForBeginOrEnd(ts)){this.model_.importWarning({type:'parse_error',message:'Timestamps are moving backward.'});return false;}
6147const name='fence_wait("'+event[2]+'")';if(event[1]==='begin'){const slice=slices.beginSlice(null,name,ts,{'Start state':event[3]});}else if(event[1]==='end'){if(slices.openSliceCount>0){slices.endSlice(ts);}}else{return false;}
6148return true;},syncPtEvent(eventName,cpuNumber,pid,ts,eventBase){return!!syncPtRE.exec(eventBase.details);}};Parser.register(SyncParser);return{SyncParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const ColorScheme=tr.b.ColorScheme;const Parser=tr.e.importer.linux_perf.Parser;function WorkqueueParser(importer){Parser.call(this,importer);importer.registerEventHandler('workqueue_execute_start',WorkqueueParser.prototype.executeStartEvent.bind(this));importer.registerEventHandler('workqueue_execute_end',WorkqueueParser.prototype.executeEndEvent.bind(this));importer.registerEventHandler('workqueue_queue_work',WorkqueueParser.prototype.executeQueueWork.bind(this));importer.registerEventHandler('workqueue_activate_work',WorkqueueParser.prototype.executeActivateWork.bind(this));}
6149const workqueueExecuteStartRE=/work struct (.+): function (\S+)/;const workqueueExecuteEndRE=/work struct (.+)/;WorkqueueParser.prototype={__proto__:Parser.prototype,executeStartEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteStartRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);kthread.openSliceTS=ts;kthread.openSlice=event[2];return true;},executeEndEvent(eventName,cpuNumber,pid,ts,eventBase){const event=workqueueExecuteEndRE.exec(eventBase.details);if(!event)return false;const kthread=this.importer.getOrCreateKernelThread(eventBase.threadName,pid,pid);if(kthread.openSlice){const slice=new tr.model.ThreadSlice('',kthread.openSlice,ColorScheme.getColorIdForGeneralPurposeString(kthread.openSlice),kthread.openSliceTS,{},ts-kthread.openSliceTS);kthread.thread.sliceGroup.pushSlice(slice);}
6150kthread.openSlice=undefined;return true;},executeQueueWork(eventName,cpuNumber,pid,ts,eventBase){return true;},executeActivateWork(eventName,cpuNumber,pid,ts,eventBase){return true;}};Parser.register(WorkqueueParser);return{WorkqueueParser,};});'use strict';tr.exportTo('tr.e.importer.linux_perf',function(){const MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID='linux_clock_monotonic_to_ftrace_global';function FTraceImporter(model,events){this.importPriority=2;this.model_=model;this.events_=events;this.wakeups_=[];this.blockedReasons_=[];this.kernelThreadStates_={};this.buildMapFromLinuxPidsToThreads_();this.lines_=[];this.pseudoThreadCounter=1;this.parsers_=[];this.eventHandlers_={};this.haveClockSyncedMonotonicToGlobal_=false;this.clockDomainId_=tr.model.ClockDomainId.LINUX_FTRACE_GLOBAL;}
6151const TestExports={};const lineREWithTGID=new RegExp('^\\s*(.+)-(\\d+)\\s+\\(\\s*(\\d+|-+)\\)\\s\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithTGID=function(line){const groups=lineREWithTGID.exec(line);if(!groups)return groups;let tgid=groups[3];if(tgid[0]==='-')tgid=undefined;return{threadName:groups[1],pid:groups[2],tgid,cpuNumber:groups[4],timestamp:groups[5],eventName:groups[6],details:groups[7]};};TestExports.lineParserWithTGID=lineParserWithTGID;const lineREWithIRQInfo=new RegExp('^\\s*(.+)-(\\d+)\\s+\\[(\\d+)\\]'+'\\s+[dX.][Nnp.][Hhs.][0-9a-f.]'+'\\s+(\\d+\\.\\d+):\\s+(\\S+):\\s(.*)$');const lineParserWithIRQInfo=function(line){const groups=lineREWithIRQInfo.exec(line);if(!groups)return groups;return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithIRQInfo=lineParserWithIRQInfo;const lineREWithLegacyFmt=/^\s*(.+)-(\d+)\s+\[(\d+)\]\s*(\d+\.\d+):\s+(\S+):\s(.*)$/;const lineParserWithLegacyFmt=function(line){const groups=lineREWithLegacyFmt.exec(line);if(!groups){return groups;}
6152return{threadName:groups[1],pid:groups[2],cpuNumber:groups[3],timestamp:groups[4],eventName:groups[5],details:groups[6]};};TestExports.lineParserWithLegacyFmt=lineParserWithLegacyFmt;const traceEventClockSyncRE=/trace_event_clock_sync: parent_ts=(\d+\.?\d*)/;TestExports.traceEventClockSyncRE=traceEventClockSyncRE;const realTimeClockSyncRE=/trace_event_clock_sync: realtime_ts=(\d+)/;const genericClockSyncRE=/trace_event_clock_sync: name=([\w\-]+)/;const pseudoKernelPID=0;function autoDetectLineParser(line){if(line[0]==='{')return false;if(lineREWithTGID.test(line))return lineParserWithTGID;if(lineREWithIRQInfo.test(line))return lineParserWithIRQInfo;if(lineREWithLegacyFmt.test(line))return lineParserWithLegacyFmt;return undefined;}
6153TestExports.autoDetectLineParser=autoDetectLineParser;FTraceImporter.canImport=function(events){if(events instanceof tr.b.TraceStream)events=events.header;if(!(typeof(events)==='string'||events instanceof String)){return false;}
6154if(FTraceImporter._extractEventsFromSystraceHTML(events,false).ok){return true;}
6155if(FTraceImporter._extractEventsFromSystraceMultiHTML(events,false).ok){return true;}
6156if(/^# tracer:/.test(events))return true;const lineBreakIndex=events.indexOf('\n');if(lineBreakIndex>-1)events=events.substring(0,lineBreakIndex);if(autoDetectLineParser(events))return true;return false;};FTraceImporter._extractEventsFromSystraceHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!/^<!DOCTYPE html>/.test(header))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);if(!r.advanceToLineMatching(/^  <script>$/))return failure;if(!r.advanceToLineMatching(/^  var linuxPerfData = "\\$/))return failure;const eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^  <\/script>$/))return failure;let rawEvents=r.endSavingLinesAndGetResult();rawEvents=rawEvents.slice(1,rawEvents.length-1);if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;function endsWith(str,suffix){return str.indexOf(suffix,str.length-suffix.length)!==-1;}
6157function stripSuffix(str,suffix){if(!endsWith(str,suffix))return str;return str.substring(str,str.length-suffix.length);}
6158let events=[];if(produceResult){for(let i=0;i<rawEvents.length;i++){let event=rawEvents[i];event=stripSuffix(event,'\\n\\');events.push(event);}}else{events=[rawEvents[rawEvents.length-1]];}
6159const oldLastEvent=events[events.length-1];const newLastEvent=stripSuffix(oldLastEvent,'\\n";');if(newLastEvent===oldLastEvent)return failure;events[events.length-1]=newLastEvent;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine};};FTraceImporter._extractEventsFromSystraceMultiHTML=function(incomingEvents,produceResult){const failure={ok:false};if(produceResult===undefined)produceResult=true;const header=incomingEvents instanceof tr.b.TraceStream?incomingEvents.header:incomingEvents;if(!(new RegExp('^<!DOCTYPE HTML>','i').test(header)))return failure;const r=new tr.importer.SimpleLineReader(incomingEvents);let events=[];let eventsBeginAtLine;while(!/^# tracer:/.test(events)){if(!r.advanceToLineMatching(/^  <script class="trace-data" type="application\/text">$/)){return failure;}
6160eventsBeginAtLine=r.curLineNumber+1;r.beginSavingLines();if(!r.advanceToLineMatching(/^  <\/script>$/))return failure;events=r.endSavingLinesAndGetResult();events=events.slice(1,events.length-1);}
6161if(!r.advanceToLineMatching(/^<\/body>$/))return failure;if(!r.advanceToLineMatching(/^<\/html>$/))return failure;return{ok:true,lines:produceResult?events:undefined,eventsBeginAtLine,};};FTraceImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'FTraceImporter';},get model(){return this.model_;},importClockSyncMarkers(){this.lazyInit_();this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;if(eventName!=='tracing_mark_write'&&eventName!=='0')return;if(traceEventClockSyncRE.exec(eventBase.details)||genericClockSyncRE.exec(eventBase.details)){this.traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase);}else if(realTimeClockSyncRE.exec(eventBase.details)){const match=realTimeClockSyncRE.exec(eventBase.details);this.model_.realtime_to_monotonic_offset_ms=ts-match[1];}}.bind(this));},importEvents(){const modelTimeTransformer=this.model_.clockSyncManager.getModelTimeTransformer(this.clockDomainId_);this.importCpuData_(modelTimeTransformer);this.buildMapFromLinuxPidsToThreads_();this.buildPerThreadCpuSlicesFromCpuState_();},registerEventHandler(eventName,handler){this.eventHandlers_[eventName]=handler;},getOrCreateCpu(cpuNumber){return this.model_.kernel.getOrCreateCpu(cpuNumber);},getOrCreateKernelThread(kernelThreadName,pid,tid){if(!this.kernelThreadStates_[kernelThreadName]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[kernelThreadName]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;}
6162return this.kernelThreadStates_[kernelThreadName];},getOrCreateBinderKernelThread(kernelThreadName,pid,tid){const key=kernelThreadName+pid+tid;if(!this.kernelThreadStates_[key]){const thread=this.model_.getOrCreateProcess(pid).getOrCreateThread(tid);thread.name=kernelThreadName;this.kernelThreadStates_[key]={pid,thread,openSlice:undefined,openSliceTS:undefined};this.threadsByLinuxPid[pid]=thread;}
6163return this.kernelThreadStates_[key];},getOrCreatePseudoThread(threadName){let thread=this.kernelThreadStates_[threadName];if(!thread){thread=this.getOrCreateKernelThread(threadName,pseudoKernelPID,this.pseudoThreadCounter);this.pseudoThreadCounter++;}
6164return thread;},markPidRunnable(ts,pid,comm,prio,fromPid){this.wakeups_.push({ts,tid:pid,fromTid:fromPid});},addPidBlockedReason(ts,pid,iowait,caller){this.blockedReasons_.push({ts,tid:pid,iowait,caller});},buildMapFromLinuxPidsToThreads_(){this.threadsByLinuxPid={};this.model_.getAllThreads().forEach(function(thread){this.threadsByLinuxPid[thread.tid]=thread;}.bind(this));},buildPerThreadCpuSlicesFromCpuState_(){const SCHEDULING_STATE=tr.model.SCHEDULING_STATE;for(const cpuNumber in this.model_.kernel.cpus){const cpu=this.model_.kernel.cpus[cpuNumber];for(let i=0;i<cpu.slices.length;i++){const cpuSlice=cpu.slices[i];const thread=this.threadsByLinuxPid[cpuSlice.args.tid];if(!thread)continue;cpuSlice.threadThatWasRunning=thread;if(!thread.tempCpuSlices){thread.tempCpuSlices=[];}
6165thread.tempCpuSlices.push(cpuSlice);}}
6166for(const i in this.wakeups_){const wakeup=this.wakeups_[i];const thread=this.threadsByLinuxPid[wakeup.tid];if(!thread)continue;thread.tempWakeups=thread.tempWakeups||[];thread.tempWakeups.push(wakeup);}
6167for(const i in this.blockedReasons_){const reason=this.blockedReasons_[i];const thread=this.threadsByLinuxPid[reason.tid];if(!thread)continue;thread.tempBlockedReasons=thread.tempBlockedReasons||[];thread.tempBlockedReasons.push(reason);}
6168this.model_.getAllThreads().forEach(function(thread){if(thread.tempCpuSlices===undefined)return;const origSlices=thread.tempCpuSlices;delete thread.tempCpuSlices;origSlices.sort(function(x,y){return x.start-y.start;});const wakeups=thread.tempWakeups||[];delete thread.tempWakeups;wakeups.sort(function(x,y){return x.ts-y.ts;});const reasons=thread.tempBlockedReasons||[];delete thread.tempBlockedReasons;reasons.sort(function(x,y){return x.ts-y.ts;});const slices=[];if(origSlices.length){const slice=origSlices[0];if(wakeups.length&&wakeups[0].ts<slice.start){const wakeup=wakeups.shift();const wakeupDuration=slice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));}
6169const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',slice.start,{},slice.duration);runningSlice.cpuOnWhichThreadWasRunning=slice.cpu;slices.push(runningSlice);}
6170let wakeup=undefined;for(let i=1;i<origSlices.length;i++){const prevSlice=origSlices[i-1];const nextSlice=origSlices[i];let midDuration=nextSlice.start-prevSlice.end;while(wakeups.length&&wakeups[0].ts<nextSlice.start){const w=wakeups.shift();if(wakeup===undefined&&w.ts>prevSlice.end){wakeup=w;}}
6171let blockedReason=undefined;while(reasons.length&&reasons[0].ts<prevSlice.end){const r=reasons.shift();}
6172if(wakeup!==undefined&&reasons.length&&reasons[0].ts<wakeup.ts){blockedReason=reasons.shift();}
6173const pushSleep=function(state){if(wakeup!==undefined){midDuration=wakeup.ts-prevSlice.end;}
6174if(blockedReason!==undefined){const args={'kernel callsite when blocked:':blockedReason.caller};if(blockedReason.iowait){switch(state){case SCHEDULING_STATE.UNINTR_SLEEP:state=SCHEDULING_STATE.UNINTR_SLEEP_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;case SCHEDULING_STATE.UNINTR_SLEEP_WAKING:state=SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL_IO;break;default:}}
6175slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,args,midDuration));}else{slices.push(new tr.model.ThreadTimeSlice(thread,state,'',prevSlice.end,{},midDuration));}
6176if(wakeup!==undefined){const wakeupDuration=nextSlice.start-wakeup.ts;const args={'wakeup from tid':wakeup.fromTid};slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',wakeup.ts,args,wakeupDuration));wakeup=undefined;}};if(prevSlice.args.stateWhenDescheduled==='S'){pushSleep(SCHEDULING_STATE.SLEEPING);}else if(prevSlice.args.stateWhenDescheduled==='R'||prevSlice.args.stateWhenDescheduled==='R+'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNABLE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP);}else if(prevSlice.args.stateWhenDescheduled==='T'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.STOPPED,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='t'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.DEBUG,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='Z'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.ZOMBIE,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='X'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.EXIT_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='x'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.TASK_DEAD,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='K'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKE_KILL,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='W'){slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.WAKING,'',prevSlice.end,{},midDuration));}else if(prevSlice.args.stateWhenDescheduled==='D|K'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKE_KILL);}else if(prevSlice.args.stateWhenDescheduled==='D|W'){pushSleep(SCHEDULING_STATE.UNINTR_SLEEP_WAKING);}else{slices.push(new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.UNKNOWN,'',prevSlice.end,{},midDuration));this.model_.importWarning({type:'parse_error',message:'Unrecognized sleep state: '+
6177prevSlice.args.stateWhenDescheduled});}
6178const runningSlice=new tr.model.ThreadTimeSlice(thread,SCHEDULING_STATE.RUNNING,'',nextSlice.start,{},nextSlice.duration);runningSlice.cpuOnWhichThreadWasRunning=prevSlice.cpu;slices.push(runningSlice);}
6179thread.timeSlices=slices;},this);},createParsers_(){const allTypeInfos=tr.e.importer.linux_perf.Parser.getAllRegisteredTypeInfos();const parsers=allTypeInfos.map(function(typeInfo){return new typeInfo.constructor(this);},this);return parsers;},registerDefaultHandlers_(){this.registerEventHandler('tracing_mark_write',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('0',FTraceImporter.prototype.traceMarkingWriteEvent_.bind(this));this.registerEventHandler('tracing_mark_write:trace_event_clock_sync',function(){return true;});this.registerEventHandler('0:trace_event_clock_sync',function(){return true;});},traceClockSyncEvent_(eventName,cpuNumber,pid,ts,eventBase){let event=/name=(\w+?)\s(.+)/.exec(eventBase.details);if(event){const name=event[1];const pieces=event[2].split(' ');const args={perfTs:ts};for(let i=0;i<pieces.length;i++){const parts=pieces[i].split('=');if(parts.length!==2){throw new Error('omgbbq');}
6180args[parts[0]]=parts[1];}
6181this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,name,ts);return true;}
6182event=/name=([\w\-]+)/.exec(eventBase.details);if(event){this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,event[1],ts);return true;}
6183event=/parent_ts=(\d+\.?\d*)/.exec(eventBase.details);if(!event)return false;let monotonicTs=event[1]*1000;if(monotonicTs===0)monotonicTs=ts;if(this.haveClockSyncedMonotonicToGlobal_){return true;}
6184this.model_.clockSyncManager.addClockSyncMarker(this.clockDomainId_,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,ts);this.model_.clockSyncManager.addClockSyncMarker(tr.model.ClockDomainId.LINUX_CLOCK_MONOTONIC,MONOTONIC_TO_FTRACE_GLOBAL_SYNC_ID,monotonicTs);this.haveClockSyncedMonotonicToGlobal_=true;return true;},traceMarkingWriteEvent_(eventName,cpuNumber,pid,ts,eventBase,threadName){eventBase.details=eventBase.details.replace(/\\n.*$/,'');const event=/^\s*(\w+):\s*(.*)$/.exec(eventBase.details);if(!event){const tag=eventBase.details.substring(0,2);if(tag==='B|'||tag==='E'||tag==='E|'||tag==='X|'||tag==='C|'||tag==='S|'||tag==='F|'){eventBase.subEventName='android';}else{return false;}}else{eventBase.subEventName=event[1];eventBase.details=event[2];}
6185const writeEventName=eventName+':'+eventBase.subEventName;const handler=this.eventHandlers_[writeEventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown trace_marking_write event '+writeEventName});return true;}
6186return handler(writeEventName,cpuNumber,pid,ts,eventBase,threadName);},importCpuData_(modelTimeTransformer){this.forEachLine_(function(text,eventBase,cpuNumber,pid,ts){const eventName=eventBase.eventName;const handler=this.eventHandlers_[eventName];if(!handler){this.model_.importWarning({type:'parse_error',message:'Unknown event '+eventName+' ('+text+')'});return;}
6187ts=modelTimeTransformer(ts);if(!handler(eventName,cpuNumber,pid,ts,eventBase)){this.model_.importWarning({type:'parse_error',message:'Malformed '+eventName+' event ('+text+')'});}}.bind(this));},parseLines_(){let extractResult=FTraceImporter._extractEventsFromSystraceHTML(this.events_,true);if(!extractResult.ok){extractResult=FTraceImporter._extractEventsFromSystraceMultiHTML(this.events_,true);}
6188let lineParser=undefined;if(extractResult.ok){for(const line of extractResult.lines){lineParser=this.parseLine_(line,lineParser);}}else{const r=new tr.importer.SimpleLineReader(this.events_);for(const line of r){lineParser=this.parseLine_(line,lineParser);}}},parseLine_(line,lineParser){line=line.trim();if(line.length===0)return lineParser;if(/^#/.test(line)){const clockType=/^# clock_type=([A-Z_]+)$/.exec(line);if(clockType){this.clockDomainId_=clockType[1];}
6189return lineParser;}
6190if(!lineParser){lineParser=autoDetectLineParser(line);if(!lineParser){this.model_.importWarning({type:'parse_error',message:'Cannot parse line: '+line});return lineParser;}}
6191const eventBase=lineParser(line);if(!eventBase){this.model_.importWarning({type:'parse_error',message:'Unrecognized line: '+line});return lineParser;}
6192this.lines_.push([line,eventBase,parseInt(eventBase.cpuNumber),parseInt(eventBase.pid),parseFloat(eventBase.timestamp)*1000]);return lineParser;},forEachLine_(handler){for(let i=0;i<this.lines_.length;++i){const line=this.lines_[i];handler.apply(this,line);}},lazyInit_(){this.parsers_=this.createParsers_();this.registerDefaultHandlers_();this.parseLines_();}};tr.importer.Importer.register(FTraceImporter);return{FTraceImporter,_FTraceImporterTestExports:TestExports};});'use strict';function filterDuplicateTimestamps(timestamps){const dedupedTimestamps=[];let lastTs=0;for(const ts of timestamps){if(ts-lastTs>=1){dedupedTimestamps.push(ts);lastTs=ts;}}
6193return dedupedTimestamps;}
6194tr.exportTo('tr.e.audits',function(){const VSYNC_COUNTER_PRECISIONS={'android.VSYNC-app':15,'android.VSYNC':15};const VSYNC_SLICE_PRECISIONS={'RenderWidgetHostViewAndroid::OnVSync':5,'VSYNC':10,'vblank':10,'DisplayLinkMac::GetVSyncParameters':5};const BEGIN_FRAME_SLICE_PRECISION={'DisplayScheduler::BeginFrame':10};function VSyncAuditor(model){tr.c.Auditor.call(this,model);}
6195VSyncAuditor.prototype={__proto__:tr.c.Auditor.prototype,runAnnotate(){this.model.device.vSyncTimestamps=this.findVSyncTimestamps(this.model);},findVSyncTimestamps(model){let times=[];let maxPrecision=Number.NEGATIVE_INFINITY;let maxTitle=undefined;function useInstead(title,precisions){const precision=precisions[title];if(precision===undefined)return false;if(title===maxTitle)return true;if(precision<=maxPrecision){if(precision===maxPrecision){model.importWarning({type:'VSyncAuditor',message:'Encountered two different VSync events ('+
6196maxTitle+', '+title+') with the same precision, '+'ignoring the newer one ('+title+')',showToUser:false,});}
6197return false;}
6198maxPrecision=precision;maxTitle=title;times=[];return true;}
6199for(const pid in model.processes){const process=model.processes[pid];for(const cid in process.counters){if(useInstead(cid,VSYNC_COUNTER_PRECISIONS)){const counter=process.counters[cid];for(let i=0;i<counter.series.length;i++){const series=counter.series[i];Array.prototype.push.apply(times,series.timestamps);}}}
6200for(const tid in process.threads){const thread=process.threads[tid];for(let i=0;i<thread.sliceGroup.slices.length;i++){const slice=thread.sliceGroup.slices[i];if(useInstead(slice.title,VSYNC_SLICE_PRECISIONS)){times.push(slice.start);}else if(useInstead(slice.title,BEGIN_FRAME_SLICE_PRECISION)&&slice.args.args&&slice.args.args.frame_time_us){times.push(slice.args.args.frame_time_us/1000.0);}}}}
6201times.sort(function(x,y){return x-y;});return filterDuplicateTimestamps(times);}};tr.c.Auditor.register(VSyncAuditor);return{VSyncAuditor,};});'use strict';tr.exportTo('tr.importer',function(){function EmptyImporter(events){this.importPriority=0;}
6202EmptyImporter.canImport=function(eventData){if(eventData instanceof Array&&eventData.length===0){return true;}
6203if(typeof(eventData)==='string'||eventData instanceof String){return eventData.length===0;}
6204return false;};EmptyImporter.prototype={__proto__:tr.importer.Importer.prototype,get importerName(){return'EmptyImporter';}};tr.importer.Importer.register(EmptyImporter);return{EmptyImporter,};});'use strict';tr.exportTo('tr.model.um',function(){function AnimationExpectation(parentModel,initiatorTitle,start,duration){tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.frameEvents_=undefined;}
6205AnimationExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:AnimationExpectation,get frameEvents(){if(this.frameEvents_){return this.frameEvents_;}
6206this.frameEvents_=new tr.model.EventSet();this.associatedEvents.forEach(function(event){if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){this.frameEvents_.push(event);}},this);return this.frameEvents_;}};tr.model.um.UserExpectation.subTypes.register(AnimationExpectation,{stageTitle:'Animation',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_animation')});return{AnimationExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function ProtoExpectation(type,initiatorType){this.type=type;this.initiatorType=initiatorType;this.start=Infinity;this.end=-Infinity;this.associatedEvents=new tr.model.EventSet();this.isAnimationBegin=false;}
6207ProtoExpectation.RESPONSE_TYPE='r';ProtoExpectation.ANIMATION_TYPE='a';ProtoExpectation.IGNORED_TYPE='ignored';const INITIATOR_HIERARCHY=[tr.model.um.INITIATOR_TYPE.PINCH,tr.model.um.INITIATOR_TYPE.FLING,tr.model.um.INITIATOR_TYPE.MOUSE_WHEEL,tr.model.um.INITIATOR_TYPE.SCROLL,tr.model.um.INITIATOR_TYPE.VIDEO,tr.model.um.INITIATOR_TYPE.WEBGL,tr.model.um.INITIATOR_TYPE.CSS,tr.model.um.INITIATOR_TYPE.MOUSE,tr.model.um.INITIATOR_TYPE.KEYBOARD,tr.model.um.INITIATOR_TYPE.TAP,tr.model.um.INITIATOR_TYPE.TOUCH];function combineInitiatorTypes(title1,title2){for(const item of INITIATOR_HIERARCHY){if(title1===item||title2===item)return item;}
6208throw new Error('Invalid titles in combineInitiatorTypes');}
6209ProtoExpectation.prototype={get isValid(){return this.end>this.start;},containsTypeNames(typeNames){return this.associatedEvents.some(x=>typeNames.indexOf(x.typeName)>=0);},containsSliceTitle(title){return this.associatedEvents.some(x=>title===x.title);},createInteractionRecord(model){if(this.type!==ProtoExpectation.IGNORED_TYPE&&!this.isValid){model.importWarning({type:'ProtoExpectation',message:'Please file a bug with this trace. '+this.debug(),showToUser:true});return undefined;}
6210const duration=this.end-this.start;let ir=undefined;switch(this.type){case ProtoExpectation.RESPONSE_TYPE:ir=new tr.model.um.ResponseExpectation(model,this.initiatorType,this.start,duration,this.isAnimationBegin);break;case ProtoExpectation.ANIMATION_TYPE:ir=new tr.model.um.AnimationExpectation(model,this.initiatorType,this.start,duration);break;}
6211if(!ir)return undefined;ir.sourceEvents.addEventSet(this.associatedEvents);function pushAssociatedEvents(event){ir.associatedEvents.push(event);if(event.associatedEvents){ir.associatedEvents.addEventSet(event.associatedEvents);}}
6212this.associatedEvents.forEach(function(event){pushAssociatedEvents(event);if(event.subSlices){event.subSlices.forEach(pushAssociatedEvents);}});return ir;},merge(other){this.initiatorType=combineInitiatorTypes(this.initiatorType,other.initiatorType);this.associatedEvents.addEventSet(other.associatedEvents);this.start=Math.min(this.start,other.start);this.end=Math.max(this.end,other.end);if(other.isAnimationBegin){this.isAnimationBegin=true;}},pushEvent(event){this.start=Math.min(this.start,event.start);this.end=Math.max(this.end,event.end);this.associatedEvents.push(event);},containsTimestampInclusive(timestamp){return(this.start<=timestamp)&&(timestamp<=this.end);},intersects(other){return(other.start<this.end)&&(other.end>this.start);},isNear(event,threshold){return(this.end+threshold)>event.start;},debug(){let debugString=this.type+'(';debugString+=parseInt(this.start)+' ';debugString+=parseInt(this.end);this.associatedEvents.forEach(function(event){debugString+=' '+event.typeName;});return debugString+')';}};return{ProtoExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const ProtoExpectation=tr.importer.ProtoExpectation;const INITIATOR_TYPE=tr.model.um.INITIATOR_TYPE;const INPUT_TYPE=tr.e.cc.INPUT_EVENT_TYPE_NAMES;const KEYBOARD_TYPE_NAMES=[INPUT_TYPE.CHAR,INPUT_TYPE.KEY_DOWN_RAW,INPUT_TYPE.KEY_DOWN,INPUT_TYPE.KEY_UP];const MOUSE_RESPONSE_TYPE_NAMES=[INPUT_TYPE.CLICK,INPUT_TYPE.CONTEXT_MENU];const MOUSE_WHEEL_TYPE_NAMES=[INPUT_TYPE.MOUSE_WHEEL];const MOUSE_DRAG_TYPE_NAMES=[INPUT_TYPE.MOUSE_DOWN,INPUT_TYPE.MOUSE_MOVE,INPUT_TYPE.MOUSE_UP];const TAP_TYPE_NAMES=[INPUT_TYPE.TAP,INPUT_TYPE.TAP_CANCEL,INPUT_TYPE.TAP_DOWN];const PINCH_TYPE_NAMES=[INPUT_TYPE.PINCH_BEGIN,INPUT_TYPE.PINCH_END,INPUT_TYPE.PINCH_UPDATE];const FLING_TYPE_NAMES=[INPUT_TYPE.FLING_CANCEL,INPUT_TYPE.FLING_START];const TOUCH_TYPE_NAMES=[INPUT_TYPE.TOUCH_END,INPUT_TYPE.TOUCH_MOVE,INPUT_TYPE.TOUCH_START];const SCROLL_TYPE_NAMES=[INPUT_TYPE.SCROLL_BEGIN,INPUT_TYPE.SCROLL_END,INPUT_TYPE.SCROLL_UPDATE];const ALL_HANDLED_TYPE_NAMES=[].concat(KEYBOARD_TYPE_NAMES,MOUSE_RESPONSE_TYPE_NAMES,MOUSE_WHEEL_TYPE_NAMES,MOUSE_DRAG_TYPE_NAMES,PINCH_TYPE_NAMES,TAP_TYPE_NAMES,FLING_TYPE_NAMES,TOUCH_TYPE_NAMES,SCROLL_TYPE_NAMES);const RENDERER_FLING_TITLE='InputHandlerProxy::HandleGestureFling::started';const PLAYBACK_EVENT_TITLE='VideoPlayback';const CSS_ANIMATION_TITLE='Animation';const INPUT_MERGE_THRESHOLD_MS=200;const ANIMATION_MERGE_THRESHOLD_MS=32;const MOUSE_WHEEL_THRESHOLD_MS=40;const MOUSE_MOVE_THRESHOLD_MS=40;function compareEvents(x,y){if(x.start!==y.start){return x.start-y.start;}
6213if(x.end!==y.end){return x.end-y.end;}
6214if(x.guid&&y.guid){return x.guid-y.guid;}
6215return 0;}
6216function forEventTypesIn(events,typeNames,cb,opt_this){events.forEach(function(event){if(typeNames.indexOf(event.typeName)>=0){cb.call(opt_this,event);}});}
6217function causedFrame(event){return event.associatedEvents.some(x=>x.title===tr.model.helpers.IMPL_RENDERING_STATS);}
6218function getSortedFrameEventsByProcess(modelHelper){const frameEventsByPid={};for(const[pid,rendererHelper]of
6219Object.entries(modelHelper.rendererHelpers)){frameEventsByPid[pid]=rendererHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds);}
6220return frameEventsByPid;}
6221function getSortedInputEvents(modelHelper){const inputEvents=[];const browserProcess=modelHelper.browserHelper.process;const mainThread=browserProcess.findAtMostOneThreadNamed('CrBrowserMain');for(const slice of mainThread.asyncSliceGroup.getDescendantEvents()){if(!slice.isTopLevel)continue;if(!(slice instanceof tr.e.cc.InputLatencyAsyncSlice))continue;if(isNaN(slice.start)||isNaN(slice.duration)||isNaN(slice.end)){continue;}
6222inputEvents.push(slice);}
6223return inputEvents.sort(compareEvents);}
6224function findProtoExpectations(modelHelper,sortedInputEvents){const protoExpectations=[];const handlers=[handleKeyboardEvents,handleMouseResponseEvents,handleMouseWheelEvents,handleMouseDragEvents,handleTapResponseEvents,handlePinchEvents,handleFlingEvents,handleTouchEvents,handleScrollEvents,handleCSSAnimations,handleWebGLAnimations,handleVideoAnimations];handlers.forEach(function(handler){protoExpectations.push.apply(protoExpectations,handler(modelHelper,sortedInputEvents));});protoExpectations.sort(compareEvents);return protoExpectations;}
6225function handleKeyboardEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,KEYBOARD_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.KEYBOARD);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
6226function handleMouseResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];forEventTypesIn(sortedInputEvents,MOUSE_RESPONSE_TYPE_NAMES,function(event){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);});return protoExpectations;}
6227function handleMouseWheelEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let prevEvent_=undefined;forEventTypesIn(sortedInputEvents,MOUSE_WHEEL_TYPE_NAMES,function(event){const prevEvent=prevEvent_;prevEvent_=event;if(currentPE&&(prevEvent.start+MOUSE_WHEEL_THRESHOLD_MS)>=event.start){if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6228return;}
6229currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE_WHEEL);currentPE.pushEvent(event);protoExpectations.push(currentPE);});return protoExpectations;}
6230function handleMouseDragEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let mouseDownEvent=undefined;forEventTypesIn(sortedInputEvents,MOUSE_DRAG_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.MOUSE_DOWN:if(causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);}else{mouseDownEvent=event;}
6231break;case INPUT_TYPE.MOUSE_MOVE:if(!causedFrame(event)){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}else if(!currentPE||!currentPE.isNear(event,MOUSE_MOVE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);mouseDownEvent=undefined;}
6232protoExpectations.push(currentPE);}else{if(currentPE.type===ProtoExpectation.ANIMATION_TYPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.MOUSE);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}
6233break;case INPUT_TYPE.MOUSE_UP:if(!mouseDownEvent){const pe=new ProtoExpectation(causedFrame(event)?ProtoExpectation.RESPONSE_TYPE:ProtoExpectation.IGNORED_TYPE,INITIATOR_TYPE.MOUSE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6234if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.MOUSE);if(mouseDownEvent){currentPE.associatedEvents.push(mouseDownEvent);}
6235currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6236mouseDownEvent=undefined;currentPE=undefined;break;}});if(mouseDownEvent){currentPE=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);currentPE.pushEvent(mouseDownEvent);protoExpectations.push(currentPE);}
6237return protoExpectations;}
6238function handleTapResponseEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;forEventTypesIn(sortedInputEvents,TAP_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TAP_DOWN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;case INPUT_TYPE.TAP:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6239currentPE=undefined;break;case INPUT_TYPE.TAP_CANCEL:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6240if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TAP);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6241currentPE=undefined;break;}});return protoExpectations;}
6242function handlePinchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;const modelBounds=modelHelper.model.bounds;forEventTypesIn(sortedInputEvents,PINCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.PINCH_BEGIN:if(currentPE&&currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);break;}
6243currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.PINCH_UPDATE:if(!currentPE||((currentPE.type===ProtoExpectation.RESPONSE_TYPE)&&sawFirstUpdate)||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.PINCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstUpdate=true;}
6244break;case INPUT_TYPE.PINCH_END:if(currentPE){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6245currentPE=undefined;break;}});return protoExpectations;}
6246function handleFlingEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;function isRendererFling(event){return event.title===RENDERER_FLING_TITLE;}
6247const browserHelper=modelHelper.browserHelper;const flingEvents=browserHelper.getAllAsyncSlicesMatching(isRendererFling);forEventTypesIn(sortedInputEvents,FLING_TYPE_NAMES,function(event){flingEvents.push(event);});flingEvents.sort(compareEvents);flingEvents.forEach(function(event){if(event.title===RENDERER_FLING_TITLE){if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6248return;}
6249switch(event.typeName){case INPUT_TYPE.FLING_START:if(currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: FlingStart',showToUser:true});currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.FLING);currentPE.pushEvent(event);currentPE.end=0;protoExpectations.push(currentPE);}
6250break;case INPUT_TYPE.FLING_CANCEL:if(currentPE){currentPE.pushEvent(event);currentPE.end=event.start;currentPE=undefined;}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6251break;}});if(currentPE&&!currentPE.end){currentPE.end=modelHelper.model.bounds.max;}
6252return protoExpectations;}
6253function handleTouchEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstMove=false;forEventTypesIn(sortedInputEvents,TOUCH_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.TOUCH_START:if(currentPE){currentPE.pushEvent(event);}else{currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstMove=false;}
6254break;case INPUT_TYPE.TOUCH_MOVE:if(!currentPE){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);protoExpectations.push(currentPE);break;}
6255if((sawFirstMove&&(currentPE.type===ProtoExpectation.RESPONSE_TYPE))||!currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){const prevEnd=currentPE.end;currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.TOUCH);currentPE.pushEvent(event);currentPE.start=prevEnd;protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);sawFirstMove=true;}
6256break;case INPUT_TYPE.TOUCH_END:if(!currentPE){const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6257if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)){currentPE.pushEvent(event);}else{const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);}
6258currentPE=undefined;break;}});return protoExpectations;}
6259function handleScrollEvents(modelHelper,sortedInputEvents){const protoExpectations=[];let currentPE=undefined;let sawFirstUpdate=false;forEventTypesIn(sortedInputEvents,SCROLL_TYPE_NAMES,function(event){switch(event.typeName){case INPUT_TYPE.SCROLL_BEGIN:currentPE=new ProtoExpectation(ProtoExpectation.RESPONSE_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);currentPE.isAnimationBegin=true;protoExpectations.push(currentPE);sawFirstUpdate=false;break;case INPUT_TYPE.SCROLL_UPDATE:if(currentPE){if(currentPE.isNear(event,INPUT_MERGE_THRESHOLD_MS)&&((currentPE.type===ProtoExpectation.ANIMATION_TYPE)||!sawFirstUpdate)){currentPE.pushEvent(event);sawFirstUpdate=true;}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}}else{currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.SCROLL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6260break;case INPUT_TYPE.SCROLL_END:if(!currentPE){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: ScrollEnd',showToUser:true});const pe=new ProtoExpectation(ProtoExpectation.IGNORED_TYPE);pe.pushEvent(event);protoExpectations.push(pe);break;}
6261currentPE.pushEvent(event);break;}});return protoExpectations;}
6262function handleVideoAnimations(modelHelper,sortedInputEvents){const events=[];for(const pid in modelHelper.rendererHelpers){for(const tid in modelHelper.rendererHelpers[pid].process.threads){for(const asyncSlice of
6263modelHelper.rendererHelpers[pid].process.threads[tid].asyncSliceGroup.slices){if(asyncSlice.title===PLAYBACK_EVENT_TITLE){events.push(asyncSlice);}}}}
6264events.sort(tr.importer.compareEvents);const protoExpectations=[];for(const event of events){const currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.VIDEO);currentPE.start=event.start;currentPE.end=event.end;currentPE.pushEvent(event);protoExpectations.push(currentPE);}
6265return protoExpectations;}
6266function handleCSSAnimations(modelHelper,sortedInputEvents){const animationEvents=modelHelper.browserHelper.getAllAsyncSlicesMatching(function(event){return((event.title===CSS_ANIMATION_TITLE)&&event.isTopLevel&&(event.duration>0));});const animationRanges=[];function pushAnimationRange(start,end,animation){const range=tr.b.math.Range.fromExplicitRange(start,end);range.animation=animation;animationRanges.push(range);}
6267animationEvents.forEach(function(animation){if(animation.subSlices.length===0){pushAnimationRange(animation.start,animation.end,animation);}else{let start=undefined;animation.subSlices.forEach(function(sub){if((sub.args.data.state==='running')&&(start===undefined)){start=sub.start;}else if((sub.args.data.state==='paused')||(sub.args.data.state==='idle')||(sub.args.data.state==='finished')){if(start===undefined){start=modelHelper.model.bounds.min;}
6268pushAnimationRange(start,sub.start,animation);start=undefined;}});if(start!==undefined){pushAnimationRange(start,animation.end,animation);}}});return animationRanges.map(function(range){const protoExpectation=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.CSS);protoExpectation.start=range.min;protoExpectation.end=range.max;protoExpectation.associatedEvents.push(range.animation);return protoExpectation;});}
6269function findWebGLEvents(modelHelper,mailboxEvents,animationEvents){for(const event of modelHelper.model.getDescendantEvents()){if(event.title==='DrawingBuffer::prepareMailbox'){mailboxEvents.push(event);}else if(event.title==='PageAnimator::serviceScriptedAnimations'){animationEvents.push(event);}}}
6270function findMailboxEventsNearAnimationEvents(mailboxEvents,animationEvents){if(animationEvents.length===0)return[];mailboxEvents.sort(compareEvents);animationEvents.sort(compareEvents);const animationIterator=animationEvents[Symbol.iterator]();let animationEvent=animationIterator.next().value;const filteredEvents=[];for(const event of mailboxEvents){while(animationEvent&&(animationEvent.start<(event.start-ANIMATION_MERGE_THRESHOLD_MS))){animationEvent=animationIterator.next().value;}
6271if(!animationEvent)break;if(animationEvent.start<(event.start+ANIMATION_MERGE_THRESHOLD_MS)){filteredEvents.push(event);}}
6272return filteredEvents;}
6273function createProtoExpectationsFromMailboxEvents(mailboxEvents){const protoExpectations=[];let currentPE=undefined;for(const event of mailboxEvents){if(currentPE===undefined||!currentPE.isNear(event,ANIMATION_MERGE_THRESHOLD_MS)){currentPE=new ProtoExpectation(ProtoExpectation.ANIMATION_TYPE,INITIATOR_TYPE.WEBGL);currentPE.pushEvent(event);protoExpectations.push(currentPE);}else{currentPE.pushEvent(event);}}
6274return protoExpectations;}
6275function handleWebGLAnimations(modelHelper,sortedInputEvents){const prepareMailboxEvents=[];const scriptedAnimationEvents=[];findWebGLEvents(modelHelper,prepareMailboxEvents,scriptedAnimationEvents);const webGLMailboxEvents=findMailboxEventsNearAnimationEvents(prepareMailboxEvents,scriptedAnimationEvents);return createProtoExpectationsFromMailboxEvents(webGLMailboxEvents);}
6276function postProcessProtoExpectations(modelHelper,protoExpectations){protoExpectations=findFrameEventsForAnimations(modelHelper,protoExpectations);protoExpectations=mergeIntersectingResponses(protoExpectations);protoExpectations=mergeIntersectingAnimations(protoExpectations);protoExpectations=fixResponseAnimationStarts(protoExpectations);protoExpectations=fixTapResponseTouchAnimations(protoExpectations);return protoExpectations;}
6277function mergeIntersectingResponses(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.RESPONSE_TYPE)continue;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if(!otherPE.intersects(pe))continue;const typeNames=pe.associatedEvents.map(function(event){return event.typeName;});if(otherPE.containsTypeNames(typeNames))continue;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6278return newPEs;}
6279function mergeIntersectingAnimations(protoExpectations){const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);if(pe.type!==ProtoExpectation.ANIMATION_TYPE)continue;const isCSS=pe.initiatorType===INITIATOR_TYPE.CSS;const isFling=pe.containsTypeNames([INPUT_TYPE.FLING_START]);const isVideo=pe.initiatorType===INITIATOR_TYPE.VIDEO;for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(otherPE.type!==pe.type)continue;if((isCSS&&otherPE.initiatorType!==INITIATOR_TYPE.CSS)||isFling!==otherPE.containsTypeNames([INPUT_TYPE.FLING_START])||isVideo&&otherPE.initiatorType!==INITIATOR_TYPE.VIDEO){continue;}
6280if(isCSS){if(!pe.isNear(otherPE,ANIMATION_MERGE_THRESHOLD_MS)){continue;}}else if(!otherPE.intersects(pe)){continue;}
6281pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6282return newPEs;}
6283function fixResponseAnimationStarts(protoExpectations){protoExpectations.forEach(function(ape){if(ape.type!==ProtoExpectation.ANIMATION_TYPE){return;}
6284protoExpectations.forEach(function(rpe){if(rpe.type!==ProtoExpectation.RESPONSE_TYPE){return;}
6285if(!ape.containsTimestampInclusive(rpe.end)){return;}
6286if(ape.containsTimestampInclusive(rpe.start)){return;}
6287ape.start=rpe.end;});});return protoExpectations;}
6288function fixTapResponseTouchAnimations(protoExpectations){function isTapResponse(pe){return(pe.type===ProtoExpectation.RESPONSE_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TAP]);}
6289function isTouchAnimation(pe){return(pe.type===ProtoExpectation.ANIMATION_TYPE)&&pe.containsTypeNames([INPUT_TYPE.TOUCH_MOVE])&&!pe.containsTypeNames([INPUT_TYPE.SCROLL_UPDATE,INPUT_TYPE.PINCH_UPDATE]);}
6290const newPEs=[];while(protoExpectations.length){const pe=protoExpectations.shift();newPEs.push(pe);const peIsTapResponse=isTapResponse(pe);const peIsTouchAnimation=isTouchAnimation(pe);if(!peIsTapResponse&&!peIsTouchAnimation){continue;}
6291for(let i=0;i<protoExpectations.length;++i){const otherPE=protoExpectations[i];if(!otherPE.intersects(pe))continue;if(peIsTapResponse&&!isTouchAnimation(otherPE))continue;if(peIsTouchAnimation&&!isTapResponse(otherPE))continue;pe.type=ProtoExpectation.RESPONSE_TYPE;pe.merge(otherPE);protoExpectations.splice(i,1);--i;}}
6292return newPEs;}
6293function findFrameEventsForAnimations(modelHelper,protoExpectations){const newPEs=[];const frameEventsByPid=getSortedFrameEventsByProcess(modelHelper);for(const pe of protoExpectations){if(pe.type!==ProtoExpectation.ANIMATION_TYPE){newPEs.push(pe);continue;}
6294const frameEvents=[];for(const pid of Object.keys(modelHelper.rendererHelpers)){const range=tr.b.math.Range.fromExplicitRange(pe.start,pe.end);frameEvents.push.apply(frameEvents,range.filterArray(frameEventsByPid[pid],e=>e.start));}
6295if(frameEvents.length===0&&!(pe.initiatorType===INITIATOR_TYPE.WEBGL)){pe.type=ProtoExpectation.IGNORED_TYPE;newPEs.push(pe);continue;}
6296pe.associatedEvents.addEventSet(frameEvents);newPEs.push(pe);}
6297return newPEs;}
6298function checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations){const handledEvents=[];protoExpectations.forEach(function(protoExpectation){protoExpectation.associatedEvents.forEach(function(event){if((event.title===CSS_ANIMATION_TITLE)&&(event.subSlices.length>0)){return;}
6299if((handledEvents.indexOf(event)>=0)&&(event.title!==tr.model.helpers.IMPL_RENDERING_STATS)){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});return;}
6300handledEvents.push(event);});});sortedInputEvents.forEach(function(event){if(handledEvents.indexOf(event)<0){modelHelper.model.importWarning({type:'UserModelBuilder',message:'Please file a bug with this trace: '+`double-handled event: ${event.typeName} @ ${event.start}`,showToUser:true});}});}
6301function findInputExpectations(modelHelper){const sortedInputEvents=getSortedInputEvents(modelHelper);let protoExpectations=findProtoExpectations(modelHelper,sortedInputEvents);protoExpectations=postProcessProtoExpectations(modelHelper,protoExpectations);checkAllInputEventsHandled(modelHelper,sortedInputEvents,protoExpectations);const expectations=[];protoExpectations.forEach(function(protoExpectation){const ir=protoExpectation.createInteractionRecord(modelHelper.model);if(ir){expectations.push(ir);}});return expectations;}
6302return{findInputExpectations,compareEvents,CSS_ANIMATION_TITLE,};});'use strict';tr.exportTo('tr.model.um',function(){const LOAD_SUBTYPE_NAMES={SUCCESSFUL:'Successful',FAILED:'Failed',};const DOES_LOAD_SUBTYPE_NAME_EXIST={};for(const key in LOAD_SUBTYPE_NAMES){DOES_LOAD_SUBTYPE_NAME_EXIST[LOAD_SUBTYPE_NAMES[key]]=true;}
6303function LoadExpectation(parentModel,initiatorTitle,start,duration){if(!DOES_LOAD_SUBTYPE_NAME_EXIST[initiatorTitle]){throw new Error(initiatorTitle+' is not in LOAD_SUBTYPE_NAMES');}
6304tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);this.renderProcess=undefined;this.renderMainThread=undefined;this.routingId=undefined;this.parentRoutingId=undefined;this.loadFinishedEvent=undefined;}
6305LoadExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:LoadExpectation};tr.model.um.UserExpectation.subTypes.register(LoadExpectation,{stageTitle:'Load',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_load')});return{LOAD_SUBTYPE_NAMES,LoadExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const NAVIGATION_START='NavigationTiming navigationStart';const FIRST_CONTENTFUL_PAINT_TITLE='firstContentfulPaint';function findLoadExpectations(modelHelper){const events=[];for(const event of modelHelper.model.getDescendantEvents()){if((event.title===NAVIGATION_START)||(event.title===FIRST_CONTENTFUL_PAINT_TITLE)){events.push(event);}}
6306events.sort(tr.importer.compareEvents);const loads=[];let startEvent=undefined;for(const event of events){if(event.title===NAVIGATION_START){startEvent=event;}else if(event.title===FIRST_CONTENTFUL_PAINT_TITLE){if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,event.start-startEvent.start));startEvent=undefined;}}}
6307if(startEvent){loads.push(new tr.model.um.LoadExpectation(modelHelper.model,tr.model.um.LOAD_SUBTYPE_NAMES.SUCCESSFUL,startEvent.start,modelHelper.model.bounds.max-startEvent.start));}
6308return loads;}
6309return{findLoadExpectations,};});'use strict';tr.exportTo('tr.model.um',function(){function StartupExpectation(parentModel,start,duration){tr.model.um.UserExpectation.call(this,parentModel,'',start,duration);}
6310StartupExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:StartupExpectation};tr.model.um.UserExpectation.subTypes.register(StartupExpectation,{stageTitle:'Startup',colorId:tr.b.ColorScheme.getColorIdForReservedName('startup')});return{StartupExpectation,};});'use strict';tr.exportTo('tr.importer',function(){function getAllFrameEvents(modelHelper){const frameEvents=[];frameEvents.push.apply(frameEvents,modelHelper.browserHelper.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));for(const renderer of Object.values(modelHelper.rendererHelpers)){frameEvents.push.apply(frameEvents,renderer.getFrameEventsInRange(tr.model.helpers.IMPL_FRAMETIME_TYPE,modelHelper.model.bounds));}
6311return frameEvents.sort(tr.importer.compareEvents);}
6312function getStartupEvents(modelHelper){function isStartupSlice(slice){return slice.title==='BrowserMainLoop::CreateThreads';}
6313const events=modelHelper.browserHelper.getAllAsyncSlicesMatching(isStartupSlice);const deduper=new tr.model.EventSet();events.forEach(function(event){const sliceGroup=event.parentContainer.sliceGroup;const slice=sliceGroup&&sliceGroup.findFirstSlice();if(slice){deduper.push(slice);}});return deduper.toArray();}
6314function findStartupExpectations(modelHelper){const openingEvents=getStartupEvents(modelHelper);const closingEvents=getAllFrameEvents(modelHelper);const startups=[];openingEvents.forEach(function(openingEvent){closingEvents.forEach(function(closingEvent){if(openingEvent.closingEvent)return;if(closingEvent.openingEvent)return;if(closingEvent.start<=openingEvent.start)return;if(openingEvent.parentContainer.parent.pid!==closingEvent.parentContainer.parent.pid){return;}
6315openingEvent.closingEvent=closingEvent;closingEvent.openingEvent=openingEvent;const se=new tr.model.um.StartupExpectation(modelHelper.model,openingEvent.start,closingEvent.end-openingEvent.start);se.associatedEvents.push(openingEvent);se.associatedEvents.push(closingEvent);startups.push(se);});});return startups;}
6316return{findStartupExpectations,};});'use strict';tr.exportTo('tr.model',function(){function getAssociatedEvents(irs){const allAssociatedEvents=new tr.model.EventSet();irs.forEach(function(ir){ir.associatedEvents.forEach(function(event){if(event instanceof tr.model.FlowEvent)return;allAssociatedEvents.push(event);});});return allAssociatedEvents;}
6317function getUnassociatedEvents(model,associatedEvents){const unassociatedEvents=new tr.model.EventSet();for(const proc of model.getAllProcesses()){for(const thread of Object.values(proc.threads)){for(const event of thread.sliceGroup.getDescendantEvents()){if(!associatedEvents.contains(event)){unassociatedEvents.push(event);}}}}
6318return unassociatedEvents;}
6319function getTotalCpuDuration(events){let cpuMs=0;events.forEach(function(event){if(event.cpuSelfTime){cpuMs+=event.cpuSelfTime;}});return cpuMs;}
6320function getIRCoverageFromModel(model){const associatedEvents=getAssociatedEvents(model.userModel.expectations);if(!associatedEvents.length)return undefined;const unassociatedEvents=getUnassociatedEvents(model,associatedEvents);const associatedCpuMs=getTotalCpuDuration(associatedEvents);const unassociatedCpuMs=getTotalCpuDuration(unassociatedEvents);const totalEventCount=associatedEvents.length+unassociatedEvents.length;const totalCpuMs=associatedCpuMs+unassociatedCpuMs;let coveredEventsCpuTimeRatio=undefined;if(totalCpuMs!==0){coveredEventsCpuTimeRatio=associatedCpuMs/totalCpuMs;}
6321return{associatedEventsCount:associatedEvents.length,unassociatedEventsCount:unassociatedEvents.length,associatedEventsCpuTimeMs:associatedCpuMs,unassociatedEventsCpuTimeMs:unassociatedCpuMs,coveredEventsCountRatio:associatedEvents.length/totalEventCount,coveredEventsCpuTimeRatio};}
6322return{getIRCoverageFromModel,getAssociatedEvents,getUnassociatedEvents,};});'use strict';tr.exportTo('tr.model.um',function(){function IdleExpectation(parentModel,start,duration){const initiatorTitle='';tr.model.um.UserExpectation.call(this,parentModel,initiatorTitle,start,duration);}
6323IdleExpectation.prototype={__proto__:tr.model.um.UserExpectation.prototype,constructor:IdleExpectation};tr.model.um.UserExpectation.subTypes.register(IdleExpectation,{stageTitle:'Idle',colorId:tr.b.ColorScheme.getColorIdForReservedName('rail_idle')});return{IdleExpectation,};});'use strict';tr.exportTo('tr.importer',function(){const INSIGNIFICANT_MS=1;class UserModelBuilder{constructor(model){this.model=model;this.modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}
6324static supportsModelHelper(modelHelper){return modelHelper.browserHelper!==undefined;}
6325buildUserModel(){if(!this.modelHelper||!this.modelHelper.browserHelper)return;try{for(const ue of this.findUserExpectations()){this.model.userModel.expectations.push(ue);}
6326this.model.userModel.segments.push(...this.findSegments());}catch(error){this.model.importWarning({type:'UserModelBuilder',message:error,showToUser:true});}}
6327findSegments(){let timestamps=new Set();for(const expectation of this.model.userModel.expectations){timestamps.add(expectation.start);timestamps.add(expectation.end);}
6328timestamps=[...timestamps];timestamps.sort((x,y)=>x-y);const segments=[];for(let i=0;i<timestamps.length-1;++i){const segment=new tr.model.um.Segment(timestamps[i],timestamps[i+1]-timestamps[i]);segments.push(segment);const segmentRange=tr.b.math.Range.fromExplicitRange(segment.start,segment.end);for(const expectation of this.model.userModel.expectations){const expectationRange=tr.b.math.Range.fromExplicitRange(expectation.start,expectation.end);if(segmentRange.intersectsRangeExclusive(expectationRange)){segment.expectations.push(expectation);}}}
6329return segments;}
6330findUserExpectations(){const expectations=[];expectations.push.apply(expectations,tr.importer.findStartupExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findLoadExpectations(this.modelHelper));expectations.push.apply(expectations,tr.importer.findInputExpectations(this.modelHelper));expectations.push.apply(expectations,this.findIdleExpectations(expectations));this.collectUnassociatedEvents_(expectations);return expectations;}
6331collectUnassociatedEvents_(expectations){const vacuumUEs=[];for(const expectation of expectations){if(expectation instanceof tr.model.um.IdleExpectation||expectation instanceof tr.model.um.LoadExpectation||expectation instanceof tr.model.um.StartupExpectation){vacuumUEs.push(expectation);}}
6332if(vacuumUEs.length===0)return;const allAssociatedEvents=tr.model.getAssociatedEvents(expectations);const unassociatedEvents=tr.model.getUnassociatedEvents(this.model,allAssociatedEvents);for(const event of unassociatedEvents){if(!(event instanceof tr.model.ThreadSlice))continue;if(!event.isTopLevel)continue;for(let index=0;index<vacuumUEs.length;++index){const expectation=vacuumUEs[index];if((event.start>=expectation.start)&&(event.start<expectation.end)){expectation.associatedEvents.addEventSet(event.entireHierarchy);break;}}}}
6333findIdleExpectations(otherUEs){if(this.model.bounds.isEmpty)return;const emptyRanges=tr.b.math.findEmptyRangesBetweenRanges(tr.b.math.convertEventsToRanges(otherUEs),this.model.bounds);const expectations=[];const model=this.model;for(const range of emptyRanges){if(range.max<(range.min+INSIGNIFICANT_MS))continue;expectations.push(new tr.model.um.IdleExpectation(model,range.min,range.max-range.min));}
6334return expectations;}}
6335function createCustomizeModelLinesFromModel(model){const modelLines=[];modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {title: \'model start\', start: 0, end: 1});');const typeNames={};for(const typeName in tr.e.cc.INPUT_EVENT_TYPE_NAMES){typeNames[tr.e.cc.INPUT_EVENT_TYPE_NAMES[typeName]]=typeName;}
6336let modelEvents=new tr.model.EventSet();for(const ue of model.userModel.expectations){modelEvents.addEventSet(ue.sourceEvents);}
6337modelEvents=modelEvents.toArray();modelEvents.sort(tr.importer.compareEvents);for(const event of modelEvents){const startAndEnd='start: '+parseInt(event.start)+', '+'end: '+parseInt(event.end)+'});';if(event instanceof tr.e.cc.InputLatencyAsyncSlice){modelLines.push('      audits.addInputEvent(model, INPUT_TYPE.'+
6338typeNames[event.typeName]+',');}else if(event.title==='RenderFrameImpl::didCommitProvisionalLoad'){modelLines.push('      audits.addCommitLoadEvent(model,');}else if(event.title==='InputHandlerProxy::HandleGestureFling::started'){modelLines.push('      audits.addFlingAnimationEvent(model,');}else if(event.title===tr.model.helpers.IMPL_RENDERING_STATS){modelLines.push('      audits.addFrameEvent(model,');}else if(event.title===tr.importer.CSS_ANIMATION_TITLE){modelLines.push('      audits.addEvent(model.rendererMain, {');modelLines.push('        title: \'Animation\', '+startAndEnd);return;}else{throw new Error('You must extend createCustomizeModelLinesFromModel()'+'to support this event:\n'+event.title+'\n');}
6339modelLines.push('          {'+startAndEnd);}
6340modelLines.push('      audits.addEvent(model.browserMain,');modelLines.push('          {'+'title: \'model end\', '+'start: '+(parseInt(model.bounds.max)-1)+', '+'end: '+parseInt(model.bounds.max)+'});');return modelLines;}
6341function createExpectedUELinesFromModel(model){const expectedLines=[];const ueCount=model.userModel.expectations.length;for(let index=0;index<ueCount;++index){const expectation=model.userModel.expectations[index];let ueString='      {';ueString+='title: \''+expectation.title+'\', ';ueString+='start: '+parseInt(expectation.start)+', ';ueString+='end: '+parseInt(expectation.end)+', ';ueString+='eventCount: '+expectation.sourceEvents.length;ueString+='}';if(index<(ueCount-1))ueString+=',';expectedLines.push(ueString);}
6342return expectedLines;}
6343function createUEFinderTestCaseStringFromModel(model){const filename=window.location.hash.substr(1);let testName=filename.substr(filename.lastIndexOf('/')+1);testName=testName.substr(0,testName.indexOf('.'));try{const testLines=[];testLines.push('  /*');testLines.push('    This test was generated from');testLines.push('    '+filename+'');testLines.push('   */');testLines.push('  test(\''+testName+'\', function() {');testLines.push('    const verifier = new UserExpectationVerifier();');testLines.push('    verifier.customizeModelCallback = function(model) {');testLines.push.apply(testLines,createCustomizeModelLinesFromModel(model));testLines.push('    };');testLines.push('    verifier.expectedUEs = [');testLines.push.apply(testLines,createExpectedUELinesFromModel(model));testLines.push('    ];');testLines.push('    verifier.verify();');testLines.push('  });');return testLines.join('\n');}catch(error){return error;}}
6344return{UserModelBuilder,createUEFinderTestCaseStringFromModel,};});'use strict';tr.exportTo('tr.ui.b',function(){function decorate(source,constr){let elements;if(typeof source==='string'){elements=Polymer.dom(tr.doc).querySelectorAll(source);}else{elements=[source];}
6345for(let i=0,el;el=elements[i];i++){if(!(el instanceof constr)){constr.decorate(el);}}}
6346function define(className,opt_parentConstructor,opt_tagNS){if(typeof className==='function'){throw new Error('Passing functions as className is deprecated. Please '+'use (className, opt_parentConstructor) to subclass');}
6347className=className.toLowerCase();if(opt_parentConstructor&&!opt_parentConstructor.tagName){throw new Error('opt_parentConstructor was not '+'created by tr.ui.b.define');}
6348let tagName=className;let tagNS=undefined;if(opt_parentConstructor){if(opt_tagNS){throw new Error('Must not specify tagNS if parentConstructor is given');}
6349let parent=opt_parentConstructor;while(parent&&parent.tagName){tagName=parent.tagName;tagNS=parent.tagNS;parent=parent.parentConstructor;}}else{tagNS=opt_tagNS;}
6350function f(){if(opt_parentConstructor&&f.prototype.__proto__!==opt_parentConstructor.prototype){throw new Error(className+' prototye\'s __proto__ field is messed up. '+'It MUST be the prototype of '+opt_parentConstructor.tagName);}
6351let el;if(tagNS===undefined){el=tr.doc.createElement(tagName);}else{el=tr.doc.createElementNS(tagNS,tagName);}
6352f.decorate.call(this,el,arguments);return el;}
6353f.decorate=function(el){el.__proto__=f.prototype;el.decorate.apply(el,arguments[1]);el.constructor=f;};f.className=className;f.tagName=tagName;f.tagNS=tagNS;f.parentConstructor=(opt_parentConstructor?opt_parentConstructor:undefined);f.toString=function(){if(!f.parentConstructor){return f.tagName;}
6354return f.parentConstructor.toString()+'::'+f.className;};return f;}
6355function elementIsChildOf(el,potentialParent){if(el===potentialParent)return false;let cur=el;while(Polymer.dom(cur).parentNode){if(cur===potentialParent)return true;cur=Polymer.dom(cur).parentNode;}
6356return false;}
6357return{decorate,define,elementIsChildOf,};});'use strict';tr.exportTo('tr.b.math',function(){function Rect(){this.x=0;this.y=0;this.width=0;this.height=0;}
6358Rect.fromXYWH=function(x,y,w,h){const rect=new Rect();rect.x=x;rect.y=y;rect.width=w;rect.height=h;return rect;};Rect.fromArray=function(ary){if(ary.length!==4){throw new Error('ary.length must be 4');}
6359const rect=new Rect();rect.x=ary[0];rect.y=ary[1];rect.width=ary[2];rect.height=ary[3];return rect;};Rect.prototype={__proto__:Object.prototype,get left(){return this.x;},get top(){return this.y;},get right(){return this.x+this.width;},get bottom(){return this.y+this.height;},toString(){return'Rect('+this.x+', '+this.y+', '+
6360this.width+', '+this.height+')';},toArray(){return[this.x,this.y,this.width,this.height];},clone(){const rect=new Rect();rect.x=this.x;rect.y=this.y;rect.width=this.width;rect.height=this.height;return rect;},enlarge(pad){const rect=new Rect();this.enlargeFast(rect,pad);return rect;},enlargeFast(out,pad){out.x=this.x-pad;out.y=this.y-pad;out.width=this.width+2*pad;out.height=this.height+2*pad;return out;},size(){return{width:this.width,height:this.height};},scale(s){const rect=new Rect();this.scaleFast(rect,s);return rect;},scaleSize(s){return Rect.fromXYWH(this.x,this.y,this.width*s,this.height*s);},scaleFast(out,s){out.x=this.x*s;out.y=this.y*s;out.width=this.width*s;out.height=this.height*s;return out;},translate(v){const rect=new Rect();this.translateFast(rect,v);return rect;},translateFast(out,v){out.x=this.x+v[0];out.y=this.x+v[1];out.width=this.width;out.height=this.height;return out;},asUVRectInside(containingRect){const rect=new Rect();rect.x=(this.x-containingRect.x)/containingRect.width;rect.y=(this.y-containingRect.y)/containingRect.height;rect.width=this.width/containingRect.width;rect.height=this.height/containingRect.height;return rect;},intersects(that){let ok=true;ok&=this.x<that.right;ok&=this.right>that.x;ok&=this.y<that.bottom;ok&=this.bottom>that.y;return ok;},equalTo(rect){return rect&&(this.x===rect.x)&&(this.y===rect.y)&&(this.width===rect.width)&&(this.height===rect.height);}};return{Rect,};});'use strict';tr.exportTo('tr.ui.b',function(){function instantiateTemplate(selector,doc){doc=doc||document;const el=Polymer.dom(doc).querySelector(selector);if(!el){throw new Error('Element not found');}
6361return doc.importNode(el.content,true);}
6362function windowRectForElement(element){const position=[element.offsetLeft,element.offsetTop];const size=[element.offsetWidth,element.offsetHeight];let node=element.offsetParent;while(node){position[0]+=node.offsetLeft;position[1]+=node.offsetTop;node=node.offsetParent;}
6363return tr.b.math.Rect.fromXYWH(position[0],position[1],size[0],size[1]);}
6364function scrollIntoViewIfNeeded(el){const pr=el.parentElement.getBoundingClientRect();const cr=el.getBoundingClientRect();if(cr.top<pr.top){el.scrollIntoView(true);}else if(cr.bottom>pr.bottom){el.scrollIntoView(false);}}
6365function extractUrlString(url){let extracted=url.replace(/url\((.*)\)/,'$1');extracted=extracted.replace(/\"(.*)\"/,'$1');return extracted;}
6366function toThreeDigitLocaleString(value){return value.toLocaleString(undefined,{minimumFractionDigits:3,maximumFractionDigits:3});}
6367function isUnknownElementName(name){return document.createElement(name)instanceof HTMLUnknownElement;}
6368return{isUnknownElementName,toThreeDigitLocaleString,instantiateTemplate,windowRectForElement,scrollIntoViewIfNeeded,extractUrlString,};});'use strict';tr.exportTo('tr.ui.b',function(){if(tr.isHeadless)return{};const THIS_DOC=document.currentScript.ownerDocument;const Overlay=tr.ui.b.define('overlay');Overlay.prototype={__proto__:HTMLDivElement.prototype,decorate(){Polymer.dom(this).classList.add('overlay');this.parentEl_=this.ownerDocument.body;this.visible_=false;this.userCanClose_=true;this.onKeyDown_=this.onKeyDown_.bind(this);this.onClick_=this.onClick_.bind(this);this.onFocusIn_=this.onFocusIn_.bind(this);this.onDocumentClick_=this.onDocumentClick_.bind(this);this.onClose_=this.onClose_.bind(this);this.addEventListener('visible-change',tr.ui.b.Overlay.prototype.onVisibleChange_.bind(this),true);const createShadowRoot=this.createShadowRoot||this.webkitCreateShadowRoot;this.shadow_=createShadowRoot.call(this);Polymer.dom(this.shadow_).appendChild(tr.ui.b.instantiateTemplate('#overlay-template',THIS_DOC));this.closeBtn_=Polymer.dom(this.shadow_).querySelector('close-button');this.closeBtn_.addEventListener('click',this.onClose_);Polymer.dom(this.shadow_).querySelector('overlay-frame').addEventListener('click',this.onClick_);this.observer_=new WebKitMutationObserver(this.didButtonBarMutate_.bind(this));this.observer_.observe(Polymer.dom(this.shadow_).querySelector('button-bar'),{childList:true});Object.defineProperty(this,'title',{get(){return Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent;},set(title){Polymer.dom(Polymer.dom(this.shadow_).querySelector('title')).textContent=title;}});},set userCanClose(userCanClose){this.userCanClose_=userCanClose;this.closeBtn_.style.display=userCanClose?'block':'none';},get buttons(){return Polymer.dom(this.shadow_).querySelector('button-bar');},get visible(){return this.visible_;},set visible(newValue){if(this.visible_===newValue)return;this.visible_=newValue;const e=new tr.b.Event('visible-change');this.dispatchEvent(e);},onVisibleChange_(){this.visible_?this.show_():this.hide_();},show_(){Polymer.dom(this.parentEl_).appendChild(this);if(this.userCanClose_){this.addEventListener('keydown',this.onKeyDown_.bind(this));this.addEventListener('click',this.onDocumentClick_.bind(this));this.closeBtn_.addEventListener('click',this.onClose_);}
6369this.parentEl_.addEventListener('focusin',this.onFocusIn_);this.tabIndex=0;const elList=Polymer.dom(this).querySelectorAll('button, input, list, select, a');if(elList.length>0){if(elList[0]===this.closeBtn_){if(elList.length>1)return elList[1].focus();}else{return elList[0].focus();}}
6370this.focus();},hide_(){Polymer.dom(this.parentEl_).removeChild(this);this.parentEl_.removeEventListener('focusin',this.onFocusIn_);if(this.closeBtn_){this.closeBtn_.removeEventListener('click',this.onClose_);}
6371document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('click',this.onDocumentClick_);},onClose_(e){this.visible=false;if((e.type!=='keydown')||(e.type==='keydown'&&e.keyCode===27)){e.stopPropagation();}
6372e.preventDefault();tr.b.dispatchSimpleEvent(this,'closeclick');},onFocusIn_(e){if(e.target===this)return;tr.b.timeout(0).then(()=>this.focus());e.preventDefault();e.stopPropagation();},didButtonBarMutate_(e){const hasButtons=this.buttons.children.length>0;if(hasButtons){Polymer.dom(this.shadow_).querySelector('button-bar').style.display=undefined;}else{Polymer.dom(this.shadow_).querySelector('button-bar').style.display='none';}},onKeyDown_(e){if(e.keyCode===9&&e.shiftKey&&e.target===this){e.preventDefault();return;}
6373if(e.keyCode!==27)return;this.onClose_(e);},onClick_(e){e.stopPropagation();},onDocumentClick_(e){if(!this.userCanClose_)return;this.onClose_(e);}};Overlay.showError=function(msg,opt_err){const o=new Overlay();o.title='Error';Polymer.dom(o).textContent=msg;if(opt_err){const e=tr.b.normalizeException(opt_err);const stackDiv=document.createElement('pre');Polymer.dom(stackDiv).textContent=e.stack;stackDiv.style.paddingLeft='8px';stackDiv.style.margin=0;Polymer.dom(o).appendChild(stackDiv);}
6374const b=document.createElement('button');Polymer.dom(b).textContent='OK';b.addEventListener('click',function(){o.visible=false;});Polymer.dom(o.buttons).appendChild(b);o.visible=true;return o;};return{Overlay,};});'use strict';tr.exportTo('tr.importer',function(){const Timing=tr.b.Timing;function ImportOptions(){this.shiftWorldToZero=true;this.pruneEmptyContainers=true;this.showImportWarnings=true;this.trackDetailedModelStats=false;this.customizeModelCallback=undefined;const auditorTypes=tr.c.Auditor.getAllRegisteredTypeInfos();this.auditorConstructors=auditorTypes.map(function(typeInfo){return typeInfo.constructor;});}
6375function Import(model,opt_options){if(model===undefined){throw new Error('Must provide model to import into.');}
6376this.importing_=false;this.importOptions_=opt_options||new ImportOptions();this.model_=model;this.model_.importOptions=this.importOptions_;}
6377Import.prototype={__proto__:Object.prototype,importTraces(traces){const progressMeter={update(msg){}};tr.b.Task.RunSynchronously(this.createImportTracesTask(progressMeter,traces));},importTracesWithProgressDialog(traces){if(tr.isHeadless){throw new Error('Cannot use this method in headless mode.');}
6378const overlay=tr.ui.b.Overlay();overlay.title='Importing...';overlay.userCanClose=false;overlay.msgEl=document.createElement('div');Polymer.dom(overlay).appendChild(overlay.msgEl);overlay.msgEl.style.margin='20px';overlay.update=function(msg){Polymer.dom(this.msgEl).textContent=msg;};overlay.visible=true;const promise=tr.b.Task.RunWhenIdle(this.createImportTracesTask(overlay,traces));promise.then(function(){overlay.visible=false;},function(err){overlay.visible=false;});return promise;},createImportTracesTask(progressMeter,traces){const importStartTimeMs=performance.now();if(this.importing_){throw new Error('Already importing.');}
6379this.importing_=true;const importTask=new tr.b.Task(function prepareImport(){progressMeter.update('I will now import your traces for you...');},this);let lastTask=importTask;const importers=[];function addImportStage(title,callback){lastTask=lastTask.after(()=>progressMeter.update(title));lastTask.updatesUi=true;lastTask=lastTask.after(callback);}
6380function addStageForEachImporter(title,callback){lastTask=lastTask.after((task)=>{importers.forEach((importer,index)=>{const uiSubTask=task.subTask(()=>{progressMeter.update(`${title} ${index + 1} of ${importers.length}`);});uiSubTask.updatesUi=true;task.subTask(()=>callback(importer));});});}
6381addImportStage('Creating importers...',()=>{traces=traces.slice(0);progressMeter.update('Creating importers...');for(let i=0;i<traces.length;++i){importers.push(this.createImporter_(traces[i]));}
6382for(let i=0;i<importers.length;i++){const subtraces=importers[i].extractSubtraces();for(let j=0;j<subtraces.length;j++){try{traces.push(subtraces[j]);importers.push(this.createImporter_(subtraces[j]));}catch(error){this.model_.importWarning({type:error.name,message:error.message,showToUser:true,});continue;}}}
6383if(traces.length&&!this.hasEventDataDecoder_(importers)){throw new Error('Could not find an importer for the provided eventData.');}
6384importers.sort(function(x,y){return x.importPriority-y.importPriority;});});addStageForEachImporter('Importing clock sync markers',importer=>importer.importClockSyncMarkers());addStageForEachImporter('Importing',importer=>importer.importEvents());if(this.importOptions_.customizeModelCallback){addImportStage('Customizing',()=>{this.importOptions_.customizeModelCallback(this.model_);});}
6385addStageForEachImporter('Importing sample data',importer=>importer.importSampleData());addImportStage('Autoclosing open slices...',()=>{this.model_.autoCloseOpenSlices();this.model_.createSubSlices();});addStageForEachImporter('Finalizing import',importer=>importer.finalizeImport());addImportStage('Initializing objects (step 1/2)...',()=>this.model_.preInitializeObjects());if(this.importOptions_.pruneEmptyContainers){addImportStage('Pruning empty containers...',()=>this.model_.pruneEmptyContainers());}
6386addImportStage('Merging kernel with userland...',()=>this.model_.mergeKernelWithUserland());let auditors=[];addImportStage('Adding arbitrary data to model...',()=>{auditors=this.importOptions_.auditorConstructors.map(auditorConstructor=>new auditorConstructor(this.model_));auditors.forEach((auditor)=>{auditor.runAnnotate();auditor.installUserFriendlyCategoryDriverIfNeeded();});});addImportStage('Computing final world bounds...',()=>{this.model_.computeWorldBounds(this.importOptions_.shiftWorldToZero);});addImportStage('Building flow event map...',()=>this.model_.buildFlowEventIntervalTree());addImportStage('Joining object refs...',()=>this.model_.joinRefs());addImportStage('Cleaning up undeleted objects...',()=>this.model_.cleanupUndeletedObjects());addImportStage('Sorting memory dumps...',()=>this.model_.sortMemoryDumps());addImportStage('Finalizing memory dump graphs...',()=>this.model_.finalizeMemoryGraphs());addImportStage('Initializing objects (step 2/2)...',()=>this.model_.initializeObjects());addImportStage('Building event indices...',()=>this.model_.buildEventIndices());addImportStage('Building UserModel...',()=>{const userModelBuilder=new tr.importer.UserModelBuilder(this.model_);userModelBuilder.buildUserModel();});addImportStage('Sorting user expectations...',()=>this.model_.userModel.sortExpectations());addImportStage('Running auditors...',()=>{auditors.forEach(auditor=>auditor.runAudit());});addImportStage('Updating alerts...',()=>this.model_.sortAlerts());addImportStage('Update bounds...',()=>this.model_.updateBounds());addImportStage('Looking for warnings...',()=>{if(!this.model_.isTimeHighResolution){this.model_.importWarning({type:'low_resolution_timer',message:'Trace time is low resolution, trace may be unusable.',showToUser:true});}});lastTask.after(()=>{this.importing_=false;this.model_.stats.traceImportDurationMs=performance.now()-importStartTimeMs;});return importTask;},createImporter_(eventData){const importerConstructor=tr.importer.Importer.findImporterFor(eventData);if(!importerConstructor){throw new Error('Couldn\'t create an importer for the provided '+'eventData.');}
6387return new importerConstructor(this.model_,eventData);},hasEventDataDecoder_(importers){for(let i=0;i<importers.length;++i){if(!importers[i].isTraceDataContainer())return true;}
6388return false;}};return{ImportOptions,Import,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8GCStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.liveObjects_=JSON.parse(this.args.live);delete this.args.live;this.deadObjects_=JSON.parse(this.args.dead);delete this.args.dead;}
6389V8GCStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get liveObjects(){return this.liveObjects_;},get deadObjects(){return this.deadObjects_;}};ThreadSlice.subTypes.register(V8GCStatsThreadSlice,{categoryParts:['disabled-by-default-v8.gc_stats'],name:'v8 gc stats slice',pluralName:'v8 gc stats slices'});return{V8GCStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ICStatsThreadSlice(){ThreadSlice.apply(this,arguments);this.icStats_=undefined;if(this.args['ic-stats']){this.icStats_=this.args['ic-stats'].data;delete this.args['ic-stats'];}}
6390V8ICStatsThreadSlice.prototype={__proto__:ThreadSlice.prototype,get icStats(){return this.icStats_;}};ThreadSlice.subTypes.register(V8ICStatsThreadSlice,{categoryParts:['disabled-by-default-v8.ic_stats'],name:'v8 ic stats slice',pluralName:'v8 ic stats slices'});return{V8ICStatsThreadSlice,};});'use strict';tr.exportTo('tr.e.v8',function(){const ThreadSlice=tr.model.ThreadSlice;function V8ThreadSlice(){ThreadSlice.apply(this,arguments);this.runtimeCallStats_=undefined;}
6391V8ThreadSlice.prototype={__proto__:ThreadSlice.prototype,get runtimeCallStats(){if('runtime-call-stats'in this.args){this.runtimeCallStats_=this.args['runtime-call-stats'];delete this.args['runtime-call-stats'];}
6392return this.runtimeCallStats_;}};ThreadSlice.subTypes.register(V8ThreadSlice,{categoryParts:['v8','disabled-by-default-v8.runtime_stats'],name:'v8 slice',pluralName:'v8 slices'});return{V8ThreadSlice,};});'use strict';tr.exportTo('tr.e.cc',function(){function PictureAsImageData(picture,errorOrImageData){this.picture_=picture;if(errorOrImageData instanceof ImageData){this.error_=undefined;this.imageData_=errorOrImageData;}else{this.error_=errorOrImageData;this.imageData_=undefined;}}
6393PictureAsImageData.Pending=function(picture){return new PictureAsImageData(picture,undefined);};PictureAsImageData.prototype={get picture(){return this.picture_;},get error(){return this.error_;},get imageData(){return this.imageData_;},isPending(){return this.error_===undefined&&this.imageData_===undefined;},asCanvas(){if(!this.imageData_)return;const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.imageData_.width;canvas.height=this.imageData_.height;ctx.putImageData(this.imageData_,0,0);return canvas;}};return{PictureAsImageData,};});'use strict';tr.exportTo('tr.e.cc',function(){const convertedNameCache={};function convertNameToJSConvention(name){if(name in convertedNameCache){return convertedNameCache[name];}
6394if(name[0]==='_'||name[name.length-1]==='_'){convertedNameCache[name]=name;return name;}
6395const words=name.split('_');if(words.length===1){convertedNameCache[name]=words[0];return words[0];}
6396for(let i=1;i<words.length;i++){words[i]=words[i][0].toUpperCase()+words[i].substring(1);}
6397convertedNameCache[name]=words.join('');return convertedNameCache[name];}
6398function convertObjectFieldNamesToJSConventions(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){delete object[fieldName];object[newFieldName]=fieldValue;return newFieldName;});}
6399function convertQuadSuffixedTypesToQuads(object){tr.b.iterObjectFieldsRecursively(object,function(object,fieldName,fieldValue){});}
6400function convertObject(object){convertObjectFieldNamesToJSConventions(object);convertQuadSuffixedTypesToQuads(object);}
6401function moveRequiredFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined){throw Error('Expected field '+key+' not found in args');}
6402if(object[key]!==undefined){throw Error('Field '+key+' already in object');}
6403object[key]=object.args[key];delete object.args[key];}}
6404function moveOptionalFieldsFromArgsToToplevel(object,fields){for(let i=0;i<fields.length;i++){const key=fields[i];if(object.args[key]===undefined)continue;if(object[key]!==undefined){throw Error('Field '+key+' already in object');}
6405object[key]=object.args[key];delete object.args[key];}}
6406function preInitializeObject(object){preInitializeObjectInner(object.args,false);}
6407function preInitializeObjectInner(object,hasRecursed){if(!(object instanceof Object))return;if(object instanceof Array){for(let i=0;i<object.length;i++){preInitializeObjectInner(object[i],true);}
6408return;}
6409if(hasRecursed&&(object instanceof tr.model.ObjectSnapshot||object instanceof tr.model.ObjectInstance)){return;}
6410for(let key in object){const newKey=convertNameToJSConvention(key);if(newKey!==key){const value=object[key];delete object[key];object[newKey]=value;key=newKey;}
6411if(/Quad$/.test(key)&&!(object[key]instanceof tr.b.math.Quad)){let q;try{q=tr.b.math.Quad.from8Array(object[key]);}catch(e){}
6412object[key]=q;continue;}
6413if(/Rect$/.test(key)&&!(object[key]instanceof tr.b.math.Rect)){let r;try{r=tr.b.math.Rect.fromArray(object[key]);}catch(e){}
6414object[key]=r;}
6415preInitializeObjectInner(object[key],true);}}
6416return{preInitializeObject,convertNameToJSConvention,moveRequiredFieldsFromArgsToToplevel,moveOptionalFieldsFromArgsToToplevel,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;const PictureCount=0;const OPS_TIMING_ITERATIONS=3;function Picture(skp64,layerRect){this.skp64_=skp64;this.layerRect_=layerRect;this.guid_=tr.b.GUID.allocateSimple();}
6417Picture.prototype={get canSave(){return true;},get layerRect(){return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){return this.skp64_;},getOps(){if(!PictureSnapshot.CanGetOps()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;}
6418const ops=window.chrome.skiaBenchmarking.getOps({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!ops){console.error('Failed to get picture ops.');}
6419return ops;},getOpTimings(){if(!PictureSnapshot.CanGetOpTimings()){console.error(PictureSnapshot.HowToEnablePictureDebugging());return undefined;}
6420const opTimings=window.chrome.skiaBenchmarking.getOpTimings({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}});if(!opTimings){console.error('Failed to get picture op timings.');}
6421return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}
6422if(opTimings[iteration].cmd_times.length!==ops.length){return ops;}}
6423for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);}
6424ops[opIndex].cmd_time=min;}
6425return ops;},rasterize(params,rasterCompleteCallback){if(!PictureSnapshot.CanRasterize()||!PictureSnapshot.CanGetOps()){rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,tr.e.cc.PictureSnapshot.HowToEnablePictureDebugging()));return;}
6426const raster=window.chrome.skiaBenchmarking.rasterize({skp64:this.skp64_,params:{layer_rect:this.layerRect_.toArray()}},{stop:params.stopIndex===undefined?-1:params.stopIndex,overdraw:!!params.showOverdraw,params:{}});if(raster){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=raster.width;canvas.height=raster.height;const imageData=ctx.createImageData(raster.width,raster.height);imageData.data.set(new Uint8ClampedArray(raster.data));rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,imageData));}else{const error='Failed to rasterize picture. '+'Your recording may be from an old Chrome version. '+'The SkPicture format is not backward compatible.';rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,error));}}};function LayeredPicture(pictures){this.guid_=tr.b.GUID.allocateSimple();this.pictures_=pictures;this.layerRect_=undefined;}
6427LayeredPicture.prototype={__proto__:Picture.prototype,get canSave(){return false;},get typeName(){return'cc::LayeredPicture';},get layerRect(){if(this.layerRect_!==undefined){return this.layerRect_;}
6428this.layerRect_={x:0,y:0,width:0,height:0};for(let i=0;i<this.pictures_.length;++i){const rect=this.pictures_[i].layerRect;this.layerRect_.x=Math.min(this.layerRect_.x,rect.x);this.layerRect_.y=Math.min(this.layerRect_.y,rect.y);this.layerRect_.width=Math.max(this.layerRect_.width,rect.x+rect.width);this.layerRect_.height=Math.max(this.layerRect_.height,rect.y+rect.height);}
6429return this.layerRect_;},get guid(){return this.guid_;},getBase64SkpData(){throw new Error('Not available with a LayeredPicture.');},getOps(){let ops=[];for(let i=0;i<this.pictures_.length;++i){ops=ops.concat(this.pictures_[i].getOps());}
6430return ops;},getOpTimings(){const opTimings=this.pictures_[0].getOpTimings();for(let i=1;i<this.pictures_.length;++i){const timings=this.pictures_[i].getOpTimings();opTimings.cmd_times=opTimings.cmd_times.concat(timings.cmd_times);opTimings.total_time+=timings.total_time;}
6431return opTimings;},tagOpsWithTimings(ops){const opTimings=[];for(let iteration=0;iteration<OPS_TIMING_ITERATIONS;iteration++){opTimings[iteration]=this.getOpTimings();if(!opTimings[iteration]||!opTimings[iteration].cmd_times){return ops;}}
6432for(let opIndex=0;opIndex<ops.length;opIndex++){let min=Number.MAX_VALUE;for(let i=0;i<OPS_TIMING_ITERATIONS;i++){min=Math.min(min,opTimings[i].cmd_times[opIndex]);}
6433ops[opIndex].cmd_time=min;}
6434return ops;},rasterize(params,rasterCompleteCallback){this.picturesAsImageData_=[];const rasterCallback=function(pictureAsImageData){this.picturesAsImageData_.push(pictureAsImageData);if(this.picturesAsImageData_.length!==this.pictures_.length){return;}
6435const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=this.layerRect.width;canvas.height=this.layerRect.height;for(let i=0;i<this.picturesAsImageData_.length;++i){ctx.putImageData(this.picturesAsImageData_[i].imageData,this.pictures_[i].layerRect.x,this.pictures_[i].layerRect.y);}
6436this.picturesAsImageData_=[];rasterCompleteCallback(new tr.e.cc.PictureAsImageData(this,ctx.getImageData(this.layerRect.x,this.layerRect.y,this.layerRect.width,this.layerRect.height)));}.bind(this);for(let i=0;i<this.pictures_.length;++i){this.pictures_[i].rasterize(params,rasterCallback);}}};function PictureSnapshot(){ObjectSnapshot.apply(this,arguments);}
6437PictureSnapshot.HasSkiaBenchmarking=function(){return tr.isExported('chrome.skiaBenchmarking');};PictureSnapshot.CanRasterize=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6438if(!window.chrome.skiaBenchmarking.rasterize){return false;}
6439return true;};PictureSnapshot.CanGetOps=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6440if(!window.chrome.skiaBenchmarking.getOps){return false;}
6441return true;};PictureSnapshot.CanGetOpTimings=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6442if(!window.chrome.skiaBenchmarking.getOpTimings){return false;}
6443return true;};PictureSnapshot.CanGetInfo=function(){if(!PictureSnapshot.HasSkiaBenchmarking()){return false;}
6444if(!window.chrome.skiaBenchmarking.getInfo){return false;}
6445return true;};PictureSnapshot.HowToEnablePictureDebugging=function(){if(tr.isHeadless){return'Pictures only work in chrome';}
6446const usualReason=['For pictures to show up, you need to have Chrome running with ','--enable-skia-benchmarking. Please restart chrome with this flag ','and try again.'].join('');if(!tr.isExported('global.chrome.skiaBenchmarking')){return usualReason;}
6447if(!global.chrome.skiaBenchmarking.rasterize){return'Your chrome is old';}
6448if(!global.chrome.skiaBenchmarking.getOps){return'Your chrome is old: skiaBenchmarking.getOps not found';}
6449if(!global.chrome.skiaBenchmarking.getOpTimings){return'Your chrome is old: skiaBenchmarking.getOpTimings not found';}
6450if(!global.chrome.skiaBenchmarking.getInfo){return'Your chrome is old: skiaBenchmarking.getInfo not found';}
6451return'Rasterizing is on';};PictureSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.rasterResult_=undefined;},initialize(){if(this.args.alias){this.args=this.args.alias.args;}
6452if(!this.args.params.layerRect){throw new Error('Missing layer rect');}
6453this.layerRect_=this.args.params.layerRect;this.picture_=new Picture(this.args.skp64,this.args.params.layerRect);},set picture(picture){this.picture_=picture;},get canSave(){return this.picture_.canSave;},get layerRect(){return this.layerRect_?this.layerRect_:this.picture_.layerRect;},get guid(){return this.picture_.guid;},getBase64SkpData(){return this.picture_.getBase64SkpData();},getOps(){return this.picture_.getOps();},getOpTimings(){return this.picture_.getOpTimings();},tagOpsWithTimings(ops){return this.picture_.tagOpsWithTimings(ops);},rasterize(params,rasterCompleteCallback){this.picture_.rasterize(params,rasterCompleteCallback);}};ObjectSnapshot.subTypes.register(PictureSnapshot,{typeNames:['cc::Picture']});return{PictureSnapshot,Picture,LayeredPicture,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function DisplayItemList(skp64,layerRect){tr.e.cc.Picture.apply(this,arguments);}
6454DisplayItemList.prototype={__proto__:tr.e.cc.Picture.prototype};function DisplayItemListSnapshot(){tr.e.cc.PictureSnapshot.apply(this,arguments);}
6455DisplayItemListSnapshot.prototype={__proto__:tr.e.cc.PictureSnapshot.prototype,initialize(){tr.e.cc.PictureSnapshot.prototype.initialize.call(this);this.displayItems_=this.args.params.items;},get items(){return this.displayItems_;}};ObjectSnapshot.subTypes.register(DisplayItemListSnapshot,{typeNames:['cc::DisplayItemList']});return{DisplayItemListSnapshot,DisplayItemList,};});'use strict';tr.exportTo('tr.b.math',function(){function BBox2(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;}
6456BBox2.prototype={__proto__:Object.prototype,reset(){this.isEmpty_=true;this.min_=undefined;this.max_=undefined;},get isEmpty(){return this.isEmpty_;},addBBox2(bbox2){if(bbox2.isEmpty)return;this.addVec2(bbox2.min_);this.addVec2(bbox2.max_);},clone(){const bbox=new BBox2();bbox.addBBox2(this);return bbox;},addXY(x,y){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,x,y);vec2.set(this.min_,x,y);this.isEmpty_=false;return;}
6457this.max_[0]=Math.max(this.max_[0],x);this.max_[1]=Math.max(this.max_[1],y);this.min_[0]=Math.min(this.min_[0],x);this.min_[1]=Math.min(this.min_[1],y);},addVec2(value){if(this.isEmpty_){this.max_=vec2.create();this.min_=vec2.create();vec2.set(this.max_,value[0],value[1]);vec2.set(this.min_,value[0],value[1]);this.isEmpty_=false;return;}
6458this.max_[0]=Math.max(this.max_[0],value[0]);this.max_[1]=Math.max(this.max_[1],value[1]);this.min_[0]=Math.min(this.min_[0],value[0]);this.min_[1]=Math.min(this.min_[1],value[1]);},addQuad(quad){this.addVec2(quad.p1);this.addVec2(quad.p2);this.addVec2(quad.p3);this.addVec2(quad.p4);},get minVec2(){if(this.isEmpty_)return undefined;return this.min_;},get maxVec2(){if(this.isEmpty_)return undefined;return this.max_;},get sizeAsVec2(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');}
6459const size=vec2.create();vec2.subtract(size,this.max_,this.min_);return size;},get size(){if(this.isEmpty_){throw new Error('Empty BBox2 has no size');}
6460return{width:this.max_[0]-this.min_[0],height:this.max_[1]-this.min_[1]};},get width(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');}
6461return this.max_[0]-this.min_[0];},get height(){if(this.isEmpty_){throw new Error('Empty BBox2 has no width');}
6462return this.max_[1]-this.min_[1];},toString(){if(this.isEmpty_)return'empty';return'min=('+this.min_[0]+','+this.min_[1]+') '+'max=('+this.max_[0]+','+this.max_[1]+')';},asRect(){return tr.b.math.Rect.fromXYWH(this.min_[0],this.min_[1],this.max_[0]-this.min_[0],this.max_[1]-this.min_[1]);}};return{BBox2,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants={};constants.ACTIVE_TREE=0;constants.PENDING_TREE=1;constants.HIGH_PRIORITY_BIN=0;constants.LOW_PRIORITY_BIN=1;constants.SEND_BEGIN_FRAME_EVENT='ThreadProxy::ScheduledActionSendBeginMainFrame';constants.BEGIN_MAIN_FRAME_EVENT='ThreadProxy::BeginMainFrame';return{constants};});'use strict';tr.exportTo('tr.e.cc',function(){function Region(){this.rects=[];}
6463Region.fromArray=function(array){if(array.length%4!==0){throw new Error('Array must consist be a multiple of 4 in length');}
6464const r=new Region();for(let i=0;i<array.length;i+=4){r.rects.push(tr.b.math.Rect.fromXYWH(array[i],array[i+1],array[i+2],array[i+3]));}
6465return r;};Region.fromArrayOrUndefined=function(array){if(array===undefined)return new Region();return Region.fromArray(array);};Region.prototype={__proto__:Region.prototype,rectIntersects(r){for(let i=0;i<this.rects.length;i++){if(this.rects[i].intersects(r))return true;}
6466return false;},addRect(r){this.rects.push(r);}};return{Region,};});'use strict';tr.exportTo('tr.e.cc',function(){function TileCoverageRect(rect,tile){this.geometryRect=rect;this.tile=tile;}
6467return{TileCoverageRect,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6468LayerImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeImpl_=undefined;this.parentLayer=undefined;},initialize(){this.invalidation=new tr.e.cc.Region();this.annotatedInvalidation=new tr.e.cc.Region();this.unrecordedRegion=new tr.e.cc.Region();this.pictures=[];tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['layerId','layerQuad']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['children','maskLayer','replicaLayer','idealContentsScale','geometryContentsScale','layoutRects','usingGpuRasterization']);this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;this.bounds=tr.b.math.Rect.fromXYWH(0,0,this.args.bounds.width,this.args.bounds.height);if(this.args.animationBounds){this.animationBoundsRect=tr.b.math.Rect.fromXYWH(this.args.animationBounds[0],this.args.animationBounds[1],this.args.animationBounds[3],this.args.animationBounds[4]);}
6469if(this.children){for(let i=0;i<this.children.length;i++){this.children[i].parentLayer=this;}}
6470if(this.maskLayer){this.maskLayer.parentLayer=this;}
6471if(this.replicaLayer){this.replicaLayer.parentLayer=this;}
6472if(!this.geometryContentsScale){this.geometryContentsScale=1.0;}
6473if(!this.idealContentsScale){this.idealContentsScale=1.0;}
6474this.touchEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.touchEventHandlerRegion);this.wheelEventHandlerRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.wheelEventHandlerRegion);this.nonFastScrollableRegion=tr.e.cc.Region.fromArrayOrUndefined(this.args.nonFastScrollableRegion);},get layerTreeImpl(){if(this.layerTreeImpl_){return this.layerTreeImpl_;}
6475if(this.parentLayer){return this.parentLayer.layerTreeImpl;}
6476return undefined;},set layerTreeImpl(layerTreeImpl){this.layerTreeImpl_=layerTreeImpl;},get activeLayer(){if(this.layerTreeImpl.whichTree===constants.ACTIVE_TREE){return this;}
6477const activeTree=this.layerTreeImpl.layerTreeHostImpl.activeTree;return activeTree.findLayerWithId(this.layerId);},get pendingLayer(){if(this.layerTreeImpl.whichTree===constants.PENDING_TREE){return this;}
6478const pendingTree=this.layerTreeImpl.layerTreeHostImpl.pendingTree;return pendingTree.findLayerWithId(this.layerId);}};function PictureLayerImplSnapshot(){LayerImplSnapshot.apply(this,arguments);}
6479PictureLayerImplSnapshot.prototype={__proto__:LayerImplSnapshot.prototype,initialize(){LayerImplSnapshot.prototype.initialize.call(this);if(this.args.invalidation){this.invalidation=tr.e.cc.Region.fromArray(this.args.invalidation);delete this.args.invalidation;}
6480if(this.args.annotatedInvalidationRects){this.annotatedInvalidation=new tr.e.cc.Region();for(let i=0;i<this.args.annotatedInvalidationRects.length;++i){const annotatedRect=this.args.annotatedInvalidationRects[i];const rect=annotatedRect.geometryRect;rect.reason=annotatedRect.reason;this.annotatedInvalidation.addRect(rect);}
6481delete this.args.annotatedInvalidationRects;}
6482if(this.args.unrecordedRegion){this.unrecordedRegion=tr.e.cc.Region.fromArray(this.args.unrecordedRegion);delete this.args.unrecordedRegion;}
6483if(this.args.pictures){this.pictures=this.args.pictures;this.pictures.sort(function(a,b){return a.ts-b.ts;});}
6484this.tileCoverageRects=[];if(this.args.coverageTiles){for(let i=0;i<this.args.coverageTiles.length;++i){const rect=this.args.coverageTiles[i].geometryRect.scale(this.idealContentsScale);const tile=this.args.coverageTiles[i].tile;this.tileCoverageRects.push(new tr.e.cc.TileCoverageRect(rect,tile));}
6485delete this.args.coverageTiles;}}};ObjectSnapshot.subTypes.register(PictureLayerImplSnapshot,{typeName:'cc::PictureLayerImpl'});ObjectSnapshot.subTypes.register(LayerImplSnapshot,{typeNames:['cc::LayerImpl','cc::DelegatedRendererLayerImpl','cc::HeadsUpDisplayLayerImpl','cc::IOSurfaceLayerImpl','cc::NinePatchLayerImpl','cc::PictureImageLayerImpl','cc::ScrollbarLayerImpl','cc::SolidColorLayerImpl','cc::SolidColorScrollbarLayerImpl','cc::SurfaceLayerImpl','cc::TextureLayerImpl','cc::TiledLayerImpl','cc::VideoLayerImpl','cc::PaintedScrollbarLayerImpl','ClankPatchLayer','TabBorderLayer','CounterLayer']});return{LayerImplSnapshot,PictureLayerImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;function LayerTreeImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6486LayerTreeImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);this.layerTreeHostImpl=undefined;this.whichTree=undefined;this.sourceFrameNumber=undefined;},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['renderSurfaceLayerList']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['rootLayer','layers']);if(this.args.sourceFrameNumber){this.sourceFrameNumber=this.args.sourceFrameNumber;}
6487if(this.rootLayer){this.rootLayer.layerTreeImpl=this;}else{for(let i=0;i<this.layers.length;i++){this.layers[i].layerTreeImpl=this;}}
6488if(this.args.swapPromiseTraceIds&&this.args.swapPromiseTraceIds.length){this.tracedInputLatencies=[];const ownProcess=this.objectInstance.parent;const modelHelper=ownProcess.model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper){this._initializeTracedInputLatencies(modelHelper);}}},_initializeTracedInputLatencies(modelHelper){const latencyEvents=modelHelper.browserHelper.getLatencyEventsInRange(modelHelper.model.bounds);latencyEvents.forEach(function(event){for(let i=0;i<this.args.swapPromiseTraceIds.length;i++){if(!event.args.data||!event.args.data.trace_id){continue;}
6489if(parseInt(event.args.data.trace_id)===this.args.swapPromiseTraceIds[i]){this.tracedInputLatencies.push(event);}}},this);},get hasSourceFrameBeenDrawnBefore(){if(this.whichTree===tr.e.cc.constants.PENDING_TREE){return false;}
6490if(this.sourceFrameNumber===undefined)return;const thisLTHI=this.layerTreeHostImpl;const thisLTHIIndex=thisLTHI.objectInstance.snapshots.indexOf(thisLTHI);const prevLTHIIndex=thisLTHIIndex-1;if(prevLTHIIndex<0||prevLTHIIndex>=thisLTHI.objectInstance.snapshots.length){return false;}
6491const prevLTHI=thisLTHI.objectInstance.snapshots[prevLTHIIndex];if(!prevLTHI.activeTree)return false;if(prevLTHI.activeTree.sourceFrameNumber===undefined)return;return prevLTHI.activeTree.sourceFrameNumber===this.sourceFrameNumber;},get otherTree(){const other=this.whichTree===constants.ACTIVE_TREE?constants.PENDING_TREE:constants.ACTIVE_TREE;return this.layerTreeHostImpl.getTree(other);},get gpuMemoryUsageInBytes(){let totalBytes=0;this.iterLayers(function(layer){if(layer.gpuMemoryUsageInBytes!==undefined){totalBytes+=layer.gpuMemoryUsageInBytes;}});return totalBytes;},iterLayers(func,thisArg){const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;func.call(thisArg,layer,depth,isMask,isReplica);if(layer.children){for(let i=0;i<layer.children.length;i++){visitLayer(layer.children[i],depth+1);}}
6492if(layer.maskLayer){visitLayer(layer.maskLayer,depth+1,true,false);}
6493if(layer.replicaLayer){visitLayer(layer.replicaLayer,depth+1,false,true);}}
6494if(this.rootLayer){visitLayer(this.rootLayer,0,false,false);}else{for(let i=0;i<this.layers.length;i++){visitLayer(this.layers[i],0,false,false);}}},findLayerWithId(id){let foundLayer=undefined;function visitLayer(layer){if(layer.layerId===id){foundLayer=layer;}}
6495this.iterLayers(visitLayer);return foundLayer;}};ObjectSnapshot.subTypes.register(LayerTreeImplSnapshot,{typeName:'cc::LayerTreeImpl'});return{LayerTreeImplSnapshot,};});'use strict';tr.exportTo('tr.e.cc',function(){const constants=tr.e.cc.constants;const ObjectSnapshot=tr.model.ObjectSnapshot;const ObjectInstance=tr.model.ObjectInstance;function LayerTreeHostImplSnapshot(){ObjectSnapshot.apply(this,arguments);}
6496LayerTreeHostImplSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['deviceViewportSize','activeTree']);tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['pendingTree']);if(this.args.activeTiles!==undefined){this.activeTiles=this.args.activeTiles;delete this.args.activeTiles;}else if(this.args.tiles!==undefined){this.activeTiles=this.args.tiles;delete this.args.tiles;}
6497if(!this.activeTiles){this.activeTiles=[];}
6498this.activeTree.layerTreeHostImpl=this;this.activeTree.whichTree=constants.ACTIVE_TREE;if(this.pendingTree){this.pendingTree.layerTreeHostImpl=this;this.pendingTree.whichTree=constants.PENDING_TREE;}},getContentsScaleNames(){const scales={};for(let i=0;i<this.activeTiles.length;++i){const tile=this.activeTiles[i];scales[tile.contentsScale]=tile.resolution;}
6499return scales;},getTree(whichTree){if(whichTree===constants.ACTIVE_TREE){return this.activeTree;}
6500if(whichTree===constants.PENDING_TREE){return this.pendingTree;}
6501throw new Exception('Unknown tree type + '+whichTree);},get tilesHaveGpuMemoryUsageInfo(){if(this.tilesHaveGpuMemoryUsageInfo_!==undefined){return this.tilesHaveGpuMemoryUsageInfo_;}
6502for(let i=0;i<this.activeTiles.length;i++){if(this.activeTiles[i].gpuMemoryUsageInBytes===undefined){continue;}
6503this.tilesHaveGpuMemoryUsageInfo_=true;return true;}
6504this.tilesHaveGpuMemoryUsageInfo_=false;return false;},get gpuMemoryUsageInBytes(){if(!this.tilesHaveGpuMemoryUsageInfo)return;let usage=0;for(let i=0;i<this.activeTiles.length;i++){const u=this.activeTiles[i].gpuMemoryUsageInBytes;if(u!==undefined)usage+=u;}
6505return usage;},get userFriendlyName(){let frameNumber;if(!this.activeTree){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{if(this.activeTree.sourceFrameNumber===undefined){frameNumber=this.objectInstance.snapshots.indexOf(this);}else{frameNumber=this.activeTree.sourceFrameNumber;}}
6506return'cc::LayerTreeHostImpl frame '+frameNumber;}};ObjectSnapshot.subTypes.register(LayerTreeHostImplSnapshot,{typeName:'cc::LayerTreeHostImpl'});function LayerTreeHostImplInstance(){ObjectInstance.apply(this,arguments);this.allLayersBBox_=undefined;}
6507LayerTreeHostImplInstance.prototype={__proto__:ObjectInstance.prototype,get allContentsScales(){if(this.allContentsScales_){return this.allContentsScales_;}
6508const scales={};for(const tileID in this.allTileHistories_){const tileHistory=this.allTileHistories_[tileID];scales[tileHistory.contentsScale]=true;}
6509this.allContentsScales_=Object.keys(scales);return this.allContentsScales_;},get allLayersBBox(){if(this.allLayersBBox_){return this.allLayersBBox_;}
6510const bbox=new tr.b.math.BBox2();function handleTree(tree){tree.renderSurfaceLayerList.forEach(function(layer){bbox.addQuad(layer.layerQuad);});}
6511this.snapshots.forEach(function(lthi){handleTree(lthi.activeTree);if(lthi.pendingTree){handleTree(lthi.pendingTree);}});this.allLayersBBox_=bbox;return this.allLayersBBox_;}};ObjectInstance.subTypes.register(LayerTreeHostImplInstance,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshot,LayerTreeHostImplInstance,};});'use strict';tr.exportTo('tr.e.cc',function(){const tileTypes={highRes:'highRes',lowRes:'lowRes',extraHighRes:'extraHighRes',extraLowRes:'extraLowRes',missing:'missing',culled:'culled',solidColor:'solidColor',picture:'picture',directPicture:'directPicture',unknown:'unknown'};const tileBorder={highRes:{color:'rgba(80, 200, 200, 0.7)',width:1},lowRes:{color:'rgba(212, 83, 192, 0.7)',width:2},extraHighRes:{color:'rgba(239, 231, 20, 0.7)',width:2},extraLowRes:{color:'rgba(93, 186, 18, 0.7)',width:2},missing:{color:'rgba(255, 0, 0, 0.7)',width:1},culled:{color:'rgba(160, 100, 0, 0.8)',width:1},solidColor:{color:'rgba(128, 128, 128, 0.7)',width:1},picture:{color:'rgba(64, 64, 64, 0.7)',width:1},directPicture:{color:'rgba(127, 255, 0, 1.0)',width:1},unknown:{color:'rgba(0, 0, 0, 1.0)',width:2}};return{tileTypes,tileBorder};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function TileSnapshot(){ObjectSnapshot.apply(this,arguments);}
6512TileSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveOptionalFieldsFromArgsToToplevel(this,['layerId','contentsScale','contentRect']);if(this.args.managedState){this.resolution=this.args.managedState.resolution;this.isSolidColor=this.args.managedState.isSolidColor;this.isUsingGpuMemory=this.args.managedState.isUsingGpuMemory;this.hasResource=this.args.managedState.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}else{this.resolution=this.args.resolution;this.isSolidColor=this.args.drawInfo.isSolidColor;this.isUsingGpuMemory=this.args.isUsingGpuMemory;this.hasResource=this.args.hasResource;this.scheduledPriority=this.args.scheduledPriority;this.gpuMemoryUsageInBytes=this.args.gpuMemoryUsage;}
6513if(this.contentRect){this.layerRect=this.contentRect.scale(1.0/this.contentsScale);}
6514if(this.isSolidColor){this.type_=tr.e.cc.tileTypes.solidColor;}else if(!this.hasResource){this.type_=tr.e.cc.tileTypes.missing;}else if(this.resolution==='HIGH_RESOLUTION'){this.type_=tr.e.cc.tileTypes.highRes;}else if(this.resolution==='LOW_RESOLUTION'){this.type_=tr.e.cc.tileTypes.lowRes;}else{this.type_=tr.e.cc.tileTypes.unknown;}},getTypeForLayer(layer){let type=this.type_;if(type===tr.e.cc.tileTypes.unknown){if(this.contentsScale<layer.idealContentsScale){type=tr.e.cc.tileTypes.extraLowRes;}else if(this.contentsScale>layer.idealContentsScale){type=tr.e.cc.tileTypes.extraHighRes;}}
6515return type;}};ObjectSnapshot.subTypes.register(TileSnapshot,{typeName:'cc::Tile'});return{TileSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const Location=tr.model.Location;function UIState(location,scaleX){this.location_=location;this.scaleX_=scaleX;}
6516UIState.fromUserFriendlyString=function(model,viewport,stateString){const navByFinderPattern=/^(-?\d+(\.\d+)?)@(.+)x(\d+(\.\d+)?)$/g;const match=navByFinderPattern.exec(stateString);if(!match)return;const timestamp=parseFloat(match[1]);const stableId=match[3];const scaleX=parseFloat(match[4]);if(scaleX<=0){throw new Error('Invalid ScaleX value in UI State string.');}
6517if(!viewport.containerToTrackMap.getTrackByStableId(stableId)){throw new Error('Invalid StableID given in UI State String.');}
6518const loc=tr.model.Location.fromStableIdAndTimestamp(viewport,stableId,timestamp);return new UIState(loc,scaleX);};UIState.prototype={get location(){return this.location_;},get scaleX(){return this.scaleX_;},toUserFriendlyString(viewport){const timestamp=this.location_.xWorld;const stableId=this.location_.getContainingTrack(viewport).eventContainer.stableId;const scaleX=this.scaleX_;return timestamp.toFixed(5)+'@'+stableId+'x'+scaleX.toFixed(5);},toDict(){return{location:this.location_.toDict(),scaleX:this.scaleX_};}};return{UIState,};});'use strict';tr.exportTo('tr.ui.b',function(){const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;function BrushingState(){this.guid_=tr.b.GUID.allocateSimple();this.selection_=new EventSet();this.findMatches_=new EventSet();this.analysisViewRelatedEvents_=new EventSet();this.analysisLinkHoveredEvents_=new EventSet();this.appliedToModel_=undefined;this.viewSpecificBrushingStates_={};}
6519BrushingState.prototype={get guid(){return this.guid_;},clone(){const that=new BrushingState();that.selection_=this.selection_;that.findMatches_=this.findMatches_;that.analysisViewRelatedEvents_=this.analysisViewRelatedEvents_;that.analysisLinkHoveredEvents_=this.analysisLinkHoveredEvents_;that.viewSpecificBrushingStates_=this.viewSpecificBrushingStates_;return that;},equals(that){if(!this.selection_.equals(that.selection_)){return false;}
6520if(!this.findMatches_.equals(that.findMatches_)){return false;}
6521if(!this.analysisViewRelatedEvents_.equals(that.analysisViewRelatedEvents_)){return false;}
6522if(!this.analysisLinkHoveredEvents_.equals(that.analysisLinkHoveredEvents_)){return false;}
6523return true;},get selectionOfInterest(){if(this.selection_.length){return this.selection_;}
6524if(this.highlight_.length){return this.highlight_;}
6525if(this.analysisViewRelatedEvents_.length){return this.analysisViewRelatedEvents_;}
6526if(this.analysisLinkHoveredEvents_.length){return this.analysisLinkHoveredEvents_;}
6527return this.selection_;},get selection(){return this.selection_;},set selection(selection){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6528if(selection===undefined){selection=new EventSet();}
6529this.selection_=selection;},get findMatches(){return this.findMatches_;},set findMatches(findMatches){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6530if(findMatches===undefined){findMatches=new EventSet();}
6531this.findMatches_=findMatches;},get analysisViewRelatedEvents(){return this.analysisViewRelatedEvents_;},set analysisViewRelatedEvents(analysisViewRelatedEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6532if(analysisViewRelatedEvents===undefined){analysisViewRelatedEvents=new EventSet();}
6533this.analysisViewRelatedEvents_=analysisViewRelatedEvents;},get analysisLinkHoveredEvents(){return this.analysisLinkHoveredEvents_;},set analysisLinkHoveredEvents(analysisLinkHoveredEvents){if(this.appliedToModel_){throw new Error('Cannot mutate this state right now');}
6534if(analysisLinkHoveredEvents===undefined){analysisLinkHoveredEvents=new EventSet();}
6535this.analysisLinkHoveredEvents_=analysisLinkHoveredEvents;},get isAppliedToModel(){return this.appliedToModel_!==undefined;},get viewSpecificBrushingStates(){return this.viewSpecificBrushingStates_;},set viewSpecificBrushingStates(viewSpecificBrushingStates){this.viewSpecificBrushingStates_=viewSpecificBrushingStates;},get dimmedEvents_(){const dimmedEvents=new EventSet();dimmedEvents.addEventSet(this.findMatches);dimmedEvents.addEventSet(this.analysisViewRelatedEvents_);return dimmedEvents;},get brightenedEvents_(){const brightenedEvents=new EventSet();brightenedEvents.addEventSet(this.selection_);brightenedEvents.addEventSet(this.analysisLinkHoveredEvents_);return brightenedEvents;},applyToEventSelectionStates(model){this.appliedToModel_=model;const dimmedEvents=this.dimmedEvents_;if(model){const newDefaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);const currentDefaultState=tr.b.getFirstElement(model.getDescendantEvents()).selectionState;if(currentDefaultState!==newDefaultState){for(const e of model.getDescendantEvents()){e.selectionState=newDefaultState;}}}
6536let score;for(const e of dimmedEvents){score=0;if(this.findMatches_.contains(e)){score++;}
6537if(this.analysisViewRelatedEvents_.contains(e)){score++;}
6538e.selectionState=SelectionState.getFromDimmingLevel(score);}
6539for(const e of this.brightenedEvents_){score=0;if(this.selection_.contains(e)){score++;}
6540if(this.analysisLinkHoveredEvents_.contains(e)){score++;}
6541e.selectionState=SelectionState.getFromBrighteningLevel(score);}},transferModelOwnershipToClone(that){if(!this.appliedToModel_){throw new Error('Not applied');}
6542that.appliedToModel_=this.appliedToModel_;this.appliedToModel_=undefined;},unapplyFromEventSelectionStates(){if(!this.appliedToModel_){throw new Error('Not applied');}
6543const model=this.appliedToModel_;this.appliedToModel_=undefined;const dimmedEvents=this.dimmedEvents_;const defaultState=(dimmedEvents.length?SelectionState.DIMMED0:SelectionState.NONE);for(const e of this.brightenedEvents_){e.selectionState=defaultState;}
6544for(const e of dimmedEvents){e.selectionState=defaultState;}
6545return defaultState;}};return{BrushingState,};});'use strict';tr.exportTo('tr.ui.b',function(){function Animation(){}
6546Animation.prototype={canTakeOverFor(existingAnimation){throw new Error('Not implemented');},takeOverFor(existingAnimation,newStartTimestamp,target){throw new Error('Not implemented');},start(timestamp,target){throw new Error('Not implemented');},didStopEarly(timestamp,target,willBeTakenOverByAnotherAnimation){},tick(timestamp,target){throw new Error('Not implemented');}};return{Animation,};});'use strict';tr.exportTo('tr.ui.b',function(){function AnimationController(){tr.b.EventTarget.call(this);this.target_=undefined;this.activeAnimation_=undefined;this.tickScheduled_=false;}
6547AnimationController.prototype={__proto__:tr.b.EventTarget.prototype,get target(){return this.target_;},set target(target){if(this.activeAnimation_){throw new Error('Cannot change target while animation is running.');}
6548if(target.cloneAnimationState===undefined||typeof target.cloneAnimationState!=='function'){throw new Error('target must have a cloneAnimationState function');}
6549this.target_=target;},get activeAnimation(){return this.activeAnimation_;},get hasActiveAnimation(){return!!this.activeAnimation_;},queueAnimation(animation,opt_now){if(this.target_===undefined){throw new Error('Cannot queue animations without a target');}
6550let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();}
6551if(this.activeAnimation_){const done=this.activeAnimation_.tick(now,this.target_);if(done){this.activeAnimation_=undefined;}}
6552if(this.activeAnimation_){if(animation.canTakeOverFor(this.activeAnimation_)){this.activeAnimation_.didStopEarly(now,this.target_,true);animation.takeOverFor(this.activeAnimation_,now,this.target_);}else{this.activeAnimation_.didStopEarly(now,this.target_,false);}}
6553this.activeAnimation_=animation;this.activeAnimation_.start(now,this.target_);if(this.tickScheduled_)return;this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);},cancelActiveAnimation(opt_now){if(!this.activeAnimation_)return;let now;if(opt_now!==undefined){now=opt_now;}else{now=window.performance.now();}
6554this.activeAnimation_.didStopEarly(now,this.target_,false);this.activeAnimation_=undefined;},tickActiveAnimation_(frameBeginTime){this.tickScheduled_=false;if(!this.activeAnimation_)return;if(this.target_===undefined){this.activeAnimation_.didStopEarly(frameBeginTime,this.target_,false);return;}
6555const oldTargetState=this.target_.cloneAnimationState();const done=this.activeAnimation_.tick(frameBeginTime,this.target_);if(done){this.activeAnimation_=undefined;}
6556if(this.activeAnimation_){this.tickScheduled_=true;tr.b.requestAnimationFrame(this.tickActiveAnimation_,this);}
6557if(oldTargetState){const e=new tr.b.Event('didtick');e.oldTargetState=oldTargetState;this.dispatchEvent(e,false,false);}}};return{AnimationController,};});'use strict';tr.exportTo('tr.b',function(){function Settings(){return Settings;}
6558if(tr.b.unittest&&tr.b.unittest.TestRunner){tr.b.unittest.TestRunner.addEventListener('tr-unittest-will-run',function(){if(tr.isHeadless){Settings.setAlternativeStorageInstance(new HeadlessStorage());}else{Settings.setAlternativeStorageInstance(global.sessionStorage);global.sessionStorage.clear();}});}
6559function SessionSettings(){return SessionSettings;}
6560function AddStaticStorageFunctionsToClass_(inputClass,storage){inputClass.storage_=storage;inputClass.get=function(key,opt_default,opt_namespace){key=inputClass.namespace_(key,opt_namespace);const rawVal=inputClass.storage_.getItem(key);if(rawVal===null||rawVal===undefined){return opt_default;}
6561try{return JSON.parse(rawVal).value;}catch(e){inputClass.storage_.removeItem(key);return opt_default;}};inputClass.set=function(key,value,opt_namespace){if(value===undefined){throw new Error('Settings.set: value must not be undefined');}
6562const v=JSON.stringify({value});inputClass.storage_.setItem(inputClass.namespace_(key,opt_namespace),v);};inputClass.keys=function(opt_namespace){const result=[];opt_namespace=opt_namespace||'';for(let i=0;i<inputClass.storage_.length;i++){const key=inputClass.storage_.key(i);if(inputClass.isnamespaced_(key,opt_namespace)){result.push(inputClass.unnamespace_(key,opt_namespace));}}
6563return result;};inputClass.isnamespaced_=function(key,opt_namespace){return key.indexOf(inputClass.normalize_(opt_namespace))===0;};inputClass.namespace_=function(key,opt_namespace){return inputClass.normalize_(opt_namespace)+key;};inputClass.unnamespace_=function(key,opt_namespace){return key.replace(inputClass.normalize_(opt_namespace),'');};inputClass.normalize_=function(opt_namespace){return inputClass.NAMESPACE+(opt_namespace?opt_namespace+'.':'');};inputClass.setAlternativeStorageInstance=function(instance){inputClass.storage_=instance;};inputClass.getAlternativeStorageInstance=function(){if(!tr.isHeadless&&inputClass.storage_===localStorage){return undefined;}
6564return inputClass.storage_;};inputClass.NAMESPACE='trace-viewer';}
6565function HeadlessStorage(){this.length=0;this.hasItem_={};this.items_={};this.itemsAsArray_=undefined;}
6566HeadlessStorage.prototype={key(index){return this.itemsAsArray[index];},get itemsAsArray(){if(this.itemsAsArray_!==undefined){return this.itemsAsArray_;}
6567const itemsAsArray=[];for(const k in this.items_){itemsAsArray.push(k);}
6568this.itemsAsArray_=itemsAsArray;return this.itemsAsArray_;},getItem(key){if(!this.hasItem_[key]){return null;}
6569return this.items_[key];},removeItem(key){if(!this.hasItem_[key]){return;}
6570const value=this.items_[key];delete this.hasItem_[key];delete this.items_[key];this.length--;this.itemsAsArray_=undefined;return value;},setItem(key,value){if(this.hasItem_[key]){this.items_[key]=value;return;}
6571this.items_[key]=value;this.hasItem_[key]=true;this.length++;this.itemsAsArray_=undefined;return value;}};if(tr.isHeadless){AddStaticStorageFunctionsToClass_(Settings,new HeadlessStorage());AddStaticStorageFunctionsToClass_(SessionSettings,new HeadlessStorage());}else{AddStaticStorageFunctionsToClass_(Settings,localStorage);AddStaticStorageFunctionsToClass_(SessionSettings,sessionStorage);}
6572return{Settings,SessionSettings,};});'use strict';tr.exportTo('tr.ui.b',function(){function createSpan(opt_dictionary){let ownerDocument=document;if(opt_dictionary&&opt_dictionary.ownerDocument){ownerDocument=opt_dictionary.ownerDocument;}
6573const spanEl=ownerDocument.createElement('span');if(opt_dictionary){if(opt_dictionary.className){spanEl.className=opt_dictionary.className;}
6574if(opt_dictionary.textContent){Polymer.dom(spanEl).textContent=opt_dictionary.textContent;}
6575if(opt_dictionary.tooltip){spanEl.title=opt_dictionary.tooltip;}
6576if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(spanEl);}
6577if(opt_dictionary.bold){spanEl.style.fontWeight='bold';}
6578if(opt_dictionary.italic){spanEl.style.fontStyle='italic';}
6579if(opt_dictionary.marginLeft){spanEl.style.marginLeft=opt_dictionary.marginLeft;}
6580if(opt_dictionary.marginRight){spanEl.style.marginRight=opt_dictionary.marginRight;}
6581if(opt_dictionary.backgroundColor){spanEl.style.backgroundColor=opt_dictionary.backgroundColor;}
6582if(opt_dictionary.color){spanEl.style.color=opt_dictionary.color;}}
6583return spanEl;}
6584function createLink(opt_args){let ownerDocument=document;if(opt_args&&opt_args.ownerDocument){ownerDocument=opt_args.ownerDocument;}
6585const linkEl=ownerDocument.createElement('a');if(opt_args){if(opt_args.href)linkEl.href=opt_args.href;if(opt_args.tooltip)linkEl.title=opt_args.tooltip;if(opt_args.color)linkEl.style.color=opt_args.color;if(opt_args.bold)linkEl.style.fontWeight='bold';if(opt_args.italic)linkEl.style.fontStyle='italic';if(opt_args.className)linkEl.className=opt_args.className;if(opt_args.parent)Polymer.dom(opt_args.parent).appendChild(linkEl);if(opt_args.marginLeft)linkEl.style.marginLeft=opt_args.marginLeft;if(opt_args.marginRight)linkEl.style.marginRight=opt_args.marginRight;if(opt_args.backgroundColor){linkEl.style.backgroundColor=opt_args.backgroundColor;}
6586if(opt_args.textContent){Polymer.dom(linkEl).textContent=opt_args.textContent;}}
6587return linkEl;}
6588function createDiv(opt_dictionary){const divEl=document.createElement('div');if(opt_dictionary){if(opt_dictionary.className){divEl.className=opt_dictionary.className;}
6589if(opt_dictionary.parent){Polymer.dom(opt_dictionary.parent).appendChild(divEl);}
6590if(opt_dictionary.textContent){Polymer.dom(divEl).textContent=opt_dictionary.textContent;}
6591if(opt_dictionary.maxWidth){divEl.style.maxWidth=opt_dictionary.maxWidth;}}
6592return divEl;}
6593function createScopedStyle(styleContent){const styleEl=document.createElement('style');styleEl.scoped=true;Polymer.dom(styleEl).innerHTML=styleContent;return styleEl;}
6594function valuesEqual(a,b){if(a instanceof Array&&b instanceof Array){return a.length===b.length&&JSON.stringify(a)===JSON.stringify(b);}
6595return a===b;}
6596function createSelector(targetEl,targetElProperty,settingsKey,defaultValue,items,opt_namespace){let defaultValueIndex;for(let i=0;i<items.length;i++){const item=items[i];if(valuesEqual(item.value,defaultValue)){defaultValueIndex=i;break;}}
6597if(defaultValueIndex===undefined){throw new Error('defaultValue must be in the items list');}
6598const selectorEl=document.createElement('select');selectorEl.addEventListener('change',onChange);for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);}
6599function onChange(e){const value=selectorEl.selectedOptions[0].targetPropertyValue;tr.b.Settings.set(settingsKey,value,opt_namespace);targetEl[targetElProperty]=value;}
6600const oldSetter=targetEl.__lookupSetter__('selectedIndex');selectorEl.__defineGetter__('selectedValue',function(v){return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(valuesEqual(value,v)){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;onChange();}
6601return;}}
6602throw new Error('Not a valid value');});const initialValue=tr.b.Settings.get(settingsKey,defaultValue,opt_namespace);let didSet=false;for(let i=0;i<selectorEl.children.length;i++){if(valuesEqual(selectorEl.children[i].targetPropertyValue,initialValue)){didSet=true;targetEl[targetElProperty]=initialValue;selectorEl.selectedIndex=i;break;}}
6603if(!didSet){selectorEl.selectedIndex=defaultValueIndex;targetEl[targetElProperty]=defaultValue;}
6604return selectorEl;}
6605function createEditCategorySpan(optionGroupEl,targetEl){const spanEl=createSpan({className:'edit-categories'});Polymer.dom(spanEl).textContent='Edit categories';Polymer.dom(spanEl).classList.add('labeled-option');spanEl.addEventListener('click',function(){targetEl.onClickEditCategories();});return spanEl;}
6606function createOptionGroup(targetEl,targetElProperty,settingsKey,defaultValue,items){function onChange(){let value=[];if(this.value.length){value=this.value.split(',');}
6607tr.b.Settings.set(settingsKey,value);targetEl[targetElProperty]=value;}
6608const optionGroupEl=createSpan({className:'labeled-option-group'});const initialValue=tr.b.Settings.get(settingsKey,defaultValue);for(let i=0;i<items.length;++i){const item=items[i];const id='category-preset-'+item.label.replace(/ /g,'-');const radioEl=document.createElement('input');radioEl.type='radio';Polymer.dom(radioEl).setAttribute('id',id);Polymer.dom(radioEl).setAttribute('name','category-presets-group');Polymer.dom(radioEl).setAttribute('value',item.value);radioEl.addEventListener('change',onChange.bind(radioEl,targetEl,targetElProperty,settingsKey));if(valuesEqual(initialValue,item.value)){radioEl.checked=true;}
6609const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=item.label;Polymer.dom(labelEl).setAttribute('for',id);const spanEl=createSpan({className:'labeled-option'});Polymer.dom(spanEl).appendChild(radioEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=radioEl.checked!==(!!opt_bool);if(!changed)return;radioEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return radioEl.checked;});Polymer.dom(optionGroupEl).appendChild(spanEl);}
6610Polymer.dom(optionGroupEl).appendChild(createEditCategorySpan(optionGroupEl,targetEl));if(!initialValue.length){Polymer.dom(optionGroupEl).classList.add('categories-expanded');}
6611targetEl[targetElProperty]=initialValue;return optionGroupEl;}
6612let nextCheckboxId=1;function createCheckBox(targetEl,targetElProperty,settingsKey,defaultValue,label,opt_changeCb){const buttonEl=document.createElement('input');buttonEl.type='checkbox';let initialValue=defaultValue;if(settingsKey!==undefined){initialValue=tr.b.Settings.get(settingsKey,defaultValue);buttonEl.checked=!!initialValue;}
6613if(targetEl){targetEl[targetElProperty]=initialValue;}
6614function onChange(){if(settingsKey!==undefined){tr.b.Settings.set(settingsKey,buttonEl.checked);}
6615if(targetEl){targetEl[targetElProperty]=buttonEl.checked;}
6616if(opt_changeCb){opt_changeCb.call();}}
6617buttonEl.addEventListener('change',onChange);const id='#checkbox-'+nextCheckboxId++;const spanEl=createSpan({className:'labeled-checkbox'});Polymer.dom(buttonEl).setAttribute('id',id);const labelEl=document.createElement('label');Polymer.dom(labelEl).textContent=label;Polymer.dom(labelEl).setAttribute('for',id);Polymer.dom(spanEl).appendChild(buttonEl);Polymer.dom(spanEl).appendChild(labelEl);spanEl.__defineSetter__('checked',function(opt_bool){const changed=buttonEl.checked!==(!!opt_bool);if(!changed)return;buttonEl.checked=!!opt_bool;onChange();});spanEl.__defineGetter__('checked',function(){return buttonEl.checked;});return spanEl;}
6618function createButton(label,opt_callback,opt_this){const buttonEl=document.createElement('input');buttonEl.type='button';buttonEl.value=label;function onClick(){opt_callback.call(opt_this||buttonEl);}
6619if(opt_callback){buttonEl.addEventListener('click',onClick);}
6620return buttonEl;}
6621function createTextInput(targetEl,targetElProperty,settingsKey,defaultValue){const initialValue=tr.b.Settings.get(settingsKey,defaultValue);const el=document.createElement('input');el.type='text';function onChange(e){tr.b.Settings.set(settingsKey,el.value);targetEl[targetElProperty]=el.value;}
6622el.addEventListener('input',onChange);el.value=initialValue;targetEl[targetElProperty]=initialValue;return el;}
6623function isElementAttachedToDocument(el){let cur=el;while(Polymer.dom(cur).parentNode){cur=Polymer.dom(cur).parentNode;}
6624return(cur===el.ownerDocument||cur.nodeName==='#document-fragment');}
6625function asHTMLOrTextNode(value,opt_ownerDocument){if(value instanceof Node){return value;}
6626const ownerDocument=opt_ownerDocument||document;return ownerDocument.createTextNode(value);}
6627return{createSpan,createLink,createDiv,createScopedStyle,createSelector,createOptionGroup,createCheckBox,createButton,createTextInput,isElementAttachedToDocument,asHTMLOrTextNode,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCacheDict=new Map();const elidedTitleCache=new ElidedTitleCache();function ElidedTitleCache(){this.textWidthMap=new Map();}
6628ElidedTitleCache.prototype={get(ctx,pixWidth,title,width,sliceDuration){let elidedDict=elidedTitleCacheDict.get(title);if(!elidedDict){elidedDict=new Map();elidedTitleCacheDict.set(title,elidedDict);}
6629let elidedDictForPixWidth=elidedDict.get(pixWidth);if(!elidedDictForPixWidth){elidedDict.set(pixWidth,new Map());elidedDictForPixWidth=elidedDict.get(pixWidth);}
6630let stringWidthPair=elidedDictForPixWidth.get(sliceDuration);if(stringWidthPair===undefined){let newtitle=title;let elided=false;while(this.labelWidthWorld(ctx,newtitle,pixWidth)>sliceDuration){if(newtitle.length*0.75<1)break;newtitle=newtitle.substring(0,newtitle.length*0.75);elided=true;}
6631if(elided&&newtitle.length>3){newtitle=newtitle.substring(0,newtitle.length-3)+'...';}
6632stringWidthPair=new ElidedStringWidthPair(newtitle,this.labelWidth(ctx,newtitle));elidedDictForPixWidth.set(sliceDuration,stringWidthPair);}
6633return stringWidthPair;},quickMeasureText_(ctx,text){let w=this.textWidthMap.get(text);if(!w){w=ctx.measureText(text).width;this.textWidthMap.set(text,w);}
6634return w;},labelWidth(ctx,title){return this.quickMeasureText_(ctx,title)+2;},labelWidthWorld(ctx,title,pixWidth){return this.labelWidth(ctx,title)*pixWidth;}};function ElidedStringWidthPair(string,width){this.string=string;this.width=width;}
6635return{ElidedTitleCache,};});'use strict';tr.exportTo('tr.ui.b',function(){const ColorScheme=tr.b.ColorScheme;const colors=ColorScheme.colors;const colorsAsStrings=ColorScheme.colorsAsStrings;const SelectionState=tr.model.SelectionState;const EventPresenter={getSelectableItemColorAsString(item){const offset=this.getColorIdOffset_(item);const colorId=ColorScheme.getVariantColorId(item.colorId,offset);return colorsAsStrings[colorId];},getColorIdOffset_(event){return event.selectionState;},getTextColor(event){if(event.selectionState===SelectionState.DIMMED){return'rgb(60,60,60)';}
6636return'rgb(0,0,0)';},getSliceColorId(slice){const offset=this.getColorIdOffset_(slice);return ColorScheme.getVariantColorId(slice.colorId,offset);},getSliceAlpha(slice,async){let alpha=1;if(async){alpha*=0.3;}
6637return alpha;},getInstantSliceColor(instant){const offset=this.getColorIdOffset_(instant);const colorId=ColorScheme.getVariantColorId(instant.colorId,offset);return colors[colorId].toStringWithAlphaOverride(1.0);},getObjectInstanceColor(instance){const offset=this.getColorIdOffset_(instance);const colorId=ColorScheme.getVariantColorId(instance.colorId,offset);return colors[colorId].toStringWithAlphaOverride(0.25);},getObjectSnapshotColor(snapshot){const offset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getVariantColorId(colorId,offset);return colors[colorId];},getCounterSeriesColor(colorId,selectionState,opt_alphaMultiplier){const event={selectionState};const offset=this.getColorIdOffset_(event);const c=colors[ColorScheme.getVariantColorId(colorId,offset)];return c.toStringWithAlphaOverride(opt_alphaMultiplier!==undefined?opt_alphaMultiplier:1.0);},getBarSnapshotColor(snapshot,offset){const snapshotOffset=this.getColorIdOffset_(snapshot);let colorId=snapshot.objectInstance.colorId;colorId=ColorScheme.getAnotherColorId(colorId,offset);colorId=ColorScheme.getVariantColorId(colorId,snapshotOffset);return colors[colorId].toStringWithAlphaOverride(1.0);}};return{EventPresenter,};});'use strict';tr.exportTo('tr.ui.b',function(){const elidedTitleCache=new tr.ui.b.ElidedTitleCache();const ColorScheme=tr.b.ColorScheme;const colorsAsStrings=ColorScheme.colorsAsStrings;const EventPresenter=tr.ui.b.EventPresenter;const blackColorId=ColorScheme.getColorIdForReservedName('black');const THIN_SLICE_HEIGHT=4;const SLICE_WAITING_WIDTH_DRAW_THRESHOLD=3;const SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD=1;const SHOULD_ELIDE_TEXT=true;function drawLine(ctx,x1,y1,x2,y2){ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);}
6638function drawTriangle(ctx,x1,y1,x2,y2,x3,y3){ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.lineTo(x3,y3);ctx.closePath();}
6639function drawArrow(ctx,x1,y1,x2,y2,arrowLength,arrowWidth){const dx=x2-x1;const dy=y2-y1;const len=Math.sqrt(dx*dx+dy*dy);const perc=(len-arrowLength)/len;const bx=x1+perc*dx;const by=y1+perc*dy;const ux=dx/len;const uy=dy/len;const ax=uy*arrowWidth;const ay=-ux*arrowWidth;ctx.beginPath();drawLine(ctx,x1,y1,x2,y2);ctx.stroke();drawTriangle(ctx,bx+ax,by+ay,x2,y2,bx-ax,by-ay);ctx.fill();}
6640function drawSlices(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,async){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);const height=viewHeight*pixelRatio;let darkRectHeight=THIN_SLICE_HEIGHT*pixelRatio;if(height<darkRectHeight){darkRectHeight=0;}
6641const lightRectHeight=height-darkRectHeight;ctx.save();dt.applyTransformToCanvas(ctx);const rect=new tr.ui.b.FastRectRenderer(ctx,2*pixWidth,2*pixWidth,colorsAsStrings);rect.setYandH(0,height);const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);let hadTopLevel=false;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}}
6642const colorId=EventPresenter.getSliceColorId(slice);const alpha=EventPresenter.getSliceAlpha(slice,async);const lightAlpha=alpha*0.70;if(async&&slice.isTopLevel){rect.setYandH(3,height-3);hadTopLevel=true;}else{rect.setYandH(0,height);}
6643if(!slice.cpuDuration){rect.fillRect(x,w,colorId,alpha);continue;}
6644let activeWidth=w*(slice.cpuDuration/slice.duration);let waitingWidth=w-activeWidth;if(activeWidth<SLICE_ACTIVE_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=0;waitingWidth=w;}
6645if(waitingWidth<SLICE_WAITING_WIDTH_DRAW_THRESHOLD*pixWidth){activeWidth=w;waitingWidth=0;}
6646if(activeWidth>0){rect.fillRect(x,activeWidth,colorId,alpha);}
6647if(waitingWidth>0){rect.setYandH(0,lightRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,lightAlpha);rect.setYandH(lightRectHeight,darkRectHeight);rect.fillRect(x+activeWidth-pixWidth,waitingWidth+pixWidth,colorId,alpha);rect.setYandH(0,height);}}
6648rect.flush();if(async&&hadTopLevel){rect.setYandH(2,1);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;if(!slice.isTopLevel)continue;let w=pixWidth;if(slice.duration>0){w=Math.max(slice.duration,0.000001);if(w<pixWidth){w=pixWidth;}}
6649rect.fillRect(x,w,blackColorId,0.7);}
6650rect.flush();}
6651ctx.restore();}
6652function drawInstantSlicesAsLines(ctx,dt,viewLWorld,viewRWorld,viewHeight,slices,lineWidthInPixels){const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.lineWidth=pixWidth*lineWidthInPixels*pixelRatio;dt.applyTransformToCanvas(ctx);ctx.beginPath();const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start;},viewLWorld);for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];const x=slice.start;if(x>viewRWorld)break;ctx.strokeStyle=EventPresenter.getInstantSliceColor(slice);ctx.beginPath();ctx.moveTo(x,0);ctx.lineTo(x,height);ctx.stroke();}
6653ctx.restore();}
6654function drawLabels(ctx,dt,viewLWorld,viewRWorld,slices,async,fontSize,yOffset){const pixelRatio=window.devicePixelRatio||1;const pixWidth=dt.xViewVectorToWorld(1);ctx.save();ctx.textAlign='center';ctx.textBaseline='top';ctx.font=(fontSize*pixelRatio)+'px sans-serif';if(async){ctx.font='italic '+ctx.font;}
6655const cY=yOffset*pixelRatio;const lowSlice=tr.b.math.findLowIndexInSortedArray(slices,function(slice){return slice.start+slice.duration;},viewLWorld);const quickDiscardThresshold=pixWidth*20;for(let i=lowSlice;i<slices.length;++i){const slice=slices[i];if(slice.start>viewRWorld)break;if(slice.duration<=quickDiscardThresshold)continue;const title=slice.title+
6656(slice.didNotFinish?' (Did Not Finish)':'');let drawnTitle=title;let drawnWidth=elidedTitleCache.labelWidth(ctx,drawnTitle);const fullLabelWidth=elidedTitleCache.labelWidthWorld(ctx,drawnTitle,pixWidth);if(SHOULD_ELIDE_TEXT&&fullLabelWidth>slice.duration){const elidedValues=elidedTitleCache.get(ctx,pixWidth,drawnTitle,drawnWidth,slice.duration);drawnTitle=elidedValues.string;drawnWidth=elidedValues.width;}
6657if(drawnWidth*pixWidth<slice.duration){ctx.fillStyle=EventPresenter.getTextColor(slice);const cX=dt.xWorldToView(slice.start+0.5*slice.duration);ctx.fillText(drawnTitle,cX,cY,drawnWidth);}}
6658ctx.restore();}
6659return{drawSlices,drawInstantSlicesAsLines,drawLabels,drawLine,drawTriangle,drawArrow,elidedTitleCache_:elidedTitleCache,THIN_SLICE_HEIGHT,};});'use strict';tr.exportTo('tr.ui',function(){function TimelineDisplayTransform(opt_that){if(opt_that){this.set(opt_that);return;}
6660this.scaleX=1;this.panX=0;this.panY=0;}
6661TimelineDisplayTransform.prototype={set(that){this.scaleX=that.scaleX;this.panX=that.panX;this.panY=that.panY;},clone(){return new TimelineDisplayTransform(this);},equals(that){let eq=true;if(that===undefined||that===null){return false;}
6662eq&=this.panX===that.panX;eq&=this.panY===that.panY;eq&=this.scaleX===that.scaleX;return!!eq;},almostEquals(that){let eq=true;if(that===undefined||that===null){return false;}
6663eq&=Math.abs(this.panX-that.panX)<0.001;eq&=Math.abs(this.panY-that.panY)<0.001;eq&=Math.abs(this.scaleX-that.scaleX)<0.001;return!!eq;},incrementPanXInViewUnits(xDeltaView){this.panX+=this.xViewVectorToWorld(xDeltaView);},xPanWorldPosToViewPos(worldX,viewX,viewWidth){if(typeof viewX==='string'){if(viewX==='left'){viewX=0;}else if(viewX==='center'){viewX=viewWidth/2;}else if(viewX==='right'){viewX=viewWidth-1;}else{throw new Error('viewX must be left|center|right or number.');}}
6664this.panX=(viewX/this.scaleX)-worldX;},xPanWorldBoundsIntoView(worldMin,worldMax,viewWidth){if(this.xWorldToView(worldMin)<0){this.xPanWorldPosToViewPos(worldMin,'left',viewWidth);}else if(this.xWorldToView(worldMax)>viewWidth){this.xPanWorldPosToViewPos(worldMax,'right',viewWidth);}},xSetWorldBounds(worldMin,worldMax,viewWidth){const worldWidth=worldMax-worldMin;const scaleX=viewWidth/worldWidth;const panX=-worldMin;this.setPanAndScale(panX,scaleX);},setPanAndScale(p,s){this.scaleX=s;this.panX=p;},xWorldToView(x){return(x+this.panX)*this.scaleX;},xWorldVectorToView(x){return x*this.scaleX;},xViewToWorld(x){return(x/this.scaleX)-this.panX;},xViewVectorToWorld(x){return x/this.scaleX;},applyTransformToCanvas(ctx){ctx.transform(this.scaleX,0,0,1,this.panX*this.scaleX,0);}};return{TimelineDisplayTransform,};});'use strict';tr.exportTo('tr.ui',function(){function SnapIndicator(y,height){this.y=y;this.height=height;}
6665function TimelineInterestRange(vp){this.viewport_=vp;this.range_=new tr.b.math.Range();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;}
6666TimelineInterestRange.prototype={get isEmpty(){return this.range_.isEmpty;},reset(){this.range_.reset();this.leftSelected_=false;this.rightSelected_=false;this.leftSnapIndicator_=undefined;this.rightSnapIndicator_=undefined;this.viewport_.dispatchChangeEvent();},get min(){return this.range_.min;},set min(min){this.range_.min=min;this.viewport_.dispatchChangeEvent();},get max(){return this.range_.max;},set max(max){this.range_.max=max;this.viewport_.dispatchChangeEvent();},set(range){this.range_.reset();this.range_.addRange(range);this.viewport_.dispatchChangeEvent();},setMinAndMax(min,max){this.range_.min=min;this.range_.max=max;this.viewport_.dispatchChangeEvent();},get range(){return this.range_.range;},asRangeObject(){const range=new tr.b.math.Range();range.addRange(this.range_);return range;},get leftSelected(){return this.leftSelected_;},set leftSelected(leftSelected){if(this.leftSelected_===leftSelected)return;this.leftSelected_=leftSelected;this.viewport_.dispatchChangeEvent();},get rightSelected(){return this.rightSelected_;},set rightSelected(rightSelected){if(this.rightSelected_===rightSelected)return;this.rightSelected_=rightSelected;this.viewport_.dispatchChangeEvent();},get leftSnapIndicator(){return this.leftSnapIndicator_;},set leftSnapIndicator(leftSnapIndicator){this.leftSnapIndicator_=leftSnapIndicator;this.viewport_.dispatchChangeEvent();},get rightSnapIndicator(){return this.rightSnapIndicator_;},set rightSnapIndicator(rightSnapIndicator){this.rightSnapIndicator_=rightSnapIndicator;this.viewport_.dispatchChangeEvent();},draw(ctx,viewLWorld,viewRWorld){if(this.range_.isEmpty)return;const dt=this.viewport_.currentDisplayTransform;const markerLWorld=this.min;const markerRWorld=this.max;const markerLView=Math.round(dt.xWorldToView(markerLWorld));const markerRView=Math.round(dt.xWorldToView(markerRWorld));ctx.fillStyle='rgba(0, 0, 0, 0.2)';if(markerLWorld>viewLWorld){ctx.fillRect(dt.xWorldToView(viewLWorld),0,markerLView,ctx.canvas.height);}
6667if(markerRWorld<viewRWorld){ctx.fillRect(markerRView,0,dt.xWorldToView(viewRWorld),ctx.canvas.height);}
6668const pixelRatio=window.devicePixelRatio||1;ctx.lineWidth=Math.round(pixelRatio);if(this.range_.range>0){this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_);this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.max,this.rightSelected_);}else{this.drawLine_(ctx,viewLWorld,viewRWorld,ctx.canvas.height,this.min,this.leftSelected_||this.rightSelected_);}
6669ctx.lineWidth=1;},drawLine_(ctx,viewLWorld,viewRWorld,height,ts,selected){if(ts<viewLWorld||ts>=viewRWorld)return;const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(ts));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();tr.ui.b.drawLine(ctx,viewX,0,viewX,height);if(selected){ctx.strokeStyle='rgb(255, 0, 0)';}else{ctx.strokeStyle='rgb(0, 0, 0)';}
6670ctx.stroke();ctx.restore();},drawIndicators(ctx,viewLWorld,viewRWorld){if(this.leftSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.min,this.leftSnapIndicator_,this.leftSelected_);}
6671if(this.rightSnapIndicator_){this.drawIndicator_(ctx,viewLWorld,viewRWorld,this.range_.max,this.rightSnapIndicator_,this.rightSelected_);}},drawIndicator_(ctx,viewLWorld,viewRWorld,xWorld,si,selected){const dt=this.viewport_.currentDisplayTransform;const viewX=Math.round(dt.xWorldToView(xWorld));ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);const pixelRatio=window.devicePixelRatio||1;const viewY=si.y*devicePixelRatio;const viewHeight=si.height*devicePixelRatio;const arrowSize=4*pixelRatio;if(selected){ctx.fillStyle='rgb(255, 0, 0)';}else{ctx.fillStyle='rgb(0, 0, 0)';}
6672tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY,viewX+arrowSize*0.75,viewY,viewX,viewY+arrowSize);ctx.fill();tr.ui.b.drawTriangle(ctx,viewX-arrowSize*0.75,viewY+viewHeight,viewX+arrowSize*0.75,viewY+viewHeight,viewX,viewY+viewHeight-arrowSize);ctx.fill();ctx.restore();}};return{SnapIndicator,TimelineInterestRange,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ContainerToTrackMap(){this.stableIdToTrackMap_={};}
6673ContainerToTrackMap.prototype={addContainer(container,track){if(!track){throw new Error('Must provide a track.');}
6674this.stableIdToTrackMap_[container.stableId]=track;},clear(){this.stableIdToTrackMap_={};},getTrackByStableId(stableId){return this.stableIdToTrackMap_[stableId];}};return{ContainerToTrackMap,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function EventToTrackMap(){}
6675EventToTrackMap.prototype={addEvent(event,track){if(!track){throw new Error('Must provide a track.');}
6676this[event.guid]=track;}};return{EventToTrackMap,};});'use strict';tr.exportTo('tr.ui',function(){const TimelineDisplayTransform=tr.ui.TimelineDisplayTransform;const TimelineInterestRange=tr.ui.TimelineInterestRange;const IDEAL_MAJOR_MARK_DISTANCE_PX=150;const MAJOR_MARK_ROUNDING_FACTOR=100000;class AnimationControllerProxy{constructor(target){this.target_=target;}
6677get panX(){return this.target_.currentDisplayTransform_.panX;}
6678set panX(panX){this.target_.currentDisplayTransform_.panX=panX;}
6679get panY(){return this.target_.currentDisplayTransform_.panY;}
6680set panY(panY){this.target_.currentDisplayTransform_.panY=panY;}
6681get scaleX(){return this.target_.currentDisplayTransform_.scaleX;}
6682set scaleX(scaleX){this.target_.currentDisplayTransform_.scaleX=scaleX;}
6683cloneAnimationState(){return this.target_.currentDisplayTransform_.clone();}
6684xPanWorldPosToViewPos(xWorld,xView){this.target_.currentDisplayTransform_.xPanWorldPosToViewPos(xWorld,xView,this.target_.modelTrackContainer_.canvas.clientWidth);}}
6685function TimelineViewport(parentEl){this.parentEl_=parentEl;this.modelTrackContainer_=undefined;this.currentDisplayTransform_=new TimelineDisplayTransform();this.initAnimationController_();this.showFlowEvents_=false;this.highlightVSync_=false;this.highDetails_=false;this.gridTimebase_=0;this.gridStep_=1000/60;this.gridEnabled_=false;this.hasCalledSetupFunction_=false;this.onResize_=this.onResize_.bind(this);this.onModelTrackControllerScroll_=this.onModelTrackControllerScroll_.bind(this);this.timeMode_=TimelineViewport.TimeMode.TIME_IN_MS;this.majorMarkWorldPositions_=[];this.majorMarkUnit_=undefined;this.interestRange_=new TimelineInterestRange(this);this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.containerToTrackMap=new tr.ui.tracks.ContainerToTrackMap();this.dispatchChangeEvent=this.dispatchChangeEvent.bind(this);}
6686TimelineViewport.TimeMode={TIME_IN_MS:0,REVISIONS:1};TimelineViewport.prototype={__proto__:tr.b.EventTarget.prototype,get isAttachedToDocumentOrInTestMode(){if(this.parentEl_===undefined)return;return tr.ui.b.isElementAttachedToDocument(this.parentEl_);},onResize_(){this.dispatchChangeEvent();},dispatchChangeEvent(){tr.b.dispatchSimpleEvent(this,'change');},detach(){window.removeEventListener('resize',this.dispatchChangeEvent);},initAnimationController_(){this.dtAnimationController_=new tr.ui.b.AnimationController();this.dtAnimationController_.addEventListener('didtick',function(e){this.onCurentDisplayTransformChange_(e.oldTargetState);}.bind(this));this.dtAnimationController_.target=new AnimationControllerProxy(this);},get currentDisplayTransform(){return this.currentDisplayTransform_;},setDisplayTransformImmediately(displayTransform){this.dtAnimationController_.cancelActiveAnimation();const oldDisplayTransform=this.dtAnimationController_.target.cloneAnimationState();this.currentDisplayTransform_.set(displayTransform);this.onCurentDisplayTransformChange_(oldDisplayTransform);},queueDisplayTransformAnimation(animation){if(!(animation instanceof tr.ui.b.Animation)){throw new Error('animation must be instanceof tr.ui.b.Animation');}
6687this.dtAnimationController_.queueAnimation(animation);},onCurentDisplayTransformChange_(oldDisplayTransform){if(this.modelTrackContainer_){this.currentDisplayTransform.panY=tr.b.math.clamp(this.currentDisplayTransform.panY,0,this.modelTrackContainer_.scrollHeight-
6688this.modelTrackContainer_.clientHeight);}
6689const changed=!this.currentDisplayTransform.equals(oldDisplayTransform);const yChanged=this.currentDisplayTransform.panY!==oldDisplayTransform.panY;if(yChanged){this.modelTrackContainer_.scrollTop=this.currentDisplayTransform.panY;}
6690if(changed){this.dispatchChangeEvent();}},onModelTrackControllerScroll_(e){if(this.dtAnimationController_.activeAnimation&&this.dtAnimationController_.activeAnimation.affectsPanY){this.dtAnimationController_.cancelActiveAnimation();}
6691const panY=this.modelTrackContainer_.scrollTop;this.currentDisplayTransform_.panY=panY;},get modelTrackContainer(){return this.modelTrackContainer_;},set modelTrackContainer(m){if(this.modelTrackContainer_){this.modelTrackContainer_.removeEventListener('scroll',this.onModelTrackControllerScroll_);}
6692this.modelTrackContainer_=m;this.modelTrackContainer_.addEventListener('scroll',this.onModelTrackControllerScroll_);},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;this.dispatchChangeEvent();},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;this.dispatchChangeEvent();},get highDetails(){return this.highDetails_;},set highDetails(highDetails){this.highDetails_=highDetails;this.dispatchChangeEvent();},get gridEnabled(){return this.gridEnabled_;},set gridEnabled(enabled){if(this.gridEnabled_===enabled)return;this.gridEnabled_=enabled&&true;this.dispatchChangeEvent();},get gridTimebase(){return this.gridTimebase_;},set gridTimebase(timebase){if(this.gridTimebase_===timebase)return;this.gridTimebase_=timebase;this.dispatchChangeEvent();},get gridStep(){return this.gridStep_;},get interestRange(){return this.interestRange_;},get majorMarkWorldPositions(){return this.majorMarkWorldPositions_;},get majorMarkUnit(){switch(this.timeMode_){case TimelineViewport.TimeMode.TIME_IN_MS:return tr.b.Unit.byName.timeInMsAutoFormat;case TimelineViewport.TimeMode.REVISIONS:return tr.b.Unit.byName.count;default:throw new Error('Cannot get Unit for unsupported time mode '+this.timeMode_);}},get timeMode(){return this.timeMode_;},set timeMode(mode){this.timeMode_=mode;this.dispatchChangeEvent();},updateMajorMarkData(viewLWorld,viewRWorld){const pixelRatio=window.devicePixelRatio||1;const dt=this.currentDisplayTransform;const idealMajorMarkDistancePix=IDEAL_MAJOR_MARK_DISTANCE_PX*pixelRatio;const idealMajorMarkDistanceWorld=dt.xViewVectorToWorld(idealMajorMarkDistancePix);const majorMarkDistanceWorld=tr.b.math.preferredNumberLargerThanMin(idealMajorMarkDistanceWorld);const firstMajorMark=Math.floor(viewLWorld/majorMarkDistanceWorld)*majorMarkDistanceWorld;this.majorMarkWorldPositions_=[];for(let curX=firstMajorMark;curX<viewRWorld;curX+=majorMarkDistanceWorld){this.majorMarkWorldPositions_.push(Math.floor(MAJOR_MARK_ROUNDING_FACTOR*curX)/MAJOR_MARK_ROUNDING_FACTOR);}},drawMajorMarkLines(ctx){ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();for(const majorMark of this.majorMarkWorldPositions_){const x=this.currentDisplayTransform.xWorldToView(majorMark);tr.ui.b.drawLine(ctx,x,0,x,ctx.canvas.height);}
6693ctx.strokeStyle='#ddd';ctx.stroke();ctx.restore();},drawGridLines(ctx,viewLWorld,viewRWorld){if(!this.gridEnabled)return;const dt=this.currentDisplayTransform;let x=this.gridTimebase;ctx.save();ctx.translate((Math.round(ctx.lineWidth)%2)/2,0);ctx.beginPath();while(x<viewRWorld){if(x>=viewLWorld){const vx=Math.floor(dt.xWorldToView(x));tr.ui.b.drawLine(ctx,vx,0,vx,ctx.canvas.height);}
6694x+=this.gridStep;}
6695ctx.strokeStyle='rgba(255, 0, 0, 0.25)';ctx.stroke();ctx.restore();},getShiftedSelection(selection,offset){const newSelection=new tr.model.EventSet();for(const event of selection){if(event instanceof tr.model.FlowEvent){if(offset>0){newSelection.push(event.endSlice);}else if(offset<0){newSelection.push(event.startSlice);}else{}
6696continue;}
6697const track=this.trackForEvent(event);track.addEventNearToProvidedEventToSelection(event,offset,newSelection);}
6698if(newSelection.length===0)return undefined;return newSelection;},rebuildEventToTrackMap(){this.eventToTrackMap_=new tr.ui.tracks.EventToTrackMap();this.modelTrackContainer_.addEventsToTrackMap(this.eventToTrackMap_);},rebuildContainerToTrackMap(){this.containerToTrackMap.clear();this.modelTrackContainer_.addContainersToTrackMap(this.containerToTrackMap);},trackForEvent(event){return this.eventToTrackMap_[event.guid];}};return{TimelineViewport,};});'use strict';tr.exportTo('tr.c',function(){const BrushingState=tr.ui.b.BrushingState;const EventSet=tr.model.EventSet;const SelectionState=tr.model.SelectionState;const Viewport=tr.ui.TimelineViewport;function BrushingStateController(timelineView){tr.b.EventTarget.call(this);this.timelineView_=timelineView;this.currentBrushingState_=new BrushingState();this.onPopState_=this.onPopState_.bind(this);this.historyEnabled_=false;this.selections_={};}
6699BrushingStateController.prototype={__proto__:tr.b.EventTarget.prototype,dispatchChangeEvent_(){const e=new tr.b.Event('change',false,false);this.dispatchEvent(e);},get model(){if(!this.timelineView_){return undefined;}
6700return this.timelineView_.model;},get trackView(){if(!this.timelineView_){return undefined;}
6701return this.timelineView_.trackView;},get viewport(){if(!this.timelineView_){return undefined;}
6702if(!this.timelineView_.trackView){return undefined;}
6703return this.timelineView_.trackView.viewport;},get historyEnabled(){return this.historyEnabled_;},set historyEnabled(historyEnabled){this.historyEnabled_=!!historyEnabled;if(historyEnabled){window.addEventListener('popstate',this.onPopState_);}else{window.removeEventListener('popstate',this.onPopState_);}},modelWillChange(){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}},modelDidChange(){this.selections_={};this.currentBrushingState_=new BrushingState();this.currentBrushingState_.applyToEventSelectionStates(this.model);const e=new tr.b.Event('model-changed',false,false);this.dispatchEvent(e);this.dispatchChangeEvent_();},onUserInitiatedSelectionChange_(){const selection=this.selection;if(this.historyEnabled){this.selections_[selection.guid]=selection;const state={selection_guid:selection.guid};window.history.pushState(state,document.title);}},onPopState_(e){if(e.state===null)return;const selection=this.selections_[e.state.selection_guid];if(selection){const newState=this.currentBrushingState_.clone();newState.selection=selection;this.currentBrushingState=newState;}
6704e.stopPropagation();},get selection(){return this.currentBrushingState_.selection;},get findMatches(){return this.currentBrushingState_.findMatches;},get selectionOfInterest(){return this.currentBrushingState_.selectionOfInterest;},get currentBrushingState(){return this.currentBrushingState_;},set currentBrushingState(newBrushingState){if(newBrushingState.isAppliedToModel){throw new Error('Cannot apply this state, it is applied');}
6705const hasValueChanged=!this.currentBrushingState_.equals(newBrushingState);if(newBrushingState!==this.currentBrushingState_&&!hasValueChanged){if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.transferModelOwnershipToClone(newBrushingState);}
6706this.currentBrushingState_=newBrushingState;return;}
6707if(this.currentBrushingState_.isAppliedToModel){this.currentBrushingState_.unapplyFromEventSelectionStates();}
6708this.currentBrushingState_=newBrushingState;this.currentBrushingState_.applyToEventSelectionStates(this.model);this.dispatchChangeEvent_();},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const timelineView=this.timelineView_.trackView;if(!timelineView){return new tr.b.Task();}
6709return timelineView.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);},findTextChangedTo(allPossibleMatches){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.findMatches=allPossibleMatches;this.currentBrushingState=newBrushingState;},findFocusChangedTo(currentFocus){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=currentFocus;this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},findTextCleared(){if(this.xNavStringMarker_!==undefined){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
6710if(this.guideLineAnnotation_!==undefined){this.model.removeAnnotation(this.guideLineAnnotation_);this.guideLineAnnotation_=undefined;}
6711const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=new EventSet();newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},uiStateFromString(string){return tr.ui.b.UIState.fromUserFriendlyString(this.model,this.viewport,string);},navToPosition(uiState,showNavLine){this.trackView.navToPosition(uiState,showNavLine);},changeSelectionFromTimeline(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},showScriptControlSelection(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;},changeSelectionFromRequestSelectionChangeEvent(selection){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.selection=selection;newBrushingState.findMatches=new EventSet();this.currentBrushingState=newBrushingState;this.onUserInitiatedSelectionChange_();},changeAnalysisViewRelatedEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisViewRelatedEvents=eventSet;this.currentBrushingState=newBrushingState;},changeAnalysisLinkHoveredEvents(eventSet){const newBrushingState=this.currentBrushingState_.clone();newBrushingState.analysisLinkHoveredEvents=eventSet;this.currentBrushingState=newBrushingState;},getViewSpecificBrushingState(viewId){return this.currentBrushingState.viewSpecificBrushingStates[viewId];},changeViewSpecificBrushingState(viewId,newState){const oldStates=this.currentBrushingState_.viewSpecificBrushingStates;const newStates={};for(const id in oldStates){newStates[id]=oldStates[id];}
6712if(newState===undefined){delete newStates[viewId];}else{newStates[viewId]=newState;}
6713const newBrushingState=this.currentBrushingState_.clone();newBrushingState.viewSpecificBrushingStates=newStates;this.currentBrushingState=newBrushingState;}};BrushingStateController.getControllerForElement=function(element){if(tr.isHeadless){throw new Error('Unsupported');}
6714let currentElement=element;while(currentElement){if(currentElement.brushingStateController){return currentElement.brushingStateController;}
6715if(currentElement.parentElement){currentElement=currentElement.parentElement;continue;}
6716let currentNode=currentElement;while(Polymer.dom(currentNode).parentNode){currentNode=Polymer.dom(currentNode).parentNode;}
6717currentElement=currentNode.host;}
6718return undefined;};return{BrushingStateController,};});'use strict';Polymer({is:'tr-ui-a-analysis-link',properties:{href:{type:String}},listeners:{'click':'onClicked_','mouseenter':'onMouseEnter_','mouseleave':'onMouseLeave_'},ready(){this.selection_=undefined;},attached(){this.controller_=tr.c.BrushingStateController.getControllerForElement(this);},detached(){this.clearHighlight_();this.controller_=undefined;},set color(c){this.style.color=c;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;Polymer.dom(this).textContent=selection.userFriendlyName;},setSelectionAndContent(selection,opt_textContent){this.selection_=selection;if(opt_textContent){Polymer.dom(this).textContent=opt_textContent;}},getCurrentSelection_(){if(typeof this.selection_==='function'){return this.selection_();}
6719return this.selection_;},setHighlight_(opt_eventSet){if(this.controller_){this.controller_.changeAnalysisLinkHoveredEvents(opt_eventSet);}},clearHighlight_(opt_eventSet){this.setHighlight_();},onClicked_(clickEvent){if(!this.selection_)return;clickEvent.stopPropagation();const event=new tr.model.RequestSelectionChangeEvent();event.selection=this.getCurrentSelection_();this.dispatchEvent(event);},onMouseEnter_(){this.setHighlight_(this.getCurrentSelection_());},onMouseLeave_(){this.clearHighlight_();}});'use strict';tr.exportTo('tr.ui.b',function(){const TableFormat={};TableFormat.SelectionMode={NONE:0,ROW:1,CELL:2};TableFormat.HighlightStyle={DEFAULT:0,NONE:1,LIGHT:2,DARK:3};TableFormat.ColumnAlignment={LEFT:0,RIGHT:1};return{TableFormat,};});'use strict';(function(){const RIGHT_ARROW=String.fromCharCode(0x25b6);const UNSORTED_ARROW=String.fromCharCode(0x25BF);const ASCENDING_ARROW=String.fromCharCode(0x25B4);const DESCENDING_ARROW=String.fromCharCode(0x25BE);const SelectionMode=tr.ui.b.TableFormat.SelectionMode;const HighlightStyle=tr.ui.b.TableFormat.HighlightStyle;const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table',created(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.customizeTableRowCallback_=undefined;this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;this.computedFontSizePx_=undefined;},ready(){this.$.body.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.$.body.addEventListener('focus',this.onFocus_.bind(this),true);},clear(){this.selectionMode_=SelectionMode.NONE;this.rowHighlightStyle_=HighlightStyle.DEFAULT;this.cellHighlightStyle_=HighlightStyle.DEFAULT;this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;Polymer.dom(this).textContent='';this.tableColumns_=[];this.tableRows_=[];this.tableRowsInfo_=new WeakMap();this.tableFooterRows_=[];this.tableFooterRowsInfo_=new WeakMap();this.sortColumnIndex_=undefined;this.sortDescending_=false;this.columnsWithExpandButtons_=[];this.headerCells_=[];this.showHeader_=true;this.emptyValue_=undefined;this.subRowsPropertyName_='subRows';this.defaultExpansionStateCallback_=undefined;this.userCanModifySortOrder_=true;},set zebra(zebra){if(zebra){this.setAttribute('zebra',true);}else{this.removeAttribute('zebra');}},get zebra(){return this.getAttribute('zebra');},get showHeader(){return this.showHeader_;},set showHeader(showHeader){this.showHeader_=showHeader;this.scheduleRebuildHeaders_();},set subRowsPropertyName(name){this.subRowsPropertyName_=name;},set defaultExpansionStateCallback(cb){this.defaultExpansionStateCallback_=cb;this.scheduleRebuildBody_();},set customizeTableRowCallback(cb){this.customizeTableRowCallback_=cb;this.scheduleRebuildBody_();},get emptyValue(){return this.emptyValue_;},set emptyValue(emptyValue){const previousEmptyValue=this.emptyValue_;this.emptyValue_=emptyValue;if(this.tableRows_.length===0&&emptyValue!==previousEmptyValue){this.scheduleRebuildBody_();}},set tableColumns(columns){let columnsWithExpandButtons=[];for(let i=0;i<columns.length;i++){if(columns[i].showExpandButtons){columnsWithExpandButtons.push(i);}}
6720if(columnsWithExpandButtons.length===0){columnsWithExpandButtons=[0];}
6721for(let i=0;i<columns.length;i++){const colInfo=columns[i];if(colInfo.width===undefined)continue;const hasExpandButton=columnsWithExpandButtons.includes(i);const w=colInfo.width;if(w){if(/\d+px/.test(w)){continue;}else if(/\d+%/.test(w)){if(hasExpandButton){throw new Error('Columns cannot be %-sized and host '+' an expand button');}}else{throw new Error('Unrecognized width string');}}}
6722let sortIndex=undefined;const currentSortColumn=this.tableColumns[this.sortColumnIndex_];if(currentSortColumn){for(const[i,column]of columns.entries()){if(currentSortColumn.title===column.title){sortIndex=i;break;}}}
6723this.tableColumns_=columns;this.headerCells_=[];this.columnsWithExpandButtons_=columnsWithExpandButtons;this.scheduleRebuildHeaders_();this.sortColumnIndex=sortIndex;this.tableRows=this.tableRows_;},get tableColumns(){return this.tableColumns_;},set tableRows(rows){this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;this.tableRows_=rows;this.tableRowsInfo_=new WeakMap();this.scheduleRebuildBody_();},get tableRows(){return this.tableRows_;},set footerRows(rows){this.tableFooterRows_=rows;this.tableFooterRowsInfo_=new WeakMap();this.scheduleRebuildFooter_();},get footerRows(){return this.tableFooterRows_;},get userCanModifySortOrder(){return this.userCanModifySortOrder_;},set userCanModifySortOrder(userCanModifySortOrder){const newUserCanModifySortOrder=!!userCanModifySortOrder;if(newUserCanModifySortOrder===this.userCanModifySortOrder_){return;}
6724this.userCanModifySortOrder_=newUserCanModifySortOrder;this.scheduleRebuildHeaders_();},set sortColumnIndex(number){if(number===this.sortColumnIndex_)return;if(number!==undefined){if(this.tableColumns_.length<=number){throw new Error('Column number '+number+' is out of bounds.');}
6725if(!this.tableColumns_[number].cmp){throw new Error('Column '+number+' does not have a comparator.');}}
6726this.sortColumnIndex_=number;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();},get sortColumnIndex(){return this.sortColumnIndex_;},set sortDescending(value){const newValue=!!value;if(newValue!==this.sortDescending_){this.sortDescending_=newValue;this.updateHeaderArrows_();this.scheduleRebuildBody_();this.dispatchSortingChangedEvent_();}},get sortDescending(){return this.sortDescending_;},updateHeaderArrows_(){for(let i=0;i<this.headerCells_.length;i++){const headerCell=this.headerCells_[i];const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(!this.tableColumns_[i].cmp||(!this.userCanModifySortOrder_&&!isColumnCurrentlySorted)){headerCell.sideContent='';continue;}
6727if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;headerCell.sideContentDisabled=false;continue;}
6728headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;headerCell.sideContentDisabled=!this.userCanModifySortOrder_;}},generateHeaderColumns_(){const selectedTableColumnIndex=this.selectedTableColumnIndex;Polymer.dom(this.$.cols).textContent='';for(let i=0;i<this.tableColumns_.length;++i){const colElement=document.createElement('col');if(i===selectedTableColumnIndex){colElement.setAttribute('selected',true);}
6729Polymer.dom(this.$.cols).appendChild(colElement);}
6730this.headerCells_=[];Polymer.dom(this.$.head).textContent='';if(!this.showHeader_)return;const tr=this.appendNewElement_(this.$.head,'tr');for(let i=0;i<this.tableColumns_.length;i++){const td=this.appendNewElement_(tr,'td');const headerCell=document.createElement('tr-ui-b-table-header-cell');headerCell.column=this.tableColumns_[i];if(this.tableColumns_[i].cmp){const isColumnCurrentlySorted=i===this.sortColumnIndex_;if(isColumnCurrentlySorted){headerCell.sideContent=this.sortDescending_?DESCENDING_ARROW:ASCENDING_ARROW;if(!this.userCanModifySortOrder_){headerCell.sideContentDisabled=true;}}
6731if(this.userCanModifySortOrder_){Polymer.dom(td).classList.add('sensitive');if(!isColumnCurrentlySorted){headerCell.sideContent=UNSORTED_ARROW;}
6732headerCell.tapCallback=this.createSortCallback_(i);}}
6733Polymer.dom(td).appendChild(headerCell);this.headerCells_.push(headerCell);}},applySizes_(){if(this.tableRows_.length===0&&!this.showHeader)return;let rowToRemoveSizing;let rowToSize;if(this.showHeader){rowToSize=Polymer.dom(this.$.head).children[0];rowToRemoveSizing=Polymer.dom(this.$.body).children[0];}else{rowToSize=Polymer.dom(this.$.body).children[0];rowToRemoveSizing=Polymer.dom(this.$.head).children[0];}
6734for(let i=0;i<this.tableColumns_.length;i++){if(rowToRemoveSizing&&Polymer.dom(rowToRemoveSizing).children[i]){const tdToRemoveSizing=Polymer.dom(rowToRemoveSizing).children[i];tdToRemoveSizing.style.minWidth='';tdToRemoveSizing.style.width='';}
6735const td=Polymer.dom(rowToSize).children[i];let delta;if(this.columnsWithExpandButtons_.includes(i)){td.style.paddingLeft=this.basicIndentation_+'px';delta=this.basicIndentation_+'px';}else{delta=undefined;}
6736function calc(base,delta){if(delta){return'calc('+base+' - '+delta+')';}
6737return base;}
6738const w=this.tableColumns_[i].width;if(w){if(/\d+px/.test(w)){td.style.minWidth=calc(w,delta);}else if(/\d+%/.test(w)){td.style.width=w;}else{throw new Error('Unrecognized width string: '+w);}}}},createSortCallback_(columnNumber){return function(){if(!this.userCanModifySortOrder_)return;const previousIndex=this.sortColumnIndex;this.sortColumnIndex=columnNumber;if(previousIndex!==columnNumber){this.sortDescending=false;}else{this.sortDescending=!this.sortDescending;}}.bind(this);},generateTableRowNodes_(tableSection,userRows,rowInfoMap,indentation,lastAddedRow,parentRowInfo){if(this.sortColumnIndex_!==undefined&&tableSection===this.$.body){userRows=userRows.slice();userRows.sort(function(rowA,rowB){let c=this.tableColumns_[this.sortColumnIndex_].cmp(rowA,rowB);if(this.sortDescending_){c=-c;}
6739return c;}.bind(this));}
6740for(let i=0;i<userRows.length;i++){const userRow=userRows[i];const rowInfo=this.getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo);const htmlNode=this.getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation);if(lastAddedRow===undefined){Polymer.dom(tableSection).insertBefore(htmlNode,Polymer.dom(tableSection).firstChild);}else{const nextSiblingOfLastAdded=Polymer.dom(lastAddedRow).nextSibling;Polymer.dom(tableSection).insertBefore(htmlNode,nextSiblingOfLastAdded);}
6741lastAddedRow=htmlNode;if(!rowInfo.isExpanded)continue;lastAddedRow=this.generateTableRowNodes_(tableSection,userRow[this.subRowsPropertyName_],rowInfoMap,indentation+1,lastAddedRow,rowInfo);}
6742return lastAddedRow;},getOrCreateRowInfoFor_(rowInfoMap,userRow,parentRowInfo){let rowInfo=undefined;if(rowInfoMap.has(userRow)){rowInfo=rowInfoMap.get(userRow);}else{rowInfo={userRow,htmlNode:undefined,parentRowInfo};rowInfoMap.set(userRow,rowInfo);}
6743rowInfo.isExpanded=this.getExpandedForUserRow_(userRow);return rowInfo;},customizeTableRow_(userRow,trElement){if(!this.customizeTableRowCallback_)return;this.customizeTableRowCallback_(userRow,trElement);},get basicIndentation_(){if(this.computedFontSizePx_===undefined){this.computedFontSizePx_=parseInt(getComputedStyle(this).fontSize)||16;}
6744return this.computedFontSizePx_-2;},getHTMLNodeForRowInfo_(tableSection,rowInfo,rowInfoMap,indentation){if(rowInfo.htmlNode){this.customizeTableRow_(rowInfo.userRow,rowInfo.htmlNode);return rowInfo.htmlNode;}
6745const INDENT_SPACE=indentation*16;const INDENT_SPACE_NO_BUTTON=indentation*16+this.basicIndentation_;const trElement=this.ownerDocument.createElement('tr');rowInfo.htmlNode=trElement;rowInfo.indentation=indentation;trElement.rowInfo=rowInfo;this.customizeTableRow_(rowInfo.userRow,trElement);const isBodyRow=tableSection===this.$.body;const isExpandableRow=rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length;for(let i=0;i<this.tableColumns_.length;){const td=this.appendNewElement_(trElement,'td');td.columnIndex=i;const column=this.tableColumns_[i];const value=column.value(rowInfo.userRow);const colSpan=column.colSpan?column.colSpan:1;td.style.colSpan=colSpan;switch(column.align){case undefined:case ColumnAlignment.LEFT:break;case ColumnAlignment.RIGHT:td.style.textAlign='right';break;default:throw new Error('Invalid alignment of column at index='+i+': '+column.align);}
6746if(this.doesColumnIndexSupportSelection(i)){Polymer.dom(td).classList.add('supports-selection');}
6747if(this.columnsWithExpandButtons_.includes(i)){if(rowInfo.userRow[this.subRowsPropertyName_]&&rowInfo.userRow[this.subRowsPropertyName_].length>0){td.style.paddingLeft=INDENT_SPACE+'px';td.style.display='flex';const expandButton=this.appendNewElement_(td,'expand-button');Polymer.dom(expandButton).textContent=RIGHT_ARROW;if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');}}else{td.style.paddingLeft=INDENT_SPACE_NO_BUTTON+'px';}}
6748if(value!==undefined){Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(value,this.ownerDocument));}
6749td.addEventListener('click',function(i,clickEvent){clickEvent.preventDefault();if(!isBodyRow&&!isExpandableRow)return;clickEvent.stopPropagation();if(clickEvent.target.tagName==='EXPAND-BUTTON'){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);return;}
6750if(isBodyRow&&this.selectionMode_!==SelectionMode.NONE){let shouldSelect=false;let shouldFocus=false;switch(this.selectionMode_){case SelectionMode.ROW:shouldSelect=this.selectedTableRowInfo_!==rowInfo;shouldFocus=true;break;case SelectionMode.CELL:if(this.doesColumnIndexSupportSelection(i)){shouldSelect=this.selectedTableRowInfo_!==rowInfo||this.selectedColumnIndex_!==i;shouldFocus=true;}
6751break;default:throw new Error('Invalid selection mode '+
6752this.selectionMode_);}
6753if(shouldFocus){this.focus();}
6754if(shouldSelect){this.didTableRowInfoGetClicked_(rowInfo,i);return;}}
6755if(isExpandableRow){this.setExpandedForUserRow_(tableSection,rowInfoMap,rowInfo.userRow,!rowInfo.isExpanded);}}.bind(this,i));if(isBodyRow){td.addEventListener('dblclick',function(i,e){e.stopPropagation();this.dispatchStepIntoEvent_(rowInfo,i);}.bind(this,i));}
6756i+=colSpan;}
6757return rowInfo.htmlNode;},removeSubNodes_(tableSection,rowInfo,rowInfoMap){if(rowInfo.userRow[this.subRowsPropertyName_]===undefined)return;for(let i=0;i<rowInfo.userRow[this.subRowsPropertyName_].length;i++){const subRow=rowInfo.userRow[this.subRowsPropertyName_][i];const subRowInfo=rowInfoMap.get(subRow);if(!subRowInfo)continue;const subNode=subRowInfo.htmlNode;if(subNode&&Polymer.dom(subNode).parentNode===tableSection){Polymer.dom(tableSection).removeChild(subNode);this.removeSubNodes_(tableSection,subRowInfo,rowInfoMap);}}},scheduleRebuildHeaders_(){this.headerDirty_=true;this.scheduleRebuild_();},scheduleRebuildBody_(){this.bodyDirty_=true;this.scheduleRebuild_();},scheduleRebuildFooter_(){this.footerDirty_=true;this.scheduleRebuild_();},scheduleRebuild_(){if(this.rebuildPending_)return;this.rebuildPending_=true;setTimeout(function(){this.rebuildPending_=false;this.rebuild();}.bind(this),0);},rebuildIfNeeded_(){this.rebuild();},rebuild(){const wasBodyOrHeaderDirty=this.headerDirty_||this.bodyDirty_;if(this.headerDirty_){this.generateHeaderColumns_();this.headerDirty_=false;}
6758if(this.bodyDirty_){Polymer.dom(this.$.body).textContent='';this.generateTableRowNodes_(this.$.body,this.tableRows_,this.tableRowsInfo_,0,undefined,undefined);if(this.tableRows_.length===0&&this.emptyValue_!==undefined){const trElement=this.ownerDocument.createElement('tr');Polymer.dom(this.$.body).appendChild(trElement);Polymer.dom(trElement).classList.add('empty-row');const td=this.ownerDocument.createElement('td');Polymer.dom(trElement).appendChild(td);td.colSpan=this.tableColumns_.length;const emptyValue=this.emptyValue_;Polymer.dom(td).appendChild(tr.ui.b.asHTMLOrTextNode(emptyValue,this.ownerDocument));}
6759this.bodyDirty_=false;}
6760if(wasBodyOrHeaderDirty)this.applySizes_();if(this.footerDirty_){Polymer.dom(this.$.foot).textContent='';this.generateTableRowNodes_(this.$.foot,this.tableFooterRows_,this.tableFooterRowsInfo_,0,undefined,undefined);if(this.tableFooterRowsInfo_.length){Polymer.dom(this.$.body).classList.add('has-footer');}else{Polymer.dom(this.$.body).classList.remove('has-footer');}
6761this.footerDirty_=false;}},appendNewElement_(parent,tagName){const element=parent.ownerDocument.createElement(tagName);Polymer.dom(parent).appendChild(element);return element;},getExpandedForTableRow(userRow){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6762return rowInfo.isExpanded;},getExpandedForUserRow_(userRow){if(userRow[this.subRowsPropertyName_]===undefined){return false;}
6763if(userRow[this.subRowsPropertyName_].length===0){return false;}
6764if(userRow.isExpanded){return true;}
6765if((userRow.isExpanded!==undefined)&&(userRow.isExpanded===false)){return false;}
6766const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo&&rowInfo.isExpanded){return true;}
6767if(this.defaultExpansionStateCallback_===undefined){return false;}
6768let parentUserRow=undefined;if(rowInfo&&rowInfo.parentRowInfo){parentUserRow=rowInfo.parentRowInfo.userRow;}
6769return this.defaultExpansionStateCallback_(userRow,parentUserRow);},setExpandedForTableRow(userRow,expanded){this.rebuildIfNeeded_();const rowInfo=this.tableRowsInfo_.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6770return this.setExpandedForUserRow_(this.$.body,this.tableRowsInfo_,userRow,expanded);},setExpandedForUserRow_(tableSection,rowInfoMap,userRow,expanded){this.rebuildIfNeeded_();const rowInfo=rowInfoMap.get(userRow);if(rowInfo===undefined){throw new Error('Row has not been seen, must expand its parents');}
6771const wasExpanded=rowInfo.isExpanded;rowInfo.isExpanded=!!expanded;if(rowInfo.htmlNode===undefined)return;if(rowInfo.htmlNode.parentElement!==tableSection){return;}
6772const expandButton=Polymer.dom(rowInfo.htmlNode).querySelector('expand-button');if(rowInfo.isExpanded){Polymer.dom(expandButton).classList.add('button-expanded');const lastAddedRow=rowInfo.htmlNode;if(rowInfo.userRow[this.subRowsPropertyName_]){this.generateTableRowNodes_(tableSection,rowInfo.userRow[this.subRowsPropertyName_],rowInfoMap,rowInfo.indentation+1,lastAddedRow,rowInfo);}}else{Polymer.dom(expandButton).classList.remove('button-expanded');this.removeSubNodes_(tableSection,rowInfo,rowInfoMap);}
6773if(wasExpanded!==rowInfo.isExpanded){const e=new tr.b.Event('row-expanded-changed');e.row=rowInfo.userRow;this.dispatchEvent(e);}
6774this.maybeUpdateSelectedRow_();},get selectionMode(){return this.selectionMode_;},set selectionMode(selectionMode){if(!tr.b.dictionaryContainsValue(SelectionMode,selectionMode)){throw new Error('Invalid selection mode '+selectionMode);}
6775this.rebuildIfNeeded_();this.selectionMode_=selectionMode;this.didSelectionStateChange_();},get rowHighlightStyle(){return this.rowHighlightStyle_;},set rowHighlightStyle(rowHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,rowHighlightStyle)){throw new Error('Invalid row highlight style '+rowHighlightStyle);}
6776this.rebuildIfNeeded_();this.rowHighlightStyle_=rowHighlightStyle;this.didSelectionStateChange_();},get resolvedRowHighlightStyle(){if(this.rowHighlightStyle_!==HighlightStyle.DEFAULT){return this.rowHighlightStyle_;}
6777switch(this.selectionMode_){case SelectionMode.NONE:return HighlightStyle.NONE;case SelectionMode.ROW:return HighlightStyle.DARK;case SelectionMode.CELL:return HighlightStyle.LIGHT;default:throw new Error('Invalid selection mode '+selectionMode);}},get cellHighlightStyle(){return this.cellHighlightStyle_;},set cellHighlightStyle(cellHighlightStyle){if(!tr.b.dictionaryContainsValue(HighlightStyle,cellHighlightStyle)){throw new Error('Invalid cell highlight style '+cellHighlightStyle);}
6778this.rebuildIfNeeded_();this.cellHighlightStyle_=cellHighlightStyle;this.didSelectionStateChange_();},get resolvedCellHighlightStyle(){if(this.cellHighlightStyle_!==HighlightStyle.DEFAULT){return this.cellHighlightStyle_;}
6779switch(this.selectionMode_){case SelectionMode.NONE:case SelectionMode.ROW:return HighlightStyle.NONE;case SelectionMode.CELL:return HighlightStyle.DARK;default:throw new Error('Invalid selection mode '+selectionMode);}},setHighlightStyle_(highlightAttribute,resolvedHighlightStyle){switch(resolvedHighlightStyle){case HighlightStyle.NONE:Polymer.dom(this.$.body).removeAttribute(highlightAttribute);break;case HighlightStyle.LIGHT:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'light');break;case HighlightStyle.DARK:Polymer.dom(this.$.body).setAttribute(highlightAttribute,'dark');break;default:throw new Error('Invalid resolved highlight style '+
6780resolvedHighlightStyle);}},didSelectionStateChange_(){this.setHighlightStyle_('row-highlight-style',this.resolvedRowHighlightStyle);this.setHighlightStyle_('cell-highlight-style',this.resolvedCellHighlightStyle);this.removeSelectedState_();switch(this.selectionMode_){case SelectionMode.ROW:Polymer.dom(this.$.body).setAttribute('selection-mode','row');Polymer.dom(this.$.body).setAttribute('tabindex',0);this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:Polymer.dom(this.$.body).setAttribute('selection-mode','cell');Polymer.dom(this.$.body).setAttribute('tabindex',0);if(this.selectedTableRowInfo_&&this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){this.selectedTableRowInfo_=undefined;}else{this.selectedColumnIndex_=i;}}
6781break;case SelectionMode.NONE:Polymer.dom(this.$.body).removeAttribute('selection-mode');Polymer.dom(this.$.body).removeAttribute('tabindex');this.$.body.blur();this.selectedTableRowInfo_=undefined;this.selectedColumnIndex_=undefined;break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6782this.maybeUpdateSelectedRow_();},maybeUpdateSelectedRow_(){if(this.selectedTableRowInfo_===undefined)return;function isVisible(rowInfo){if(!rowInfo.htmlNode)return false;return!!rowInfo.htmlNode.parentElement;}
6783if(isVisible(this.selectedTableRowInfo_)){this.updateSelectedState_();return;}
6784this.removeSelectedState_();let curRowInfo=this.selectedTableRowInfo_;while(curRowInfo&&!isVisible(curRowInfo)){curRowInfo=curRowInfo.parentRowInfo;}
6785this.selectedTableRowInfo_=curRowInfo;if(this.selectedTableRowInfo_){this.updateSelectedState_();}else{this.selectedColumnIndex_=undefined;}},didTableRowInfoGetClicked_(rowInfo,columnIndex){switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.CELL:if(!this.doesColumnIndexSupportSelection(columnIndex)){return;}
6786if(this.selectedColumnIndex!==columnIndex){this.selectedColumnIndex=columnIndex;}
6787case SelectionMode.ROW:if(this.selectedTableRowInfo_!==rowInfo){this.selectedTableRow=rowInfo.userRow;}}},dispatchStepIntoEvent_(rowInfo,columnIndex){const e=new tr.b.Event('step-into');e.tableRow=rowInfo.userRow;e.tableColumn=this.tableColumns_[columnIndex];e.columnIndex=columnIndex;this.dispatchEvent(e);},get selectedCell(){const row=this.selectedTableRow;const columnIndex=this.selectedColumnIndex;if(row===undefined||columnIndex===undefined||this.tableColumns_.length<=columnIndex){return undefined;}
6788const column=this.tableColumns_[columnIndex];return{row,column,value:column.value(row)};},get selectedTableColumnIndex(){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(cols[i].getAttribute('selected')){return i;}}
6789return undefined;},set selectedTableColumnIndex(selectedIndex){const cols=Polymer.dom(this.$.cols).children;for(let i=0;i<cols.length;++i){if(i===selectedIndex){cols[i].setAttribute('selected',true);}else{cols[i].removeAttribute('selected');}}},get selectedTableRow(){if(!this.selectedTableRowInfo_)return undefined;return this.selectedTableRowInfo_.userRow;},set selectedTableRow(userRow){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');}
6790let rowInfo;if(userRow===undefined){rowInfo=undefined;}else{rowInfo=this.tableRowsInfo_.get(userRow);if(!rowInfo){throw new Error('Row has not been seen, must expand its parents.');}}
6791const e=this.prepareToChangeSelection_();if(!rowInfo){this.selectedColumnIndex_=undefined;}else{switch(this.selectionMode_){case SelectionMode.ROW:this.selectedColumnIndex_=undefined;break;case SelectionMode.CELL:if(this.selectedColumnIndex_===undefined){const i=this.getFirstSelectableColumnIndex_();if(i===-1){throw new Error('Cannot find a selectable column.');}
6792this.selectedColumnIndex_=i;}
6793break;default:throw new Error('Invalid selection mode '+this.selectionMode_);}}
6794this.selectedTableRowInfo_=rowInfo;this.updateSelectedState_();this.dispatchEvent(e);},prepareToChangeSelection_(){const e=new tr.b.Event('selection-changed');const previousSelectedRowInfo=this.selectedTableRowInfo_;if(previousSelectedRowInfo){e.previousSelectedTableRow=previousSelectedRowInfo.userRow;}else{e.previousSelectedTableRow=undefined;}
6795this.removeSelectedState_();return e;},removeSelectedState_(){this.setSelectedState_(false);},updateSelectedState_(){this.setSelectedState_(true);},setSelectedState_(select){if(this.selectedTableRowInfo_===undefined)return;const rowNode=this.selectedTableRowInfo_.htmlNode;if(select){Polymer.dom(rowNode).setAttribute('selected',true);}else{Polymer.dom(rowNode).removeAttribute('selected');}
6796const cellNode=Polymer.dom(rowNode).children[this.selectedColumnIndex_];if(!cellNode)return;if(select){Polymer.dom(cellNode).setAttribute('selected',true);}else{Polymer.dom(cellNode).removeAttribute('selected');}},doesColumnIndexSupportSelection(columnIndex){const columnInfo=this.tableColumns_[columnIndex];const scs=columnInfo.supportsCellSelection;if(scs===false)return false;return true;},getFirstSelectableColumnIndex_(){for(let i=0;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){return i;}}
6797return-1;},getSelectableNodeGivenTableRowNode_(htmlNode){switch(this.selectionMode_){case SelectionMode.ROW:return htmlNode;case SelectionMode.CELL:return Polymer.dom(htmlNode).children[this.selectedColumnIndex_];default:throw new Error('Invalid selection mode '+this.selectionMode_);}},get selectedColumnIndex(){if(this.selectionMode_!==SelectionMode.CELL){return undefined;}
6798return this.selectedColumnIndex_;},set selectedColumnIndex(selectedColumnIndex){this.rebuildIfNeeded_();if(this.selectionMode_===SelectionMode.NONE){throw new Error('Selection is off.');}
6799if(selectedColumnIndex<0||selectedColumnIndex>=this.tableColumns_.length){throw new Error('Invalid index');}
6800if(!this.doesColumnIndexSupportSelection(selectedColumnIndex)){throw new Error('Selection is not supported on this column');}
6801const e=this.prepareToChangeSelection_();if(this.selectedColumnIndex_===undefined){this.selectedTableRowInfo_=undefined;}else if(!this.selectedTableRowInfo_){if(this.tableRows_.length===0){throw new Error('No available row to be selected');}
6802this.selectedTableRowInfo_=this.tableRowsInfo_.get(this.tableRows_[0]);}
6803this.selectedColumnIndex_=selectedColumnIndex;this.updateSelectedState_();this.dispatchEvent(e);},onKeyDown_(e){if(this.selectionMode_===SelectionMode.NONE)return;const CODE_TO_COMMAND_NAMES={13:'ENTER',32:'SPACE',37:'ARROW_LEFT',38:'ARROW_UP',39:'ARROW_RIGHT',40:'ARROW_DOWN'};const cmdName=CODE_TO_COMMAND_NAMES[e.keyCode];if(cmdName===undefined)return;e.stopPropagation();e.preventDefault();this.performKeyCommand_(cmdName);},onFocus_(e){if(this.selectionMode_===SelectionMode.NONE||this.selectedTableRow||this.tableRows_.length===0){return;}
6804if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6805this.selectedTableRow=this.tableRows_[0];},focus(){this.$.body.focus();this.onFocus_();},blur(){this.$.body.blur();},get isFocused(){return this.root.activeElement===this.$.body;},performKeyCommand_(cmdName){this.rebuildIfNeeded_();switch(cmdName){case'ARROW_UP':this.selectPreviousOrFirstRowIfPossible_();return;case'ARROW_DOWN':this.selectNextOrFirstRowIfPossible_();return;case'ARROW_RIGHT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.expandRowAndSelectChildRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheRightIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6806case'ARROW_LEFT':switch(this.selectionMode_){case SelectionMode.NONE:return;case SelectionMode.ROW:this.collapseRowOrSelectParentRowIfPossible_();return;case SelectionMode.CELL:this.selectNextSelectableCellToTheLeftIfPossible_();return;default:throw new Error('Invalid selection mode '+this.selectionMode_);}
6807case'SPACE':this.toggleRowExpansionStateIfPossible_();return;case'ENTER':this.stepIntoSelectionIfPossible_();return;default:throw new Error('Unrecognized command '+cmdName);}},selectPreviousOrFirstRowIfPossible_(){const prev=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.previousElementSibling:this.$.body.firstChild;if(!prev)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6808tr.ui.b.scrollIntoViewIfNeeded(prev);this.selectedTableRow=prev.rowInfo.userRow;},selectNextOrFirstRowIfPossible_(){this.getFirstSelectableColumnIndex_;const next=this.selectedTableRowInfo_?this.selectedTableRowInfo_.htmlNode.nextElementSibling:this.$.body.firstChild;if(!next)return;if(this.selectionMode_===SelectionMode.CELL&&this.getFirstSelectableColumnIndex_()===-1){return;}
6809tr.ui.b.scrollIntoViewIfNeeded(next);this.selectedTableRow=next.rowInfo.userRow;},expandRowAndSelectChildRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
6810if(!selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,true);}
6811this.selectedTableRow=selectedRowInfo.htmlNode.nextElementSibling.rowInfo.userRow;},collapseRowOrSelectParentRowIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo)return;if(selectedRowInfo.isExpanded){this.setExpandedForTableRow(selectedRowInfo.userRow,false);}else{const parentRowInfo=selectedRowInfo.parentRowInfo;if(parentRowInfo){this.selectedTableRow=parentRowInfo.userRow;}}},selectNextSelectableCellToTheRightIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
6812for(let i=this.selectedColumnIndex_+1;i<this.tableColumns_.length;i++){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},selectNextSelectableCellToTheLeftIfPossible_(){if(!this.selectedTableRowInfo_||this.selectedColumnIndex_===undefined){return;}
6813for(let i=this.selectedColumnIndex_-1;i>=0;i--){if(this.doesColumnIndexSupportSelection(i)){this.selectedColumnIndex=i;return;}}},toggleRowExpansionStateIfPossible_(){const selectedRowInfo=this.selectedTableRowInfo_;if(!selectedRowInfo||selectedRowInfo.userRow[this.subRowsPropertyName_]===undefined||selectedRowInfo.userRow[this.subRowsPropertyName_].length===0){return;}
6814this.setExpandedForTableRow(selectedRowInfo.userRow,!selectedRowInfo.isExpanded);},stepIntoSelectionIfPossible_(){if(!this.selectedTableRowInfo_)return;this.dispatchStepIntoEvent_(this.selectedTableRowInfo_,this.selectedColumnIndex_);},dispatchSortingChangedEvent_(){const e=new tr.b.Event('sort-column-changed');e.sortColumnIndex=this.sortColumnIndex_;e.sortDescending=this.sortDescending_;this.dispatchEvent(e);}});})();'use strict';const ColumnAlignment=tr.ui.b.TableFormat.ColumnAlignment;Polymer({is:'tr-ui-b-table-header-cell',created(){this.tapCallback_=undefined;this.cellTitle_='';this.align_=undefined;this.selectable_=false;this.column_=undefined;},ready(){this.addEventListener('click',this.onTap_.bind(this));},set column(column){this.column_=column;this.align=column.align;this.cellTitle=column.title;},get column(){return this.column_;},set cellTitle(value){this.cellTitle_=value;const titleNode=tr.ui.b.asHTMLOrTextNode(this.cellTitle_,this.ownerDocument);this.$.title.innerText='';Polymer.dom(this.$.title).appendChild(titleNode);},get cellTitle(){return this.cellTitle_;},set align(align){switch(align){case undefined:case ColumnAlignment.LEFT:this.style.justifyContent='';break;case ColumnAlignment.RIGHT:this.style.justifyContent='flex-end';break;default:throw new Error('Invalid alignment of column (title=\''+
6815this.cellTitle_+'\'): '+align);}
6816this.align_=align;},get align(){return this.align_;},clearSideContent(){Polymer.dom(this.$.side).textContent='';},set sideContent(content){Polymer.dom(this.$.side).textContent=content;this.$.side.style.display=content?'inline':'none';},get sideContent(){return Polymer.dom(this.$.side).textContent;},set sideContentDisabled(sideContentDisabled){this.$.side.classList.toggle('disabled',sideContentDisabled);},get sideContentDisabled(){return this.$.side.classList.contains('disabled');},set tapCallback(callback){this.style.cursor='pointer';this.tapCallback_=callback;},get tapCallback(){return this.tapCallback_;},onTap_(){if(this.tapCallback_){this.tapCallback_();}}});'use strict';tr.exportTo('tr.b.math',function(){class RunningStatistics{constructor(){this.mean_=0;this.count_=0;this.max_=-Infinity;this.min_=Infinity;this.sum_=0;this.variance_=0;this.meanlogs_=0;}
6817get count(){return this.count_;}
6818get geometricMean(){if(this.meanlogs_===undefined)return 0;return Math.exp(this.meanlogs_);}
6819get mean(){if(this.count_===0)return undefined;return this.mean_;}
6820get max(){return this.max_;}
6821get min(){return this.min_;}
6822get sum(){return this.sum_;}
6823get variance(){if(this.count_===0)return undefined;if(this.count_===1)return 0;return this.variance_/(this.count_-1);}
6824get stddev(){if(this.count_===0)return undefined;return Math.sqrt(this.variance);}
6825add(x){this.count_++;this.max_=Math.max(this.max_,x);this.min_=Math.min(this.min_,x);this.sum_+=x;if(x<=0){this.meanlogs_=undefined;}else if(this.meanlogs_!==undefined){this.meanlogs_+=(Math.log(Math.abs(x))-this.meanlogs_)/this.count;}
6826if(this.count_===1){this.mean_=x;this.variance_=0;}else{const oldMean=this.mean_;const oldVariance=this.variance_;if(oldMean===Infinity||oldMean===-Infinity){this.mean_=this.sum_/this.count_;}else{this.mean_=oldMean+(x-oldMean)/this.count_;}
6827this.variance_=oldVariance+(x-oldMean)*(x-this.mean_);}}
6828merge(other){const result=new RunningStatistics();result.count_=this.count_+other.count_;result.sum_=this.sum_+other.sum_;result.min_=Math.min(this.min_,other.min_);result.max_=Math.max(this.max_,other.max_);if(result.count===0){result.mean_=0;result.variance_=0;result.meanlogs_=0;}else{result.mean_=result.sum/result.count;const deltaMean=(this.mean||0)-(other.mean||0);result.variance_=this.variance_+other.variance_+
6829(this.count*other.count*deltaMean*deltaMean/result.count);if(this.meanlogs_===undefined||other.meanlogs_===undefined){result.meanlogs_=undefined;}else{result.meanlogs_=(this.count*this.meanlogs_+
6830other.count*other.meanlogs_)/result.count;}}
6831return result;}
6832asDict(){if(!this.count){return[];}
6833return[this.count_,this.max_,this.meanlogs_,this.mean_,this.min_,this.sum_,this.variance_,];}
6834static fromDict(dict){const result=new RunningStatistics();if(dict.length!==7){return result;}
6835[result.count_,result.max_,result.meanlogs_,result.mean_,result.min_,result.sum_,result.variance_,]=dict;return result;}}
6836return{RunningStatistics,};});'use strict';tr.exportTo('tr.v.d',function(){class Diagnostic{constructor(){this.guid_=undefined;}
6837clone(){return new this.constructor();}
6838canAddDiagnostic(otherDiagnostic){return false;}
6839addDiagnostic(otherDiagnostic){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');}
6840get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();}
6841return this.guid_;}
6842set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');}
6843this.guid_=guid;}
6844asDictOrReference(){if(this.guid_!==undefined){return this.guid_;}
6845return this.asDict();}
6846asDict(){const result={type:this.constructor.name};if(this.guid_!==undefined){result.guid=this.guid_;}
6847this.asDictInto_(result);return result;}
6848asDictInto_(d){throw new Error('Abstract virtual method: subclasses must override '+'this method if they override canAddDiagnostic');}
6849static fromDict(d){const typeInfo=Diagnostic.findTypeInfoWithName(d.type);if(!typeInfo){throw new Error('Unrecognized diagnostic type: '+d.type);}
6850const diagnostic=typeInfo.constructor.fromDict(d);if(d.guid!==undefined)diagnostic.guid=d.guid;return diagnostic;}}
6851const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Diagnostic;tr.b.decorateExtensionRegistry(Diagnostic,options);Diagnostic.addEventListener('will-register',function(e){const constructor=e.typeInfo.constructor;if(!(constructor.fromDict instanceof Function)||(constructor.fromDict===Diagnostic.fromDict)||(constructor.fromDict.length!==1)){throw new Error('Diagnostics must define fromDict(d)');}});return{Diagnostic,};});'use strict';tr.exportTo('tr.v.d',function(){class Breakdown extends tr.v.d.Diagnostic{constructor(){super();this.values_=new Map();this.colorScheme=undefined;}
6852clone(){const clone=new Breakdown();clone.colorScheme=this.colorScheme;clone.addDiagnostic(this);return clone;}
6853canAddDiagnostic(otherDiagnostic){return((otherDiagnostic instanceof Breakdown)&&(otherDiagnostic.colorScheme===this.colorScheme));}
6854addDiagnostic(otherDiagnostic){for(const[name,value]of otherDiagnostic){this.set(name,this.get(name)+value);}
6855return this;}
6856set(name,value){if(typeof name!=='string'||typeof value!=='number'){throw new Error('Breakdown maps from strings to numbers');}
6857this.values_.set(name,value);}
6858get(name){return this.values_.get(name)||0;}*[Symbol.iterator](){for(const pair of this.values_){yield pair;}}
6859asDictInto_(d){d.values={};for(const[name,value]of this){d.values[name]=tr.b.numberToJson(value);}
6860if(this.colorScheme){d.colorScheme=this.colorScheme;}}
6861static fromDict(d){const breakdown=new Breakdown();for(const[name,value]of Object.entries(d.values)){breakdown.set(name,tr.b.numberFromJson(value));}
6862if(d.colorScheme){breakdown.colorScheme=d.colorScheme;}
6863return breakdown;}}
6864tr.v.d.Diagnostic.register(Breakdown,{elementName:'tr-v-ui-breakdown-span'});return{Breakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class BuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterName_=info.displayMasterName||'';this.displayBotName_=info.displayBotName||'';this.buildbotMasterName_=info.buildbotMasterName||'';this.buildbotName_=info.buildbotName||'';this.buildNumber_=info.buildNumber||0;this.logUri_=info.logUri||'';}
6865addToHistogram(hist){hist.diagnostics.set(BuildbotInfo.NAME,this);}
6866clone(){const clone=new tr.v.d.MergedBuildbotInfo();clone.addDiagnostic(this);return clone;}
6867asDictInto_(d){d.displayMasterName=this.displayMasterName;d.displayBotName=this.displayBotName;d.buildbotMasterName=this.buildbotMasterName;d.buildbotName=this.buildbotName;d.buildNumber=this.buildNumber;d.logUri=this.logUri;}
6868get displayMasterName(){return this.displayMasterName_;}
6869get displayBotName(){return this.displayBotName_;}
6870get buildbotMasterName(){return this.buildbotMasterName_;}
6871get buildbotName(){return this.buildbotName_;}
6872get buildNumber(){return this.buildNumber_;}
6873get logUri(){return this.logUri_;}
6874static fromDict(d){return new BuildbotInfo(d);}
6875static getFromHistogram(hist){return hist.diagnostics.get(BuildbotInfo.NAME);}
6876static getField(hist,fieldName,defaultValue){const buildbot=BuildbotInfo.getFromHistogram(hist);if(!(buildbot instanceof tr.v.d.BuildbotInfo)||!buildbot[fieldName]){return defaultValue;}
6877return buildbot[fieldName];}}
6878BuildbotInfo.NAME='buildbot';tr.v.d.Diagnostic.register(BuildbotInfo,{elementName:'tr-v-ui-buildbot-info-span'});return{BuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Generic extends tr.v.d.Diagnostic{constructor(value){super();this.value=value;}
6879clone(){const clone=new tr.v.d.CollectedGeneric();clone.addDiagnostic(this);return clone;}
6880asDictInto_(d){d.value=this.value;}
6881static fromDict(d){return new Generic(d.value);}}
6882tr.v.d.Diagnostic.register(Generic,{elementName:'tr-v-ui-generic-diagnostic-span'});return{Generic,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedGeneric extends tr.v.d.Generic{constructor(){super([]);}
6883canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.Generic;}
6884addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof CollectedGeneric){this.value.push(...otherDiagnostic.value);}else{this.value.push(otherDiagnostic.value);}}}
6885tr.v.d.Diagnostic.register(CollectedGeneric,{elementName:'tr-v-ui-generic-diagnostic-span'});return{CollectedGeneric,};});'use strict';tr.exportTo('tr.v.d',function(){class CollectedRelatedEventSet extends tr.v.d.Diagnostic{constructor(){super();this.eventSetsByCanonicalUrl_=new Map();}
6886asDictInto_(d){d.events={};for(const[canonicalUrl,eventSet]of this){d.events[canonicalUrl]=[];for(const event of eventSet){d.events[canonicalUrl].push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}}
6887static fromDict(d){const result=new CollectedRelatedEventSet();for(const[canonicalUrl,events]of Object.entries(d.events)){result.eventSetsByCanonicalUrl_.set(canonicalUrl,events.map(e=>new tr.v.d.EventRef(e)));}
6888return result;}
6889get size(){return this.eventSetsByCanonicalUrl_.size;}
6890get(canonicalUrl){return this.eventSetsByCanonicalUrl_.get(canonicalUrl);}*[Symbol.iterator](){for(const[canonicalUrl,eventSet]of this.eventSetsByCanonicalUrl_){yield[canonicalUrl,eventSet];}}
6891canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof tr.v.d.RelatedEventSet||otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet;}
6892addEventSetForCanonicalUrl(canonicalUrl,events){let myEventSet=this.eventSetsByCanonicalUrl_.get(canonicalUrl);if(myEventSet===undefined){myEventSet=new Set();this.eventSetsByCanonicalUrl_.set(canonicalUrl,myEventSet);}
6893for(const event of events){myEventSet.add(event);}}
6894addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof tr.v.d.CollectedRelatedEventSet){for(const[canonicalUrl,otherEventSet]of otherDiagnostic){this.addEventSetForCanonicalUrl(canonicalUrl,otherEventSet);}
6895return;}
6896if(!otherDiagnostic.canonicalUrl)return;this.addEventSetForCanonicalUrl(otherDiagnostic.canonicalUrl,otherDiagnostic);}}
6897tr.v.d.Diagnostic.register(CollectedRelatedEventSet,{elementName:'tr-v-ui-collected-related-event-set-span'});return{CollectedRelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){class DeviceInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromeVersion_=info.chromeVersion||'';this.osName_=info.osName||'';this.osVersion_=info.osVersion||'';this.gpuInfo_=info.gpuInfo||undefined;this.arch_=info.arch||undefined;this.ram_=info.ram||0;}
6898addToHistogram(hist){hist.diagnostics.set(DeviceInfo.NAME,this);}
6899static getFromHistogram(hist){return hist.diagnostics.get(DeviceInfo.NAME);}
6900clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;}
6901asDictInto_(d){d.chromeVersion=this.chromeVersion;d.osName=this.osName;d.osVersion=this.osVersion;d.gpuInfo=this.gpuInfo;d.arch=this.arch;d.ram=this.ram;}
6902static fromDict(d){return new DeviceInfo(d);}
6903get chromeVersion(){return this.chromeVersion_;}
6904get osName(){return this.osName_;}
6905get osVersion(){return this.osVersion_;}
6906get gpuInfo(){return this.gpuInfo_;}
6907get arch(){return this.arch_;}
6908get ram(){return this.ram_;}}
6909DeviceInfo.NAME='device';tr.v.d.Diagnostic.register(DeviceInfo,{elementName:'tr-v-ui-device-info-span'});return{DeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class DiagnosticRef{constructor(guid){this.guid=guid;}
6910asDict(){return this.guid;}}
6911return{DiagnosticRef,};});'use strict';tr.exportTo('tr.v.d',function(){class GroupingPath extends tr.v.d.Diagnostic{constructor(groupingPath){super();this.groupingPath_=groupingPath;}
6912clone(){return new GroupingPath(Array.from(this.groupingPath_));}
6913addToHistogram(hist){hist.diagnostics.set(GroupingPath.NAME,this);}
6914static getFromHistogram(hist){return hist.diagnostics.get(GroupingPath.NAME);}
6915equals(other){return 0===tr.b.compareArrays(this.groupingPath_,other.groupingPath_,(x,y)=>x.localeCompare(y));}
6916asDictInto_(d){d.groupingPath=this.groupingPath_;}
6917static fromDict(d){return new GroupingPath(d.groupingPath);}}
6918GroupingPath.NAME='grouping path';tr.v.d.Diagnostic.register(GroupingPath);return{GroupingPath,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedBuildbotInfo extends tr.v.d.Diagnostic{constructor(info){super();this.displayMasterNames_=new Set();this.displayBotNames_=new Set();this.buildbotMasterNames_=new Set();this.buildbotNames_=new Set();this.buildNumbers_=new Set();this.logUris_=new Set();}
6919clone(){const clone=new MergedBuildbotInfo();clone.addDiagnostic(this);return clone;}
6920addToHistogram(hist){hist.diagnostics.set(tr.v.d.BuildbotInfo.NAME,this);}
6921equals(other){if(!(other instanceof MergedBuildbotInfo))return false;if(!tr.b.setsEqual(this.displayMasterNames,other.displayMasterNames)){return false;}
6922if(!tr.b.setsEqual(this.displayBotNames,other.displayBotNames)){return false;}
6923if(!tr.b.setsEqual(this.buildbotMasterNames,other.buildbotMasterNames)){return false;}
6924if(!tr.b.setsEqual(this.buildbotNames,other.buildbotNames)){return false;}
6925if(!tr.b.setsEqual(this.buildNumbers,other.buildNumbers))return false;if(!tr.b.setsEqual(this.logUris,other.logUris))return false;return true;}
6926canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedBuildbotInfo||otherDiagnostic instanceof tr.v.d.BuildbotInfo;}
6927addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedBuildbotInfo){for(const name of otherDiagnostic.displayMasterNames){this.displayMasterNames.add(name);}
6928for(const name of otherDiagnostic.displayBotNames){this.displayBotNames.add(name);}
6929for(const name of otherDiagnostic.buildbotMasterNames){this.buildbotMasterNames.add(name);}
6930for(const name of otherDiagnostic.buildbotNames){this.buildbotNames.add(name);}
6931for(const name of otherDiagnostic.buildNumbers){this.buildNumbers.add(name);}
6932for(const name of otherDiagnostic.logUris){this.logUris.add(name);}
6933return this;}
6934if(otherDiagnostic.displayMasterName){this.displayMasterNames.add(otherDiagnostic.displayMasterName);}
6935if(otherDiagnostic.displayBotName){this.displayBotNames.add(otherDiagnostic.displayBotName);}
6936if(otherDiagnostic.buildbotMasterName){this.buildbotMasterNames.add(otherDiagnostic.buildbotMasterName);}
6937if(otherDiagnostic.buildbotName){this.buildbotNames.add(otherDiagnostic.buildbotName);}
6938if(otherDiagnostic.buildNumber){this.buildNumbers.add(otherDiagnostic.buildNumber);}
6939if(otherDiagnostic.logUri){this.logUris.add(otherDiagnostic.logUri);}
6940return this;}
6941asDictInto_(d){d.displayMasterNames=Array.from(this.displayMasterNames);d.displayBotNames=Array.from(this.displayBotNames);d.buildbotMasterNames=Array.from(this.buildbotMasterNames);d.buildbotNames=Array.from(this.buildbotNames);d.buildNumbers=Array.from(this.buildNumbers);d.logUris=Array.from(this.logUris);}
6942get displayMasterNames(){return this.displayMasterNames_;}
6943get displayBotNames(){return this.displayBotNames_;}
6944get buildbotMasterNames(){return this.buildbotMasterNames_;}
6945get buildbotNames(){return this.buildbotNames_;}
6946get buildNumbers(){return this.buildNumbers_;}
6947get logUris(){return this.logUris_;}
6948static fromDict(d){const info=new MergedBuildbotInfo();for(const name of d.displayMasterNames){info.displayMasterNames.add(name);}
6949for(const name of d.displayBotNames){info.displayBotNames.add(name);}
6950for(const name of d.buildbotMasterNames){info.buildbotMasterNames.add(name);}
6951for(const name of d.buildbotNames){info.buildbotNames.add(name);}
6952for(const name of d.buildNumbers){info.buildNumbers.add(name);}
6953for(const name of d.logUris){info.logUris.add(name);}
6954return info;}}
6955tr.v.d.Diagnostic.register(MergedBuildbotInfo,{elementName:'tr-v-ui-merged-buildbot-info-span'});return{MergedBuildbotInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedDeviceInfo extends tr.v.d.Diagnostic{constructor(){super();this.chromeVersions_=new Set();this.osNames_=new Set();this.osVersions_=new Set();}
6956clone(){const clone=new tr.v.d.MergedDeviceInfo();clone.addDiagnostic(this);return clone;}
6957addToHistogram(hist){hist.diagnostics.set(tr.v.d.DeviceInfo.NAME,this);}
6958canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedDeviceInfo||otherDiagnostic instanceof tr.v.d.DeviceInfo;}
6959addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedDeviceInfo){for(const name of otherDiagnostic.osNames){this.osNames.add(name);}
6960for(const name of otherDiagnostic.osVersions){this.osVersions.add(name);}
6961for(const name of otherDiagnostic.chromeVersions){this.chromeVersions.add(name);}
6962return this;}
6963if(otherDiagnostic.osName){this.osNames.add(otherDiagnostic.osName);}
6964if(otherDiagnostic.osVersion){this.osVersions.add(otherDiagnostic.osVersion);}
6965if(otherDiagnostic.chromeVersion){this.chromeVersions.add(otherDiagnostic.chromeVersion);}
6966return this;}
6967equals(other){if(!(other instanceof MergedDeviceInfo))return false;if(!tr.b.setsEqual(this.chromeVersions,other.chromeVersions)){return false;}
6968if(!tr.b.setsEqual(this.osVersions,other.osVersions))return false;if(!tr.b.setsEqual(this.osNames,other.osNames))return false;return true;}
6969asDictInto_(d){d.chromeVersions=Array.from(this.chromeVersions);d.osNames=Array.from(this.osNames);d.osVersions=Array.from(this.osVersions);}
6970static fromDict(d){const info=new MergedDeviceInfo();for(const chromeVersion of d.chromeVersions){info.chromeVersions.add(chromeVersion);}
6971for(const osName of d.osNames){info.osNames.add(osName);}
6972for(const osVersion of d.osVersions){info.osVersions.add(osVersion);}
6973return info;}
6974get chromeVersions(){return this.chromeVersions_;}
6975get osNames(){return this.osNames_;}
6976get osVersions(){return this.osVersions_;}}
6977tr.v.d.Diagnostic.register(MergedDeviceInfo,{elementName:'tr-v-ui-merged-device-info-span'});return{MergedDeviceInfo,};});'use strict';tr.exportTo('tr.v.d',function(){const REPO_NAMES=['chromium','v8','catapult','angle','skia','webrtc'];class MergedRevisionInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();const info=opt_info||{};this.chromiumCommitPositions_=new Set(info.chromiumCommitPositions||[]);this.v8CommitPositions_=new Set(info.v8CommitPositions||[]);this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];}
6978clone(){const clone=new MergedRevisionInfo();clone.addDiagnostic(this);return clone;}
6979addToHistogram(hist){hist.diagnostics.set(tr.v.d.RevisionInfo.NAME,this);}
6980canAddDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){return otherDiagnostic instanceof tr.v.d.RevisionInfo||otherDiagnostic instanceof MergedRevisionInfo;}
6981addDiagnostic(otherDiagnostic,name,parentHist,otherParentHist){if(otherDiagnostic instanceof MergedRevisionInfo){for(const pos of otherDiagnostic.chromiumCommitPositions){this.chromiumCommitPositions.add(pos);}
6982for(const pos of otherDiagnostic.v8CommitPositions){this.v8CommitPositions.add(pos);}
6983for(const repo of REPO_NAMES){for(const otherRevs of otherDiagnostic[repo]){let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}}
6984if(!found){this[repo].push(otherRevs);}}}
6985return this;}
6986if(otherDiagnostic.chromiumCommitPosition!==undefined){this.chromiumCommitPositions.add(otherDiagnostic.chromiumCommitPosition);}
6987if(otherDiagnostic.v8CommitPosition!==undefined){this.v8CommitPositions.add(otherDiagnostic.v8CommitPosition);}
6988for(const repo of REPO_NAMES){const otherRevs=otherDiagnostic[repo];let found=false;for(const revs of this[repo]){if(otherRevs[0]===revs[0]&&otherRevs[1]===revs[1]){found=true;break;}}
6989if(!found){this[repo].push(otherRevs);}}
6990return this;}
6991asDictInto_(d){d.chromiumCommitPositions=this.chromiumCommitPositions;d.v8CommitPositions=this.v8CommitPositions;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;}
6992static fromDict(d){return new MergedRevisionInfo(d);}
6993get chromiumCommitPositions(){return this.chromiumCommitPositions_;}
6994get v8CommitPositions(){return this.v8CommitPositions_;}
6995get chromium(){return this.chromium_;}
6996get v8(){return this.v8_;}
6997get catapult(){return this.catapult_;}
6998get angle(){return this.angle_;}
6999get skia(){return this.skia_;}
7000get webrtc(){return this.webrtc_;}}
7001tr.v.d.Diagnostic.register(MergedRevisionInfo,{elementName:'tr-v-ui-merged-revision-info-span'});return{MergedRevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class MergedTelemetryInfo extends tr.v.d.Diagnostic{constructor(){super();this.benchmarkNames_=new Set();this.benchmarkStartsMs_=new Set();this.labels_=new Set();this.legacyTIRLabels_=new Set();this.storyDisplayNames_=new Set();this.storyGroupingKeys_=new Map();this.storysetRepeatCounters_=new Set();}
7002clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;}
7003addToHistogram(hist){hist.diagnostics.set(tr.v.d.TelemetryInfo.NAME,this);}
7004equals(other){if(!(other instanceof MergedTelemetryInfo))return false;if(!tr.b.setsEqual(this.benchmarkNames,other.benchmarkNames)){return false;}
7005if(!tr.b.setsEqual(this.labels,other.labels))return false;if(!tr.b.setsEqual(this.storyDisplayNames,other.storyDisplayNames)){return false;}
7006if(!tr.b.setsEqual(this.legacyTIRLabels,other.legacyTIRLabels)){return false;}
7007if(!tr.b.setsEqual(this.storysetRepeatCounters,other.storysetRepeatCounters)){return false;}
7008if(!tr.b.setsEqual(this.benchmarkStartsMs,other.benchmarkStartsMs)){return false;}
7009if(!tr.b.setsEqual(new Set(this.storyGroupingKeys.keys()),new Set(other.storyGroupingKeys.keys()))){return false;}
7010for(const[k,vs]of this.storyGroupingKeys){if(!tr.b.setsEqual(vs,other.storyGroupingKeys.get(k))){return false;}}
7011return true;}
7012canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof MergedTelemetryInfo||otherDiagnostic instanceof tr.v.d.TelemetryInfo;}
7013addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof MergedTelemetryInfo){for(const name of otherDiagnostic.benchmarkNames){this.benchmarkNames.add(name);}
7014for(const t of otherDiagnostic.benchmarkStartsMs){this.benchmarkStartsMs.add(t);}
7015for(const name of otherDiagnostic.labels){this.labels.add(name);}
7016for(const name of otherDiagnostic.legacyTIRLabels){this.legacyTIRLabels.add(name);}
7017for(const name of otherDiagnostic.storyDisplayNames){this.storyDisplayNames.add(name);}
7018for(const name of otherDiagnostic.storysetRepeatCounters){this.storysetRepeatCounters.add(name);}
7019for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){for(const subValue of value){this.storyGroupingKeys.get(name).add(subValue);}}else{this.storyGroupingKeys.set(name,new Set(value));}}
7020return;}
7021if(otherDiagnostic.benchmarkName){this.benchmarkNames.add(otherDiagnostic.benchmarkName);}
7022if(otherDiagnostic.benchmarkStart!==undefined){this.benchmarkStartsMs.add(otherDiagnostic.benchmarkStart.getTime());}
7023if(otherDiagnostic.label){this.labels.add(otherDiagnostic.label);}
7024if(otherDiagnostic.legacyTIRLabel){this.legacyTIRLabels.add(otherDiagnostic.legacyTIRLabel);}
7025if(otherDiagnostic.storyDisplayName){this.storyDisplayNames.add(otherDiagnostic.storyDisplayName);}
7026for(const[name,value]of otherDiagnostic.storyGroupingKeys){if(this.storyGroupingKeys.has(name)){this.storyGroupingKeys.get(name).add(value);}else{this.storyGroupingKeys.set(name,new Set([value]));}}
7027if(otherDiagnostic.storysetRepeatCounter!==undefined){this.storysetRepeatCounters.add(otherDiagnostic.storysetRepeatCounter);}}
7028asDictInto_(d){if(this.benchmarkNames.size){d.benchmarkNames=Array.from(this.benchmarkNames);}
7029if(this.benchmarkStartsMs.size){d.benchmarkStartsMs=Array.from(this.benchmarkStartsMs);}
7030if(this.labels.size){d.labels=Array.from(this.labels);}
7031if(this.legacyTIRLabels.size){d.legacyTIRLabels=this.legacyTIRLabels;}
7032if(this.storyDisplayNames.size){d.storyDisplayNames=Array.from(this.storyDisplayNames);}
7033if(this.storyGroupingKeys.size){d.storyGroupingKeys={};for(const[name,values]of this.storyGroupingKeys){d.storyGroupingKeys[name]=Array.from(values);}}
7034if(this.storysetRepeatCounters.size){d.storysetRepeatCounters=Array.from(this.storysetRepeatCounters);}}
7035static fromDict(d){const info=new MergedTelemetryInfo();for(const n of d.benchmarkNames||[]){info.benchmarkNames_.add(n);}
7036for(const n of d.benchmarkStartsMs||[]){info.benchmarkStartsMs_.add(n);}
7037for(const n of d.labels||[]){info.labels_.add(n);}
7038for(const n of d.legacyTIRLabels||[]){info.legacyTIRLabels_.add(n);}
7039for(const n of d.storyDisplayNames||[]){info.storyDisplayNames_.add(n);}
7040for(const[name,values]of Object.entries(d.storyGroupingKeys||{})){info.storyGroupingKeys_.set(name,new Set(values));}
7041for(const n of d.storysetRepeatCounters||[]){info.storysetRepeatCounters_.add(n);}
7042return info;}
7043get displayLabel(){if(this.labels.size){return Array.from(this.labels).join('\n');}
7044return Array.from(this.benchmarkNames).concat(this.benchmarkStartStrings).join('\n');}
7045get benchmarkNames(){return this.benchmarkNames_;}
7046get labels(){return this.labels_;}
7047get legacyTIRLabels(){return this.legacyTIRLabels_;}
7048get storyGroupingKeys(){return this.storyGroupingKeys_;}
7049get storyDisplayNames(){return this.storyDisplayNames_;}
7050get storysetRepeatCounters(){return this.storysetRepeatCounters_;}
7051get storysetRepeatCounterLabel(){return'storyset repeat '+Array.from(this.storysetRepeatCounters).join(',');}
7052get benchmarkStartsMs(){return this.benchmarkStartsMs_;}
7053get benchmarkStarts(){const startsMs=Array.from(this.benchmarkStartsMs);startsMs.sort((x,y)=>x-y);return startsMs.map(t=>new Date(t));}
7054get benchmarkStartStrings(){return this.benchmarkStarts.map(tr.b.formatDate);}
7055static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)||!telemetry[fieldName]){return defaultValue;}
7056return telemetry[fieldName];}
7057static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.MergedTelemetryInfo)){return storyGroupingKey+': undefined';}
7058return storyGroupingKey+': '+
7059telemetry.storyGroupingKeys[storyGroupingKey];}
7060static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>MergedTelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}}
7061tr.v.d.Diagnostic.register(MergedTelemetryInfo,{elementName:'tr-v-ui-merged-telemetry-info-span'});return{MergedTelemetryInfo,};});'use strict';tr.exportTo('tr.v.d.',function(){class Ownership extends tr.v.d.Diagnostic{constructor(emails,component){super();this.emails=emails||[];if(typeof(component)==='string'){this.component=component;}}
7062asDictInto_(d){if(this.component!==undefined){d.component=this.component;}
7063d.emails=this.emails;}
7064clone(){return new Ownership(this.emails,this.component);}
7065static fromDict(d){return new Ownership(d.emails,d.component);}}
7066tr.v.d.Diagnostic.register(Ownership);return{Ownership,};});'use strict';tr.exportTo('tr.v.d',function(){class EventRef{constructor(event){this.stableId=event.stableId;this.title=event.title;this.start=event.start;this.duration=event.duration;this.end=this.start+this.duration;this.guid=tr.b.GUID.allocateSimple();}}
7067return{EventRef,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedEventSet extends tr.v.d.Diagnostic{constructor(opt_events){super();this.eventsByStableId_=new Map();this.canonicalUrl_=undefined;if(opt_events){if(opt_events instanceof tr.model.EventSet||opt_events instanceof Array){for(const event of opt_events){this.add(event);}}else{this.add(opt_events);}}}
7068clone(){const clone=new tr.v.d.CollectedRelatedEventSet();clone.addDiagnostic(this);return clone;}
7069add(event){this.eventsByStableId_.set(event.stableId,event);}
7070has(event){return this.eventsByStableId_.has(event.stableId);}
7071get length(){return this.eventsByStableId_.size;}*[Symbol.iterator](){for(const event of this.eventsByStableId_.values()){yield event;}}
7072get canonicalUrl(){return this.canonicalUrl_;}
7073resolve(model,opt_required){for(const[stableId,value]of this.eventsByStableId_){if(!(value instanceof tr.v.d.EventRef))continue;const event=model.getEventByStableId(stableId);if(event instanceof tr.model.Event){this.eventsByStableId_.set(stableId,event);}else if(opt_required){throw new Error('Unable to find Event '+stableId);}}}
7074asDictInto_(d){d.events=[];for(const event of this){d.events.push({stableId:event.stableId,title:event.title,start:event.start,duration:event.duration});}}
7075static fromDict(d){return new RelatedEventSet(d.events.map(event=>new tr.v.d.EventRef(event)));}}
7076tr.v.d.Diagnostic.register(RelatedEventSet,{elementName:'tr-v-ui-related-event-set-span'});return{RelatedEventSet,};});'use strict';tr.exportTo('tr.v.d',function(){function HistogramRef(guid){this.guid=guid;}
7077return{HistogramRef};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramMap extends tr.v.d.Diagnostic{constructor(){super();this.histogramsByName_=new Map();}
7078canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramMap;}
7079addDiagnostic(otherDiagnostic){}
7080mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const[name,otherRelatedHist]of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.set(name,relatedHist);}}}
7081get(name){return this.histogramsByName_.get(name);}
7082set(name,hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+
7083hist);}
7084this.histogramsByName_.set(name,hist);}
7085add(hist){this.set(hist.name,hist);}
7086get length(){return this.histogramsByName_.size;}*[Symbol.iterator](){for(const pair of this.histogramsByName_){yield pair;}}
7087resolve(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.HistogramRef))continue;const guid=value.guid;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByName_.set(name,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}}
7088asDictInto_(d){d.values={};for(const[name,hist]of this){d.values[name]=hist.guid;}}
7089static fromDict(d){const map=new RelatedHistogramMap();for(const[name,guid]of Object.entries(d.values)){map.set(name,new tr.v.d.HistogramRef(guid));}
7090return map;}}
7091tr.v.d.Diagnostic.register(RelatedHistogramMap,{elementName:'tr-v-ui-related-histogram-map-span'});return{RelatedHistogramMap,};});'use strict';tr.exportTo('tr.v.d',function(){const COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER='ChromeUserFriendlyCategory';class RelatedHistogramBreakdown extends tr.v.d.RelatedHistogramMap{constructor(){super();this.colorScheme=undefined;}
7092clone(){const clone=new RelatedHistogramBreakdown();clone.colorScheme=this.colorScheme;return clone;}
7093canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramBreakdown&&otherDiagnostic.colorScheme===this.colorScheme;}
7094set(name,hist){if(!(hist instanceof tr.v.d.HistogramRef)){if(!(hist instanceof tr.v.Histogram)){throw new Error('RelatedHistogramBreakdown can only contain Histograms');}
7095if((this.length>0)&&(hist.unit!==tr.b.getFirstElement(this)[1].unit)){throw new Error('Units mismatch',tr.b.getFirstElement(this)[1].unit,hist.unit);}}
7096tr.v.d.RelatedHistogramMap.prototype.set.call(this,name,hist);}
7097asDictInto_(d){tr.v.d.RelatedHistogramMap.prototype.asDictInto_.call(this,d);if(this.colorScheme)d.colorScheme=this.colorScheme;}
7098static fromDict(d){const diagnostic=new RelatedHistogramBreakdown();for(const[name,guid]of Object.entries(d.values)){diagnostic.set(name,new tr.v.d.HistogramRef(guid));}
7099if(d.colorScheme)diagnostic.colorScheme=d.colorScheme;return diagnostic;}
7100static buildFromEvents(histograms,namePrefix,events,categoryForEvent,unit,opt_sampleForEvent,opt_binBoundaries,opt_this){const sampleForEvent=opt_sampleForEvent||((event)=>event.cpuSelfTime);const diagnostic=new RelatedHistogramBreakdown();for(const event of events){const sample=sampleForEvent.call(opt_this,event);if(sample===undefined)continue;const eventCategory=categoryForEvent.call(opt_this,event);let hist=diagnostic.get(eventCategory);if(hist===undefined){hist=new tr.v.Histogram(namePrefix+eventCategory,unit,opt_binBoundaries);histograms.addHistogram(hist);diagnostic.set(eventCategory,hist);}
7101hist.addSample(sample,{relatedEvents:new tr.v.d.RelatedEventSet([event])});}
7102return diagnostic;}}
7103tr.v.d.Diagnostic.register(RelatedHistogramBreakdown,{elementName:'tr-v-ui-breakdown-span'});return{COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER,RelatedHistogramBreakdown,};});'use strict';tr.exportTo('tr.v.d',function(){class RelatedHistogramSet extends tr.v.d.Diagnostic{constructor(opt_histograms){super();this.histogramsByGuid_=new Map();if(opt_histograms){for(const hist of opt_histograms){this.add(hist);}}}
7104canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof RelatedHistogramSet;}
7105addDiagnostic(otherDiagnostic){}
7106mergeRelationships(otherDiagnostic,parentHist,otherParentHist){const parentGroupingPath=tr.v.d.GroupingPath.getFromHistogram(parentHist);for(const otherRelatedHist of otherDiagnostic){const mergedTo=otherRelatedHist.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(mergedTo===undefined)continue;for(const relatedHist of mergedTo){if(this.has(relatedHist))continue;const relatedGroupingPath=tr.v.d.GroupingPath.getFromHistogram(relatedHist);if(relatedGroupingPath===undefined)continue;if(!parentGroupingPath.equals(relatedGroupingPath))continue;this.add(relatedHist);}}}
7107add(hist){if(!(hist instanceof tr.v.Histogram)&&!(hist instanceof tr.v.d.HistogramRef)){throw new Error('Must be instanceof Histogram or HistogramRef: '+
7108hist);}
7109if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Tried to add same hist twice');}
7110this.histogramsByGuid_.set(hist.guid,hist);}
7111has(hist){return this.histogramsByGuid_.has(hist.guid);}
7112get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const[guid,hist]of this.histogramsByGuid_){yield hist;}}
7113resolve(histograms,opt_required){for(const[guid,value]of this.histogramsByGuid_){if(!(value instanceof tr.v.d.HistogramRef))continue;const hist=histograms.lookupHistogram(guid);if(hist instanceof tr.v.Histogram){this.histogramsByGuid_.set(guid,hist);}else if(opt_required){throw new Error('Unable to find Histogram '+guid);}}}
7114asDictInto_(d){d.guids=[];for(const hist of this){d.guids.push(hist.guid);}}
7115static fromDict(d){return new RelatedHistogramSet(d.guids.map(guid=>new tr.v.d.HistogramRef(guid)));}}
7116tr.v.d.Diagnostic.register(RelatedHistogramSet,{elementName:'tr-v-ui-related-histogram-set-span'});return{RelatedHistogramSet,};});'use strict';tr.exportTo('tr.v.d',function(){class RevisionInfo extends tr.v.d.Diagnostic{constructor(info){super();this.chromiumCommitPosition_=info.chromiumCommitPosition||undefined;this.v8CommitPosition_=info.v8CommitPosition||undefined;this.chromium_=info.chromium||[];this.v8_=info.v8||[];this.catapult_=info.catapult||[];this.angle_=info.angle||[];this.skia_=info.skia||[];this.webrtc_=info.webrtc||[];}
7117addToHistogram(hist){hist.diagnostics.set(RevisionInfo.NAME,this);}
7118clone(){const clone=new tr.v.d.MergedRevisionInfo();clone.addDiagnostic(this);return clone;}
7119asDictInto_(d){d.chromiumCommitPosition=this.chromiumCommitPosition;d.v8CommitPosition=this.v8CommitPosition;d.chromium=this.chromium;d.v8=this.v8;d.catapult=this.catapult;d.angle=this.angle;d.skia=this.skia;d.webrtc=this.webrtc;}
7120static fromDict(d){return new RevisionInfo(d);}
7121get chromiumCommitPosition(){return this.chromiumCommitPosition_;}
7122get v8CommitPosition(){return this.v8CommitPosition_;}
7123get chromium(){return this.chromium_;}
7124get v8(){return this.v8_;}
7125get catapult(){return this.catapult_;}
7126get angle(){return this.angle_;}
7127get skia(){return this.skia_;}
7128get webrtc(){return this.webrtc_;}}
7129RevisionInfo.NAME='revisions';tr.v.d.Diagnostic.register(RevisionInfo,{elementName:'tr-v-ui-revision-info-span'});return{RevisionInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class Scalar extends tr.v.d.Diagnostic{constructor(value){super();if(!(value instanceof tr.b.Scalar)){throw new Error('expected Scalar');}
7130this.value=value;}
7131clone(){return new Scalar(this.value);}
7132asDictInto_(d){d.value=this.value.asDict();}
7133static fromDict(d){return new Scalar(tr.b.Scalar.fromDict(d.value));}}
7134tr.v.d.Diagnostic.register(Scalar,{elementName:'tr-v-ui-scalar-diagnostic-span'});return{Scalar,};});'use strict';tr.exportTo('tr.v.d',function(){class TagMap extends tr.v.d.Diagnostic{constructor(opt_info){super();this.tagsToStoryDisplayNames_=new Map();if(opt_info){for(const[tag,storyDisplayNames]of Object.entries(opt_info.tagsToStoryDisplayNames||{})){this.tagsToStoryDisplayNames.set(tag,new Set(storyDisplayNames));}}}
7135clone(){const clone=new TagMap();clone.addDiagnostic(this);return clone;}
7136addToHistogram(hist){hist.diagnostics.set(tr.v.d.TagMap.NAME,this);}
7137equals(other){if(!(other instanceof TagMap))return false;const keys1=new Set(this.tagsToStoryDisplayNames.keys());const keys2=new Set(other.tagsToStoryDisplayNames.keys());if(!tr.b.setsEqual(keys1,keys2)){return false;}
7138for(const key of keys1){if(!tr.b.setsEqual(this.tagsToStoryDisplayNames.get(key),other.tagsToStoryDisplayNames.get(key))){return false;}}
7139return true;}
7140canAddDiagnostic(otherDiagnostic){return otherDiagnostic instanceof TagMap;}
7141addDiagnostic(otherDiagnostic){for(const[name,storyDisplayNames]of
7142otherDiagnostic.tagsToStoryDisplayNames){if(!this.tagsToStoryDisplayNames.has(name)){this.tagsToStoryDisplayNames.set(name,new Set());}
7143for(const t of storyDisplayNames){this.tagsToStoryDisplayNames.get(name).add(t);}}
7144return this;}
7145asDictInto_(d){d.tagsToStoryDisplayNames={};for(const[name,value]of this.tagsToStoryDisplayNames){d.tagsToStoryDisplayNames[name]=Array.from(value);}}
7146get tagsToStoryDisplayNames(){return this.tagsToStoryDisplayNames_;}
7147static fromDict(d){const info=new TagMap();for(const[name,values]of
7148Object.entries(d.tagsToStoryDisplayNames||{})){info.tagsToStoryDisplayNames.set(name,new Set(values));}
7149return info;}}
7150TagMap.NAME='tagmap';tr.v.d.Diagnostic.register(TagMap);return{TagMap,};});'use strict';tr.exportTo('tr.v.d',function(){class TelemetryInfo extends tr.v.d.Diagnostic{constructor(opt_info){super();this.benchmarkName_='';this.benchmarkStart_=undefined;this.label_='';this.legacyTIRLabel_='';this.storyDisplayName_='';this.storyGroupingKeys_=new Map();this.storysetRepeatCounter_=undefined;this.canonicalUrl_='';if(opt_info){this.addInfo(opt_info);}}
7151clone(){const clone=new tr.v.d.MergedTelemetryInfo();clone.addDiagnostic(this);return clone;}
7152addInfo(info){if(info.benchmarkName){this.benchmarkName_=info.benchmarkName;}
7153if(info.benchmarkStartMs!==undefined){this.benchmarkStart_=new Date(info.benchmarkStartMs);}
7154if(info.label){this.label_=info.label;}
7155if(info.storyDisplayName){this.storyDisplayName_=info.storyDisplayName;}
7156for(const[name,value]of Object.entries(info.storyGroupingKeys||{})){this.storyGroupingKeys_.set(name,value);}
7157if(info.storysetRepeatCounter!==undefined){this.storysetRepeatCounter_=info.storysetRepeatCounter;}
7158if(info.legacyTIRLabel){this.legacyTIRLabel_=info.legacyTIRLabel;}
7159if(info.canonicalUrl){this.canonicalUrl_=info.canonicalUrl;}}
7160addToHistogram(hist){hist.diagnostics.set(TelemetryInfo.NAME,this);}
7161static getFromHistogram(hist){return hist.diagnostics.get(TelemetryInfo.NAME)||hist.diagnostics.get('iteration');}
7162asDictInto_(d){d.benchmarkName=this.benchmarkName;if(this.benchmarkStart){d.benchmarkStartMs=this.benchmarkStart.getTime();}
7163d.label=this.label;d.storyDisplayName=this.storyDisplayName;if(this.storyGroupingKeys.size>0){d.storyGroupingKeys={};for(const[name,value]of this.storyGroupingKeys){d.storyGroupingKeys[name]=value;}}
7164d.storysetRepeatCounter=this.storysetRepeatCounter;d.legacyTIRLabel=this.legacyTIRLabel;d.canonicalUrl=this.canonicalUrl;}
7165static fromDict(d){const info=new TelemetryInfo();info.addInfo(d);return info;}
7166get displayLabel(){if(this.label)return this.label;return this.benchmarkName+'\n'+this.benchmarkStartString;}
7167get benchmarkName(){return this.benchmarkName_;}
7168get label(){return this.label_;}
7169get legacyTIRLabel(){return this.legacyTIRLabel_;}
7170set legacyTIRLabel(tir){this.legacyTIRLabel_=tir;}
7171get storyGroupingKeys(){return this.storyGroupingKeys_;}
7172get storyDisplayName(){return this.storyDisplayName_;}
7173get storysetRepeatCounter(){return this.storysetRepeatCounter_;}
7174get storysetRepeatCounterLabel(){return'storyset repeat '+this.storysetRepeatCounter;}
7175get canonicalUrl(){return this.canonicalUrl_;}
7176get benchmarkStart(){return this.benchmarkStart_;}
7177get benchmarkStartString(){if(this.benchmarkStart_===undefined)return'';return tr.b.formatDate(this.benchmarkStart);}
7178static getField(hist,fieldName,defaultValue){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)||!telemetry[fieldName]){return defaultValue;}
7179return telemetry[fieldName];}
7180static getStoryGroupingKeyLabel(hist,storyGroupingKey){const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(!(telemetry instanceof tr.v.d.TelemetryInfo)){return storyGroupingKey+': undefined';}
7181return storyGroupingKey+': '+
7182telemetry.storyGroupingKeys.get(storyGroupingKey);}
7183static makeStoryGroupingKeyLabelGetter(storyGroupingKey){return v=>TelemetryInfo.getStoryGroupingKeyLabel(v,storyGroupingKey);}}
7184TelemetryInfo.NAME='telemetry';tr.v.d.Diagnostic.register(TelemetryInfo,{elementName:'tr-v-ui-telemetry-info-span'});return{TelemetryInfo,};});'use strict';tr.exportTo('tr.v.d',function(){class UnmergeableDiagnosticSet extends tr.v.d.Diagnostic{constructor(diagnostics){super();this._diagnostics=diagnostics;}
7185clone(){const clone=new tr.v.d.UnmergeableDiagnosticSet();clone.addDiagnostic(this);return clone;}
7186canAddDiagnostic(otherDiagnostic){return true;}
7187addDiagnostic(otherDiagnostic){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subOtherDiagnostic of otherDiagnostic){const clone=subOtherDiagnostic.clone();this.addDiagnostic(clone);}
7188return;}
7189for(let i=0;i<this._diagnostics.length;++i){if(this._diagnostics[i].canAddDiagnostic(otherDiagnostic)){this._diagnostics[i].addDiagnostic(otherDiagnostic);return;}}
7190const clone=otherDiagnostic.clone();this._diagnostics.push(clone);}
7191mergeRelationships(otherDiagnostic,parentHist,otherParentHist){if(otherDiagnostic instanceof UnmergeableDiagnosticSet){for(const subDiagnostic of otherDiagnostic){this.mergeRelationships(subDiagnostic,parentHist,otherParentHist);}
7192return;}
7193for(const subDiagnostic of this){if(!(subDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(subDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)){continue;}
7194subDiagnostic.mergeRelationships(otherDiagnostic,parentHist,otherParentHist);}}
7195get length(){return this._diagnostics.length;}*[Symbol.iterator](){for(const diagnostic of this._diagnostics)yield diagnostic;}
7196asDictInto_(d){d.diagnostics=this._diagnostics.map(d=>d.asDictOrReference());}
7197static fromDict(d){return new UnmergeableDiagnosticSet(d.diagnostics.map(d=>((typeof d==='string')?new tr.v.d.DiagnosticRef(d):tr.v.d.Diagnostic.fromDict(d))));}}
7198tr.v.d.Diagnostic.register(UnmergeableDiagnosticSet,{elementName:'tr-v-ui-unmergeable-diagnostic-set-span'});return{UnmergeableDiagnosticSet,};});'use strict';tr.exportTo('tr.v.d',function(){const MERGED_FROM_DIAGNOSTIC_KEY='merged from';const MERGED_TO_DIAGNOSTIC_KEY='merged to';class DiagnosticMap extends Map{set(name,diagnostic){if(typeof(name)!=='string'){throw new Error('name must be string, not '+name);}
7199if(!(diagnostic instanceof tr.v.d.Diagnostic)&&!(diagnostic instanceof tr.v.d.DiagnosticRef)){throw new Error('Must be instanceof Diagnostic: '+diagnostic);}
7200Map.prototype.set.call(this,name,diagnostic);}
7201addDicts(dict){for(const[name,diagnosticDict]of Object.entries(dict)){if(typeof diagnosticDict==='string'){this.set(name,new tr.v.d.DiagnosticRef(diagnosticDict));}else{this.set(name,tr.v.d.Diagnostic.fromDict(diagnosticDict));}}}
7202resolveSharedDiagnostics(histograms,opt_required){for(const[name,value]of this){if(!(value instanceof tr.v.d.DiagnosticRef)){continue;}
7203const guid=value.guid;const diagnostic=histograms.lookupDiagnostic(guid);if(diagnostic instanceof tr.v.d.Diagnostic){this.set(name,diagnostic);}else if(opt_required){throw new Error('Unable to find shared Diagnostic '+guid);}}}
7204asDict(){const dict={};for(const[name,diagnostic]of this){dict[name]=diagnostic.asDictOrReference();}
7205return dict;}
7206static fromDict(d){const diagnostics=new DiagnosticMap();diagnostics.addDicts(d);return diagnostics;}
7207static fromObject(obj){const diagnostics=new DiagnosticMap();for(const[name,diagnostic]of Object.entries(obj)){diagnostics.set(name,diagnostic);}
7208return diagnostics;}
7209addDiagnostics(other){for(const[name,otherDiagnostic]of other){if(name===MERGED_FROM_DIAGNOSTIC_KEY||name===MERGED_TO_DIAGNOSTIC_KEY||name===tr.v.d.GroupingPath){continue;}
7210const myDiagnostic=this.get(name);if(myDiagnostic!==undefined&&myDiagnostic.canAddDiagnostic(otherDiagnostic)){myDiagnostic.addDiagnostic(otherDiagnostic);continue;}
7211const clone=otherDiagnostic.clone();if(myDiagnostic===undefined){this.set(name,clone);continue;}
7212this.set(name,new tr.v.d.UnmergeableDiagnosticSet([myDiagnostic,clone]));}}
7213mergeRelationships(parentHist){for(const[name,diagnostic]of this){if(!(diagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(diagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(diagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;}
7214for(const otherHist of this.get(MERGED_FROM_DIAGNOSTIC_KEY)){const otherDiagnostic=otherHist.diagnostics.get(name);if(!(otherDiagnostic instanceof tr.v.d.RelatedHistogramSet)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramMap)&&!(otherDiagnostic instanceof tr.v.d.RelatedHistogramBreakdown)&&!(otherDiagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)){continue;}
7215diagnostic.mergeRelationships(otherDiagnostic,parentHist,otherHist);}}}}
7216return{DiagnosticMap,MERGED_FROM_DIAGNOSTIC_KEY,MERGED_TO_DIAGNOSTIC_KEY,};});'use strict';tr.exportTo('tr.v',function(){const MAX_DIAGNOSTIC_MAPS=16;const DEFAULT_SAMPLE_VALUES_PER_BIN=10;const DEFAULT_REBINNED_COUNT=40;const DEFAULT_BOUNDARIES_FOR_UNIT=new Map();const DELTA=String.fromCharCode(916);const Z_SCORE_NAME='z-score';const P_VALUE_NAME='p-value';const U_STATISTIC_NAME='U';function percentToString(percent,opt_force3){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');}
7217if(percent===0)return'000';if(percent===1)return'100';let str=percent.toString();if(str[1]!=='.'){throw new Error('Unexpected percent');}
7218str=str+'0'.repeat(Math.max(4-str.length,0));if(str.length>4){if(opt_force3){str=str.slice(0,4);}else{str=str.slice(0,4)+'_'+str.slice(4);}}
7219return'0'+str.slice(2);}
7220function percentFromString(s){return parseFloat(s[0]+'.'+s.substr(1).replace(/_/g,''));}
7221class HistogramBin{constructor(range){this.range=range;this.count=0;this.diagnosticMaps=[];}
7222addSample(value){this.count+=1;}
7223addDiagnosticMap(diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.diagnosticMaps,this.count,diagnostics,MAX_DIAGNOSTIC_MAPS);}
7224addBin(other){if(!this.range.equals(other.range)){throw new Error('Merging incompatible Histogram bins.');}
7225tr.b.math.Statistics.mergeSampledStreams(this.diagnosticMaps,this.count,other.diagnosticMaps,other.count,MAX_DIAGNOSTIC_MAPS);this.count+=other.count;}
7226fromDict(dict){this.count=dict[0];if(dict.length>1){for(const map of dict[1]){this.diagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}}
7227asDict(){if(!this.diagnosticMaps.length){return[this.count];}
7228return[this.count,this.diagnosticMaps.map(d=>d.asDict())];}}
7229const DEFAULT_SUMMARY_OPTIONS=new Map([['avg',true],['count',true],['geometricMean',false],['max',true],['min',true],['nans',false],['std',true],['sum',true],]);class Histogram{constructor(name,unit,opt_binBoundaries){let binBoundaries=opt_binBoundaries;if(!binBoundaries){const baseUnit=unit.baseUnit?unit.baseUnit:unit;binBoundaries=DEFAULT_BOUNDARIES_FOR_UNIT.get(baseUnit.unitName);}
7230this.guid_=undefined;this.binBoundariesDict_=binBoundaries.asDict();this.allBins=binBoundaries.bins.slice();this.description='';this.diagnostics=new tr.v.d.DiagnosticMap();this.maxNumSampleValues_=this.defaultMaxNumSampleValues_;this.name_=name;this.nanDiagnosticMaps=[];this.numNans=0;this.running_=undefined;this.sampleValues_=[];this.shortName=undefined;this.summaryOptions=new Map(DEFAULT_SUMMARY_OPTIONS);this.summaryOptions.set('percentile',[]);this.summaryOptions.set('iprs',[]);this.unit=unit;}
7231static create(name,unit,samples,opt_options){const options=opt_options||{};const hist=new Histogram(name,unit,options.binBoundaries);if(options.description)hist.description=options.description;if(options.shortName)hist.shortName=options.shortName;if(options.summaryOptions){let summaryOptions=options.summaryOptions;if(!(summaryOptions instanceof Map)){summaryOptions=Object.entries(summaryOptions);}
7232for(const[name,value]of summaryOptions){hist.summaryOptions.set(name,value);}}
7233if(options.diagnostics!==undefined){let diagnostics=options.diagnostics;if(!(diagnostics instanceof Map)){diagnostics=Object.entries(diagnostics);}
7234for(const[name,diagnostic]of diagnostics){hist.diagnostics.set(name,diagnostic);}}
7235if(!(samples instanceof Array))samples=[samples];for(const sample of samples){if(typeof sample==='object'){hist.addSample(sample.value,sample.diagnostics);}else{hist.addSample(sample);}}
7236return hist;}
7237get running(){return this.running_;}
7238get maxNumSampleValues(){return this.maxNumSampleValues_;}
7239set maxNumSampleValues(n){this.maxNumSampleValues_=n;tr.b.math.Statistics.uniformlySampleArray(this.sampleValues_,this.maxNumSampleValues_);}
7240get name(){return this.name_;}
7241get guid(){if(this.guid_===undefined){this.guid_=tr.b.GUID.allocateUUID4();}
7242return this.guid_;}
7243set guid(guid){if(this.guid_!==undefined){throw new Error('Cannot reset guid');}
7244this.guid_=guid;}
7245static fromDict(dict){const hist=new Histogram(dict.name,tr.b.Unit.fromJSON(dict.unit),HistogramBinBoundaries.fromDict(dict.binBoundaries));hist.guid=dict.guid;if(dict.shortName){hist.shortName=dict.shortName;}
7246if(dict.description){hist.description=dict.description;}
7247if(dict.diagnostics){hist.diagnostics.addDicts(dict.diagnostics);}
7248if(dict.allBins){if(dict.allBins.length!==undefined){for(let i=0;i<dict.allBins.length;++i){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(dict.allBins[i]);}}else{for(const[i,binDict]of Object.entries(dict.allBins)){hist.allBins[i]=new HistogramBin(hist.allBins[i].range);hist.allBins[i].fromDict(binDict);}}}
7249if(dict.running){hist.running_=tr.b.math.RunningStatistics.fromDict(dict.running);}
7250if(dict.summaryOptions){if(dict.summaryOptions.iprs){dict.summaryOptions.iprs=dict.summaryOptions.iprs.map(r=>tr.b.math.Range.fromExplicitRange(r[0],r[1]));}
7251hist.customizeSummaryOptions(dict.summaryOptions);}
7252if(dict.maxNumSampleValues!==undefined){hist.maxNumSampleValues=dict.maxNumSampleValues;}
7253if(dict.sampleValues){hist.sampleValues_=dict.sampleValues;}
7254if(dict.numNans){hist.numNans=dict.numNans;}
7255if(dict.nanDiagnostics){for(const map of dict.nanDiagnostics){hist.nanDiagnosticMaps.push(tr.v.d.DiagnosticMap.fromDict(map));}}
7256return hist;}
7257get numValues(){return this.running_?this.running_.count:0;}
7258get average(){return this.running_?this.running_.mean:undefined;}
7259get standardDeviation(){return this.running_?this.running_.stddev:undefined;}
7260get geometricMean(){return this.running_?this.running_.geometricMean:0;}
7261get sum(){return this.running_?this.running_.sum:0;}
7262get min(){return this.running_?this.running_.min:Infinity;}
7263get max(){return this.running_?this.running_.max:-Infinity;}
7264getDifferenceSignificance(other,opt_alpha){if(this.unit!==other.unit){throw new Error('Cannot compare Histograms with different units');}
7265if(this.unit.improvementDirection===tr.b.ImprovementDirection.DONT_CARE){return tr.b.math.Statistics.Significance.DONT_CARE;}
7266if(!(other instanceof Histogram)){throw new Error('Unable to compute a p-value');}
7267const testResult=tr.b.math.Statistics.mwu(this.sampleValues,other.sampleValues,opt_alpha);return testResult.significance;}
7268getApproximatePercentile(percent){if(percent<0||percent>1){throw new Error('percent must be in [0,1]');}
7269if(this.numValues===0)return undefined;if(this.allBins.length===1){const sortedSampleValues=this.sampleValues.slice().sort((x,y)=>x-y);return sortedSampleValues[Math.floor((sortedSampleValues.length-1)*percent)];}
7270let valuesToSkip=Math.floor((this.numValues-1)*percent);for(const bin of this.allBins){valuesToSkip-=bin.count;if(valuesToSkip>=0)continue;if(bin.range.min===-Number.MAX_VALUE){return bin.range.max;}
7271if(bin.range.max===Number.MAX_VALUE){return bin.range.min;}
7272return bin.range.center;}
7273return this.allBins[this.allBins.length-1].range.min;}
7274getBinIndexForValue(value){const i=tr.b.math.findHighIndexInSortedArray(this.allBins,b=>((value<b.range.max)?-1:1));if(0<=i&&i<this.allBins.length)return i;return this.allBins.length-1;}
7275getBinForValue(value){return this.allBins[this.getBinIndexForValue(value)];}
7276addSample(value,opt_diagnostics){if(opt_diagnostics&&!(opt_diagnostics instanceof tr.v.d.DiagnosticMap)){opt_diagnostics=tr.v.d.DiagnosticMap.fromObject(opt_diagnostics);}
7277if(typeof(value)!=='number'||isNaN(value)){this.numNans++;if(opt_diagnostics){tr.b.math.Statistics.uniformlySampleStream(this.nanDiagnosticMaps,this.numNans,opt_diagnostics,MAX_DIAGNOSTIC_MAPS);}}else{if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7278this.running_.add(value);const binIndex=this.getBinIndexForValue(value);let bin=this.allBins[binIndex];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[binIndex]=bin;}
7279bin.addSample(value);if(opt_diagnostics){bin.addDiagnosticMap(opt_diagnostics);}}
7280tr.b.math.Statistics.uniformlySampleStream(this.sampleValues_,this.numValues+this.numNans,value,this.maxNumSampleValues);}
7281sampleValuesInto(samples){for(const sampleValue of this.sampleValues){samples.push(sampleValue);}}
7282canAddHistogram(other){if(this.unit!==other.unit){return false;}
7283if(this.binBoundariesDict_===other.binBoundariesDict_){return true;}
7284if(this.binBoundariesDict_.length!==other.binBoundariesDict_.length){return false;}
7285for(let i=0;i<this.binBoundariesDict_.length;++i){const slice=this.binBoundariesDict_[i];const otherSlice=other.binBoundariesDict_[i];if(slice instanceof Array){if(!(otherSlice instanceof Array)){return false;}
7286if(slice[0]!==otherSlice[0]||!tr.b.math.approximately(slice[1],otherSlice[1])||slice[2]!==otherSlice[2]){return false;}}else{if(otherSlice instanceof Array){return false;}
7287if(!tr.b.math.approximately(slice,otherSlice)){return false;}}}
7288return true;}
7289addHistogram(other){if(!this.canAddHistogram(other)){throw new Error('Merging incompatible Histograms');}
7290tr.b.math.Statistics.mergeSampledStreams(this.nanDiagnosticMaps,this.numNans,other.nanDiagnosticMaps,other.numNans,MAX_DIAGNOSTIC_MAPS);tr.b.math.Statistics.mergeSampledStreams(this.sampleValues,this.numValues+this.numNans,other.sampleValues,other.numValues+other.numNans,(this.maxNumSampleValues+other.maxNumSampleValues)/2);this.numNans+=other.numNans;if(other.running_!==undefined){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7291this.running_=this.running_.merge(other.running_);}
7292for(let i=0;i<this.allBins.length;++i){let bin=this.allBins[i];if(bin.count===0){bin=new HistogramBin(bin.range);this.allBins[i]=bin;}
7293bin.addBin(other.allBins[i]);}
7294let mergedFrom=this.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(!mergedFrom){mergedFrom=new tr.v.d.RelatedHistogramSet();this.diagnostics.set(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY,mergedFrom);}
7295mergedFrom.add(other);let mergedTo=other.diagnostics.get(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY);if(!mergedTo){mergedTo=new tr.v.d.RelatedHistogramSet();other.diagnostics.set(tr.v.d.MERGED_TO_DIAGNOSTIC_KEY,mergedTo);}
7296mergedTo.add(this);this.diagnostics.addDiagnostics(other.diagnostics);for(const[stat,option]of other.summaryOptions){if(stat==='percentile'){const percentiles=this.summaryOptions.get(stat);for(const percent of option){if(!percentiles.includes(percent))percentiles.push(percent);}}else if(stat==='iprs'){const thisIprs=this.summaryOptions.get(stat);for(const ipr of option){let found=false;for(const thisIpr of thisIprs){found=ipr.equals(thisIpr);if(found)break;}
7297if(!found)thisIprs.push(ipr);}}else if(option&&!this.summaryOptions.get(stat)){this.summaryOptions.set(stat,true);}}}
7298customizeSummaryOptions(summaryOptions){for(const[key,value]of Object.entries(summaryOptions)){this.summaryOptions.set(key,value);}}
7299getStatisticScalar(statName,opt_referenceHistogram,opt_mwu){if(statName==='avg'){if(this.running_===undefined)return undefined;return new tr.b.Scalar(this.unit,this.average);}
7300if(statName==='std'){if(this.standardDeviation===undefined)return undefined;return new tr.b.Scalar(this.unit,this.standardDeviation);}
7301if(statName==='geometricMean'){return new tr.b.Scalar(this.unit,this.geometricMean);}
7302if(statName==='min'||statName==='max'||statName==='sum'){if(this.running_===undefined){this.running_=new tr.b.math.RunningStatistics();}
7303return new tr.b.Scalar(this.unit,this.running_[statName]);}
7304if(statName==='nans'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numNans);}
7305if(statName==='count'){return new tr.b.Scalar(tr.b.Unit.byName.count_smallerIsBetter,this.numValues);}
7306if(statName.substr(0,4)==='pct_'){const percent=percentFromString(statName.substr(4));if(this.numValues===0)return undefined;const percentile=this.getApproximatePercentile(percent);return new tr.b.Scalar(this.unit,percentile);}
7307if(statName.substr(0,4)==='ipr_'){let lower=percentFromString(statName.substr(4,3));let upper=percentFromString(statName.substr(8));if(lower>=upper){throw new Error('Invalid inter-percentile range: '+statName);}
7308lower=this.getApproximatePercentile(lower);upper=this.getApproximatePercentile(upper);return new tr.b.Scalar(this.unit,upper-lower);}
7309if(!this.canCompare(opt_referenceHistogram)){throw new Error('Cannot compute '+statName+' when histograms are not comparable');}
7310const suffix=tr.b.Unit.nameSuffixForImprovementDirection(this.unit.improvementDirection);const deltaIndex=statName.indexOf(DELTA);if(deltaIndex>=0){const baseStatName=statName.substr(deltaIndex+1);const thisStat=this.getStatisticScalar(baseStatName);const otherStat=opt_referenceHistogram.getStatisticScalar(baseStatName);const deltaValue=thisStat.value-otherStat.value;if(statName[0]==='%'){return new tr.b.Scalar(tr.b.Unit.byName['normalizedPercentageDelta'+suffix],deltaValue/otherStat.value);}
7311return new tr.b.Scalar(thisStat.unit.correspondingDeltaUnit,deltaValue);}
7312if(statName===Z_SCORE_NAME){return new tr.b.Scalar(tr.b.Unit.byName['sigmaDelta'+suffix],(this.average-opt_referenceHistogram.average)/opt_referenceHistogram.standardDeviation);}
7313const mwu=opt_mwu||tr.b.math.Statistics.mwu(this.sampleValues,opt_referenceHistogram.sampleValues);if(statName===P_VALUE_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.p);}
7314if(statName===U_STATISTIC_NAME){return new tr.b.Scalar(tr.b.Unit.byName.unitlessNumber,mwu.U);}
7315throw new Error('Unrecognized statistic name: '+statName);}
7316get statisticsNames(){const statisticsNames=new Set();for(const[statName,option]of this.summaryOptions){if(statName==='percentile'){for(const pctile of option){statisticsNames.add('pct_'+tr.v.percentToString(pctile));}}else if(statName==='iprs'){for(const range of option){statisticsNames.add('ipr_'+tr.v.percentToString(range.min,true)+'_'+tr.v.percentToString(range.max,true));}}else if(option){statisticsNames.add(statName);}}
7317return statisticsNames;}
7318canCompare(other){return other instanceof Histogram&&this.unit===other.unit&&this.numValues>0&&other.numValues>0;}
7319getAvailableStatisticName(statName,opt_referenceHist){if(this.canCompare(opt_referenceHist))return statName;if(statName===Z_SCORE_NAME||statName===P_VALUE_NAME||statName===U_STATISTIC_NAME){return'avg';}
7320const deltaIndex=statName.indexOf(DELTA);if(deltaIndex<0)return statName;return statName.substr(deltaIndex+1);}
7321static getDeltaStatisticsNames(statNames){const deltaNames=[];for(const statName of statNames){deltaNames.push(`${DELTA}${statName}`);deltaNames.push(`%${DELTA}${statName}`);}
7322return deltaNames.concat([Z_SCORE_NAME,P_VALUE_NAME,U_STATISTIC_NAME]);}
7323get statisticsScalars(){const results=new Map();for(const statName of this.statisticsNames){const scalar=this.getStatisticScalar(statName);if(scalar===undefined)continue;results.set(statName,scalar);}
7324return results;}
7325get sampleValues(){return this.sampleValues_;}
7326clone(){const binBoundaries=HistogramBinBoundaries.fromDict(this.binBoundariesDict_);const hist=new Histogram(this.name,this.unit,binBoundaries);for(const[stat,option]of this.summaryOptions){if(stat==='percentile'||stat==='iprs'){hist.summaryOptions.set(stat,Array.from(option));}else{hist.summaryOptions.set(stat,option);}}
7327hist.addHistogram(this);return hist;}
7328rebin(newBoundaries){const rebinned=new tr.v.Histogram(this.name,this.unit,newBoundaries);rebinned.description=this.description;for(const sample of this.sampleValues){rebinned.addSample(sample);}
7329rebinned.running_=this.running_;for(const[name,diagnostic]of this.diagnostics){rebinned.diagnostics.set(name,diagnostic);}
7330for(const[stat,option]of this.summaryOptions){if(stat==='percentile'){rebinned.summaryOptions.set(stat,Array.from(option));}else{rebinned.summaryOptions.set(stat,option);}}
7331return rebinned;}
7332asDict(){const dict={};dict.name=this.name;dict.unit=this.unit.asJSON();dict.guid=this.guid;if(this.binBoundariesDict_!==undefined){dict.binBoundaries=this.binBoundariesDict_;}
7333if(this.shortName){dict.shortName=this.shortName;}
7334if(this.description){dict.description=this.description;}
7335if(this.diagnostics.size){dict.diagnostics=this.diagnostics.asDict();}
7336if(this.maxNumSampleValues!==this.defaultMaxNumSampleValues_){dict.maxNumSampleValues=this.maxNumSampleValues;}
7337if(this.numNans){dict.numNans=this.numNans;}
7338if(this.nanDiagnosticMaps.length){dict.nanDiagnostics=this.nanDiagnosticMaps.map(dm=>dm.asDict());}
7339if(this.numValues){dict.sampleValues=this.sampleValues.slice();dict.running=this.running_.asDict();dict.allBins=this.allBinsAsDict_();}
7340const summaryOptions={};let anyOverriddenSummaryOptions=false;for(const[name,value]of this.summaryOptions){let option;if(name==='percentile'){if(value.length===0)continue;option=Array.from(value);}else if(name==='iprs'){if(value.length===0)continue;option=value.map(r=>[r.min,r.max]);}else if(value===DEFAULT_SUMMARY_OPTIONS.get(name)){continue;}else{option=value;}
7341summaryOptions[name]=option;anyOverriddenSummaryOptions=true;}
7342if(anyOverriddenSummaryOptions){dict.summaryOptions=summaryOptions;}
7343return dict;}
7344allBinsAsDict_(){const numBins=this.allBins.length;let emptyBins=0;for(let i=0;i<numBins;++i){if(this.allBins[i].count===0){++emptyBins;}}
7345if(emptyBins===numBins){return undefined;}
7346if(emptyBins>(numBins/2)){const allBinsDict={};for(let i=0;i<numBins;++i){const bin=this.allBins[i];if(bin.count>0){allBinsDict[i]=bin.asDict();}}
7347return allBinsDict;}
7348const allBinsArray=[];for(let i=0;i<numBins;++i){allBinsArray.push(this.allBins[i].asDict());}
7349return allBinsArray;}
7350get defaultMaxNumSampleValues_(){return DEFAULT_SAMPLE_VALUES_PER_BIN*Math.max(this.allBins.length,DEFAULT_REBINNED_COUNT);}}
7351Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS={count:false,max:false,min:false,std:false,sum:false,};const HISTOGRAM_BIN_BOUNDARIES_CACHE=new Map();class HistogramBinBoundaries{static createLinear(min,max,numBins){return new HistogramBinBoundaries(min).addLinearBins(max,numBins);}
7352static createExponential(min,max,numBins){return new HistogramBinBoundaries(min).addExponentialBins(max,numBins);}
7353static createWithBoundaries(binBoundaries){const builder=new HistogramBinBoundaries(binBoundaries[0]);for(const boundary of binBoundaries.slice(1)){builder.addBinBoundary(boundary);}
7354return builder;}
7355constructor(minBinBoundary){this.builder_=[minBinBoundary];this.range_=new tr.b.math.Range();this.range_.addValue(minBinBoundary);this.binRanges_=undefined;this.bins_=undefined;}
7356get range(){return this.range_;}
7357asDict(){if(this.builder_.length===1&&this.builder_[0]===Number.MAX_VALUE){return undefined;}
7358return this.builder_;}
7359pushBuilderSlice_(slice){this.builder_.push(slice);this.builder_=this.builder_.slice();}
7360static fromDict(dict){if(dict===undefined){return HistogramBinBoundaries.SINGULAR;}
7361const cacheKey=JSON.stringify(dict);if(HISTOGRAM_BIN_BOUNDARIES_CACHE.has(cacheKey)){return HISTOGRAM_BIN_BOUNDARIES_CACHE.get(cacheKey);}
7362const binBoundaries=new HistogramBinBoundaries(dict[0]);for(const slice of dict.slice(1)){if(!(slice instanceof Array)){binBoundaries.addBinBoundary(slice);continue;}
7363switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:binBoundaries.addLinearBins(slice[1],slice[2]);break;case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:binBoundaries.addExponentialBins(slice[1],slice[2]);break;default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}}
7364HISTOGRAM_BIN_BOUNDARIES_CACHE.set(cacheKey,binBoundaries);return binBoundaries;}
7365get bins(){if(this.bins_===undefined){this.buildBins_();}
7366return this.bins_;}
7367buildBins_(){this.bins_=this.binRanges.map(r=>new HistogramBin(r));}
7368get binRanges(){if(this.binRanges_===undefined){this.buildBinRanges_();}
7369return this.binRanges_;}
7370buildBinRanges_(){if(typeof this.builder_[0]!=='number'){throw new Error('Invalid start of builder_');}
7371this.binRanges_=[];let prevBoundary=this.builder_[0];if(prevBoundary>-Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(-Number.MAX_VALUE,prevBoundary));}
7372for(const slice of this.builder_.slice(1)){if(!(slice instanceof Array)){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,slice));prevBoundary=slice;continue;}
7373const nextMaxBinBoundary=slice[1];const binCount=slice[2];const sliceMinBinBoundary=prevBoundary;switch(slice[0]){case HistogramBinBoundaries.SLICE_TYPE.LINEAR:{const binWidth=(nextMaxBinBoundary-prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary+i*binWidth;this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;}
7374break;}
7375case HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL:{const binExponentWidth=Math.log(nextMaxBinBoundary/prevBoundary)/binCount;for(let i=1;i<binCount;i++){const boundary=sliceMinBinBoundary*Math.exp(i*binExponentWidth);this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,boundary));prevBoundary=boundary;}
7376break;}
7377default:throw new Error('Unrecognized HistogramBinBoundaries slice type');}
7378this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,nextMaxBinBoundary));prevBoundary=nextMaxBinBoundary;}
7379if(prevBoundary<Number.MAX_VALUE){this.binRanges_.push(tr.b.math.Range.fromExplicitRange(prevBoundary,Number.MAX_VALUE));}}
7380addBinBoundary(nextMaxBinBoundary){if(nextMaxBinBoundary<=this.range.max){throw new Error('The added max bin boundary must be larger than '+'the current max boundary');}
7381this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_(nextMaxBinBoundary);this.range.addValue(nextMaxBinBoundary);return this;}
7382addLinearBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');}
7383if(nextMaxBinBoundary<=this.range.max){throw new Error('The new max bin boundary must be greater than '+'the previous max bin boundary');}
7384this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.LINEAR,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}
7385addExponentialBins(nextMaxBinBoundary,binCount){if(binCount<=0){throw new Error('Bin count must be positive');}
7386if(this.range.max<=0){throw new Error('Current max bin boundary must be positive');}
7387if(this.range.max>=nextMaxBinBoundary){throw new Error('The last added max boundary must be greater than '+'the current max boundary boundary');}
7388this.binRanges_=undefined;this.bins_=undefined;this.pushBuilderSlice_([HistogramBinBoundaries.SLICE_TYPE.EXPONENTIAL,nextMaxBinBoundary,binCount]);this.range.addValue(nextMaxBinBoundary);return this;}}
7389HistogramBinBoundaries.SLICE_TYPE={LINEAR:0,EXPONENTIAL:1,};HistogramBinBoundaries.SINGULAR=new HistogramBinBoundaries(Number.MAX_VALUE);DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeDurationInMs.unitName,HistogramBinBoundaries.createExponential(1e-3,1e6,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.timeStampInMs.unitName,HistogramBinBoundaries.createLinear(0,1e10,1e3));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.normalizedPercentage.unitName,HistogramBinBoundaries.createLinear(0,1.0,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sizeInBytes.unitName,HistogramBinBoundaries.createExponential(1,1e12,1e2));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.energyInJoules.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.powerInWatts.unitName,HistogramBinBoundaries.createExponential(1e-3,1,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.unitlessNumber.unitName,HistogramBinBoundaries.createExponential(1e-3,1e3,50));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.count.unitName,HistogramBinBoundaries.createExponential(1,1e3,20));DEFAULT_BOUNDARIES_FOR_UNIT.set(tr.b.Unit.byName.sigma.unitName,HistogramBinBoundaries.createLinear(-5,5,50));return{DEFAULT_REBINNED_COUNT,DELTA,Histogram,HistogramBinBoundaries,P_VALUE_NAME,U_STATISTIC_NAME,Z_SCORE_NAME,percentFromString,percentToString,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-scalar-context-controller',created(){this.host_=undefined;this.groupToContext_=new Map();this.dirtyGroups_=new Set();},attached(){if(this.host_){throw new Error('Scalar context controller is already attached to a host');}
7390const host=findParentOrHost(this);if(host.__scalarContextController){throw new Error('Multiple scalar context controllers attached to this host');}
7391host.__scalarContextController=this;this.host_=host;},detached(){if(!this.host_){throw new Error('Scalar context controller is not attached to a host');}
7392if(this.host_.__scalarContextController!==this){throw new Error('Scalar context controller is not attached to its host');}
7393delete this.host_.__scalarContextController;this.host_=undefined;},getContext(group){return this.groupToContext_.get(group);},onScalarSpanAdded(group,span){let context=this.groupToContext_.get(group);if(context===undefined){context={spans:new Set(),range:new tr.b.math.Range()};this.groupToContext_.set(group,context);}
7394if(context.spans.has(span)){throw new Error('Scalar span already registered with group: '+group);}
7395context.spans.add(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanRemoved(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);}
7396context.spans.delete(span);this.markGroupDirtyAndScheduleUpdate_(group);},onScalarSpanUpdated(group,span){const context=this.groupToContext_.get(group);if(!context.spans.has(span)){throw new Error('Scalar span not registered with group: '+group);}
7397this.markGroupDirtyAndScheduleUpdate_(group);},markGroupDirtyAndScheduleUpdate_(group){const alreadyDirty=this.dirtyGroups_.size>0;this.dirtyGroups_.add(group);if(!alreadyDirty){tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContext,this);}},updateContext(){const groups=this.dirtyGroups_;if(groups.size===0)return;this.dirtyGroups_=new Set();for(const group of groups){this.updateGroup_(group);}
7398const event=new tr.b.Event('context-updated');event.groups=groups;this.dispatchEvent(event);},updateGroup_(group){const context=this.groupToContext_.get(group);if(context.spans.size===0){this.groupToContext_.delete(group);return;}
7399context.range.reset();for(const span of context.spans){context.range.addValue(span.value);}}});function getScalarContextControllerForElement(element){while(element){if(element.__scalarContextController){return element.__scalarContextController;}
7400element=findParentOrHost(element);}
7401return undefined;}
7402function findParentOrHost(node){if(node.parentElement){return node.parentElement;}
7403while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
7404return node.host;}
7405return{getScalarContextControllerForElement,};});'use strict';tr.exportTo('tr.v.ui',function(){function createScalarSpan(value,opt_config){if(value===undefined)return'';const config=opt_config||{};const ownerDocument=config.ownerDocument||document;const span=ownerDocument.createElement('tr-v-ui-scalar-span');let numericValue;if(value instanceof tr.b.Scalar){span.value=value;numericValue=value.value;}else if(value instanceof tr.v.Histogram){numericValue=value.average;if(numericValue===undefined)return'';span.setValueAndUnit(numericValue,value.unit);}else{const unit=config.unit;if(unit===undefined){throw new Error('Unit must be provided in config when value is a number');}
7406span.setValueAndUnit(value,unit);numericValue=value;}
7407if(config.context){span.context=config.context;}
7408if(config.customContextRange){span.customContextRange=config.customContextRange;}
7409if(config.leftAlign){span.leftAlign=true;}
7410if(config.inline){span.inline=true;}
7411if(config.significance!==undefined){span.significance=config.significance;}
7412if(config.contextGroup!==undefined){span.contextGroup=config.contextGroup;}
7413return span;}
7414return{createScalarSpan,};});'use strict';Polymer({is:'tr-v-ui-scalar-span',properties:{contextGroup:{type:String,reflectToAttribute:true,observer:'contextGroupChanged_'}},created(){this.value_=undefined;this.unit_=undefined;this.context_=undefined;this.warning_=undefined;this.significance_=tr.b.math.Statistics.Significance.DONT_CARE;this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;this.onContextUpdated_=this.onContextUpdated_.bind(this);this.customContextRange_=undefined;},get significance(){return this.significance_;},set significance(s){this.significance_=s;this.updateContents_();},set contentTextDecoration(deco){this.$.content.style.textDecoration=deco;},get value(){return this.value_;},set value(value){if(value instanceof tr.b.Scalar){this.value_=value.value;this.unit_=value.unit;}else{this.value_=value;}
7415this.updateContents_();if(this.hasContext_(this.contextGroup)){this.contextController_.onScalarSpanUpdated(this.contextGroup,this);}else{this.updateSparkline_();}},get contextController_(){if(this.shouldSearchForContextController_){this.lazyContextController_=tr.v.ui.getScalarContextControllerForElement(this);this.shouldSearchForContextController_=false;}
7416return this.lazyContextController_;},hasContext_(contextGroup){return!!(contextGroup&&this.contextController_);},contextGroupChanged_(newContextGroup,oldContextGroup){this.detachFromContextControllerIfPossible_(oldContextGroup);if(!this.attachToContextControllerIfPossible_(newContextGroup)){this.onContextUpdated_();}},attachToContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return false;this.contextController_.addEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanAdded(contextGroup,this);return true;},detachFromContextControllerIfPossible_(contextGroup){if(!this.hasContext_(contextGroup))return;this.contextController_.removeEventListener('context-updated',this.onContextUpdated_);this.contextController_.onScalarSpanRemoved(contextGroup,this);},attached(){tr.b.Unit.addEventListener('display-mode-changed',this.updateContents_.bind(this));this.shouldSearchForContextController_=true;this.attachToContextControllerIfPossible_(this.contextGroup);},detached(){tr.b.Unit.removeEventListener('display-mode-changed',this.updateContents_.bind(this));this.detachFromContextControllerIfPossible_(this.contextGroup);this.shouldSearchForContextController_=false;this.lazyContextController_=undefined;},onContextUpdated_(){this.updateSparkline_();},get context(){return this.context_;},set context(context){this.context_=context;this.updateContents_();},get unit(){return this.unit_;},set unit(unit){this.unit_=unit;this.updateContents_();this.updateSparkline_();},setValueAndUnit(value,unit){this.value_=value;this.unit_=unit;this.updateContents_();},get customContextRange(){return this.customContextRange_;},set customContextRange(customContextRange){this.customContextRange_=customContextRange;this.updateSparkline_();},get inline(){return Polymer.dom(this).classList.contains('inline');},set inline(inline){if(inline){Polymer.dom(this).classList.add('inline');}else{Polymer.dom(this).classList.remove('inline');}},get leftAlign(){return Polymer.dom(this).classList.contains('left-align');},set leftAlign(leftAlign){if(leftAlign){Polymer.dom(this).classList.add('left-align');}else{Polymer.dom(this).classList.remove('left-align');}},updateSparkline_(){Polymer.dom(this.$.sparkline).classList.remove('positive');Polymer.dom(this.$.sparkline).classList.remove('better');Polymer.dom(this.$.sparkline).classList.remove('worse');Polymer.dom(this.$.sparkline).classList.remove('same');this.$.sparkline.style.display='none';this.$.sparkline.style.left='0';this.$.sparkline.style.width='0';let range=this.customContextRange_;if(!range&&this.hasContext_(this.contextGroup)){const context=this.contextController_.getContext(this.contextGroup);if(context){range=context.range;}}
7417if(!range||range.isEmpty)return;const leftPoint=Math.min(range.min,0);const rightPoint=Math.max(range.max,0);const pointDistance=rightPoint-leftPoint;if(pointDistance===0){return;}
7418this.$.sparkline.style.display='block';let left;let width;if(this.value>0){width=Math.min(this.value,rightPoint);left=-leftPoint;Polymer.dom(this.$.sparkline).classList.add('positive');}else if(this.value<=0){width=-Math.max(this.value,leftPoint);left=(-leftPoint)-width;}
7419this.$.sparkline.style.left=this.buildSparklineStyle_(left/pointDistance,false);this.$.sparkline.style.width=this.buildSparklineStyle_(width/pointDistance,true);const changeClass=this.changeClassName_;if(changeClass){Polymer.dom(this.$.sparkline).classList.add(changeClass);}},buildSparklineStyle_(ratio,isWidth){let position='calc('+ratio+' * (100% - 1px)';if(isWidth){position+=' + 1px';}
7420position+=')';return position;},updateContents_(){Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).classList.remove('better');Polymer.dom(this.$.content).classList.remove('worse');Polymer.dom(this.$.content).classList.remove('same');this.$.insignificant.style.display='';this.$.significantly_better.style.display='';this.$.significantly_worse.style.display='';if(this.unit_===undefined)return;this.$.content.title='';Polymer.dom(this.$.content).textContent=this.unit_.format(this.value,this.context);this.updateDelta_();},updateDelta_(){let changeClass=this.changeClassName_;if(!changeClass){this.$.significance.style.display='none';return;}
7421this.$.significance.style.display='inline';let title;switch(changeClass){case'better':title='improvement';break;case'worse':title='regression';break;case'same':title='no change';break;default:throw new Error('Unknown change class: '+changeClass);}
7422Polymer.dom(this.$.content).classList.add(changeClass);switch(this.significance){case tr.b.math.Statistics.Significance.DONT_CARE:break;case tr.b.math.Statistics.Significance.INSIGNIFICANT:if(changeClass!=='same')title='insignificant '+title;this.$.insignificant.style.display='inline';changeClass='same';break;case tr.b.math.Statistics.Significance.SIGNIFICANT:if(changeClass==='same'){throw new Error('How can no change be significant?');}
7423this.$['significantly_'+changeClass].style.display='inline';title='significant '+title;break;default:throw new Error('Unknown significance '+this.significance);}
7424this.$.significance.title=title;this.$.content.title=title;},get changeClassName_(){if(!this.unit_||!this.unit_.isDelta)return undefined;switch(this.unit_.improvementDirection){case tr.b.ImprovementDirection.DONT_CARE:return undefined;case tr.b.ImprovementDirection.BIGGER_IS_BETTER:if(this.value===0)return'same';return this.value>0?'better':'worse';case tr.b.ImprovementDirection.SMALLER_IS_BETTER:if(this.value===0)return'same';return this.value<0?'better':'worse';default:throw new Error('Unknown improvement direction: '+
7425this.unit_.improvementDirection);}},get warning(){return this.warning_;},set warning(warning){this.warning_=warning;const warningEl=this.$.warning;if(this.warning_){warningEl.title=warning;warningEl.style.display='inline';}else{warningEl.title='';warningEl.style.display='';}},get timestamp(){return this.value;},set timestamp(timestamp){if(timestamp instanceof tr.b.u.TimeStamp){this.value=timestamp;return;}
7426this.setValueAndUnit(timestamp,tr.b.u.Units.timeStampInMs);},get duration(){return this.value;},set duration(duration){if(duration instanceof tr.b.u.TimeDuration){this.value=duration;return;}
7427this.setValueAndUnit(duration,tr.b.u.Units.timeDurationInMs);}});'use strict';const URL_REGEX=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/;function isTable(object){if(!(object instanceof Array)||(object.length<2))return false;for(const colName in object[0]){if(typeof colName!=='string')return false;}
7428for(let i=0;i<object.length;++i){if(!(object[i]instanceof Object))return false;for(const colName in object[i]){if(i&&(object[0][colName]===undefined))return false;const cellType=typeof object[i][colName];if(cellType!=='string'&&cellType!=='number')return false;}
7429if(i){for(const colName in object[0]){if(object[i][colName]===undefined)return false;}}}
7430return true;}
7431Polymer({is:'tr-ui-a-generic-object-view',ready(){this.object_=undefined;},get object(){return this.object_;},set object(object){this.object_=object;this.updateContents_();},updateContents_(){Polymer.dom(this.$.content).textContent='';this.appendElementsForType_('',this.object_,0,0,5,'');},appendElementsForType_(label,object,indent,depth,maxDepth,suffix){if(depth>maxDepth){this.appendSimpleText_(label,indent,'<recursion limit reached>',suffix);return;}
7432if(object===undefined){this.appendSimpleText_(label,indent,'undefined',suffix);return;}
7433if(object===null){this.appendSimpleText_(label,indent,'null',suffix);return;}
7434if(!(object instanceof Object)){const type=typeof object;if(type!=='string'){return this.appendSimpleText_(label,indent,object,suffix);}
7435let objectReplaced=false;if((object[0]==='{'&&object[object.length-1]==='}')||(object[0]==='['&&object[object.length-1]===']')){try{object=JSON.parse(object);objectReplaced=true;}catch(e){}}
7436if(!objectReplaced){if(object.includes('\n')){const lines=object.split('\n');lines.forEach(function(line,i){let text;let ioff;let ll;let ss;if(i===0){text='"'+line;ioff=0;ll=label;ss='';}else if(i<lines.length-1){text=line;ioff=1;ll='';ss='';}else{text=line+'"';ioff=1;ll='';ss=suffix;}
7437const el=this.appendSimpleText_(ll,indent+ioff*label.length+ioff,text,ss);el.style.whiteSpace='pre';return el;},this);return;}
7438if(object.match(URL_REGEX)){const link=document.createElement('a');link.href=object;link.textContent=object;this.appendElementWithLabel_(label,indent,link,suffix);return;}
7439this.appendSimpleText_(label,indent,'"'+object+'"',suffix);return;}}
7440if(object instanceof tr.model.ObjectSnapshot){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
7441if(object instanceof tr.model.ObjectInstance){const link=document.createElement('tr-ui-a-analysis-link');link.selection=new tr.model.EventSet(object);this.appendElementWithLabel_(label,indent,link,suffix);return;}
7442if(object instanceof tr.b.math.Rect){this.appendSimpleText_(label,indent,object.toString(),suffix);return;}
7443if(object instanceof tr.b.Scalar){const el=this.ownerDocument.createElement('tr-v-ui-scalar-span');el.value=object;el.inline=true;this.appendElementWithLabel_(label,indent,el,suffix);return;}
7444if(object instanceof Array){this.appendElementsForArray_(label,object,indent,depth,maxDepth,suffix);return;}
7445this.appendElementsForObject_(label,object,indent,depth,maxDepth,suffix);},appendElementsForArray_(label,object,indent,depth,maxDepth,suffix){if(object.length===0){this.appendSimpleText_(label,indent,'[]',suffix);return;}
7446if(isTable(object)){const table=document.createElement('tr-ui-b-table');const columns=[];for(const colName of Object.keys(object[0])){let allStrings=true;let allNumbers=true;for(let i=0;i<object.length;++i){if(typeof(object[i][colName])!=='string'){allStrings=false;}
7447if(typeof(object[i][colName])!=='number'){allNumbers=false;}
7448if(!allStrings&&!allNumbers)break;}
7449const column={title:colName};column.value=function(row){return row[colName];};if(allStrings){column.cmp=function(x,y){return x[colName].localeCompare(y[colName]);};}else if(allNumbers){column.cmp=function(x,y){return x[colName]-y[colName];};}
7450columns.push(column);}
7451table.tableColumns=columns;table.tableRows=object;this.appendElementWithLabel_(label,indent,table,suffix);table.rebuild();return;}
7452this.appendElementsForType_(label+'[',object[0],indent,depth+1,maxDepth,object.length>1?',':']'+suffix);for(let i=1;i<object.length;i++){this.appendElementsForType_('',object[i],indent+label.length+1,depth+1,maxDepth,i<object.length-1?',':']'+suffix);}
7453return;},appendElementsForObject_(label,object,indent,depth,maxDepth,suffix){const keys=Object.keys(object);if(keys.length===0){this.appendSimpleText_(label,indent,'{}',suffix);return;}
7454this.appendElementsForType_(label+'{'+keys[0]+': ',object[keys[0]],indent,depth,maxDepth,keys.length>1?',':'}'+suffix);for(let i=1;i<keys.length;i++){this.appendElementsForType_(keys[i]+': ',object[keys[i]],indent+label.length+1,depth+1,maxDepth,i<keys.length-1?',':'}'+suffix);}},appendElementWithLabel_(label,indent,dataElement,suffix){const row=document.createElement('div');const indentSpan=document.createElement('span');indentSpan.style.whiteSpace='pre';for(let i=0;i<indent;i++){Polymer.dom(indentSpan).textContent+=' ';}
7455Polymer.dom(row).appendChild(indentSpan);const labelSpan=document.createElement('span');Polymer.dom(labelSpan).textContent=label;Polymer.dom(row).appendChild(labelSpan);Polymer.dom(row).appendChild(dataElement);const suffixSpan=document.createElement('span');Polymer.dom(suffixSpan).textContent=suffix;Polymer.dom(row).appendChild(suffixSpan);row.dataElement=dataElement;Polymer.dom(this.$.content).appendChild(row);},appendSimpleText_(label,indent,text,suffix){const el=this.ownerDocument.createElement('span');Polymer.dom(el).textContent=text;this.appendElementWithLabel_(label,indent,el,suffix);return el;}});'use strict';Polymer({is:'tr-ui-a-generic-object-view-with-label',ready(){this.labelEl_=document.createElement('div');this.genericObjectView_=document.createElement('tr-ui-a-generic-object-view');Polymer.dom(this.root).appendChild(this.labelEl_);Polymer.dom(this.root).appendChild(this.genericObjectView_);},get label(){return Polymer.dom(this.labelEl_).textContent;},set label(label){Polymer.dom(this.labelEl_).textContent=label;},get object(){return this.genericObjectView_.object;},set object(object){this.genericObjectView_.object=object;}});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectSnapshotView=tr.ui.b.define('object-snapshot-view');ObjectSnapshotView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectSnapshot_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectSnapshot=obj;},get modelEvent(){return this.objectSnapshot;},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(i){this.objectSnapshot_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectSnapshotView;options.defaultMetadata={showInstances:true,showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectSnapshotView,options);return{ObjectSnapshotView,};});'use strict';Polymer({is:'tr-ui-b-drag-handle',created(){this.lastMousePos_=0;this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.target_=undefined;this.horizontal=true;this.observer_=new WebKitMutationObserver(this.didTargetMutate_.bind(this));this.targetSizesByModeKey_={};},get modeKey_(){return this.target_.className===''?'.':this.target_.className;},get target(){return this.target_;},set target(target){this.observer_.disconnect();this.target_=target;if(!this.target_)return;this.observer_.observe(this.target_,{attributes:true,attributeFilter:['class']});},get horizontal(){return this.horizontal_;},set horizontal(h){this.horizontal_=h;if(this.horizontal_){this.className='horizontal-drag-handle';}else{this.className='vertical-drag-handle';}},get vertical(){return!this.horizontal_;},set vertical(v){this.horizontal=!v;},forceMutationObserverFlush_(){const records=this.observer_.takeRecords();if(records.length){this.didTargetMutate_(records);}},didTargetMutate_(e){const modeSize=this.targetSizesByModeKey_[this.modeKey_];if(modeSize!==undefined){this.setTargetSize_(modeSize);return;}
7456this.target_.style[this.targetStyleKey_]='';},get targetStyleKey_(){return this.horizontal_?'height':'width';},getTargetSize_(){const targetStyleKey=this.targetStyleKey_;if(!this.target_.style[targetStyleKey]){this.target_.style[targetStyleKey]=window.getComputedStyle(this.target_)[targetStyleKey];}
7457const size=parseInt(this.target_.style[targetStyleKey]);this.targetSizesByModeKey_[this.modeKey_]=size;return size;},setTargetSize_(s){this.target_.style[this.targetStyleKey_]=s+'px';this.targetSizesByModeKey_[this.modeKey_]=s;tr.b.dispatchSimpleEvent(this,'drag-handle-resize',true,false);},applyDelta_(delta){const curSize=this.getTargetSize_();let newSize;if(this.target_===this.nextElementSibling){newSize=curSize+delta;}else{newSize=curSize-delta;}
7458this.setTargetSize_(newSize);},onMouseMove_(e){const curMousePos=this.horizontal_?e.clientY:e.clientX;const delta=this.lastMousePos_-curMousePos;this.applyDelta_(delta);this.lastMousePos_=curMousePos;e.preventDefault();return true;},onMouseDown_(e){if(!this.target_)return;this.forceMutationObserverFlush_();this.lastMousePos_=this.horizontal_?e.clientY:e.clientX;document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);e.preventDefault();return true;},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);e.preventDefault();}});'use strict';tr.exportTo('tr.ui.b',function(){function HotKey(dict){if(dict.eventType===undefined){throw new Error('eventType must be given');}
7459if(dict.keyCode===undefined&&dict.keyCodes===undefined){throw new Error('keyCode or keyCodes must be given');}
7460if(dict.keyCode!==undefined&&dict.keyCodes!==undefined){throw new Error('Only keyCode or keyCodes can be given');}
7461if(dict.callback===undefined){throw new Error('callback must be given');}
7462this.eventType_=dict.eventType;this.keyCodes_=[];if(dict.keyCode){this.pushKeyCode_(dict.keyCode);}else if(dict.keyCodes){dict.keyCodes.forEach(this.pushKeyCode_,this);}
7463this.useCapture_=!!dict.useCapture;this.callback_=dict.callback;this.thisArg_=dict.thisArg!==undefined?dict.thisArg:undefined;this.helpText_=dict.helpText!==undefined?dict.helpText:undefined;}
7464HotKey.prototype={get eventType(){return this.eventType_;},get keyCodes(){return this.keyCodes_;},get helpText(){return this.helpText_;},call(e){this.callback_.call(this.thisArg_,e);},pushKeyCode_(keyCode){this.keyCodes_.push(keyCode);}};return{HotKey,};});'use strict';Polymer({is:'tv-ui-b-hotkey-controller',created(){this.isAttached_=false;this.globalMode_=false;this.coupledToParentController_=undefined;this.curHost_=undefined;this.childControllers_=[];this.bubblingKeyDownHotKeys_={};this.capturingKeyDownHotKeys_={};this.bubblingKeyPressHotKeys_={};this.capturingKeyPressHotKeys_={};this.onBubblingKeyDown_=this.onKey_.bind(this,false);this.onCapturingKeyDown_=this.onKey_.bind(this,true);this.onBubblingKeyPress_=this.onKey_.bind(this,false);this.onCapturingKeyPress_=this.onKey_.bind(this,true);},attached(){this.isAttached_=true;const host=this.findHost_();if(host.__hotkeyController){throw new Error('Multiple hotkey controllers attached to this host');}
7465host.__hotkeyController=this;this.curHost_=host;let parentElement;if(host.parentElement){parentElement=host.parentElement;}else{parentElement=Polymer.dom(host).parentNode.host;}
7466const parentController=tr.b.getHotkeyControllerForElement(parentElement);if(parentController){this.coupledToParentController_=parentController;parentController.addChildController_(this);return;}
7467host.addEventListener('keydown',this.onBubblingKeyDown_,false);host.addEventListener('keydown',this.onCapturingKeyDown_,true);host.addEventListener('keypress',this.onBubblingKeyPress_,false);host.addEventListener('keypress',this.onCapturingKeyPress_,true);},detached(){this.isAttached_=false;const host=this.curHost_;if(!host)return;delete host.__hotkeyController;this.curHost_=undefined;if(this.coupledToParentController_){this.coupledToParentController_.removeChildController_(this);this.coupledToParentController_=undefined;return;}
7468host.removeEventListener('keydown',this.onBubblingKeyDown_,false);host.removeEventListener('keydown',this.onCapturingKeyDown_,true);host.removeEventListener('keypress',this.onBubblingKeyPress_,false);host.removeEventListener('keypress',this.onCapturingKeyPress_,true);},addChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i!==-1){throw new Error('Controller already registered');}
7469this.childControllers_.push(controller);},removeChildController_(controller){const i=this.childControllers_.indexOf(controller);if(i===-1){throw new Error('Controller not registered');}
7470this.childControllers_.splice(i,1);return controller;},getKeyMapForEventType_(eventType,useCapture){if(eventType==='keydown'){if(!useCapture){return this.bubblingKeyDownHotKeys_;}
7471return this.capturingKeyDownHotKeys_;}
7472if(eventType==='keypress'){if(!useCapture){return this.bubblingKeyPressHotKeys_;}
7473return this.capturingKeyPressHotKeys_;}
7474throw new Error('Unsupported key event');},addHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');}
7475const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(keyMap[keyCode]){throw new Error('Key is already bound for keyCode='+keyCode);}}
7476for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];keyMap[keyCode]=hotKey;}
7477return hotKey;},removeHotKey(hotKey){if(!(hotKey instanceof tr.ui.b.HotKey)){throw new Error('hotKey must be a tr.ui.b.HotKey');}
7478const keyMap=this.getKeyMapForEventType_(hotKey.eventType,hotKey.useCapture);for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];if(!keyMap[keyCode]){throw new Error('Key is not bound for keyCode='+keyCode);}
7479keyMap[keyCode]=hotKey;}
7480for(let i=0;i<hotKey.keyCodes.length;i++){const keyCode=hotKey.keyCodes[i];delete keyMap[keyCode];}
7481return hotKey;},get globalMode(){return this.globalMode_;},set globalMode(globalMode){const wasAttached=this.isAttached_;if(wasAttached){this.detached();}
7482this.globalMode_=!!globalMode;if(wasAttached){this.attached();}},get topmostConroller_(){if(this.coupledToParentController_){return this.coupledToParentController_.topmostConroller_;}
7483return this;},childRequestsGeneralFocus(child){const topmost=this.topmostConroller_;if(topmost.curHost_){if(topmost.curHost_.hasAttribute('tabIndex')){topmost.curHost_.focus();}else{if(document.activeElement){document.activeElement.blur();}}}else{if(document.activeElement){document.activeElement.blur();}}},childRequestsBlur(child){child.blur();const topmost=this.topmostConroller_;if(topmost.curHost_){topmost.curHost_.focus();}},findHost_(){if(this.globalMode_)return document.body;if(this.parentElement)return this.parentElement;if(!Polymer.dom(this).parentNode)return this.host;let node=this.parentNode;while(Polymer.dom(node).parentNode)node=Polymer.dom(node).parentNode;return node.host;},appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e){const localKeyMap=this.getKeyMapForEventType_(e.type,useCapture);const localHotKey=localKeyMap[e.keyCode];if(localHotKey){matchedHotKeys.push(localHotKey);}
7484for(let i=0;i<this.childControllers_.length;i++){const controller=this.childControllers_[i];controller.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);}},onKey_(useCapture,e){if(!useCapture&&e.path[0].tagName==='INPUT')return;let sortedControllers;const matchedHotKeys=[];this.appendMatchingHotKeysTo_(matchedHotKeys,useCapture,e);if(matchedHotKeys.length===0)return false;if(matchedHotKeys.length>1){throw new Error('More than one hotKey is currently unsupported');}
7485const hotKey=matchedHotKeys[0];let prevented=0;prevented|=hotKey.call(e);return!prevented&&e.defaultPrevented;}});'use strict';tr.exportTo('tr.b',function(){function getHotkeyControllerForElement(refElement){let curElement=refElement;while(curElement){if(curElement.tagName==='tv-ui-b-hotkey-controller'){return curElement;}
7486if(curElement.__hotkeyController){return curElement.__hotkeyController;}
7487if(curElement.parentElement){curElement=curElement.parentElement;continue;}
7488curElement=findHost(curElement);}
7489return undefined;}
7490function findHost(initialNode){let node=initialNode;while(Polymer.dom(node).parentNode){node=Polymer.dom(node).parentNode;}
7491return node.host;}
7492return{getHotkeyControllerForElement,};});'use strict';Polymer({is:'tr-ui-b-info-bar',ready(){this.messageEl_=this.$.message;this.buttonsEl_=this.$.buttons;this.message='';},get message(){return Polymer.dom(this.messageEl_).textContent;},set message(message){Polymer.dom(this.messageEl_).textContent=message;},get visible(){return!this.hidden;},set visible(visible){this.hidden=!visible;},removeAllButtons(){Polymer.dom(this.buttonsEl_).textContent='';},addButton(text,clickCallback){const button=document.createElement('button');Polymer.dom(button).textContent=text;button.addEventListener('click',clickCallback);Polymer.dom(this.buttonsEl_).appendChild(button);return button;}});'use strict';tr.exportTo('tr.ui.b',function(){const ContainerThatDecoratesItsChildren=tr.ui.b.define('div');ContainerThatDecoratesItsChildren.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.observer_=new WebKitMutationObserver(this.didMutate_.bind(this));this.observer_.observe(this,{childList:true});Object.defineProperty(this,'textContent',{get:undefined,set:this.onSetTextContent_});},appendChild(x){HTMLDivElement.prototype.appendChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},insertBefore(x,y){HTMLDivElement.prototype.insertBefore.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},removeChild(x){HTMLDivElement.prototype.removeChild.call(this,x);this.didMutate_(this.observer_.takeRecords());},replaceChild(x,y){HTMLDivElement.prototype.replaceChild.call(this,x,y);this.didMutate_(this.observer_.takeRecords());},onSetTextContent_(textContent){if(textContent!==''){throw new Error('textContent can only be set to \'\'.');}
7493this.clear();},clear(){while(Polymer.dom(this).lastChild){HTMLDivElement.prototype.removeChild.call(this,Polymer.dom(this).lastChild);}
7494this.didMutate_(this.observer_.takeRecords());},didMutate_(records){this.beginDecorating_();for(let i=0;i<records.length;i++){const addedNodes=records[i].addedNodes;if(addedNodes){for(let j=0;j<addedNodes.length;j++){this.decorateChild_(addedNodes[j]);}}
7495const removedNodes=records[i].removedNodes;if(removedNodes){for(let j=0;j<removedNodes.length;j++){this.undecorateChild_(removedNodes[j]);}}}
7496this.doneDecoratingForNow_();},decorateChild_(child){throw new Error('Not implemented');},undecorateChild_(child){throw new Error('Not implemented');},beginDecorating_(){},doneDecoratingForNow_(){}};return{ContainerThatDecoratesItsChildren,};});'use strict';tr.exportTo('tr.ui.b',function(){const ListView=tr.ui.b.define('x-list-view',tr.ui.b.ContainerThatDecoratesItsChildren);ListView.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);Polymer.dom(this).classList.add('x-list-view');this.onItemClicked_=this.onItemClicked_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.tabIndex=0;this.addEventListener('keydown',this.onKeyDown_);this.selectionChanged_=false;},decorateChild_(item){Polymer.dom(item).classList.add('list-item');item.addEventListener('click',this.onItemClicked_,true);Object.defineProperty(item,'selected',{configurable:true,get:()=>item.hasAttribute('selected'),set:value=>{const oldSelection=this.selectedElement;if(oldSelection&&oldSelection!==item&&value){Polymer.dom(this.selectedElement).removeAttribute('selected');}
7497if(value){Polymer.dom(item).setAttribute('selected','selected');}else{Polymer.dom(item).removeAttribute('selected');}
7498const newSelection=this.selectedElement;if(newSelection!==oldSelection){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},});},undecorateChild_(item){this.selectionChanged_|=item.selected;Polymer.dom(item).classList.remove('list-item');item.removeEventListener('click',this.onItemClicked_);delete item.selected;},beginDecorating_(){this.selectionChanged_=false;},doneDecoratingForNow_(){if(this.selectionChanged_){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},get selectedElement(){const el=Polymer.dom(this).querySelector('.list-item[selected]');if(!el)return undefined;return el;},set selectedElement(el){if(!el){if(this.selectedElement){this.selectedElement.selected=false;}
7499return;}
7500if(el.parentElement!==this){throw new Error('Can only select elements that are children of this list view');}
7501el.selected=true;},getElementByIndex(index){return Polymer.dom(this).querySelector('.list-item:nth-child('+index+')');},clear(){const changed=this.selectedElement!==undefined;tr.ui.b.ContainerThatDecoratesItsChildren.prototype.clear.call(this);if(changed){tr.b.dispatchSimpleEvent(this,'selection-changed',false);}},onItemClicked_(e){const currentSelectedElement=this.selectedElement;if(currentSelectedElement){Polymer.dom(currentSelectedElement).removeAttribute('selected');}
7502let element=e.target;while(element.parentElement!==this){element=element.parentElement;}
7503if(element!==currentSelectedElement){Polymer.dom(element).setAttribute('selected','selected');}
7504tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onKeyDown_(e){if(this.selectedElement===undefined)return;if(e.keyCode===38){const prev=Polymer.dom(this.selectedElement).previousSibling;if(prev){prev.selected=true;tr.ui.b.scrollIntoViewIfNeeded(prev);e.preventDefault();return true;}}else if(e.keyCode===40){const next=Polymer.dom(this.selectedElement).nextSibling;if(next){next.selected=true;tr.ui.b.scrollIntoViewIfNeeded(next);e.preventDefault();return true;}}},addItem(textContent){const item=document.createElement('div');Polymer.dom(item).textContent=textContent;Polymer.dom(this).appendChild(item);return item;}};return{ListView,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE={};MOUSE_SELECTOR_MODE.SELECTION=0x1;MOUSE_SELECTOR_MODE.PANSCAN=0x2;MOUSE_SELECTOR_MODE.ZOOM=0x4;MOUSE_SELECTOR_MODE.TIMING=0x8;MOUSE_SELECTOR_MODE.ROTATE=0x10;MOUSE_SELECTOR_MODE.ALL_MODES=0x1F;const MOUSE_SELECTOR_MODE_INFOS={};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.PANSCAN]={mode:MOUSE_SELECTOR_MODE.PANSCAN,title:'pan',eventNames:{enter:'enterpan',begin:'beginpan',update:'updatepan',end:'endpan',exit:'exitpan'},activeBackgroundPosition:'-30px -10px',defaultBackgroundPosition:'0 -10px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION]={mode:MOUSE_SELECTOR_MODE.SELECTION,title:'selection',eventNames:{enter:'enterselection',begin:'beginselection',update:'updateselection',end:'endselection',exit:'exitselection'},activeBackgroundPosition:'-30px -40px',defaultBackgroundPosition:'0 -40px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ZOOM]={mode:MOUSE_SELECTOR_MODE.ZOOM,title:'zoom',eventNames:{enter:'enterzoom',begin:'beginzoom',update:'updatezoom',end:'endzoom',exit:'exitzoom'},activeBackgroundPosition:'-30px -70px',defaultBackgroundPosition:'0 -70px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.TIMING]={mode:MOUSE_SELECTOR_MODE.TIMING,title:'timing',eventNames:{enter:'entertiming',begin:'begintiming',update:'updatetiming',end:'endtiming',exit:'exittiming'},activeBackgroundPosition:'-30px -100px',defaultBackgroundPosition:'0 -100px'};MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.ROTATE]={mode:MOUSE_SELECTOR_MODE.ROTATE,title:'rotate',eventNames:{enter:'enterrotate',begin:'beginrotate',update:'updaterotate',end:'endrotate',exit:'exitrotate'},activeBackgroundPosition:'-30px -130px',defaultBackgroundPosition:'0 -130px'};return{MOUSE_SELECTOR_MODE_INFOS,MOUSE_SELECTOR_MODE,};});'use strict';Polymer({is:'tr-ui-b-mouse-mode-icon',properties:{modeName:{type:String,reflectToAttribute:true,observer:'modeNameChanged'},},created(){this.active_=false;this.acceleratorKey_=undefined;},ready(){this.updateContents_();},get mode(){return tr.ui.b.MOUSE_SELECTOR_MODE[this.modeName];},set mode(mode){const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];const modeName=tr.b.findFirstKeyInDictMatching(tr.ui.b.MOUSE_SELECTOR_MODE,function(modeName,candidateMode){return candidateMode===mode;});if(modeName===undefined){throw new Error('Unknown mode');}
7505this.modeName=modeName;},modeNameChanged(){this.updateContents_();},get active(){return this.active_;},set active(active){this.active_=!!active;if(this.active_){Polymer.dom(this).classList.add('active');}else{Polymer.dom(this).classList.remove('active');}
7506this.updateContents_();},get acceleratorKey(){return this.acceleratorKey_;},set acceleratorKey(acceleratorKey){this.acceleratorKey_=acceleratorKey;this.updateContents_();},updateContents_(){if(this.modeName===undefined)return;const mode=this.mode;if(mode===undefined){throw new Error('Invalid mode');}
7507const modeInfo=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS[mode];if(!modeInfo){throw new Error('Invalid mode');}
7508let title=modeInfo.title;if(this.acceleratorKey_){title=title+' ('+this.acceleratorKey_+')';}
7509this.title=title;let bp;if(this.active_){bp=modeInfo.activeBackgroundPosition;}else{bp=modeInfo.defaultBackgroundPosition;}
7510this.style.backgroundPosition=bp;}});'use strict';tr.exportTo('tr.ui.b',function(){function MouseTracker(opt_targetElement){this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.targetElement=opt_targetElement;}
7511MouseTracker.prototype={get targetElement(){return this.targetElement_;},set targetElement(targetElement){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);}
7512this.targetElement_=targetElement;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},onMouseDown_(e){if(e.button!==0)return true;e=this.remakeEvent_(e,'mouse-tracker-start');this.targetElement_.dispatchEvent(e);document.addEventListener('mousemove',this.onMouseMove_);document.addEventListener('mouseup',this.onMouseUp_);this.targetElement_.addEventListener('blur',this.onMouseUp_);this.savePreviousUserSelect_=document.body.style['-webkit-user-select'];document.body.style['-webkit-user-select']='none';e.preventDefault();return true;},onMouseMove_(e){e=this.remakeEvent_(e,'mouse-tracker-move');this.targetElement_.dispatchEvent(e);},onMouseUp_(e){document.removeEventListener('mousemove',this.onMouseMove_);document.removeEventListener('mouseup',this.onMouseUp_);this.targetElement_.removeEventListener('blur',this.onMouseUp_);document.body.style['-webkit-user-select']=this.savePreviousUserSelect_;e=this.remakeEvent_(e,'mouse-tracker-end');this.targetElement_.dispatchEvent(e);},remakeEvent_(e,newType){const remade=new tr.b.Event(newType,true,true);remade.x=e.x;remade.y=e.y;remade.offsetX=e.offsetX;remade.offsetY=e.offsetY;remade.clientX=e.clientX;remade.clientY=e.clientY;return remade;}};function trackMouseMovesUntilMouseUp(mouseMoveHandler,opt_mouseUpHandler,opt_keyUpHandler){function cleanupAndDispatchToMouseUp(e){document.removeEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.removeEventListener('keyup',opt_keyUpHandler);}
7513document.removeEventListener('mouseup',cleanupAndDispatchToMouseUp);if(opt_mouseUpHandler){opt_mouseUpHandler(e);}}
7514document.addEventListener('mousemove',mouseMoveHandler);if(opt_keyUpHandler){document.addEventListener('keyup',opt_keyUpHandler);}
7515document.addEventListener('mouseup',cleanupAndDispatchToMouseUp);}
7516return{MouseTracker,trackMouseMovesUntilMouseUp,};});'use strict';tr.exportTo('tr.ui.b',function(){const MOUSE_SELECTOR_MODE=tr.ui.b.MOUSE_SELECTOR_MODE;const MOUSE_SELECTOR_MODE_INFOS=tr.ui.b.MOUSE_SELECTOR_MODE_INFOS;const MIN_MOUSE_SELECTION_DISTANCE=4;const MODIFIER={SHIFT:0x1,SPACE:0x2,CMD_OR_CTRL:0x4};function isCmdOrCtrlPressed(event){if(tr.isMac)return event.metaKey;return event.ctrlKey;}
7517Polymer({is:'tr-ui-b-mouse-mode-selector',created(){this.supportedModeMask_=MOUSE_SELECTOR_MODE.ALL_MODES;this.initialRelativeMouseDownPos_={x:0,y:0};this.defaultMode_=MOUSE_SELECTOR_MODE.PANSCAN;this.settingsKey_=undefined;this.mousePos_={x:0,y:0};this.mouseDownPos_={x:0,y:0};this.onMouseDown_=this.onMouseDown_.bind(this);this.onMouseMove_=this.onMouseMove_.bind(this);this.onMouseUp_=this.onMouseUp_.bind(this);this.onKeyDown_=this.onKeyDown_.bind(this);this.onKeyUp_=this.onKeyUp_.bind(this);this.mode_=undefined;this.modeToKeyCodeMap_={};this.modifierToModeMap_={};this.targetElement_=undefined;this.modeBeforeAlternativeModeActivated_=null;this.isInteracting_=false;this.isClick_=false;},ready(){this.buttonsEl_=Polymer.dom(this.root).querySelector('.buttons');this.dragHandleEl_=Polymer.dom(this.root).querySelector('.drag-handle');this.supportedModeMask=MOUSE_SELECTOR_MODE.ALL_MODES;this.dragHandleEl_.addEventListener('mousedown',this.onDragHandleMouseDown_.bind(this));this.buttonsEl_.addEventListener('mouseup',this.onButtonMouseUp_);this.buttonsEl_.addEventListener('mousedown',this.onButtonMouseDown_);this.buttonsEl_.addEventListener('click',this.onButtonPress_.bind(this));},attached(){document.addEventListener('keydown',this.onKeyDown_);document.addEventListener('keyup',this.onKeyUp_);},detached(){document.removeEventListener('keydown',this.onKeyDown_);document.removeEventListener('keyup',this.onKeyUp_);},get targetElement(){return this.targetElement_;},set targetElement(target){if(this.targetElement_){this.targetElement_.removeEventListener('mousedown',this.onMouseDown_);}
7518this.targetElement_=target;if(this.targetElement_){this.targetElement_.addEventListener('mousedown',this.onMouseDown_);}},get defaultMode(){return this.defaultMode_;},set defaultMode(defaultMode){this.defaultMode_=defaultMode;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(!this.settingsKey_)return;let mode=tr.b.Settings.get(this.settingsKey_+'.mode',undefined);if(MOUSE_SELECTOR_MODE_INFOS[mode]===undefined){mode=undefined;}
7519if((mode&this.supportedModeMask_)===0){mode=undefined;}
7520if(!mode)mode=this.defaultMode_;this.mode=mode;const pos=tr.b.Settings.get(this.settingsKey_+'.pos',undefined);if(pos)this.pos=pos;},get supportedModeMask(){return this.supportedModeMask_;},set supportedModeMask(supportedModeMask){if(this.mode&&(supportedModeMask&this.mode)===0){throw new Error('supportedModeMask must include current mode.');}
7521function createButtonForMode(mode){return button;}
7522this.supportedModeMask_=supportedModeMask;Polymer.dom(this.buttonsEl_).textContent='';for(const modeName in MOUSE_SELECTOR_MODE){if(modeName==='ALL_MODES')continue;const mode=MOUSE_SELECTOR_MODE[modeName];if((this.supportedModeMask_&mode)===0)continue;const button=document.createElement('tr-ui-b-mouse-mode-icon');button.mode=mode;Polymer.dom(button).classList.add('tool-button');Polymer.dom(this.buttonsEl_).appendChild(button);}},getButtonForMode_(mode){for(let i=0;i<this.buttonsEl_.children.length;i++){const buttonEl=this.buttonsEl_.children[i];if(buttonEl.mode===mode){return buttonEl;}}
7523return undefined;},get mode(){return this.currentMode_;},set mode(newMode){if(newMode!==undefined){if(typeof newMode!=='number'){throw new Error('Mode must be a number');}
7524if((newMode&this.supportedModeMask_)===0){throw new Error('Cannot switch to this mode, it is not supported');}
7525if(MOUSE_SELECTOR_MODE_INFOS[newMode]===undefined){throw new Error('Unrecognized mode');}}
7526let modeInfo;if(this.currentMode_===newMode)return;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=false;if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end);this.dispatchEvent(mouseEvent);}
7527modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.exit,true);}
7528this.currentMode_=newMode;if(this.currentMode_){const buttonEl=this.getButtonForMode_(this.currentMode_);if(buttonEl)buttonEl.active=true;this.mouseDownPos_.x=this.mousePos_.x;this.mouseDownPos_.y=this.mousePos_.y;modeInfo=MOUSE_SELECTOR_MODE_INFOS[this.currentMode_];if(!this.isInAlternativeMode_){tr.b.dispatchSimpleEvent(this,modeInfo.eventNames.enter,true);}
7529if(this.isInteracting_){const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin);this.dispatchEvent(mouseEvent);}}
7530if(this.settingsKey_&&!this.isInAlternativeMode_){tr.b.Settings.set(this.settingsKey_+'.mode',this.mode);}},setKeyCodeForMode(mode,keyCode){if((mode&this.supportedModeMask_)===0){throw new Error('Mode not supported');}
7531this.modeToKeyCodeMap_[mode]=keyCode;if(!this.buttonsEl_)return;const buttonEl=this.getButtonForMode_(mode);if(buttonEl){buttonEl.acceleratorKey=String.fromCharCode(keyCode);}},setCurrentMousePosFromEvent_(e){this.mousePos_.x=e.clientX;this.mousePos_.y=e.clientY;},createEvent_(eventName,sourceEvent){const event=new tr.b.Event(eventName,true);event.clientX=this.mousePos_.x;event.clientY=this.mousePos_.y;event.deltaX=this.mousePos_.x-this.mouseDownPos_.x;event.deltaY=this.mousePos_.y-this.mouseDownPos_.y;event.mouseDownX=this.mouseDownPos_.x;event.mouseDownY=this.mouseDownPos_.y;event.didPreventDefault=false;event.preventDefault=function(){event.didPreventDefault=true;if(sourceEvent){sourceEvent.preventDefault();}};event.stopPropagation=function(){sourceEvent.stopPropagation();};event.stopImmediatePropagation=function(){throw new Error('Not implemented');};return event;},onMouseDown_(e){if(e.button!==0)return;this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.begin,e);if(this.mode===MOUSE_SELECTOR_MODE.SELECTION){mouseEvent.appendSelection=isCmdOrCtrlPressed(e);}
7532this.dispatchEvent(mouseEvent);this.isInteracting_=true;this.isClick_=true;tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_,this.onMouseUp_);},onMouseMove_(e){this.setCurrentMousePosFromEvent_(e);const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.update,e);this.dispatchEvent(mouseEvent);if(this.isInteracting_){this.checkIsClick_(e);}},onMouseUp_(e){if(e.button!==0)return;const mouseEvent=this.createEvent_(MOUSE_SELECTOR_MODE_INFOS[this.mode].eventNames.end,e);mouseEvent.isClick=this.isClick_;this.dispatchEvent(mouseEvent);if(this.isClick_&&!mouseEvent.didPreventDefault){this.dispatchClickEvents_(e);}
7533this.isInteracting_=false;this.updateAlternativeModeState_(e);},onButtonMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonMouseUp_(e){e.preventDefault();e.stopImmediatePropagation();},onButtonPress_(e){this.modeBeforeAlternativeModeActivated_=undefined;this.mode=e.target.mode;e.preventDefault();},onKeyDown_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=true;}
7534this.updateAlternativeModeState_(e);},onKeyUp_(e){if(e.path[0].tagName==='INPUT')return;if(e.keyCode===' '.charCodeAt(0)){this.spacePressed_=false;}
7535let didHandleKey=false;for(const[modeStr,keyCode]of Object.entries(this.modeToKeyCodeMap_)){if(e.keyCode===keyCode){this.modeBeforeAlternativeModeActivated_=undefined;const mode=parseInt(modeStr);this.mode=mode;didHandleKey=true;}}
7536if(didHandleKey){e.preventDefault();e.stopPropagation();return;}
7537this.updateAlternativeModeState_(e);},updateAlternativeModeState_(e){const shiftPressed=e.shiftKey;const spacePressed=this.spacePressed_;const cmdOrCtrlPressed=isCmdOrCtrlPressed(e);const smm=this.supportedModeMask_;let newMode;let isNewModeAnAlternativeMode=false;if(shiftPressed&&(this.modifierToModeMap_[MODIFIER.SHIFT]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SHIFT];isNewModeAnAlternativeMode=true;}else if(spacePressed&&(this.modifierToModeMap_[MODIFIER.SPACE]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.SPACE];isNewModeAnAlternativeMode=true;}else if(cmdOrCtrlPressed&&(this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL]&smm)!==0){newMode=this.modifierToModeMap_[MODIFIER.CMD_OR_CTRL];isNewModeAnAlternativeMode=true;}else{if(this.isInAlternativeMode_){newMode=this.modeBeforeAlternativeModeActivated_;isNewModeAnAlternativeMode=false;}else{newMode=undefined;}}
7538if(this.mode===newMode||newMode===undefined)return;if(isNewModeAnAlternativeMode){this.modeBeforeAlternativeModeActivated_=this.mode;}
7539this.mode=newMode;},get isInAlternativeMode_(){return!!this.modeBeforeAlternativeModeActivated_;},setModifierForAlternateMode(mode,modifier){this.modifierToModeMap_[modifier]=mode;},get pos(){return{x:parseInt(this.style.left),y:parseInt(this.style.top)};},set pos(pos){pos=this.constrainPositionToBounds_(pos);this.style.left=pos.x+'px';this.style.top=pos.y+'px';if(this.settingsKey_){tr.b.Settings.set(this.settingsKey_+'.pos',this.pos);}},constrainPositionToBounds_(pos){const parent=this.offsetParent||document.body;const parentRect=tr.ui.b.windowRectForElement(parent);const top=0;const bottom=parentRect.height-this.offsetHeight;const left=0;const right=parentRect.width-this.offsetWidth;const res={};res.x=Math.max(pos.x,left);res.x=Math.min(res.x,right);res.y=Math.max(pos.y,top);res.y=Math.min(res.y,bottom);return res;},onDragHandleMouseDown_(e){e.preventDefault();e.stopImmediatePropagation();const mouseDownPos={x:e.clientX-this.offsetLeft,y:e.clientY-this.offsetTop};tr.ui.b.trackMouseMovesUntilMouseUp(function(e){const pos={};pos.x=e.clientX-mouseDownPos.x;pos.y=e.clientY-mouseDownPos.y;this.pos=pos;}.bind(this));},checkIsClick_(e){if(!this.isInteracting_||!this.isClick_)return;const deltaX=this.mousePos_.x-this.mouseDownPos_.x;const deltaY=this.mousePos_.y-this.mouseDownPos_.y;const minDist=MIN_MOUSE_SELECTION_DISTANCE;if(deltaX*deltaX+deltaY*deltaY>minDist*minDist){this.isClick_=false;}},dispatchClickEvents_(e){if(!this.isClick_)return;const modeInfo=MOUSE_SELECTOR_MODE_INFOS[MOUSE_SELECTOR_MODE.SELECTION];const eventNames=modeInfo.eventNames;let mouseEvent=this.createEvent_(eventNames.begin);mouseEvent.appendSelection=isCmdOrCtrlPressed(e);this.dispatchEvent(mouseEvent);mouseEvent=this.createEvent_(eventNames.end);this.dispatchEvent(mouseEvent);}});return{MIN_MOUSE_SELECTION_DISTANCE,MODIFIER,};});'use strict';(function(){const DETAILS_SPLIT_REGEX=/^(\S*)\s*([\S\s]*)$/;Polymer({is:'tr-ui-e-chrome-cc-display-item-list-item',created(){Polymer.dom(this).setAttribute('name','');Polymer.dom(this).setAttribute('rawDetails','');Polymer.dom(this).setAttribute('richDetails',undefined);Polymer.dom(this).setAttribute('data_',undefined);},get data(){return this.data_;},set data(data){this.data_=data;if(!data){this.name='DATA MISSING';this.rawDetails='';this.richDetails=undefined;}else if(typeof data==='string'){const match=data.match(DETAILS_SPLIT_REGEX);this.name=match[1];this.rawDetails=match[2];this.richDetails=undefined;}else{this.name=data.name;this.rawDetails='';this.richDetails=data;}},stopPropagation(e){e.stopPropagation();},_computeIf(richDetails){return richDetails&&richDetails.skp64;},_computeHref(richDetails){return'data:application/octet-stream;base64,'+richDetails.skp64;}});})();'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function Selection(){this.selectionToSetIfClicked=undefined;}
7540Selection.prototype={get specicifity(){throw new Error('Not implemented');},get associatedLayerId(){throw new Error('Not implemented');},get associatedRenderPassId(){throw new Error('Not implemented');},get highlightsByLayerId(){return{};},createAnalysis(){throw new Error('Not implemented');},findEquivalent(lthi){throw new Error('Not implemented');}};function RenderPassSelection(renderPass,renderPassId){if(!renderPass||(renderPassId===undefined)){throw new Error('Render pass (with id) is required');}
7541this.renderPass_=renderPass;this.renderPassId_=renderPassId;}
7542RenderPassSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return undefined;},get associatedRenderPassId(){return this.renderPassId_;},get renderPass(){return this.renderPass_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='RenderPass '+this.renderPassId_;dataView.object=this.renderPass_.args;return dataView;},get title(){return this.renderPass_.objectInstance.typeName;}};function LayerSelection(layer){if(!layer){throw new Error('Layer is required');}
7543this.layer_=layer;}
7544LayerSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 1;},get associatedLayerId(){return this.layer_.layerId;},get associatedRenderPassId(){return undefined;},get layer(){return this.layer_;},createAnalysis(){const dataView=document.createElement('tr-ui-a-generic-object-view-with-label');dataView.label='Layer '+this.layer_.layerId;if(this.layer_.usingGpuRasterization){dataView.label+=' (GPU-rasterized)';}
7545dataView.object=this.layer_.args;return dataView;},get title(){return this.layer_.objectInstance.typeName;},findEquivalent(lthi){const layer=lthi.activeTree.findLayerWithId(this.layer_.layerId)||lthi.pendingTree.findLayerWithId(this.layer_.layerId);if(!layer)return undefined;return new LayerSelection(layer);}};function TileSelection(tile,opt_data){this.tile_=tile;this.data_=opt_data||{};}
7546TileSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.tile_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.tile_.layerId]=[{colorKey:this.tile_.objectInstance.typeName,rect:this.tile_.layerRect}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Tile '+this.tile_.objectInstance.id+' on layer '+
7547this.tile_.layerId;if(this.data_){analysis.object={moreInfo:this.data_,tileArgs:this.tile_.args};}else{analysis.object=this.tile_.args;}
7548return analysis;},findEquivalent(lthi){const tileInstance=this.tile_.tileInstance;if(lthi.ts<tileInstance.creationTs||lthi.ts>=tileInstance.deletionTs){return undefined;}
7549const tileSnapshot=tileInstance.getSnapshotAt(lthi.ts);if(!tileSnapshot)return undefined;return new TileSelection(tileSnapshot);}};function LayerRectSelection(layer,rectType,rect,opt_data){this.layer_=layer;this.rectType_=rectType;this.rect_=rect;this.data_=opt_data!==undefined?opt_data:rect;}
7550LayerRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 2;},get associatedLayerId(){return this.layer_.layerId;},get highlightsByLayerId(){const highlights={};highlights[this.layer_.layerId]=[{colorKey:this.rectType_,rect:this.rect_}];return highlights;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label=this.rectType_+' on layer '+this.layer_.layerId;analysis.object=this.data_;return analysis;},findEquivalent(lthi){return undefined;}};function AnimationRectSelection(layer,rect){this.layer_=layer;this.rect_=rect;}
7551AnimationRectSelection.prototype={__proto__:Selection.prototype,get specicifity(){return 0;},get associatedLayerId(){return this.layer_.layerId;},createAnalysis(){const analysis=document.createElement('tr-ui-a-generic-object-view-with-label');analysis.label='Animation Bounds of layer '+this.layer_.layerId;analysis.object=this.rect_;return analysis;}};return{Selection,RenderPassSelection,LayerSelection,TileSelection,LayerRectSelection,AnimationRectSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const ANNOTATION='Comment';const BEGIN_ANNOTATION='BeginCommentGroup';const END_ANNOTATION='EndCommentGroup';const ANNOTATION_ID='ID: ';const ANNOTATION_CLASS='CLASS: ';const ANNOTATION_TAG='TAG: ';const constants=tr.e.cc.constants;const PictureOpsListView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-list-view');PictureOpsListView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.opsList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.opsList_);this.selectedOp_=undefined;this.selectedOpIndex_=undefined;this.opsList_.addEventListener('selection-changed',this.onSelectionChanged_.bind(this));this.picture_=undefined;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.updateContents_();},updateContents_(){this.opsList_.clear();if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);ops=this.opsTaggedWithAnnotations_(ops);for(let i=0;i<ops.length;i++){const op=ops[i];const item=document.createElement('div');item.opIndex=op.opIndex;Polymer.dom(item).textContent=i+') '+op.cmd_string;if(op.elementInfo.tag||op.elementInfo.id||op.elementInfo.class){const elementInfo=document.createElement('span');Polymer.dom(elementInfo).classList.add('elementInfo');const tag=op.elementInfo.tag?op.elementInfo.tag:'unknown';const id=op.elementInfo.id?'id='+op.elementInfo.id:undefined;const className=op.elementInfo.class?'class='+
7552op.elementInfo.class:undefined;Polymer.dom(elementInfo).textContent='<'+tag+(id?' ':'')+
7553(id?id:'')+(className?' ':'')+
7554(className?className:'')+'>';Polymer.dom(item).appendChild(elementInfo);}
7555if(op.info.length>0){const infoItem=document.createElement('div');Polymer.dom(infoItem).textContent=JSON.stringify(op.info);Polymer.dom(item).appendChild(infoItem);}
7556if(op.cmd_time&&op.cmd_time>=0.0001){const time=document.createElement('span');Polymer.dom(time).classList.add('time');const rounded=op.cmd_time.toFixed(4);Polymer.dom(time).textContent='('+rounded+'ms)';Polymer.dom(item).appendChild(time);}
7557Polymer.dom(this.opsList_).appendChild(item);}},onSelectionChanged_(e){let beforeSelectedOp=true;if(this.opsList_.selectedElement===this.selectedOp_){this.opsList_.selectedElement=undefined;beforeSelectedOp=false;this.selectedOpIndex_=undefined;}
7558this.selectedOp_=this.opsList_.selectedElement;const ops=this.opsList_.children;for(let i=0;i<ops.length;i++){const op=ops[i];if(op===this.selectedOp_){beforeSelectedOp=false;this.selectedOpIndex_=op.opIndex;}else if(beforeSelectedOp){Polymer.dom(op).setAttribute('beforeSelection','beforeSelection');}else{Polymer.dom(op).removeAttribute('beforeSelection');}}
7559tr.b.dispatchSimpleEvent(this,'selection-changed',false);},get numOps(){return this.opsList_.children.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(s){this.selectedOpIndex_=s;if(s===undefined){this.opsList_.selectedElement=this.selectedOp_;this.onSelectionChanged_();}else{if(s<0)throw new Error('Invalid index');if(s>=this.numOps)throw new Error('Invalid index');this.opsList_.selectedElement=this.opsList_.getElementByIndex(s+1);tr.ui.b.scrollIntoViewIfNeeded(this.opsList_.selectedElement);}},opsTaggedWithAnnotations_(ops){const annotationGroups=[];const opsWithoutAnnotations=[];for(let opIndex=0;opIndex<ops.length;opIndex++){const op=ops[opIndex];op.opIndex=opIndex;switch(op.cmd_string){case BEGIN_ANNOTATION:annotationGroups.push([]);break;case END_ANNOTATION:annotationGroups.pop();break;case ANNOTATION:annotationGroups[annotationGroups.length-1].push(op);break;default:{const annotations=[];let elementInfo={};annotationGroups.forEach(function(annotationGroup){elementInfo={};annotationGroup.forEach(function(annotation){annotation.info.forEach(function(info){if(info.includes(ANNOTATION_TAG)){elementInfo.tag=info.substring(info.indexOf(ANNOTATION_TAG)+
7560ANNOTATION_TAG.length).toLowerCase();}else if(info.includes(ANNOTATION_ID)){elementInfo.id=info.substring(info.indexOf(ANNOTATION_ID)+
7561ANNOTATION_ID.length);}else if(info.includes(ANNOTATION_CLASS)){elementInfo.class=info.substring(info.indexOf(ANNOTATION_CLASS)+
7562ANNOTATION_CLASS.length);}
7563annotations.push(info);});});});op.annotations=annotations;op.elementInfo=elementInfo;opsWithoutAnnotations.push(op);}}}
7564return opsWithoutAnnotations;}};return{PictureOpsListView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const DisplayItemDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-debugger');DisplayItemDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-display-item-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.trackMouse_();this.displayItemInfo_=Polymer.dom(this).querySelector('display-item-info');this.displayItemInfo_.addEventListener('click',this.onDisplayItemInfoClick_.bind(this),false);this.displayItemListView_=new tr.ui.b.ListView();this.displayItemListView_.addEventListener('selection-changed',this.onDisplayItemListSelection_.bind(this));Polymer.dom(this.displayItemInfo_).appendChild(this.displayItemListView_);this.displayListFilename_=Polymer.dom(this).querySelector('.dlfilename');this.displayListExportButton_=Polymer.dom(this).querySelector('.dlexport');this.displayListExportButton_.addEventListener('click',this.onExportDisplayListClicked_.bind(this));this.skpFilename_=Polymer.dom(this).querySelector('.skpfilename');this.skpExportButton_=Polymer.dom(this).querySelector('.skpexport');this.skpExportButton_.addEventListener('click',this.onExportSkPictureClicked_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).insertBefore(this.infoBar_,this.rasterCanvas_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;this.pictureOpsListView_=new tr.ui.e.chrome.cc.PictureOpsListView();Polymer.dom(rightPanel).insertBefore(this.pictureOpsListView_,this.rasterArea_);this.pictureOpsListDragHandle_=document.createElement('tr-ui-b-drag-handle');this.pictureOpsListDragHandle_.horizontal=false;this.pictureOpsListDragHandle_.target=this.pictureOpsListView_;Polymer.dom(rightPanel).insertBefore(this.pictureOpsListDragHandle_,this.rasterArea_);},get picture(){return this.picture_;},set displayItemList(displayItemList){this.displayItemList_=displayItemList;this.picture=this.displayItemList_;this.displayItemListView_.clear();this.displayItemList_.items.forEach(function(item){const listItem=document.createElement('tr-ui-e-chrome-cc-display-item-list-item');listItem.data=item;Polymer.dom(this.displayItemListView_).appendChild(listItem);}.bind(this));},set picture(picture){this.picture_=picture;const showOpsList=picture&&picture!==this.displayItemList_;this.updateDrawOpsList_(showOpsList);if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;}
7565const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);let width=parseInt(style.width);let height=parseInt(style.height);if(this.picture_){width=Math.max(width,this.picture_.layerRect.width);height=Math.max(height,this.picture_.layerRect.height);}
7566return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+
7567this.picture_.layerRect.width+' x '+
7568this.picture_.layerRect.height+')';}
7569if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;}
7570this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;}
7571if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;}
7572this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.picture_||!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({showOverdraw:false},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},onDisplayItemListSelection_(e){const selected=this.displayItemListView_.selectedElement;if(!selected){this.picture=this.displayItemList_;return;}
7573const index=Array.prototype.indexOf.call(this.displayItemListView_.children,selected);const displayItem=this.displayItemList_.items[index];if(displayItem&&displayItem.skp64){this.picture=new tr.e.cc.Picture(displayItem.skp64,this.displayItemList_.layerRect);}else{this.picture=undefined;}},onDisplayItemInfoClick_(e){if(e&&e.target===this.displayItemInfo_){this.displayItemListView_.selectedElement=undefined;}},updateDrawOpsList_(showOpsList){if(showOpsList){this.pictureOpsListView_.picture=this.picture_;if(this.pictureOpsListView_.numOps>0){Polymer.dom(this.pictureOpsListView_).classList.add('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.add('hasPictureOps');}}else{Polymer.dom(this.pictureOpsListView_).classList.remove('hasPictureOps');Polymer.dom(this.pictureOpsListDragHandle_).classList.remove('hasPictureOps');}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};},saveFile_(filename,rawData){if(!rawData)return;const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);}
7574const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.URL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=filename;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},onExportDisplayListClicked_(){const rawData=JSON.stringify(this.displayItemList_.items);this.saveFile_(this.displayListFilename_.value,rawData);},onExportSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());this.saveFile_(this.skpFilename_.value,rawData);}};return{DisplayItemDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const DisplayItemSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-display-item-list-view',tr.ui.analysis.ObjectSnapshotView);DisplayItemSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-display-item-list-view');this.displayItemDebugger_=new tr.ui.e.chrome.cc.DisplayItemDebugger();Polymer.dom(this).appendChild(this.displayItemDebugger_);},updateContents(){if(this.objectSnapshot_&&this.displayItemDebugger_){this.displayItemDebugger_.displayItemList=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(DisplayItemSnapshotView,{typeNames:['cc::DisplayItemList'],showInstances:false});return{DisplayItemSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const RENDER_PASS_QUADS=Math.max(constants.ACTIVE_TREE,constants.PENDING_TREE)+1;const LayerPicker=tr.ui.b.define('tr-ui-e-chrome-cc-layer-picker');LayerPicker.prototype={__proto__:HTMLUnknownElement.prototype,decorate(){this.lthi_=undefined;this.controls_=document.createElement('top-controls');this.renderPassQuads_=false;this.itemList_=new tr.ui.b.ListView();Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.itemList_);this.itemList_.addEventListener('selection-changed',this.onItemSelectionChanged_.bind(this));Polymer.dom(this.controls_).appendChild(tr.ui.b.createSelector(this,'whichTree','layerPicker.whichTree',constants.ACTIVE_TREE,[{label:'Active tree',value:constants.ACTIVE_TREE},{label:'Pending tree',value:constants.PENDING_TREE},{label:'Render pass quads',value:RENDER_PASS_QUADS}]));this.showPureTransformLayers_=false;const showPureTransformLayers=tr.ui.b.createCheckBox(this,'showPureTransformLayers','layerPicker.showPureTransformLayers',false,'Transform layers');Polymer.dom(showPureTransformLayers).classList.add('show-transform-layers');showPureTransformLayers.title='When checked, pure transform layers are shown';Polymer.dom(this.controls_).appendChild(showPureTransformLayers);},get lthiSnapshot(){return this.lthiSnapshot_;},set lthiSnapshot(lthiSnapshot){this.lthiSnapshot_=lthiSnapshot;this.updateContents_();},get whichTree(){return this.renderPassQuads_?constants.ACTIVE_TREE:this.whichTree_;},set whichTree(whichTree){this.whichTree_=whichTree;this.renderPassQuads_=(whichTree===RENDER_PASS_QUADS);this.updateContents_();tr.b.dispatchSimpleEvent(this,'selection-change',false);},get layerTreeImpl(){if(this.lthiSnapshot===undefined)return undefined;return this.lthiSnapshot.getTree(this.whichTree);},get isRenderPassQuads(){return this.renderPassQuads_;},get showPureTransformLayers(){return this.showPureTransformLayers_;},set showPureTransformLayers(show){if(this.showPureTransformLayers_===show)return;this.showPureTransformLayers_=show;this.updateContents_();},getRenderPassInfos_(){if(!this.lthiSnapshot_)return[];const renderPassInfo=[];if(!this.lthiSnapshot_.args.frame||!this.lthiSnapshot_.args.frame.renderPasses){return renderPassInfo;}
7575const renderPasses=this.lthiSnapshot_.args.frame.renderPasses;for(let i=0;i<renderPasses.length;++i){const info={renderPass:renderPasses[i],depth:0,id:i,name:'cc::RenderPass'};renderPassInfo.push(info);}
7576return renderPassInfo;},getLayerInfos_(){if(!this.lthiSnapshot_)return[];const tree=this.lthiSnapshot_.getTree(this.whichTree_);if(!tree)return[];const layerInfos=[];const showPureTransformLayers=this.showPureTransformLayers_;function isPureTransformLayer(layer){if(layer.args.compositingReasons&&layer.args.compositingReasons.length!==1&&layer.args.compositingReasons[0]!=='No reasons given'){return false;}
7577if(layer.args.drawsContent)return false;return true;}
7578const visitedLayers={};function visitLayer(layer,depth,isMask,isReplica){if(visitedLayers[layer.layerId])return;visitedLayers[layer.layerId]=true;const info={layer,depth};if(layer.args.drawsContent){info.name=layer.objectInstance.name;}else{info.name='cc::LayerImpl';}
7579if(layer.usingGpuRasterization){info.name+=' (G)';}
7580info.isMaskLayer=isMask;info.replicaLayer=isReplica;if(showPureTransformLayers||!isPureTransformLayer(layer)){layerInfos.push(info);}}
7581tree.iterLayers(visitLayer);return layerInfos;},updateContents_(){if(this.renderPassQuads_){this.updateRenderPassContents_();}else{this.updateLayerContents_();}},updateRenderPassContents_(){this.itemList_.clear();let selectedRenderPassId;if(this.selection_&&this.selection_.associatedRenderPassId){selectedRenderPassId=this.selection_.associatedRenderPassId;}
7582const renderPassInfos=this.getRenderPassInfos_();renderPassInfos.forEach(function(renderPassInfo){const renderPass=renderPassInfo.renderPass;const id=renderPassInfo.id;const item=this.createElementWithDepth_(renderPassInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=renderPassInfo.name+' '+id;item.renderPass=renderPass;item.renderPassId=id;Polymer.dom(this.itemList_).appendChild(item);if(id===selectedRenderPassId){renderPass.selectionState=tr.model.SelectionState.SELECTED;}},this);},updateLayerContents_(){this.changingItemSelection_=true;try{this.itemList_.clear();let selectedLayerId;if(this.selection_&&this.selection_.associatedLayerId){selectedLayerId=this.selection_.associatedLayerId;}
7583const layerInfos=this.getLayerInfos_();layerInfos.forEach(function(layerInfo){const layer=layerInfo.layer;const id=layer.layerId;const item=this.createElementWithDepth_(layerInfo.depth);const labelEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());Polymer.dom(labelEl).textContent=layerInfo.name+' '+id;const notesEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());if(layerInfo.isMaskLayer){Polymer.dom(notesEl).textContent+='(mask)';}
7584if(layerInfo.isReplicaLayer){Polymer.dom(notesEl).textContent+='(replica)';}
7585if((layer.gpuMemoryUsageInBytes!==undefined)&&(layer.gpuMemoryUsageInBytes>0)){const gpuUsageStr=tr.b.Unit.byName.sizeInBytes.format(layer.gpuMemoryUsageInBytes);Polymer.dom(notesEl).textContent+=' ('+gpuUsageStr+' MiB)';}
7586item.layer=layer;Polymer.dom(this.itemList_).appendChild(item);if(layer.layerId===selectedLayerId){layer.selectionState=tr.model.SelectionState.SELECTED;item.selected=true;}},this);}finally{this.changingItemSelection_=false;}},createElementWithDepth_(depth){const item=document.createElement('div');const indentEl=Polymer.dom(item).appendChild(tr.ui.b.createSpan());indentEl.style.whiteSpace='pre';for(let i=0;i<depth;i++){Polymer.dom(indentEl).textContent=Polymer.dom(indentEl).textContent+' ';}
7587return item;},onItemSelectionChanged_(e){if(this.changingItemSelection_)return;if(this.renderPassQuads_){this.onRenderPassSelected_(e);}else{this.onLayerSelected_(e);}
7588tr.b.dispatchSimpleEvent(this,'selection-change',false);},onRenderPassSelected_(e){let selectedRenderPass;let selectedRenderPassId;if(this.itemList_.selectedElement){selectedRenderPass=this.itemList_.selectedElement.renderPass;selectedRenderPassId=this.itemList_.selectedElement.renderPassId;}
7589if(selectedRenderPass){this.selection_=new tr.ui.e.chrome.cc.RenderPassSelection(selectedRenderPass,selectedRenderPassId);}else{this.selection_=undefined;}},onLayerSelected_(e){let selectedLayer;if(this.itemList_.selectedElement){selectedLayer=this.itemList_.selectedElement.layer;}
7590if(selectedLayer){this.selection_=new tr.ui.e.chrome.cc.LayerSelection(selectedLayer);}else{this.selection_=undefined;}},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.updateContents_();}};return{LayerPicker,};});'use strict';tr.exportTo('tr.e.cc',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function RenderPassSnapshot(){ObjectSnapshot.apply(this,arguments);}
7591RenderPassSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){tr.e.cc.preInitializeObject(this);},initialize(){tr.e.cc.moveRequiredFieldsFromArgsToToplevel(this,['quadList']);}};ObjectSnapshot.subTypes.register(RenderPassSnapshot,{typeName:'cc::RenderPass'});return{RenderPassSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const deg2rad=tr.b.math.deg2rad;const constants={DEFAULT_SCALE:0.5,DEFAULT_EYE_DISTANCE:10000,MINIMUM_DISTANCE:1000,MAXIMUM_DISTANCE:100000,FOV:15,RESCALE_TIMEOUT_MS:200,MAXIMUM_TILT:80,SETTINGS_NAMESPACE:'tr.ui_camera'};const Camera=tr.ui.b.define('camera');Camera.prototype={__proto__:HTMLUnknownElement.prototype,decorate(eventSource){this.eventSource_=eventSource;this.eventSource_.addEventListener('beginpan',this.onPanBegin_.bind(this));this.eventSource_.addEventListener('updatepan',this.onPanUpdate_.bind(this));this.eventSource_.addEventListener('endpan',this.onPanEnd_.bind(this));this.eventSource_.addEventListener('beginzoom',this.onZoomBegin_.bind(this));this.eventSource_.addEventListener('updatezoom',this.onZoomUpdate_.bind(this));this.eventSource_.addEventListener('endzoom',this.onZoomEnd_.bind(this));this.eventSource_.addEventListener('beginrotate',this.onRotateBegin_.bind(this));this.eventSource_.addEventListener('updaterotate',this.onRotateUpdate_.bind(this));this.eventSource_.addEventListener('endrotate',this.onRotateEnd_.bind(this));this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];this.pixelRatio_=window.devicePixelRatio||1;},get modelViewMatrix(){const mvMatrix=mat4.create();mat4.lookAt(mvMatrix,this.eye_,this.gazeTarget_,[0,1,0]);return mvMatrix;},get projectionMatrix(){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const aspectRatio=rect.width/rect.height;const matrix=mat4.create();mat4.perspective(matrix,deg2rad(constants.FOV),aspectRatio,1,100000);return matrix;},set canvas(c){this.canvas_=c;},set deviceRect(rect){this.deviceRect_=rect;},get stackingDistanceDampening(){const gazeVector=[this.gazeTarget_[0]-this.eye_[0],this.gazeTarget_[1]-this.eye_[1],this.gazeTarget_[2]-this.eye_[2]];vec3.normalize(gazeVector,gazeVector);return 1+gazeVector[2];},loadCameraFromSettings(settings){this.eye_=settings.get('eye',this.eye_,constants.SETTINGS_NAMESPACE);this.gazeTarget_=settings.get('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);this.rotation_=settings.get('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);this.dispatchRenderEvent_();},saveCameraToSettings(settings){settings.set('eye',this.eye_,constants.SETTINGS_NAMESPACE);settings.set('gaze_target',this.gazeTarget_,constants.SETTINGS_NAMESPACE);settings.set('rotation',this.rotation_,constants.SETTINGS_NAMESPACE);},resetCamera(){this.eye_=[0,0,constants.DEFAULT_EYE_DISTANCE];this.gazeTarget_=[0,0,0];this.rotation_=[0,0];const settings=tr.b.SessionSettings();const keys=settings.keys(constants.SETTINGS_NAMESPACE);if(keys.length!==0){this.loadCameraFromSettings(settings);return;}
7592if(this.deviceRect_){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);this.eye_[0]=this.deviceRect_.width/2;this.eye_[1]=this.deviceRect_.height/2;this.gazeTarget_[0]=this.deviceRect_.width/2;this.gazeTarget_[1]=this.deviceRect_.height/2;}
7593this.saveCameraToSettings(settings);this.dispatchRenderEvent_();},updatePanByDelta(delta){const rect=tr.ui.b.windowRectForElement(this.canvas_).scaleSize(this.pixelRatio_);const eyeVector=[this.eye_[0]-this.gazeTarget_[0],this.eye_[1]-this.gazeTarget_[1],this.eye_[2]-this.gazeTarget_[2]];const length=vec3.length(eyeVector);vec3.normalize(eyeVector,eyeVector);const halfFov=constants.FOV/2;const multiplier=2.0*length*Math.tan(deg2rad(halfFov))/rect.height;const up=[0,1,0];const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec3.transformMat4(up,up,rotMatrix);const right=[0,0,0];vec3.cross(right,eyeVector,up);vec3.normalize(right,right);for(let i=0;i<3;++i){this.gazeTarget_[i]+=delta[0]*multiplier*right[i]-delta[1]*multiplier*up[i];this.eye_[i]=this.gazeTarget_[i]+length*eyeVector[i];}
7594if(Math.abs(this.gazeTarget_[2])>1e-6){const gazeVector=[-eyeVector[0],-eyeVector[1],-eyeVector[2]];const newLength=tr.b.math.clamp(-this.eye_[2]/gazeVector[2],constants.MINIMUM_DISTANCE,constants.MAXIMUM_DISTANCE);for(let i=0;i<3;++i){this.gazeTarget_[i]=this.eye_[i]+newLength*gazeVector[i];}}
7595this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateZoomByDelta(delta){let deltaY=delta[1];deltaY=tr.b.math.clamp(deltaY,-50,50);let scale=1.0-deltaY/100.0;const eyeVector=[0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const length=vec3.length(eyeVector);if(length*scale<constants.MINIMUM_DISTANCE){scale=constants.MINIMUM_DISTANCE/length;}else if(length*scale>constants.MAXIMUM_DISTANCE){scale=constants.MAXIMUM_DISTANCE/length;}
7596vec3.scale(eyeVector,eyeVector,scale);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},updateRotateByDelta(delta){delta[0]*=0.5;delta[1]*=0.5;if(Math.abs(this.rotation_[0]+delta[1])>constants.MAXIMUM_TILT){return;}
7597if(Math.abs(this.rotation_[1]-delta[0])>constants.MAXIMUM_TILT){return;}
7598const eyeVector=[0,0,0,0];vec3.subtract(eyeVector,this.eye_,this.gazeTarget_);const rotMatrix=mat4.create();mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[0]),[1,0,0]);mat4.rotate(rotMatrix,rotMatrix,-deg2rad(this.rotation_[1]),[0,1,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);this.rotation_[0]+=delta[1];this.rotation_[1]-=delta[0];mat4.identity(rotMatrix);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[1]),[0,1,0]);mat4.rotate(rotMatrix,rotMatrix,deg2rad(this.rotation_[0]),[1,0,0]);vec4.transformMat4(eyeVector,eyeVector,rotMatrix);vec3.add(this.eye_,this.gazeTarget_,eyeVector);this.saveCameraToSettings(tr.b.SessionSettings());this.dispatchRenderEvent_();},onPanBegin_(e){this.panning_=true;this.lastMousePosition_=this.getMousePosition_(e);},onPanUpdate_(e){if(!this.panning_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updatePanByDelta(delta);},onPanEnd_(e){this.panning_=false;},onZoomBegin_(e){this.zooming_=true;const p=this.getMousePosition_(e);this.lastMousePosition_=p;this.zoomPoint_=p;},onZoomUpdate_(e){if(!this.zooming_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateZoomByDelta(delta);},onZoomEnd_(e){this.zooming_=false;this.zoomPoint_=undefined;},onRotateBegin_(e){this.rotating_=true;this.lastMousePosition_=this.getMousePosition_(e);},onRotateUpdate_(e){if(!this.rotating_)return;const delta=this.getMouseDelta_(e,this.lastMousePosition_);this.lastMousePosition_=this.getMousePosition_(e);this.updateRotateByDelta(delta);},onRotateEnd_(e){this.rotating_=false;},getMousePosition_(e){const rect=tr.ui.b.windowRectForElement(this.canvas_);return[(e.clientX-rect.x)*this.pixelRatio_,(e.clientY-rect.y)*this.pixelRatio_];},getMouseDelta_(e,p){const newP=this.getMousePosition_(e);return[newP[0]-p[0],newP[1]-p[1]];},dispatchRenderEvent_(){tr.b.dispatchSimpleEvent(this,'renderrequired',false,false);}};return{Camera,};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;const constants={};constants.IMAGE_LOAD_RETRY_TIME_MS=500;constants.SUBDIVISION_MINIMUM=1;constants.SUBDIVISION_RECURSION_DEPTH=3;constants.SUBDIVISION_DEPTH_THRESHOLD=100;constants.FAR_PLANE_DISTANCE=10000;function drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2){const tmpP0=[p0[0],p0[1]];const tmpP1=[p1[0],p1[1]];const tmpP2=[p2[0],p2[1]];const tmpT0=[t0[0],t0[1]];const tmpT1=[t1[0],t1[1]];const tmpT2=[t2[0],t2[1]];ctx.beginPath();ctx.moveTo(tmpP0[0],tmpP0[1]);ctx.lineTo(tmpP1[0],tmpP1[1]);ctx.lineTo(tmpP2[0],tmpP2[1]);ctx.closePath();tmpP1[0]-=tmpP0[0];tmpP1[1]-=tmpP0[1];tmpP2[0]-=tmpP0[0];tmpP2[1]-=tmpP0[1];tmpT1[0]-=tmpT0[0];tmpT1[1]-=tmpT0[1];tmpT2[0]-=tmpT0[0];tmpT2[1]-=tmpT0[1];const det=1/(tmpT1[0]*tmpT2[1]-tmpT2[0]*tmpT1[1]);const a=(tmpT2[1]*tmpP1[0]-tmpT1[1]*tmpP2[0])*det;const b=(tmpT2[1]*tmpP1[1]-tmpT1[1]*tmpP2[1])*det;const c=(tmpT1[0]*tmpP2[0]-tmpT2[0]*tmpP1[0])*det;const d=(tmpT1[0]*tmpP2[1]-tmpT2[0]*tmpP1[1])*det;const e=tmpP0[0]-a*tmpT0[0]-c*tmpT0[1];const f=tmpP0[1]-b*tmpT0[0]-d*tmpT0[1];ctx.save();ctx.transform(a,b,c,d,e,f);ctx.clip();ctx.drawImage(img,0,0);ctx.restore();}
7599function drawTriangleSub(ctx,img,p0,p1,p2,t0,t1,t2,opt_recursionDepth){const depth=opt_recursionDepth||0;let subdivisionIndex=0;if(depth<constants.SUBDIVISION_MINIMUM){subdivisionIndex=7;}else if(depth<constants.SUBDIVISION_RECURSION_DEPTH){if(Math.abs(p0[2]-p1[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=1;}
7600if(Math.abs(p0[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=2;}
7601if(Math.abs(p1[2]-p2[2])>constants.SUBDIVISION_DEPTH_THRESHOLD){subdivisionIndex+=4;}}
7602const p01=vec4.create();const p02=vec4.create();const p12=vec4.create();const t01=vec2.create();const t02=vec2.create();const t12=vec2.create();for(let i=0;i<2;++i){p0[i]*=p0[2];p1[i]*=p1[2];p2[i]*=p2[2];}
7603for(let i=0;i<4;++i){p01[i]=(p0[i]+p1[i])/2;p02[i]=(p0[i]+p2[i])/2;p12[i]=(p1[i]+p2[i])/2;}
7604for(let i=0;i<2;++i){p0[i]/=p0[2];p1[i]/=p1[2];p2[i]/=p2[2];p01[i]/=p01[2];p02[i]/=p02[2];p12[i]/=p12[2];}
7605for(let i=0;i<2;++i){t01[i]=(t0[i]+t1[i])/2;t02[i]=(t0[i]+t2[i])/2;t12[i]=(t1[i]+t2[i])/2;}
7606switch(subdivisionIndex){case 1:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 2:drawTriangleSub(ctx,img,p0,p1,p02,t0,t1,t02,depth+1);drawTriangleSub(ctx,img,p1,p02,p2,t1,t02,t2,depth+1);break;case 3:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p02,p01,p2,t02,t01,t2,depth+1);drawTriangleSub(ctx,img,p01,p1,p2,t01,t1,t2,depth+1);break;case 4:drawTriangleSub(ctx,img,p0,p12,p2,t0,t12,t2,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);break;case 5:drawTriangleSub(ctx,img,p0,p01,p2,t0,t01,t2,depth+1);drawTriangleSub(ctx,img,p2,p01,p12,t2,t01,t12,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);break;case 6:drawTriangleSub(ctx,img,p0,p12,p02,t0,t12,t02,depth+1);drawTriangleSub(ctx,img,p0,p1,p12,t0,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;case 7:drawTriangleSub(ctx,img,p0,p01,p02,t0,t01,t02,depth+1);drawTriangleSub(ctx,img,p01,p12,p02,t01,t12,t02,depth+1);drawTriangleSub(ctx,img,p01,p1,p12,t01,t1,t12,depth+1);drawTriangleSub(ctx,img,p02,p12,p2,t02,t12,t2,depth+1);break;default:drawTexturedTriangle(ctx,img,p0,p1,p2,t0,t1,t2);break;}}
7607const tmpVec4=vec4.create();function transform(transformed,point,matrix,viewport){vec4.set(tmpVec4,point[0],point[1],0,1);vec4.transformMat4(tmpVec4,tmpVec4,matrix);let w=tmpVec4[3];if(w<1e-6)w=1e-6;transformed[0]=((tmpVec4[0]/w)+1)*viewport.width/2;transformed[1]=((tmpVec4[1]/w)+1)*viewport.height/2;transformed[2]=w;}
7608function drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(quad.imageData){quadCanvas.width=quad.imageData.width;quadCanvas.height=quad.imageData.height;quadCanvas.getContext('2d').putImageData(quad.imageData,0,0);const quadBBox=new tr.b.math.BBox2();quadBBox.addQuad(quad);const iw=quadCanvas.width;const ih=quadCanvas.height;drawTriangleSub(ctx,quadCanvas,p1,p2,p4,[0,0],[iw,0],[0,ih]);drawTriangleSub(ctx,quadCanvas,p2,p3,p4,[iw,0],[iw,ih],[0,ih]);}
7609if(quad.backgroundColor){ctx.fillStyle=quad.backgroundColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.fill();}}
7610function drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.save();if(quad.borderColor){ctx.strokeStyle=quad.borderColor;}else{ctx.strokeStyle='rgb(128,128,128)';}
7611if(quad.shadowOffset){ctx.shadowColor='rgb(0, 0, 0)';ctx.shadowOffsetX=quad.shadowOffset[0];ctx.shadowOffsetY=quad.shadowOffset[1];if(quad.shadowBlur){ctx.shadowBlur=quad.shadowBlur;}}
7612if(quad.borderWidth){ctx.lineWidth=quad.borderWidth;}else{ctx.lineWidth=1;}
7613ctx.stroke();ctx.restore();}
7614function drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas){if(!quad.upperBorderColor)return;ctx.lineWidth=8;ctx.strokeStyle=quad.upperBorderColor;ctx.beginPath();ctx.moveTo(p1[0],p1[1]);ctx.lineTo(p2[0],p2[1]);ctx.lineTo(p3[0],p3[1]);ctx.lineTo(p4[0],p4[1]);ctx.closePath();ctx.stroke();}
7615function drawProjectedQuadToContext(passNumber,quad,p1,p2,p3,p4,ctx,quadCanvas){if(passNumber===0){drawProjectedQuadBackgroundToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===1){drawProjectedQuadOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else if(passNumber===2){drawProjectedQuadSelectionOutlineToContext(quad,p1,p2,p3,p4,ctx,quadCanvas);}else{throw new Error('Invalid pass number');}}
7616const tmpP1=vec3.create();const tmpP2=vec3.create();const tmpP3=vec3.create();const tmpP4=vec3.create();function transformAndProcessQuads(matrix,viewport,quads,numPasses,handleQuadFunc,opt_arg1,opt_arg2){for(let passNumber=0;passNumber<numPasses;passNumber++){for(let i=0;i<quads.length;i++){const quad=quads[i];transform(tmpP1,quad.p1,matrix,viewport);transform(tmpP2,quad.p2,matrix,viewport);transform(tmpP3,quad.p3,matrix,viewport);transform(tmpP4,quad.p4,matrix,viewport);handleQuadFunc(passNumber,quad,tmpP1,tmpP2,tmpP3,tmpP4,opt_arg1,opt_arg2);}}}
7617const QuadStackView=tr.ui.b.define('quad-stack-view');QuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.className='quad-stack-view';const node=tr.ui.b.instantiateTemplate('#quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.updateHeaderVisibility_();this.canvas_=Polymer.dom(this).querySelector('#canvas');this.chromeImages_={left:Polymer.dom(this).querySelector('#chrome-left'),mid:Polymer.dom(this).querySelector('#chrome-mid'),right:Polymer.dom(this).querySelector('#chrome-right')};const stackingDistanceSlider=Polymer.dom(this).querySelector('#stacking-distance-slider');stackingDistanceSlider.value=tr.b.Settings.get('quadStackView.stackingDistance',45);stackingDistanceSlider.addEventListener('change',this.onStackingDistanceChange_.bind(this));stackingDistanceSlider.addEventListener('input',this.onStackingDistanceChange_.bind(this));this.trackMouse_();this.camera_=new tr.ui.b.Camera(this.mouseModeSelector_);this.camera_.addEventListener('renderrequired',this.onRenderRequired_.bind(this));this.cameraWasReset_=false;this.camera_.canvas=this.canvas_;this.viewportRect_=tr.b.math.Rect.fromXYWH(0,0,0,0);this.pixelRatio_=window.devicePixelRatio||1;},updateHeaderVisibility_(){if(this.headerText){Polymer.dom(this).querySelector('#header').style.display='';}else{Polymer.dom(this).querySelector('#header').style.display='none';}},get headerText(){return Polymer.dom(this).querySelector('#header').textContent;},set headerText(headerText){Polymer.dom(this).querySelector('#header').textContent=headerText;this.updateHeaderVisibility_();},onStackingDistanceChange_(e){tr.b.Settings.set('quadStackView.stackingDistance',this.stackingDistance);this.scheduleRender();e.stopPropagation();},get stackingDistance(){return Polymer.dom(this).querySelector('#stacking-distance-slider').value;},get mouseModeSelector(){return this.mouseModeSelector_;},get camera(){return this.camera_;},set quads(q){this.quads_=q;this.scheduleRender();},set deviceRect(rect){if(!rect||rect.equalTo(this.deviceRect_))return;this.deviceRect_=rect;this.camera_.deviceRect=rect;this.chromeQuad_=undefined;},resize(){if(!this.offsetParent)return true;const width=parseInt(window.getComputedStyle(this.offsetParent).width);const height=parseInt(window.getComputedStyle(this.offsetParent).height);const rect=tr.b.math.Rect.fromXYWH(0,0,width,height);if(rect.equalTo(this.viewportRect_))return false;this.viewportRect_=rect;this.style.width=width+'px';this.style.height=height+'px';this.canvas_.style.width=width+'px';this.canvas_.style.height=height+'px';this.canvas_.width=this.pixelRatio_*width;this.canvas_.height=this.pixelRatio_*height;if(!this.cameraWasReset_){this.camera_.resetCamera();this.cameraWasReset_=true;}
7618return true;},readyToDraw(){if(!this.chromeImages_.left.src){let leftContent=window.getComputedStyle(this.chromeImages_.left).backgroundImage;leftContent=tr.ui.b.extractUrlString(leftContent);let midContent=window.getComputedStyle(this.chromeImages_.mid).backgroundImage;midContent=tr.ui.b.extractUrlString(midContent);let rightContent=window.getComputedStyle(this.chromeImages_.right).backgroundImage;rightContent=tr.ui.b.extractUrlString(rightContent);this.chromeImages_.left.src=leftContent;this.chromeImages_.mid.src=midContent;this.chromeImages_.right.src=rightContent;}
7619return(this.chromeImages_.left.height>0)&&(this.chromeImages_.mid.height>0)&&(this.chromeImages_.right.height>0);},get chromeQuad(){if(this.chromeQuad_)return this.chromeQuad_;const chromeCanvas=document.createElement('canvas');const offsetY=this.chromeImages_.left.height;chromeCanvas.width=this.deviceRect_.width;chromeCanvas.height=this.deviceRect_.height+offsetY;const leftWidth=this.chromeImages_.left.width;const midWidth=this.chromeImages_.mid.width;const rightWidth=this.chromeImages_.right.width;const chromeCtx=chromeCanvas.getContext('2d');chromeCtx.drawImage(this.chromeImages_.left,0,0);chromeCtx.save();chromeCtx.translate(leftWidth,0);const s=(this.deviceRect_.width-leftWidth-rightWidth)/midWidth;chromeCtx.scale(s,1);chromeCtx.drawImage(this.chromeImages_.mid,0,0);chromeCtx.restore();chromeCtx.drawImage(this.chromeImages_.right,leftWidth+s*midWidth,0);const chromeRect=tr.b.math.Rect.fromXYWH(this.deviceRect_.x,this.deviceRect_.y-offsetY,this.deviceRect_.width,this.deviceRect_.height+offsetY);const chromeQuad=tr.b.math.Quad.fromRect(chromeRect);chromeQuad.stackingGroupId=this.maxStackingGroupId_+1;chromeQuad.imageData=chromeCtx.getImageData(0,0,chromeCanvas.width,chromeCanvas.height);chromeQuad.shadowOffset=[0,0];chromeQuad.shadowBlur=5;chromeQuad.borderWidth=3;this.chromeQuad_=chromeQuad;return this.chromeQuad_;},scheduleRender(){if(this.redrawScheduled_)return false;this.redrawScheduled_=true;tr.b.requestAnimationFrame(this.render,this);},onRenderRequired_(e){this.scheduleRender();},stackTransformAndProcessQuads_(numPasses,handleQuadFunc,includeChromeQuad,opt_arg1,opt_arg2){const mv=this.camera_.modelViewMatrix;const p=this.camera_.projectionMatrix;const viewport=tr.b.math.Rect.fromXYWH(0,0,this.canvas_.width,this.canvas_.height);const quadStacks=[];for(let i=0;i<this.quads_.length;++i){const quad=this.quads_[i];const stackingId=quad.stackingGroupId||0;while(stackingId>=quadStacks.length){quadStacks.push([]);}
7620quadStacks[stackingId].push(quad);}
7621const mvp=mat4.create();this.maxStackingGroupId_=quadStacks.length;const effectiveStackingDistance=this.stackingDistance*this.camera_.stackingDistanceDampening;mat4.multiply(mvp,p,mv);for(let i=0;i<quadStacks.length;++i){transformAndProcessQuads(mvp,viewport,quadStacks[i],numPasses,handleQuadFunc,opt_arg1,opt_arg2);mat4.translate(mv,mv,[0,0,effectiveStackingDistance]);mat4.multiply(mvp,p,mv);}
7622if(includeChromeQuad&&this.deviceRect_){transformAndProcessQuads(mvp,viewport,[this.chromeQuad],numPasses,drawProjectedQuadToContext,opt_arg1,opt_arg2);}},render(){this.redrawScheduled_=false;if(!this.readyToDraw()){setTimeout(this.scheduleRender.bind(this),constants.IMAGE_LOAD_RETRY_TIME_MS);return;}
7623if(!this.quads_)return;const canvasCtx=this.canvas_.getContext('2d');if(!this.resize()){canvasCtx.clearRect(0,0,this.canvas_.width,this.canvas_.height);}
7624const quadCanvas=document.createElement('canvas');this.stackTransformAndProcessQuads_(3,drawProjectedQuadToContext,true,canvasCtx,quadCanvas);quadCanvas.width=0;},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.canvas_;this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION|tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN|tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM|tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN;this.mouseModeSelector_.pos={x:0,y:100};Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.settingsKey='quadStackView.mouseModeSelector';this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ROTATE,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.PANSCAN,tr.ui.b.MODIFIER.SPACE);this.mouseModeSelector_.setModifierForAlternateMode(tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM,tr.ui.b.MODIFIER.CMD_OR_CTRL);this.mouseModeSelector_.addEventListener('updateselection',this.onSelectionUpdate_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onSelectionUpdate_.bind(this));},extractRelativeMousePosition_(e){const br=this.canvas_.getBoundingClientRect();return[this.pixelRatio_*(e.clientX-this.canvas_.offsetLeft-br.left),this.pixelRatio_*(e.clientY-this.canvas_.offsetTop-br.top)];},onSelectionUpdate_(e){const mousePos=this.extractRelativeMousePosition_(e);const res=[];function handleQuad(passNumber,quad,p1,p2,p3,p4){if(tr.b.math.pointInImplicitQuad(mousePos,p1,p2,p3,p4)){res.push(quad);}}
7625this.stackTransformAndProcessQuads_(1,handleQuad,false);e=new tr.b.Event('selectionchange');e.quads=res;this.dispatchEvent(e);}};return{QuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const ColorScheme=tr.b.ColorScheme;const THIS_DOC=document.currentScript.ownerDocument;const TILE_HEATMAP_TYPE={};TILE_HEATMAP_TYPE.NONE='none';TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY='scheduledPriority';TILE_HEATMAP_TYPE.USING_GPU_MEMORY='usingGpuMemory';const cc=tr.ui.e.chrome.cc;function createTileRectsSelectorBaseOptions(){return[{label:'None',value:'none'},{label:'Coverage Rects',value:'coverage'}];}
7626const LayerTreeQuadStackView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-quad-stack-view');LayerTreeQuadStackView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.isRenderPassQuads_=false;this.pictureAsImageData_={};this.messages_=[];this.controls_=document.createElement('top-controls');this.infoBar_=document.createElement('tr-ui-b-info-bar');this.quadStackView_=new tr.ui.b.QuadStackView();this.quadStackView_.addEventListener('selectionchange',this.onQuadStackViewSelectionChange_.bind(this));this.extraHighlightsByLayerId_=undefined;this.inputEventImageData_=undefined;const m=tr.ui.b.MOUSE_SELECTOR_MODE;const mms=this.quadStackView_.mouseModeSelector;mms.settingsKey='tr.e.cc.layerTreeQuadStackView.mouseModeSelector';mms.setKeyCodeForMode(m.SELECTION,'Z'.charCodeAt(0));mms.setKeyCodeForMode(m.PANSCAN,'X'.charCodeAt(0));mms.setKeyCodeForMode(m.ZOOM,'C'.charCodeAt(0));mms.setKeyCodeForMode(m.ROTATE,'V'.charCodeAt(0));const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-layer-tree-quad-stack-view-template',THIS_DOC);Polymer.dom(this).appendChild(node);Polymer.dom(this).appendChild(this.controls_);Polymer.dom(this).appendChild(this.infoBar_);Polymer.dom(this).appendChild(this.quadStackView_);this.tileRectsSelector_=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',createTileRectsSelectorBaseOptions());Polymer.dom(this.controls_).appendChild(this.tileRectsSelector_);const tileHeatmapText=tr.ui.b.createSpan({textContent:'Tile heatmap:'});Polymer.dom(this.controls_).appendChild(tileHeatmapText);const tileHeatmapSelector=tr.ui.b.createSelector(this,'tileHeatmapType','layerView.tileHeatmapType',TILE_HEATMAP_TYPE.NONE,[{label:'None',value:TILE_HEATMAP_TYPE.NONE},{label:'Scheduled Priority',value:TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY},{label:'Is using GPU memory',value:TILE_HEATMAP_TYPE.USING_GPU_MEMORY}]);Polymer.dom(this.controls_).appendChild(tileHeatmapSelector);const showOtherLayersCheckbox=tr.ui.b.createCheckBox(this,'showOtherLayers','layerView.showOtherLayers',true,'Other layers/passes');showOtherLayersCheckbox.title='When checked, show all layers, selected or not.';Polymer.dom(this.controls_).appendChild(showOtherLayersCheckbox);const showInvalidationsCheckbox=tr.ui.b.createCheckBox(this,'showInvalidations','layerView.showInvalidations',true,'Invalidations');showInvalidationsCheckbox.title='When checked, compositing invalidations are highlighted in red';Polymer.dom(this.controls_).appendChild(showInvalidationsCheckbox);const showUnrecordedRegionCheckbox=tr.ui.b.createCheckBox(this,'showUnrecordedRegion','layerView.showUnrecordedRegion',true,'Unrecorded area');showUnrecordedRegionCheckbox.title='When checked, unrecorded areas are highlighted in yellow';Polymer.dom(this.controls_).appendChild(showUnrecordedRegionCheckbox);const showBottlenecksCheckbox=tr.ui.b.createCheckBox(this,'showBottlenecks','layerView.showBottlenecks',true,'Bottlenecks');showBottlenecksCheckbox.title='When checked, scroll bottlenecks are highlighted';Polymer.dom(this.controls_).appendChild(showBottlenecksCheckbox);const showLayoutRectsCheckbox=tr.ui.b.createCheckBox(this,'showLayoutRects','layerView.showLayoutRects',false,'Layout rects');showLayoutRectsCheckbox.title='When checked, shows rects for regions where layout happened';Polymer.dom(this.controls_).appendChild(showLayoutRectsCheckbox);const showContentsCheckbox=tr.ui.b.createCheckBox(this,'showContents','layerView.showContents',true,'Contents');showContentsCheckbox.title='When checked, show the rendered contents inside the layer outlines';Polymer.dom(this.controls_).appendChild(showContentsCheckbox);const showAnimationBoundsCheckbox=tr.ui.b.createCheckBox(this,'showAnimationBounds','layerView.showAnimationBounds',false,'Animation Bounds');showAnimationBoundsCheckbox.title='When checked, show a border around'+' a layer showing the extent of its animation.';Polymer.dom(this.controls_).appendChild(showAnimationBoundsCheckbox);const showInputEventsCheckbox=tr.ui.b.createCheckBox(this,'showInputEvents','layerView.showInputEvents',true,'Input events');showInputEventsCheckbox.title='When checked, input events are '+'displayed as circles.';Polymer.dom(this.controls_).appendChild(showInputEventsCheckbox);this.whatRasterizedLink_=document.createElement('a');Polymer.dom(this.whatRasterizedLink_).classList.add('what-rasterized');Polymer.dom(this.whatRasterizedLink_).textContent='What rasterized?';this.whatRasterizedLink_.addEventListener('click',this.onWhatRasterizedLinkClicked_.bind(this));Polymer.dom(this).appendChild(this.whatRasterizedLink_);},get layerTreeImpl(){return this.layerTreeImpl_;},set isRenderPassQuads(newValue){this.isRenderPassQuads_=newValue;},set layerTreeImpl(layerTreeImpl){if(this.layerTreeImpl_===layerTreeImpl)return;this.layerTreeImpl_=layerTreeImpl;this.selection=undefined;},get extraHighlightsByLayerId(){return this.extraHighlightsByLayerId_;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.extraHighlightsByLayerId_=extraHighlightsByLayerId;this.scheduleUpdateContents_();},get showOtherLayers(){return this.showOtherLayers_;},set showOtherLayers(show){this.showOtherLayers_=show;this.updateContents_();},get showAnimationBounds(){return this.showAnimationBounds_;},set showAnimationBounds(show){this.showAnimationBounds_=show;this.updateContents_();},get showInputEvents(){return this.showInputEvents_;},set showInputEvents(show){this.showInputEvents_=show;this.updateContents_();},get showContents(){return this.showContents_;},set showContents(show){this.showContents_=show;this.updateContents_();},get showInvalidations(){return this.showInvalidations_;},set showInvalidations(show){this.showInvalidations_=show;this.updateContents_();},get showUnrecordedRegion(){return this.showUnrecordedRegion_;},set showUnrecordedRegion(show){this.showUnrecordedRegion_=show;this.updateContents_();},get showBottlenecks(){return this.showBottlenecks_;},set showBottlenecks(show){this.showBottlenecks_=show;this.updateContents_();},get showLayoutRects(){return this.showLayoutRects_;},set showLayoutRects(show){this.showLayoutRects_=show;this.updateContents_();},get howToShowTiles(){return this.howToShowTiles_;},set howToShowTiles(val){if(val!=='none'&&val!=='coverage'&&isNaN(parseFloat(val))){throw new Error('howToShowTiles requires "none" or "coverage" or a number');}
7627this.howToShowTiles_=val;this.updateContents_();},get tileHeatmapType(){return this.tileHeatmapType_;},set tileHeatmapType(val){this.tileHeatmapType_=val;this.updateContents_();},get selection(){return this.selection_;},set selection(selection){if(this.selection===selection)return;this.selection_=selection;tr.b.dispatchSimpleEvent(this,'selection-change');this.updateContents_();},regenerateContent(){this.updateTilesSelector_();this.updateContents_();},loadDataForImageElement_(image,callback){const imageContent=window.getComputedStyle(image).backgroundImage;image.src=tr.ui.b.extractUrlString(imageContent);image.onload=function(){const canvas=document.createElement('canvas');const ctx=canvas.getContext('2d');canvas.width=image.width;canvas.height=image.height;ctx.drawImage(image,0,0);const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);callback(imageData);};},onQuadStackViewSelectionChange_(e){const selectableQuads=e.quads.filter(function(q){return q.selectionToSetIfClicked!==undefined;});if(selectableQuads.length===0){this.selection=undefined;return;}
7628selectableQuads.sort(function(x,y){const z=x.stackingGroupId-y.stackingGroupId;if(z!==0)return z;return x.selectionToSetIfClicked.specicifity-
7629y.selectionToSetIfClicked.specicifity;});const quadToSelect=selectableQuads[selectableQuads.length-1];this.selection=quadToSelect.selectionToSetIfClicked;},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_,this);},updateContents_(){if(!this.layerTreeImpl_){this.quadStackView_.headerText='No tree';this.quadStackView_.quads=[];return;}
7630const status=this.computePictureLoadingStatus_();if(!status.picturesComplete)return;const lthi=this.layerTreeImpl_.layerTreeHostImpl;const lthiInstance=lthi.objectInstance;const worldViewportRect=tr.b.math.Rect.fromXYWH(0,0,lthi.deviceViewportSize.width,lthi.deviceViewportSize.height);this.quadStackView_.deviceRect=worldViewportRect;if(this.isRenderPassQuads_){this.quadStackView_.quads=this.generateRenderPassQuads();}else{this.quadStackView_.quads=this.generateLayerQuads();}
7631this.updateWhatRasterizedLinkState_();let message='';if(lthi.tilesHaveGpuMemoryUsageInfo){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;const otherTreeUsageInBytes=lthi.gpuMemoryUsageInBytes-
7632thisTreeUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(otherTreeUsageInBytes){message+=', '+
7633tr.b.convertUnit(otherTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on the other tree';}}else{if(this.layerTreeImpl_){const thisTreeUsageInBytes=this.layerTreeImpl_.gpuMemoryUsageInBytes;message+=tr.b.convertUnit(thisTreeUsageInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB on this tree';if(this.layerTreeImpl_.otherTree){message+=', ??? MiB on other tree. ';}}}
7634if(lthi.args.tileManagerBasicState){const tmgs=lthi.args.tileManagerBasicState.globalState;message+=' (softMax='+
7635tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+
7636tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+
7637tmgs.memoryLimitPolicy+')';}else{const thread=lthi.snapshottedOnThread;const didManageTilesSlices=thread.sliceGroup.slices.filter(s=>{if(s.category!=='tr.e.cc')return false;if(s.title!=='DidManage')return false;if(s.end>lthi.ts)return false;return true;});didManageTilesSlices.sort(function(x,y){return x.end-y.end;});if(didManageTilesSlices.length>0){const newest=didManageTilesSlices[didManageTilesSlices.length-1];const tmgs=newest.args.state.global_state;message+=' (softMax='+
7638tr.b.convertUnit(tmgs.softMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, hardMax='+
7639tr.b.convertUnit(tmgs.hardMemoryLimitInBytes,tr.b.UnitPrefixScale.BINARY.NONE,tr.b.UnitPrefixScale.BINARY.MEBI).toFixed(1)+' MiB, '+
7640tmgs.memoryLimitPolicy+')';}}
7641if(this.layerTreeImpl_.otherTree){message+=' (Another tree exists)';}
7642if(message.length){this.quadStackView_.headerText=message;}else{this.quadStackView_.headerText=undefined;}
7643this.updateInfoBar_(status.messages);},updateTilesSelector_(){const data=createTileRectsSelectorBaseOptions();if(this.layerTreeImpl_){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const scaleNames=lthi.getContentsScaleNames();for(const scale in scaleNames){data.push({label:'Scale '+scale+' ('+scaleNames[scale]+')',value:scale});}}
7644const newSelector=tr.ui.b.createSelector(this,'howToShowTiles','layerView.howToShowTiles','none',data);this.controls_.replaceChild(newSelector,this.tileRectsSelector_);this.tileRectsSelector_=newSelector;},computePictureLoadingStatus_(){const layers=this.layers;const status={messages:[],picturesComplete:true};if(this.showContents){let hasPendingRasterizeImage=false;let firstPictureError=undefined;let hasMissingLayerRect=false;let hasUnresolvedPictureRef=false;for(let i=0;i<layers.length;i++){const layer=layers[i];for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(picture.idRef){hasUnresolvedPictureRef=true;continue;}
7645if(!picture.layerRect){hasMissingLayerRect=true;continue;}
7646const pictureAsImageData=this.pictureAsImageData_[picture.guid];if(!pictureAsImageData){hasPendingRasterizeImage=true;this.pictureAsImageData_[picture.guid]=tr.e.cc.PictureAsImageData.Pending(this);picture.rasterize({stopIndex:undefined},function(pictureImageData){const picture_=pictureImageData.picture;this.pictureAsImageData_[picture_.guid]=pictureImageData;this.scheduleUpdateContents_();}.bind(this));continue;}
7647if(pictureAsImageData.isPending()){hasPendingRasterizeImage=true;continue;}
7648if(pictureAsImageData.error){if(!firstPictureError){firstPictureError=pictureAsImageData.error;}
7649break;}}}
7650if(hasPendingRasterizeImage){status.picturesComplete=false;}else{if(hasUnresolvedPictureRef){status.messages.push({header:'Missing picture',details:'Your trace didn\'t have pictures for every layer. '+'Old chrome versions had this problem'});}
7651if(hasMissingLayerRect){status.messages.push({header:'Missing layer rect',details:'Your trace may be corrupt or from a very old '+'Chrome revision.'});}
7652if(firstPictureError){status.messages.push({header:'Cannot rasterize',details:firstPictureError});}}}
7653if(this.showInputEvents&&this.layerTreeImpl.tracedInputLatencies&&this.inputEventImageData_===undefined){const image=Polymer.dom(this).querySelector('#input-event');if(!image.src){this.loadDataForImageElement_(image,function(imageData){this.inputEventImageData_=imageData;this.updateContentsPending_=false;this.scheduleUpdateContents_();}.bind(this));}
7654status.picturesComplete=false;}
7655return status;},get selectedRenderPass(){if(this.selection){return this.selection.renderPass_;}},get selectedLayer(){if(this.selection){const selectedLayerId=this.selection.associatedLayerId;return this.layerTreeImpl_.findLayerWithId(selectedLayerId);}},get renderPasses(){let renderPasses=this.layerTreeImpl.layerTreeHostImpl.args.frame.renderPasses;if(!this.showOtherLayers){const selectedRenderPass=this.selectedRenderPass;if(selectedRenderPass){renderPasses=[selectedRenderPass];}}
7656return renderPasses;},get layers(){let layers=this.layerTreeImpl.renderSurfaceLayerList;if(!this.showOtherLayers){const selectedLayer=this.selectedLayer;if(selectedLayer){layers=[selectedLayer];}}
7657return layers;},appendImageQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.pictures.length;++ir){const picture=layer.pictures[ir];if(!picture.layerRect)continue;const unitRect=picture.layerRect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);const pictureData=this.pictureAsImageData_[picture.guid];if(this.showContents&&pictureData&&pictureData.imageData){iq.imageData=pictureData.imageData;iq.borderColor='rgba(0,0,0,0)';}else{iq.imageData=undefined;}
7658iq.stackingGroupId=layerQuad.stackingGroupId;quads.push(iq);}},appendAnimationQuads_(quads,layer,layerQuad){if(!layer.animationBoundsRect)return;const rect=layer.animationBoundsRect;const abq=tr.b.math.Quad.fromRect(rect);abq.backgroundColor='rgba(164,191,48,0.5)';abq.borderColor='rgba(205,255,0,0.75)';abq.borderWidth=3.0;abq.stackingGroupId=layerQuad.stackingGroupId;abq.selectionToSetIfClicked=new cc.AnimationRectSelection(layer,rect);quads.push(abq);},appendInvalidationQuads_(quads,layer,layerQuad){if(layer.layerTreeImpl.hasSourceFrameBeenDrawnBefore)return;for(let ir=0;ir<layer.annotatedInvalidation.rects.length;ir++){const rect=layer.annotatedInvalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';if(rect.reason==='renderer insertion'){iq.backgroundColor='rgba(0, 255, 128, 0.1)';}
7659iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect ('+rect.reason+')',rect,rect);quads.push(iq);}
7660if(layer.annotatedInvalidation.rects.length===0){for(let ir=0;ir<layer.invalidation.rects.length;ir++){const rect=layer.invalidation.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(0, 255, 0, 0.1)';iq.borderColor='rgba(0, 255, 0, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Invalidation rect',rect,rect);quads.push(iq);}}},appendUnrecordedRegionQuads_(quads,layer,layerQuad){for(let ir=0;ir<layer.unrecordedRegion.rects.length;ir++){const rect=layer.unrecordedRegion.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor='rgba(240, 230, 140, 0.3)';iq.borderColor='rgba(240, 230, 140, 1)';iq.stackingGroupId=layerQuad.stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,'Unrecorded area',rect,rect);quads.push(iq);}},appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId){function processRegion(region,label,borderColor){const backgroundColor=borderColor.clone();backgroundColor.a=0.4*(borderColor.a||1.0);if(!region||!region.rects)return;for(let ir=0;ir<region.rects.length;ir++){const rect=region.rects[ir];const unitRect=rect.asUVRectInside(layer.bounds);const iq=layerQuad.projectUnitRect(unitRect);iq.backgroundColor=backgroundColor.toString();iq.borderColor=borderColor.toString();iq.borderWidth=4.0;iq.stackingGroupId=stackingGroupId;iq.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,rect);quads.push(iq);}}
7661processRegion(layer.touchEventHandlerRegion,'Touch listener',tr.b.Color.fromString('rgb(228, 226, 27)'));processRegion(layer.wheelEventHandlerRegion,'Wheel listener',tr.b.Color.fromString('rgb(176, 205, 29)'));processRegion(layer.nonFastScrollableRegion,'Repaints on scroll',tr.b.Color.fromString('rgb(213, 134, 32)'));},appendTileCoverageRectQuads_(quads,layer,layerQuad,heatmapType){if(!layer.tileCoverageRects)return;const tiles=[];for(let ct=0;ct<layer.tileCoverageRects.length;++ct){const tile=layer.tileCoverageRects[ct].tile;if(tile!==undefined)tiles.push(tile);}
7662const lthi=this.layerTreeImpl_.layerTreeHostImpl;const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);let heatIndex=0;for(let ct=0;ct<layer.tileCoverageRects.length;++ct){let rect=layer.tileCoverageRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const tile=layer.tileCoverageRects[ct].tile;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;let type=tr.e.cc.tileTypes.missing;if(tile){type=tile.getTypeForLayer(layer);quad.backgroundColor=heatmapResult[heatIndex].color;++heatIndex;}
7663quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;let label;if(tile){label='coverageRect';}else{label='checkerboard coverageRect';}
7664quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect,layer.tileCoverageRects[ct]);quads.push(quad);}},appendLayoutRectQuads_(quads,layer,layerQuad){if(!layer.layoutRects){return;}
7665for(let ct=0;ct<layer.layoutRects.length;++ct){let rect=layer.layoutRects[ct].geometryRect;rect=rect.scale(1.0/layer.geometryContentsScale);const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;quad.borderColor='rgba(0, 0, 200, 0.7)';quad.borderWidth=2;const label='Layout rect';quad.selectionToSetIfClicked=new cc.LayerRectSelection(layer,label,rect);quads.push(quad);}},getValueForHeatmap_(tile,heatmapType){if(heatmapType===TILE_HEATMAP_TYPE.SCHEDULED_PRIORITY){return tile.scheduledPriority===0?undefined:tile.scheduledPriority;}else if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){if(tile.isSolidColor)return 0.5;return tile.isUsingGpuMemory?0:1;}},getMinMaxForHeatmap_(tiles,heatmapType){const range=new tr.b.math.Range();if(heatmapType===TILE_HEATMAP_TYPE.USING_GPU_MEMORY){range.addValue(0);range.addValue(1);return range;}
7666for(let i=0;i<tiles.length;++i){const value=this.getValueForHeatmap_(tiles[i],heatmapType);if(value===undefined)continue;range.addValue(value);}
7667if(range.range===0){range.addValue(1);}
7668return range;},computeHeatmapColors_(tiles,minMax,heatmapType){const min=minMax.min;const max=minMax.max;const color=function(value){let hue=120*(1-(value-min)/(max-min));if(hue<0)hue=0;return'hsla('+hue+', 100%, 50%, 0.5)';};const values=[];for(let i=0;i<tiles.length;++i){const tile=tiles[i];const value=this.getValueForHeatmap_(tile,heatmapType);const res={value,color:value!==undefined?color(value):undefined};values.push(res);}
7669return values;},appendTilesWithScaleQuads_(quads,layer,layerQuad,scale,heatmapType){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const tiles=[];for(let i=0;i<lthi.activeTiles.length;++i){const tile=lthi.activeTiles[i];if(Math.abs(tile.contentsScale-scale)>1e-6){continue;}
7670if(layer.layerId!==tile.layerId)continue;tiles.push(tile);}
7671const minMax=this.getMinMaxForHeatmap_(lthi.activeTiles,heatmapType);const heatmapResult=this.computeHeatmapColors_(tiles,minMax,heatmapType);for(let i=0;i<tiles.length;++i){const tile=tiles[i];const rect=tile.layerRect;if(!tile.layerRect)continue;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);quad.backgroundColor='rgba(0, 0, 0, 0)';quad.stackingGroupId=layerQuad.stackingGroupId;const type=tile.getTypeForLayer(layer);quad.borderColor=tr.e.cc.tileBorder[type].color;quad.borderWidth=tr.e.cc.tileBorder[type].width;quad.backgroundColor=heatmapResult[i].color;const data={tileType:type};if(heatmapType!==TILE_HEATMAP_TYPE.NONE){data[heatmapType]=heatmapResult[i].value;}
7672quad.selectionToSetIfClicked=new cc.TileSelection(tile,data);quads.push(quad);}},appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights){highlights.forEach(function(highlight){const rect=highlight.rect;const unitRect=rect.asUVRectInside(layer.bounds);const quad=layerQuad.projectUnitRect(unitRect);let colorId=ColorScheme.getColorIdForGeneralPurposeString(highlight.colorKey);const offset=ColorScheme.properties.brightenedOffsets[0];colorId=ColorScheme.getVariantColorId(colorId,offset);const color=ColorScheme.colors[colorId];const quadForDrawing=quad.clone();quadForDrawing.backgroundColor=color.withAlpha(0.5).toString();quadForDrawing.borderColor=color.withAlpha(1.0).darken().toString();quadForDrawing.stackingGroupId=layerQuad.stackingGroupId;quads.push(quadForDrawing);},this);},generateRenderPassQuads(){if(!this.layerTreeImpl.layerTreeHostImpl.args.frame)return[];const renderPasses=this.renderPasses;if(!renderPasses)return[];const quads=[];for(let i=0;i<renderPasses.length;++i){const quadList=renderPasses[i].quadList;for(let j=0;j<quadList.length;++j){const drawQuad=quadList[j];const quad=drawQuad.rectAsTargetSpaceQuad.clone();quad.borderColor='rgb(170, 204, 238)';quad.borderWidth=2;quad.stackingGroupId=i;quads.push(quad);}}
7673return quads;},generateLayerQuads(){this.updateContentsPending_=false;const layers=this.layers;const quads=[];let nextStackingGroupId=0;const alreadyVisitedLayerIds={};let selectionHighlightsByLayerId;if(this.selection){selectionHighlightsByLayerId=this.selection.highlightsByLayerId;}else{selectionHighlightsByLayerId={};}
7674const extraHighlightsByLayerId=this.extraHighlightsByLayerId||{};for(let i=1;i<=layers.length;i++){const layer=layers[layers.length-i];alreadyVisitedLayerIds[layer.layerId]=true;if(layer.objectInstance.name==='cc::NinePatchLayerImpl'){continue;}
7675const layerQuad=layer.layerQuad.clone();if(layer.usingGpuRasterization){const pixelRatio=window.devicePixelRatio||1;layerQuad.borderWidth=2.0*pixelRatio;layerQuad.borderColor='rgba(154,205,50,0.75)';}else{layerQuad.borderColor='rgba(0,0,0,0.75)';}
7676layerQuad.stackingGroupId=nextStackingGroupId++;layerQuad.selectionToSetIfClicked=new cc.LayerSelection(layer);layerQuad.layer=layer;if(this.showOtherLayers&&this.selectedLayer===layer){layerQuad.upperBorderColor='rgb(156,189,45)';}
7677if(this.showAnimationBounds){this.appendAnimationQuads_(quads,layer,layerQuad);}
7678this.appendImageQuads_(quads,layer,layerQuad);quads.push(layerQuad);if(this.showInvalidations){this.appendInvalidationQuads_(quads,layer,layerQuad);}
7679if(this.showUnrecordedRegion){this.appendUnrecordedRegionQuads_(quads,layer,layerQuad);}
7680if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,layerQuad.stackingGroupId);}
7681if(this.showLayoutRects){this.appendLayoutRectQuads_(quads,layer,layerQuad);}
7682if(this.howToShowTiles==='coverage'){this.appendTileCoverageRectQuads_(quads,layer,layerQuad,this.tileHeatmapType);}else if(this.howToShowTiles!=='none'){this.appendTilesWithScaleQuads_(quads,layer,layerQuad,this.howToShowTiles,this.tileHeatmapType);}
7683let highlights;highlights=extraHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}
7684highlights=selectionHighlightsByLayerId[layer.layerId];if(highlights){this.appendHighlightQuadsForLayer_(quads,layer,layerQuad,highlights);}}
7685this.layerTreeImpl.iterLayers(function(layer,depth,isMask,isReplica){if(!this.showOtherLayers&&this.selectedLayer!==layer)return;if(alreadyVisitedLayerIds[layer.layerId])return;const layerQuad=layer.layerQuad;const stackingGroupId=nextStackingGroupId++;if(this.showBottlenecks){this.appendBottleneckQuads_(quads,layer,layerQuad,stackingGroupId);}},this);const tracedInputLatencies=this.layerTreeImpl.tracedInputLatencies;if(this.showInputEvents&&tracedInputLatencies){for(let i=0;i<tracedInputLatencies.length;i++){const coordinatesArray=tracedInputLatencies[i].args.data.coordinates;for(let j=0;j<coordinatesArray.length;j++){const inputQuad=tr.b.math.Quad.fromXYWH(coordinatesArray[j].x-25,coordinatesArray[j].y-25,50,50);inputQuad.borderColor='rgba(0, 0, 0, 0)';inputQuad.imageData=this.inputEventImageData_;quads.push(inputQuad);}}}
7686return quads;},updateInfoBar_(infoBarMessages){if(infoBarMessages.length){this.infoBar_.removeAllButtons();this.infoBar_.message='Some problems were encountered...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent='';infoBarMessages.forEach(function(message){const title=document.createElement('h3');Polymer.dom(title).textContent=message.header;const details=document.createElement('div');Polymer.dom(details).textContent=message.details;Polymer.dom(overlay).appendChild(title);Polymer.dom(overlay).appendChild(details);});overlay.visible=true;e.stopPropagation();return false;});this.infoBar_.visible=true;}else{this.infoBar_.removeAllButtons();this.infoBar_.message='';this.infoBar_.visible=false;}},getWhatRasterized_(){const lthi=this.layerTreeImpl_.layerTreeHostImpl;const renderProcess=lthi.objectInstance.parent;const tasks=[];for(const event of renderProcess.getDescendantEvents()){if(!(event instanceof tr.model.Slice))continue;const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined)continue;if(tile.containingSnapshot===lthi){tasks.push(event);}}
7687return tasks;},updateWhatRasterizedLinkState_(){const tasks=this.getWhatRasterized_();if(tasks.length){Polymer.dom(this.whatRasterizedLink_).textContent=tasks.length+' raster tasks';this.whatRasterizedLink_.style.display='';}else{Polymer.dom(this.whatRasterizedLink_).textContent='';this.whatRasterizedLink_.style.display='none';}},onWhatRasterizedLinkClicked_(){const tasks=this.getWhatRasterized_();const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(tasks);this.dispatchEvent(event);}};return{LayerTreeQuadStackView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const constants=tr.e.cc.constants;const LayerView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-view');LayerView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.layerTreeQuadStackView_=new tr.ui.e.chrome.cc.LayerTreeQuadStackView();this.dragBar_=document.createElement('tr-ui-b-drag-handle');this.analysisEl_=document.createElement('tr-ui-e-chrome-cc-layer-view-analysis');this.analysisEl_.addEventListener('requestSelectionChange',this.onRequestSelectionChangeFromAnalysisEl_.bind(this));this.dragBar_.target=this.analysisEl_;Polymer.dom(this).appendChild(this.layerTreeQuadStackView_);Polymer.dom(this).appendChild(this.dragBar_);Polymer.dom(this).appendChild(this.analysisEl_);this.layerTreeQuadStackView_.addEventListener('selection-change',function(){this.layerTreeQuadStackViewSelectionChanged_();}.bind(this));this.layerTreeQuadStackViewSelectionChanged_();},get layerTreeImpl(){return this.layerTreeQuadStackView_.layerTreeImpl;},set layerTreeImpl(newValue){return this.layerTreeQuadStackView_.layerTreeImpl=newValue;},set isRenderPassQuads(newValue){return this.layerTreeQuadStackView_.isRenderPassQuads=newValue;},get selection(){return this.layerTreeQuadStackView_.selection;},set selection(newValue){this.layerTreeQuadStackView_.selection=newValue;},regenerateContent(){this.layerTreeQuadStackView_.regenerateContent();},layerTreeQuadStackViewSelectionChanged_(){const selection=this.layerTreeQuadStackView_.selection;if(selection){this.dragBar_.style.display='';this.analysisEl_.style.display='';Polymer.dom(this.analysisEl_).textContent='';const layer=selection.layer;if(layer&&layer.args&&layer.args.pictures){Polymer.dom(this.analysisEl_).appendChild(this.createPictureBtn_(layer.args.pictures));}
7688const analysis=selection.createAnalysis();Polymer.dom(this.analysisEl_).appendChild(analysis);}else{this.dragBar_.style.display='none';this.analysisEl_.style.display='none';const analysis=Polymer.dom(this.analysisEl_).firstChild;if(analysis){Polymer.dom(this.analysisEl_).removeChild(analysis);}
7689this.layerTreeQuadStackView_.style.height=window.getComputedStyle(this).height;}
7690tr.b.dispatchSimpleEvent(this,'selection-change');},createPictureBtn_(pictures){if(!(pictures instanceof Array)){pictures=[pictures];}
7691const link=document.createElement('tr-ui-a-analysis-link');link.selection=function(){const layeredPicture=new tr.e.cc.LayeredPicture(pictures);const snapshot=new tr.e.cc.PictureSnapshot(layeredPicture);snapshot.picture=layeredPicture;const selection=new tr.model.EventSet();selection.push(snapshot);return selection;};Polymer.dom(link).textContent='View in Picture Debugger';return link;},onRequestSelectionChangeFromAnalysisEl_(e){if(!(e.selection instanceof tr.ui.e.chrome.cc.Selection)){return;}
7692e.stopPropagation();this.selection=e.selection;},get extraHighlightsByLayerId(){return this.layerTreeQuadStackView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerTreeQuadStackView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};return{LayerView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const LayerTreeHostImplSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-layer-tree-host-impl-snapshot-view',tr.ui.analysis.ObjectSnapshotView);LayerTreeHostImplSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-lthi-s-view');this.selection_=undefined;this.layerPicker_=new tr.ui.e.chrome.cc.LayerPicker();this.layerPicker_.addEventListener('selection-change',this.onLayerPickerSelectionChanged_.bind(this));this.layerView_=new tr.ui.e.chrome.cc.LayerView();this.layerView_.addEventListener('selection-change',this.onLayerViewSelectionChanged_.bind(this));this.dragHandle_=document.createElement('tr-ui-b-drag-handle');this.dragHandle_.horizontal=false;this.dragHandle_.target=this.layerView_;Polymer.dom(this).appendChild(this.layerPicker_);Polymer.dom(this).appendChild(this.dragHandle_);Polymer.dom(this).appendChild(this.layerView_);this.onLayerViewSelectionChanged_();this.onLayerPickerSelectionChanged_();},get objectSnapshot(){return this.objectSnapshot_;},set objectSnapshot(objectSnapshot){this.objectSnapshot_=objectSnapshot;const lthi=this.objectSnapshot;let layerTreeImpl;if(lthi){layerTreeImpl=lthi.getTree(this.layerPicker_.whichTree);}
7693this.layerPicker_.lthiSnapshot=lthi;this.layerView_.layerTreeImpl=layerTreeImpl;this.layerView_.regenerateContent();if(!this.selection_)return;this.selection=this.selection_.findEquivalent(lthi);},get selection(){return this.selection_;},set selection(selection){if(this.selection_===selection)return;this.selection_=selection;this.layerPicker_.selection=selection;this.layerView_.selection=selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerPickerSelectionChanged_(){this.selection_=this.layerPicker_.selection;this.layerView_.selection=this.selection;this.layerView_.layerTreeImpl=this.layerPicker_.layerTreeImpl;this.layerView_.isRenderPassQuads=this.layerPicker_.isRenderPassQuads;this.layerView_.regenerateContent();tr.b.dispatchSimpleEvent(this,'cc-selection-change');},onLayerViewSelectionChanged_(){this.selection_=this.layerView_.selection;this.layerPicker_.selection=this.selection;tr.b.dispatchSimpleEvent(this,'cc-selection-change');},get extraHighlightsByLayerId(){return this.layerView_.extraHighlightsByLayerId;},set extraHighlightsByLayerId(extraHighlightsByLayerId){this.layerView_.extraHighlightsByLayerId=extraHighlightsByLayerId;}};tr.ui.analysis.ObjectSnapshotView.register(LayerTreeHostImplSnapshotView,{typeName:'cc::LayerTreeHostImpl'});return{LayerTreeHostImplSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const OPS_TIMING_ITERATIONS=3;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=40;const AXIS_PADDING_LEFT=60;const AXIS_PADDING_RIGHT=35;const AXIS_PADDING_TOP=25;const AXIS_PADDING_BOTTOM=45;const AXIS_LABEL_PADDING=5;const AXIS_TICK_SIZE=10;const LABEL_PADDING=5;const LABEL_INTERLEAVE_OFFSET=15;const BAR_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartSummaryView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-summary-view');PictureOpsChartSummaryView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureDataProcessed_=false;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.opsTimingData_=[];this.chartWidth_=0;this.chartHeight_=0;this.requiresRedraw_=true;this.currentBarMouseOverTarget_=null;this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));},get requiresRedraw(){return this.requiresRedraw_;},set requiresRedraw(requiresRedraw){this.requiresRedraw_=requiresRedraw;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureDataProcessed_=false;if(Polymer.dom(this).classList.contains('hidden'))return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},hide(){Polymer.dom(this).classList.add('hidden');},show(){Polymer.dom(this).classList.remove('hidden');if(this.pictureDataProcessed_)return;this.processPictureData_();this.requiresRedraw=true;this.updateChartContents();},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=null;const x=e.offsetX;const y=e.offsetY;const chartLeft=CHART_PADDING_LEFT;const chartRight=this.chartWidth_-CHART_PADDING_RIGHT;const chartTop=AXIS_PADDING_TOP;const chartBottom=this.chartHeight_-AXIS_PADDING_BOTTOM;const chartInnerWidth=chartRight-chartLeft;if(x>chartLeft&&x<chartRight&&y>chartTop&&y<chartBottom){this.currentBarMouseOverTarget_=Math.floor((x-chartLeft)/chartInnerWidth*this.opsTimingData_.length);this.currentBarMouseOverTarget_=tr.b.math.clamp(this.currentBarMouseOverTarget_,0,this.opsTimingData_.length-1);}
7694if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget)return;this.drawChartContents_();},updateChartContents(){if(this.requiresRedraw){this.updateChartDimensions_();}
7695this.drawChartContents_();},updateChartDimensions_(){this.chartWidth_=this.offsetWidth;this.chartHeight_=this.offsetHeight;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);},processPictureData_(){this.resetOpsTimingData_();this.pictureDataProcessed_=true;if(!this.picture_)return;let ops=this.picture_.getOps();if(!ops)return;ops=this.picture_.tagOpsWithTimings(ops);if(ops[0].cmd_time===undefined)return;this.collapseOpsToTimingBuckets_(ops);},drawChartContents_(){this.clearChartContents_();if(this.opsTimingData_.length===0){this.showNoTimingDataMessage_();return;}
7696this.drawChartAxes_();this.drawBars_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===null)return;this.drawTooltip_();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();},drawTooltip_(){const tooltipData=this.opsTimingData_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const tooltipWidth=110;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT-
7697CHART_PADDING_LEFT;const barWidth=chartInnerWidth/this.opsTimingData_.length;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.textBaseline='top';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText('Total: '+tooltipTime+'ms',left+8,top+22);},drawBars_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-CHART_PADDING_LEFT-CHART_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const barWidth=Math.floor(width/len);let opData;let opTiming;let opHeight;let opLabel;let barLeft;for(let b=0;b<len;b++){opData=this.opsTimingData_[b];opTiming=opData.cmd_time/max;opHeight=Math.round(Math.max(1,opTiming*height));opLabel=opData.cmd_string;barLeft=CHART_PADDING_LEFT+b*barWidth;this.chartCtx_.fillStyle=this.getOpColor_(opLabel);this.chartCtx_.fillRect(barLeft+BAR_PADDING,AXIS_PADDING_TOP+
7698height-opHeight,barWidth-2*BAR_PADDING,opHeight);}},getOpColor_(opName){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;return'hsl('+hue+', 30%, 50%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},drawChartAxes_(){const len=this.opsTimingData_.length;const max=this.opsTimingData_[0].cmd_time;const min=this.opsTimingData_[len-1].cmd_time;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const totalBarWidth=this.chartWidth_-CHART_PADDING_LEFT-
7699CHART_PADDING_RIGHT;const barWidth=Math.floor(totalBarWidth/len);const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.moveTo(0,0);this.chartCtx_.lineTo(0,height);this.chartCtx_.lineTo(width,height);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);}
7700this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.save();this.chartCtx_.translate(CHART_PADDING_LEFT+Math.round(barWidth*0.5),AXIS_PADDING_TOP+height+LABEL_PADDING);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='top';let labelTickLeft;let labelTickBottom;for(let l=0;l<len;l++){labelTickLeft=Math.round(l*barWidth);labelTickBottom=l%2*LABEL_INTERLEAVE_OFFSET;this.chartCtx_.save();this.chartCtx_.moveTo(labelTickLeft,-LABEL_PADDING);this.chartCtx_.lineTo(labelTickLeft,labelTickBottom);this.chartCtx_.stroke();this.chartCtx_.restore();this.chartCtx_.fillText(this.opsTimingData_[l].cmd_string,labelTickLeft,labelTickBottom);}
7701this.chartCtx_.restore();this.chartCtx_.restore();},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);},collapseOpsToTimingBuckets_(ops){const opsTimingDataIndexHash_={};const timingData=this.opsTimingData_;let op;let opIndex;for(let i=0;i<ops.length;i++){op=ops[i];if(op.cmd_time===undefined)continue;opIndex=opsTimingDataIndexHash_[op.cmd_string]||null;if(opIndex===null){timingData.push({cmd_time:0,cmd_string:op.cmd_string});opIndex=timingData.length-1;opsTimingDataIndexHash_[op.cmd_string]=opIndex;}
7702timingData[opIndex].cmd_time+=op.cmd_time;}
7703timingData.sort(this.sortTimingBucketsByOpTimeDescending_);this.collapseTimingBucketsToOther_(4);},collapseTimingBucketsToOther_(count){const timingData=this.opsTimingData_;const otherSource=timingData.splice(count,timingData.length-count);let otherDestination=null;if(!otherSource.length)return;timingData.push({cmd_time:0,cmd_string:'Other'});otherDestination=timingData[timingData.length-1];for(let i=0;i<otherSource.length;i++){otherDestination.cmd_time+=otherSource[i].cmd_time;}},sortTimingBucketsByOpTimeDescending_(a,b){return b.cmd_time-a.cmd_time;},resetOpsTimingData_(){this.opsTimingData_.length=0;}};return{PictureOpsChartSummaryView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const BAR_PADDING=1;const BAR_WIDTH=5;const CHART_PADDING_LEFT=65;const CHART_PADDING_RIGHT=30;const CHART_PADDING_BOTTOM=35;const CHART_PADDING_TOP=20;const AXIS_PADDING_LEFT=55;const AXIS_PADDING_RIGHT=30;const AXIS_PADDING_BOTTOM=35;const AXIS_PADDING_TOP=20;const AXIS_TICK_SIZE=5;const AXIS_LABEL_PADDING=5;const VERTICAL_TICKS=5;const HUE_CHAR_CODE_ADJUSTMENT=5.7;const PictureOpsChartView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-ops-chart-view');PictureOpsChartView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.picture_=undefined;this.pictureOps_=undefined;this.opCosts_=undefined;this.chartScale_=window.devicePixelRatio;this.chart_=document.createElement('canvas');this.chartCtx_=this.chart_.getContext('2d');Polymer.dom(this).appendChild(this.chart_);this.selectedOpIndex_=undefined;this.chartWidth_=0;this.chartHeight_=0;this.dimensionsHaveChanged_=true;this.currentBarMouseOverTarget_=undefined;this.ninetyFifthPercentileCost_=0;this.totalOpCost_=0;this.chart_.addEventListener('click',this.onClick_.bind(this));this.chart_.addEventListener('mousemove',this.onMouseMove_.bind(this));this.usePercentileScale_=false;this.usePercentileScaleCheckbox_=tr.ui.b.createCheckBox(this,'usePercentileScale','PictureOpsChartView.usePercentileScale',false,'Limit to 95%-ile');Polymer.dom(this.usePercentileScaleCheckbox_).classList.add('use-percentile-scale');Polymer.dom(this).appendChild(this.usePercentileScaleCheckbox_);},get dimensionsHaveChanged(){return this.dimensionsHaveChanged_;},set dimensionsHaveChanged(dimensionsHaveChanged){this.dimensionsHaveChanged_=dimensionsHaveChanged;},get usePercentileScale(){return this.usePercentileScale_;},set usePercentileScale(usePercentileScale){this.usePercentileScale_=usePercentileScale;this.drawChartContents_();},get numOps(){return this.opCosts_.length;},get selectedOpIndex(){return this.selectedOpIndex_;},set selectedOpIndex(selectedOpIndex){if(selectedOpIndex<0)throw new Error('Invalid index');if(selectedOpIndex>=this.numOps)throw new Error('Invalid index');this.selectedOpIndex_=selectedOpIndex;},get picture(){return this.picture_;},set picture(picture){this.picture_=picture;this.pictureOps_=picture.tagOpsWithTimings(picture.getOps());this.currentBarMouseOverTarget_=undefined;this.processPictureData_();this.dimensionsHaveChanged=true;},processPictureData_(){if(this.pictureOps_===undefined)return;let totalOpCost=0;this.opCosts_=this.pictureOps_.map(function(op){totalOpCost+=op.cmd_time;return op.cmd_time;});this.opCosts_.sort();const ninetyFifthPercentileCostIndex=Math.floor(this.opCosts_.length*0.95);this.ninetyFifthPercentileCost_=this.opCosts_[ninetyFifthPercentileCostIndex];this.maxCost_=this.opCosts_[this.opCosts_.length-1];this.totalOpCost_=totalOpCost;},extractBarIndex_(e){let index=undefined;if(this.pictureOps_===undefined||this.pictureOps_.length===0){return index;}
7704const x=e.offsetX;const y=e.offsetY;const totalBarWidth=(BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length;const chartLeft=CHART_PADDING_LEFT;const chartTop=0;const chartBottom=this.chartHeight_-CHART_PADDING_BOTTOM;const chartRight=chartLeft+totalBarWidth;if(x<chartLeft||x>chartRight||y<chartTop||y>chartBottom){return index;}
7705index=Math.floor((x-chartLeft)/totalBarWidth*this.pictureOps_.length);index=tr.b.math.clamp(index,0,this.pictureOps_.length-1);return index;},onClick_(e){const barClicked=this.extractBarIndex_(e);if(barClicked===undefined)return;if(barClicked===this.selectedOpIndex){this.selectedOpIndex=undefined;}else{this.selectedOpIndex=barClicked;}
7706e.preventDefault();tr.b.dispatchSimpleEvent(this,'selection-changed',false);},onMouseMove_(e){const lastBarMouseOverTarget=this.currentBarMouseOverTarget_;this.currentBarMouseOverTarget_=this.extractBarIndex_(e);if(this.currentBarMouseOverTarget_===lastBarMouseOverTarget){return;}
7707this.drawChartContents_();},scrollSelectedItemIntoViewIfNecessary(){if(this.selectedOpIndex===undefined){return;}
7708const width=this.offsetWidth;const left=this.scrollLeft;const right=left+width;const targetLeft=CHART_PADDING_LEFT+
7709(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;if(targetLeft>left&&targetLeft<right){return;}
7710this.scrollLeft=(targetLeft-width*0.5);},updateChartContents(){if(this.dimensionsHaveChanged){this.updateChartDimensions_();}
7711this.drawChartContents_();},updateChartDimensions_(){if(!this.pictureOps_)return;let width=CHART_PADDING_LEFT+CHART_PADDING_RIGHT+
7712((BAR_WIDTH+BAR_PADDING)*this.pictureOps_.length);if(width<this.offsetWidth){width=this.offsetWidth;}
7713this.chartWidth_=width;this.chartHeight_=this.getBoundingClientRect().height;this.chart_.width=this.chartWidth_*this.chartScale_;this.chart_.height=this.chartHeight_*this.chartScale_;this.chart_.style.width=this.chartWidth_+'px';this.chart_.style.height=this.chartHeight_+'px';this.chartCtx_.scale(this.chartScale_,this.chartScale_);this.dimensionsHaveChanged=false;},drawChartContents_(){this.clearChartContents_();if(this.pictureOps_===undefined||this.pictureOps_.length===0||this.pictureOps_[0].cmd_time===undefined){this.showNoTimingDataMessage_();return;}
7714this.drawSelection_();this.drawBars_();this.drawChartAxes_();this.drawLinesAtTickMarks_();this.drawLineAtBottomOfChart_();if(this.currentBarMouseOverTarget_===undefined){return;}
7715this.drawTooltip_();},drawSelection_(){if(this.selectedOpIndex===undefined){return;}
7716const width=(BAR_WIDTH+BAR_PADDING)*this.selectedOpIndex;this.chartCtx_.fillStyle='rgb(223, 235, 230)';this.chartCtx_.fillRect(CHART_PADDING_LEFT,CHART_PADDING_TOP,width,this.chartHeight_-CHART_PADDING_TOP-CHART_PADDING_BOTTOM);},drawChartAxes_(){const min=this.opCosts_[0];const max=this.opCosts_[this.opCosts_.length-1];const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;const tickValInterval=(max-min)/(VERTICAL_TICKS-1);let tickVal=0;this.chartCtx_.fillStyle='#333';this.chartCtx_.strokeStyle='#777';this.chartCtx_.save();this.chartCtx_.translate(0.5,0.5);this.chartCtx_.beginPath();this.chartCtx_.moveTo(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.lineTo(AXIS_PADDING_LEFT,this.chartHeight_-
7717AXIS_PADDING_BOTTOM);this.chartCtx_.lineTo(this.chartWidth_-AXIS_PADDING_RIGHT,this.chartHeight_-AXIS_PADDING_BOTTOM);this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.translate(AXIS_PADDING_LEFT,AXIS_PADDING_TOP);this.chartCtx_.font='10px Arial';this.chartCtx_.textAlign='right';this.chartCtx_.textBaseline='middle';this.chartCtx_.beginPath();for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);tickVal=(max-t*tickValInterval).toFixed(4);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(-AXIS_TICK_SIZE,tickYPosition);this.chartCtx_.fillText(tickVal,-AXIS_TICK_SIZE-AXIS_LABEL_PADDING,tickYPosition);}
7718this.chartCtx_.stroke();this.chartCtx_.closePath();this.chartCtx_.restore();},drawLinesAtTickMarks_(){const height=this.chartHeight_-AXIS_PADDING_TOP-AXIS_PADDING_BOTTOM;const width=this.chartWidth_-AXIS_PADDING_LEFT-AXIS_PADDING_RIGHT;const tickYInterval=height/(VERTICAL_TICKS-1);let tickYPosition=0;this.chartCtx_.save();this.chartCtx_.translate(AXIS_PADDING_LEFT+0.5,AXIS_PADDING_TOP+0.5);this.chartCtx_.beginPath();this.chartCtx_.strokeStyle='rgba(0,0,0,0.05)';for(let t=0;t<VERTICAL_TICKS;t++){tickYPosition=Math.round(t*tickYInterval);this.chartCtx_.moveTo(0,tickYPosition);this.chartCtx_.lineTo(width,tickYPosition);this.chartCtx_.stroke();}
7719this.chartCtx_.restore();this.chartCtx_.closePath();},drawLineAtBottomOfChart_(){this.chartCtx_.strokeStyle='#AAA';this.chartCtx_.beginPath();this.chartCtx_.moveTo(0,this.chartHeight_-0.5);this.chartCtx_.lineTo(this.chartWidth_,this.chartHeight_-0.5);this.chartCtx_.stroke();this.chartCtx_.closePath();},drawTooltip_(){const tooltipData=this.pictureOps_[this.currentBarMouseOverTarget_];const tooltipTitle=tooltipData.cmd_string;const tooltipTime=tooltipData.cmd_time.toFixed(4);const toolTipTimePercentage=((tooltipData.cmd_time/this.totalOpCost_)*100).toFixed(2);const tooltipWidth=120;const tooltipHeight=40;const chartInnerWidth=this.chartWidth_-CHART_PADDING_RIGHT-
7720CHART_PADDING_LEFT;const barWidth=BAR_WIDTH+BAR_PADDING;const tooltipOffset=Math.round((tooltipWidth-barWidth)*0.5);const left=CHART_PADDING_LEFT+this.currentBarMouseOverTarget_*barWidth-tooltipOffset;const top=Math.round((this.chartHeight_-tooltipHeight)*0.5);this.chartCtx_.save();this.chartCtx_.shadowOffsetX=0;this.chartCtx_.shadowOffsetY=5;this.chartCtx_.shadowBlur=4;this.chartCtx_.shadowColor='rgba(0,0,0,0.4)';this.chartCtx_.strokeStyle='#888';this.chartCtx_.fillStyle='#EEE';this.chartCtx_.fillRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.shadowColor='transparent';this.chartCtx_.translate(0.5,0.5);this.chartCtx_.strokeRect(left,top,tooltipWidth,tooltipHeight);this.chartCtx_.restore();this.chartCtx_.fillStyle='#222';this.chartCtx_.textAlign='left';this.chartCtx_.textBaseline='top';this.chartCtx_.font='800 12px Arial';this.chartCtx_.fillText(tooltipTitle,left+8,top+8);this.chartCtx_.fillStyle='#555';this.chartCtx_.font='400 italic 10px Arial';this.chartCtx_.fillText(tooltipTime+'ms ('+
7721toolTipTimePercentage+'%)',left+8,top+22);},drawBars_(){let op;let opColor=0;let opHeight=0;const opWidth=BAR_WIDTH+BAR_PADDING;let opHover=false;const bottom=this.chartHeight_-CHART_PADDING_BOTTOM;const maxHeight=this.chartHeight_-CHART_PADDING_BOTTOM-
7722CHART_PADDING_TOP;let maxValue;if(this.usePercentileScale){maxValue=this.ninetyFifthPercentileCost_;}else{maxValue=this.maxCost_;}
7723for(let b=0;b<this.pictureOps_.length;b++){op=this.pictureOps_[b];opHeight=Math.round((op.cmd_time/maxValue)*maxHeight);opHeight=Math.max(opHeight,1);opHover=(b===this.currentBarMouseOverTarget_);opColor=this.getOpColor_(op.cmd_string,opHover);if(b===this.selectedOpIndex){this.chartCtx_.fillStyle='#FFFF00';}else{this.chartCtx_.fillStyle=opColor;}
7724this.chartCtx_.fillRect(CHART_PADDING_LEFT+b*opWidth,bottom-opHeight,BAR_WIDTH,opHeight);}},getOpColor_(opName,hover){const characters=opName.split('');const hue=characters.reduce(this.reduceNameToHue,0)%360;const saturation=30;const lightness=hover?'75%':'50%';return'hsl('+hue+', '+saturation+'%, '+lightness+'%)';},reduceNameToHue(previousValue,currentValue,index,array){return Math.round(previousValue+currentValue.charCodeAt(0)*HUE_CHAR_CODE_ADJUSTMENT);},clearChartContents_(){this.chartCtx_.clearRect(0,0,this.chartWidth_,this.chartHeight_);},showNoTimingDataMessage_(){this.chartCtx_.font='800 italic 14px Arial';this.chartCtx_.fillStyle='#333';this.chartCtx_.textAlign='center';this.chartCtx_.textBaseline='middle';this.chartCtx_.fillText('No timing data available.',this.chartWidth_*0.5,this.chartHeight_*0.5);}};return{PictureOpsChartView,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const THIS_DOC=document.currentScript.ownerDocument;const PictureDebugger=tr.ui.b.define('tr-ui-e-chrome-cc-picture-debugger');PictureDebugger.prototype={__proto__:HTMLDivElement.prototype,decorate(){const node=tr.ui.b.instantiateTemplate('#tr-ui-e-chrome-cc-picture-debugger-template',THIS_DOC);Polymer.dom(this).appendChild(node);this.pictureAsImageData_=undefined;this.showOverdraw_=false;this.zoomScaleValue_=1;this.sizeInfo_=Polymer.dom(this).querySelector('.size');this.rasterArea_=Polymer.dom(this).querySelector('raster-area');this.rasterCanvas_=Polymer.dom(this.rasterArea_).querySelector('canvas');this.rasterCtx_=this.rasterCanvas_.getContext('2d');this.filename_=Polymer.dom(this).querySelector('.filename');this.drawOpsChartSummaryView_=new tr.ui.e.chrome.cc.PictureOpsChartSummaryView();this.drawOpsChartView_=new tr.ui.e.chrome.cc.PictureOpsChartView();this.drawOpsChartView_.addEventListener('selection-changed',this.onChartBarClicked_.bind(this));this.exportButton_=Polymer.dom(this).querySelector('.export');this.exportButton_.addEventListener('click',this.onSaveAsSkPictureClicked_.bind(this));this.trackMouse_();const overdrawCheckbox=tr.ui.b.createCheckBox(this,'showOverdraw','pictureView.showOverdraw',false,'Show overdraw');const chartCheckbox=tr.ui.b.createCheckBox(this,'showSummaryChart','pictureView.showSummaryChart',false,'Show timing summary');const pictureInfo=Polymer.dom(this).querySelector('picture-info');Polymer.dom(pictureInfo).appendChild(overdrawCheckbox);Polymer.dom(pictureInfo).appendChild(chartCheckbox);this.drawOpsView_=new tr.ui.e.chrome.cc.PictureOpsListView();this.drawOpsView_.addEventListener('selection-changed',this.onChangeDrawOps_.bind(this));const leftPanel=Polymer.dom(this).querySelector('left-panel');Polymer.dom(leftPanel).appendChild(this.drawOpsChartSummaryView_);Polymer.dom(leftPanel).appendChild(this.drawOpsView_);const middleDragHandle=document.createElement('tr-ui-b-drag-handle');middleDragHandle.horizontal=false;middleDragHandle.target=leftPanel;const rightPanel=Polymer.dom(this).querySelector('right-panel');rightPanel.replaceChild(this.drawOpsChartView_,Polymer.dom(rightPanel).querySelector('tr-ui-e-chrome-cc-picture-ops-chart-view'));this.infoBar_=document.createElement('tr-ui-b-info-bar');Polymer.dom(this.rasterArea_).appendChild(this.infoBar_);Polymer.dom(this).insertBefore(middleDragHandle,rightPanel);this.picture_=undefined;const hkc=document.createElement('tv-ui-b-hotkey-controller');hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'h'.charCodeAt(0),callback(e){this.moveSelectedOpBy(-1);e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',thisArg:this,keyCode:'l'.charCodeAt(0),callback(e){this.moveSelectedOpBy(1);e.stopPropagation();}}));Polymer.dom(this).appendChild(hkc);this.mutationObserver_=new MutationObserver(this.onMutation_.bind(this));this.mutationObserver_.observe(leftPanel,{attributes:true});},onMutation_(mutations){for(let m=0;m<mutations.length;m++){if(mutations[m].attributeName==='style'){this.drawOpsChartSummaryView_.requiresRedraw=true;this.drawOpsChartSummaryView_.updateChartContents();this.drawOpsChartView_.dimensionsHaveChanged=true;this.drawOpsChartView_.updateChartContents();break;}}},onSaveAsSkPictureClicked_(){const rawData=tr.b.Base64.atob(this.picture_.getBase64SkpData());const length=rawData.length;const arrayBuffer=new ArrayBuffer(length);const uint8Array=new Uint8Array(arrayBuffer);for(let c=0;c<length;c++){uint8Array[c]=rawData.charCodeAt(c);}
7725const blob=new Blob([uint8Array],{type:'application/octet-binary'});const blobUrl=window.webkitURL.createObjectURL(blob);const link=document.createElementNS('http://www.w3.org/1999/xhtml','a');link.href=blobUrl;link.download=this.filename_.value;const event=document.createEvent('MouseEvents');event.initMouseEvent('click',true,false,window,0,0,0,0,0,false,false,false,false,0,null);link.dispatchEvent(event);},get picture(){return this.picture_;},set picture(picture){this.drawOpsView_.picture=picture;this.drawOpsChartView_.picture=picture;this.drawOpsChartSummaryView_.picture=picture;this.picture_=picture;this.exportButton_.disabled=!this.picture_.canSave;if(picture){const size=this.getRasterCanvasSize_();this.rasterCanvas_.width=size.width;this.rasterCanvas_.height=size.height;}
7726const bounds=this.rasterArea_.getBoundingClientRect();const selectorBounds=this.mouseModeSelector_.getBoundingClientRect();this.mouseModeSelector_.pos={x:(bounds.right-selectorBounds.width-10),y:bounds.top};this.rasterize_();this.scheduleUpdateContents_();},getRasterCanvasSize_(){const style=window.getComputedStyle(this.rasterArea_);const width=Math.max(parseInt(style.width),this.picture_.layerRect.width);const height=Math.max(parseInt(style.height),this.picture_.layerRect.height);return{width,height};},scheduleUpdateContents_(){if(this.updateContentsPending_)return;this.updateContentsPending_=true;tr.b.requestAnimationFrameInThisFrameIfPossible(this.updateContents_.bind(this));},updateContents_(){this.updateContentsPending_=false;if(this.picture_){Polymer.dom(this.sizeInfo_).textContent='('+
7727this.picture_.layerRect.width+' x '+
7728this.picture_.layerRect.height+')';}
7729this.drawOpsChartView_.updateChartContents();this.drawOpsChartView_.scrollSelectedItemIntoViewIfNecessary();if(!this.pictureAsImageData_)return;this.infoBar_.visible=false;this.infoBar_.removeAllButtons();if(this.pictureAsImageData_.error){this.infoBar_.message='Cannot rasterize...';this.infoBar_.addButton('More info...',function(e){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=this.pictureAsImageData_.error;overlay.visible=true;e.stopPropagation();return false;}.bind(this));this.infoBar_.visible=true;}
7730this.drawPicture_();},drawPicture_(){const size=this.getRasterCanvasSize_();if(size.width!==this.rasterCanvas_.width){this.rasterCanvas_.width=size.width;}
7731if(size.height!==this.rasterCanvas_.height){this.rasterCanvas_.height=size.height;}
7732this.rasterCtx_.clearRect(0,0,size.width,size.height);if(!this.pictureAsImageData_.imageData)return;const imgCanvas=this.pictureAsImageData_.asCanvas();const w=imgCanvas.width;const h=imgCanvas.height;this.rasterCtx_.drawImage(imgCanvas,0,0,w,h,0,0,w*this.zoomScaleValue_,h*this.zoomScaleValue_);},rasterize_(){if(this.picture_){this.picture_.rasterize({stopIndex:this.drawOpsView_.selectedOpIndex,showOverdraw:this.showOverdraw_},this.onRasterComplete_.bind(this));}},onRasterComplete_(pictureAsImageData){this.pictureAsImageData_=pictureAsImageData;this.scheduleUpdateContents_();},moveSelectedOpBy(increment){if(this.selectedOpIndex===undefined){this.selectedOpIndex=0;return;}
7733this.selectedOpIndex=tr.b.math.clamp(this.selectedOpIndex+increment,0,this.numOps);},get numOps(){return this.drawOpsView_.numOps;},get selectedOpIndex(){return this.drawOpsView_.selectedOpIndex;},set selectedOpIndex(index){this.drawOpsView_.selectedOpIndex=index;this.drawOpsChartView_.selectedOpIndex=index;},onChartBarClicked_(e){this.drawOpsView_.selectedOpIndex=this.drawOpsChartView_.selectedOpIndex;},onChangeDrawOps_(e){this.rasterize_();this.scheduleUpdateContents_();this.drawOpsChartView_.selectedOpIndex=this.drawOpsView_.selectedOpIndex;},set showOverdraw(v){this.showOverdraw_=v;this.rasterize_();},set showSummaryChart(chartShouldBeVisible){if(chartShouldBeVisible){this.drawOpsChartSummaryView_.show();}else{this.drawOpsChartSummaryView_.hide();}},trackMouse_(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this.rasterArea_;Polymer.dom(this.rasterArea_).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.supportedModeMask=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.mode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.defaultMode=tr.ui.b.MOUSE_SELECTOR_MODE.ZOOM;this.mouseModeSelector_.settingsKey='pictureDebugger.mouseModeSelector';this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));},onBeginZoom_(e){this.isZooming_=true;this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const currentMouseViewPos=this.extractRelativeMousePosition_(e);this.zoomScaleValue_+=((this.lastMouseViewPos_.y-currentMouseViewPos.y)*0.001);this.zoomScaleValue_=Math.max(this.zoomScaleValue_,0.1);this.drawPicture_();this.lastMouseViewPos_=currentMouseViewPos;},onEndZoom_(e){this.lastMouseViewPos_=undefined;this.isZooming_=false;e.preventDefault();},extractRelativeMousePosition_(e){return{x:e.clientX-this.rasterArea_.offsetLeft,y:e.clientY-this.rasterArea_.offsetTop};}};return{PictureDebugger,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const PictureSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-picture-snapshot-view',tr.ui.analysis.ObjectSnapshotView);PictureSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-picture-snapshot-view');this.pictureDebugger_=new tr.ui.e.chrome.cc.PictureDebugger();Polymer.dom(this).appendChild(this.pictureDebugger_);},updateContents(){if(this.objectSnapshot_&&this.pictureDebugger_){this.pictureDebugger_.picture=this.objectSnapshot_;}}};tr.ui.analysis.ObjectSnapshotView.register(PictureSnapshotView,{typeNames:['cc::Picture','cc::LayeredPicture'],showInstances:false});return{PictureSnapshotView,};});'use strict';tr.exportTo('tr.e.cc',function(){const knownRasterTaskNames=['TileManager::RunRasterTask','RasterWorkerPoolTaskImpl::RunRasterOnThread','RasterWorkerPoolTaskImpl::Raster','RasterTaskImpl::Raster','cc::RasterTask','RasterTask'];const knownAnalysisTaskNames=['TileManager::RunAnalyzeTask','RasterWorkerPoolTaskImpl::RunAnalysisOnThread','RasterWorkerPoolTaskImpl::Analyze','RasterTaskImpl::Analyze','cc::AnalyzeTask','AnalyzeTask'];function getTileFromRasterTaskSlice(slice){if(!(isSliceDoingRasterization(slice)||isSliceDoingAnalysis(slice))){return undefined;}
7734let tileData;if(slice.args.data){tileData=slice.args.data;}else{tileData=slice.args.tileData;}
7735if(tileData===undefined)return undefined;if(tileData.tile_id)return tileData.tile_id;const tile=tileData.tileId;if(!(tile instanceof tr.e.cc.TileSnapshot)){return undefined;}
7736return tileData.tileId;}
7737function isSliceDoingRasterization(slice){return knownRasterTaskNames.includes(slice.title);}
7738function isSliceDoingAnalysis(slice){return knownAnalysisTaskNames.includes(slice.title);}
7739return{getTileFromRasterTaskSlice,isSliceDoingRasterization,isSliceDoingAnalysis};});'use strict';tr.exportTo('tr.ui.analysis',function(){const AnalysisSubView={set tabLabel(label){Polymer.dom(this).setAttribute('tab-label',label);},get tabLabel(){return this.getAttribute('tab-label');},get requiresTallView(){return false;},get relatedEventsToHighlight(){return undefined;},set selection(selection){throw new Error('Not implemented!');},get selection(){throw new Error('Not implemented!');}};const allTypeInfosByEventProto=new Map();let onlyRootTypeInfosByEventProto=undefined;let eventProtoToRootTypeInfoMap=undefined;function AnalysisSubViewTypeInfo(eventConstructor,options){if(options.multi===undefined){throw new Error('missing field: multi');}
7740if(options.title===undefined){throw new Error('missing field: title');}
7741this.eventConstructor=eventConstructor;this.singleTagName=undefined;this.singleTitle=undefined;this.multiTagName=undefined;this.multiTitle=undefined;this.childrenTypeInfos_=undefined;}
7742AnalysisSubViewTypeInfo.prototype={get childrenTypeInfos(){return this.childrenTypeInfos_;},resetchildrenTypeInfos(){this.childrenTypeInfos_=[];}};AnalysisSubView.register=function(tagName,eventConstructor,options){let typeInfo=allTypeInfosByEventProto.get(eventConstructor.prototype);if(typeInfo===undefined){typeInfo=new AnalysisSubViewTypeInfo(eventConstructor,options);allTypeInfosByEventProto.set(typeInfo.eventConstructor.prototype,typeInfo);onlyRootTypeInfosByEventProto=undefined;}
7743if(!options.multi){if(typeInfo.singleTagName!==undefined){throw new Error('SingleTagName already set');}
7744typeInfo.singleTagName=tagName;typeInfo.singleTitle=options.title;}else{if(typeInfo.multiTagName!==undefined){throw new Error('MultiTagName already set');}
7745typeInfo.multiTagName=tagName;typeInfo.multiTitle=options.title;}
7746return typeInfo;};function rebuildRootSubViewTypeInfos(){onlyRootTypeInfosByEventProto=new Map();allTypeInfosByEventProto.forEach(function(typeInfo){typeInfo.resetchildrenTypeInfos();});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let lastEventProto=eventPrototype;let curEventProto=eventPrototype.__proto__;while(true){if(!allTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=allTypeInfosByEventProto.get(lastEventProto);const rootEventProto=lastEventProto;const isNew=onlyRootTypeInfosByEventProto.has(rootEventProto);onlyRootTypeInfosByEventProto.set(rootEventProto,rootTypeInfo);break;}
7747lastEventProto=curEventProto;curEventProto=curEventProto.__proto__;}});allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;const parentEventProto=eventPrototype.__proto__;const parentTypeInfo=allTypeInfosByEventProto.get(parentEventProto);if(!parentTypeInfo)return;parentTypeInfo.childrenTypeInfos.push(typeInfo);});eventProtoToRootTypeInfoMap=new Map();allTypeInfosByEventProto.forEach(function(typeInfo,eventProto){const eventPrototype=typeInfo.eventConstructor.prototype;let curEventProto=eventPrototype;while(true){if(onlyRootTypeInfosByEventProto.has(curEventProto)){const rootTypeInfo=onlyRootTypeInfosByEventProto.get(curEventProto);eventProtoToRootTypeInfoMap.set(eventPrototype,rootTypeInfo);break;}
7748curEventProto=curEventProto.__proto__;}});}
7749function findLowestTypeInfoForEvents(thisTypeInfo,events){if(events.length===0)return thisTypeInfo;const event0=tr.b.getFirstElement(events);let candidateSubTypeInfo;for(let i=0;i<thisTypeInfo.childrenTypeInfos.length;i++){const childTypeInfo=thisTypeInfo.childrenTypeInfos[i];if(event0 instanceof childTypeInfo.eventConstructor){candidateSubTypeInfo=childTypeInfo;break;}}
7750if(!candidateSubTypeInfo)return thisTypeInfo;let allMatch=true;for(const event of events){if(event instanceof candidateSubTypeInfo.eventConstructor)continue;allMatch=false;break;}
7751if(!allMatch){return thisTypeInfo;}
7752return findLowestTypeInfoForEvents(candidateSubTypeInfo,events);}
7753const primaryEventProtoToTypeInfoMap=new Map();function getRootTypeInfoForEvent(event){const curProto=event.__proto__;const typeInfo=primaryEventProtoToTypeInfoMap.get(curProto);if(typeInfo)return typeInfo;return getRootTypeInfoForEventSlow(event);}
7754function getRootTypeInfoForEventSlow(event){let typeInfo;let curProto=event.__proto__;while(true){if(curProto===Object.prototype){throw new Error('No view registered for '+event.toString());}
7755typeInfo=onlyRootTypeInfosByEventProto.get(curProto);if(typeInfo){primaryEventProtoToTypeInfoMap.set(event.__proto__,typeInfo);return typeInfo;}
7756curProto=curProto.__proto__;}}
7757AnalysisSubView.getEventsOrganizedByTypeInfo=function(selection){if(onlyRootTypeInfosByEventProto===undefined){rebuildRootSubViewTypeInfos();}
7758const eventsByRootTypeInfo=tr.b.groupIntoMap(selection,function(event){return getRootTypeInfoForEvent(event);},this,tr.model.EventSet);const eventsByLowestTypeInfo=new Map();eventsByRootTypeInfo.forEach(function(events,typeInfo){const lowestTypeInfo=findLowestTypeInfoForEvents(typeInfo,events);eventsByLowestTypeInfo.set(lowestTypeInfo,events);});return eventsByLowestTypeInfo;};return{AnalysisSubView,AnalysisSubViewTypeInfo,};});Polymer({is:'tr-ui-a-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView]});'use strict';Polymer({is:'tr-ui-a-stack-frame',ready(){this.stackFrame_=undefined;this.$.table.tableColumns=[];this.$.table.showHeader=true;},get stackFrame(){return this.stackFrame_;},set stackFrame(stackFrame){const table=this.$.table;this.stackFrame_=stackFrame;if(stackFrame===undefined){table.tableColumns=[];table.tableRows=[];table.rebuild();return;}
7759let hasName=false;let hasTitle=false;table.tableRows=stackFrame.stackTrace;table.tableRows.forEach(function(row){hasName|=row.name!==undefined;hasTitle|=row.title!==undefined;});const cols=[];if(hasName){cols.push({title:'Name',value(row){return row.name;}});}
7760if(hasTitle){cols.push({title:'Title',value(row){return row.title;}});}
7761table.tableColumns=cols;table.rebuild();},tableForTesting(){return this.$.table;}});'use strict';Polymer({is:'tr-ui-a-single-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],properties:{isFlow:{type:Boolean,value:false}},ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');}
7762this.setSelectionWithoutErrorChecks(selection);},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;this.updateContents_();},getFlowEventRows_(event){const rows=this.getEventRowsHelper_(event);rows.splice(0,0,{name:'ID',value:event.id});function createLinkTo(slice){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(slice);});Polymer.dom(linkEl).textContent=slice.userFriendlyName;return linkEl;}
7763rows.push({name:'From',value:createLinkTo(event.startSlice)});rows.push({name:'To',value:createLinkTo(event.endSlice)});return rows;},getEventRowsHelper_(event){const rows=[];if(event.error){rows.push({name:'Error',value:event.error});}
7764if(event.title){rows.push({name:'Title',value:event.title});}
7765if(event.category){rows.push({name:'Category',value:event.category});}
7766if(event.model!==undefined){const ufc=event.model.getUserFriendlyCategoryFromEvent(event);if(ufc!==undefined){rows.push({name:'User Friendly Category',value:ufc});}}
7767if(event.name){rows.push({name:'Name',value:event.name});}
7768rows.push({name:'Start',value:tr.v.ui.createScalarSpan(event.start,{unit:tr.b.Unit.byName.timeStampInMs})});if(event.duration){rows.push({name:'Wall Duration',value:tr.v.ui.createScalarSpan(event.duration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7769if(event.cpuDuration){rows.push({name:'CPU Duration',value:tr.v.ui.createScalarSpan(event.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7770if(event.subSlices!==undefined&&event.subSlices.length!==0){if(event.selfTime){rows.push({name:'Self Time',value:tr.v.ui.createScalarSpan(event.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7771if(event.cpuSelfTime){const cpuSelfTimeEl=tr.v.ui.createScalarSpan(event.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs});if(event.cpuSelfTime>event.selfTime){cpuSelfTimeEl.warning=' Note that CPU Self Time is larger than Self Time. '+'This is a known limitation of this system, which occurs '+'due to several subslices, rounding issues, and imprecise '+'time at which we get cpu- and real-time.';}
7772rows.push({name:'CPU Self Time',value:cpuSelfTimeEl});}}
7773if(event.durationInUserTime){rows.push({name:'Duration (U)',value:tr.v.ui.createScalarSpan(event.durationInUserTime,{unit:tr.b.Unit.byName.timeDurationInMs})});}
7774function createStackFrameEl(sf){const sfEl=document.createElement('tr-ui-a-stack-frame');sfEl.stackFrame=sf;return sfEl;}
7775if(event.startStackFrame&&event.endStackFrame){if(event.startStackFrame===event.endStackFrame){rows.push({name:'Start+End Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else{rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}}else if(event.startStackFrame){rows.push({name:'Start Stack Trace',value:createStackFrameEl(event.startStackFrame)});}else if(event.endStackFrame){rows.push({name:'End Stack Trace',value:createStackFrameEl(event.endStackFrame)});}
7776if(event.info){const descriptionEl=tr.ui.b.createDiv({textContent:event.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(event.info.docLinks){event.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}}
7777if(event.associatedAlerts.length){const alertSubRows=[];event.associatedAlerts.forEach(function(alert){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(alert);},alert.info.description);alertSubRows.push({name:alert.title,value:linkEl});});rows.push({name:'Alerts',value:'',isExpanded:true,subRows:alertSubRows});}
7778return rows;},getEventRows_(event){if(this.isFlow){return this.getFlowEventRows_(event);}
7779return this.getEventRowsHelper_(event);},addArgsToRows_(rows,args){let n=0;for(const argName in args){n+=1;}
7780if(n>0){const subRows=[];for(const argName in args){n+=1;}
7781if(n>0){const subRows=[];for(const argName in args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=args[argName];subRows.push({name:argName,value:argView});}
7782rows.push({name:'Args',value:'',isExpanded:true,subRows});}}},addContextsToRows_(rows,contexts){if(contexts.length){const subRows=contexts.map(function(context){const contextView=document.createElement('tr-ui-a-generic-object-view');contextView.object=context;return{name:'Context',value:contextView};});rows.push({name:'Contexts',value:'',isExpanded:true,subRows});}},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
7783const event=tr.b.getOnlyElement(this.currentSelection_);const rows=this.getEventRows_(event);if(event.argsStripped){rows.push({name:'Args',value:'Stripped'});}else{this.addArgsToRows_(rows,event.args);}
7784this.addContextsToRows_(rows,event.contexts);const customizeRowsEvent=new tr.b.Event('customize-rows');customizeRowsEvent.rows=rows;this.dispatchEvent(customizeRowsEvent);this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-e-chrome-cc-raster-task-view',created(){this.selection_=undefined;},set selection(selection){this.selection_=selection;this.updateContents_();},updateColumns_(hadCpuDurations){const timeSpanConfig={unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument};const columns=[{title:'Layer',value(row){if(row.isTotals)return'Totals';if(row.layer){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.ui.e.chrome.cc.LayerSelection(costs.layer);},'Layer '+row.layerId);return linkEl;}
7785return'Layer '+row.layerId;},width:'250px'},{title:'Num Tiles',value(row){return row.numTiles;},cmp(a,b){return a.numTiles-b.numTiles;}},{title:'Num Analysis Tasks',value(row){return row.numAnalysisTasks;},cmp(a,b){return a.numAnalysisTasks-b.numAnalysisTasks;}},{title:'Num Raster Tasks',value(row){return row.numRasterTasks;},cmp(a,b){return a.numRasterTasks-b.numRasterTasks;}},{title:'Wall Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.duration,timeSpanConfig);},cmp(a,b){return a.duration-b.duration;}}];if(hadCpuDurations){columns.push({title:'CPU Duration (ms)',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,timeSpanConfig);},cmp(a,b){return a.cpuDuration-b.cpuDuration;}});}
7786let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';}
7787for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;}
7788this.$.content.tableColumns=columns;this.$.content.sortColumnIndex=columns.length-1;},updateContents_(){const table=this.$.content;if(this.selection_.length===0){this.$.link.setSelectionAndContent(undefined,'');table.tableRows=[];table.footerRows=[];table.rebuild();return;}
7789const lthi=tr.e.cc.getTileFromRasterTaskSlice(tr.b.getFirstElement(this.selection_)).containingSnapshot;this.$.link.setSelectionAndContent(function(){return new tr.model.EventSet(lthi);},lthi.userFriendlyName);const costsByLayerId={};function getCurrentCostsForLayerId(tile){const layerId=tile.layerId;const lthi=tile.containingSnapshot;let layer;if(lthi.activeTree){layer=lthi.activeTree.findLayerWithId(layerId);}
7790if(layer===undefined&&lthi.pendingTree){layer=lthi.pendingTree.findLayerWithId(layerId);}
7791if(costsByLayerId[layerId]===undefined){costsByLayerId[layerId]={layerId,layer,numTiles:0,numAnalysisTasks:0,numRasterTasks:0,duration:0,cpuDuration:0};}
7792return costsByLayerId[layerId];}
7793let totalDuration=0;let totalCpuDuration=0;let totalNumAnalyzeTasks=0;let totalNumRasterizeTasks=0;let hadCpuDurations=false;const tilesThatWeHaveSeen={};this.selection_.forEach(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);const curCosts=getCurrentCostsForLayerId(tile);if(!tilesThatWeHaveSeen[tile.objectInstance.id]){tilesThatWeHaveSeen[tile.objectInstance.id]=true;curCosts.numTiles+=1;}
7794if(tr.e.cc.isSliceDoingAnalysis(slice)){curCosts.numAnalysisTasks+=1;totalNumAnalyzeTasks+=1;}else{curCosts.numRasterTasks+=1;totalNumRasterizeTasks+=1;}
7795curCosts.duration+=slice.duration;totalDuration+=slice.duration;if(slice.cpuDuration!==undefined){curCosts.cpuDuration+=slice.cpuDuration;totalCpuDuration+=slice.cpuDuration;hadCpuDurations=true;}});this.updateColumns_(hadCpuDurations);table.tableRows=Object.values(costsByLayerId);table.rebuild();table.footerRows=[{isTotals:true,numTiles:Object.keys(tilesThatWeHaveSeen).length,numAnalysisTasks:totalNumAnalyzeTasks,numRasterTasks:totalNumRasterizeTasks,duration:totalDuration,cpuDuration:totalCpuDuration}];}});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){function RasterTaskSelection(selection){tr.ui.e.chrome.cc.Selection.call(this);const whySupported=RasterTaskSelection.whySuported(selection);if(!whySupported.ok){throw new Error('Fail: '+whySupported.why);}
7796this.slices_=tr.b.asArray(selection);this.tiles_=this.slices_.map(function(slice){const tile=tr.e.cc.getTileFromRasterTaskSlice(slice);if(tile===undefined){throw new Error('This should never happen due to .supports check.');}
7797return tile;});}
7798RasterTaskSelection.whySuported=function(selection){if(!(selection instanceof tr.model.EventSet)){return{ok:false,why:'Must be selection'};}
7799if(selection.length===0){return{ok:false,why:'Selection must be non empty'};}
7800let referenceSnapshot=undefined;for(const event of selection){if(!(event instanceof tr.model.Slice)){return{ok:false,why:'Not a slice'};}
7801const tile=tr.e.cc.getTileFromRasterTaskSlice(event);if(tile===undefined){return{ok:false,why:'No tile found'};}
7802if(!referenceSnapshot){referenceSnapshot=tile.containingSnapshot;}else{if(tile.containingSnapshot!==referenceSnapshot){return{ok:false,why:'Raster tasks are from different compositor instances'};}}}
7803return{ok:true};};RasterTaskSelection.supports=function(selection){return RasterTaskSelection.whySuported(selection).ok;};RasterTaskSelection.prototype={__proto__:tr.ui.e.chrome.cc.Selection.prototype,get specicifity(){return 3;},get associatedLayerId(){const tile0=this.tiles_[0];const allSameLayer=this.tiles_.every(function(tile){tile.layerId===tile0.layerId;});if(allSameLayer){return tile0.layerId;}
7804return undefined;},get extraHighlightsByLayerId(){const highlights={};this.tiles_.forEach(function(tile,i){if(highlights[tile.layerId]===undefined){highlights[tile.layerId]=[];}
7805const slice=this.slices_[i];highlights[tile.layerId].push({colorKey:slice.title,rect:tile.layerRect});},this);return highlights;},createAnalysis(){const sel=new tr.model.EventSet();this.slices_.forEach(function(slice){sel.push(slice);});let analysis;if(sel.length===1){analysis=document.createElement('tr-ui-a-single-event-sub-view');}else{analysis=document.createElement('tr-ui-e-chrome-cc-raster-task-view');}
7806analysis.selection=sel;return analysis;},findEquivalent(lthi){return undefined;},get containingSnapshot(){return this.tiles_[0].containingSnapshot;}};return{RasterTaskSelection,};});'use strict';tr.exportTo('tr.ui.e.chrome.cc',function(){const TileSnapshotView=tr.ui.b.define('tr-ui-e-chrome-cc-tile-snapshot-view',tr.ui.analysis.ObjectSnapshotView);TileSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-cc-tile-snapshot-view');this.layerTreeView_=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();Polymer.dom(this).appendChild(this.layerTreeView_);},updateContents(){const tile=this.objectSnapshot_;const layerTreeHostImpl=tile.containingSnapshot;if(!layerTreeHostImpl)return;this.layerTreeView_.objectSnapshot=layerTreeHostImpl;this.layerTreeView_.selection=new tr.ui.e.chrome.cc.TileSelection(tile);}};tr.ui.analysis.ObjectSnapshotView.register(TileSnapshotView,{typeName:'cc::Tile',showInTrackView:false});return{TileSnapshotView,};});'use strict';tr.exportTo('tr.e.gpu',function(){const AsyncSlice=tr.model.AsyncSlice;function GpuAsyncSlice(){AsyncSlice.apply(this,arguments);}
7807GpuAsyncSlice.prototype={__proto__:AsyncSlice.prototype,get viewSubGroupTitle(){if(this.args.channel){if(this.category==='disabled-by-default-gpu.device'){return'Device.'+this.args.channel;}
7808return'Service.'+this.args.channel;}
7809return this.title;}};AsyncSlice.subTypes.register(GpuAsyncSlice,{categoryParts:['disabled-by-default-gpu.device','disabled-by-default-gpu.service']});return{GpuAsyncSlice,};});'use strict';tr.exportTo('tr.e.gpu',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function StateSnapshot(){ObjectSnapshot.apply(this,arguments);}
7810StateSnapshot.prototype={__proto__:ObjectSnapshot.prototype,preInitialize(){this.screenshot_=undefined;},initialize(){if(this.args.screenshot){this.screenshot_=this.args.screenshot;}},get screenshot(){return this.screenshot_;}};ObjectSnapshot.subTypes.register(StateSnapshot,{typeName:'gpu::State'});return{StateSnapshot,};});'use strict';tr.exportTo('tr.ui.e.chrome.gpu',function(){const StateSnapshotView=tr.ui.b.define('tr-ui-e-chrome-gpu-state-snapshot-view',tr.ui.analysis.ObjectSnapshotView);StateSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-chrome-gpu-state-snapshot-view');this.screenshotImage_=document.createElement('img');Polymer.dom(this).appendChild(this.screenshotImage_);},updateContents(){if(this.objectSnapshot_&&this.objectSnapshot_.screenshot){this.screenshotImage_.src='data:image/png;base64,'+
7811this.objectSnapshot_.screenshot;}}};tr.ui.analysis.ObjectSnapshotView.register(StateSnapshotView,{typeName:'gpu::State'});return{StateSnapshotView,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-layout-tree-sub-view',behaviors:['tr-ui-a-sub-view'],set selection(selection){this.currentSelection_=selection;this.updateContents_();},get selection(){return this.currentSelection_;},updateContents_(){this.set('$.content.textContent','');if(!this.currentSelection_)return;const columns=[{title:'Tag/Name',value(layoutObject){return layoutObject.tag||':'+layoutObject.name;}},{title:'htmlId',value(layoutObject){return layoutObject.htmlId||'';}},{title:'classNames',value(layoutObject){return layoutObject.classNames||'';}},{title:'reasons',value(layoutObject){return layoutObject.needsLayoutReasons.join(', ');}},{title:'width',value(layoutObject){return layoutObject.absoluteRect.width;}},{title:'height',value(layoutObject){return layoutObject.absoluteRect.height;}},{title:'absX',value(layoutObject){return layoutObject.absoluteRect.left;}},{title:'absY',value(layoutObject){return layoutObject.absoluteRect.top;}},{title:'relX',value(layoutObject){return layoutObject.relativeRect.left;}},{title:'relY',value(layoutObject){return layoutObject.relativeRect.top;}},{title:'float',value(layoutObject){return layoutObject.isFloat?'float':'';}},{title:'positioned',value(layoutObject){return layoutObject.isPositioned?'positioned':'';}},{title:'relative',value(layoutObject){return layoutObject.isRelativePositioned?'relative':'';}},{title:'sticky',value(layoutObject){return layoutObject.isStickyPositioned?'sticky':'';}},{title:'anonymous',value(layoutObject){return layoutObject.isAnonymous?'anonymous':'';}},{title:'row',value(layoutObject){if(layoutObject.tableRow===undefined){return'';}
7812return layoutObject.tableRow;}},{title:'col',value(layoutObject){if(layoutObject.tableCol===undefined){return'';}
7813return layoutObject.tableCol;}},{title:'rowSpan',value(layoutObject){if(layoutObject.tableRowSpan===undefined){return'';}
7814return layoutObject.tableRowSpan;}},{title:'colSpan',value(layoutObject){if(layoutObject.tableColSpan===undefined){return'';}
7815return layoutObject.tableColSpan;}},{title:'address',value(layoutObject){return layoutObject.id.toString(16);}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.defaultExpansionStateCallback=function(layoutObject,parentLayoutObject){return true;};table.subRowsPropertyName='childLayoutObjects';table.tableColumns=columns;table.tableRows=this.currentSelection_.map(function(snapshot){return snapshot.rootLayoutObject;});table.rebuild();Polymer.dom(this.$.content).appendChild(table);},});return{};});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:false,title:'Layout Tree',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-layout-tree-sub-view',tr.e.chrome.LayoutTreeSnapshot,{multi:true,title:'Layout Trees',});'use strict';tr.exportTo('tr.ui.behaviors',function(){const SidePanel={get rangeOfInterest(){throw new Error('Not implemented');},set rangeOfInterest(rangeOfInterest){throw new Error('Not implemented');},get selection(){throw new Error('Not implemented');},set selection(selection){throw new Error('Not implemented');},get model(){throw new Error('Not implemented');},set model(model){throw new Error('Not implemented');},supportsModel(m){throw new Error('Not implemented');}};return{SidePanel,};});'use strict';tr.exportTo('tr.ui.side_panel',function(){function SidePanelRegistry(){}
7816const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(SidePanelRegistry,options);return{SidePanelRegistry,};});'use strict';tr.exportTo('tr.ui.e.s',function(){const BlameContextSnapshot=tr.e.chrome.BlameContextSnapshot;const FrameTreeNodeSnapshot=tr.e.chrome.FrameTreeNodeSnapshot;const RenderFrameSnapshot=tr.e.chrome.RenderFrameSnapshot;const TopLevelSnapshot=tr.e.chrome.TopLevelSnapshot;const BlameContextInstance=tr.e.chrome.BlameContextInstance;const FrameTreeNodeInstance=tr.e.chrome.FrameTreeNodeInstance;const RenderFrameInstance=tr.e.chrome.RenderFrameInstance;const TopLevelInstance=tr.e.chrome.TopLevelInstance;function Row(context){this.subRows=undefined;this.contexts=[];this.type=undefined;this.renderer='N/A';this.url=undefined;this.time=0;this.eventsOfInterest=new tr.model.EventSet();if(context===undefined)return;this.type=context.objectInstance.blameContextType;this.contexts.push(context);if(context instanceof FrameTreeNodeSnapshot){if(context.renderFrame){this.contexts.push(context.renderFrame);this.renderer=context.renderFrame.objectInstance.parent.pid;}}else if(context instanceof RenderFrameSnapshot){if(context.frameTreeNode){this.contexts.push(context.frameTreeNode);}
7817this.renderer=context.objectInstance.parent.pid;}else if(context instanceof TopLevelSnapshot){this.renderer=context.objectInstance.parent.pid;}else{throw new Error('Unknown context type');}
7818this.eventsOfInterest.addEventSet(this.contexts);this.url=context.url;}
7819const groupFunctions={none:rows=>rows,tree(rows,rowMap){const getParentRow=function(row){let pivot;row.contexts.forEach(function(context){if(context instanceof tr.e.chrome.FrameTreeNodeSnapshot){pivot=context;}});if(pivot&&pivot.parentContext){return rowMap[pivot.parentContext.guid];}
7820return undefined;};const rootRows=[];rows.forEach(function(row){const parentRow=getParentRow(row);if(parentRow===undefined){rootRows.push(row);return;}
7821if(parentRow.subRows===undefined){parentRow.subRows=[];}
7822parentRow.subRows.push(row);});const aggregateAllDescendants=function(row){if(!row.subRows){if(getParentRow(row)){row.type='Subframe';}
7823return row;}
7824const result=new Row();result.type='Frame Tree';result.renderer=row.renderer;result.url=row.url;result.subRows=[row];row.subRows.forEach(subRow=>result.subRows.push(aggregateAllDescendants(subRow)));result.subRows.forEach(function(subRow){result.time+=subRow.time;result.eventsOfInterest.addEventSet(subRow.eventsOfInterest);});row.subRows=undefined;return result;};return rootRows.map(rootRow=>aggregateAllDescendants(rootRow));}};Polymer({is:'tr-ui-e-s-frame-data-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=new tr.b.math.Range();this.$.table.showHeader=true;this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=this.createFrameDataTableColumns_();this.$.table.addEventListener('selection-changed',function(e){this.selectEventSet_(this.$.table.selectedTableRow.eventsOfInterest);}.bind(this));this.$.select.addEventListener('change',function(e){this.updateContents_();}.bind(this));},selectEventSet_(eventSet){const event=new tr.model.RequestSelectionChangeEvent();event.selection=eventSet;this.dispatchEvent(event);},createFrameDataTableColumns_(){return[{title:'Renderer',value:row=>row.renderer,cmp:(a,b)=>a.renderer-b.renderer},{title:'Type',value:row=>row.type},{title:'Time',value:row=>tr.v.ui.createScalarSpan(row.time,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}),cmp:(a,b)=>a.time-b.time},{title:'URL',value:row=>row.url,cmp:(a,b)=>(a.url||'').localeCompare(b.url||'')}];},createFrameDataTableRows_(){if(!this.model_)return[];const rows=[];const rowMap={};for(const proc of Object.values(this.model_.processes)){proc.objects.iterObjectInstances(function(objectInstance){if(!(objectInstance instanceof BlameContextInstance)){return;}
7825objectInstance.snapshots.forEach(function(snapshot){if(rowMap[snapshot.guid])return;const row=new Row(snapshot);row.contexts.forEach(context=>rowMap[context.guid]=row);rows.push(row);},this);},this);}
7826for(const proc of Object.values(this.model_.processes)){for(const thread of Object.values(proc.threads)){thread.sliceGroup.iterSlicesInTimeRange(function(topLevelSlice){topLevelSlice.contexts.forEach(function(context){if(!context.snapshot.guid||!rowMap[context.snapshot.guid]){return;}
7827const row=rowMap[context.snapshot.guid];row.eventsOfInterest.push(topLevelSlice);row.time+=topLevelSlice.selfTime||0;});},this.currentRangeOfInterest.min,this.currentRangeOfInterest.max);}}
7828const select=this.$.select;const groupOption=select.options[select.selectedIndex].value;const groupFunction=groupFunctions[groupOption];return groupFunction(rows,rowMap);},updateContents_(){this.$.table.tableRows=this.createFrameDataTableRows_();this.$.table.rebuild();},supportsModel(m){if(!m){return{supported:false,reason:'No model available.'};}
7829const ans={supported:false};for(const proc of Object.values(m.processes)){proc.objects.iterObjectInstances(function(instance){if(instance instanceof BlameContextInstance){ans.supported=true;}});}
7830if(!ans.supported){ans.reason='No frame data available';}
7831return ans;},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;}
7832return this.rangeOfInterest_;},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},get selection(){},set selection(_){},get textLabel(){return'Frame Data';},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-frame-data-side-panel');});});'use strict';Polymer({is:'tr-ui-b-chart-legend-key',ready(){this.$.checkbox.addEventListener('change',this.onCheckboxChange_.bind(this));},onCheckboxChange_(){tr.b.dispatchSimpleEvent(this,tr.ui.b.DataSeriesEnableChangeEventType,true,false,{key:Polymer.dom(this).textContent,enabled:this.enabled});},set textContent(t){Polymer.dom(this.$.label).textContent=t;Polymer.dom(this.$.link).textContent=t;this.updateContents_();},set width(w){w-=20;this.$.link.style.width=w+'px';this.$.label.style.width=w+'px';},get textContent(){return Polymer.dom(this.$.label).textContent;},set optional(optional){this.$.checkbox.style.visibility=optional?'visible':'hidden';},get optional(){return this.$.checkbox.style.visibility==='visible';},set enabled(enabled){this.$.checkbox.checked=enabled?'checked':'';},get enabled(){return this.$.checkbox.checked;},set color(c){this.$.label.style.color=c;this.$.link.color=c;},set target(target){this.$.link.setSelectionAndContent(target,Polymer.dom(this.$.label).textContent);this.updateContents_();},get target(){return this.$.link.selection;},set title(title){this.$.link.title=title;},updateContents_(){this.$.link.style.display=this.target?'':'none';this.$.label.style.display=this.target?'none':'';this.$.label.htmlFor=this.optional?'checkbox':'';}});'use strict';(function(window){window.define=function(x){window.d3=x;};window.define.amd=true;})(this);!function(){function n(n){return null!=n&&!isNaN(n)}function t(n){return n.length}function e(n){for(var t=1;n*t%1;)t*=10;return t}function r(n,t){try{for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}catch(r){n.prototype=t}}function u(){}function i(n){return aa+n in this}function o(n){return n=aa+n,n in this&&delete this[n]}function a(){var n=[];return this.forEach(function(t){n.push(t)}),n}function c(){var n=0;for(var t in this)t.charCodeAt(0)===ca&&++n;return n}function s(){for(var n in this)if(n.charCodeAt(0)===ca)return!1;return!0}function l(){}function f(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function h(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.substring(1);for(var e=0,r=sa.length;r>e;++e){var u=sa[e]+t;if(u in n)return u}}function g(){}function p(){}function v(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new u;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function d(){Xo.event.preventDefault()}function m(){for(var n,t=Xo.event;n=t.sourceEvent;)t=n;return t}function y(n){for(var t=new p,e=0,r=arguments.length;++e<r;)t[arguments[e]]=v(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Xo.event;u.target=n,Xo.event=u,t[u.type].apply(e,r)}finally{Xo.event=i}}},t}function x(n){return fa(n,da),n}function M(n){return"function"==typeof n?n:function(){return ha(n,this)}}function _(n){return"function"==typeof n?n:function(){return ga(n,this)}}function b(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Xo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function w(n){return n.trim().replace(/\s+/g," ")}function S(n){return new RegExp("(?:^|\\s+)"+Xo.requote(n)+"(?:\\s+|$)","g")}function k(n){return n.trim().split(/^|\s+/)}function E(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=k(n).map(A);var u=n.length;return"function"==typeof t?r:e}function A(n){var t=S(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",w(u+" "+n))):e.setAttribute("class",w(u.replace(t," ")))}}function C(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function N(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function L(n){return"function"==typeof n?n:(n=Xo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function T(n){return{__data__:n}}function q(n){return function(){return va(this,n)}}function z(n){return arguments.length||(n=Xo.ascending),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function R(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function D(n){return fa(n,ya),n}function P(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function U(){var n=this.__transition__;n&&++n.active}function j(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Bo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Xo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=H;a>0&&(n=n.substring(0,a));var s=Ma.get(n);return s&&(n=s,c=F),a?t?u:r:t?g:i}function H(n,t){return function(e){var r=Xo.event;Xo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Xo.event=r}}}function F(n,t){var e=H(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function O(){var n=".dragsuppress-"+ ++ba,t="click"+n,e=Xo.select(Go).on("touchmove"+n,d).on("dragstart"+n,d).on("selectstart"+n,d);if(_a){var r=Jo.style,u=r[_a];r[_a]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),_a&&(r[_a]=u),i&&(e.on(t,function(){d(),o()},!0),setTimeout(o,0))}}function Y(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>wa&&(Go.scrollX||Go.scrollY)){e=Xo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();wa=!(u.f||u.e),e.remove()}return wa?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function I(n){return n>0?1:0>n?-1:0}function Z(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function V(n){return n>1?0:-1>n?Sa:Math.acos(n)}function X(n){return n>1?Ea:-1>n?-Ea:Math.asin(n)}function $(n){return((n=Math.exp(n))-1/n)/2}function B(n){return((n=Math.exp(n))+1/n)/2}function W(n){return((n=Math.exp(2*n))-1)/(n+1)}function J(n){return(n=Math.sin(n/2))*n}function G(){}function K(n,t,e){return new Q(n,t,e)}function Q(n,t,e){this.h=n,this.s=t,this.l=e}function nt(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,gt(u(n+120),u(n),u(n-120))}function tt(n,t,e){return new et(n,t,e)}function et(n,t,e){this.h=n,this.c=t,this.l=e}function rt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),ut(e,Math.cos(n*=Na)*t,Math.sin(n)*t)}function ut(n,t,e){return new it(n,t,e)}function it(n,t,e){this.l=n,this.a=t,this.b=e}function ot(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=ct(u)*Fa,r=ct(r)*Oa,i=ct(i)*Ya,gt(lt(3.2404542*u-1.5371385*r-.4985314*i),lt(-.969266*u+1.8760108*r+.041556*i),lt(.0556434*u-.2040259*r+1.0572252*i))}function at(n,t,e){return n>0?tt(Math.atan2(e,t)*La,Math.sqrt(t*t+e*e),n):tt(0/0,0/0,n)}function ct(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function st(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function lt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function ft(n){return gt(n>>16,255&n>>8,255&n)}function ht(n){return ft(n)+""}function gt(n,t,e){return new pt(n,t,e)}function pt(n,t,e){this.r=n,this.g=t,this.b=e}function vt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function dt(n,t,e){var r,u,i,o,a=0,c=0,s=0;if(u=/([a-z]+)\((.*)\)/i.exec(n))switch(i=u[2].split(","),u[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=Va.get(n))?t(o.r,o.g,o.b):(null!=n&&"#"===n.charAt(0)&&(r=parseInt(n.substring(1),16),isNaN(r)||(4===n.length?(a=(3840&r)>>4,a=a>>4|a,c=240&r,c=c>>4|c,s=15&r,s=s<<4|s):7===n.length&&(a=(16711680&r)>>16,c=(65280&r)>>8,s=255&r))),t(a,c,s))}function mt(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),K(r,u,c)}function yt(n,t,e){n=xt(n),t=xt(t),e=xt(e);var r=st((.4124564*n+.3575761*t+.1804375*e)/Fa),u=st((.2126729*n+.7151522*t+.072175*e)/Oa),i=st((.0193339*n+.119192*t+.9503041*e)/Ya);return ut(116*u-16,500*(r-u),200*(u-i))}function xt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Mt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function _t(n){return"function"==typeof n?n:function(){return n}}function bt(n){return n}function wt(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),St(t,e,n,r)}}function St(n,t,e,r){function u(){var n,t=c.status;if(!t&&c.responseText||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Xo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,s=null;return!Go.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Xo.event;Xo.event=n;try{o.progress.call(i,c)}finally{Xo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(s=n,i):s},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Bo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var l in a)c.setRequestHeader(l,a[l]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=s&&(c.responseType=s),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Xo.rebind(i,o,"on"),null==r?i:i.get(kt(r))}function kt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Et(){var n=At(),t=Ct()-n;t>24?(isFinite(t)&&(clearTimeout(Wa),Wa=setTimeout(Et,t)),Ba=0):(Ba=1,Ga(Et))}function At(){var n=Date.now();for(Ja=Xa;Ja;)n>=Ja.t&&(Ja.f=Ja.c(n-Ja.t)),Ja=Ja.n;return n}function Ct(){for(var n,t=Xa,e=1/0;t;)t.f?t=n?n.n=t.n:Xa=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return $a=n,e}function Nt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Lt(n,t){var e=Math.pow(10,3*oa(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Tt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r?function(n){for(var t=n.length,u=[],i=0,o=r[0];t>0&&o>0;)u.push(n.substring(t-=o,t+o)),o=r[i=(i+1)%r.length];return u.reverse().join(e)}:bt;return function(n){var e=Qa.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"",c=e[4]||"",s=e[5],l=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1;switch(h&&(h=+h.substring(1)),(s||"0"===r&&"="===o)&&(s=r="0",o="=",f&&(l-=Math.floor((l-1)/4))),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=nc.get(g)||qt;var y=s&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):a;if(0>p){var c=Xo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x=n.lastIndexOf("."),M=0>x?n:n.substring(0,x),_=0>x?"":t+n.substring(x+1);!s&&f&&(M=i(M));var b=v.length+M.length+_.length+(y?0:u.length),w=l>b?new Array(b=l-b+1).join(r):"";return y&&(M=i(w+M)),u+=v,n=M+_,("<"===o?u+n+w:">"===o?w+u+n:"^"===o?w.substring(0,b>>=1)+u+n+w.substring(b):u+(y?n:w+n))+e}}}function qt(n){return n+""}function zt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Rt(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new ec(e-1)),1),e}function i(n,e){return t(n=new ec(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{ec=zt;var r=new zt;return r._=n,o(r,t,e)}finally{ec=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Dt(n);return c.floor=c,c.round=Dt(r),c.ceil=Dt(u),c.offset=Dt(i),c.range=a,n}function Dt(n){return function(t,e){try{ec=zt;var r=new zt;return r._=t,n(r,e)._}finally{ec=Date}}}function Pt(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.substring(c,a)),null!=(u=uc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.substring(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&ec!==zt,o=new(i?zt:ec);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+Math.floor(r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,s=e.length;c>a;){if(r>=s)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in uc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.substring(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.substring(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.substring(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.substring(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function s(n,t,r){return e(n,C.X.toString(),t,r)}function l(n,t,e){var r=x.get(t.substring(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{ec=zt;var t=new ec;return t._=n,r(t)}finally{ec=Date}}var r=t(n);return e.parse=function(n){try{ec=zt;var t=r.parse(n);return t&&t._}finally{ec=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ee;var x=Xo.map(),M=jt(v),_=Ht(v),b=jt(d),w=Ht(d),S=jt(m),k=Ht(m),E=jt(y),A=Ht(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Ut(n.getDate(),t,2)},e:function(n,t){return Ut(n.getDate(),t,2)},H:function(n,t){return Ut(n.getHours(),t,2)},I:function(n,t){return Ut(n.getHours()%12||12,t,2)},j:function(n,t){return Ut(1+tc.dayOfYear(n),t,3)},L:function(n,t){return Ut(n.getMilliseconds(),t,3)},m:function(n,t){return Ut(n.getMonth()+1,t,2)},M:function(n,t){return Ut(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Ut(n.getSeconds(),t,2)},U:function(n,t){return Ut(tc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Ut(tc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Ut(n.getFullYear()%100,t,2)},Y:function(n,t){return Ut(n.getFullYear()%1e4,t,4)},Z:ne,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Bt,e:Bt,H:Jt,I:Jt,j:Wt,L:Qt,m:$t,M:Gt,p:l,S:Kt,U:Ot,w:Ft,W:Yt,x:c,X:s,y:Zt,Y:It,Z:Vt,"%":te};return t}function Ut(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function jt(n){return new RegExp("^(?:"+n.map(Xo.requote).join("|")+")","i")}function Ht(n){for(var t=new u,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Ft(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Ot(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.U=+r[0],e+r[0].length):-1}function Yt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e));return r?(n.W=+r[0],e+r[0].length):-1}function It(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Zt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.y=Xt(+r[0]),e+r[0].length):-1}function Vt(n,t,e){return/^[+-]\d{4}$/.test(t=t.substring(e,e+5))?(n.Z=+t,e+5):-1}function Xt(n){return n+(n>68?1900:2e3)}function $t(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Bt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function Wt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function Jt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function Gt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function Kt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function Qt(n,t,e){ic.lastIndex=0;var r=ic.exec(t.substring(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ne(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=~~(oa(t)/60),u=oa(t)%60;return e+Ut(r,"0",2)+Ut(u,"0",2)}function te(n,t,e){oc.lastIndex=0;var r=oc.exec(t.substring(e,e+1));return r?e+r[0].length:-1}function ee(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function re(){}function ue(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function ie(n,t){n&&lc.hasOwnProperty(n.type)&&lc[n.type](n,t)}function oe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function ae(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)oe(n[e],t,1);t.polygonEnd()}function ce(){function n(n,t){n*=Na,t=t*Na/2+Sa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),s=Math.sin(t),l=i*s,f=u*c+l*Math.cos(a),h=l*o*Math.sin(a);hc.add(Math.atan2(h,f)),r=n,u=c,i=s}var t,e,r,u,i;gc.point=function(o,a){gc.point=n,r=(t=o)*Na,u=Math.cos(a=(e=a)*Na/2+Sa/4),i=Math.sin(a)},gc.lineEnd=function(){n(t,e)}}function se(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function le(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function fe(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function they(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ge(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function pe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function ve(n){return[Math.atan2(n[1],n[0]),X(n[2])]}function de(n,t){return oa(n[0]-t[0])<Aa&&oa(n[1]-t[1])<Aa}function me(n,t){n*=Na;var e=Math.cos(t*=Na);ye(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function ye(n,t,e){++pc,dc+=(n-dc)/pc,mc+=(t-mc)/pc,yc+=(e-yc)/pc}function xe(){function n(n,u){n*=Na;var i=Math.cos(u*=Na),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),s=Math.atan2(Math.sqrt((s=e*c-r*a)*s+(s=r*o-t*c)*s+(s=t*a-e*o)*s),t*o+e*a+r*c);vc+=s,xc+=s*(t+(t=o)),Mc+=s*(e+(e=a)),_c+=s*(r+(r=c)),ye(t,e,r)}var t,e,r;kc.point=function(u,i){u*=Na;var o=Math.cos(i*=Na);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),kc.point=n,ye(t,e,r)}}function Me(){kc.point=me}function _e(){function n(n,t){n*=Na;var e=Math.cos(t*=Na),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),s=u*c-i*a,l=i*o-r*c,f=r*a-u*o,h=Math.sqrt(s*s+l*l+f*f),g=r*o+u*a+i*c,p=h&&-V(g)/h,v=Math.atan2(h,g);bc+=p*s,wc+=p*l,Sc+=p*f,vc+=v,xc+=v*(r+(r=o)),Mc+=v*(u+(u=a)),_c+=v*(i+(i=c)),ye(r,u,i)}var t,e,r,u,i;kc.point=function(o,a){t=o,e=a,kc.point=n,o*=Na;var c=Math.cos(a*=Na);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),ye(r,u,i)},kc.lineEnd=function(){n(t,e),kc.lineEnd=Me,kc.point=me}}function be(){return!0}function we(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(de(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ke(e,n,null,!0),s=new ke(e,null,c,!1);c.o=s,i.push(c),o.push(s),c=new ke(r,n,null,!1),s=new ke(r,null,c,!0),c.o=s,i.push(c),o.push(s)}}),o.sort(t),Se(i),Se(o),i.length){for(var a=0,c=e,s=o.length;s>a;++a)o[a].e=c=!c;for(var l,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;l=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,s=l.length;s>a;++a)u.point((f=l[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){l=g.p.z;for(var a=l.length-1;a>=0;--a)u.point((f=l[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,l=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Se(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ke(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ee(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function s(){y.point=o,d.lineEnd()}function l(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){l(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r){if(1&t){n=e[0];var u,r=n.length-1,o=-1;for(i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);return i.lineEnd(),void 0}r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Ae))}}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:s,polygonStart:function(){y.point=l,y.lineStart=f,y.lineEnd=h,g=[],p=[],i.polygonStart()},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=s,g=Xo.merge(g);var n=Le(m,p);g.length?we(g,Ne,n,e,i):n&&(i.lineStart(),e(null,null,1,i),i.lineEnd()),i.polygonEnd(),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=Ce(),M=t(x);return y}}function Ae(n){return n.length>1}function Ce(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:g,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ne(n,t){return((n=n.x)[0]<0?n[1]-Ea-Aa:Ea-n[1])-((t=t.x)[0]<0?t[1]-Ea-Aa:Ea-t[1])}function Le(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;hc.reset();for(var a=0,c=t.length;c>a;++a){var s=t[a],l=s.length;if(l)for(var f=s[0],h=f[0],g=f[1]/2+Sa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===l&&(d=0),n=s[d];var m=n[0],y=n[1]/2+Sa/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Sa,k=p*x;if(hc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*ka:_,S^h>=e^m>=e){var E=fe(se(f),se(n));pe(E);var A=fe(u,E);pe(A);var C=(S^_>=0?-1:1)*X(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Aa>i||Aa>i&&0>hc)^1&o}function Te(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Sa:-Sa,c=oa(i-e);oa(c-Sa)<Aa?(n.point(e,r=(r+o)/2>0?Ea:-Ea),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Sa&&(oa(e-u)<Aa&&(e-=u*Aa),oa(i-a)<Aa&&(i-=a*Aa),r=qe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function qe(n,t,e,r){var u,i,o=Math.sin(n-e);return oa(o)>Aa?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function ze(n,t,e,r){var u;if(null==n)u=e*Ea,r.point(-Sa,u),r.point(0,u),r.point(Sa,u),r.point(Sa,0),r.point(Sa,-u),r.point(0,-u),r.point(-Sa,-u),r.point(-Sa,0),r.point(-Sa,u);else if(oa(n[0]-t[0])>Aa){var i=n[0]<t[0]?Sa:-Sa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Re(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,s,l;return{lineStart:function(){s=c=!1,l=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Sa:-Sa),h):0;if(!e&&(s=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(de(e,g)||de(p,g))&&(p[0]+=Aa,p[1]+=Aa,v=t(p[0],p[1]))),v!==c)l=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(l=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&de(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return l|(s&&c)<<1}}}function r(n,t,e){var r=se(n),u=se(t),o=[1,0,0],a=fe(r,u),c=le(a,a),s=a[0],l=c-s*s;if(!l)return!e&&n;var f=i*c/l,h=-i*s/l,g=fe(o,a),p=ge(o,f),v=ge(a,h);they(p,v);var d=g,m=le(p,d),y=le(d,d),x=m*m-y*(le(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ge(d,(-m-M)/y);if(they(_,p),_=ve(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=oa(A-Sa)<Aa,N=C||Aa>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(oa(_[0]-w)<Aa?k:E):k<=_[1]&&_[1]<=E:A>Sa^(w<=_[0]&&_[0]<=S)){var L=ge(d,(-m+M)/y);return they(L,p),[_,ve(L)]}}}function u(t,e){var r=o?n:Sa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=oa(i)>Aa,c=cr(n,6*Na);return Ee(t,e,c,o?[0,-n]:[-Sa,n-Sa])}function De(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,s=o.y,l=a.x,f=a.y,h=0,g=1,p=l-c,v=f-s;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-s,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-s,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:s+h*v}),1>g&&(u.b={x:c+g*p,y:s+g*v}),u}}}}}}function Pe(n,t,e,r){function u(r,u){return oa(r[0]-n)<Aa?u>0?0:3:oa(r[0]-e)<Aa?u>0?2:1:oa(r[1]-t)<Aa?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,s=a[0];c>o;++o)i=a[o],s[1]<=r?i[1]>r&&Z(s,i,n)>0&&++t:i[1]<=r&&Z(s,i,n)<0&&--t,s=i;return 0!==t}function s(i,a,c,s){var l=0,f=0;if(null==i||(l=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do s.point(0===l||3===l?n:e,l>1?r:t);while((l=(l+c+4)%4)!==f)}else s.point(a[0],a[1])}function l(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){l(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Ac,Math.min(Ac,n)),t=Math.max(-Ac,Math.min(Ac,t));var e=l(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=Ce(),C=De(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Xo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),s(null,null,1,a),a.lineEnd()),u&&we(v,i,t,s,a),a.polygonEnd()),v=d=m=null}};return N}}function Ue(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function je(n){var t=0,e=Sa/3,r=nr(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Sa/180,e=n[1]*Sa/180):[180*(t/Sa),180*(e/Sa)]},u}function They(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,X((i-(n*n+e*e)*u*u)/(2*u))]},e}function Fe(){function n(n,t){Nc+=u*n-r*t,r=n,u=t}var t,e,r,u;Rc.point=function(i,o){Rc.point=n,t=r=i,e=u=o},Rc.lineEnd=function(){n(t,e)}}function Oe(n,t){Lc>n&&(Lc=n),n>qc&&(qc=n),Tc>t&&(Tc=t),t>zc&&(zc=t)}function Ye(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Ie(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Ie(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Ie(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Ze(n,t){dc+=n,mc+=t,++yc}function Ve(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);xc+=o*(t+n)/2,Mc+=o*(e+r)/2,_c+=o,Ze(t=n,e=r)}var t,e;Pc.point=function(r,u){Pc.point=n,Ze(t=r,e=u)}}function Xe(){Pc.point=Ze}function $e(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);xc+=o*(r+n)/2,Mc+=o*(u+t)/2,_c+=o,o=u*n-r*t,bc+=o*(r+n),wc+=o*(u+t),Sc+=3*o,Ze(r=n,u=t)}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,Ze(t=r=i,e=u=o)},Pc.lineEnd=function(){n(t,e)}}function Be(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,ka)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:g};return a}function We(n){function t(n){return(a?r:e)(n)}function e(t){return Ke(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=se([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=s,S.lineEnd=l}function s(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function l(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,s,l,f,h,g,p,v,d,m){var y=l-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=s+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=oa(oa(w)-1)<Aa||oa(r-h)<Aa?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],L=C-t,T=N-e,q=x*L-y*T;(q*q/M>i||oa((y*L+x*T)/M-.5)>.3||o>a*g+c*p+s*v)&&(u(t,e,r,a,c,s,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,l,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Na),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function Je(n){var t=We(function(t,e){return n([t*La,e*La])});return function(n){return tr(t(n))}}function Ge(n){this.stream=n}function Ke(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function Qe(n){return nr(function(){return n})()}function nr(n){function t(n){return n=a(n[0]*Na,n[1]*Na),[n[0]*h+c,s-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(s-n[1])/h),n&&[n[0]*La,n[1]*La]}function r(){a=Ue(o=ur(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,s=p+n[1]*h,u()}function u(){return l&&(l.valid=!1,l=null),t}var i,o,a,c,s,l,f=We(function(n,t){return n=i(n,t),[n[0]*h+c,s-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Ec,_=bt,b=null,w=null;return t.stream=function(n){return l&&(l.valid=!1),l=tr(M(o,f(_(n)))),l.valid=!0,l},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Ec):Re((b=+n)*Na),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Pe(n[0][0],n[0][1],n[1][0],n[1][1]):bt,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Na,d=n[1]%360*Na,r()):[v*La,d*La]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Na,y=n[1]%360*Na,x=n.length>2?n[2]%360*Na:0,r()):[m*La,y*La,x*La]},Xo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function tr(n){return Ke(n,function(t,e){n.point(t*Na,e*Na)})}function er(n,t){return[n,t]}function rr(n,t){return[n>Sa?n-ka:-Sa>n?n+ka:n,t]}function ur(n,t,e){return n?t||e?Ue(or(n),ar(t,e)):or(n):t||e?ar(t,e):rr}function ir(n){return function(t,e){return t+=n,[t>Sa?t-ka:-Sa>t?t+ka:t,e]}}function or(n){var t=ir(n);return t.invert=ir(-n),t}function ar(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*r+a*u;return[Math.atan2(c*i-l*o,a*r-s*u),X(l*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,s=Math.sin(t),l=s*i-c*o;return[Math.atan2(c*i+s*o,a*r+l*u),X(l*r-a*u)]},e}function cr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=sr(e,u),i=sr(e,i),(o>0?i>u:u>i)&&(u+=o*ka)):(u=n+o*ka,i=n-.5*c);for(var s,l=u;o>0?l>i:i>l;l-=c)a.point((s=ve([e,-r*Math.cos(l),-r*Math.sin(l)]))[0],s[1])}}function sr(n,t){var e=se(t);e[0]-=n,pe(e);var r=V(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Aa)%(2*Math.PI)}function lr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function fr(n,t,e){var r=Xo.range(n,t-Aa,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function hr(n){return n.source}function gr(n){return n.target}function pr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),s=u*Math.sin(n),l=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(J(r-t)+u*o*J(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*l,u=e*s+t*f,o=e*i+t*a;return[Math.atan2(u,r)*La,Math.atan2(o,Math.sqrt(r*r+u*u))*La]}:function(){return[n*La,t*La]};return p.distance=h,p}function vr(){function n(n,u){var i=Math.sin(u*=Na),o=Math.cos(u),a=oa((n*=Na)-t),c=Math.cos(a);Uc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;jc.point=function(u,i){t=u*Na,e=Math.sin(i*=Na),r=Math.cos(i),jc.point=n},jc.lineEnd=function(){jc.point=jc.lineEnd=g}}function dr(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function mr(n,t){function e(n,t){var e=oa(oa(t)-Ea)<Aa?0:o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Sa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=I(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ea]},e):xr}function yr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return oa(u)<Aa?er:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-I(u)*Math.sqrt(n*n+e*e)]},e)}function xr(n,t){return[n,Math.log(Math.tan(Sa/4+t/2))]}function Mr(n){var t,e=Qe(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Sa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function _r(n,t){return[Math.log(Math.tan(Sa/4+t/2)),-n]}function br(n){return n[0]}function wr(n){return n[1]}function Sr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Z(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function kr(n,t){return n[0]-t[0]||n[1]-t[1]}function Er(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Ar(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],s=e[1],l=t[1]-c,f=r[1]-s,h=(a*(c-s)-f*(u-i))/(f*o-a*l);return[u+h*o,c+h*l]}function Cr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Nr(){Jr(this),this.edge=this.site=this.circle=null}function Lr(n){var t=Jc.pop()||new Nr;return t.site=n,t}function Tr(n){Or(n),$c.remove(n),Jc.push(n),Jr(n)}function qr(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Tr(n);for(var c=i;c.circle&&oa(e-c.circle.x)<Aa&&oa(r-c.circle.cy)<Aa;)i=c.P,a.unshift(c),Tr(c),c=i;a.unshift(c),Or(c);for(var s=o;s.circle&&oa(e-s.circle.x)<Aa&&oa(r-s.circle.cy)<Aa;)o=s.N,a.push(s),Tr(s),s=o;a.push(s),Or(s);var l,f=a.length;for(l=1;f>l;++l)s=a[l],c=a[l-1],$r(s.edge,c.site,s.site,u);c=a[0],s=a[f-1],s.edge=Vr(c.site,s.site,null,u),Fr(c),Fr(s)}function zr(n){for(var t,e,r,u,i=n.x,o=n.y,a=$c._;a;)if(r=Rr(a,o)-i,r>Aa)a=a.L;else{if(u=i-Dr(a,o),!(u>Aa)){r>-Aa?(t=a.P,e=a):u>-Aa?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Lr(n);if($c.insert(t,c),t||e){if(t===e)return Or(t),e=Lr(t.site),$c.insert(c,e),c.edge=e.edge=Vr(t.site,c.site),Fr(t),Fr(e),void 0;if(!e)return c.edge=Vr(t.site,c.site),void 0;Or(t),Or(e);var s=t.site,l=s.x,f=s.y,h=n.x-l,g=n.y-f,p=e.site,v=p.x-l,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+l,y:(h*x-v*y)/m+f};$r(e.edge,s,p,M),c.edge=Vr(s,n,null,M),e.edge=Vr(n,p,null,M),Fr(t),Fr(e)}}function Rr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,s=c-t;if(!s)return a;var l=a-r,f=1/i-1/s,h=l/s;return f?(-h+Math.sqrt(h*h-2*f*(l*l/(-2*s)-c+s/2+u-i/2)))/f+r:(r+a)/2}function Dr(n,t){var e=n.N;if(e)return Rr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Pr(n){this.site=n,this.edges=[]}function Ur(n){for(var t,e,r,u,i,o,a,c,s,l,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Xc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)l=a[o].end(),r=l.x,u=l.y,s=a[++o%c].start(),t=s.x,e=s.y,(oa(r-t)>Aa||oa(u-e)>Aa)&&(a.splice(o,0,new Br(Xr(i.site,l,oa(r-f)<Aa&&p-u>Aa?{x:f,y:oa(t-f)<Aa?e:p}:oa(u-p)<Aa&&h-r>Aa?{x:oa(e-p)<Aa?t:h,y:p}:oa(r-h)<Aa&&u-g>Aa?{x:h,y:oa(t-h)<Aa?e:g}:oa(u-g)<Aa&&r-f>Aa?{x:oa(e-g)<Aa?t:f,y:g}:null),i.site,null)),++c)}function jr(n,t){return t.angle-n.angle}function Hr(){Jr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Fr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,s=r.y-a,l=i.x-o,f=i.y-a,h=2*(c*f-s*l);if(!(h>=-Ca)){var g=c*c+s*s,p=l*l+f*f,v=(f*g-s*p)/h,d=(c*p-l*g)/h,f=d+a,m=Gc.pop()||new Hr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Wc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Wc.insert(y,m),y||(Bc=m)}}}}function Or(n){var t=n.circle;t&&(t.P||(Bc=t.N),Wc.remove(t),Gc.push(t),Jr(t),n.circle=null)}function Yr(n){for(var t,e=Vc,r=De(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Ir(t,n)||!r(t)||oa(t.a.x-t.b.x)<Aa&&oa(t.a.y-t.b.y)<Aa)&&(t.a=t.b=null,e.splice(u,1))}function Ir(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],s=t[1][1],l=n.l,f=n.r,h=l.x,g=l.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=s)return}else i={x:d,y:c};e={x:d,y:s}}else{if(i){if(i.y<c)return}else i={x:d,y:s};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=s)return}else i={x:(c-u)/r,y:c};e={x:(s-u)/r,y:s}}else{if(i){if(i.y<c)return}else i={x:(s-u)/r,y:s};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Zr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Vr(n,t,e,r){var u=new Zr(n,t);return Vc.push(u),e&&$r(u,n,t,e),r&&$r(u,t,n,r),Xc[n.i].edges.push(new Br(u,n,t)),Xc[t.i].edges.push(new Br(u,t,n)),u}function Xr(n,t,e){var r=new Zr(n,null);return r.a=t,r.b=e,Vc.push(r),r}function $r(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Br(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function Wr(){this._=null}function Jr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function Gr(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function Kr(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function Qr(n){for(;n.L;)n=n.L;return n}function nu(n,t){var e,r,u,i=n.sort(tu).pop();for(Vc=[],Xc=new Array(n.length),$c=new Wr,Wc=new Wr;;)if(u=Bc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Xc[i.i]=new Pr(i),zr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;qr(u.arc)}t&&(Yr(t),Ur(t));var o={cells:Xc,edges:Vc};return $c=Wc=Vc=Xc=null,o}function tu(n,t){return t.y-n.y||t.x-n.x}function eu(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function ru(n){return n.x}function uu(n){return n.y}function iu(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function ou(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&ou(n,c[0],e,r,o,a),c[1]&&ou(n,c[1],o,r,u,a),c[2]&&ou(n,c[2],e,a,o,i),c[3]&&ou(n,c[3],o,a,u,i)}}function au(n,t){n=Xo.rgb(n),t=Xo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+vt(Math.round(e+i*n))+vt(Math.round(r+o*n))+vt(Math.round(u+a*n))}}function cu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=fu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function su(n,t){return t-=n=+n,function(e){return n+t*e}}function lu(n,t){var e,r,u,i,o,a=0,c=0,s=[],l=[];for(n+="",t+="",Qc.lastIndex=0,r=0;e=Qc.exec(t);++r)e.index&&s.push(t.substring(a,c=e.index)),l.push({i:s.length,x:e[0]}),s.push(null),a=Qc.lastIndex;for(a<t.length&&s.push(t.substring(a)),r=0,i=l.length;(e=Qc.exec(n))&&i>r;++r)if(o=l[r],o.x==e[0]){if(o.i)if(null==s[o.i+1])for(s[o.i-1]+=o.x,s.splice(o.i,1),u=r+1;i>u;++u)l[u].i--;else for(s[o.i-1]+=o.x+s[o.i+1],s.splice(o.i,2),u=r+1;i>u;++u)l[u].i-=2;else if(null==s[o.i+1])s[o.i]=o.x;else for(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1),u=r+1;i>u;++u)l[u].i--;l.splice(r,1),i--,r--}else o.x=su(parseFloat(e[0]),parseFloat(o.x));for(;i>r;)o=l.pop(),null==s[o.i+1]?s[o.i]=o.x:(s[o.i]=o.x+s[o.i+1],s.splice(o.i+1,1)),i--;return 1===s.length?null==s[0]?(o=l[0].x,function(n){return o(n)+""}):function(){return t}:function(n){for(r=0;i>r;++r)s[(o=l[r]).i]=o.x(n);return s.join("")}}function fu(n,t){for(var e,r=Xo.interpolators.length;--r>=0&&!(e=Xo.interpolators[r](n,t)););return e}function hu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(fu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function gu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function pu(n){return function(t){return 1-n(1-t)}}function vu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function du(n){return n*n}function mu(n){return n*n*n}function yu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function xu(n){return function(t){return Math.pow(t,n)}}function Mu(n){return 1-Math.cos(n*Ea)}function _u(n){return Math.pow(2,10*(n-1))}function bu(n){return 1-Math.sqrt(1-n*n)}function wu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/ka*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*ka/t)}}function Su(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function ku(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Eu(n,t){n=Xo.hcl(n),t=Xo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return rt(e+i*n,r+o*n,u+a*n)+""}}function Au(n,t){n=Xo.hsl(n),t=Xo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return nt(e+i*n,r+o*n,u+a*n)+""}}function Cu(n,t){n=Xo.lab(n),t=Xo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ot(e+i*n,r+o*n,u+a*n)+""}}function Nu(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Lu(n){var t=[n.a,n.b],e=[n.c,n.d],r=qu(t),u=Tu(t,e),i=qu(zu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*La,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*La:0}function Tu(n,t){return n[0]*t[0]+n[1]*t[1]}function qu(n){var t=Math.sqrt(Tu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function zu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ru(n,t){var e,r=[],u=[],i=Xo.transform(n),o=Xo.transform(t),a=i.translate,c=o.translate,s=i.rotate,l=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:su(a[0],c[0])},{i:3,x:su(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),s!=l?(s-l>180?l+=360:l-s>180&&(s+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:su(s,l)})):l&&r.push(r.pop()+"rotate("+l+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:su(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:su(g[0],p[0])},{i:e-2,x:su(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Du(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return(e-n)*t}}function Pu(n,t){return t=t-(n=+n)?1/(t-n):0,function(e){return Math.max(0,Math.min(1,(e-n)*t))}}function Uu(n){for(var t=n.source,e=n.target,r=Hu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function ju(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Hu(n,t){if(n===t)return n;for(var e=ju(n),r=ju(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Fu(n){n.fixed|=2}function Ou(n){n.fixed&=-7}function Yu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Iu(n){n.fixed&=-5}function Zu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Zu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var s=t*e[n.point.index];n.charge+=n.pointCharge=s,r+=s*n.point.x,u+=s*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Vu(n,t){return Xo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=Wu,n}function Xu(n){return n.children}function $u(n){return n.value}function Bu(n,t){return t.value-n.value}function Wu(n){return Xo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function Ju(n){return n.x}function Gu(n){return n.y}function Ku(n,t,e){n.y0=t,n.y=e}function Qu(n){return Xo.range(n.length)}function ni(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ti(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function ei(n){return n.reduce(ri,0)}function ri(n,t){return n+t[1]}function ui(n,t){return ii(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function ii(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function oi(n){return[Xo.min(n),Xo.max(n)]}function ai(n,t){return n.parent==t.parent?1:2}function ci(n){var t=n.children;return t&&t.length?t[0]:n._tree.thread}function si(n){var t,e=n.children;return e&&(t=e.length)?e[t-1]:n._tree.thread}function li(n,t){var e=n.children;if(e&&(u=e.length))for(var r,u,i=-1;++i<u;)t(r=li(e[i],t),n)>0&&(n=r);return n}function fi(n,t){return n.x-t.x}function hi(n,t){return t.x-n.x}function gi(n,t){return n.depth-t.depth}function pi(n,t){function e(n,r){var u=n.children;if(u&&(o=u.length))for(var i,o,a=null,c=-1;++c<o;)i=u[c],e(i,a),a=i;t(n,r)}e(n,null)}function vi(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i]._tree,t.prelim+=e,t.mod+=e,e+=t.shift+(r+=t.change)}function di(n,t,e){n=n._tree,t=t._tree;var r=e/(t.number-n.number);n.change+=r,t.change-=r,t.shift+=e,t.prelim+=e,t.mod+=e}function mi(n,t,e){return n._tree.ancestor.parent==t.parent?n._tree.ancestor:e}function yi(n,t){return n.value-t.value}function xi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Mi(n,t){n._pack_next=t,t._pack_prev=n}function _i(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function bi(n){function t(n){l=Math.min(n.x-n.r,l),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(s=e.length)){var e,r,u,i,o,a,c,s,l=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(wi),r=e[0],r.x=-r.r,r.y=0,t(r),s>1&&(u=e[1],u.x=u.r,u.y=0,t(u),s>2))for(i=e[2],Ei(r,u,i),t(i),xi(r,i),r._pack_prev=i,xi(i,u),u=r._pack_next,o=3;s>o;o++){Ei(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(_i(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!_i(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?Mi(r,u=a):Mi(r=c,u),o--):(xi(r,i),u=i,t(i))}var m=(l+f)/2,y=(h+g)/2,x=0;for(o=0;s>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Si)}}function wi(n){n._pack_next=n._pack_prev=n}function Si(n){delete n._pack_next,delete n._pack_prev}function ki(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)ki(u[i],t,e,r)}function Ei(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),s=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+s*i,e.y=n.y+c*i-s*u}else e.x=n.x+r,e.y=n.y}function Ai(n){return 1+Xo.max(n,function(n){return n.y})}function Ci(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Ni(n){var t=n.children;return t&&t.length?Ni(t[0]):n}function Li(n){var t,e=n.children;return e&&(t=e.length)?Li(e[t-1]):n}function Ti(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function qi(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function zi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ri(n){return n.rangeExtent?n.rangeExtent():zi(n.range())}function Di(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Pi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Ui(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ls}function ji(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Xo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Hi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?ji:Di,c=r?Pu:Du;return o=u(n,t,c,e),a=u(t,n,c,fu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Nu)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Ii(n,t)},i.tickFormat=function(t,e){return Zi(n,t,e)},i.nice=function(t){return Oi(n,t),u()},i.copy=function(){return Hi(n,t,e,r)},u()}function Fi(n,t){return Xo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Oi(n,t){return Pi(n,Ui(Yi(n,t)[2]))}function Yi(n,t){null==t&&(t=10);var e=zi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Ii(n,t){return Xo.range.apply(Xo,Yi(n,t))}function Zi(n,t,e){var r=Yi(n,t);return Xo.format(e?e.replace(Qa,function(n,t,e,u,i,o,a,c,s,l){return[t,e,u,i,o,a,c,s||"."+Xi(l,r),l].join("")}):",."+Vi(r[2])+"f")}function Vi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Xi(n,t){var e=Vi(t[2]);return n in fs?Math.abs(e-Vi(Math.max(Math.abs(t[0]),Math.abs(t[1]))))+ +("e"!==n):e-2*("%"===n)}function $i(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Pi(r.map(u),e?Math:gs);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=zi(r),o=[],a=n[0],c=n[1],s=Math.floor(u(a)),l=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(l-s)){if(e){for(;l>s;s++)for(var h=1;f>h;h++)o.push(i(s)*h);o.push(i(s))}else for(o.push(i(s));s++<l;)for(var h=f-1;h>0;h--)o.push(i(s)*h);for(s=0;o[s]<a;s++);for(l=o.length;o[l-1]>c;l--);o=o.slice(s,l)}return o},o.tickFormat=function(n,t){if(!arguments.length)return hs;arguments.length<2?t=hs:"function"!=typeof t&&(t=Xo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return $i(n.copy(),t,e,r)},Fi(o,n)}function Bi(n,t,e){function r(t){return n(u(t))}var u=Wi(t),i=Wi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Ii(e,n)},r.tickFormat=function(n,t){return Zi(e,n,t)},r.nice=function(n){return r.domain(Oi(e,n))},r.exponent=function(o){return arguments.length?(u=Wi(t=o),i=Wi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Bi(n.copy(),t,e)},Fi(r,n)}function Wi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ji(n,t){function e(e){return o[((i.get(e)||"range"===t.t&&i.set(e,n.push(e)))-1)%o.length]}function r(t,e){return Xo.range(n.length).map(function(n){return t+e*n})}var i,o,a;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new u;for(var o,a=-1,c=r.length;++a<c;)i.has(o=r[a])||i.set(o,n.push(o));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(o=n,a=0,t={t:"range",a:arguments},e):o},e.rangePoints=function(u,i){arguments.length<2&&(i=0);var c=u[0],s=u[1],l=(s-c)/(Math.max(1,n.length-1)+i);return o=r(n.length<2?(c+s)/2:c+l*i/2,l),a=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=(f-l)/(n.length-i+2*c);return o=r(l+h*c,h),s&&o.reverse(),a=h*(1-i),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,i,c){arguments.length<2&&(i=0),arguments.length<3&&(c=i);var s=u[1]<u[0],l=u[s-0],f=u[1-s],h=Math.floor((f-l)/(n.length-i+2*c)),g=f-l-(n.length-i)*h;return o=r(l+Math.round(g/2),h),s&&o.reverse(),a=Math.round(h*(1-i)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return zi(t.a[0])},e.copy=function(){return Ji(n,t)},e.domain(n)}function Gi(n,t){function e(){var e=0,i=t.length;for(u=[];++e<i;)u[e-1]=Xo.quantile(n,e/i);return r}function r(n){return isNaN(n=+n)?void 0:t[Xo.bisect(u,n)]}var u;return r.domain=function(t){return arguments.length?(n=t.filter(function(n){return!isNaN(n)}).sort(Xo.ascending),e()):n},r.range=function(n){return arguments.length?(t=n,e()):t},r.quantiles=function(){return u},r.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?u[e-1]:n[0],e<u.length?u[e]:n[n.length-1]]},r.copy=function(){return Gi(n,t)},e()}function Ki(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return Ki(n,t,e)},u()}function Qi(n,t){function e(e){return e>=e?t[Xo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return Qi(n,t)},e}function no(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Ii(n,t)},t.tickFormat=function(t,e){return Zi(n,t,e)},t.copy=function(){return no(n)},t}function to(n){return n.innerRadius}function eo(n){return n.outerRadius}function ro(n){return n.startAngle}function uo(n){return n.endAngle}function io(n){function t(t){function o(){s.push("M",i(n(l),a))}for(var c,s=[],l=[],f=-1,h=t.length,g=_t(e),p=_t(r);++f<h;)u.call(this,c=t[f],f)?l.push([+g.call(this,c,f),+p.call(this,c,f)]):l.length&&(o(),l=[]);return l.length&&o(),s.length?s.join(""):null}var e=br,r=wr,u=be,i=oo,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=Ms.get(n)||oo).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function oo(n){return n.join("L")}function ao(n){return oo(n)+"Z"}function co(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function lo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function fo(n,t){return n.length<4?oo(n):n[1]+po(n.slice(1,n.length-1),vo(n,t))}function ho(n,t){return n.length<3?oo(n):n[0]+po((n.push(n[0]),n),vo([n[n.length-2]].concat(n,[n[1]]),t))}function go(n,t){return n.length<3?oo(n):n[0]+po(n,vo(n,t))}function po(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return oo(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var s=2;s<t.length;s++,c++)i=n[c],a=t[s],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var l=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+l[0]+","+l[1]}return r}function vo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function mo(n){if(n.length<3)return oo(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",_o(ws,o),",",_o(ws,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),bo(c,o,a);return n.pop(),c.push("L",r),c.join("")}function yo(n){if(n.length<4)return oo(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(_o(ws,i)+","+_o(ws,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),bo(e,i,o);return e.join("")}function xo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[_o(ws,o),",",_o(ws,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),bo(t,o,a);return t.join("")}function Mo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,s=-1;++s<=e;)r=n[s],u=s/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return mo(n)}function _o(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function bo(n,t,e){n.push("C",_o(_s,t),",",_o(_s,e),",",_o(bs,t),",",_o(bs,e),",",_o(ws,t),",",_o(ws,e))}function wo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function So(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=wo(u,i);++t<e;)r[t]=(o+(o=wo(u=i,i=n[t+1])))/2;return r[t]=o,r}function ko(n){for(var t,e,r,u,i=[],o=So(n),a=-1,c=n.length-1;++a<c;)t=wo(n[a],n[a+1]),oa(t)<Aa?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Eo(n){return n.length<3?oo(n):n[0]+po(n,ko(n))}function Ao(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+ys,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Co(n){function t(t){function c(){v.push("M",a(n(m),f),l,s(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=_t(e),_=_t(u),b=e===r?function(){return g}:_t(r),w=u===i?function(){return p}:_t(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=br,r=br,u=0,i=wr,o=be,a=oo,c=a.key,s=a,l="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=Ms.get(n)||oo).key,s=a.reverse||a,l=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function No(n){return n.radius}function Lo(n){return[n.x,n.y]}function To(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+ys;return[e*Math.cos(r),e*Math.sin(r)]}}function qo(){return 64}function zo(){return"circle"}function Ro(n){var t=Math.sqrt(n/Sa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Do(n,t){return fa(n,Ns),n.id=t,n}function Po(n,t,e,r){var u=n.id;return R(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Uo(n){return null==n&&(n=""),function(){this.textContent=n}}function jo(n,t,e,r){var i=n.__transition__||(n.__transition__={active:0,count:0}),o=i[e];if(!o){var a=r.time;o=i[e]={tween:new u,time:a,ease:r.ease,delay:r.delay,duration:r.duration},++i.count,Xo.timer(function(r){function u(r){return i.active>e?s():(i.active=e,o.event&&o.event.start.call(n,l,t),o.tween.forEach(function(e,r){(r=r.call(n,l,t))&&v.push(r)}),Xo.timer(function(){return p.c=c(r||1)?be:c,1},0,a),void 0)}function c(r){if(i.active!==e)return s();for(var u=r/g,a=f(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,l,t),s()):void 0}function s(){return--i.count?delete i[e]:delete n.__transition__,1}var l=n.__data__,f=o.ease,h=o.delay,g=o.duration,p=Ja,v=[];return p.t=h+a,r>=h?u(r-h):(p.c=u,void 0)},0,a)}}function Ho(n,t){n.attr("transform",function(n){return"translate("+t(n)+",0)"})}function Fo(n,t){n.attr("transform",function(n){return"translate(0,"+t(n)+")"})}function Oo(n){return n.toISOString()}function Yo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Xo.bisect(js,u);return i==js.length?[t.year,Yi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/js[i-1]<js[i]/u?i-1:i]:[Os,Yi(n,e)[2]]}return r.invert=function(t){return Io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Io(+e+1),t).length}var i=r.domain(),o=zi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Pi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=zi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Yo(n.copy(),t,e)},Fi(r,n)}function Io(n){return new Date(n)}function Zo(n){return JSON.parse(n.responseText)}function Vo(n){var t=Wo.createRange();return t.selectNode(Wo.body),t.createContextualFragment(n.responseText)}var Xo={version:"3.4.3"};Date.now||(Date.now=function(){return+new Date});var $o=[].slice,Bo=function(n){return $o.call(n)},Wo=document,Jo=Wo.documentElement,Go=window;try{Bo(Jo.childNodes)[0].nodeType}catch(Ko){Bo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Wo.createElement("div").style.setProperty("opacity",0,"")}catch(Qo){var na=Go.Element.prototype,ta=na.setAttribute,ea=na.setAttributeNS,ra=Go.CSSStyleDeclaration.prototype,ua=ra.setProperty;na.setAttribute=function(n,t){ta.call(this,n,t+"")},na.setAttributeNS=function(n,t,e){ea.call(this,n,t,e+"")},ra.setProperty=function(n,t,e){ua.call(this,n,t+"",e)}}Xo.ascending=function(n,t){return t>n?-1:n>t?1:n>=t?0:0/0},Xo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Xo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Xo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Xo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Xo.sum=function(n,t){var e,r=0,u=n.length,i=-1;if(1===arguments.length)for(;++i<u;)isNaN(e=+n[i])||(r+=e);else for(;++i<u;)isNaN(e=+t.call(n,n[i],i))||(r+=e);return r},Xo.mean=function(t,e){var r,u=t.length,i=0,o=-1,a=0;if(1===arguments.length)for(;++o<u;)n(r=t[o])&&(i+=(r-i)/++a);else for(;++o<u;)n(r=e.call(t,t[o],o))&&(i+=(r-i)/++a);return a?i:void 0},Xo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Xo.median=function(t,e){return arguments.length>1&&(t=t.map(e)),t=t.filter(n),t.length?Xo.quantile(t.sort(Xo.ascending),.5):void 0},Xo.bisector=function(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n.call(t,t[i],i)<e?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;e<n.call(t,t[i],i)?u=i:r=i+1}return r}}};var ia=Xo.bisector(function(n){return n});Xo.bisectLeft=ia.left,Xo.bisect=Xo.bisectRight=ia.right,Xo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Xo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Xo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Xo.zip=function(){if(!(u=arguments.length))return[];for(var n=-1,e=Xo.min(arguments,t),r=new Array(e);++n<e;)for(var u,i=-1,o=r[n]=new Array(u);++i<u;)o[i]=arguments[i][n];return r},Xo.transpose=function(n){return Xo.zip.apply(Xo,n)},Xo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Xo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Xo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Xo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var oa=Math.abs;Xo.range=function(n,t,r){if(arguments.length<3&&(r=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/r)throw new Error("infinite range");var u,i=[],o=e(oa(r)),a=-1;if(n*=o,t*=o,r*=o,0>r)for(;(u=n+r*++a)>t;)i.push(u/o);else for(;(u=n+r*++a)<t;)i.push(u/o);return i},Xo.map=function(n){var t=new u;if(n instanceof u)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t},r(u,{has:i,get:function(n){return this[aa+n]},set:function(n,t){return this[aa+n]=t},remove:o,keys:a,values:function(){var n=[];return this.forEach(function(t,e){n.push(e)}),n},entries:function(){var n=[];return this.forEach(function(t,e){n.push({key:t,value:e})}),n},size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1),this[t])}});var aa="\x00",ca=aa.charCodeAt(0);Xo.nest=function(){function n(t,a,c){if(c>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,l,f,h,g=-1,p=a.length,v=o[c++],d=new u;++g<p;)(h=d.get(s=v(l=a[g])))?h.push(l):d.set(s,[l]);return t?(l=t(),f=function(e,r){l.set(e,n(t,r,c))}):(l={},f=function(e,r){l[e]=n(t,r,c)}),d.forEach(f),l}function t(n,e){if(e>=o.length)return n;var r=[],u=a[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(Xo.map,e,0),0)},i.key=function(n){return o.push(n),i},i.sortKeys=function(n){return a[o.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},Xo.set=function(n){var t=new l;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},r(l,{has:i,add:function(n){return this[aa+n]=!0,n},remove:function(n){return n=aa+n,n in this&&delete this[n]},values:a,size:c,empty:s,forEach:function(n){for(var t in this)t.charCodeAt(0)===ca&&n.call(this,t.substring(1))}}),Xo.behavior={},Xo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=f(n,t,t[e]);return n};var sa=["webkit","ms","moz","Moz","o","O"];Xo.dispatch=function(){for(var n=new p,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=v(n);return n},p.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.substring(e+1),n=n.substring(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Xo.event=null,Xo.requote=function(n){return n.replace(la,"\\$&")};var la=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,fa={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},ha=function(n,t){return t.querySelector(n)},ga=function(n,t){return t.querySelectorAll(n)},pa=Jo[h(Jo,"matchesSelector")],va=function(n,t){return pa.call(n,t)};"function"==typeof Sizzle&&(ha=function(n,t){return Sizzle(n,t)[0]||null},ga=Sizzle,va=Sizzle.matchesSelector),Xo.selection=function(){return xa};var da=Xo.selection.prototype=[];da.select=function(n){var t,e,r,u,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,s=r.length;++c<s;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return x(i)},da.selectAll=function(n){var t,e,r=[];n=_(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Bo(n.call(e,e.__data__,a,u))),t.parentNode=e);return x(r)};var ma={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Xo.ns={prefix:ma,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.substring(0,t),n=n.substring(t+1)),ma.hasOwnProperty(e)?{space:ma[e],local:n}:n}},da.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Xo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(b(t,n[t]));return this}return this.each(b(n,t))},da.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=k(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!S(n[u]).test(t))return!1;return!0}for(t in n)this.each(E(t,n[t]));return this}return this.each(E(n,t))},da.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(C(e,n[e],t));return this}if(2>r)return Go.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(C(n,t,e))},da.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(N(t,n[t]));return this}return this.each(N(n,t))},da.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},da.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},da.append=function(n){return n=L(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},da.insert=function(n,t){return n=L(n),t=M(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},da.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},da.data=function(n,t){function e(n,e){var r,i,o,a=n.length,f=e.length,h=Math.min(a,f),g=new Array(f),p=new Array(f),v=new Array(a);if(t){var d,m=new u,y=new u,x=[];for(r=-1;++r<a;)d=t.call(i=n[r],i.__data__,r),m.has(d)?v[r]=i:m.set(d,i),x.push(d);for(r=-1;++r<f;)d=t.call(e,o=e[r],r),(i=m.get(d))?(g[r]=i,i.__data__=o):y.has(d)||(p[r]=T(o)),y.set(d,o),m.remove(d);for(r=-1;++r<a;)m.has(x[r])&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],o=e[r],i?(i.__data__=o,g[r]=i):p[r]=T(o);for(;f>r;++r)p[r]=T(e[r]);for(;a>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),s.push(g),l.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(n=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(n[o]=i.__data__);return n}var c=D([]),s=x([]),l=x([]);if("function"==typeof n)for(;++o<a;)e(r=this[o],n.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],n);return s.enter=function(){return c},s.exit=function(){return l},s},da.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},da.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return x(u)},da.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},da.sort=function(n){n=z.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},da.each=function(n){return R(this,function(t,e,r){n.call(t,t.__data__,e,r)})},da.call=function(n){var t=Bo(arguments);return n.apply(t[0]=this,t),this},da.empty=function(){return!this.node()},da.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},da.size=function(){var n=0;return this.each(function(){++n}),n};var ya=[];Xo.selection.enter=D,Xo.selection.enter.prototype=ya,ya.append=da.append,ya.empty=da.empty,ya.node=da.node,ya.call=da.call,ya.size=da.size,ya.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var s=-1,l=u.length;++s<l;)(i=u[s])?(t.push(r[s]=e=n.call(u.parentNode,i.__data__,s,a)),e.__data__=i.__data__):t.push(null)}return x(o)},ya.insert=function(n,t){return arguments.length<2&&(t=P(this)),da.insert.call(this,n,t)},da.transition=function(){for(var n,t,e=ks||++Ls,r=[],u=Es||{time:Date.now(),ease:yu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,s=a.length;++c<s;)(t=a[c])&&jo(t,c,e,u),n.push(t)}return Do(r,e)},da.interrupt=function(){return this.each(U)},Xo.select=function(n){var t=["string"==typeof n?ha(n,Wo):n];return t.parentNode=Jo,x([t])},Xo.selectAll=function(n){var t=Bo("string"==typeof n?ga(n,Wo):n);return t.parentNode=Jo,x([t])};var xa=Xo.select(Jo);da.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(j(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(j(n,t,e))};var Ma=Xo.map({mouseenter:"mouseover",mouseleave:"mouseout"});Ma.forEach(function(n){"on"+n in Wo&&Ma.remove(n)});var _a="onselectstart"in Wo?null:h(Jo.style,"userSelect"),ba=0;Xo.mouse=function(n){return Y(n,m())};var wa=/WebKit/.test(Go.navigator.userAgent)?-1:0;Xo.touches=function(n,t){return arguments.length<2&&(t=m().touches),t?Bo(t).map(function(t){var e=Y(n,t);return e.identifier=t.identifier,e}):[]},Xo.behavior.drag=function(){function n(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function t(){return Xo.event.changedTouches[0].identifier}function e(n,t){return Xo.touches(n).filter(function(n){return n.identifier===t})[0]}function r(n,t,e,r){return function(){function o(){var n=t(l,g),e=n[0]-v[0],r=n[1]-v[1];d|=e|r,v=n,f({type:"drag",x:n[0]+c[0],y:n[1]+c[1],dx:e,dy:r})}function a(){m.on(e+"."+p,null).on(r+"."+p,null),y(d&&Xo.event.target===h),f({type:"dragend"})}var c,s=this,l=s.parentNode,f=u.of(s,arguments),h=Xo.event.target,g=n(),p=null==g?"drag":"drag-"+g,v=t(l,g),d=0,m=Xo.select(Go).on(e+"."+p,o).on(r+"."+p,a),y=O();i?(c=i.apply(s,arguments),c=[c.x-v[0],c.y-v[1]]):c=[0,0],f({type:"dragstart"})}}var u=y(n,"drag","dragstart","dragend"),i=null,o=r(g,Xo.mouse,"mousemove","mouseup"),a=r(t,e,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},Xo.rebind(n,u,"on")};var Sa=Math.PI,ka=2*Sa,Ea=Sa/2,Aa=1e-6,Ca=Aa*Aa,Na=Sa/180,La=180/Sa,Ta=Math.SQRT2,qa=2,za=4;Xo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=B(v),o=i/(qa*h)*(e*W(Ta*t+v)-$(v));return[r+o*s,u+o*l,i*e/B(Ta*t+v)]}return[r+n*s,u+n*l,i*Math.exp(Ta*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],s=o-r,l=a-u,f=s*s+l*l,h=Math.sqrt(f),g=(c*c-i*i+za*f)/(2*i*qa*h),p=(c*c-i*i-za*f)/(2*c*qa*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ta;return e.duration=1e3*y,e},Xo.behavior.zoom=function(){function n(n){n.on(A,s).on(Pa+".zoom",f).on(C,h).on("dblclick.zoom",g).on(L,l)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){_&&_.domain(M.range().map(function(n){return(n-S.x)/S.k}).map(M.invert)),w&&w.domain(b.range().map(function(n){return(n-S.y)/S.k}).map(b.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function s(){function n(){l=1,u(Xo.mouse(r),g),a(i)}function e(){f.on(C,Go===r?h:null).on(N,null),p(l&&Xo.event.target===s),c(i)}var r=this,i=T.of(r,arguments),s=Xo.event.target,l=0,f=Xo.select(Go).on(C,n).on(N,e),g=t(Xo.mouse(r)),p=O();U.call(r),o(i)}function l(){function n(){var n=Xo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){for(var t=Xo.event.changedTouches,e=0,i=t.length;i>e;++e)v[t[e].identifier]=null;var o=n(),c=Date.now();if(1===o.length){if(500>c-x){var s=o[0],l=v[s.identifier];r(2*S.k),u(s,l),d(),a(p)}x=c}else if(o.length>1){var s=o[0],f=o[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function i(){for(var n,t,e,i,o=Xo.touches(g),c=0,s=o.length;s>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var l=(l=e[0]-n[0])*l+(l=e[1]-n[1])*l,f=m&&Math.sqrt(l/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}x=null,u(n,t),a(p)}function f(){if(Xo.event.touches.length){for(var t=Xo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}b.on(M,null).on(_,null),w.on(A,s).on(L,l),k(),c(p)}var h,g=this,p=T.of(g,arguments),v={},m=0,y=Xo.event.changedTouches[0].identifier,M="touchmove.zoom-"+y,_="touchend.zoom-"+y,b=Xo.select(Go).on(M,i).on(_,f),w=Xo.select(g).on(A,null).on(L,e),k=O();U.call(g),e(),o(p)}function f(){var n=T.of(this,arguments);m?clearTimeout(m):(U.call(this),o(n)),m=setTimeout(function(){m=null,c(n)},50),d();var e=v||Xo.mouse(this);p||(p=t(e)),r(Math.pow(2,.002*Ra())*S.k),u(e,p),a(n)}function h(){p=null}function g(){var n=T.of(this,arguments),e=Xo.mouse(this),i=t(e),s=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Xo.event.shiftKey?Math.ceil(s)-1:Math.floor(s)+1)),u(e,i),a(n),c(n)}var p,v,m,x,M,_,b,w,S={x:0,y:0,k:1},k=[960,500],E=Da,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",L="touchstart.zoom",T=y(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=T.of(this,arguments),t=S;ks?Xo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Xo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Da:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(_=t,M=t.copy(),S={x:0,y:0,k:1},n):_},n.y=function(t){return arguments.length?(w=t,b=t.copy(),S={x:0,y:0,k:1},n):w},Xo.rebind(n,T,"on")};var Ra,Da=[0,1/0],Pa="onwheel"in Wo?(Ra=function(){return-Xo.event.deltaY*(Xo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Wo?(Ra=function(){return Xo.event.wheelDelta},"mousewheel"):(Ra=function(){return-Xo.event.detail},"MozMousePixelScroll");G.prototype.toString=function(){return this.rgb()+""},Xo.hsl=function(n,t,e){return 1===arguments.length?n instanceof Q?K(n.h,n.s,n.l):dt(""+n,mt,K):K(+n,+t,+e)};var Ua=Q.prototype=new G;Ua.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,this.l/n)},Ua.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),K(this.h,this.s,n*this.l)},Ua.rgb=function(){return nt(this.h,this.s,this.l)},Xo.hcl=function(n,t,e){return 1===arguments.length?n instanceof et?tt(n.h,n.c,n.l):n instanceof it?at(n.l,n.a,n.b):at((n=yt((n=Xo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):tt(+n,+t,+e)};var ja=et.prototype=new G;ja.brighter=function(n){return tt(this.h,this.c,Math.min(100,this.l+Ha*(arguments.length?n:1)))},ja.darker=function(n){return tt(this.h,this.c,Math.max(0,this.l-Ha*(arguments.length?n:1)))},ja.rgb=function(){return rt(this.h,this.c,this.l).rgb()},Xo.lab=function(n,t,e){return 1===arguments.length?n instanceof it?ut(n.l,n.a,n.b):n instanceof et?rt(n.l,n.c,n.h):yt((n=Xo.rgb(n)).r,n.g,n.b):ut(+n,+t,+e)};var Ha=18,Fa=.95047,Oa=1,Ya=1.08883,Ia=it.prototype=new G;Ia.brighter=function(n){return ut(Math.min(100,this.l+Ha*(arguments.length?n:1)),this.a,this.b)},Ia.darker=function(n){return ut(Math.max(0,this.l-Ha*(arguments.length?n:1)),this.a,this.b)},Ia.rgb=function(){return ot(this.l,this.a,this.b)},Xo.rgb=function(n,t,e){return 1===arguments.length?n instanceof pt?gt(n.r,n.g,n.b):dt(""+n,gt,nt):gt(~~n,~~t,~~e)};var Za=pt.prototype=new G;Za.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),gt(Math.min(255,~~(t/n)),Math.min(255,~~(e/n)),Math.min(255,~~(r/n)))):gt(u,u,u)},Za.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),gt(~~(n*this.r),~~(n*this.g),~~(n*this.b))},Za.hsl=function(){return mt(this.r,this.g,this.b)},Za.toString=function(){return"#"+vt(this.r)+vt(this.g)+vt(this.b)};var Va=Xo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Va.forEach(function(n,t){Va.set(n,ft(t))}),Xo.functor=_t,Xo.xhr=wt(bt),Xo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=St(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(l>=s)return o;if(u)return u=!1,i;var t=l;if(34===n.charCodeAt(t)){for(var e=t;e++<s;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}l=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++l):10===r&&(u=!0),n.substring(t+1,e).replace(/""/g,'"')}for(;s>l;){var r=n.charCodeAt(l++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(l)&&(++l,++a);else if(r!==c)continue;return n.substring(t,l-a)}return n.substring(t)}for(var r,u,i={},o={},a=[],s=n.length,l=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();(!t||(h=t(h,f++)))&&a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new l,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Xo.csv=Xo.dsv(",","text/csv"),Xo.tsv=Xo.dsv("	","text/tab-separated-values");var Xa,$a,Ba,Wa,Ja,Ga=Go[h(Go,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Xo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};$a?$a.n=i:Xa=i,$a=i,Ba||(Wa=clearTimeout(Wa),Ba=1,Ga(Et))},Xo.timer.flush=function(){At(),Ct()},Xo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var Ka=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Lt);Xo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Xo.round(n,Nt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((0>=e?e+1:e-1)/3)))),Ka[8+e/3]};var Qa=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,nc=Xo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Xo.round(n,Nt(n,t))).toFixed(Math.max(0,Math.min(20,Nt(n*(1+1e-15),t))))}}),tc=Xo.time={},ec=Date;zt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){rc.setUTCDate.apply(this._,arguments)},setDay:function(){rc.setUTCDay.apply(this._,arguments)},setFullYear:function(){rc.setUTCFullYear.apply(this._,arguments)},setHours:function(){rc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){rc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){rc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){rc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){rc.setUTCSeconds.apply(this._,arguments)},setTime:function(){rc.setTime.apply(this._,arguments)}};var rc=Date.prototype;tc.year=Rt(function(n){return n=tc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),tc.years=tc.year.range,tc.years.utc=tc.year.utc.range,tc.day=Rt(function(n){var t=new ec(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),tc.days=tc.day.range,tc.days.utc=tc.day.utc.range,tc.dayOfYear=function(n){var t=tc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=tc[n]=Rt(function(n){return(n=tc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});tc[n+"s"]=e.range,tc[n+"s"].utc=e.utc.range,tc[n+"OfYear"]=function(n){var e=tc.year(n).getDay();return Math.floor((tc.dayOfYear(n)+(e+t)%7)/7)}}),tc.week=tc.sunday,tc.weeks=tc.sunday.range,tc.weeks.utc=tc.sunday.utc.range,tc.weekOfYear=tc.sundayOfYear;var uc={"-":"",_:" ",0:"0"},ic=/^\s*\d+/,oc=/^%/;Xo.locale=function(n){return{numberFormat:Tt(n),timeFormat:Pt(n)}};var ac=Xo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Xo.format=ac.numberFormat,Xo.geo={},re.prototype={s:0,t:0,add:function(n){ue(n,this.t,cc),ue(cc.s,this.s,this),this.s?this.t+=cc.t:this.s=cc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cc=new re;Xo.geo.stream=function(n,t){n&&sc.hasOwnProperty(n.type)?sc[n.type](n,t):ie(n,t)};var sc={Feature:function(n,t){ie(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)ie(e[r].geometry,t)}},lc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){oe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)oe(e[r],t,0)},Polygon:function(n,t){ae(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)ae(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)ie(e[r],t)}};Xo.geo.area=function(n){return fc=0,Xo.geo.stream(n,gc),fc};var fc,hc=new re,gc={sphere:function(){fc+=4*Sa},point:g,lineStart:g,lineEnd:g,polygonStart:function(){hc.reset(),gc.lineStart=ce},polygonEnd:function(){var n=2*hc;fc+=0>n?4*Sa+n:n,gc.lineStart=gc.lineEnd=gc.point=g}};Xo.geo.bounds=function(){function n(n,t){x.push(M=[l=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=se([t*Na,e*Na]);if(m){var u=fe(m,r),i=[u[1],-u[0],0],o=fe(i,u);pe(o),o=ve(o);var c=t-p,s=c>0?1:-1,v=o[0]*La*s,d=oa(c)>180;if(d^(v>s*p&&s*t>v)){var y=o[1]*La;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>s*p&&s*t>v)){var y=-o[1]*La;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t):h>=l?(l>t&&(l=t),t>h&&(h=t)):t>p?a(l,t)>a(l,h)&&(h=t):a(t,h)>a(l,h)&&(l=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=l,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=oa(r)>180?r+(r>0?360:-360):r}else v=n,d=e;gc.point(n,e),t(n,e)}function i(){gc.lineStart()}function o(){u(v,d),gc.lineEnd(),oa(y)>Aa&&(l=-(h=180)),M[0]=l,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function s(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var l,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,gc.polygonStart()},polygonEnd:function(){gc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>hc?(l=-(h=180),f=-(g=90)):y>Aa?g=90:-Aa>y&&(f=-90),M[0]=l,M[1]=h}};return function(n){g=h=-(l=f=1/0),x=[],Xo.geo.stream(n,_);var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],s(e[0],u)||s(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,l=e[0],h=u[1])}return x=M=null,1/0===l||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[l,f],[h,g]]}}(),Xo.geo.centroid=function(n){pc=vc=dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,kc);var t=bc,e=wc,r=Sc,u=t*t+e*e+r*r;return Ca>u&&(t=xc,e=Mc,r=_c,Aa>vc&&(t=dc,e=mc,r=yc),u=t*t+e*e+r*r,Ca>u)?[0/0,0/0]:[Math.atan2(e,t)*La,X(r/Math.sqrt(u))*La]};var pc,vc,dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc={sphere:g,point:me,lineStart:xe,lineEnd:Me,polygonStart:function(){kc.lineStart=_e},polygonEnd:function(){kc.lineStart=xe}},Ec=Ee(be,Te,ze,[-Sa,-Sa/2]),Ac=1e9;Xo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Pe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Xo.geo.conicEqualArea=function(){return je(They)}).raw=They,Xo.geo.albers=function(){return Xo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Xo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Xo.geo.albers(),o=Xo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Xo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var s=i.scale(),l=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[l-.455*s,f-.238*s],[l+.455*s,f+.238*s]]).stream(c).point,r=o.translate([l-.307*s,f+.201*s]).clipExtent([[l-.425*s+Aa,f+.12*s+Aa],[l-.214*s-Aa,f+.234*s-Aa]]).stream(c).point,u=a.translate([l-.205*s,f+.212*s]).clipExtent([[l-.214*s+Aa,f+.166*s+Aa],[l-.115*s-Aa,f+.234*s-Aa]]).stream(c).point,n},n.scale(1070)};var Cc,Nc,Lc,Tc,qc,zc,Rc={point:g,lineStart:g,lineEnd:g,polygonStart:function(){Nc=0,Rc.lineStart=Fe},polygonEnd:function(){Rc.lineStart=Rc.lineEnd=Rc.point=g,Cc+=oa(Nc/2)}},Dc={point:Oe,lineStart:g,lineEnd:g,polygonStart:g,polygonEnd:g},Pc={point:Ze,lineStart:Ve,lineEnd:Xe,polygonStart:function(){Pc.lineStart=$e},polygonEnd:function(){Pc.point=Ze,Pc.lineStart=Ve,Pc.lineEnd=Xe}};Xo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Xo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Cc=0,Xo.geo.stream(n,u(Rc)),Cc},n.centroid=function(n){return dc=mc=yc=xc=Mc=_c=bc=wc=Sc=0,Xo.geo.stream(n,u(Pc)),Sc?[bc/Sc,wc/Sc]:_c?[xc/_c,Mc/_c]:yc?[dc/yc,mc/yc]:[0/0,0/0]},n.bounds=function(n){return qc=zc=-(Lc=Tc=1/0),Xo.geo.stream(n,u(Dc)),[[Lc,Tc],[qc,zc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||Je(n):bt,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new Ye:new Be(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Xo.geo.albersUsa()).context(null)},Xo.geo.transform=function(n){return{stream:function(t){var e=new Ge(t);for(var r in n)e[r]=n[r];return e}}},Ge.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Xo.geo.projection=Qe,Xo.geo.projectionMutator=nr,(Xo.geo.equirectangular=function(){return Qe(er)}).raw=er.invert=er,Xo.geo.rotation=function(n){function t(t){return t=n(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t}return n=ur(n[0]%360*Na,n[1]*Na,n.length>2?n[2]*Na:0),t.invert=function(t){return t=n.invert(t[0]*Na,t[1]*Na),t[0]*=La,t[1]*=La,t},t},rr.invert=er,Xo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=ur(-n[0]*Na,-n[1]*Na,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=La,n[1]*=La}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=cr((t=+r)*Na,u*Na),n):t},n.precision=function(r){return arguments.length?(e=cr(t*Na,(u=+r)*Na),n):u},n.angle(90)},Xo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Na,u=n[1]*Na,i=t[1]*Na,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),s=Math.cos(u),l=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=s*l-c*f*a)*e),c*l+s*f*a)},Xo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Xo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Xo.range(Math.ceil(s/m)*m,c,m).map(g)).concat(Xo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return oa(n%d)>Aa}).map(l)).concat(Xo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return oa(n%m)>Aa}).map(f))}var e,r,u,i,o,a,c,s,l,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(s).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],s=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),s>c&&(t=s,s=c,c=t),n.precision(y)):[[i,s],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,l=lr(a,o,90),f=fr(r,e,y),h=lr(s,c,90),g=fr(i,u,y),n):y},n.majorExtent([[-180,-90+Aa],[180,90-Aa]]).minorExtent([[-180,-80-Aa],[180,80+Aa]])},Xo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=hr,u=gr;return n.distance=function(){return Xo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Xo.geo.interpolate=function(n,t){return pr(n[0]*Na,n[1]*Na,t[0]*Na,t[1]*Na)},Xo.geo.length=function(n){return Uc=0,Xo.geo.stream(n,jc),Uc};var Uc,jc={sphere:g,point:g,lineStart:vr,lineEnd:g,polygonStart:g,polygonEnd:g},Hc=dr(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Xo.geo.azimuthalEqualArea=function(){return Qe(Hc)}).raw=Hc;var Fc=dr(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},bt);(Xo.geo.azimuthalEquidistant=function(){return Qe(Fc)}).raw=Fc,(Xo.geo.conicConformal=function(){return je(mr)}).raw=mr,(Xo.geo.conicEquidistant=function(){return je(yr)}).raw=yr;var Oc=dr(function(n){return 1/n},Math.atan);(Xo.geo.gnomonic=function(){return Qe(Oc)}).raw=Oc,xr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ea]},(Xo.geo.mercator=function(){return Mr(xr)}).raw=xr;var Yc=dr(function(){return 1},Math.asin);(Xo.geo.orthographic=function(){return Qe(Yc)}).raw=Yc;var Ic=dr(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Xo.geo.stereographic=function(){return Qe(Ic)}).raw=Ic,_r.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ea]},(Xo.geo.transverseMercator=function(){var n=Mr(_r),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[-n[1],n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},n.rotate([0,0])}).raw=_r,Xo.geom={},Xo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=_t(e),i=_t(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(kr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var s=Sr(a),l=Sr(c),f=l[0]===s[0],h=l[l.length-1]===s[s.length-1],g=[];for(t=s.length-1;t>=0;--t)g.push(n[a[s[t]][2]]);for(t=+f;t<l.length-h;++t)g.push(n[a[l[t]][2]]);return g}var e=br,r=wr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Xo.geom.polygon=function(n){return fa(n,Zc),n};var Zc=Xo.geom.polygon.prototype=[];Zc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Zc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Zc.clip=function(n){for(var t,e,r,u,i,o,a=Cr(n),c=-1,s=this.length-Cr(this),l=this[s-1];++c<s;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Er(o,l,u)?(Er(i,l,u)||n.push(Ar(i,o,l,u)),n.push(o)):Er(i,l,u)&&n.push(Ar(i,o,l,u)),i=o;a&&n.push(n[0]),l=u}return n};var Vc,Xc,$c,Bc,Wc,Jc=[],Gc=[];Pr.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(jr),t.length},Br.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Wr.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=Qr(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(Gr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Kr(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(Kr(this,e),n=e,e=n.U),e.C=!1,r.C=!0,Gr(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?Qr(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,Gr(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,Kr(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,Gr(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,Kr(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,Gr(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,Kr(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Xo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return nu(e(n),a).cells.forEach(function(e,a){var c=e.edges,s=e.site,l=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):s.x>=r&&s.x<=i&&s.y>=u&&s.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];l.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Aa)*Aa,y:Math.round(o(n,t)/Aa)*Aa,i:t}})}var r=br,u=wr,i=r,o=u,a=Kc;return n?t(n):(t.links=function(n){return nu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return nu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(jr),c=-1,s=a.length,l=a[s-1].edge,f=l.l===o?l.r:l.l;++c<s;)u=l,i=f,l=a[c].edge,f=l.l===o?l.r:l.l,r<i.i&&r<f.i&&eu(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=_t(r=n),t):r},t.y=function(n){return arguments.length?(o=_t(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?Kc:n,t):a===Kc?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===Kc?null:a&&a[1]},t)};var Kc=[[-1e6,-1e6],[1e6,1e6]];Xo.geom.delaunay=function(n){return Xo.geom.voronoi().triangles(n)},Xo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,l=n.y;if(null!=c)if(oa(c-e)+oa(l-r)<.01)s(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,s(n,f,c,l,u,i,o,a),s(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else s(n,t,e,r,u,i,o,a)}function s(n,t,e,r,u,o,a,c){var s=.5*(u+a),l=.5*(o+c),f=e>=s,h=r>=l,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=iu()),f?u=s:a=s,h?o=l:c=l,i(n,t,e,r,u,o,a,c)}var l,f,h,g,p,v,d,m,y,x=_t(a),M=_t(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)l=n[g],l.x<v&&(v=l.x),l.y<d&&(d=l.y),l.x>m&&(m=l.x),l.y>y&&(y=l.y),f.push(l.x),h.push(l.y);else for(g=0;p>g;++g){var _=+x(l=n[g],g),b=+M(l,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=iu();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){ou(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=l=null,k}var o,a=br,c=wr;return(o=arguments.length)?(a=ru,c=uu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Xo.interpolateRgb=au,Xo.interpolateObject=cu,Xo.interpolateNumber=su,Xo.interpolateString=lu;var Qc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;Xo.interpolate=fu,Xo.interpolators=[function(n,t){var e=typeof t;return("string"===e?Va.has(t)||/^(#|rgb\(|hsl\()/.test(t)?au:lu:t instanceof G?au:"object"===e?Array.isArray(t)?hu:cu:su)(n,t)}],Xo.interpolateArray=hu;var ns=function(){return bt},ts=Xo.map({linear:ns,poly:xu,quad:function(){return du},cubic:function(){return mu},sin:function(){return Mu},exp:function(){return _u},circle:function(){return bu},elastic:wu,back:Su,bounce:function(){return ku}}),es=Xo.map({"in":bt,out:pu,"in-out":vu,"out-in":function(n){return vu(pu(n))}});Xo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.substring(0,t):n,r=t>=0?n.substring(t+1):"in";return e=ts.get(e)||ns,r=es.get(r)||bt,gu(r(e.apply(null,$o.call(arguments,1))))},Xo.interpolateHcl=Eu,Xo.interpolateHsl=Au,Xo.interpolateLab=Cu,Xo.interpolateRound=Nu,Xo.transform=function(n){var t=Wo.createElementNS(Xo.ns.prefix.svg,"g");return(Xo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Lu(e?e.matrix:rs)})(n)},Lu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var rs={a:1,b:0,c:0,d:1,e:0,f:0};Xo.interpolateTransform=Ru,Xo.layout={},Xo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Uu(n[e]));return t}},Xo.layout.chord=function(){function n(){var n,s,f,h,g,p={},v=[],d=Xo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(s=0,g=-1;++g<i;)s+=u[h][g];v.push(s),m.push(Xo.range(i)),n+=s}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(ka-l*i)/n,s=0,h=-1;++h<i;){for(f=s,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=s,b=s+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:s,value:(s-f)/n},s+=l}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,s={},l=0;return s.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,s):u},s.padding=function(n){return arguments.length?(l=n,e=r=null,s):l},s.sortGroups=function(n){return arguments.length?(o=n,e=r=null,s):o},s.sortSubgroups=function(n){return arguments.length?(a=n,e=null,s):a},s.sortChords=function(n){return arguments.length?(c=n,e&&t(),s):c},s.chords=function(){return e||n(),e},s.groups=function(){return r||n(),r},s},Xo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var s=t.charge/c;n.px-=i*s,n.py-=o*s}return!0}if(t.point&&c&&p>c){var s=t.pointCharge/c;n.px-=i*s,n.py-=o*s}}return!t.charge}}function t(n){n.px=Xo.event.x,n.py=Xo.event.y,a.resume()}var e,r,u,i,o,a={},c=Xo.dispatch("start","tick","end"),s=[1,1],l=.9,f=us,h=is,g=-30,p=os,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=s[0]/2,M=s[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Zu(t=Xo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*l,a.y-=(a.py-(a.py=a.y))*l);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(s=n,a):s},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(l=+n,a):l},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Xo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,s=o.length;++a<s;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,l=y.length,p=s[0],v=s[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;l>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;l>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;l>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;l>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;l>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Xo.behavior.drag().origin(bt).on("dragstart.force",Fu).on("drag.force",t).on("dragend.force",Ou)),arguments.length?(this.on("mouseover.force",Yu).on("mouseout.force",Iu).call(e),void 0):e},Xo.rebind(a,c,"on")};var us=20,is=1,os=1/0;Xo.layout.hierarchy=function(){function n(t,o,a){var c=u.call(e,t,o);if(t.depth=o,a.push(t),c&&(s=c.length)){for(var s,l,f=-1,h=t.children=new Array(s),g=0,p=o+1;++f<s;)l=h[f]=n(c[f],p,a),l.parent=t,g+=l.value;r&&h.sort(r),i&&(t.value=g)}else delete t.children,i&&(t.value=+i.call(e,t,o)||0);return t}function t(n,r){var u=n.children,o=0;if(u&&(a=u.length))for(var a,c=-1,s=r+1;++c<a;)o+=t(u[c],s);else i&&(o=+i.call(e,n,r)||0);return i&&(n.value=o),o}function e(t){var e=[];return n(t,0,e),e}var r=Bu,u=Xu,i=$u;return e.sort=function(n){return arguments.length?(r=n,e):r},e.children=function(n){return arguments.length?(u=n,e):u},e.value=function(n){return arguments.length?(i=n,e):i},e.revalue=function(n){return t(n,0),n},e},Xo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,s=-1;for(r=t.value?r/t.value:0;++s<o;)n(a=i[s],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Xo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Vu(e,r)},Xo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Xo.sum(o),s=Xo.range(i.length);null!=e&&s.sort(e===as?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var l=[];return s.forEach(function(n){var t;l[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),l}var t=Number,e=as,r=0,u=ka;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var as={};Xo.layout.stack=function(){function n(a,c){var s=a.map(function(e,r){return t.call(n,e,r)}),l=s.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,l,c);s=Xo.permute(s,f),l=Xo.permute(l,f);var h,g,p,v=r.call(n,l,c),d=s.length,m=s[0].length;for(g=0;m>g;++g)for(u.call(n,s[0][g],p=v[g],l[0][g][1]),h=1;d>h;++h)u.call(n,s[h][g],p+=l[h-1][g][1],l[h][g][1]);return a}var t=bt,e=Qu,r=ni,u=Ku,i=Ju,o=Gu;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:cs.get(t)||Qu,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:ss.get(t)||ni,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var cs=Xo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ti),i=n.map(ei),o=Xo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,s=[],l=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],s.push(e)):(c+=i[e],l.push(e));return l.reverse().concat(s)},reverse:function(n){return Xo.range(n.length).reverse()},"default":Qu}),ss=Xo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,s,l=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=s=0,e=1;h>e;++e){for(t=0,u=0;l>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];l>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,s>c&&(s=c)}for(e=0;h>e;++e)g[e]-=s;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ni});Xo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],s=n.map(e,this),l=r.call(this,s,i),f=u.call(this,l,s,i),i=-1,h=s.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=s[i],a>=l[0]&&a<=l[1]&&(o=c[Xo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=oi,u=ui;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=_t(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return ii(n,t)}:_t(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Xo.layout.tree=function(){function n(n,i){function o(n,t){var r=n.children,u=n._tree;if(r&&(i=r.length)){for(var i,a,s,l=r[0],f=l,h=-1;++h<i;)s=r[h],o(s,a),f=c(s,a,f),a=s;vi(n);var g=.5*(l._tree.prelim+s._tree.prelim);t?(u.prelim=t._tree.prelim+e(n,t),u.mod=u.prelim-g):u.prelim=g}else t&&(u.prelim=t._tree.prelim+e(n,t))}function a(n,t){n.x=n._tree.prelim+t;var e=n.children;if(e&&(r=e.length)){var r,u=-1;for(t+=n._tree.mod;++u<r;)a(e[u],t)}}function c(n,t,r){if(t){for(var u,i=n,o=n,a=t,c=n.parent.children[0],s=i._tree.mod,l=o._tree.mod,f=a._tree.mod,h=c._tree.mod;a=si(a),i=ci(i),a&&i;)c=ci(c),o=si(o),o._tree.ancestor=n,u=a._tree.prelim+f-i._tree.prelim-s+e(a,i),u>0&&(di(mi(a,n,r),n,u),s+=u,l+=u),f+=a._tree.mod,s+=i._tree.mod,h+=c._tree.mod,l+=o._tree.mod;a&&!si(o)&&(o._tree.thread=a,o._tree.mod+=f-l),i&&!ci(c)&&(c._tree.thread=i,c._tree.mod+=s-h,r=n)}return r}var s=t.call(this,n,i),l=s[0];pi(l,function(n,t){n._tree={ancestor:n,prelim:0,mod:0,change:0,shift:0,number:t?t._tree.number+1:0}}),o(l),a(l,-l._tree.prelim);var f=li(l,hi),h=li(l,fi),g=li(l,gi),p=f.x-e(f,h)/2,v=h.x+e(h,f)/2,d=g.depth||1;return pi(l,u?function(n){n.x*=r[0],n.y=n.depth*r[1],delete n._tree}:function(n){n.x=(n.x-p)/(v-p)*r[0],n.y=n.depth/d*r[1],delete n._tree}),s}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],s=u[1],l=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,pi(a,function(n){n.r=+l(n.value)}),pi(a,bi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/s))/2;pi(a,function(n){n.r+=f}),pi(a,bi),pi(a,function(n){n.r-=f})}return ki(a,c/2,s/2,t?1:1/Math.max(2*a.r/c,2*a.r/s)),o}var t,e=Xo.layout.hierarchy().sort(yi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Vu(n,e)},Xo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],s=0;pi(c,function(n){var t=n.children;t&&t.length?(n.x=Ci(t),n.y=Ai(t)):(n.x=o?s+=e(n,o):0,n.y=0,o=n)});var l=Ni(c),f=Li(c),h=l.x-e(l,f)/2,g=f.x+e(f,l)/2;return pi(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Xo.layout.hierarchy().sort(null).value(null),e=ai,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Vu(n,t)},Xo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,s=f(e),l=[],h=i.slice(),p=1/0,v="slice"===g?s.dx:"dice"===g?s.dy:"slice-dice"===g?1&e.depth?s.dy:s.dx:Math.min(s.dx,s.dy);for(n(h,s.dx*s.dy/e.value),l.area=0;(c=h.length)>0;)l.push(o=h[c-1]),l.area+=o.area,"squarify"!==g||(a=r(l,v))<=p?(h.pop(),p=a):(l.area-=l.pop().area,u(l,v,s,!1),v=Math.min(s.dx,s.dy),l.length=l.area=0,p=1/0);l.length&&(u(l,v,s,!0),l.length=l.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,s=e.y,l=t?c(n.area/t):0;if(t==e.dx){for((r||l>e.dy)&&(l=e.dy);++i<o;)u=n[i],u.x=a,u.y=s,u.dy=l,a+=u.dx=Math.min(e.x+e.dx-a,l?c(u.area/l):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=l,e.dy-=l}else{for((r||l>e.dx)&&(l=e.dx);++i<o;)u=n[i],u.x=a,u.y=s,u.dx=l,s+=u.dy=Math.min(e.y+e.dy-s,l?c(u.area/l):0);u.z=!1,u.dy+=e.y+e.dy-s,e.x+=l,e.dx-=l}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=s[0],i.dy=s[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Xo.layout.hierarchy(),c=Math.round,s=[1,1],l=null,f=Ti,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(s=n,i):s},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ti(t):qi(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return qi(t,n)}if(!arguments.length)return l;var r;return f=null==(l=n)?Ti:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Vu(i,a)},Xo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Xo.random.normal.apply(Xo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Xo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Xo.scale={};var ls={floor:bt,ceil:bt};Xo.scale.linear=function(){return Hi([0,1],[0,1],fu,!1)};var fs={s:1,g:1,p:1,r:1,e:1};Xo.scale.log=function(){return $i(Xo.scale.linear().domain([0,1]),10,!0,[1,10])};var hs=Xo.format(".0e"),gs={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Xo.scale.pow=function(){return Bi(Xo.scale.linear(),1,[0,1])},Xo.scale.sqrt=function(){return Xo.scale.pow().exponent(.5)},Xo.scale.ordinal=function(){return Ji([],{t:"range",a:[[]]})},Xo.scale.category10=function(){return Xo.scale.ordinal().range(ps)},Xo.scale.category20=function(){return Xo.scale.ordinal().range(vs)},Xo.scale.category20b=function(){return Xo.scale.ordinal().range(ds)},Xo.scale.category20c=function(){return Xo.scale.ordinal().range(ms)};var ps=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ht),vs=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ht),ds=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ht),ms=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ht);Xo.scale.quantile=function(){return Gi([],[])},Xo.scale.quantize=function(){return Ki(0,1,[0,1])},Xo.scale.threshold=function(){return Qi([.5],[0,1])},Xo.scale.identity=function(){return no([0,1])},Xo.svg={},Xo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+ys,a=u.apply(this,arguments)+ys,c=(o>a&&(c=o,o=a,a=c),a-o),s=Sa>c?"0":"1",l=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=xs?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+s+",0 "+n*l+","+n*f+"Z":"M"+i*l+","+i*f+"A"+i+","+i+" 0 "+s+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=to,e=eo,r=ro,u=uo;return n.innerRadius=function(e){return arguments.length?(t=_t(e),n):t},n.outerRadius=function(t){return arguments.length?(e=_t(t),n):e},n.startAngle=function(t){return arguments.length?(r=_t(t),n):r},n.endAngle=function(t){return arguments.length?(u=_t(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+ys;return[Math.cos(i)*n,Math.sin(i)*n]},n};var ys=-Ea,xs=ka-Aa;Xo.svg.line=function(){return io(bt)};var Ms=Xo.map({linear:oo,"linear-closed":ao,step:co,"step-before":so,"step-after":lo,basis:mo,"basis-open":yo,"basis-closed":xo,bundle:Mo,cardinal:go,"cardinal-open":fo,"cardinal-closed":ho,monotone:Eo});Ms.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var _s=[0,2/3,1/3,0],bs=[0,1/3,2/3,0],ws=[0,1/6,2/3,1/6];Xo.svg.line.radial=function(){var n=io(Ao);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},so.reverse=lo,lo.reverse=so,Xo.svg.area=function(){return Co(bt)},Xo.svg.area.radial=function(){var n=Co(Ao);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Xo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),s=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,s)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,s.r,s.p0)+r(s.r,s.p1,s.a1-s.a0)+u(s.r,s.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+ys,l=s.call(n,u,r)+ys;return{r:i,a0:o,a1:l,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(l),i*Math.sin(l)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Sa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=hr,o=gr,a=No,c=ro,s=uo;return n.radius=function(t){return arguments.length?(a=_t(t),n):a},n.source=function(t){return arguments.length?(i=_t(t),n):i},n.target=function(t){return arguments.length?(o=_t(t),n):o},n.startAngle=function(t){return arguments.length?(c=_t(t),n):c},n.endAngle=function(t){return arguments.length?(s=_t(t),n):s},n},Xo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=hr,e=gr,r=Lo;return n.source=function(e){return arguments.length?(t=_t(e),n):t},n.target=function(t){return arguments.length?(e=_t(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Xo.svg.diagonal.radial=function(){var n=Xo.svg.diagonal(),t=Lo,e=n.projection;return n.projection=function(n){return arguments.length?e(To(t=n)):t},n},Xo.svg.symbol=function(){function n(n,r){return(Ss.get(t.call(this,n,r))||Ro)(e.call(this,n,r))}var t=zo,e=qo;return n.type=function(e){return arguments.length?(t=_t(e),n):t},n.size=function(t){return arguments.length?(e=_t(t),n):e},n};var Ss=Xo.map({circle:Ro,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Cs)),e=t*Cs;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/As),e=t*As/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Xo.svg.symbolTypes=Ss.keys();var ks,Es,As=Math.sqrt(3),Cs=Math.tan(30*Na),Ns=[],Ls=0;Ns.call=da.call,Ns.empty=da.empty,Ns.node=da.node,Ns.size=da.size,Xo.transition=function(n){return arguments.length?ks?n.transition():n:xa.transition()},Xo.transition.prototype=Ns,Ns.select=function(n){var t,e,r,u=this.id,i=[];n=M(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],s=-1,l=c.length;++s<l;)(r=c[s])&&(e=n.call(r,r.__data__,s,o))?("__data__"in r&&(e.__data__=r.__data__),jo(e,s,u,r.__transition__[u]),t.push(e)):t.push(null)}return Do(i,u)},Ns.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=_(n);for(var c=-1,s=this.length;++c<s;)for(var l=this[c],f=-1,h=l.length;++f<h;)if(r=l[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&jo(u,g,o,i),t.push(u)}return Do(a,o)},Ns.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=q(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Do(u,this.id)},Ns.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):R(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Ns.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Ru:fu,a=Xo.ns.qualify(n);return Po(this,"attr."+n,t,a.local?i:u)},Ns.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Xo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Ns.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Go.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=fu(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return Po(this,"style."+n,t,u)},Ns.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Go.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Ns.text=function(n){return Po(this,"text",n,Uo)},Ns.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Ns.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Xo.ease.apply(Xo,arguments)),R(this,function(e){e.__transition__[t].ease=n}))},Ns.delay=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Ns.duration=function(n){var t=this.id;return R(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Ns.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Es,u=ks;ks=e,R(this,function(t,r,u){Es=t.__transition__[e],n.call(t,t.__data__,r,u)}),Es=r,ks=u}else R(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Xo.dispatch("start","end"))).on(n,t)});return this},Ns.transition=function(){for(var n,t,e,r,u=this.id,i=++Ls,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],s=0,l=t.length;l>s;s++)(e=t[s])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,jo(e,s,i,r)),n.push(e)}return Do(o,i)},Xo.svg.axis=function(){function n(n){n.each(function(){var n,s=Xo.select(this),l=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):bt:t,p=s.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Aa),d=Xo.transition(p.exit()).style("opacity",Aa).remove(),m=Xo.transition(p).style("opacity",1),y=Ri(f),x=s.selectAll(".domain").data([0]),M=(x.enter().append("path").attr("class","domain"),Xo.transition(x));v.append("line"),v.append("text");var _=v.select("line"),b=m.select("line"),w=p.select("text").text(g),S=v.select("text"),k=m.select("text");switch(r){case"bottom":n=Ho,_.attr("y2",u),S.attr("y",Math.max(u,0)+o),b.attr("x2",0).attr("y2",u),k.attr("x",0).attr("y",Math.max(u,0)+o),w.attr("dy",".71em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+i+"V0H"+y[1]+"V"+i);break;case"top":n=Ho,_.attr("y2",-u),S.attr("y",-(Math.max(u,0)+o)),b.attr("x2",0).attr("y2",-u),k.attr("x",0).attr("y",-(Math.max(u,0)+o)),w.attr("dy","0em").style("text-anchor","middle"),M.attr("d","M"+y[0]+","+-i+"V0H"+y[1]+"V"+-i);break;case"left":n=Fo,_.attr("x2",-u),S.attr("x",-(Math.max(u,0)+o)),b.attr("x2",-u).attr("y2",0),k.attr("x",-(Math.max(u,0)+o)).attr("y",0),w.attr("dy",".32em").style("text-anchor","end"),M.attr("d","M"+-i+","+y[0]+"H0V"+y[1]+"H"+-i);break;case"right":n=Fo,_.attr("x2",u),S.attr("x",Math.max(u,0)+o),b.attr("x2",u).attr("y2",0),k.attr("x",Math.max(u,0)+o).attr("y",0),w.attr("dy",".32em").style("text-anchor","start"),M.attr("d","M"+i+","+y[0]+"H0V"+y[1]+"H"+i)}if(f.rangeBand){var E=f,A=E.rangeBand()/2;l=f=function(n){return E(n)+A}}else l.rangeBand?l=f:d.call(n,f);v.call(n,l),m.call(n,f)})}var t,e=Xo.scale.linear(),r=Ts,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in qs?t+"":Ts,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Ts="bottom",qs={top:1,right:1,bottom:1,left:1};Xo.svg.brush=function(){function n(i){i.each(function(){var i=Xo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,bt);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return zs[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,f=Xo.transition(i),h=Xo.transition(o);c&&(l=Ri(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),e(f)),s&&(l=Ri(s),h.attr("y",l[0]).attr("height",l[1]-l[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+l[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",l[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Xo.event.keyCode&&(C||(x=null,L[0]-=l[1],L[1]-=f[1],C=2),d())}function p(){32==Xo.event.keyCode&&2==C&&(L[0]+=l[1],L[1]+=f[1],C=0,d())}function v(){var n=Xo.mouse(_),u=!1;M&&(n[0]+=M[0],n[1]+=M[1]),C||(Xo.event.altKey?(x||(x=[(l[0]+l[1])/2,(f[0]+f[1])/2]),L[0]=l[+(n[0]<x[0])],L[1]=f[+(n[1]<x[1])]):x=null),E&&m(n,c,0)&&(e(S),u=!0),A&&m(n,s,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,a=Ri(t),c=a[0],s=a[1],p=L[e],v=e?f:l,d=v[1]-v[0];return C&&(c-=p,s-=d+p),r=(e?g:h)?Math.max(c,Math.min(s,n[e])):n[e],C?u=(r+=p)+d:(x&&(p=Math.max(c,Math.min(s,2*x[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function y(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Xo.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var x,M,_=this,b=Xo.select(Xo.event.target),w=a.of(_,arguments),S=Xo.select(_),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&s,C=b.classed("extent"),N=O(),L=Xo.mouse(_),T=Xo.select(Go).on("keydown.brush",u).on("keyup.brush",p);if(Xo.event.changedTouches?T.on("touchmove.brush",v).on("touchend.brush",y):T.on("mousemove.brush",v).on("mouseup.brush",y),S.interrupt().selectAll("*").interrupt(),C)L[0]=l[0]-L[0],L[1]=f[0]-L[1];else if(k){var q=+/w$/.test(k),z=+/^n/.test(k);M=[l[1-q]-L[0],f[1-z]-L[1]],L[0]=l[q],L[1]=f[z]}else Xo.event.altKey&&(x=L.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Xo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=y(n,"brushstart","brush","brushend"),c=null,s=null,l=[0,0],f=[0,0],h=!0,g=!0,p=Rs[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:l,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,ks?Xo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,l=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=hu(l,t.x),r=hu(f,t.y);return i=o=null,function(u){l=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Rs[!c<<1|!s],n):c},n.y=function(t){return arguments.length?(s=t,p=Rs[!c<<1|!s],n):s},n.clamp=function(t){return arguments.length?(c&&s?(h=!!t[0],g=!!t[1]):c?h=!!t:s&&(g=!!t),n):c&&s?[h,g]:c?h:s?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=l[0]||r!=l[1])&&(l=[e,r])),s&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],s.invert&&(u=s(u),a=s(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=l[0],r=l[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),s&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],s.invert&&(u=s.invert(u),a=s.invert(a)),u>a&&(h=u,u=a,a=h))),c&&s?[[e,u],[r,a]]:c?[e,r]:s&&[u,a])},n.clear=function(){return n.empty()||(l=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&l[0]==l[1]||!!s&&f[0]==f[1]},Xo.rebind(n,a,"on")};var zs={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Rs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ds=tc.format=ac.timeFormat,Ps=Ds.utc,Us=Ps("%Y-%m-%dT%H:%M:%S.%LZ");Ds.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Oo:Us,Oo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Oo.toString=Us.toString,tc.second=Rt(function(n){return new ec(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),tc.seconds=tc.second.range,tc.seconds.utc=tc.second.utc.range,tc.minute=Rt(function(n){return new ec(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),tc.minutes=tc.minute.range,tc.minutes.utc=tc.minute.utc.range,tc.hour=Rt(function(n){var t=n.getTimezoneOffset()/60;return new ec(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),tc.hours=tc.hour.range,tc.hours.utc=tc.hour.utc.range,tc.month=Rt(function(n){return n=tc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),tc.months=tc.month.range,tc.months.utc=tc.month.utc.range;var js=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Hs=[[tc.second,1],[tc.second,5],[tc.second,15],[tc.second,30],[tc.minute,1],[tc.minute,5],[tc.minute,15],[tc.minute,30],[tc.hour,1],[tc.hour,3],[tc.hour,6],[tc.hour,12],[tc.day,1],[tc.day,2],[tc.week,1],[tc.month,1],[tc.month,3],[tc.year,1]],Fs=Ds.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",be]]),Os={range:function(n,t,e){return Xo.range(Math.ceil(n/e)*e,+t,e).map(Io)},floor:bt,ceil:bt};Hs.year=tc.year,tc.scale=function(){return Yo(Xo.scale.linear(),Hs,Fs)};var Ys=Hs.map(function(n){return[n[0].utc,n[1]]}),Is=Ps.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",be]]);Ys.year=tc.year.utc,tc.scale.utc=function(){return Yo(Xo.scale.linear(),Ys,Is)},Xo.text=wt(function(n){return n.responseText}),Xo.json=function(n,t){return St(n,"application/json",Zo,t)},Xo.html=function(n,t){return St(n,"text/html",Vo,t)},Xo.xml=wt(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Xo):"object"==typeof module&&module.exports?module.exports=Xo:this.d3=Xo}();'use strict';(function(window){window.define=undefined;}).call(this,this);'use strict';tr.exportTo('tr.ui.b',function(){const DataSeriesEnableChangeEventType='data-series-enabled-change';const THIS_DOC=document.currentScript.ownerDocument;const svgNS='http://www.w3.org/2000/svg';const ColorScheme=tr.b.ColorScheme;function getColorOfKey(key,selected){let id=ColorScheme.getColorIdForGeneralPurposeString(key);if(selected){id+=ColorScheme.properties.brightenedOffsets[0];}
7833return ColorScheme.colorsAsStrings[id];}
7834function getSVGTextSize(parentNode,text,opt_callback,opt_this){const textNode=document.createElementNS('http://www.w3.org/2000/svg','text');textNode.setAttributeNS(null,'x',0);textNode.setAttributeNS(null,'y',0);textNode.setAttributeNS(null,'fill','black');textNode.appendChild(document.createTextNode(text));parentNode.appendChild(textNode);if(opt_callback){opt_callback.call(opt_this||parentNode,textNode);}
7835const width=textNode.getComputedTextLength();const height=textNode.getBBox().height;parentNode.removeChild(textNode);return{width,height};}
7836function DataSeries(key){this.key_=key;this.target_=undefined;this.title_='';this.optional_=false;this.enabled_=true;this.color_=getColorOfKey(key,false);this.highlightedColor_=getColorOfKey(key,true);}
7837DataSeries.prototype={get key(){return this.key_;},get title(){return this.title_;},set title(t){this.title_=t;},get color(){return this.color_;},set color(c){this.color_=c;},get highlightedColor(){return this.highlightedColor_;},set highlightedColor(c){this.highlightedColor_=c;},get optional(){return this.optional_;},set optional(optional){this.optional_=optional;},get enabled(){return this.enabled_;},set enabled(enabled){if(!this.optional&&!enabled){this.optional=true;}
7838this.enabled_=enabled;},get target(){return this.target_;},set target(t){this.target_=t;}};const ChartBase=tr.ui.b.define('svg',undefined,svgNS);ChartBase.prototype={__proto__:HTMLUnknownElement.prototype,getDataSeries(key){if(!this.seriesByKey_.has(key)){this.seriesByKey_.set(key,new DataSeries(key));}
7839return this.seriesByKey_.get(key);},decorate(){Polymer.dom(this).classList.add('chart-base');this.chartTitle_=undefined;this.seriesByKey_=new Map();this.graphWidth_=undefined;this.graphHeight_=undefined;this.margin={top:0,right:0,bottom:0,left:0,};this.hideLegend_=false;const template=Polymer.dom(THIS_DOC).querySelector('#chart-base-template');const svgEl=Polymer.dom(template.content).querySelector('svg');for(let i=0;i<Polymer.dom(svgEl).children.length;i++){Polymer.dom(this).appendChild(Polymer.dom(svgEl.children[i]).cloneNode(true));}
7840this.addEventListener(DataSeriesEnableChangeEventType,this.onDataSeriesEnableChange_.bind(this));},get hideLegend(){return this.hideLegend_;},set hideLegend(h){this.hideLegend_=h;this.updateContents_();},isSeriesEnabled(key){return this.getDataSeries(key).enabled;},onDataSeriesEnableChange_(event){this.getDataSeries(event.key).enabled=event.enabled;this.updateContents_();},get chartTitle(){return this.chartTitle_;},set chartTitle(chartTitle){this.chartTitle_=chartTitle;this.updateContents_();},get chartAreaElement(){return Polymer.dom(this).querySelector('#chart-area');},get graphWidth(){if(this.graphWidth_===undefined)return this.defaultGraphWidth;return this.graphWidth_;},set graphWidth(width){this.graphWidth_=width;this.updateContents_();},get defaultGraphWidth(){return 0;},get graphHeight(){if(this.graphHeight_===undefined)return this.defaultGraphHeight;return this.graphHeight_;},set graphHeight(height){this.graphHeight_=height;this.updateContents_();},get defaultGraphHeight(){return 0;},get totalWidth(){return this.margin.left+this.graphWidth+this.margin.right;},get totalHeight(){return this.margin.top+this.graphHeight+this.margin.bottom;},updateMargins_(){const legendSize=this.computeLegendSize_();this.margin.right=Math.max(this.margin.right,legendSize.width);this.margin.bottom=Math.max(this.margin.bottom,legendSize.height-this.graphHeight);if(this.chartTitle_){const titleSize=getSVGTextSize(this,this.chartTitle_,textNode=>{textNode.style.fontSize='16pt';});this.margin.top=Math.max(this.margin.top,titleSize.height+15);const horizontalOverhangPx=(titleSize.width-this.graphWidth)/2;this.margin.left=Math.max(this.margin.left,horizontalOverhangPx);this.margin.right=Math.max(this.margin.right,horizontalOverhangPx);}},computeLegendSize_(){let width=0;let height=0;if(this.hideLegend)return{width,height};for(const series of this.seriesByKey_.values()){const textSize=getSVGTextSize(this,series.key);width=Math.max(width,textSize.width+20);height+=textSize.height;}
7841return{width,height};},updateDimensions_(){const thisSel=d3.select(this);thisSel.attr('width',this.totalWidth);thisSel.attr('height',this.totalHeight);d3.select(this.chartAreaElement).attr('transform','translate('+this.margin.left+', '+this.margin.top+')');},updateContents_(){this.updateMargins_();this.updateDimensions_();this.updateTitle_();this.updateLegend_();},updateTitle_(){const titleSel=d3.select(this.chartAreaElement).select('#title');if(!this.chartTitle_){titleSel.style('display','none');return;}
7842titleSel.attr('transform','translate('+this.graphWidth*0.5+',-15)').style('display',undefined).style('text-anchor','middle').style('font-size','16pt').attr('class','title').attr('width',this.graphWidth).text(this.chartTitle_);},updateLegend_(){const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.legend').remove();if(this.hideLegend)return;const series=[...this.seriesByKey_.values()].reverse();const legendEntriesSel=chartAreaSel.selectAll('.legend').data(series);legendEntriesSel.enter().append('foreignObject').attr('class','legend').attr('x',this.graphWidth+2).attr('width',this.margin.right).attr('height',18).attr('transform',(series,i)=>'translate(0,'+i*18+')').append('xhtml:body').style('margin',0).append('tr-ui-b-chart-legend-key').property('color',series=>((this.currentHighlightedLegendKey===series.key)?series.highlightedColor:series.color)).property('width',this.margin.right).property('target',series=>series.target).property('title',series=>series.title).property('optional',series=>series.optional).property('enabled',series=>series.enabled).text(series=>series.key);legendEntriesSel.exit().remove();},get highlightedLegendKey(){return this.highlightedLegendKey_;},set highlightedLegendKey(highlightedLegendKey){this.highlightedLegendKey_=highlightedLegendKey;this.updateHighlight_();},get currentHighlightedLegendKey(){if(this.tempHighlightedLegendKey_){return this.tempHighlightedLegendKey_;}
7843return this.highlightedLegendKey_;},pushTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_){throw new Error('push cannot nest');}
7844this.tempHighlightedLegendKey_=key;this.updateHighlight_();},popTempHighlightedLegendKey(key){if(this.tempHighlightedLegendKey_!==key){throw new Error('pop cannot happen');}
7845this.tempHighlightedLegendKey_=undefined;this.updateHighlight_();},updateHighlight_(){const chartAreaSel=d3.select(this.chartAreaElement);const legendEntriesSel=chartAreaSel.selectAll('.legend');const getDataSeries=chart.getDataSeries.bind(chart);const currentHighlightedLegendKey=chart.currentHighlightedLegendKey;legendEntriesSel.each(function(key){const dataSeries=getDataSeries(key);if(key===currentHighlightedLegendKey){this.style.fill=dataSeries.highlightedColor;this.style.fontWeight='bold';}else{this.style.fill=dataSeries.color;this.style.fontWeight='';}});}};return{ChartBase,DataSeriesEnableChangeEventType,getColorOfKey,getSVGTextSize,};});'use strict';tr.exportTo('tr.ui.b',function(){const D3_Y_AXIS_WIDTH_PX=9;const D3_X_AXIS_HEIGHT_PX=23;function sanitizePower(x,defaultValue){if(!isNaN(x)&&isFinite(x)&&(x!==0))return x;return defaultValue;}
7846const ChartBase2D=tr.ui.b.define('chart-base-2d',tr.ui.b.ChartBase);ChartBase2D.prototype={__proto__:tr.ui.b.ChartBase.prototype,decorate(){super.decorate();Polymer.dom(this).classList.add('chart-base-2d');this.xScale_=d3.scale.linear();this.yScale_=d3.scale.linear();this.isYLogScale_=false;this.yLogScaleMin_=undefined;this.autoDataRange_=new tr.b.math.Range();this.overrideDataRange_=undefined;this.hideXAxis_=false;this.hideYAxis_=false;this.data_=[];this.xAxisLabel_='';this.yAxisLabel_='';this.textHeightPx_=0;d3.select(this.chartAreaElement).append('g').attr('id','brushes');d3.select(this.chartAreaElement).append('g').attr('id','series');this.addEventListener('mousedown',this.onMouseDown_.bind(this));},get xAxisLabel(){return this.xAxisLabel_;},set xAxisLabel(label){this.xAxisLabel_=label;},get yAxisLabel(){return this.yAxisLabel_;},set yAxisLabel(label){this.yAxisLabel_=label;},get hideXAxis(){return this.hideXAxis_;},set hideXAxis(h){this.hideXAxis_=h;this.updateContents_();},get hideYAxis(){return this.hideYAxis_;},set hideYAxis(h){this.hideYAxis_=h;this.updateContents_();},get data(){return this.data_;},set data(data){if(data===undefined){throw new Error('data must be an Array');}
7847this.data_=data;this.updateSeriesKeys_();this.updateDataRange_();this.updateContents_();},set isYLogScale(logScale){if(logScale){this.yScale_=d3.scale.log(10);}else{this.yScale_=d3.scale.linear();}
7848this.isYLogScale_=logScale;},getYScaleMin_(){return this.isYLogScale_?this.yLogScaleMin_:0;},getYScaleDomain_(minValue,maxValue){if(this.overrideDataRange_!==undefined){return[this.dataRange.min,this.dataRange.max];}
7849if(this.isYLogScale_){return[this.getYScaleMin_(),maxValue];}
7850return[Math.min(minValue,this.getYScaleMin_()),maxValue];},getSampleWidth_(data,index,leftSide){let leftIndex;let rightIndex;if(leftSide){leftIndex=Math.max(index-1,0);rightIndex=index;}else{leftIndex=index;rightIndex=Math.min(index+1,data.length-1);}
7851const leftWidth=this.getXForDatum_(data[index],index)-
7852this.getXForDatum_(data[leftIndex],leftIndex);const rightWidth=this.getXForDatum_(data[rightIndex],rightIndex)-
7853this.getXForDatum_(data[index],index);return tr.b.math.Statistics.mean([leftWidth,rightWidth]);},updateSeriesKeys_(){this.data_.forEach(function(datum){Object.keys(datum).forEach(function(key){if(this.isDatumFieldSeries_(key)){this.getDataSeries(key);}},this);},this);},isDatumFieldSeries_(fieldName){return fieldName!=='x';},getXForDatum_(datum,index){return datum.x;},updateMargins_(){this.margin.left=this.hideYAxis?0:this.yAxisWidth;this.margin.bottom=this.hideXAxis?0:this.xAxisHeight;if(this.hideXAxis&&!this.hideYAxis){this.margin.bottom=10;}
7854if(this.hideYAxis&&!this.hideXAxis){this.margin.left=10;}
7855this.margin.top=this.hideYAxis?0:10;if(this.yAxisLabel){this.margin.top+=this.textHeightPx_;}
7856if(this.xAxisLabel){this.margin.right=Math.max(this.margin.right,16+tr.ui.b.getSVGTextSize(this,this.xAxisLabel).width);}
7857super.updateMargins_();},get xAxisHeight(){return D3_X_AXIS_HEIGHT_PX;},computeScaleTickWidth_(scale){if(this.data.length===0)return 0;let tickValues=scale.ticks();let format=scale.tickFormat();if(this.isYLogScale_){const enclosingPowers=this.dataRange.enclosingPowers();tickValues=[sanitizePower(enclosingPowers.min,1),sanitizePower(enclosingPowers.max,10),];format=v=>v.toString();}
7858return D3_Y_AXIS_WIDTH_PX+Math.max(tr.ui.b.getSVGTextSize(this,format(tickValues[0])).width,tr.ui.b.getSVGTextSize(this,format(tickValues[tickValues.length-1])).width);},get yAxisWidth(){return this.computeScaleTickWidth_(this.yScale_);},updateScales_(){if(this.data_.length===0)return;this.xScale_.range([0,this.graphWidth]);this.xScale_.domain(d3.extent(this.data_,this.getXForDatum_.bind(this)));this.yScale_.range([this.graphHeight,0]);this.yScale_.domain([this.dataRange.min,this.dataRange.max]);},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();},updateXAxis_(xAxis){xAxis.selectAll('*').remove();xAxis[0][0].style.opacity=0;if(this.hideXAxis)return;this.drawXAxis_(xAxis);const label=xAxis.append('text').attr('class','label');this.drawXAxisTicks_(xAxis);this.drawXAxisLabel_(label);xAxis[0][0].style.opacity=1;},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.xScale_).orient('bottom'));},drawXAxisLabel_(label){label.attr('x',this.graphWidth+16).attr('y',8).text(this.xAxisLabel);},drawXAxisTicks_(xAxis){let previousRight=undefined;xAxis.selectAll('.tick')[0].forEach(function(tick){const currentLeft=tick.transform.baseVal[0].matrix.e;if((previousRight===undefined)||(currentLeft>(previousRight+3))){const currentWidth=tick.getBBox().width;previousRight=currentLeft+currentWidth;}else{tick.style.opacity=0;}});},set overrideDataRange(range){this.overrideDataRange_=range;},get dataRange(){if(this.overrideDataRange_!==undefined){return this.overrideDataRange_;}
7859return this.autoDataRange_;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;const dataBySeriesKey=this.getDataBySeriesKey_();this.autoDataRange_.reset();for(const[series,values]of Object.entries(dataBySeriesKey)){for(let i=0;i<values.length;i++){this.autoDataRange_.addValue(values[i][series]);}}
7860this.yLogScaleMin_=undefined;if(this.autoDataRange_.min!==undefined){let minValue=this.autoDataRange_.min;if(minValue===0){minValue=1;}
7861const onePowerLess=tr.b.math.lesserPower(minValue/10);this.yLogScaleMin_=onePowerLess;}},updateYAxis_(yAxis){yAxis.selectAll('*').remove();yAxis[0][0].style.opacity=0;if(this.hideYAxis)return;this.drawYAxis_(yAxis);this.drawYAxisTicks_(yAxis);const label=yAxis.append('text').attr('class','label');this.drawYAxisLabel_(label);},drawYAxis_(yAxis){let axisModifier=d3.svg.axis().scale(this.yScale_).orient('left');if(this.isYLogScale_){if(this.yLogScaleMin_===undefined)return;const tickValues=[];const enclosingPowers=this.dataRange.enclosingPowers();const maxPower=sanitizePower(enclosingPowers.max,10);for(let power=sanitizePower(enclosingPowers.min,1);power<=maxPower;power*=10){tickValues.push(power);}
7862axisModifier=axisModifier.tickValues(tickValues).tickFormat(v=>v.toString());}
7863yAxis.call(axisModifier);},drawYAxisLabel_(label){const labelWidthPx=Math.ceil(tr.ui.b.getSVGTextSize(this.chartAreaElement,this.yAxisLabel).width);label.attr('x',-labelWidthPx).attr('y',-8).text(this.yAxisLabel);},drawYAxisTicks_(yAxis){let previousTop=undefined;yAxis.selectAll('.tick')[0].forEach(function(tick){const bbox=tick.getBBox();const currentTop=tick.transform.baseVal[0].matrix.f;const currentBottom=currentTop+bbox.height;if((previousTop===undefined)||(previousTop>(currentBottom+3))){previousTop=currentTop;}else{tick.style.opacity=0;}});yAxis[0][0].style.opacity=1;},updateContents_(){if(this.textHeightPx_===0){this.textHeightPx_=tr.ui.b.getSVGTextSize(this,'Ay').height;}
7864this.updateScales_();super.updateContents_();const chartAreaSel=d3.select(this.chartAreaElement);this.updateXAxis_(chartAreaSel.select('.x.axis'));this.updateYAxis_(chartAreaSel.select('.y.axis'));this.updateBrushContents_(chartAreaSel.select('#brushes'));this.updateDataContents_(chartAreaSel.select('#series'));},updateDataContents_(seriesSel){throw new Error('Not implemented');},getDataBySeriesKey_(){const dataBySeriesKey={};for(const[key,series]of this.seriesByKey_){dataBySeriesKey[key]=[];}
7865this.data_.forEach(function(multiSeriesDatum,index){const x=this.getXForDatum_(multiSeriesDatum,index);d3.keys(multiSeriesDatum).forEach(function(seriesKey){if(seriesKey==='x')return;if(multiSeriesDatum[seriesKey]===undefined)return;if(!this.isDatumFieldSeries_(seriesKey))return;const singleSeriesDatum={x};singleSeriesDatum[seriesKey]=multiSeriesDatum[seriesKey];dataBySeriesKey[seriesKey].push(singleSeriesDatum);},this);},this);return dataBySeriesKey;},getChartPointAtClientPoint_(clientPoint){const rect=this.getBoundingClientRect();return{x:clientPoint.x-rect.left-this.margin.left,y:clientPoint.y-rect.top-this.margin.top};},getDataPointAtChartPoint_(chartPoint){return{x:tr.b.math.clamp(this.xScale_.invert(chartPoint.x),this.xScale_.domain()[0],this.xScale_.domain()[1]),y:tr.b.math.clamp(this.yScale_.invert(chartPoint.y),this.yScale_.domain()[0],this.yScale_.domain()[1])};},getDataPointAtClientPoint_(clientX,clientY){const chartPoint=this.getChartPointAtClientPoint_({x:clientX,y:clientY});return this.getDataPointAtChartPoint_(chartPoint);},prepareDataEvent_(mouseEvent,dataEvent){const dataPoint=this.getDataPointAtClientPoint_(mouseEvent.clientX,mouseEvent.clientY);dataEvent.x=dataPoint.x;dataEvent.y=dataPoint.y;},onMouseDown_(mouseEvent){tr.ui.b.trackMouseMovesUntilMouseUp(this.onMouseMove_.bind(this,mouseEvent.button),this.onMouseUp_.bind(this,mouseEvent.button));mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mousedown');dataEvent.button=mouseEvent.button;Polymer.dom(this).classList.add('updating-brushing-state');this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseMove_(button,mouseEvent){if(mouseEvent.buttons!==undefined){mouseEvent.preventDefault();mouseEvent.stopPropagation();}
7866const dataEvent=new tr.b.Event('item-mousemove');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);},onMouseUp_(button,mouseEvent){mouseEvent.preventDefault();mouseEvent.stopPropagation();const dataEvent=new tr.b.Event('item-mouseup');dataEvent.button=button;this.prepareDataEvent_(mouseEvent,dataEvent);this.dispatchEvent(dataEvent);Polymer.dom(this).classList.remove('updating-brushing-state');}};return{ChartBase2D,};});'use strict';tr.exportTo('tr.ui.b',function(){const ChartBase2D=tr.ui.b.ChartBase2D;const ChartBase2DBrushX=tr.ui.b.define('chart-base-2d-brush-1d',ChartBase2D);ChartBase2DBrushX.prototype={__proto__:ChartBase2D.prototype,decorate(){super.decorate();this.brushedRange_=new tr.b.math.Range();},set brushedRange(range){this.brushedRange_.reset();this.brushedRange_.addRange(range);this.updateContents_();},get brushedRange(){return tr.b.math.Range.fromDict(this.brushedRange_.toJSON());},computeBrushRangeFromIndices(indexA,indexB){indexA=tr.b.math.clamp(indexA,0,this.data_.length-1);indexB=tr.b.math.clamp(indexB,0,this.data_.length-1);const leftIndex=Math.min(indexA,indexB);const rightIndex=Math.max(indexA,indexB);const brushRange=new tr.b.math.Range();brushRange.addValue(this.getXForDatum_(this.data_[leftIndex],leftIndex)-
7867this.getSampleWidth_(this.data_,leftIndex,true));brushRange.addValue(this.getXForDatum_(this.data_[rightIndex],rightIndex)+
7868this.getSampleWidth_(this.data_,rightIndex,false));return brushRange;},getDataIndex_(dataX){if(this.data.length===0)return undefined;const bisect=d3.bisector(this.getXForDatum_.bind(this)).right;return bisect(this.data_,dataX)-1;},prepareDataEvent_(mouseEvent,dataEvent){ChartBase2D.prototype.prepareDataEvent_.call(this,mouseEvent,dataEvent);dataEvent.index=this.getDataIndex_(dataEvent.x);if(dataEvent.index!==undefined){dataEvent.data=this.data_[dataEvent.index];}},updateBrushContents_(brushSel){brushSel.selectAll('*').remove();const brushes=this.brushedRange_.isEmpty?[]:[this.brushedRange_];const brushRectsSel=brushSel.selectAll('rect').data(brushes);brushRectsSel.enter().append('rect');brushRectsSel.exit().remove();this.drawBrush_(brushRectsSel);},drawBrush_(brushRectsSel){brushRectsSel.attr('x',d=>this.xScale_(d.min)).attr('y',0).attr('width',d=>this.xScale_(d.max)-this.xScale_(d.min)).attr('height',this.graphHeight);}};return{ChartBase2DBrushX,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.define('line-chart',tr.ui.b.ChartBase2DBrushX);LineChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,get defaultGraphWidth(){return 20*this.data_.length;},get defaultGraphHeight(){return 100;},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const dataBySeriesKey=this.getDataBySeriesKey_();const seriesKeys=[...this.seriesByKey_.keys()];const pathsSel=dataSel.selectAll('path').data(seriesKeys);pathsSel.enter().append('path').style('fill','none').style('stroke-width','1.5px').style('stroke',key=>this.getDataSeries(key).color).attr('d',key=>{const line=d3.svg.line().x(d=>this.xScale_(d.x)).y(d=>this.yScale_(this.dataRange.clamp(d[key])));return line(dataBySeriesKey[key]);});pathsSel.exit().remove();}};return{LineChart,};});'use strict';Polymer({is:'tr-ui-e-s-input-latency-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.frametimeType_=tr.model.helpers.IMPL_FRAMETIME_TYPE;this.latencyChart_=undefined;this.frametimeChart_=undefined;this.selectedProcessId_=undefined;this.mouseDownIndex_=undefined;this.curMouseIndex_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;if(this.model_){this.modelHelper_=this.model_.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);}else{this.modelHelper_=undefined;}
7869this.updateToolbar_();this.updateContents_();},get frametimeType(){return this.frametimeType_;},set frametimeType(type){if(this.frametimeType_===type)return;this.frametimeType_=type;this.updateContents_();},get selectedProcessId(){return this.selectedProcessId_;},set selectedProcessId(process){if(this.selectedProcessId_===process)return;this.selectedProcessId_=process;this.updateContents_();},set selection(selection){if(this.latencyChart_===undefined)return;this.latencyChart_.brushedRange=selection.bounds;},setBrushedIndices(mouseDownIndex,curIndex){this.mouseDownIndex_=mouseDownIndex;this.curMouseIndex_=curIndex;this.updateBrushedRange_();},updateBrushedRange_(){if(this.latencyChart_===undefined)return;let r=new tr.b.math.Range();if(this.mouseDownIndex_===undefined){this.latencyChart_.brushedRange=r;return;}
7870r=this.latencyChart_.computeBrushRangeFromIndices(this.mouseDownIndex_,this.curMouseIndex_);this.latencyChart_.brushedRange=r;let latencySlices=[];for(const thread of this.model_.getAllThreads()){for(const event of thread.getDescendantEvents()){if(event.title.indexOf('InputLatency:')===0){latencySlices.push(event);}}}
7871latencySlices=tr.model.helpers.getSlicesIntersectingRange(r,latencySlices);const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(latencySlices);this.latencyChart_.dispatchEvent(event);},registerMouseEventForLatencyChart_(){this.latencyChart_.addEventListener('item-mousedown',function(e){this.mouseDownIndex_=e.index;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mousemove',function(e){if(e.button===undefined)return;this.curMouseIndex_=e.index;this.updateBrushedRange_();}.bind(this));this.latencyChart_.addEventListener('item-mouseup',function(e){this.curMouseIndex=e.index;this.updateBrushedRange_();}.bind(this));},updateToolbar_(){const browserProcess=this.modelHelper_.browserProcess;const labels=[];if(browserProcess!==undefined){const labelStr='Browser: '+browserProcess.pid;labels.push({label:labelStr,value:browserProcess.pid});}
7872for(const rendererHelper of
7873Object.values(this.modelHelper_.rendererHelpers)){const rendererProcess=rendererHelper.process;const labelStr='Renderer: '+rendererProcess.userFriendlyName;labels.push({label:labelStr,value:rendererProcess.userFriendlyName});}
7874if(labels.length===0)return;this.selectedProcessId_=labels[0].value;const toolbarEl=this.$.toolbar;Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'frametimeType','inputLatencySidePanel.frametimeType',this.frametimeType_,[{label:'Main Thread Frame Times',value:tr.model.helpers.MAIN_FRAMETIME_TYPE},{label:'Impl Thread Frame Times',value:tr.model.helpers.IMPL_FRAMETIME_TYPE}]));Polymer.dom(toolbarEl).appendChild(tr.ui.b.createSelector(this,'selectedProcessId','inputLatencySidePanel.selectedProcessId',this.selectedProcessId_,labels));},get currentRangeOfInterest(){if(this.rangeOfInterest_.isEmpty){return this.model_.bounds;}
7875return this.rangeOfInterest_;},createLatencyLineChart(data,title,parentNode){const chart=new tr.ui.b.LineChart();Polymer.dom(parentNode).appendChild(chart);let width=600;if(document.body.clientWidth!==undefined){width=document.body.clientWidth*0.5;}
7876chart.graphWidth=width;chart.chartTitle=title;chart.data=data;return chart;},updateContents_(){const resultArea=this.$.result_area;this.latencyChart_=undefined;this.frametimeChart_=undefined;Polymer.dom(resultArea).textContent='';if(this.modelHelper_===undefined)return;const rangeOfInterest=this.currentRangeOfInterest;let chromeProcess;if(this.modelHelper_.rendererHelpers[this.selectedProcessId_]){chromeProcess=this.modelHelper_.rendererHelpers[this.selectedProcessId_];}else{chromeProcess=this.modelHelper_.browserHelper;}
7877const frameEvents=chromeProcess.getFrameEventsInRange(this.frametimeType,rangeOfInterest);const frametimeData=tr.model.helpers.getFrametimeDataFromEvents(frameEvents);const averageFrametime=tr.b.math.Statistics.mean(frametimeData,d=>d.frametime);const latencyEvents=this.modelHelper_.browserHelper.getLatencyEventsInRange(rangeOfInterest);const latencyData=[];latencyEvents.forEach(function(event){if(event.inputLatency===undefined)return;latencyData.push({x:event.start,latency:event.inputLatency/1000});});const averageLatency=tr.b.math.Statistics.mean(latencyData,function(d){return d.latency;});const latencySummaryText=document.createElement('div');Polymer.dom(latencySummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Latency '+averageLatency+' ms',bold:true}));Polymer.dom(resultArea).appendChild(latencySummaryText);const frametimeSummaryText=document.createElement('div');Polymer.dom(frametimeSummaryText).appendChild(tr.ui.b.createSpan({textContent:'Average Frame Time '+averageFrametime+' ms',bold:true}));Polymer.dom(resultArea).appendChild(frametimeSummaryText);if(latencyData.length!==0){this.latencyChart_=this.createLatencyLineChart(latencyData,'Latency Over Time',resultArea);this.registerMouseEventForLatencyChart_();}
7878if(frametimeData.length!==0){this.frametimeChart_=this.createLatencyLineChart(frametimeData,'Frame Times',resultArea);}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;this.updateContents_();},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}
7879if(!tr.model.helpers.ChromeModelHelper.supportsModel(m)){return{supported:false,reason:'No Chrome browser or renderer process found'};}
7880const modelHelper=m.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper.browserHelper&&modelHelper.browserHelper.hasLatencyEvents){return{supported:true};}
7881return{supported:false,reason:'No InputLatency events trace. Consider enabling '+'benchmark" and "input" category when recording the trace'};},get textLabel(){return'Input Latency';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-input-latency-side-panel');});'use strict';tr.exportTo('tr.e.system_stats',function(){const ObjectSnapshot=tr.model.ObjectSnapshot;function SystemStatsSnapshot(objectInstance,ts,args){ObjectSnapshot.apply(this,arguments);this.objectInstance=objectInstance;this.ts=ts;this.args=args;this.stats=args;}
7882SystemStatsSnapshot.prototype={__proto__:ObjectSnapshot.prototype,initialize(){if(this.args.length===0){throw new Error('No system stats snapshot data.');}
7883this.stats_=this.args;},getStats(){return this.stats_;},setStats(stats){this.stats_=stats;}};ObjectSnapshot.subTypes.register(SystemStatsSnapshot,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshot,};});'use strict';tr.exportTo('tr.ui.b',function(){const constants={HEADING_WIDTH:250};return{constants,};});'use strict';Polymer({is:'tr-ui-b-heading',DOWN_ARROW:String.fromCharCode(0x25BE),RIGHT_ARROW:String.fromCharCode(0x25B8),ready(viewport){this.style.width=(tr.ui.b.constants.HEADING_WIDTH-6)+'px';this.heading_='';this.expanded_=true;this.arrowVisible_=false;this.selectionGenerator_=undefined;this.updateContents_();},get heading(){return this.heading_;},set heading(text){if(this.heading_===text)return;this.heading_=text;this.updateContents_();},set arrowVisible(val){if(this.arrowVisible_===val)return;this.arrowVisible_=!!val;this.updateContents_();},set tooltip(text){this.$.heading.title=text;},set selectionGenerator(generator){if(this.selectionGenerator_===generator)return;this.selectionGenerator_=generator;this.updateContents_();},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=!!expanded;this.updateContents_();},onHeadingDivClicked_(){this.dispatchEvent(new tr.b.Event('heading-clicked',true));},updateContents_(){if(this.arrowVisible_){this.$.arrow.style.display='';}else{this.$.arrow.style.display='none';this.$.heading.style.display=this.expanded_?'':'none';}
7884if(this.arrowVisible_){Polymer.dom(this.$.arrow).textContent=this.expanded_?this.DOWN_ARROW:this.RIGHT_ARROW;}
7885this.$.link.style.display='none';this.$.heading_content.style.display='none';if(this.selectionGenerator_){this.$.link.style.display='inline-block';this.$.link.selection=this.selectionGenerator_;Polymer.dom(this.$.link).textContent=this.heading_;}else{this.$.heading_content.style.display='inline-block';Polymer.dom(this.$.heading_content).textContent=this.heading_;}}});'use strict';tr.exportTo('tr.ui.tracks',function(){const Track=tr.ui.b.define('track',tr.ui.b.ContainerThatDecoratesItsChildren);Track.prototype={__proto__:tr.ui.b.ContainerThatDecoratesItsChildren.prototype,decorate(viewport){tr.ui.b.ContainerThatDecoratesItsChildren.prototype.decorate.call(this);if(viewport===undefined){throw new Error('viewport is required when creating a Track.');}
7886this.viewport_=viewport;Polymer.dom(this).classList.add('track');},get viewport(){return this.viewport_;},get drawingContainer(){if(this instanceof tr.ui.tracks.DrawingContainer)return this;let cur=this.parentElement;while(cur){if(cur instanceof tr.ui.tracks.DrawingContainer)return cur;cur=cur.parentElement;}
7887return undefined;},get eventContainer(){},invalidateDrawingContainer(){const dc=this.drawingContainer;if(dc)dc.invalidate();},context(){if(!Polymer.dom(this).parentNode)return undefined;if(!Polymer.dom(this).parentNode.context){throw new Error('Parent container does not support context() method.');}
7888return Polymer.dom(this).parentNode.context();},decorateChild_(childTrack){},undecorateChild_(childTrack){if(childTrack.detach){childTrack.detach();}},updateContents_(){},drawTrack(type){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.draw(type,viewLWorld,viewRWorld);ctx.restore();},draw(type,viewLWorld,viewRWorld){},addEventsToTrackMap(eventToTrackMap){},addContainersToTrackMap(containerToTrackMap){},addIntersectingEventsInRangeToSelection(loVX,hiVX,loVY,hiVY,selection){const pixelRatio=window.devicePixelRatio||1;const dt=this.viewport.currentDisplayTransform;const viewPixWidthWorld=dt.xViewVectorToWorld(1);const loWX=dt.xViewToWorld(loVX*pixelRatio);const hiWX=dt.xViewToWorld(hiVX*pixelRatio);const clientRect=this.getBoundingClientRect();const a=Math.max(loVY,clientRect.top);const b=Math.min(hiVY,clientRect.bottom);if(a>b)return;this.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){},addClosestInstantEventToSelection(instantEvents,worldX,worldMaxDist,selection){const instantEvent=tr.b.math.findClosestElementInSortedArray(instantEvents,function(x){return x.start;},worldX,worldMaxDist);if(!instantEvent)return;selection.push(instantEvent);}};return{Track,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const EventPresenter=tr.ui.b.EventPresenter;const ObjectInstanceTrack=tr.ui.b.define('object-instance-track',tr.ui.tracks.Track);ObjectInstanceTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-track');this.objectInstances_=[];this.objectSnapshots_=[];this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get objectInstances(){return this.objectInstances_;},set objectInstances(objectInstances){if(!objectInstances||objectInstances.length===0){this.heading='';this.objectInstances_=[];this.objectSnapshots_=[];return;}
7889this.heading=objectInstances[0].typeName;this.objectInstances_=objectInstances;this.objectSnapshots_=[];this.objectInstances_.forEach(function(instance){this.objectSnapshots_.push.apply(this.objectSnapshots_,instance.snapshots);},this);this.objectSnapshots_.sort(function(a,b){return a.ts-b.ts;});},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get snapshotRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=dt.xViewVectorToWorld(height);ctx.save();dt.applyTransformToCanvas(ctx);const objectInstances=this.objectInstances_;let loI=tr.b.math.findLowIndexInSortedArray(objectInstances,function(instance){return instance.deletionTs;},viewLWorld);ctx.strokeStyle='rgb(0,0,0)';for(let i=loI;i<objectInstances.length;++i){const instance=objectInstances[i];const x=instance.creationTs;if(x>viewRWorld)break;const right=instance.deletionTs===Number.MAX_VALUE?viewRWorld:instance.deletionTs;ctx.fillStyle=EventPresenter.getObjectInstanceColor(instance);ctx.fillRect(x,pixelRatio,right-x,height-2*pixelRatio);}
7890ctx.restore();const objectSnapshots=this.objectSnapshots_;loI=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts+snapshotRadiusWorld;},viewLWorld);for(let i=loI;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const x=snapshot.ts;if(x-snapshotRadiusWorld>viewRWorld)break;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getObjectSnapshotColor(snapshot);ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView,0,twoPi);ctx.fill();if(snapshot.selected){ctx.lineWidth=5;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,snapshotRadiusView-1,0,twoPi);ctx.lineWidth=2;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}}
7891ctx.lineWidth=1;let selectionState=SelectionState.NONE;if(objectInstances.length&&objectInstances[0].selectionState===SelectionState.DIMMED){selectionState=SelectionState.DIMMED;}
7892if(selectionState===SelectionState.DIMMED){const width=bounds.width*pixelRatio;ctx.fillStyle='rgba(255,255,255,0.5)';ctx.fillRect(0,0,width,height);ctx.restore();}},addEventsToTrackMap(eventToTrackMap){if(this.objectInstance_!==undefined){this.objectInstance_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}
7893if(this.objectSnapshots_!==undefined){this.objectSnapshots_.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){let foundSnapshot=false;function onSnapshot(snapshot){selection.push(snapshot);foundSnapshot=true;}
7894const snapshotRadiusView=this.snapshotRadiusView;const snapshotRadiusWorld=viewPixWidthWorld*snapshotRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.objectSnapshots_,function(x){return x.ts-snapshotRadiusWorld;},function(x){return 2*snapshotRadiusWorld;},loWX,hiWX,onSnapshot);if(foundSnapshot)return;tr.b.math.iterateOverIntersectingIntervals(this.objectInstances_,function(x){return x.creationTs;},function(x){return x.deletionTs-x.creationTs;},loWX,hiWX,(value)=>{selection.push(value);});},addEventNearToProvidedEventToSelection(event,offset,selection){let events;if(event instanceof tr.model.ObjectSnapshot){events=this.objectSnapshots_;}else if(event instanceof tr.model.ObjectInstance){events=this.objectInstances_;}else{throw new Error('Unrecognized event');}
7895const index=events.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<events.length){selection.push(events[newIndex]);return true;}
7896return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectSnapshots_,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ObjectInstanceTrack,options);return{ObjectInstanceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const StackedBarsTrack=tr.ui.b.define('stacked-bars-track',tr.ui.tracks.Track);StackedBarsTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('stacked-bars-track');this.objectInstance_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},addEventsToTrackMap(eventToTrackMap){const objectSnapshots=this.objectInstance_.snapshots;objectSnapshots.forEach(function(obj){eventToTrackMap.addEvent(obj,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onSnapshot(snapshot){selection.push(snapshot);}
7897const snapshots=this.objectInstance_.snapshots;const maxBounds=this.objectInstance_.parent.model.bounds.max;tr.b.math.iterateOverIntersectingIntervals(snapshots,function(x){return x.ts;},function(x,i){if(i===snapshots.length-1){if(snapshots.length===1){return maxBounds;}
7898return snapshots[i].ts-snapshots[i-1].ts;}
7899return snapshots[i+1].ts-snapshots[i].ts;},loWX,hiWX,onSnapshot);},addEventNearToProvidedEventToSelection(event,offset,selection){if(!(event instanceof tr.model.ObjectSnapshot)){throw new Error('Unrecognized event');}
7900const objectSnapshots=this.objectInstance_.snapshots;const index=objectSnapshots.indexOf(event);const newIndex=index+offset;if(newIndex>=0&&newIndex<objectSnapshots.length){selection.push(objectSnapshots[newIndex]);return true;}
7901return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const snapshot=tr.b.math.findClosestElementInSortedArray(this.objectInstance_.snapshots,function(x){return x.ts;},worldX,worldMaxDist);if(!snapshot)return;selection.push(snapshot);}};return{StackedBarsTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const EventPresenter=tr.ui.b.EventPresenter;let statCount;const excludedStats={'meminfo':{'pswpin':0,'pswpout':0,'pgmajfault':0},'diskinfo':{'io':0,'io_time':0,'read_time':0,'reads':0,'reads_merged':0,'sectors_read':0,'sectors_written':0,'weighted_io_time':0,'write_time':0,'writes':0,'writes_merged':0},'swapinfo':{}};const SystemStatsInstanceTrack=tr.ui.b.define('tr-ui-e-system-stats-instance-track',tr.ui.tracks.StackedBarsTrack);SystemStatsInstanceTrack.prototype={__proto__:tr.ui.tracks.StackedBarsTrack.prototype,decorate(viewport){tr.ui.tracks.StackedBarsTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('tr-ui-e-system-stats-instance-track');this.objectInstance_=null;},set objectInstances(objectInstances){if(!objectInstances){this.objectInstance_=[];return;}
7902if(objectInstances.length!==1){throw new Error('Bad object instance count.');}
7903this.objectInstance_=objectInstances[0];if(this.objectInstance_!==null){this.computeRates_(this.objectInstance_.snapshots);this.maxStats_=this.computeMaxStats_(this.objectInstance_.snapshots);}},computeRates_(snapshots){for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();let prevSnapshot;if(i===0){prevSnapshot=snapshots[0];}else{prevSnapshot=snapshots[i-1];}
7904const prevStats=prevSnapshot.getStats();let timeIntervalSeconds=(snapshot.ts-prevSnapshot.ts)/1000;if(timeIntervalSeconds===0){timeIntervalSeconds=1;}
7905this.computeRatesRecursive_(prevStats,stats,timeIntervalSeconds);}},computeRatesRecursive_(prevStats,stats,timeIntervalSeconds){for(const statName in stats){if(stats[statName]instanceof Object){this.computeRatesRecursive_(prevStats[statName],stats[statName],timeIntervalSeconds);}else{if(statName==='sectors_read'){stats.bytes_read_per_sec=(stats.sectors_read-
7906prevStats.sectors_read)*512/timeIntervalSeconds;}
7907if(statName==='sectors_written'){stats.bytes_written_per_sec=(stats.sectors_written-
7908prevStats.sectors_written)*512/timeIntervalSeconds;}
7909if(statName==='pgmajfault'){stats.pgmajfault_per_sec=(stats.pgmajfault-
7910prevStats.pgmajfault)/timeIntervalSeconds;}
7911if(statName==='pswpin'){stats.bytes_swpin_per_sec=(stats.pswpin-
7912prevStats.pswpin)*1000/timeIntervalSeconds;}
7913if(statName==='pswpout'){stats.bytes_swpout_per_sec=(stats.pswpout-
7914prevStats.pswpout)*1000/timeIntervalSeconds;}}}},computeMaxStats_(snapshots){const maxStats={};statCount=0;for(let i=0;i<snapshots.length;i++){const snapshot=snapshots[i];const stats=snapshot.getStats();this.computeMaxStatsRecursive_(stats,maxStats,excludedStats);}
7915return maxStats;},computeMaxStatsRecursive_(stats,maxStats,excludedStats){for(const statName in stats){if(stats[statName]instanceof Object){if(!(statName in maxStats)){maxStats[statName]={};}
7916let excludedNested;if(excludedStats&&statName in excludedStats){excludedNested=excludedStats[statName];}else{excludedNested=null;}
7917this.computeMaxStatsRecursive_(stats[statName],maxStats[statName],excludedNested);}else{if(excludedStats&&statName in excludedStats){continue;}
7918if(!(statName in maxStats)){maxStats[statName]=0;statCount++;}
7919if(stats[statName]>maxStats[statName]){maxStats[statName]=stats[statName];}}}},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawStatBars_(viewLWorld,viewRWorld);break;}},drawStatBars_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const width=bounds.width*pixelRatio;const height=(bounds.height*pixelRatio)/statCount;const vp=this.viewport.currentDisplayTransform;const maxStats=this.maxStats_;const objectSnapshots=this.objectInstance_.snapshots;let lowIndex=tr.b.math.findLowIndexInSortedArray(objectSnapshots,function(snapshot){return snapshot.ts;},viewLWorld);if(lowIndex>0)lowIndex-=1;for(let i=lowIndex;i<objectSnapshots.length;++i){const snapshot=objectSnapshots[i];const trace=snapshot.getStats();const currentY=height;const left=snapshot.ts;if(left>viewRWorld)break;let leftView=vp.xWorldToView(left);if(leftView<0)leftView=0;let right;if(i!==objectSnapshots.length-1){right=objectSnapshots[i+1].ts;}else{if(objectSnapshots.length>1){right=objectSnapshots[i].ts+(objectSnapshots[i].ts-
7920objectSnapshots[i-1].ts);}else{right=this.objectInstance_.parent.model.bounds.max;}}
7921let rightView=vp.xWorldToView(right);if(rightView>width){rightView=width;}
7922leftView=Math.floor(leftView);rightView=Math.floor(rightView);this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,trace,maxStats,currentY);if(i===lowIndex){this.drawStatNames_(leftView,height,currentY,'',maxStats);}}
7923ctx.lineWidth=1;},drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats,maxStats,currentY){const ctx=this.context();for(const statName in maxStats){if(stats[statName]instanceof Object){currentY=this.drawStatBarsRecursive_(snapshot,leftView,rightView,height,stats[statName],maxStats[statName],currentY);}else{const maxStat=maxStats[statName];ctx.fillStyle=EventPresenter.getBarSnapshotColor(snapshot,Math.round(currentY/height));let barHeight;if(maxStat>0){barHeight=height*Math.max(stats[statName],0)/maxStat;}else{barHeight=0;}
7924ctx.fillRect(leftView,currentY-barHeight,Math.max(rightView-leftView,1),barHeight);currentY+=height;}}
7925return currentY;},drawStatNames_(leftView,height,currentY,prefix,maxStats){const ctx=this.context();ctx.textAlign='end';ctx.font='12px Arial';ctx.fillStyle='#000000';for(const statName in maxStats){if(maxStats[statName]instanceof Object){currentY=this.drawStatNames_(leftView,height,currentY,statName,maxStats[statName]);}else{let fullname=statName;if(prefix!==''){fullname=prefix+' :: '+statName;}
7926ctx.fillText(fullname,leftView-10,currentY-height/4);currentY+=height;}}
7927return currentY;}};tr.ui.tracks.ObjectInstanceTrack.register(SystemStatsInstanceTrack,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsInstanceTrack,};});'use strict';tr.exportTo('tr.ui.e.system_stats',function(){const SystemStatsSnapshotView=tr.ui.b.define('tr-ui-e-system-stats-snapshot-view',tr.ui.analysis.ObjectSnapshotView);SystemStatsSnapshotView.prototype={__proto__:tr.ui.analysis.ObjectSnapshotView.prototype,decorate(){Polymer.dom(this).classList.add('tr-ui-e-system-stats-snapshot-view');},updateContents(){const snapshot=this.objectSnapshot_;if(!snapshot||!snapshot.getStats()){Polymer.dom(this).textContent='No system stats snapshot found.';return;}
7928Polymer.dom(this).textContent='';const stats=snapshot.getStats();Polymer.dom(this).appendChild(this.buildList_(stats));},isFloat(n){return typeof n==='number'&&n%1!==0;},buildList_(stats){const statList=document.createElement('ul');for(const statName in stats){const statText=document.createElement('li');Polymer.dom(statText).textContent=''+statName+': ';Polymer.dom(statList).appendChild(statText);if(stats[statName]instanceof Object){Polymer.dom(statList).appendChild(this.buildList_(stats[statName]));}else{if(this.isFloat(stats[statName])){Polymer.dom(statText).textContent+=stats[statName].toFixed(2);}else{Polymer.dom(statText).textContent+=stats[statName];}}}
7929return statList;}};tr.ui.analysis.ObjectSnapshotView.register(SystemStatsSnapshotView,{typeName:'base::TraceEventSystemStatsMonitor::SystemStats'});return{SystemStatsSnapshotView,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const IGNORED_ENTRIES={match:full=>full.startsWith('*CODE_AGE_')};const INSTANCE_TYPE_GROUPS={FIXED_ARRAY_TYPE:{match:full=>full.startsWith('*FIXED_ARRAY_'),realEntry:'FIXED_ARRAY_TYPE',keyToName:key=>key.slice('*FIXED_ARRAY_'.length).slice(0,-('_SUB_TYPE'.length)),nameToKey:name=>'*FIXED_ARRAY_'+name+'_SUB_TYPE'},CODE_TYPE:{match:full=>full.startsWith('*CODE_'),realEntry:'CODE_TYPE',keyToName:key=>key.slice('*CODE_'.length),nameToKey:name=>'*CODE_'+name},JS_OBJECTS:{match:full=>full.startsWith('JS_'),keyToName:key=>key,nameToKey:name=>name},Strings:{match:full=>full.endsWith('STRING_TYPE'),keyToName:key=>key,nameToKey:name=>name}};const DIFF_COLOR={GREEN:'#64DD17',RED:'#D50000'};function computePercentage(valueA,valueB){if(valueA===0)return 0;return valueA/valueB*100;}
7930class DiffEntry{constructor(originalEntry,diffEntry){this.originalEntry_=originalEntry;this.diffEntry_=diffEntry;}
7931get title(){return this.diffEntry_.title;}
7932get overall(){return this.diffEntry_.overall;}
7933get overAllocated(){return this.diffEntry_.overAllocated;}
7934get count(){return this.diffEntry_.count;}
7935get overallPercent(){return this.diffEntry_.overallPercent;}
7936get overAllocatedPercent(){return this.diffEntry_.overAllocatedPercent;}
7937get origin(){return this.originalEntry_;}
7938get diff(){return this.diffEntry_;}
7939get subRows(){return this.diffEntry_.subRows;}}
7940class Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){this.title_=title;this.overall_=overall;this.count_=count;this.overAllocated_=overAllocated;this.histogram_=histogram;this.overAllocatedHistogram_=overAllocatedHistogram;this.bucketSize_=this.histogram_.length;this.overallPercent_=100;this.overAllocatedPercent_=100;}
7941get title(){return this.title_;}
7942get overall(){return this.overall_;}
7943get count(){return this.count_;}
7944get overAllocated(){return this.overAllocated_;}
7945get histogram(){return this.histogram_;}
7946get overAllocatedHistogram(){return this.overAllocatedHistogram_;}
7947get bucketSize(){return this.bucketSize_;}
7948get overallPercent(){return this.overallPercent_;}
7949set overallPercent(value){this.overallPercent_=value;}
7950get overAllocatedPercent(){return this.overAllocatedPercent_;}
7951set overAllocatedPercent(value){this.overAllocatedPercent_=value;}
7952setFromObject(obj){this.count_=obj.count;this.overall_=obj.overall/1024;this.overAllocated_=obj.over_allocated/1024;this.histogram_=obj.histogram;this.overAllocatedHistogram_=obj.over_allocated_histogram;}
7953diff(other){const entry=new Entry(this.title_,other.count_-this.count,other.overall_-this.overall,other.overAllocated_-this.overAllocated,[],[]);entry.overallPercent=computePercentage(entry.overall,this.overall);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated);return new DiffEntry(this,entry);}}
7954class GroupedEntry extends Entry{constructor(title,count,overall,overAllocated,histogram,overAllocatedHistogram){super(title,count,overall,overAllocated,histogram,overAllocatedHistogram);this.histogram_.fill(0);this.overAllocatedHistogram_.fill(0);this.entries_=new Map();}
7955get title(){return this.title_;}
7956set title(value){this.title_=value;}
7957get subRows(){return Array.from(this.entries_.values());}
7958getEntryFromTitle(title){return this.entries_.get(title);}
7959add(entry){this.count_+=entry.count;this.overall_+=entry.overall;this.overAllocated_+=entry.overAllocated;if(this.bucketSize_===entry.bucketSize){for(let i=0;i<this.bucketSize_;++i){this.histogram_[i]+=entry.histogram[i];this.overAllocatedHistogram_[i]+=entry.overAllocatedHistogram[i];}}
7960this.entries_.set(entry.title,entry);}
7961accumulateUnknown(title){let unknownCount=this.count_;let unknownOverall=this.overall_;let unknownOverAllocated=this.overAllocated_;const unknownHistogram=tr.b.deepCopy(this.histogram_);const unknownOverAllocatedHistogram=tr.b.deepCopy(this.overAllocatedHistogram_);for(const entry of this.entries_.values()){unknownCount-=entry.count;unknownOverall-=entry.overall;unknownOverAllocated-=entry.overAllocated;for(let i=0;i<this.bucketSize_;++i){unknownHistogram[i]-=entry.histogram[i];unknownOverAllocatedHistogram[i]-=entry.overAllocatedHistogram[i];}}
7962unknownOverAllocated=unknownOverAllocated<0?0:unknownOverAllocated;this.entries_.set(title,new Entry(title,unknownCount,unknownOverall,unknownOverAllocated,unknownHistogram,unknownOverAllocatedHistogram));}
7963calculatePercentage(){for(const entry of this.entries_.values()){entry.overallPercent=computePercentage(entry.overall,this.overall_);entry.overAllocatedPercent=computePercentage(entry.overAllocated,this.overAllocated_);if(entry instanceof GroupedEntry)entry.calculatePercentage();}}
7964diff(other){let newTitle='';if(this.title_.startsWith('Isolate')){newTitle='Total';}else{newTitle=this.title_;}
7965const result=new GroupedEntry(newTitle,0,0,0,[],[]);for(const entry of this.entries_){const otherEntry=other.getEntryFromTitle(entry[0]);if(otherEntry===undefined)continue;result.add(entry[1].diff(otherEntry));}
7966result.overallPercent=computePercentage(result.overall,this.overall);result.overAllocatedPercent=computePercentage(result.overAllocated,this.overAllocated);return new DiffEntry(this,result);}}
7967function createSelector(targetEl,defaultValue,items,callback){const selectorEl=document.createElement('select');selectorEl.addEventListener('change',callback.bind(targetEl));const defaultOptionEl=document.createElement('option');for(let i=0;i<items.length;i++){const item=items[i];const optionEl=document.createElement('option');Polymer.dom(optionEl).textContent=item.label;optionEl.targetPropertyValue=item.value;optionEl.item=item;Polymer.dom(selectorEl).appendChild(optionEl);}
7968selectorEl.__defineGetter__('selectedValue',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;}
7969return selectorEl.children[selectorEl.selectedIndex].targetPropertyValue;});selectorEl.__defineGetter__('selectedItem',function(v){if(selectorEl.children[selectorEl.selectedIndex]===undefined){return undefined;}
7970return selectorEl.children[selectorEl.selectedIndex].item;});selectorEl.__defineSetter__('selectedValue',function(v){for(let i=0;i<selectorEl.children.length;i++){const value=selectorEl.children[i].targetPropertyValue;if(value===v){const changed=selectorEl.selectedIndex!==i;if(changed){selectorEl.selectedIndex=i;callback();}
7971return;}}
7972throw new Error('Not a valid value');});selectorEl.selectedIndex=-1;return selectorEl;}
7973function plusMinus(value,toFixed=3){return(value>0?'+':'')+value.toFixed(toFixed);}
7974function addArrow(value){if(value===0)return value;if(value===Number.NEGATIVE_INFINITY)return'\u2193\u221E';if(value===Number.POSITIVE_INFINITY)return'\u2191\u221E';return(value>0?'\u2191':'\u2193')+Math.abs(value.toFixed(3));}
7975Polymer({is:'tr-ui-e-v8-gc-objects-stats-table',ready(){this.$.diffOption.style.display='none';this.isolateEntries_=[];this.selector1_=undefined;this.selector2_=undefined;},constructDiffTable_(table){this.$.diffTable.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.diffTable.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overall.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overall-b.origin.overall;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overall);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7976return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overallPercent);if(row.overall>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overall<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7977return spanEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.overAllocated.toFixed(3);return spanEl;},cmp(a,b){return a.origin.overAllocated-b.origin.overAllocated;}},{title:'diff(KB)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.overAllocated);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7978return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'diff(%)',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=addArrow(row.overAllocatedPercent);if(row.overAllocated>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.overAllocated<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7979return spanEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Count',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=row.origin.count;return spanEl;},cmp(a,b){return a.origin.count-b.origin.count;}},{title:'diff',value(row){const spanEl=tr.ui.b.createSpan();spanEl.innerText=plusMinus(row.count,0);if(row.count>0){spanEl.style.color=DIFF_COLOR.RED;}else if(row.count<0){spanEl.style.color=DIFF_COLOR.GREEN;}
7980return spanEl;},cmp(a,b){return a.count-b.count;}},];},buildOptions_(){const items=[];for(const isolateEntry of this.isolateEntries_){items.push({label:isolateEntry.title,value:isolateEntry});}
7981this.$.diffOption.style.display='inline-block';this.selector1_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector1_);const spanEl=tr.ui.b.createSpan();spanEl.innerText=' VS ';Polymer.dom(this.$.diffOption).appendChild(spanEl);this.selector2_=createSelector(this,'',items,this.diffOptionChanged_);Polymer.dom(this.$.diffOption).appendChild(this.selector2_);},diffOptionChanged_(){const isolateEntry1=this.selector1_.selectedValue;const isolateEntry2=this.selector2_.selectedValue;if(isolateEntry1===undefined||isolateEntry2===undefined){return;}
7982if(isolateEntry1===isolateEntry2){this.$.diffTable.tableRows=[];this.$.diffTable.rebuild();return;}
7983this.$.diffTable.tableRows=[isolateEntry1.diff(isolateEntry2)];this.$.diffTable.rebuild();},constructTable_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.tableColumns=[{title:'Component',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.title;return typeEl;},showExpandButtons:true},{title:'Overall Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overall.toFixed(3);return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Over Allocated Memory (KB)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocated.toFixed(3);return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}},{title:'Overall Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},cmp(a,b){return a.count-b.count;}},{title:'Overall Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overallPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overall-b.overall;}},{title:'Overall Allocated Memory Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.overAllocatedPercent.toFixed(3)+'%';return typeEl;},cmp(a,b){return a.overAllocated-b.overAllocated;}}];this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;},buildSubEntry_(objects,groupEntry,keyToName){const typeGroup=INSTANCE_TYPE_GROUPS[groupEntry.title];for(const instanceType of typeGroup){const e=objects[instanceType];if(e===undefined)continue;delete objects[instanceType];let title=instanceType;if(keyToName!==undefined)title=keyToName(title);groupEntry.add(new Entry(title,e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));}},buildUnGroupedEntries_(objects,objectEntry,bucketSize){for(const title of Object.getOwnPropertyNames(objects)){const obj=objects[title];const groupedEntry=new GroupedEntry(title,0,0,0,new Array(bucketSize),new Array(bucketSize));groupedEntry.setFromObject(obj);objectEntry.add(groupedEntry);}},createGroupEntries_(groupEntries,objects,bucketSize){for(const groupName of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const groupEntry=new GroupedEntry(groupName,0,0,0,new Array(bucketSize),new Array(bucketSize));if(INSTANCE_TYPE_GROUPS[groupName].realEntry!==undefined){groupEntry.savedRealEntry=objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];delete objects[INSTANCE_TYPE_GROUPS[groupName].realEntry];}
7984groupEntries[groupName]=groupEntry;}},buildGroupEntries_(groupEntries,objectEntry){for(const groupName of Object.getOwnPropertyNames(groupEntries)){const groupEntry=groupEntries[groupName];if(groupEntry.savedRealEntry!==undefined){groupEntry.setFromObject(groupEntry.savedRealEntry);groupEntry.accumulateUnknown('UNKNOWN');delete groupEntry.savedRealEntry;}
7985objectEntry.add(groupEntry);}},buildSubEntriesForGroups_(groupEntries,objects){for(const instanceType of Object.getOwnPropertyNames(objects)){if(IGNORED_ENTRIES.match(instanceType)){delete objects[instanceType];continue;}
7986const e=objects[instanceType];for(const name of Object.getOwnPropertyNames(INSTANCE_TYPE_GROUPS)){const group=INSTANCE_TYPE_GROUPS[name];if(group.match(instanceType)){groupEntries[name].add(new Entry(group.keyToName(instanceType),e.count,e.overall/1024,e.over_allocated/1024,e.histogram,e.over_allocated_histogram));delete objects[instanceType];}}}},build_(objects,objectEntry,bucketSize){delete objects.END;const groupEntries={};this.createGroupEntries_(groupEntries,objects,bucketSize);this.buildSubEntriesForGroups_(groupEntries,objects);this.buildGroupEntries_(groupEntries,objectEntry);this.buildUnGroupedEntries_(objects,objectEntry,bucketSize);},set selection(slices){slices.sortEvents(function(a,b){return b.start-a.start;});const previous=undefined;for(const slice of slices){if(!slice instanceof tr.e.v8.V8GCStatsThreadSlice)continue;const liveObjects=slice.liveObjects;const deadObjects=slice.deadObjects;const isolate=liveObjects.isolate;const isolateEntry=new GroupedEntry('Isolate_'+isolate+' at '+slice.start.toFixed(3)+' ms',0,0,0,[],[]);const liveEntry=new GroupedEntry('live objects',0,0,0,[],[]);const deadEntry=new GroupedEntry('dead objects',0,0,0,[],[]);const liveBucketSize=liveObjects.bucket_sizes.length;const deadBucketSize=deadObjects.bucket_sizes.length;this.build_(tr.b.deepCopy(liveObjects.type_data),liveEntry,liveBucketSize);isolateEntry.add(liveEntry);this.build_(tr.b.deepCopy(deadObjects.type_data),deadEntry,deadBucketSize);isolateEntry.add(deadEntry);isolateEntry.calculatePercentage();this.isolateEntries_.push(isolateEntry);}
7987this.updateTable_();if(slices.length>1){this.buildOptions_();this.constructDiffTable_();}},updateTable_(){this.constructTable_();this.$.table.tableRows=this.isolateEntries_;this.$.table.rebuild();},});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:true,title:'V8 GC Stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){const IC_STATS_PROPERTIES=['type','category','scriptName','filePosition','state','isNative','map','propertiesMode','numberOfOwnProperties','instanceType'];class ICStatsEntry{constructor(obj){this.type_=obj.type;if(this.type_.includes('Store')){this.category_='Store';}else if(this.type_.includes('Load')){this.category_='Load';}
7988this.state_=obj.state;if(obj.functionName){this.functionName_=obj.optimized?'*':'~';this.functionName_+=obj.functionName.length===0?'(anonymous function)':obj.functionName;}
7989this.offset_=obj.offset;this.scriptName_=obj.scriptName?obj.scriptName:'unknown';this.isNative_=obj.scriptName&&obj.scriptName.includes('native');this.lineNum_=obj.lineNum?obj.lineNum:'unknown';this.filePosition_=this.scriptName_+':'+this.lineNum_;if(this.functionName_){this.filePosition_+=' '+this.functionName_+'+'+this.offset_;}
7990this.constructor_=obj.constructor?false:true;this.map_=obj.map;if(this.map_){this.propertiesMode_=obj.dict===0?'slow':'fast';}else{this.propertiesMode_='unknown';}
7991this.numberOfOwnProperties_=obj.own;this.instanceType_=obj.instanceType;this.key_=obj.key;}
7992get type(){return this.type_;}
7993get category(){return this.category_;}
7994get state(){return this.state_;}
7995get functionName(){return this.functionName_;}
7996get offset(){return this.offset_;}
7997get scriptName(){return this.scriptName_;}
7998get isNative(){return this.isNative_;}
7999get lineNumber(){return this.lineNum_;}
8000get isConstructor(){return this.constructor_;}
8001get map(){return this.map_;}
8002get propertiesMode(){return this.propertiesMode_;}
8003get numberOfOwnProperties(){return this.numberOfOwnProperties_;}
8004get instanceType(){return this.instanceType_;}
8005get filePosition(){return this.filePosition_;}}
8006class ICStatsEntryGroup{constructor(property,key){this.property_=property;this.key_=key;this.percentage_=0;this.entries_=[];this.subGroup_=undefined;}
8007static groupBy(groups,entries,property){for(const entry of entries){const key=entry[property];let group=groups.get(key);if(!group){group=new ICStatsEntryGroup(property,key);groups.set(key,group);}
8008group.add(entry);}
8009for(const group of groups.values()){group.percentage=group.length/entries.length;}}
8010add(entry){this.entries_.push(entry);}
8011createSubGroup(){if(this.subGroup_)return this.subGroup_;this.subGroup_=new Map();for(const property of IC_STATS_PROPERTIES){if(property===this.property_)continue;const groups=new Map();this.subGroup_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);}
8012return this.subGroup_;}
8013get entries(){return this.entries_;}
8014get key(){return this.key_;}
8015get length(){return this.entries_.length;}
8016get percentage(){return this.percentage_;}
8017set percentage(value){this.percentage_=value;}}
8018class ICStatsCollection{constructor(){this.entries_=[];this.groupedEntries_=new Map();}
8019add(entry){this.entries_.push(entry);}
8020groupBy(property){if(this.groupedEntries_.has(property)){return Array.from(this.groupedEntries_.get(property).values());}
8021const groups=new Map();this.groupedEntries_.set(property,groups);ICStatsEntryGroup.groupBy(groups,this.entries_,property);return Array.from(groups.values());}
8022get entries(){return this.entries_;}
8023get length(){return this.entries_.length;}}
8024return{IC_STATS_PROPERTIES,ICStatsEntry,ICStatsEntryGroup,ICStatsCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){const PROPERTIES=tr.e.v8.IC_STATS_PROPERTIES.map(x=>{return{label:x,value:x};});const ICStatsEntry=tr.e.v8.ICStatsEntry;const ICStatsEntryGroup=tr.e.v8.ICStatsEntryGroup;const ICStatsCollection=tr.e.v8.ICStatsCollection;Polymer({is:'tr-ui-e-v8-ic-stats-table',ready(){this.icStatsCollection_=new ICStatsCollection();this.groupKey_=PROPERTIES[0].value;this.selector_=tr.ui.b.createSelector(this,'groupKey','v8ICStatsGroupKey',this.groupKey_,PROPERTIES);Polymer.dom(this.$.groupOption).appendChild(this.selector_);},get groupKey(){return this.groupKey_;},set groupKey(key){this.groupKey_=key;if(this.icStatsCollection_.length===0)return;this.updateTable_(this.groupKey_);},constructTable_(table,groupKey){table.tableColumns=[{title:'',value:row=>{let expanded=false;const buttonEl=tr.ui.b.createButton('details',function(){const previousSibling=Polymer.dom(this).parentNode.parentNode;const parentNode=previousSibling.parentNode;if(expanded){const trEls=parentNode.getElementsByClassName('subTable');Array.from(trEls).map(x=>x.parentNode.removeChild(x));expanded=false;return;}
8025expanded=true;const subGroups=row.createSubGroup();const tr=document.createElement('tr');tr.classList.add('subTable');tr.appendChild(document.createElement('td'));const td=document.createElement('td');td.colSpan=3;for(const subGroup of subGroups){const property=subGroup[0];const all=Array.from(subGroup[1].values());const group=all.slice(0,20);const divEl=document.createElement('div');const spanEl=document.createElement('span');const subTableEl=document.createElement('tr-ui-b-table');spanEl.innerText=`Top 20 out of ${all.length}`;spanEl.style.fontWeight='bold';spanEl.style.fontSize='14px';divEl.appendChild(spanEl);this.constructTable_(subTableEl,property);subTableEl.tableRows=group;subTableEl.rebuild();divEl.appendChild(subTableEl);td.appendChild(divEl);}
8026tr.appendChild(td);parentNode.insertBefore(tr,previousSibling.nextSibling);});return buttonEl;}},{title:'Percentage',value(row){const spanEl=document.createElement('span');spanEl.innerText=(row.percentage*100).toFixed(3)+'%';return spanEl;},cmp:(a,b)=>a.percentage-b.percentage},{title:'Count',value(row){const spanEl=document.createElement('span');spanEl.innerText=row.length;return spanEl;},cmp:(a,b)=>a.length-b.length},{title:groupKey,value(row){const spanEl=document.createElement('span');spanEl.innerText=row.key?row.key:'';return spanEl;}}];table.sortColumnIndex=1;table.sortDescending=true;},updateTable_(groupKey){this.constructTable_(this.$.table,groupKey);this.$.table.tableRows=this.icStatsCollection_.groupBy(groupKey);this.$.table.rebuild();},set selection(slices){for(const slice of slices){for(const icStatsObj of slice.icStats){const entry=new ICStatsEntry(icStatsObj);this.icStatsCollection_.add(entry);}}
8027this.$.total.innerText='Total items: '+this.icStatsCollection_.length;this.updateTable_(this.selector_.selectedValue);}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:true,title:'V8 IC stats slices'});'use strict';tr.exportTo('tr.e.v8',function(){class RuntimeStatsEntry{constructor(name,count,time){this.name_=name;this.count_=count;this.time_=time;}
8028get name(){return this.name_;}
8029get count(){return this.count_;}
8030get time(){return this.time_;}
8031addSample(count,time){this.count_+=count;this.time_+=time;}}
8032class RuntimeStatsGroup extends RuntimeStatsEntry{constructor(name,matchRegex){super(name,0,0);this.regex_=matchRegex;this.entries_=new Map();}
8033match(name){return this.regex_&&name.match(this.regex_);}
8034add(entry){const value=this.entries_.get(entry.name);if(value!==undefined){value.addSample(entry.count,entry.time);}else{this.entries_.set(entry.name,entry);}
8035this.count_+=entry.count;this.time_+=entry.time;}
8036get values(){return Array.from(this.entries_.values());}}
8037class RuntimeStatsGroupCollection{constructor(){this.groups_=[new RuntimeStatsGroup('Total'),new RuntimeStatsGroup('IC',/.*IC_.*/),new RuntimeStatsGroup('Optimize',/StackGuard|.*Optimize.*|.*Deoptimize.*|Recompile.*/),new RuntimeStatsGroup('Compile-Background',/(.*CompileBackground.*)/),new RuntimeStatsGroup('Compile',/(^Compile.*)|(.*_Compile.*)/),new RuntimeStatsGroup('Parse-Background',/.*ParseBackground.*/),new RuntimeStatsGroup('Parse',/.*Parse.*/),new RuntimeStatsGroup('Blink C++',/.*Callback.*/),new RuntimeStatsGroup('API',/.*API.*/),new RuntimeStatsGroup('GC',/GC|AllocateInTargetSpace/),new RuntimeStatsGroup('JavaScript',/JS_Execution/),new RuntimeStatsGroup('V8 C++',/.*/)];}
8038addSlices(slices){for(const slice of slices){if(!(slice instanceof tr.e.v8.V8ThreadSlice))return;let runtimeCallStats;try{runtimeCallStats=JSON.parse(slice.runtimeCallStats);}catch(e){runtimeCallStats=slice.runtimeCallStats;}
8039if(runtimeCallStats===undefined)continue;for(const[name,stat]of Object.entries(runtimeCallStats)){for(let i=1;i<this.groups_.length;++i){if(this.groups_[i].match(name)){if(stat.length!==2)break;const entry=new RuntimeStatsEntry(name,stat[0],stat[1]);this.groups_[0].addSample(stat[0],stat[1]);this.groups_[i].add(entry);break;}}}}}
8040get totalTime(){return this.groups_[0].time;}
8041get totalCount(){return this.groups_[0].count;}
8042get runtimeGroups(){return this.groups_;}}
8043return{RuntimeStatsEntry,RuntimeStatsGroup,RuntimeStatsGroupCollection,};});'use strict';tr.exportTo('tr.ui.e.v8',function(){function handleCodeSearch_(event){if(event.target.parentNode===undefined)return;let name=event.target.parentNode.entryName;let url='https://cs.chromium.org/search/?sq=package:chromium&type=cs&q=';if(name.startsWith('API_'))name=name.substring(4);url+=encodeURIComponent(name)+'+file:src/v8/src';window.open(url,'_blank');}
8044Polymer({is:'tr-ui-e-v8-runtime-call-stats-table',ready(){this.table_=this.$.table;this.totalTime_=0;},constructTable_(totalTime){this.table_.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.table_.tableColumns=[{title:'Name',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.name;if(!(row instanceof tr.e.v8.RuntimeStatsGroup)){typeEl.title='click ? for code search';typeEl.entryName=row.name;const codeSearchEl=document.createElement('span');codeSearchEl.innerText='?';codeSearchEl.style.float='right';codeSearchEl.style.borderRadius='5px';codeSearchEl.style.backgroundColor='#EEE';codeSearchEl.addEventListener('click',handleCodeSearch_.bind(this));typeEl.appendChild(codeSearchEl);}
8045return typeEl;},width:'200px',showExpandButtons:true},{title:'Time',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/1000.0).toFixed(3)+' ms';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}},{title:'Count',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.count;return typeEl;},width:'100px',cmp(a,b){return a.count-b.count;}},{title:'Percent',value(row){const typeEl=document.createElement('span');typeEl.innerText=(row.time/totalTime*100).toFixed(3)+'%';return typeEl;},width:'100px',cmp(a,b){return a.time-b.time;}}];this.table_.sortColumnIndex=1;this.table_.sortDescending=true;this.table_.subRowsPropertyName='values';},set slices(slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);if(runtimeGroupCollection.totalTime>0){this.constructTable_(runtimeGroupCollection.totalTime);this.table_.tableRows=runtimeGroupCollection.runtimeGroups;this.table_.rebuild();}}});return{};});'use strict';Polymer({is:'tr-ui-e-multi-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-multi-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:true,title:'V8 slices'});'use strict';Polymer({is:'tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.gcObjectsStats.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-gc-stats-thread-slice-sub-view',tr.e.v8.V8GCStatsThreadSlice,{multi:false,title:'V8 GC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.table.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-ic-stats-thread-slice-sub-view',tr.e.v8.V8ICStatsThreadSlice,{multi:false,title:'V8 IC stats slice'});'use strict';Polymer({is:'tr-ui-e-single-v8-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.runtimeCallStats.slices=selection;this.$.content.selection=selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-e-single-v8-thread-slice-sub-view',tr.e.v8.V8ThreadSlice,{multi:false,title:'V8 slice'});'use strict';tr.exportTo('tr.c',function(){function ScriptingObject(){}
8046ScriptingObject.prototype={onModelChanged(model){}};return{ScriptingObject,};});'use strict';tr.exportTo('tr.c',function(){function ScriptingController(brushingStateController){this.brushingStateController_=brushingStateController;this.scriptObjectNames_=[];this.scriptObjectValues_=[];this.brushingStateController.addEventListener('model-changed',this.onModelChanged_.bind(this));const typeInfos=ScriptingObjectRegistry.getAllRegisteredTypeInfos();typeInfos.forEach(function(typeInfo){this.addScriptObject(typeInfo.metadata.name,typeInfo.constructor);global[typeInfo.metadata.name]=typeInfo.constructor;},this);}
8047function ScriptingObjectRegistry(){}
8048const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(ScriptingObjectRegistry,options);ScriptingController.prototype={get brushingStateController(){return this.brushingStateController_;},onModelChanged_(){this.scriptObjectValues_.forEach(function(v){if(v.onModelChanged){v.onModelChanged(this.brushingStateController.model);}},this);},addScriptObject(name,value){this.scriptObjectNames_.push(name);this.scriptObjectValues_.push(value);},executeCommand(command){const f=new Function(this.scriptObjectNames_,'return eval('+command+')');return f.apply(null,this.scriptObjectValues_);}};return{ScriptingController,ScriptingObjectRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function MetricRegistry(){}
8049const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};tr.b.decorateExtensionRegistry(MetricRegistry,options);function camelCaseToHackerString(camelCase){let hackerString='';for(const c of camelCase){const lowered=c.toLocaleLowerCase();if(lowered===c){hackerString+=c;}else{hackerString+='_'+lowered;}}
8050return hackerString;}
8051function getCallStack(){try{throw new Error();}catch(error){return error.stack;}}
8052function getPathsFromStack(stack){return stack.split('\n').map(line=>{line=line.replace(/^ */,'').split(':');if(line.length<4)return'';return line[line.length-3].split('/');}).filter(tr.b.identity);}
8053MetricRegistry.checkFilename=function(metricName,opt_metricPathForTest){if(metricName==='runtimeStatsTotalMetric'||metricName==='v8AndMemoryMetrics'){return;}
8054const expectedFilename=camelCaseToHackerString(metricName)+'.html';const stack=getCallStack();let metricPath=opt_metricPathForTest;if(metricPath===undefined){const paths=getPathsFromStack(stack);const METRIC_STACK_INDEX=5;if(paths.length<=METRIC_STACK_INDEX||paths[METRIC_STACK_INDEX].join('/')===paths[0].join('/')){return;}
8055metricPath=paths[METRIC_STACK_INDEX].slice(paths[METRIC_STACK_INDEX].length-2);}
8056if(!metricPath[1].endsWith('_test.html')&&metricPath[1]!==expectedFilename&&metricPath.join('_')!==expectedFilename){throw new Error('Expected '+metricName+' to be in a file named '+
8057expectedFilename+'; actual: '+metricPath.join('/')+'; stack: '+stack.replace(/\n/g,'\n  '));}};MetricRegistry.addEventListener('will-register',function(e){const metric=e.typeInfo.constructor;if(!(metric instanceof Function)){throw new Error('Metrics must be functions.');}
8058if(!metric.name.endsWith('Metric')&&!metric.name.endsWith('Metrics')){throw new Error('Metric names must end with "Metric" or "Metrics".');}
8059if(metric.length<2){throw new Error('Metrics take a HistogramSet and a Model and '+'optionally an options dictionary.');}
8060MetricRegistry.checkFilename(metric.name);});return{MetricRegistry,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS=2000;const MIN_DRAW_DELAY_IN_MS=80;const MAX_DRAW_DELAY_IN_MS=2000;function findProcess(processName,model){for(const pid in model.processes){const process=model.processes[pid];if(process.name===processName){return process;}}
8061return undefined;}
8062function findThreads(process,threadPrefix){if(process===undefined)return undefined;const threads=[];for(const tid in process.threads){const thread=process.threads[tid];if(thread.name.startsWith(threadPrefix)){threads.push(thread);}}
8063return threads;}
8064function findUIThread(process){if(process===undefined)return undefined;const threads=findThreads(process,'UI Thread');if(threads!==undefined&&threads.length===1){return threads[0];}
8065return process.threads[process.pid];}
8066function findLaunchSlices(model){const launches=[];const binders=findThreads(findProcess('system_server',model),'Binder');for(const binderId in binders){const binder=binders[binderId];for(const sliceId in binder.asyncSliceGroup.slices){const slice=binder.asyncSliceGroup.slices[sliceId];if(slice.title.startsWith('launching:')){launches.push(slice);}}}
8067return launches;}
8068function findDrawSlice(appName,startNotBefore,model){let drawSlice=undefined;const thread=findUIThread(findProcess(appName,model));if(thread===undefined)return undefined;for(const sliceId in thread.sliceGroup.slices){const slice=thread.sliceGroup.slices[sliceId];if(slice.start<startNotBefore+MIN_DRAW_DELAY_IN_MS||slice.start>startNotBefore+MAX_DRAW_DELAY_IN_MS)continue;if(slice.title!=='draw')continue;if(drawSlice===undefined||slice.start<drawSlice.start){drawSlice=slice;}}
8069return drawSlice;}
8070function findInputEventSlice(endNotAfter,model){const endNotBefore=endNotAfter-MAX_INPUT_EVENT_TO_STARTUP_DELAY_IN_MS;let inputSlice=undefined;const systemUi=findUIThread(findProcess('com.android.systemui',model));if(systemUi===undefined)return undefined;for(const sliceId in systemUi.asyncSliceGroup.slices){const slice=systemUi.asyncSliceGroup.slices[sliceId];if(slice.end>endNotAfter||slice.end<endNotBefore)continue;if(slice.title!=='deliverInputEvent')continue;if(inputSlice===undefined||slice.end>inputSlice.end){inputSlice=slice;}}
8071return inputSlice;}
8072function computeStartupTimeInMs(appName,launchSlice,model){let startupStart=launchSlice.start;let startupEnd=launchSlice.end;const drawSlice=findDrawSlice(appName,launchSlice.end,model);if(drawSlice!==undefined){startupEnd=drawSlice.end;}
8073const inputSlice=findInputEventSlice(launchSlice.start,model);if(inputSlice!==undefined){startupStart=inputSlice.start;}
8074return startupEnd-startupStart;}
8075function measureStartup(histograms,model){const launches=findLaunchSlices(model);for(const sliceId in launches){const launchSlice=launches[sliceId];const appName=launchSlice.title.split(': ')[1];const startupMs=computeStartupTimeInMs(appName,launchSlice,model);histograms.createHistogram(`android:systrace:startup:${appName}`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,startupMs);}}
8076function measureThreadStates(histograms,model,rangeOfInterest){for(const pid in model.processes){const process=model.processes[pid];if(process.name===undefined)continue;let hasSlices=false;let timeRunning=0;let timeRunnable=0;let timeSleeping=0;let timeUninterruptible=0;let timeBlockIO=0;let timeUnknown=0;for(const tid in process.threads){const thread=process.threads[tid];if(thread.timeSlices===undefined)continue;for(const sliceId in thread.timeSlices){const slice=thread.timeSlices[sliceId];const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const duration=intersection.duration;if(duration===0)continue;hasSlices=true;if(slice.title==='Running'){timeRunning+=duration;}else if(slice.title==='Runnable'){timeRunnable+=duration;}else if(slice.title==='Sleeping'){timeSleeping+=duration;}else if(slice.title.startsWith('Uninterruptible')){timeUninterruptible+=duration;if(slice.title.includes('Block I/O'))timeBlockIO+=duration;}else{timeUnknown+=duration;}}}
8077if(hasSlices){const wall=rangeOfInterest.max-rangeOfInterest.min;histograms.createHistogram(`android:systrace:threadtime:${process.name}:running`,tr.b.Unit.byName.normalizedPercentage,timeRunning/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:runnable`,tr.b.Unit.byName.normalizedPercentage,timeRunnable/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:sleeping`,tr.b.Unit.byName.normalizedPercentage,timeSleeping/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:blockio`,tr.b.Unit.byName.normalizedPercentage,timeBlockIO/wall);histograms.createHistogram(`android:systrace:threadtime:${process.name}:uninterruptible`,tr.b.Unit.byName.normalizedPercentage,timeUninterruptible/wall);if(timeUnknown>0){histograms.createHistogram(`android:systrace:threadtime:${process.name}:unknown`,tr.b.Unit.byName.normalizedPercentage,timeUnknown/wall);}}}}
8078function androidSystraceMetric(histograms,model,options){let rangeOfInterest=model.bounds;if(options!==undefined&&options.rangeOfInterest!==undefined){rangeOfInterest=options.rangeOfInterest;}
8079measureStartup(histograms,model);measureThreadStates(histograms,model,rangeOfInterest);}
8080tr.metrics.MetricRegistry.register(androidSystraceMetric,{supportsRangeOfInterest:true});return{androidSystraceMetric,};});'use strict';tr.exportTo('tr.b.math',function(){const PERCENTILE_PRECISION=1e-7;function PiecewiseLinearFunction(){this.pieces=[];}
8081PiecewiseLinearFunction.prototype={push(x1,y1,x2,y2){if(x1>=x2){throw new Error('Invalid segment');}
8082if(this.pieces.length>0&&this.pieces[this.pieces.length-1].x2>x1){throw new Error('Potentially overlapping segments');}
8083if(x1<x2){this.pieces.push(new Piece(x1,y1,x2,y2));}},partBelow(y){return this.pieces.reduce((acc,p)=>(acc+p.partBelow(y)),0);},get min(){return this.pieces.reduce((acc,p)=>Math.min(acc,p.min),Infinity);},get max(){return this.pieces.reduce((acc,p)=>Math.max(acc,p.max),-Infinity);},get average(){let weightedSum=0;let totalWeight=0;this.pieces.forEach(function(piece){weightedSum+=piece.width*piece.average;totalWeight+=piece.width;});if(totalWeight===0)return 0;return weightedSum/totalWeight;},percentile(percent){if(!(percent>=0&&percent<=1)){throw new Error('percent must be [0,1]');}
8084let lower=this.min;let upper=this.max;const total=this.partBelow(upper);if(total===0)return 0;while(upper-lower>PERCENTILE_PRECISION){const middle=(lower+upper)/2;const below=this.partBelow(middle);if(below/total<percent){lower=middle;}else{upper=middle;}}
8085return(lower+upper)/2;}};function Piece(x1,y1,x2,y2){this.x1=x1;this.y1=y1;this.x2=x2;this.y2=y2;}
8086Piece.prototype={partBelow(y){const width=this.width;if(width===0)return 0;const minY=this.min;const maxY=this.max;if(y>=maxY)return width;if(y<minY)return 0;return(y-minY)/(maxY-minY)*width;},get min(){return Math.min(this.y1,this.y2);},get max(){return Math.max(this.y1,this.y2);},get average(){return(this.y1+this.y2)/2;},get width(){return this.x2-this.x1;}};return{PiecewiseLinearFunction,};});'use strict';tr.exportTo('tr.metrics.v8.utils',function(){const IDLE_TASK_EVENT='SingleThreadIdleTaskRunner::RunTask';const V8_EXECUTE='V8.Execute';const GC_EVENT_PREFIX='V8.GC';const FULL_GC_EVENT='V8.GCCompactor';const LOW_MEMORY_EVENT='V8.GCLowMemoryNotification';const MAJOR_GC_EVENT='MajorGC';const MINOR_GC_EVENT='MinorGC';const TOP_GC_EVENTS={'V8.GCCompactor':'v8-gc-full-mark-compactor','V8.GCFinalizeMC':'v8-gc-latency-mark-compactor','V8.GCFinalizeMCReduceMemory':'v8-gc-memory-mark-compactor','V8.GCIncrementalMarking':'v8-gc-incremental-step','V8.GCIncrementalMarkingFinalize':'v8-gc-incremental-finalize','V8.GCIncrementalMarkingStart':'v8-gc-incremental-start','V8.GCPhantomHandleProcessingCallback':'v8-gc-phantom-handle-callback','V8.GCScavenger':'v8-gc-scavenger'};const LOW_MEMORY_MARK_COMPACTOR='v8-gc-low-memory-mark-compactor';function findParent(event,predicate){let parent=event.parentSlice;while(parent){if(predicate(parent)){return parent;}
8087parent=parent.parentSlice;}
8088return null;}
8089function isIdleTask(event){return event.title===IDLE_TASK_EVENT;}
8090function isLowMemoryEvent(event){return event.title===LOW_MEMORY_EVENT;}
8091function isV8Event(event){return event.title.startsWith('V8.');}
8092function isV8ExecuteEvent(event){return event.title===V8_EXECUTE;}
8093function isTopV8ExecuteEvent(event){return isV8ExecuteEvent(event)&&findParent(isV8ExecuteEvent)===null;}
8094function isGarbageCollectionEvent(event){return event.title&&event.title.startsWith(GC_EVENT_PREFIX)&&event.title!==LOW_MEMORY_EVENT;}
8095function isTopGarbageCollectionEvent(event){return event.title in TOP_GC_EVENTS;}
8096function isForcedGarbageCollectionEvent(event){return findParent(event,isLowMemoryEvent)!==null;}
8097function isSubGarbageCollectionEvent(event){return isGarbageCollectionEvent(event)&&event.parentSlice&&(isTopGarbageCollectionEvent(event.parentSlice)||event.parentSlice.title===MAJOR_GC_EVENT||event.parentSlice.title===MINOR_GC_EVENT);}
8098function isCompileOptimizeEvent(event){return(event.title==='V8.OptimizeCode'||event.title==='V8.RecompileSynchronous'||event.title==='V8.RecompileConcurrent');}
8099function isCompileUnoptimizeEvent(event){return(event.title==='V8.CompileIgnition'||event.title==='V8.CompileUnoptimizedInnerFunctions'||event.title==='V8.Compile'||event.title==='V8.CompileEval'||event.title==='V8.CompileCode'||event.title==='V8.CompileScript');}
8100function isCompileParseEvent(event){return(event.title==='V8.PreParse'||event.title==='V8.ParseFunction'||event.title==='V8.ParseProgram');}
8101function isCompileEvent(event){return tr.b.getCategoryParts(event.category).includes('disabled-by-default-v8.compile');}
8102function isFullMarkCompactorEvent(event){return event.title==='V8.GCCompactor';}
8103function isIncrementalMarkingEvent(event){return event.title.startsWith('V8.GCIncrementalMarking');}
8104function isLatencyMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMC';}
8105function isMemoryMarkCompactorEvent(event){return event.title==='V8.GCFinalizeMCReduceMemory';}
8106function isScavengerEvent(event){return event.title==='V8.GCScavenger';}
8107function topGarbageCollectionEventName(event){if(event.title===FULL_GC_EVENT){if(findParent(event,isLowMemoryEvent)){return LOW_MEMORY_MARK_COMPACTOR;}}
8108return TOP_GC_EVENTS[event.title];}
8109function subGarbageCollectionEventName(event){const topEvent=findParent(event,isTopGarbageCollectionEvent);const prefix=topEvent?topGarbageCollectionEventName(topEvent):'unknown';const name=event.title.replace('V8.GC_MC_','').replace('V8.GC_SCAVENGER_','').replace('V8.GC_','').replace(/_/g,'-').toLowerCase();return prefix+'-'+name;}
8110function groupAndProcessEvents(model,filterCallback,nameCallback,processCallback){const nameToEvents={};for(const event of model.getDescendantEvents()){if(!filterCallback(event))continue;const name=nameCallback(event);nameToEvents[name]=nameToEvents[name]||[];nameToEvents[name].push(event);}
8111for(const[name,events]of Object.entries(nameToEvents)){processCallback(name,events);}}
8112function unionOfIntervals(intervals){if(intervals.length===0)return[];return tr.b.math.mergeRanges(intervals.map(x=>{return{min:x.start,max:x.end};}),1e-6,function(ranges){return{start:ranges.reduce((acc,x)=>Math.min(acc,x.min),ranges[0].min),end:ranges.reduce((acc,x)=>Math.max(acc,x.max),ranges[0].max)};});}
8113function hasV8Stats(globalMemoryDump){let v8stats=undefined;globalMemoryDump.iterateContainerDumps(function(dump){v8stats=v8stats||dump.getMemoryAllocatorDumpByFullName('v8');});return!!v8stats;}
8114function rangeForMemoryDumps(model){const startOfFirstDumpWithV8=model.globalMemoryDumps.filter(hasV8Stats).reduce((start,dump)=>Math.min(start,dump.start),Infinity);if(startOfFirstDumpWithV8===Infinity)return new tr.b.math.Range();return tr.b.math.Range.fromExplicitRange(startOfFirstDumpWithV8,Infinity);}
8115return{findParent,groupAndProcessEvents,isCompileEvent,isCompileOptimizeEvent,isCompileUnoptimizeEvent,isCompileParseEvent,isForcedGarbageCollectionEvent,isFullMarkCompactorEvent,isGarbageCollectionEvent,isIdleTask,isIncrementalMarkingEvent,isLatencyMarkCompactorEvent,isLowMemoryEvent,isMemoryMarkCompactorEvent,isScavengerEvent,isSubGarbageCollectionEvent,isTopGarbageCollectionEvent,isTopV8ExecuteEvent,isV8Event,isV8ExecuteEvent,rangeForMemoryDumps,subGarbageCollectionEventName,topGarbageCollectionEventName,unionOfIntervals,};});'use strict';tr.exportTo('tr.metrics.blink',function(){const BLINK_GC_EVENTS={'BlinkGCMarking':'blink-gc-marking','ThreadState::completeSweep':'blink-gc-complete-sweep','ThreadState::performIdleLazySweep':'blink-gc-idle-lazy-sweep'};function isBlinkGarbageCollectionEvent(event){return event.title in BLINK_GC_EVENTS;}
8116function blinkGarbageCollectionEventName(event){return BLINK_GC_EVENTS[event.title];}
8117function blinkGcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addIdleTimesOfTopEvents(histograms,model);addTotalIdleTimesOfTopEvents(histograms,model);}
8118tr.metrics.MetricRegistry.register(blinkGcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
8119function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
8120function createPercentage(name,numerator,denominator){const histogram=new tr.v.Histogram(name,percentage_biggerIsBetter);if(denominator===0){histogram.addSample(0);}else{histogram.addSample(numerator/denominator);}
8121return histogram;}
8122function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8123function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8124function addIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,blinkGarbageCollectionEventName,function(name,events){addIdleTimes(histograms,model,name,events);});}
8125function addTotalIdleTimesOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isBlinkGarbageCollectionEvent,event=>'blink-gc-total',function(name,events){addIdleTimes(histograms,model,name,events);});}
8126function addIdleTimes(histograms,model,name,events){const cpuDuration=createNumericForIdleTime(name+'_cpu');const insideIdle=createNumericForIdleTime(name+'_inside_idle');const outsideIdle=createNumericForIdleTime(name+'_outside_idle');const idleDeadlineOverrun=createNumericForIdleTime(name+'_idle_deadline_overrun');events.forEach(function(event){const idleTask=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isIdleTask);let inside=0;let overrun=0;if(idleTask){const allottedTime=idleTask.args.allotted_time_ms;if(event.duration>allottedTime){overrun=event.duration-allottedTime;inside=event.cpuDuration*allottedTime/event.duration;}else{inside=event.cpuDuration;}}
8127cpuDuration.addSample(event.cpuDuration);insideIdle.addSample(inside);outsideIdle.addSample(event.cpuDuration-inside);idleDeadlineOverrun.addSample(overrun);});histograms.addHistogram(idleDeadlineOverrun);histograms.addHistogram(outsideIdle);const percentage=createPercentage(name+'_percentage_idle',insideIdle.sum,cpuDuration.sum);histograms.addHistogram(percentage);}
8128return{blinkGcMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function getCpuSnapshotsFromModel(model){const snapshots=[];for(const pid in model.processes){const snapshotInstances=model.processes[pid].objects.getAllInstancesNamed('CPUSnapshots');if(!snapshotInstances)continue;for(const object of snapshotInstances[0].snapshots){snapshots.push(object.args.processes);}}
8129return snapshots;}
8130function getProcessSumsFromSnapshot(snapshot){const processSums=new Map();for(const processData of snapshot){const processName=processData.name;if(!(processSums.has(processName))){processSums.set(processName,{sum:0.0,paths:new Set()});}
8131processSums.get(processName).sum+=parseFloat(processData.pCpu);if(processData.path){processSums.get(processName).paths.add(processData.path);}}
8132return processSums;}
8133function buildNumericsFromSnapshots(snapshots){const processNumerics=new Map();for(const snapshot of snapshots){const processSums=getProcessSumsFromSnapshot(snapshot);for(const[processName,processData]of processSums.entries()){if(!(processNumerics.has(processName))){processNumerics.set(processName,{numeric:new tr.v.Histogram('cpu:percent:'+processName,tr.b.Unit.byName.normalizedPercentage_smallerIsBetter),paths:new Set()});}
8134processNumerics.get(processName).numeric.addSample(processData.sum/100.0);for(const path of processData.paths){processNumerics.get(processName).paths.add(path);}}}
8135return processNumerics;}
8136function cpuProcessMetric(histograms,model){const snapshots=getCpuSnapshotsFromModel(model);const processNumerics=buildNumericsFromSnapshots(snapshots);for(const[processName,processData]of processNumerics){const numeric=processData.numeric;const missingSnapshotCount=snapshots.length-numeric.numValues;for(let i=0;i<missingSnapshotCount;i++){numeric.addSample(0);}
8137numeric.diagnostics.set('paths',new
8138tr.v.d.Generic([...processData.paths]));histograms.addHistogram(numeric);}}
8139tr.metrics.MetricRegistry.register(cpuProcessMetric);return{cpuProcessMetric,};});'use strict';tr.exportTo('tr.metrics',function(){function sampleMetric(histograms,model){const hist=new tr.v.Histogram('foo',tr.b.Unit.byName.sizeInBytes_smallerIsBetter);hist.addSample(9);hist.addSample(91,{bar:new tr.v.d.Generic({hello:42})});for(const expectation of model.userModel.expectations){if(expectation instanceof tr.model.um.ResponseExpectation){}else if(expectation instanceof tr.model.um.AnimationExpectation){}else if(expectation instanceof tr.model.um.IdleExpectation){}else if(expectation instanceof tr.model.um.LoadExpectation){}}
8140const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const[pid,process]of Object.entries(model.processes)){}
8141histograms.addHistogram(hist);}
8142tr.metrics.MetricRegistry.register(sampleMetric);return{sampleMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const HANDLE_INPUT_EVENT_TITLE='WebViewImpl::handleInputEvent';function findPrecedingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>eventA.start)break;}
8143if(eventsBIndex>0){events.set(eventA,eventsB[eventsBIndex-1]);}}
8144return events;}
8145function findFollowingEvents_(eventsA,eventsB){const events=new Map();let eventsBIndex=0;for(const eventA of eventsA){for(;eventsBIndex<eventsB.length;eventsBIndex++){if(eventsB[eventsBIndex].start>=eventA.start)break;}
8146if(eventsBIndex>=0&&eventsBIndex<eventsB.length){events.set(eventA,eventsB[eventsBIndex]);}}
8147return events;}
8148function getSpaNavigationStartCandidates_(rendererHelper,browserHelper){const isNavStartEvent=e=>{if(e.title===HANDLE_INPUT_EVENT_TITLE&&e.args.type==='MouseUp'){return true;}
8149return e.title==='NavigationControllerImpl::GoToIndex';};return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents(),...browserHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavStartEvent);}
8150function getSpaNavigationEvents_(rendererHelper){const isNavEvent=e=>e.category==='blink'&&e.title==='FrameLoader::updateForSameDocumentNavigation';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isNavEvent);}
8151function getInputLatencyEvents_(browserHelper){const isInputLatencyEvent=e=>e.title==='InputLatency::MouseUp';return browserHelper.getAllAsyncSlicesMatching(isInputLatencyEvent);}
8152function getInputLatencyEventByBindIdMap_(browserHelper){const inputLatencyEventByBindIdMap=new Map();for(const event of getInputLatencyEvents_(browserHelper)){inputLatencyEventByBindIdMap.set(event.args.data.trace_id,event);}
8153return inputLatencyEventByBindIdMap;}
8154function getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper){const mainThread=rendererHelper.mainThread;const spaNavEvents=getSpaNavigationEvents_(rendererHelper);const navStartCandidates=getSpaNavigationStartCandidates_(rendererHelper,browserHelper).sort(tr.importer.compareEvents);const spaNavEventToNavStartCandidateMap=findPrecedingEvents_(spaNavEvents,navStartCandidates);const inputLatencyEventByBindIdMap=getInputLatencyEventByBindIdMap_(browserHelper);const spaNavEventToNavStartEventMap=new Map();for(const[spaNavEvent,navStartCandidate]of
8155spaNavEventToNavStartCandidateMap){if(navStartCandidate.title===HANDLE_INPUT_EVENT_TITLE){const inputLatencySlice=inputLatencyEventByBindIdMap.get(Number(navStartCandidate.parentSlice.bindId));if(inputLatencySlice){spaNavEventToNavStartEventMap.set(spaNavEvent,inputLatencySlice);}}else{spaNavEventToNavStartEventMap.set(spaNavEvent,navStartCandidate);}}
8156return spaNavEventToNavStartEventMap;}
8157function getFirstPaintEvents_(rendererHelper){const isFirstPaintEvent=e=>e.category==='blink'&&e.title==='PaintLayerCompositor::updateIfNeededRecursive';return[...rendererHelper.mainThread.sliceGroup.getDescendantEvents()].filter(isFirstPaintEvent);}
8158function getSpaNavigationEventToFirstPaintEventMap_(rendererHelper){const spaNavEvents=getSpaNavigationEvents_(rendererHelper).sort(tr.importer.compareEvents);const firstPaintEvents=getFirstPaintEvents_(rendererHelper).sort(tr.importer.compareEvents);return findFollowingEvents_(spaNavEvents,firstPaintEvents);}
8159function findSpaNavigationsOnRenderer(rendererHelper,browserHelper){const spaNavEventToNavStartMap=getSpaNavigationEventToNavigationStartMap_(rendererHelper,browserHelper);const spaNavEventToFirstPaintEventMap=getSpaNavigationEventToFirstPaintEventMap_(rendererHelper);const spaNavigations=[];for(const[spaNavEvent,navStartEvent]of
8160spaNavEventToNavStartMap){if(spaNavEventToFirstPaintEventMap.has(spaNavEvent)){const firstPaintEvent=spaNavEventToFirstPaintEventMap.get(spaNavEvent);const isNavStartAsyncSlice=navStartEvent instanceof tr.model.AsyncSlice;spaNavigations.push({navStartCandidates:{inputLatencyAsyncSlice:isNavStartAsyncSlice?navStartEvent:undefined,goToIndexSlice:isNavStartAsyncSlice?undefined:navStartEvent},firstPaintEvent,url:spaNavEvent.args.url});}}
8161return spaNavigations;}
8162return{findSpaNavigationsOnRenderer,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function perceptualBlend(ir,index,score){return Math.exp(1-score);}
8163function filterExpectationsByRange(irs,opt_range){const filteredExpectations=[];irs.forEach(function(ir){if(!(ir instanceof tr.model.um.UserExpectation))return;if(!opt_range||opt_range.intersectsExplicitRangeInclusive(ir.start,ir.end)){filteredExpectations.push(ir);}});return filteredExpectations;}
8164return{perceptualBlend,filterExpectationsByRange,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime){if(mainThread===null)return;const breakdownTree={};for(const title of
8165tr.e.chrome.ChromeUserFriendlyCategoryDriver.ALL_TITLES){breakdownTree[title]={total:0,events:{}};}
8166for(const event of mainThread.getDescendantEvents()){const eventStart=getEventStart(event);const eventDuration=getEventDuration(event);const eventSelfTime=getEventSelfTime(event);const eventEnd=eventStart+eventDuration;if(!rangeOfInterest.intersectsExplicitRangeExclusive(eventStart,eventEnd)){continue;}
8167if(eventSelfTime===undefined)continue;const title=tr.e.chrome.ChromeUserFriendlyCategoryDriver.fromEvent(event);let timeIntersectionRatio=0;if(eventDuration>0){timeIntersectionRatio=rangeOfInterest.findExplicitIntersectionDuration(eventStart,eventEnd)/eventDuration;}
8168const v8Runtime=event.args['runtime-call-stat'];if(v8Runtime!==undefined){const v8RuntimeObject=JSON.parse(v8Runtime);for(const runtimeCall in v8RuntimeObject){if(v8RuntimeObject[runtimeCall].length===2){if(breakdownTree.v8_runtime.events[runtimeCall]===undefined){breakdownTree.v8_runtime.events[runtimeCall]=0;}
8169const runtimeTime=tr.b.Unit.timestampFromUs(v8RuntimeObject[runtimeCall][1]*timeIntersectionRatio);breakdownTree.v8_runtime.total+=runtimeTime;breakdownTree.v8_runtime.events[runtimeCall]+=runtimeTime;}}}
8170const approximatedSelfTimeContribution=eventSelfTime*timeIntersectionRatio;breakdownTree[title].total+=approximatedSelfTimeContribution;if(breakdownTree[title].events[event.title]===undefined){breakdownTree[title].events[event.title]=0;}
8171breakdownTree[title].events[event.title]+=approximatedSelfTimeContribution;}
8172return breakdownTree;}
8173function addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEvents,networkEvents,rangeOfInterest){let idleRanges=[rangeOfInterest];const mainThreadEventRanges=tr.b.math.convertEventsToRanges(mainThreadEvents);const networkEventRanges=tr.b.math.convertEventsToRanges(networkEvents);const eventRanges=mainThreadEventRanges.concat(networkEventRanges);eventRanges.sort((a,b)=>a.min-b.min);for(const eventRange of eventRanges){if(!eventRange||eventRange.isEmpty||eventRange.duration<0){throw new Error('Range is invalid');}
8174const newLastIdleRanges=tr.b.math.Range.findDifference(idleRanges[idleRanges.length-1],eventRange);idleRanges.pop();idleRanges=idleRanges.concat(newLastIdleRanges);if(idleRanges.length===0)break;}
8175const totalFreeDuration=tr.b.math.Statistics.sum(idleRanges,range=>range.duration);breakdownTree.idle={total:totalFreeDuration,events:{}};let totalBlockedDuration=rangeOfInterest.duration;for(const component of Object.values(breakdownTree)){totalBlockedDuration-=component.total;}
8176breakdownTree.blocked_on_network={total:totalBlockedDuration,events:{}};}
8177function generateWallClockTimeBreakdownTree(mainThread,networkEvents,rangeOfInterest){function getEventStart(e){return e.start;}
8178function getEventDuration(e){return e.duration;}
8179function getEventSelfTime(e){return e.selfTime;}
8180const breakdownTree=generateTimeBreakdownTree(mainThread,rangeOfInterest,getEventStart,getEventDuration,getEventSelfTime);const mainThreadEventsInRange=tr.model.helpers.getSlicesIntersectingRange(rangeOfInterest,mainThread.sliceGroup.topLevelSlices);addIdleAndBlockByNetworkBreakdown_(breakdownTree,mainThreadEventsInRange,networkEvents,rangeOfInterest);return breakdownTree;}
8181function generateCpuTimeBreakdownTree(mainThread,rangeOfInterestCpuTime){function getEventStart(e){return e.cpuStart;}
8182function getEventDuration(e){return e.cpuDuration;}
8183function getEventSelfTime(e){return e.cpuSelfTime;}
8184return generateTimeBreakdownTree(mainThread,rangeOfInterestCpuTime,getEventStart,getEventDuration,getEventSelfTime);}
8185return{generateTimeBreakdownTree,generateWallClockTimeBreakdownTree,generateCpuTimeBreakdownTree,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const RESPONSIVENESS_THRESHOLD_MS=50;const INTERACTIVE_WINDOW_SIZE_MS=5*1000;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const RelatedEventSet=tr.v.d.RelatedEventSet;function getNetworkEventsInRange(process,range){const networkEvents=[];for(const thread of Object.values(process.threads)){const threadHelper=new tr.model.helpers.ChromeThreadHelper(thread);const events=threadHelper.getNetworkEvents();for(const event of events){if(range.intersectsExplicitRangeInclusive(event.start,event.end)){networkEvents.push(event);}}}
8186return networkEvents;}
8187function hasCategoryAndName(event,category,title){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);}
8188function createBreakdownDiagnostic(breakdownTree){const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownTree){breakdownDiagnostic.set(label,breakdownTree[label].total);}
8189return breakdownDiagnostic;}
8190function NavigationStartFinder(rendererHelper){this.navigationStartsForFrameId_={};for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(!hasCategoryAndName(ev,'blink.user_timing','navigationStart')){continue;}
8191const frameIdRef=ev.args.frame;let list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined){this.navigationStartsForFrameId_[frameIdRef]=list=[];}
8192list.unshift(ev);}}
8193NavigationStartFinder.prototype={findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ts){const list=this.navigationStartsForFrameId_[frameIdRef];if(list===undefined)return undefined;let eventBeforeTimestamp;for(const ev of list){if(ev.start>ts)continue;if(eventBeforeTimestamp===undefined){eventBeforeTimestamp=ev;}}
8194if(eventBeforeTimestamp===undefined)return undefined;return eventBeforeTimestamp;}};const FIRST_PAINT_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,1e3,20).addLinearBins(3e3,20).addExponentialBins(20e3,20);function createHistogram(name){const histogram=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,FIRST_PAINT_BOUNDARIES);histogram.customizeSummaryOptions({avg:true,count:false,max:true,min:true,std:true,sum:false,});return histogram;}
8195function findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ts){const objects=rendererHelper.process.objects;const frameLoaderInstances=objects.instancesByTypeName_.FrameLoader;if(frameLoaderInstances===undefined)return undefined;let snapshot;for(const instance of frameLoaderInstances){if(!instance.isAliveAt(ts))continue;const maybeSnapshot=instance.getSnapshotAt(ts);if(frameIdRef!==maybeSnapshot.args.frame.id_ref)continue;snapshot=maybeSnapshot;}
8196return snapshot;}
8197function findAllEvents(rendererHelper,category,title){const targetEvents=[];for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,category,title))continue;targetEvents.push(ev);}
8198return targetEvents;}
8199function findFirstMeaningfulPaintCandidates(rendererHelper){const candidatesForFrameId={};for(const ev of rendererHelper.process.getDescendantEvents()){if(!hasCategoryAndName(ev,'loading','firstMeaningfulPaintCandidate')){continue;}
8200if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;if(frameIdRef===undefined)continue;let list=candidatesForFrameId[frameIdRef];if(list===undefined){candidatesForFrameId[frameIdRef]=list=[];}
8201list.push(ev);}
8202return candidatesForFrameId;}
8203const URL_EXCLUSION=['about:blank','data:text/html,pluginplaceholderdata','data:text/html,chromewebdata'];function shouldIgnoreURL(url){return URL_EXCLUSION.includes(url);}
8204function collectTimeToEvent(category,eventName,rendererHelper,navigationStartFinder){const targetEvents=findAllEvents(rendererHelper,category,eventName);const samples=[];for(const ev of targetEvents){if(rendererHelper.isTelemetryInternalEvent(ev))continue;const frameIdRef=ev.args.frame;const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,ev.start);if(snapshot===undefined||!snapshot.args.isLoadingMainFrame)continue;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))continue;const navigationStartEvent=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartEvent===undefined)continue;const timeToEvent=ev.start-navigationStartEvent.start;samples.push({value:timeToEvent,diagnostics:{url:new tr.v.d.Generic(url)}});}
8205return samples;}
8206function addFirstMeaningfulPaintSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const navStartToFMPRange=tr.b.math.Range.fromExplicitRange(navigationStart.start,fmpMarkerEvent.start);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFMPRange);const timeToFirstMeaningfulPaint=navStartToFMPRange.duration;const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFMPRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:timeToFirstMeaningfulPaint,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});return{firstMeaningfulPaint:fmpMarkerEvent.start,url};}
8207function addFirstMeaningfulPaintCpuTimeSample(samples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent){const navStartToFMPCpuRange=tr.b.math.Range.fromExplicitRange(navigationStart.cpuStart,fmpMarkerEvent.cpuStart);const snapshot=findFrameLoaderSnapshotAt(rendererHelper,frameIdRef,fmpMarkerEvent.start);if(!snapshot||!snapshot.args.isLoadingMainFrame)return;const url=snapshot.args.documentLoaderURL;if(shouldIgnoreURL(url))return;const mainThreadCpuTime=getMainThreadCpuTime(rendererHelper,navStartToFMPCpuRange);const breakdownTree=tr.metrics.sh.generateCpuTimeBreakdownTree(rendererHelper.mainThread,navStartToFMPCpuRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);samples.push({value:mainThreadCpuTime,diagnostics:{'Breakdown of [navStart, FMP]':breakdownDiagnostic,'Start':new RelatedEventSet(navigationStart),'End':new RelatedEventSet(fmpMarkerEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStart.start,fmp:fmpMarkerEvent.start}),}});}
8208function getMainThreadCpuTime(rendererHelper,rangeOfInterest){let mainThreadCpuTime=0;for(const slice of rendererHelper.mainThread.sliceGroup.topLevelSlices){if(!slice.cpuDuration)continue;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.cpuStart,slice.cpuStart+slice.cpuDuration);const intersection=rangeOfInterest.findIntersection(sliceRange);mainThreadCpuTime+=intersection.duration;}
8209return mainThreadCpuTime;}
8210function addFirstInteractiveSample(samples,rendererHelper,navigationStart,firstMeaningfulPaint,url){if(shouldIgnoreURL(url))return;const navigationStartTime=navigationStart.start;let firstInteractive=Infinity;let firstInteractiveCandidate=firstMeaningfulPaint;let lastLongTaskEvent=undefined;for(const ev of[...rendererHelper.mainThread.sliceGroup.childEvents()]){if(ev.start<firstInteractiveCandidate)continue;const interactiveDurationSoFar=ev.start-firstInteractiveCandidate;if(interactiveDurationSoFar>=INTERACTIVE_WINDOW_SIZE_MS){firstInteractive=firstInteractiveCandidate;break;}
8211if(ev.title==='TaskQueueManager::ProcessTaskFromWorkQueue'&&ev.duration>RESPONSIVENESS_THRESHOLD_MS){firstInteractiveCandidate=ev.end-50;lastLongTaskEvent=ev;}}
8212const navStartToFirstInteractiveRange=tr.b.math.Range.fromExplicitRange(navigationStartTime,firstInteractive);const networkEvents=getNetworkEventsInRange(rendererHelper.process,navStartToFirstInteractiveRange);const breakdownTree=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,navStartToFirstInteractiveRange);const breakdownDiagnostic=createBreakdownDiagnostic(breakdownTree);const timeToFirstInteractive=navStartToFirstInteractiveRange.duration;samples.push({value:timeToFirstInteractive,diagnostics:{'Start':new RelatedEventSet(navigationStart),'Last long task':new RelatedEventSet(lastLongTaskEvent),'Navigation infos':new tr.v.d.Generic({url,pid:rendererHelper.pid,start:navigationStartTime,interactive:firstInteractive}),'Breakdown of [navStart, Interactive]':breakdownDiagnostic,}});}
8213function collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder){const firstMeaningfulPaintSamples=[];const firstMeaningfulPaintCpuTimeSamples=[];const firstInteractiveSamples=[];function addSamples(frameIdRef,navigationStart,fmpMarkerEvent){const data=addFirstMeaningfulPaintSample(firstMeaningfulPaintSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);addFirstMeaningfulPaintCpuTimeSample(firstMeaningfulPaintCpuTimeSamples,rendererHelper,frameIdRef,navigationStart,fmpMarkerEvent);if(data!==undefined){addFirstInteractiveSample(firstInteractiveSamples,rendererHelper,navigationStart,data.firstMeaningfulPaint,data.url);}}
8214const candidatesForFrameId=findFirstMeaningfulPaintCandidates(rendererHelper);for(const frameIdRef in candidatesForFrameId){let navigationStart=undefined;let lastCandidate=undefined;for(const ev of candidatesForFrameId[frameIdRef]){const navigationStartForThisCandidate=navigationStartFinder.findNavigationStartEventForFrameBeforeTimestamp(frameIdRef,ev.start);if(navigationStartForThisCandidate===undefined)continue;if(navigationStart!==navigationStartForThisCandidate){if(navigationStart!==undefined&&lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}
8215navigationStart=navigationStartForThisCandidate;}
8216lastCandidate=ev;}
8217if(lastCandidate!==undefined){addSamples(frameIdRef,navigationStart,lastCandidate);}}
8218return{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};}
8219function collectLoadingMetricsForRenderer(rendererHelper){const navigationStartFinder=new NavigationStartFinder(rendererHelper);const firstContentfulPaintSamples=collectTimeToEvent('loading','firstContentfulPaint',rendererHelper,navigationStartFinder);const onLoadSamples=collectTimeToEvent('blink.user_timing','loadEventStart',rendererHelper,navigationStartFinder);const{firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectFirstMeaningfulPaintAndTimeToInteractiveForRenderer(rendererHelper,navigationStartFinder);return{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples};}
8220function addSamplesToHistogram(samples,histogram){for(const sample of samples){histogram.addSample(sample.value,sample.diagnostics);}}
8221function loadingMetric(histograms,model){const firstContentfulPaintHistogram=createHistogram('timeToFirstContentfulPaint');firstContentfulPaintHistogram.description='time to first contentful paint';const onLoadHistogram=createHistogram('timeToOnload');onLoadHistogram.description='time to onload. '+'This is temporary metric used for PCv1/v2 correctness checking';const firstMeaningfulPaintHistogram=createHistogram('timeToFirstMeaningfulPaint');firstMeaningfulPaintHistogram.description='time to first meaningful paint';const firstMeaningfulPaintCpuTimeHistogram=createHistogram('cpuTimeToFirstMeaningfulPaint');firstMeaningfulPaintCpuTimeHistogram.description='CPU time to first meaningful paint';const firstInteractiveHistogram=createHistogram('timeToFirstInteractive');firstInteractiveHistogram.description='time to first interactive';const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const pid in chromeHelper.rendererHelpers){const rendererHelper=chromeHelper.rendererHelpers[pid];if(rendererHelper.isChromeTracingUI)continue;const{firstContentfulPaintSamples,onLoadSamples,firstMeaningfulPaintSamples,firstMeaningfulPaintCpuTimeSamples,firstInteractiveSamples}=collectLoadingMetricsForRenderer(rendererHelper);addSamplesToHistogram(firstContentfulPaintSamples,firstContentfulPaintHistogram);addSamplesToHistogram(onLoadSamples,onLoadHistogram);addSamplesToHistogram(firstMeaningfulPaintSamples,firstMeaningfulPaintHistogram);addSamplesToHistogram(firstMeaningfulPaintCpuTimeSamples,firstMeaningfulPaintCpuTimeHistogram);addSamplesToHistogram(firstInteractiveSamples,firstInteractiveHistogram);}
8222histograms.addHistogram(firstContentfulPaintHistogram);histograms.addHistogram(onLoadHistogram);histograms.addHistogram(firstMeaningfulPaintHistogram);histograms.addHistogram(firstMeaningfulPaintCpuTimeHistogram);histograms.addHistogram(firstInteractiveHistogram);}
8223tr.metrics.MetricRegistry.register(loadingMetric);return{loadingMetric,getNetworkEventsInRange,collectLoadingMetricsForRenderer,RESPONSIVENESS_THRESHOLD_MS,INTERACTIVE_WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics',function(){const SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY=tr.v.HistogramBinBoundaries.createExponential(1,1000,50);function spaNavigationMetric(histograms,model){const histogram=new tr.v.Histogram('spaNavigationStartToFpDuration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,SPA_NAVIGATION_START_TO_FIRST_PAINT_DURATION_BIN_BOUNDARY);histogram.description='Latency between the input event causing'+' a SPA navigation and the first paint event after it';histogram.customizeSummaryOptions({count:false,sum:false,});const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(!modelHelper){return;}
8224const rendererHelpers=modelHelper.rendererHelpers;if(!rendererHelpers){return;}
8225const browserHelper=modelHelper.browserHelper;for(const rendererHelper of Object.values(rendererHelpers)){const spaNavigations=tr.metrics.findSpaNavigationsOnRenderer(rendererHelper,browserHelper);for(const spaNav of spaNavigations){let beginTs=0;if(spaNav.navStartCandidates.inputLatencyAsyncSlice){const beginData=spaNav.navStartCandidates.inputLatencyAsyncSlice.args.data;beginTs=model.convertTimestampToModelTime('traceEventClock',beginData.INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT.time);}else{beginTs=spaNav.navStartCandidates.goToIndexSlice.start;}
8226const rangeOfInterest=tr.b.math.Range.fromExplicitRange(beginTs,spaNav.firstPaintEvent.start);const networkEvents=tr.metrics.sh.getNetworkEventsInRange(rendererHelper.process,rangeOfInterest);const breakdownDict=tr.metrics.sh.generateWallClockTimeBreakdownTree(rendererHelper.mainThread,networkEvents,rangeOfInterest);const breakdownDiagnostic=new tr.v.d.Breakdown();breakdownDiagnostic.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;for(const label in breakdownDict){breakdownDiagnostic.set(label,parseInt(breakdownDict[label].total*1e3)/1e3);}
8227histogram.addSample(rangeOfInterest.duration,{'Breakdown of [navStart, firstPaint]':breakdownDiagnostic,'Start':new tr.v.d.RelatedEventSet(spaNav.navigationStart),'End':new tr.v.d.RelatedEventSet(spaNav.firstPaintEvent),'Navigation infos':new tr.v.d.Generic({url:spaNav.url,pid:rendererHelper.pid,navStart:beginTs,firstPaint:spaNav.firstPaintEvent.start})});}}
8228histograms.addHistogram(histogram);}
8229tr.metrics.MetricRegistry.register(spaNavigationMetric);return{spaNavigationMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LATENCY_BOUNDS=tr.v.HistogramBinBoundaries.createLinear(0,20,100);function clockSyncLatencyMetric(values,model){const domains=Array.from(model.clockSyncManager.domainsSeen).sort();for(let i=0;i<domains.length;i++){for(let j=i+1;j<domains.length;j++){const latency=model.clockSyncManager.getTimeTransformerError(domains[i],domains[j]);const hist=new tr.v.Histogram('clock_sync_latency_'+
8230domains[i].toLowerCase()+'_to_'+domains[j].toLowerCase(),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,LATENCY_BOUNDS);hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,});hist.description='Clock sync latency for domain '+domains[i]+' to domain '+domains[j];hist.addSample(latency);values.addHistogram(hist);}}}
8231tr.metrics.MetricRegistry.register(clockSyncLatencyMetric);return{clockSyncLatencyMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CPU_TIME_PERCENTAGE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,50,200);function cpuTimeMetric(histograms,model,opt_options){let rangeOfInterest=model.bounds;if(opt_options&&opt_options.rangeOfInterest){rangeOfInterest=opt_options.rangeOfInterest;}else{const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper){const chromeBounds=chromeHelper.chromeBounds;if(chromeBounds){rangeOfInterest=chromeBounds;}}}
8232let allProcessCpuTime=0;for(const pid in model.processes){const process=model.processes[pid];if(tr.model.helpers.ChromeRendererHelper.isTracingProcess(process)){continue;}
8233let processCpuTime=0;for(const tid in process.threads){const thread=process.threads[tid];let threadCpuTime=0;thread.sliceGroup.topLevelSlices.forEach(function(slice){if(slice.duration===0)return;if(!slice.cpuDuration)return;const sliceRange=tr.b.math.Range.fromExplicitRange(slice.start,slice.end);const intersection=rangeOfInterest.findIntersection(sliceRange);const fractionOfSliceInsideRangeOfInterest=intersection.duration/slice.duration;threadCpuTime+=slice.cpuDuration*fractionOfSliceInsideRangeOfInterest;});processCpuTime+=threadCpuTime;}
8234allProcessCpuTime+=processCpuTime;}
8235let normalizedAllProcessCpuTime=0;if(rangeOfInterest.duration>0){normalizedAllProcessCpuTime=allProcessCpuTime/rangeOfInterest.duration;}
8236const unit=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const cpuTimeHist=new tr.v.Histogram('cpu_time_percentage',unit,CPU_TIME_PERCENTAGE_BOUNDARIES);cpuTimeHist.description='Percent CPU utilization, normalized against a single core. Can be '+'greater than 100% if machine has multiple cores.';cpuTimeHist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false});cpuTimeHist.addSample(normalizedAllProcessCpuTime);histograms.addHistogram(cpuTimeHist);}
8237tr.metrics.MetricRegistry.register(cpuTimeMetric,{supportsRangeOfInterest:true});return{cpuTimeMetric,};});'use strict';tr.exportTo('tr.v',function(){class HistogramGrouping{constructor(key,callback,opt_label){this.key=key;this.callback=callback;this.label=opt_label||key;HistogramGrouping.KEYS_TO_GROUPINGS.set(key,this);}}
8238HistogramGrouping.KEYS_TO_GROUPINGS=new Map();class HistogramSet{constructor(opt_histograms){this.histogramsByGuid_=new Map();this.sharedDiagnosticsByGuid_=new Map();if(opt_histograms!==undefined){for(const hist of opt_histograms){this.addHistogram(hist);}}}
8239createHistogram(name,unit,samples,opt_options){const hist=tr.v.Histogram.create(name,unit,samples,opt_options);this.addHistogram(hist);return hist;}
8240addHistogram(hist,opt_diagnostics){if(this.histogramsByGuid_.has(hist.guid)){throw new Error('Cannot add same Histogram twice');}
8241if(opt_diagnostics!==undefined){if(!(opt_diagnostics instanceof Map)){opt_diagnostics=Object.entries(opt_diagnostics);}
8242for(const[name,diagnostic]of opt_diagnostics){hist.diagnostics.set(name,diagnostic);}}
8243this.histogramsByGuid_.set(hist.guid,hist);}
8244addSharedDiagnostic(name,diagnostic){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);for(const hist of this){hist.diagnostics.set(name,diagnostic);}}
8245get length(){return this.histogramsByGuid_.size;}*[Symbol.iterator](){for(const hist of this.histogramsByGuid_.values()){yield hist;}}
8246getHistogramsNamed(name){return[...this].filter(h=>h.name===name);}
8247getHistogramNamed(name){const histograms=this.getHistogramsNamed(name);if(histograms.length===0)return undefined;if(histograms.length>1){throw new Error(`Unexpectedly found multiple histograms named "${name}"`);}
8248return histograms[0];}
8249lookupHistogram(guid){return this.histogramsByGuid_.get(guid);}
8250lookupDiagnostic(guid){return this.sharedDiagnosticsByGuid_.get(guid);}
8251resolveRelatedHistograms(){const handleDiagnosticMap=dm=>{for(const[name,diagnostic]of dm){if((diagnostic instanceof tr.v.d.RelatedHistogramSet)||(diagnostic instanceof tr.v.d.RelatedHistogramMap)){diagnostic.resolve(this);}}};for(const hist of this){hist.diagnostics.resolveSharedDiagnostics(this);handleDiagnosticMap(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){handleDiagnosticMap(dm);}
8252for(const bin of hist.allBins){for(const dm of bin.diagnosticMaps){handleDiagnosticMap(dm);}}}}
8253importDicts(dicts){for(const dict of dicts){if(dict.type&&tr.v.d.Diagnostic.findTypeInfoWithName(dict.type)){this.sharedDiagnosticsByGuid_.set(dict.guid,tr.v.d.Diagnostic.fromDict(dict));}else{this.addHistogram(tr.v.Histogram.fromDict(dict));}}}
8254asDicts(){const dicts=[];for(const diagnostic of this.sharedDiagnosticsByGuid_.values()){dicts.push(diagnostic.asDict());}
8255for(const hist of this){dicts.push(hist.asDict());}
8256return dicts;}
8257get sourceHistograms(){const sourceHistograms=new Map(this.histogramsByGuid_);function deleteSourceHistograms(diagnosticMap){for(const[name,diagnostic]of diagnosticMap){if(diagnostic instanceof tr.v.d.RelatedHistogramSet){for(const relatedHist of diagnostic){sourceHistograms.delete(relatedHist.guid);}}else if(diagnostic instanceof tr.v.d.RelatedHistogramMap){for(const[name,relatedHist]of diagnostic){sourceHistograms.delete(relatedHist.guid);}}}}
8258for(const hist of this){deleteSourceHistograms(hist.diagnostics);for(const dm of hist.nanDiagnosticMaps){deleteSourceHistograms(dm);}
8259for(const b of hist.allBins){for(const dm of b.diagnosticMaps){deleteSourceHistograms(dm);}}}
8260return new HistogramSet([...sourceHistograms.values()]);}
8261groupHistogramsRecursively(groupings,opt_skipGroupingCallback){function recurse(histograms,level){if(level===groupings.length){return histograms;}
8262const grouping=groupings[level];const groupedHistograms=tr.b.groupIntoMap(histograms,grouping.callback);if(opt_skipGroupingCallback&&opt_skipGroupingCallback(grouping,groupedHistograms)){return recurse(histograms,level+1);}
8263for(const[key,group]of groupedHistograms){groupedHistograms.set(key,recurse(group,level+1));}
8264return groupedHistograms;}
8265return recurse([...this],0);}
8266deduplicateDiagnostics(){const diagnosticsToCounts=new Map();for(const hist of this){const candidates=[];const telemetryInfo=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(telemetryInfo instanceof tr.v.d.MergedTelemetryInfo){candidates.push(telemetryInfo);}
8267const buildbotInfo=tr.v.d.BuildbotInfo.getFromHistogram(hist);if(buildbotInfo instanceof tr.v.d.MergedBuildbotInfo){candidates.push(buildbotInfo);}
8268const deviceInfo=tr.v.d.DeviceInfo.getFromHistogram(hist);if(deviceInfo instanceof tr.v.d.MergedDeviceInfo){candidates.push(deviceInfo);}
8269for(const diagnostic of candidates){if(diagnostic===undefined)continue;let found=false;for(const[testDiagnostic,count]of diagnosticsToCounts){if(diagnostic.equals(testDiagnostic)){testDiagnostic.addToHistogram(hist);diagnosticsToCounts.set(testDiagnostic,count+1);found=true;break;}}
8270if(!found){diagnosticsToCounts.set(diagnostic,1);}}}
8271for(const[diagnostic,count]of diagnosticsToCounts){if(count>1){this.sharedDiagnosticsByGuid_.set(diagnostic.guid,diagnostic);}}}
8272mergeRelationships(){for(const hist of this){hist.diagnostics.mergeRelationships(hist);}}}
8273HistogramSet.GROUPINGS={HISTOGRAM_NAME:new HistogramGrouping('name',h=>h.name),BENCHMARK_NAME:new HistogramGrouping('benchmark',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkName','')),BENCHMARK_START:new HistogramGrouping('time',h=>tr.v.d.TelemetryInfo.getField(h,'benchmarkStartString','')),STORYSET_REPEAT:new HistogramGrouping('storyset_repeat',h=>tr.v.d.TelemetryInfo.getField(h,'storysetRepeatCounterLabel',0),'storyset repeat'),STORY_NAME:new HistogramGrouping('story',h=>tr.v.d.TelemetryInfo.getField(h,'storyDisplayName','')),LEGACY_TIR_LABEL:new HistogramGrouping('tir',h=>tr.v.d.TelemetryInfo.getField(h,'legacyTIRLabel','')),PRIMARY_NAME:new HistogramGrouping('primary',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotMasterName','')),PARTNER_NAME:new HistogramGrouping('bot',h=>tr.v.d.BuildbotInfo.getField(h,'buildbotName','')),BUILD_NUMBER:new HistogramGrouping('build',h=>tr.v.d.BuildbotInfo.getField(h,'buildNumber','')),DISPLAY_LABEL:new HistogramGrouping('label',h=>tr.v.d.TelemetryInfo.getField(h,'displayLabel','Value'))};return{HistogramGrouping,HistogramSet,};});'use strict';tr.exportTo('tr.e.chrome',function(){function hasTitleAndCategory(event,title,category){return event.title===title&&event.category&&tr.b.getCategoryParts(event.category).includes(category);}
8274function getNavStartTimestamps(rendererHelper){const navStartTimestamps=[];for(const e of rendererHelper.mainThread.sliceGroup.childEvents()){if(hasTitleAndCategory(e,'navigationStart','blink.user_timing')){navStartTimestamps.push(e.start);}}
8275return navStartTimestamps;}
8276function getInteractiveTimestamps(model){const interactiveTimestampsMap=new Map();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const timestamps=[];interactiveTimestampsMap.set(rendererHelper.pid,timestamps);const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){timestamps.push(sample.diagnostics['Navigation infos'].value.interactive);}}
8277return interactiveTimestampsMap;}
8278function getPostInteractiveTaskWindows(interactiveTimestamps,navStartTimestamps,traceEndTimestamp){let navStartTsIndex=0;let lastTaskWindowEndTs=undefined;const taskWindows=[];for(const currTTI of interactiveTimestamps){while(navStartTsIndex<navStartTimestamps.length&&navStartTimestamps[navStartTsIndex]<currTTI){navStartTsIndex++;}
8279const taskWindowEndTs=navStartTsIndex<navStartTimestamps.length?navStartTimestamps[navStartTsIndex]:traceEndTimestamp;if(taskWindowEndTs===lastTaskWindowEndTs){throw Error('Encountered two consecutive interactive timestamps '+'with no navigationStart between them. '+'PostInteractiveTaskWindow is not well defined in this case.');}
8280taskWindows.push(tr.b.math.Range.fromExplicitRange(currTTI,taskWindowEndTs));lastTaskWindowEndTs=taskWindowEndTs;}
8281return taskWindows;}
8282function contributionToEQT(window,task){const startInWindow=Math.max(window.min,task.start);const endInWindow=Math.min(window.max,task.end);const durationInWindow=endInWindow-startInWindow;if(durationInWindow<=0)return 0;const probabilityOfTask=durationInWindow/(window.max-window.min);const minQueueingTime=task.end-endInWindow;const maxQueueingTime=task.end-startInWindow;const expectedQueueingTimeDueToTask=(maxQueueingTime+minQueueingTime)/2;return probabilityOfTask*expectedQueueingTimeDueToTask;}
8283function weightedExpectedQueueingTime(window,weightedTasks){let result=0;for(const task of weightedTasks){result+=contributionToEQT(window,task)*task.weight;}
8284return result;}
8285function expectedQueueingTime(window,tasks){return weightedExpectedQueueingTime(window,tasks.map(function(task){return{start:task.start,end:task.end,weight:1};}));}
8286class SlidingWindow{constructor(startTime,windowSize,sortedTasks){this.windowSize_=windowSize;this.sortedTasks_=sortedTasks;this.range_=tr.b.math.Range.fromExplicitRange(startTime,startTime+windowSize);this.firstTaskIndex_=sortedTasks.findIndex(task=>startTime<task.end);if(this.firstTaskIndex_===-1){this.firstTaskIndex_=sortedTasks.length;}
8287this.lastTaskIndex_=-1;while(this.lastTaskIndex_+1<sortedTasks.length&&sortedTasks[this.lastTaskIndex_+1].start<startTime+windowSize){this.lastTaskIndex_++;}
8288this.innerEQT_=0;for(let i=this.firstTaskIndex_+1;i<this.lastTaskIndex_;i++){this.innerEQT_+=contributionToEQT(this.range_,sortedTasks[i]);}}
8289get getEQT(){let firstTaskEQT=0;if(this.firstTaskIndex_<this.sortedTasks_.length){firstTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}
8290let lastTaskEQT=0;if(this.firstTaskIndex_<this.lastTaskIndex_){lastTaskEQT=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);}
8291return firstTaskEQT+this.innerEQT_+lastTaskEQT;}
8292slide(t){this.range_=tr.b.math.Range.fromExplicitRange(t,t+this.windowSize_);if(this.firstTaskIndex_<this.sortedTasks_.length&&this.sortedTasks_[this.firstTaskIndex_].end<=t){this.firstTaskIndex_++;if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_-=contributionToEQT(this.range_,this.sortedTasks_[this.firstTaskIndex_]);}}
8293if(this.lastTaskIndex_+1<this.sortedTasks_.length&&this.sortedTasks_[this.lastTaskIndex_+1].start<t+this.windowSize_){if(this.firstTaskIndex_<this.lastTaskIndex_){this.innerEQT_+=contributionToEQT(this.range_,this.sortedTasks_[this.lastTaskIndex_]);}
8294this.lastTaskIndex_++;}}}
8295function maxExpectedQueueingTimeInSlidingWindow(startTime,endTime,windowSize,tasks){if(windowSize<=0){throw Error('The window size must be positive number');}
8296if(startTime+windowSize>endTime){throw Error('The sliding window must fit in the specified time range');}
8297const sortedTasks=tasks.slice().sort((a,b)=>a.start-b.start);for(let i=1;i<sortedTasks.length;i++){const PRECISION_MS=0.1;if(sortedTasks[i-1].end>sortedTasks[i].start+PRECISION_MS){throw Error('Tasks must not overlap');}
8298if(sortedTasks[i-1].end>sortedTasks[i].start){const midpoint=(sortedTasks[i-1].end+sortedTasks[i].start)/2;sortedTasks[i-1].end=midpoint;sortedTasks[i].start=midpoint;}}
8299let endpoints=[];endpoints.push(startTime);endpoints.push(endTime-windowSize);for(const task of tasks){endpoints.push(task.start-windowSize);endpoints.push(task.start);endpoints.push(task.end-windowSize);endpoints.push(task.end);}
8300endpoints=endpoints.filter(x=>(startTime<=x&&x+windowSize<=endTime));endpoints.sort((a,b)=>a-b);const slidingWindow=new SlidingWindow(endpoints[0],windowSize,sortedTasks);let maxEQT=0;for(const t of endpoints){slidingWindow.slide(t);maxEQT=Math.max(maxEQT,slidingWindow.getEQT);}
8301return maxEQT;}
8302return{getPostInteractiveTaskWindows,getNavStartTimestamps,getInteractiveTimestamps,expectedQueueingTime,maxExpectedQueueingTimeInSlidingWindow,weightedExpectedQueueingTime};});'use strict';tr.exportTo('tr.metrics.sh',function(){const WINDOW_SIZE_MS=500;const EQT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.01,WINDOW_SIZE_MS,50);const V8_EVENT_NAMES_TO_FILTERS=new Map([['v8',fromPredicate_(tr.metrics.v8.utils.isV8Event)],['v8:compile',fromPredicate_(tr.metrics.v8.utils.isCompileEvent)],['v8:compile:optimize',fromPredicate_(tr.metrics.v8.utils.isCompileOptimizeEvent)],['v8:compile:parse',fromPredicate_(tr.metrics.v8.utils.isCompileParseEvent)],['v8:compile:compile-unoptimize',filterCompileUnoptimizeAndSubtractParseEvents_],['v8:execute',fromPredicate_(tr.metrics.v8.utils.isV8ExecuteEvent)],['v8:gc',fromPredicate_(tr.metrics.v8.utils.isGarbageCollectionEvent)],['v8:gc:full-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isFullMarkCompactorEvent)],['v8:gc:incremental-marking',fromPredicate_(tr.metrics.v8.utils.isIncrementalMarkingEvent)],['v8:gc:latency-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isLatencyMarkCompactorEvent)],['v8:gc:memory-mark-compactor',fromPredicate_(tr.metrics.v8.utils.isMemoryMarkCompactorEvent)],['v8:gc:scavenger',fromPredicate_(tr.metrics.v8.utils.isScavengerEvent)]]);function fromPredicate_(eventPredicate){return function(slice){const duration=durationOfTopmostSubSlices(slice,eventPredicate);return{start:slice.start,end:slice.start+duration};};}
8303function filterCompileUnoptimizeAndSubtractParseEvents_(slice){const duration=durationOfTopmostSubSlices(slice,tr.metrics.v8.utils.isCompileUnoptimizeEvent,tr.metrics.v8.utils.isCompileParseEvent);return{start:slice.start,end:slice.start+duration};}
8304function containsForcedGC_(slice){return slice.findTopmostSlicesRelativeToThisSlice(tr.metrics.v8.utils.isForcedGarbageCollectionEvent).length>0;}
8305function createHistogramForEQT_(name,description){const histogram=new tr.v.Histogram(name,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,EQT_BOUNDARIES);histogram.customizeSummaryOptions({avg:false,count:false,max:true,min:false,std:false,sum:false,});histogram.description=description;return histogram;}
8306function expectedQueueingTimeMetric(histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer');const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt`,`The maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window`+' for a given renderer while the page is interactive');const rendererHelpers=Object.values(chromeHelper.rendererHelpers);const rendererToInteractiveTimestamps=tr.e.chrome.getInteractiveTimestamps(model);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(slice=>{return{start:slice.start,end:slice.end};});totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;}
8307const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));}
8308addV8ContributionToExpectedQueueingTime(totalHistogram,interactiveHistogram,rendererToInteractiveTimestamps,histograms,model);histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);}
8309function addV8ContributionToExpectedQueueingTime(totalEqtHistogram,interactiveEqtHistogram,rendererToInteractiveTimestamps,histograms,model){if(!model.categories.includes('v8'))return;const breakdownForTotal=new tr.v.d.RelatedHistogramMap();const breakdownForInteractive=new tr.v.d.RelatedHistogramMap();for(const[eventName,filterFunction]of V8_EVENT_NAMES_TO_FILTERS){const contribution=contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model);breakdownForTotal.set(eventName,contribution.total);breakdownForInteractive.set(eventName,contribution.interactive);}
8310totalEqtHistogram.diagnostics.set('v8',breakdownForTotal);interactiveEqtHistogram.diagnostics.set('v8',breakdownForInteractive);}
8311function durationOfTopmostSubSlices(slice,predicate,subEventPredicate){let duration=0;for(const sub of slice.findTopmostSlicesRelativeToThisSlice(predicate)){duration+=sub.duration;if(subEventPredicate!==null&&subEventPredicate!==undefined){duration-=durationOfTopmostSubSlices(sub,subEventPredicate);}}
8312return duration;}
8313function contributionToExpectedQueueingTime(filterFunction,eventName,rendererToInteractiveTimestamps,histograms,model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const totalHistogram=createHistogramForEQT_(`total:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer. It is computed as the maximum EQT in'+` a ${WINDOW_SIZE_MS}ms sliding window after shrinking top-level`+` tasks to contain only ${eventName} subevents`);const interactiveHistogram=createHistogramForEQT_(`interactive:${WINDOW_SIZE_MS}ms_window:renderer_eqt:${eventName}`,`Contribution to the expected queueing time by ${eventName}`+' for a given renderer while the page is interactive. It is computed'+` as the maximum EQT in a ${WINDOW_SIZE_MS}ms sliding window after`+` shrinking top-level tasks to contain only ${eventName} subevents`);const rendererHelpers=Object.values(chromeHelper.rendererHelpers);for(const rendererHelper of rendererHelpers){if(rendererHelper.isChromeTracingUI)continue;const tasks=rendererHelper.mainThread.sliceGroup.topLevelSlices.filter(slice=>slice.duration>0&&!containsForcedGC_(slice)).map(filterFunction);totalHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(rendererHelper.mainThread.bounds.min,rendererHelper.mainThread.bounds.max,WINDOW_SIZE_MS,tasks));const interactiveTimestamps=rendererToInteractiveTimestamps.get(rendererHelper.pid);if(interactiveTimestamps.length===0)continue;if(interactiveTimestamps.length>1){continue;}
8314const interactiveWindow=tr.b.math.Range.fromExplicitRange(interactiveTimestamps[0],Infinity).findIntersection(rendererHelper.mainThread.bounds);interactiveHistogram.addSample(tr.e.chrome.maxExpectedQueueingTimeInSlidingWindow(interactiveWindow.min,interactiveWindow.max,WINDOW_SIZE_MS,tasks));}
8315histograms.addHistogram(totalHistogram);histograms.addHistogram(interactiveHistogram);return{total:totalHistogram,interactive:interactiveHistogram};}
8316tr.metrics.MetricRegistry.register(expectedQueueingTimeMetric);return{expectedQueueingTimeMetric,contributionToExpectedQueueingTime,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const LONG_TASK_MS=50;const LONGEST_TASK_MS=1000;function iterateLongTopLevelTasksOnThreadInRange(thread,opt_range,cb,opt_this){thread.sliceGroup.topLevelSlices.forEach(function(slice){if(opt_range&&!opt_range.intersectsExplicitRangeInclusive(slice.start,slice.end)){return;}
8317if(slice.duration<LONG_TASK_MS)return;cb.call(opt_this,slice);});}
8318function iterateRendererMainThreads(model,cb,opt_this){const modelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(modelHelper!==undefined){Object.values(modelHelper.rendererHelpers).forEach(function(rendererHelper){if(!rendererHelper.mainThread)return;cb.call(opt_this,rendererHelper.mainThread);});}}
8319function longTasksMetric(histograms,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const longTaskHist=new tr.v.Histogram('long tasks',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(LONG_TASK_MS,LONGEST_TASK_MS,40));longTaskHist.description='durations of long tasks';const slices=new tr.model.EventSet();iterateRendererMainThreads(model,function(thread){iterateLongTopLevelTasksOnThreadInRange(thread,rangeOfInterest,function(task){longTaskHist.addSample(task.duration,{relatedEvents:new tr.v.d.RelatedEventSet([task])});slices.push(task);slices.addEventSet(task.descendentSlices);});});histograms.addHistogram(longTaskHist);const sampleForEvent=undefined;const breakdown=tr.v.d.RelatedHistogramBreakdown.buildFromEvents(histograms,'long tasks ',slices,e=>(model.getUserFriendlyCategoryFromEvent(e)||'unknown'),tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,sampleForEvent,tr.v.HistogramBinBoundaries.createExponential(1,LONGEST_TASK_MS,40));breakdown.colorScheme=tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER;longTaskHist.diagnostics.set('category',breakdown);}
8320tr.metrics.MetricRegistry.register(longTasksMetric,{supportsRangeOfInterest:true});return{longTasksMetric,iterateLongTopLevelTasksOnThreadInRange,iterateRendererMainThreads,LONG_TASK_MS,LONGEST_TASK_MS,};});'use strict';tr.exportTo('tr.b',function(){function MultiDimensionalViewNode(title,valueCount){this.title=title;const dimensions=title.length;this.children=new Array(dimensions);for(let i=0;i<dimensions;i++){this.children[i]=new Map();}
8321this.values=new Array(valueCount);for(let v=0;v<valueCount;v++){this.values[v]={self:0,total:0,totalState:NOT_PROVIDED};}}
8322MultiDimensionalViewNode.TotalState={NOT_PROVIDED:0,LOWER_BOUND:1,EXACT:2};const NOT_PROVIDED=MultiDimensionalViewNode.TotalState.NOT_PROVIDED;const LOWER_BOUND=MultiDimensionalViewNode.TotalState.LOWER_BOUND;const EXACT=MultiDimensionalViewNode.TotalState.EXACT;MultiDimensionalViewNode.prototype={get subRows(){return tr.b.mapValues(this.children[0]);}};function MultiDimensionalViewBuilder(dimensions,valueCount){if(typeof(dimensions)!=='number'||dimensions<0){throw new Error('Dimensions must be a non-negative number');}
8323this.dimensions_=dimensions;if(typeof(valueCount)!=='number'||valueCount<0){throw new Error('Number of values must be a non-negative number');}
8324this.valueCount_=valueCount;this.buildRoot_=this.createRootNode_();this.topDownTreeViewRoot_=undefined;this.topDownHeavyViewRoot_=undefined;this.bottomUpHeavyViewNode_=undefined;this.complete_=false;this.maxDimensionDepths_=new Array(dimensions);for(let d=0;d<dimensions;d++){this.maxDimensionDepths_[d]=0;}}
8325MultiDimensionalViewBuilder.ValueKind={SELF:0,TOTAL:1};MultiDimensionalViewBuilder.ViewType={TOP_DOWN_TREE_VIEW:0,TOP_DOWN_HEAVY_VIEW:1,BOTTOM_UP_HEAVY_VIEW:2};MultiDimensionalViewBuilder.prototype={addPath(path,values,valueKind){if(this.buildRoot_===undefined){throw new Error('Paths cannot be added after either view has been built');}
8326if(path.length!==this.dimensions_){throw new Error('Path must be '+this.dimensions_+'-dimensional');}
8327if(values.length!==this.valueCount_){throw new Error('Must provide '+this.valueCount_+' values');}
8328let isTotal;switch(valueKind){case MultiDimensionalViewBuilder.ValueKind.SELF:isTotal=false;break;case MultiDimensionalViewBuilder.ValueKind.TOTAL:isTotal=true;break;default:throw new Error('Invalid value kind: '+valueKind);}
8329let node=this.buildRoot_;for(let d=0;d<path.length;d++){const singleDimensionPath=path[d];const singleDimensionPathLength=singleDimensionPath.length;this.maxDimensionDepths_[d]=Math.max(this.maxDimensionDepths_[d],singleDimensionPathLength);for(let i=0;i<singleDimensionPathLength;i++){node=this.getOrCreateChildNode_(node,d,singleDimensionPath[i]);}}
8330for(let v=0;v<this.valueCount_;v++){const addedValue=values[v];if(addedValue===undefined)continue;const nodeValue=node.values[v];if(isTotal){nodeValue.total+=addedValue;nodeValue.totalState=EXACT;}else{nodeValue.self+=addedValue;nodeValue.totalState=Math.max(nodeValue.totalState,LOWER_BOUND);}}},get complete(){return this.complete_;},set complete(isComplete){if(this.buildRoot_===undefined){throw new Error('Can\'t set complete after any view has been built.');}
8331this.complete_=isComplete;},buildView(viewType){switch(viewType){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW:return this.buildTopDownTreeView();case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:return this.buildTopDownHeavyView();case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return this.buildBottomUpHeavyView();default:throw new Error('Unknown multi-dimensional view type: '+viewType);}},buildTopDownTreeView(){if(this.topDownTreeViewRoot_===undefined){const treeViewRoot=this.buildRoot_;this.buildRoot_=undefined;this.setUpMissingChildRelationships_(treeViewRoot,0);this.finalizeTotalValues_(treeViewRoot,0,new WeakMap());this.topDownTreeViewRoot_=treeViewRoot;}
8332return this.topDownTreeViewRoot_;},buildTopDownHeavyView(){if(this.topDownHeavyViewRoot_===undefined){this.topDownHeavyViewRoot_=this.buildGenericHeavyView_(this.addDimensionToTopDownHeavyViewNode_.bind(this));}
8333return this.topDownHeavyViewRoot_;},buildBottomUpHeavyView(){if(this.bottomUpHeavyViewNode_===undefined){this.bottomUpHeavyViewNode_=this.buildGenericHeavyView_(this.addDimensionToBottomUpHeavyViewNode_.bind(this));}
8334return this.bottomUpHeavyViewNode_;},createRootNode_(){return new MultiDimensionalViewNode(new Array(this.dimensions_),this.valueCount_);},getOrCreateChildNode_(parentNode,dimension,childDimensionTitle){if(dimension<0||dimension>=this.dimensions_){throw new Error('Invalid dimension');}
8335const dimensionChildren=parentNode.children[dimension];let childNode=dimensionChildren.get(childDimensionTitle);if(childNode!==undefined){return childNode;}
8336const childTitle=parentNode.title.slice();childTitle[dimension]=childDimensionTitle;childNode=new MultiDimensionalViewNode(childTitle,this.valueCount_);dimensionChildren.set(childDimensionTitle,childNode);return childNode;},setUpMissingChildRelationships_(node,firstDimensionToSetUp){for(let d=firstDimensionToSetUp;d<this.dimensions_;d++){const currentDimensionChildTitles=new Set(node.children[d].keys());for(let i=0;i<d;i++){for(const previousDimensionChildNode of node.children[i].values()){for(const previousDimensionGrandChildTitle of
8337previousDimensionChildNode.children[d].keys()){currentDimensionChildTitles.add(previousDimensionGrandChildTitle);}}}
8338for(const currentDimensionChildTitle of currentDimensionChildTitles){const currentDimensionChildNode=this.getOrCreateChildNode_(node,d,currentDimensionChildTitle);for(let i=0;i<d;i++){for(const previousDimensionChildNode of
8339node.children[i].values()){const previousDimensionGrandChildNode=previousDimensionChildNode.children[d].get(currentDimensionChildTitle);if(previousDimensionGrandChildNode!==undefined){currentDimensionChildNode.children[i].set(previousDimensionChildNode.title[i],previousDimensionGrandChildNode);}}}
8340this.setUpMissingChildRelationships_(currentDimensionChildNode,d);}}},finalizeTotalValues_(node,firstDimensionToFinalize,dimensionalSelfSumsMap){const dimensionalSelfSums=new Array(this.dimensions_);const minResidual=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++)minResidual[v]=0;const nodeValues=node.values;const nodeSelfSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]=nodeValues[v].self;}
8341for(let d=0;d<this.dimensions_;d++){const childResidualSums=new Array(this.valueCount_);for(let v=0;v<this.valueCount_;v++){childResidualSums[v]=0;}
8342for(const childNode of node.children[d].values()){if(d>=firstDimensionToFinalize){this.finalizeTotalValues_(childNode,d,dimensionalSelfSumsMap);}
8343const childNodeSelfSums=dimensionalSelfSumsMap.get(childNode);const childNodeValues=childNode.values;for(let v=0;v<this.valueCount_;v++){nodeSelfSums[v]+=childNodeSelfSums[d][v];const residual=childNodeValues[v].total-
8344childNodeSelfSums[this.dimensions_-1][v];childResidualSums[v]+=residual;if(this.complete){nodeValues[v].totalState=EXACT;}else if(childNodeValues[v].totalState>NOT_PROVIDED){nodeValues[v].totalState=Math.max(nodeValues[v].totalState,LOWER_BOUND);}}}
8345dimensionalSelfSums[d]=nodeSelfSums.slice();for(let v=0;v<this.valueCount_;v++){minResidual[v]=Math.max(minResidual[v],childResidualSums[v]);}}
8346for(let v=0;v<this.valueCount_;v++){nodeValues[v].total=Math.max(nodeValues[v].total,nodeSelfSums[v]+minResidual[v]);}
8347if(dimensionalSelfSumsMap.has(node)){throw new Error('Internal error: Node finalized more than once');}
8348dimensionalSelfSumsMap.set(node,dimensionalSelfSums);},buildGenericHeavyView_(treeViewNodeHandler){const treeViewRoot=this.buildTopDownTreeView();const heavyViewRoot=this.createRootNode_();heavyViewRoot.values=treeViewRoot.values;const recursionDepthTrackers=new Array(this.dimensions_);for(let d=0;d<this.dimensions_;d++){recursionDepthTrackers[d]=new RecursionDepthTracker(this.maxDimensionDepths_[d],d);}
8349this.addDimensionsToGenericHeavyViewNode_(treeViewRoot,heavyViewRoot,0,recursionDepthTrackers,false,treeViewNodeHandler);this.setUpMissingChildRelationships_(heavyViewRoot,0);return heavyViewRoot;},addDimensionsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,startDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){for(let d=startDimension;d<this.dimensions_;d++){this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,d,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);}},addDimensionDescendantsToGenericHeavyViewNode_(treeViewParentNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler){const treeViewChildren=treeViewParentNode.children[currentDimension];const recursionDepthTracker=recursionDepthTrackers[currentDimension];for(const treeViewChildNode of treeViewChildren.values()){recursionDepthTracker.push(treeViewChildNode);treeViewNodeHandler(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive);this.addDimensionDescendantsToGenericHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,treeViewNodeHandler);recursionDepthTracker.pop();}},addDimensionToTopDownHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,1);},addDimensionToTopDownHeavyViewNodeRecursively_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const currentDimensionRecursive=subTreeDepth<=recursionDepthTracker.recursionDepth;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;const dimensionTitle=treeViewChildNode.title[currentDimension];const heavyViewChildNode=this.getOrCreateChildNode_(heavyViewParentNode,currentDimension,dimensionTitle);this.addNodeValues_(treeViewChildNode,heavyViewChildNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewChildNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToTopDownHeavyViewNode_.bind(this));for(const treeViewGrandChildNode of
8350treeViewChildNode.children[currentDimension].values()){recursionDepthTracker.push(treeViewGrandChildNode);this.addDimensionToTopDownHeavyViewNodeRecursively_(treeViewGrandChildNode,heavyViewChildNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive,subTreeDepth+1);recursionDepthTracker.pop();}},addDimensionToBottomUpHeavyViewNode_(treeViewChildNode,heavyViewParentNode,currentDimension,recursionDepthTrackers,previousDimensionsRecursive){const recursionDepthTracker=recursionDepthTrackers[currentDimension];const bottomIndex=recursionDepthTracker.bottomIndex;const topIndex=recursionDepthTracker.topIndex;const firstNonRecursiveIndex=bottomIndex+recursionDepthTracker.recursionDepth;const viewNodePath=recursionDepthTracker.viewNodePath;const trackerAncestorNode=recursionDepthTracker.trackerAncestorNode;let heavyViewDescendantNode=heavyViewParentNode;for(let i=bottomIndex;i<topIndex;i++){const treeViewAncestorNode=viewNodePath[i];const dimensionTitle=treeViewAncestorNode.title[currentDimension];heavyViewDescendantNode=this.getOrCreateChildNode_(heavyViewDescendantNode,currentDimension,dimensionTitle);const currentDimensionRecursive=i<firstNonRecursiveIndex;const currentOrPreviousDimensionsRecursive=currentDimensionRecursive||previousDimensionsRecursive;this.addNodeValues_(treeViewChildNode,heavyViewDescendantNode,!currentOrPreviousDimensionsRecursive);this.addDimensionsToGenericHeavyViewNode_(treeViewChildNode,heavyViewDescendantNode,currentDimension+1,recursionDepthTrackers,currentOrPreviousDimensionsRecursive,this.addDimensionToBottomUpHeavyViewNode_.bind(this));}},addNodeValues_(sourceNode,targetNode,addTotal){const targetNodeValues=targetNode.values;const sourceNodeValues=sourceNode.values;for(let v=0;v<this.valueCount_;v++){const targetNodeValue=targetNodeValues[v];const sourceNodeValue=sourceNodeValues[v];targetNodeValue.self+=sourceNodeValue.self;if(addTotal){targetNodeValue.total+=sourceNodeValue.total;if(this.complete){targetNodeValue.totalState=EXACT;}else if(sourceNodeValue.totalState>NOT_PROVIDED){targetNodeValue.totalState=Math.max(targetNodeValue.totalState,LOWER_BOUND);}}}}};function RecursionDepthTracker(maxDepth,dimension){this.titlePath=new Array(maxDepth);this.viewNodePath=new Array(maxDepth);this.bottomIndex=this.topIndex=maxDepth;this.dimension_=dimension;this.currentTrackerNode_=this.createNode_(0,undefined);}
8351RecursionDepthTracker.prototype={push(viewNode){if(this.bottomIndex===0){throw new Error('Cannot push to a full tracker');}
8352const title=viewNode.title[this.dimension_];this.bottomIndex--;this.titlePath[this.bottomIndex]=title;this.viewNodePath[this.bottomIndex]=viewNode;let childTrackerNode=this.currentTrackerNode_.children.get(title);if(childTrackerNode!==undefined){this.currentTrackerNode_=childTrackerNode;return;}
8353const maxLengths=zFunction(this.titlePath,this.bottomIndex);let recursionDepth=0;for(let i=0;i<maxLengths.length;i++){recursionDepth=Math.max(recursionDepth,maxLengths[i]);}
8354childTrackerNode=this.createNode_(recursionDepth,this.currentTrackerNode_);this.currentTrackerNode_.children.set(title,childTrackerNode);this.currentTrackerNode_=childTrackerNode;},pop(){if(this.bottomIndex===this.topIndex){throw new Error('Cannot pop from an empty tracker');}
8355this.titlePath[this.bottomIndex]=undefined;this.viewNodePath[this.bottomIndex]=undefined;this.bottomIndex++;this.currentTrackerNode_=this.currentTrackerNode_.parent;},get recursionDepth(){return this.currentTrackerNode_.recursionDepth;},createNode_(recursionDepth,parent){return{recursionDepth,parent,children:new Map()};}};function zFunction(list,startIndex){const n=list.length-startIndex;if(n===0)return[];const z=new Array(n);z[0]=0;for(let i=1,left=0,right=0;i<n;++i){let maxLength;if(i<=right){maxLength=Math.min(right-i+1,z[i-left]);}else{maxLength=0;}
8356while(i+maxLength<n&&list[startIndex+maxLength]===list[startIndex+i+maxLength]){++maxLength;}
8357if(i+maxLength-1>right){left=i;right=i+maxLength-1;}
8358z[i]=maxLength;}
8359return z;}
8360return{MultiDimensionalViewBuilder,MultiDimensionalViewNode,RecursionDepthTracker,zFunction,};});'use strict';tr.exportTo('tr.b',function(){class FixedColorScheme{constructor(namesToColors){this.namesToColors_=namesToColors;}
8361static fromNames(names){const namesToColors=new Map();const generator=new tr.b.SinebowColorGenerator();for(const name of names){namesToColors.set(name,generator.colorForKey(name));}
8362return new FixedColorScheme(namesToColors);}
8363getColor(name){const color=this.namesToColors_.get(name);if(color===undefined)throw new Error('Unknown color: '+name);return color;}}
8364const MemoryColumnColorScheme=new FixedColorScheme(new Map([['used_memory_column',new tr.b.Color(0,0,255)],['older_used_memory_column',new tr.b.Color(153,204,255)],['tracing_memory_column',new tr.b.Color(153,153,153)]]));function FixedColorSchemeRegistry(){}
8365FixedColorSchemeRegistry.lookUp=function(name){const info=this.findTypeInfoMatching(info=>info.metadata.name===name);if(!info)return undefined;return info.constructor();};const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);tr.b.decorateExtensionRegistry(FixedColorSchemeRegistry,options);return{MemoryColumnColorScheme,FixedColorScheme,FixedColorSchemeRegistry,};});'use strict';tr.exportTo('tr.e.chrome.chrome_processes',function(){const CHROME_PROCESS_NAMES={BROWSER:'browser_process',RENDERER:'renderer_processes',ALL:'all_processes',GPU:'gpu_process',PPAPI:'ppapi_process',UNKNOWN:'unknown_processes',};const PROCESS_COLOR_SCHEME_NAME='ChromeProcessNames';const PROCESS_COLOR_SCHEME=tr.b.FixedColorScheme.fromNames(Object.values(CHROME_PROCESS_NAMES));tr.b.FixedColorSchemeRegistry.register(()=>PROCESS_COLOR_SCHEME,{name:PROCESS_COLOR_SCHEME_NAME,});function canonicalizeName(name){return name.toLowerCase().replace(' ','_');}
8366function canonicalizeProcessName(rawProcessName){if(!rawProcessName)return CHROME_PROCESS_NAMES.UNKNOWN;const baseCanonicalName=canonicalizeName(rawProcessName);switch(baseCanonicalName){case'renderer':return CHROME_PROCESS_NAMES.RENDERER;case'browser':return CHROME_PROCESS_NAMES.BROWSER;}
8367if(Object.values(CHROME_PROCESS_NAMES).includes(baseCanonicalName)){return baseCanonicalName;}
8368throw new Error(`Unknown process name "${baseCanonicalName}".`+' Please add it to |CHROME_PROCESS_NAMES|.');}
8369return{CHROME_PROCESS_NAMES,PROCESS_COLOR_SCHEME,PROCESS_COLOR_SCHEME_NAME,canonicalizeName,canonicalizeProcessName,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const LEVEL_OF_DETAIL_NAMES=new Map();LEVEL_OF_DETAIL_NAMES.set(BACKGROUND,'background');LEVEL_OF_DETAIL_NAMES.set(LIGHT,'light');LEVEL_OF_DETAIL_NAMES.set(DETAILED,'detailed');const HEAP_PROFILER_DETAIL_NAME='heap_profiler';const BOUNDARIES_FOR_UNIT_MAP=new WeakMap();BOUNDARIES_FOR_UNIT_MAP.set(count_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,20,20));BOUNDARIES_FOR_UNIT_MAP.set(sizeInBytes_smallerIsBetter,new tr.v.HistogramBinBoundaries(0).addBinBoundary(1024).addExponentialBins(16*1024*1024*1024,4*24));const CHROME_PROCESS_NAMES=tr.e.chrome.chrome_processes.CHROME_PROCESS_NAMES;function memoryMetric(values,model,opt_options){const rangeOfInterest=opt_options?opt_options.rangeOfInterest:undefined;const browserNameToGlobalDumps=splitGlobalDumpsByBrowserName(model,rangeOfInterest);addGeneralMemoryDumpValues(browserNameToGlobalDumps,values);addDetailedMemoryDumpValues(browserNameToGlobalDumps,values);addMemoryDumpCountValues(browserNameToGlobalDumps,values);}
8370function splitGlobalDumpsByBrowserName(model,opt_rangeOfInterest){const chromeModelHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const browserNameToGlobalDumps=new Map();const globalDumpToBrowserHelper=new WeakMap();if(chromeModelHelper){chromeModelHelper.browserHelpers.forEach(function(helper){const globalDumps=skipDumpsThatDoNotIntersectRange(helper.process.memoryDumps.map(d=>d.globalMemoryDump),opt_rangeOfInterest);globalDumps.forEach(function(globalDump){const existingHelper=globalDumpToBrowserHelper.get(globalDump);if(existingHelper!==undefined){throw new Error('Memory dump ID clash across multiple browsers '+'with PIDs: '+existingHelper.pid+' and '+helper.pid);}
8371globalDumpToBrowserHelper.set(globalDump,helper);});makeKeyUniqueAndSet(browserNameToGlobalDumps,tr.e.chrome.chrome_processes.canonicalizeName(helper.browserName),globalDumps);});}
8372const unclassifiedGlobalDumps=skipDumpsThatDoNotIntersectRange(model.globalMemoryDumps.filter(g=>!globalDumpToBrowserHelper.has(g)),opt_rangeOfInterest);if(unclassifiedGlobalDumps.length>0){makeKeyUniqueAndSet(browserNameToGlobalDumps,'unknown_browser',unclassifiedGlobalDumps);}
8373return browserNameToGlobalDumps;}
8374function skipDumpsThatDoNotIntersectRange(dumps,opt_range){if(!opt_range)return dumps;return dumps.filter(d=>opt_range.intersectsExplicitRangeInclusive(d.start,d.end));}
8375const USER_FRIENDLY_BROWSER_NAMES={'chrome':'Chrome','webview':'WebView','unknown_browser':'an unknown browser'};function convertBrowserNameToUserFriendlyName(browserName){for(const baseName in USER_FRIENDLY_BROWSER_NAMES){if(!browserName.startsWith(baseName))continue;const userFriendlyBaseName=USER_FRIENDLY_BROWSER_NAMES[baseName];const suffix=browserName.substring(baseName.length);if(suffix.length===0){return userFriendlyBaseName;}else if(/^\d+$/.test(suffix)){return userFriendlyBaseName+'('+suffix+')';}}
8376return'\''+browserName+'\' browser';}
8377function convertProcessNameToUserFriendlyName(processName,opt_requirePlural){switch(processName){case CHROME_PROCESS_NAMES.BROWSER:return opt_requirePlural?'browser processes':'the browser process';case CHROME_PROCESS_NAMES.RENDERER:return'renderer processes';case CHROME_PROCESS_NAMES.GPU:return opt_requirePlural?'GPU processes':'the GPU process';case CHROME_PROCESS_NAMES.PPAPI:return opt_requirePlural?'PPAPI processes':'the PPAPI process';case CHROME_PROCESS_NAMES.ALL:return'all processes';case CHROME_PROCESS_NAMES.UNKNOWN:return'unknown processes';default:return'\''+processName+'\' processes';}}
8378function makeKeyUniqueAndSet(map,key,value){let uniqueKey=key;let nextIndex=2;while(map.has(uniqueKey)){uniqueKey=key+nextIndex;nextIndex++;}
8379map.set(uniqueKey,value);}
8380function addGeneralMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,gmd=>true,function(processDump,addProcessScalar){addProcessScalar({source:'process_count',property:PROCESS_COUNT,value:1});if(processDump.totals!==undefined){addProcessScalar({source:'reported_by_os',property:RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.residentBytes});addProcessScalar({source:'reported_by_os',property:PEAK_RESIDENT_SIZE,component:['system_memory'],value:processDump.totals.peakResidentBytes});}
8381if(processDump.memoryAllocatorDumps===undefined)return;processDump.memoryAllocatorDumps.forEach(function(rootAllocatorDump){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property,value:rootAllocatorDump.numerics[property.name]});});if(rootAllocatorDump.numerics.allocated_objects_size===undefined){const allocatedObjectsDump=rootAllocatorDump.getDescendantDumpByFullName('allocated_objects');if(allocatedObjectsDump!==undefined){addProcessScalar({source:'reported_by_chrome',component:[rootAllocatorDump.name],property:ALLOCATED_OBJECTS_SIZE,value:allocatedObjectsDump.numerics.size});}}});addV8MemoryDumpValues(processDump,addProcessScalar);},function(componentTree){const tracingNode=componentTree.children[1].get('tracing');if(tracingNode===undefined)return;for(let i=0;i<componentTree.values.length;i++){componentTree.values[i].total-=tracingNode.values[i].total;}},values);}
8382function addV8MemoryDumpValues(processDump,addProcessScalar){const v8Dump=processDump.getMemoryAllocatorDumpByFullName('v8');if(v8Dump===undefined)return;v8Dump.children.forEach(function(isolateDump){const mallocDump=isolateDump.getDescendantDumpByFullName('malloc');if(mallocDump!==undefined){addV8ComponentValues(mallocDump,['v8','allocated_by_malloc'],addProcessScalar);}
8383const heapDump=isolateDump.getDescendantDumpByFullName('heap_spaces');if(heapDump!==undefined){addV8ComponentValues(heapDump,['v8','heap'],addProcessScalar);heapDump.children.forEach(function(spaceDump){if(spaceDump.name==='other_spaces')return;addV8ComponentValues(spaceDump,['v8','heap',spaceDump.name],addProcessScalar);});}});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.code_and_metadata_size});addProcessScalar({source:'reported_by_chrome',component:['v8'],property:CODE_AND_METADATA_SIZE,value:v8Dump.numerics.bytecode_and_metadata_size});}
8384function addV8ComponentValues(componentDump,componentPath,addProcessScalar){CHROME_VALUE_PROPERTIES.forEach(function(property){addProcessScalar({source:'reported_by_chrome',component:componentPath,property,value:componentDump.numerics[property.name]});});}
8385const PROCESS_COUNT={unit:count_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){if(componentPath.length>0){throw new Error('Unexpected process count non-empty component path: '+
8386componentPath.join(':'));}
8387return'total number of '+convertProcessNameToUserFriendlyName(processName,true);}};const EFFECTIVE_SIZE={name:'effective_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'effective size',componentPreposition:'of'});}};const ALLOCATED_OBJECTS_SIZE={name:'allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated',totalUserFriendlyPropertyName:'size of all allocated objects',componentPreposition:'by'});}};const SHIM_ALLOCATED_OBJECTS_SIZE={name:'shim_allocated_objects_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'size of all objects allocated through shim',totalUserFriendlyPropertyName:'size of all allocated objects through shim',componentPreposition:'by'});}};const LOCKED_SIZE={name:'locked_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'locked (pinned) size',componentPreposition:'of'});}};const PEAK_SIZE={name:'peak_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyName:'peak size',componentPreposition:'of'});}};const CODE_AND_METADATA_SIZE={name:'code_and_metadata_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildChromeValueDescriptionPrefix(componentPath,processName,{userFriendlyPropertyNamePrefix:'size of',userFriendlyPropertyName:'code and metadata'});}};const CHROME_VALUE_PROPERTIES=[EFFECTIVE_SIZE,ALLOCATED_OBJECTS_SIZE,SHIM_ALLOCATED_OBJECTS_SIZE,LOCKED_SIZE,PEAK_SIZE];function buildChromeValueDescriptionPrefix(componentPath,processName,formatSpec){const nameParts=[];if(componentPath.length===0){nameParts.push('total');if(formatSpec.totalUserFriendlyPropertyName){nameParts.push(formatSpec.totalUserFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8388nameParts.push(formatSpec.userFriendlyPropertyName);}
8389nameParts.push('reported by Chrome for');}else{if(formatSpec.componentPreposition===undefined){if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8390nameParts.push(componentPath.join(':'));nameParts.push(formatSpec.userFriendlyPropertyName);}else{if(formatSpec.userFriendlyPropertyNamePrefix){nameParts.push(formatSpec.userFriendlyPropertyNamePrefix);}
8391nameParts.push(formatSpec.userFriendlyPropertyName);nameParts.push(formatSpec.componentPreposition);if(componentPath[componentPath.length-1]==='allocated_by_malloc'){nameParts.push('objects allocated by malloc for');nameParts.push(componentPath.slice(0,componentPath.length-1).join(':'));}else{nameParts.push(componentPath.join(':'));}}
8392nameParts.push('in');}
8393nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
8394const RESIDENT_SIZE={name:'resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'resident set size (RSS)');}};const PEAK_RESIDENT_SIZE={name:'peak_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'peak resident set size');}};const PROPORTIONAL_RESIDENT_SIZE={name:'proportional_resident_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'proportional resident size (PSS)');}};const PRIVATE_DIRTY_SIZE={name:'private_dirty_size',unit:sizeInBytes_smallerIsBetter,buildDescriptionPrefix(componentPath,processName){return buildOsValueDescriptionPrefix(componentPath,processName,'private dirty size');}};function buildOsValueDescriptionPrefix(componentPath,processName,userFriendlyPropertyName){if(componentPath.length>2){throw new Error('OS value component path for \''+
8395userFriendlyPropertyName+'\' too long: '+componentPath.join(':'));}
8396const nameParts=[];if(componentPath.length<2){nameParts.push('total');}
8397nameParts.push(userFriendlyPropertyName);if(componentPath.length>0){switch(componentPath[0]){case'system_memory':if(componentPath.length>1){const userFriendlyComponentName=SYSTEM_VALUE_COMPONENTS[componentPath[1]].userFriendlyName;if(userFriendlyComponentName===undefined){throw new Error('System value sub-component for \''+
8398userFriendlyPropertyName+'\' unknown: '+
8399componentPath.join(':'));}
8400nameParts.push('of',userFriendlyComponentName,'in');}else{nameParts.push('of system memory (RAM) used by');}
8401break;case'gpu_memory':if(componentPath.length>1){nameParts.push('of the',componentPath[1]);nameParts.push('Android memtrack component in');}else{nameParts.push('of GPU memory (Android memtrack) used by');}
8402break;default:throw new Error('OS value component for \''+
8403userFriendlyPropertyName+'\' unknown: '+
8404componentPath.join(':'));}}else{nameParts.push('reported by the OS for');}
8405nameParts.push(convertProcessNameToUserFriendlyName(processName));return nameParts.join(' ');}
8406function addDetailedMemoryDumpValues(browserNameToGlobalDumps,values){addMemoryDumpValues(browserNameToGlobalDumps,g=>g.levelOfDetail===DETAILED,function(processDump,addProcessScalar){for(const[componentName,componentSpec]of
8407Object.entries(SYSTEM_VALUE_COMPONENTS)){const node=getDescendantVmRegionClassificationNode(processDump.vmRegions,componentSpec.classificationPath);const componentPath=['system_memory'];if(componentName)componentPath.push(componentName);addProcessScalar({source:'reported_by_os',component:componentPath,property:PROPORTIONAL_RESIDENT_SIZE,value:node===undefined?0:(node.byteStats.proportionalResident||0)});addProcessScalar({source:'reported_by_os',component:componentPath,property:PRIVATE_DIRTY_SIZE,value:node===undefined?0:(node.byteStats.privateDirtyResident||0)});}
8408const memtrackDump=processDump.getMemoryAllocatorDumpByFullName('gpu/android_memtrack');if(memtrackDump!==undefined){memtrackDump.children.forEach(function(memtrackChildDump){addProcessScalar({source:'reported_by_os',component:['gpu_memory',memtrackChildDump.name],property:PROPORTIONAL_RESIDENT_SIZE,value:memtrackChildDump.numerics.memtrack_pss});});}},function(componentTree){},values);}
8409const SYSTEM_VALUE_COMPONENTS={'':{classificationPath:[],},'java_heap':{classificationPath:['Android','Java runtime','Spaces'],userFriendlyName:'the Java heap'},'ashmem':{classificationPath:['Android','Ashmem'],userFriendlyName:'ashmem'},'native_heap':{classificationPath:['Native heap'],userFriendlyName:'the native heap'},'stack':{classificationPath:['Stack'],userFriendlyName:'the thread stacks'}};function getDescendantVmRegionClassificationNode(node,path){for(let i=0;i<path.length;i++){if(node===undefined)break;node=tr.b.findFirstInArray(node.children,c=>c.title===path[i]);}
8410return node;}
8411function addMemoryDumpCountValues(browserNameToGlobalDumps,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){let totalDumpCount=0;const levelOfDetailNameToDumpCount={};LEVEL_OF_DETAIL_NAMES.forEach(function(levelOfDetailName){levelOfDetailNameToDumpCount[levelOfDetailName]=0;});levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]=0;globalDumps.forEach(function(globalDump){totalDumpCount++;const levelOfDetailName=LEVEL_OF_DETAIL_NAMES.get(globalDump.levelOfDetail);if(levelOfDetailName===undefined){return;}
8412levelOfDetailNameToDumpCount[levelOfDetailName]++;if(globalDump.levelOfDetail===DETAILED){if(detectHeapProfilerInMemoryDump(globalDump)){levelOfDetailNameToDumpCount[HEAP_PROFILER_DETAIL_NAME]++;}}});reportMemoryDumpCountAsValue(browserName,undefined,totalDumpCount,values);for(const[levelOfDetailName,levelOfDetailDumpCount]of
8413Object.entries(levelOfDetailNameToDumpCount)){reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values);}});}
8414function detectHeapProfilerInMemoryDump(globalDump){for(const processDump of Object.values(globalDump.processMemoryDumps)){if(processDump.heapDumps&&processDump.heapDumps.malloc){const mallocDump=processDump.heapDumps.malloc;if(mallocDump.entries&&mallocDump.entries.length>0){return true;}}}
8415return false;}
8416function reportMemoryDumpCountAsValue(browserName,levelOfDetailName,levelOfDetailDumpCount,values){const nameParts=['memory',browserName,'all_processes','dump_count'];if(levelOfDetailName!==undefined){nameParts.push(levelOfDetailName);}
8417const name=nameParts.join(':');const histogram=new tr.v.Histogram(name,count_smallerIsBetter,BOUNDARIES_FOR_UNIT_MAP.get(count_smallerIsBetter));histogram.addSample(levelOfDetailDumpCount);const userFriendlyLevelOfDetail=(levelOfDetailName||'all').replace('_',' ');histogram.description=['total number of',userFriendlyLevelOfDetail,'memory dumps added by',convertBrowserNameToUserFriendlyName(browserName),'to the trace'].join(' ');values.addHistogram(histogram);}
8418function addMemoryDumpValues(browserNameToGlobalDumps,customGlobalDumpFilter,customProcessDumpValueExtractor,customComponentTreeModifier,values){browserNameToGlobalDumps.forEach(function(globalDumps,browserName){const filteredGlobalDumps=globalDumps.filter(customGlobalDumpFilter);const sourceToPropertyToBuilder=extractDataFromGlobalDumps(filteredGlobalDumps,customProcessDumpValueExtractor);reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values);});}
8419function extractDataFromGlobalDumps(globalDumps,customProcessDumpValueExtractor){const sourceToPropertyToBuilder=new Map();const dumpCount=globalDumps.length;globalDumps.forEach(function(globalDump,dumpIndex){for(const processDump of Object.values(globalDump.processMemoryDumps)){extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor);}});return sourceToPropertyToBuilder;}
8420function extractDataFromProcessDump(processDump,sourceToPropertyToBuilder,dumpIndex,dumpCount,customProcessDumpValueExtractor){const rawProcessName=processDump.process.name;const processNamePath=[tr.e.chrome.chrome_processes.canonicalizeProcessName(rawProcessName)];customProcessDumpValueExtractor(processDump,function addProcessScalar(spec){if(spec.value===undefined)return;const component=spec.component||[];function createDetailsForErrorMessage(){return['source=',spec.source,', property=',spec.property.name||'(undefined)',', component=',component.length===0?'(empty)':component.join(':'),' in ',processDump.process.userFriendlyName].join('');}
8421let value;if(spec.value instanceof tr.b.Scalar){value=spec.value.value;if(spec.value.unit!==spec.property.unit){throw new Error('Scalar unit for '+
8422createDetailsForErrorMessage()+' ('+
8423spec.value.unit.unitName+') doesn\'t match the unit of the property ('+
8424spec.property.unit.unitName+')');}}else{value=spec.value;}
8425let propertyToBuilder=sourceToPropertyToBuilder.get(spec.source);if(propertyToBuilder===undefined){propertyToBuilder=new Map();sourceToPropertyToBuilder.set(spec.source,propertyToBuilder);}
8426let builder=propertyToBuilder.get(spec.property);if(builder===undefined){builder=new tr.b.MultiDimensionalViewBuilder(2,dumpCount),propertyToBuilder.set(spec.property,builder);}
8427const values=new Array(dumpCount);values[dumpIndex]=value;builder.addPath([processNamePath,component],values,tr.b.MultiDimensionalViewBuilder.ValueKind.TOTAL);});}
8428function reportDataAsValues(sourceToPropertyToBuilder,browserName,customComponentTreeModifier,values){sourceToPropertyToBuilder.forEach(function(propertyToBuilder,sourceName){propertyToBuilder.forEach(function(builders,property){const tree=builders.buildTopDownTreeView();reportComponentDataAsValues(browserName,sourceName,property,[],[],tree,values,customComponentTreeModifier);});});}
8429function reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,tree,values,customComponentTreeModifier,opt_cachedHistograms){const cachedHistograms=opt_cachedHistograms||new Map();function recurse(processPath,componentPath,node){return reportComponentDataAsValues(browserName,sourceName,property,processPath,componentPath,node,values,customComponentTreeModifier,cachedHistograms);}
8430function buildHistogram(processPath,componentPath,node){return buildNamedMemoryNumericFromNode(browserName,sourceName,property,processPath.length===0?'all_processes':processPath[0],componentPath,node);}
8431customComponentTreeModifier(tree);const histogram=buildHistogram(processPath,componentPath,tree);if(cachedHistograms.has(histogram.name)){return cachedHistograms.get(histogram.name);}
8432cachedHistograms.set(histogram.name,histogram);const processBreakdown=new tr.v.d.RelatedHistogramBreakdown();processBreakdown.colorScheme=tr.e.chrome.chrome_processes.PROCESS_COLOR_SCHEME_NAME;for(const[childProcessName,childProcessNode]of tree.children[0]){processPath.push(childProcessName);const childProcessHistogram=recurse(processPath,componentPath,childProcessNode);processBreakdown.set(childProcessName,childProcessHistogram);processPath.pop();}
8433const componentBreakdown=new tr.v.d.RelatedHistogramBreakdown();for(const[childComponentName,childComponentNode]of tree.children[1]){componentPath.push(childComponentName);const childComponentHistogram=recurse(processPath,componentPath,childComponentNode);componentBreakdown.set(childComponentName,childComponentHistogram);componentPath.pop();}
8434values.addHistogram(histogram);if(tree.children[0].size>0){histogram.diagnostics.set('processes',processBreakdown);}
8435if(tree.children[1].size>0){histogram.diagnostics.set('components',componentBreakdown);}
8436return histogram;}
8437function getNumericName(browserName,sourceName,propertyName,processName,componentPath){const nameParts=['memory',browserName,processName,sourceName].concat(componentPath);if(propertyName!==undefined)nameParts.push(propertyName);return nameParts.join(':');}
8438function getNumericDescription(property,browserName,processName,componentPath){return[property.buildDescriptionPrefix(componentPath,processName),'in',convertBrowserNameToUserFriendlyName(browserName)].join(' ');}
8439function buildNamedMemoryNumericFromNode(browserName,sourceName,property,processName,componentPath,node){const name=getNumericName(browserName,sourceName,property.name,processName,componentPath);const description=getNumericDescription(property,browserName,processName,componentPath);const numeric=buildMemoryNumericFromNode(name,node,property.unit);numeric.description=description;return numeric;}
8440function buildMemoryNumericFromNode(name,node,unit){const histogram=new tr.v.Histogram(name,unit,BOUNDARIES_FOR_UNIT_MAP.get(unit));node.values.forEach(v=>histogram.addSample(v.total));return histogram;}
8441tr.metrics.MetricRegistry.register(memoryMetric,{supportsRangeOfInterest:true});return{memoryMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){const CHROME_POWER_GRACE_PERIOD_MS=1;function createEmptyHistogram_(interval,histograms){if(interval.perSecond){return{perSecond:true,energy:histograms.createHistogram(`${interval.name}:power`,tr.b.Unit.byName.powerInWatts_smallerIsBetter,[],{description:`Energy consumption rate for ${interval.description}`,summaryOptions:{avg:true,count:false,max:true,min:true,std:false,sum:false,},}),};}
8442return{perSecond:false,energy:histograms.createHistogram(`${interval.name}:energy`,tr.b.Unit.byName.energyInJoules_smallerIsBetter,[],{description:`Energy consumed in ${interval.description}`,summaryOptions:{avg:false,count:false,max:true,min:true,std:false,sum:true,},}),};}
8443function createHistograms_(data,interval,histograms){if(data.histograms[interval.name]===undefined){data.histograms[interval.name]=createEmptyHistogram_(interval,histograms);}
8444if(data.histograms[interval.name].perSecond){for(const sample of data.model.device.powerSeries.getSamplesWithinRange(interval.bounds.min,interval.bounds.max)){data.histograms[interval.name].energy.addSample(sample.powerInW);}}else{const energyInJ=data.model.device.powerSeries.getEnergyConsumedInJ(interval.bounds.min,interval.bounds.max);data.histograms[interval.name].energy.addSample(energyInJ);}}
8445function getNavigationTTIIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const intervals=[];for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;for(const sample of samples){const info=sample.diagnostics['Navigation infos'].value;intervals.push(tr.b.math.Range.fromExplicitRange(info.start,info.interactive));}}
8446return intervals.sort((x,y)=>x.min-y.min);}
8447function*computeTimeIntervals_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);const powerSeries=model.device.powerSeries;if(powerSeries===undefined||powerSeries.samples.length===0){return;}
8448yield{bounds:model.bounds,name:'story',description:'user story',perSecond:true};const chromeBounds=computeChromeBounds_(model);if(chromeBounds.isEmpty)return;const powerSeriesBoundsWithGracePeriod=tr.b.math.Range.fromExplicitRange(powerSeries.bounds.min-CHROME_POWER_GRACE_PERIOD_MS,powerSeries.bounds.max+CHROME_POWER_GRACE_PERIOD_MS);if(!powerSeriesBoundsWithGracePeriod.containsRangeExclusive(chromeBounds)){return;}
8449for(const interval of getRailStageIntervals_(model)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}
8450for(const interval of getLoadingIntervals_(model,chromeBounds)){yield{bounds:interval.bounds.findIntersection(chromeBounds),name:interval.name,description:interval.description,perSecond:interval.perSecond};}}
8451function*getRailStageIntervals_(model){for(const exp of model.userModel.expectations){const histogramName=exp.title.toLowerCase().replace(' ','_');const energyHist=undefined;if(histogramName.includes('response')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:false};}else if(histogramName.includes('animation')||histogramName.includes('idle')){yield{bounds:tr.b.math.Range.fromExplicitRange(exp.start,exp.end),name:histogramName,description:'RAIL stage '+histogramName,perSecond:true};}}}
8452function*getLoadingIntervals_(model,chromeBounds){const ttiIntervals=getNavigationTTIIntervals_(model);let lastLoadTime=undefined;for(const ttiInterval of ttiIntervals){yield{bounds:ttiInterval,name:'load',description:'page loads',perSecond:false};lastLoadTime=lastLoadTime===undefined?ttiInterval.max:Math.max(lastLoadTime,ttiInterval.max);}
8453if(lastLoadTime!==undefined){yield{bounds:tr.b.math.Range.fromExplicitRange(lastLoadTime,chromeBounds.max),name:'after_load',description:'period after load',perSecond:true};}}
8454function computeChromeBounds_(model){const chromeBounds=new tr.b.math.Range();const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);if(chromeHelper===undefined)return chromeBounds;for(const helper of chromeHelper.browserHelpers){if(helper.mainThread){chromeBounds.addRange(helper.mainThread.bounds);}}
8455for(const pid in chromeHelper.rendererHelpers){if(chromeHelper.rendererHelpers[pid].mainThread){chromeBounds.addRange(chromeHelper.rendererHelpers[pid].mainThread.bounds);}}
8456return chromeBounds;}
8457function powerMetric(histograms,model){const data={model,histograms:{}};for(const interval of computeTimeIntervals_(model)){createHistograms_(data,interval,histograms);}}
8458tr.metrics.MetricRegistry.register(powerMetric);return{powerMetric};});'use strict';tr.exportTo('tr.metrics.sh',function(){function computeAnimationThroughput(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+
8459animationExpectation.stableId);}
8460const durationInS=tr.b.convertUnit(animationExpectation.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return animationExpectation.frameEvents.length/durationInS;}
8461function computeAnimationframeTimeDiscrepancy(animationExpectation){if(animationExpectation.frameEvents===undefined||animationExpectation.frameEvents.length===0){throw new Error('Animation missing frameEvents '+
8462animationExpectation.stableId);}
8463let frameTimestamps=animationExpectation.frameEvents;frameTimestamps=frameTimestamps.toArray().map(function(event){return event.start;});const absolute=true;return tr.b.math.Statistics.timestampsDiscrepancy(frameTimestamps,absolute);}
8464function responsivenessMetric(histograms,model,opt_options){const responseNumeric=new tr.v.Histogram('response latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(100,1e3,50));const throughputNumeric=new tr.v.Histogram('animation throughput',tr.b.Unit.byName.unitlessNumber_biggerIsBetter,tr.v.HistogramBinBoundaries.createLinear(10,60,10));const frameTimeDiscrepancyNumeric=new tr.v.Histogram('animation frameTimeDiscrepancy',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,1e3,50).addExponentialBins(1e4,10));const latencyNumeric=new tr.v.Histogram('animation latency',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,tr.v.HistogramBinBoundaries.createLinear(0,300,60));model.userModel.expectations.forEach(function(ue){if(opt_options&&opt_options.rangeOfInterest&&!opt_options.rangeOfInterest.intersectsExplicitRangeInclusive(ue.start,ue.end)){return;}
8465const sampleDiagnosticMap=tr.v.d.DiagnosticMap.fromObject({relatedEvents:new tr.v.d.RelatedEventSet([ue])});if(ue instanceof tr.model.um.IdleExpectation){return;}else if(ue instanceof tr.model.um.StartupExpectation){return;}else if(ue instanceof tr.model.um.LoadExpectation){}else if(ue instanceof tr.model.um.ResponseExpectation){responseNumeric.addSample(ue.duration,sampleDiagnosticMap);}else if(ue instanceof tr.model.um.AnimationExpectation){if(ue.frameEvents===undefined||ue.frameEvents.length===0){return;}
8466const throughput=computeAnimationThroughput(ue);if(throughput===undefined){throw new Error('Missing throughput for '+
8467ue.stableId);}
8468throughputNumeric.addSample(throughput,sampleDiagnosticMap);const frameTimeDiscrepancy=computeAnimationframeTimeDiscrepancy(ue);if(frameTimeDiscrepancy===undefined){throw new Error('Missing frameTimeDiscrepancy for '+
8469ue.stableId);}
8470frameTimeDiscrepancyNumeric.addSample(frameTimeDiscrepancy,sampleDiagnosticMap);ue.associatedEvents.forEach(function(event){if(!(event instanceof tr.e.cc.InputLatencyAsyncSlice)){return;}
8471latencyNumeric.addSample(event.duration,sampleDiagnosticMap);});}else{throw new Error('Unrecognized stage for '+ue.stableId);}});[responseNumeric,throughputNumeric,frameTimeDiscrepancyNumeric,latencyNumeric].forEach(function(numeric){numeric.customizeSummaryOptions({avg:true,max:true,min:true,std:true});});histograms.addHistogram(responseNumeric);histograms.addHistogram(throughputNumeric);histograms.addHistogram(frameTimeDiscrepancyNumeric);histograms.addHistogram(latencyNumeric);}
8472tr.metrics.MetricRegistry.register(responsivenessMetric,{supportsRangeOfInterest:true});return{responsivenessMetric,};});'use strict';tr.exportTo('tr.metrics.sh',function(){function webviewStartupMetric(histograms,model){const startupWallHist=new tr.v.Histogram('webview_startup_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupWallHist.description='WebView startup wall time';const startupCPUHist=new tr.v.Histogram('webview_startup_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);startupCPUHist.description='WebView startup CPU time';const loadWallHist=new tr.v.Histogram('webview_url_load_wall_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadWallHist.description='WebView blank URL load wall time';const loadCPUHist=new tr.v.Histogram('webview_url_load_cpu_time',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter);loadCPUHist.description='WebView blank URL load CPU time';for(const slice of model.getDescendantEvents()){if(!(slice instanceof tr.model.ThreadSlice))continue;if(slice.title==='WebViewStartupInterval'){startupWallHist.addSample(slice.duration);startupCPUHist.addSample(slice.cpuDuration);}
8473if(slice.title==='WebViewBlankUrlLoadInterval'){loadWallHist.addSample(slice.duration);loadCPUHist.addSample(slice.cpuDuration);}}
8474histograms.addHistogram(startupWallHist);histograms.addHistogram(startupCPUHist);histograms.addHistogram(loadWallHist);histograms.addHistogram(loadCPUHist);}
8475tr.metrics.MetricRegistry.register(webviewStartupMetric);return{webviewStartupMetric,};});'use strict';tr.exportTo('tr.metrics',function(){const MEMORY_INFRA_TRACING_CATEGORY='disabled-by-default-memory-infra';const TIME_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1e-3,1e5,30);const BYTE_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e9,30);const COUNT_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1e5,30);const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;function addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes){const memoryDumpCount=model.globalMemoryDumps.length;if(memoryDumpCount===0)return;let totalOverhead=0;let nonMemoryInfraThreadOverhead=0;const overheadByProvider={};for(const process of Object.values(model.processes)){for(const thread of Object.values(process.threads)){for(const slice of Object.values(thread.sliceGroup.slices)){if(slice.category!==MEMORY_INFRA_TRACING_CATEGORY)continue;totalOverhead+=slice.duration;if(thread.name!=='MemoryInfra'){nonMemoryInfraThreadOverhead+=slice.duration;}
8476if(slice.args&&slice.args['dump_provider.name']){const providerName=slice.args['dump_provider.name'];let durationAndCount=overheadByProvider[providerName];if(durationAndCount===undefined){overheadByProvider[providerName]=durationAndCount={duration:0,count:0};}
8477durationAndCount.duration+=slice.duration;durationAndCount.count++;}}}}
8478histograms.createHistogram('memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,totalOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on all threads per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('nonmemory_thread_memory_dump_cpu_overhead',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,nonMemoryInfraThreadOverhead/memoryDumpCount,{binBoundaries:TIME_BOUNDARIES,description:'Average CPU overhead on non-memory-infra threads '+'per memory-infra dump',summaryOptions:SUMMARY_OPTIONS,});for(const[providerName,overhead]of Object.entries(overheadByProvider)){histograms.createHistogram(`${providerName}_memory_dump_cpu_overhead`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,overhead.duration/overhead.count,{binBoundaries:TIME_BOUNDARIES,description:`Average CPU overhead of ${providerName} per OnMemoryDump call`,summaryOptions:SUMMARY_OPTIONS,});}
8479const memoryInfraEventsSize=categoryNamesToTotalEventSizes.get(MEMORY_INFRA_TRACING_CATEGORY);const memoryInfraTraceBytesValue=new tr.v.Histogram('total_memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);memoryInfraTraceBytesValue.description='Total trace size of memory-infra dumps in bytes';memoryInfraTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);memoryInfraTraceBytesValue.addSample(memoryInfraEventsSize);histograms.addHistogram(memoryInfraTraceBytesValue);const traceBytesPerDumpValue=new tr.v.Histogram('memory_dump_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);traceBytesPerDumpValue.description='Average trace size of memory-infra dumps in bytes';traceBytesPerDumpValue.customizeSummaryOptions(SUMMARY_OPTIONS);traceBytesPerDumpValue.addSample(memoryInfraEventsSize/memoryDumpCount);histograms.addHistogram(traceBytesPerDumpValue);}
8480function tracingMetric(histograms,model){histograms.createHistogram('trace_import_duration',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,model.stats.traceImportDurationMs,{binBoundaries:TIME_BOUNDARIES,description:'Duration that trace viewer required to import the trace',summaryOptions:SUMMARY_OPTIONS,});if(!model.stats.hasEventSizesinBytes)return;const eventStats=model.stats.allTraceEventStatsInTimeIntervals;eventStats.sort((a,b)=>a.timeInterval-b.timeInterval);const totalTraceBytes=eventStats.reduce((a,b)=>a+b.totalEventSizeinBytes,0);let maxEventCountPerSec=0;let maxEventBytesPerSec=0;const INTERVALS_PER_SEC=Math.floor(1000/model.stats.TIME_INTERVAL_SIZE_IN_MS);let runningEventNumPerSec=0;let runningEventBytesPerSec=0;let start=0;let end=0;while(end<eventStats.length){runningEventNumPerSec+=eventStats[end].numEvents;runningEventBytesPerSec+=eventStats[end].totalEventSizeinBytes;end++;while((eventStats[end-1].timeInterval-
8481eventStats[start].timeInterval)>=INTERVALS_PER_SEC){runningEventNumPerSec-=eventStats[start].numEvents;runningEventBytesPerSec-=eventStats[start].totalEventSizeinBytes;start++;}
8482maxEventCountPerSec=Math.max(maxEventCountPerSec,runningEventNumPerSec);maxEventBytesPerSec=Math.max(maxEventBytesPerSec,runningEventBytesPerSec);}
8483const stats=model.stats.allTraceEventStats;const categoryNamesToTotalEventSizes=(stats.reduce((map,stat)=>(map.set(stat.category,((map.get(stat.category)||0)+
8484stat.totalEventSizeinBytes))),new Map()));const maxCatNameAndBytes=Array.from(categoryNamesToTotalEventSizes.entries()).reduce((a,b)=>((b[1]>=a[1])?b:a));const maxEventBytesPerCategory=maxCatNameAndBytes[1];const categoryWithMaxEventBytes=maxCatNameAndBytes[0];const maxEventCountPerSecValue=new tr.v.Histogram('peak_event_rate',tr.b.Unit.byName.count_smallerIsBetter,COUNT_BOUNDARIES);maxEventCountPerSecValue.description='Max number of events per second';maxEventCountPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventCountPerSecValue.addSample(maxEventCountPerSec);const maxEventBytesPerSecValue=new tr.v.Histogram('peak_event_size_rate',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);maxEventBytesPerSecValue.description='Max event size in bytes per second';maxEventBytesPerSecValue.customizeSummaryOptions(SUMMARY_OPTIONS);maxEventBytesPerSecValue.addSample(maxEventBytesPerSec);const totalTraceBytesValue=new tr.v.Histogram('trace_size',tr.b.Unit.byName.sizeInBytes_smallerIsBetter,BYTE_BOUNDARIES);totalTraceBytesValue.customizeSummaryOptions(SUMMARY_OPTIONS);totalTraceBytesValue.addSample(totalTraceBytes);const biggestCategory={name:categoryWithMaxEventBytes,size_in_bytes:maxEventBytesPerCategory};totalTraceBytesValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(totalTraceBytesValue);maxEventCountPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventCountPerSecValue);maxEventBytesPerSecValue.diagnostics.set('category_with_max_event_size',new tr.v.d.Generic(biggestCategory));histograms.addHistogram(maxEventBytesPerSecValue);addMemoryInfraHistograms(histograms,model,categoryNamesToTotalEventSizes);}
8485tr.metrics.MetricRegistry.register(tracingMetric);return{tracingMetric,MEMORY_INFRA_TRACING_CATEGORY,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(4,200,100);function computeExecuteMetrics(histograms,model){const cpuTotalExecution=new tr.v.Histogram('v8_execution_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalExecution.description='cpu total time spent in script execution';const wallTotalExecution=new tr.v.Histogram('v8_execution_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalExecution.description='wall total time spent in script execution';const cpuSelfExecution=new tr.v.Histogram('v8_execution_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfExecution.description='cpu self time spent in script execution';const wallSelfExecution=new tr.v.Histogram('v8_execution_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfExecution.description='wall self time spent in script execution';for(const e of model.findTopmostSlicesNamed('V8.Execute')){cpuTotalExecution.addSample(e.cpuDuration);wallTotalExecution.addSample(e.duration);cpuSelfExecution.addSample(e.cpuSelfTime);wallSelfExecution.addSample(e.selfTime);}
8486histograms.addHistogram(cpuTotalExecution);histograms.addHistogram(wallTotalExecution);histograms.addHistogram(cpuSelfExecution);histograms.addHistogram(wallSelfExecution);}
8487function computeParseLazyMetrics(histograms,model){const cpuSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfParseLazy.description='cpu self time spent performing lazy parsing';const wallSelfParseLazy=new tr.v.Histogram('v8_parse_lazy_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfParseLazy.description='wall self time spent performing lazy parsing';for(const e of model.findTopmostSlicesNamed('V8.ParseLazyMicroSeconds')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
8488for(const e of model.findTopmostSlicesNamed('V8.ParseLazy')){cpuSelfParseLazy.addSample(e.cpuSelfTime);wallSelfParseLazy.addSample(e.selfTime);}
8489histograms.addHistogram(cpuSelfParseLazy);histograms.addHistogram(wallSelfParseLazy);}
8490function computeCompileFullCodeMetrics(histograms,model){const cpuSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileFullCode.description='cpu self time spent performing compiling full code';const wallSelfCompileFullCode=new tr.v.Histogram('v8_compile_full_code_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileFullCode.description='wall self time spent performing compiling full code';for(const e of model.findTopmostSlicesNamed('V8.CompileFullCode')){cpuSelfCompileFullCode.addSample(e.cpuSelfTime);wallSelfCompileFullCode.addSample(e.selfTime);}
8491histograms.addHistogram(cpuSelfCompileFullCode);histograms.addHistogram(wallSelfCompileFullCode);}
8492function computeCompileIgnitionMetrics(histograms,model){const cpuSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_cpu_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuSelfCompileIgnition.description='cpu self time spent in compile ignition';const wallSelfCompileIgnition=new tr.v.Histogram('v8_compile_ignition_wall_self',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallSelfCompileIgnition.description='wall self time spent in compile ignition';for(const e of model.findTopmostSlicesNamed('V8.CompileIgnition')){cpuSelfCompileIgnition.addSample(e.cpuSelfTime);wallSelfCompileIgnition.addSample(e.selfTime);}
8493histograms.addHistogram(cpuSelfCompileIgnition);histograms.addHistogram(wallSelfCompileIgnition);}
8494function computeRecompileMetrics(histograms,model){const cpuTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileSynchronous.description='cpu total time spent in synchronous recompilation';const wallTotalRecompileSynchronous=new tr.v.Histogram('v8_recompile_synchronous_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileSynchronous.description='wall total time spent in synchronous recompilation';const cpuTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileConcurrent.description='cpu total time spent in concurrent recompilation';const wallTotalRecompileConcurrent=new tr.v.Histogram('v8_recompile_concurrent_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileConcurrent.description='wall total time spent in concurrent recompilation';const cpuTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalRecompileOverall.description='cpu total time spent in synchronous or concurrent recompilation';const wallTotalRecompileOverall=new tr.v.Histogram('v8_recompile_overall_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalRecompileOverall.description='wall total time spent in synchronous or concurrent recompilation';for(const e of model.findTopmostSlicesNamed('V8.RecompileSynchronous')){cpuTotalRecompileSynchronous.addSample(e.cpuDuration);wallTotalRecompileSynchronous.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
8495histograms.addHistogram(cpuTotalRecompileSynchronous);histograms.addHistogram(wallTotalRecompileSynchronous);for(const e of model.findTopmostSlicesNamed('V8.RecompileConcurrent')){cpuTotalRecompileConcurrent.addSample(e.cpuDuration);wallTotalRecompileConcurrent.addSample(e.duration);cpuTotalRecompileOverall.addSample(e.cpuDuration);wallTotalRecompileOverall.addSample(e.duration);}
8496histograms.addHistogram(cpuTotalRecompileConcurrent);histograms.addHistogram(wallTotalRecompileConcurrent);histograms.addHistogram(cpuTotalRecompileOverall);histograms.addHistogram(wallTotalRecompileOverall);}
8497function computeOptimizeCodeMetrics(histograms,model){const cpuTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalOptimizeCode.description='cpu total time spent in code optimization';const wallTotalOptimizeCode=new tr.v.Histogram('v8_optimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalOptimizeCode.description='wall total time spent in code optimization';for(const e of model.findTopmostSlicesNamed('V8.OptimizeCode')){cpuTotalOptimizeCode.addSample(e.cpuDuration);wallTotalOptimizeCode.addSample(e.duration);}
8498histograms.addHistogram(cpuTotalOptimizeCode);histograms.addHistogram(wallTotalOptimizeCode);}
8499function computeDeoptimizeCodeMetrics(histograms,model){const cpuTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_cpu_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);cpuTotalDeoptimizeCode.description='cpu total time spent in code deoptimization';const wallTotalDeoptimizeCode=new tr.v.Histogram('v8_deoptimize_code_wall_total',tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);wallTotalDeoptimizeCode.description='wall total time spent in code deoptimization';for(const e of model.findTopmostSlicesNamed('V8.DeoptimizeCode')){cpuTotalDeoptimizeCode.addSample(e.cpuDuration);wallTotalDeoptimizeCode.addSample(e.duration);}
8500histograms.addHistogram(cpuTotalDeoptimizeCode);histograms.addHistogram(wallTotalDeoptimizeCode);}
8501function executionMetric(histograms,model){computeExecuteMetrics(histograms,model);computeParseLazyMetrics(histograms,model);computeCompileIgnitionMetrics(histograms,model);computeCompileFullCodeMetrics(histograms,model);computeRecompileMetrics(histograms,model);computeOptimizeCodeMetrics(histograms,model);computeDeoptimizeCodeMetrics(histograms,model);}
8502tr.metrics.MetricRegistry.register(executionMetric);return{executionMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const TARGET_FPS=60;const MS_PER_SECOND=1000;const WINDOW_SIZE_MS=MS_PER_SECOND/TARGET_FPS;function gcMetric(histograms,model){addDurationOfTopEvents(histograms,model);addTotalDurationOfTopEvents(histograms,model);addDurationOfSubEvents(histograms,model);addPercentageInV8ExecuteOfTopEvents(histograms,model);addTotalPercentageInV8Execute(histograms,model);}
8503tr.metrics.MetricRegistry.register(gcMetric);const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(0,20,200).addExponentialBins(200,100);function createNumericForTopEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:true,max:true,min:false,std:true,sum:true,percentile:[0.90]});return n;}
8504function createNumericForSubEventTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:false,percentile:[0.90]});return n;}
8505function createNumericForIdleTime(name){const n=new tr.v.Histogram(name,timeDurationInMs_smallerIsBetter,CUSTOM_BOUNDARIES);n.customizeSummaryOptions({avg:true,count:false,max:true,min:false,std:false,sum:true,percentile:[]});return n;}
8506function createPercentage(name,numerator,denominator,unit){const hist=new tr.v.Histogram(name,unit);if(denominator===0){hist.addSample(0);}else{hist.addSample(numerator/denominator);}
8507hist.customizeSummaryOptions({avg:true,count:false,max:false,min:false,std:false,sum:false,percentile:[]});return hist;}
8508function isNotForcedTopGarbageCollectionEvent(event){return tr.metrics.v8.utils.isTopGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
8509function isNotForcedSubGarbageCollectionEvent(event){return tr.metrics.v8.utils.isSubGarbageCollectionEvent(event)&&!tr.metrics.v8.utils.isForcedGarbageCollectionEvent(event);}
8510function addDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8511function addTotalDurationOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){const cpuDuration=createNumericForTopEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8512function addDurationOfSubEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedSubGarbageCollectionEvent,tr.metrics.v8.utils.subGarbageCollectionEventName,function(name,events){const cpuDuration=createNumericForSubEventTime(name);events.forEach(function(event){cpuDuration.addSample(event.cpuDuration);});histograms.addHistogram(cpuDuration);});}
8513function addPercentageInV8ExecuteOfTopEvents(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,tr.metrics.v8.utils.topGarbageCollectionEventName,function(name,events){addPercentageInV8Execute(histograms,model,name,events);});}
8514function addTotalPercentageInV8Execute(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isNotForcedTopGarbageCollectionEvent,event=>'v8-gc-total',function(name,events){addPercentageInV8Execute(histograms,model,name,events);});}
8515function addPercentageInV8Execute(histograms,model,name,events){let cpuDurationInV8Execute=0;let cpuDurationTotal=0;events.forEach(function(event){const v8Execute=tr.metrics.v8.utils.findParent(event,tr.metrics.v8.utils.isV8ExecuteEvent);if(v8Execute){cpuDurationInV8Execute+=event.cpuDuration;}
8516cpuDurationTotal+=event.cpuDuration;});const percentage=createPercentage(name+'_percentage_in_v8_execute',cpuDurationInV8Execute,cpuDurationTotal,percentage_smallerIsBetter);histograms.addHistogram(percentage);}
8517return{gcMetric,WINDOW_SIZE_MS,};});'use strict';tr.exportTo('tr.metrics.v8',function(){const COUNT_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(1,1000000,50);const DURATION_CUSTOM_BOUNDARIES=tr.v.HistogramBinBoundaries.createExponential(0.1,10000,50);const SUMMARY_OPTIONS={std:false,count:false,sum:false,min:false,max:false,};function computeDomContentLoadedTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let domContentLoadedTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){for(const ev of rendererHelper.mainThread.sliceGroup.childEvents()){if(ev.title==='domContentLoadedEventEnd'&&ev.start>domContentLoadedTime){domContentLoadedTime=ev.start;}}}
8518return domContentLoadedTime;}
8519function computeInteractiveTime_(model){const chromeHelper=model.getOrCreateHelper(tr.model.helpers.ChromeModelHelper);let interactiveTime=0;for(const rendererHelper of Object.values(chromeHelper.rendererHelpers)){const samples=tr.metrics.sh.collectLoadingMetricsForRenderer(rendererHelper).firstInteractiveSamples;if(samples.length===0)continue;if(interactiveTime!==0)throw new Error('Too many navigations');interactiveTime=tr.b.getOnlyElement(samples).diagnostics['Navigation infos'].value.interactive;}
8520return interactiveTime;}
8521function convertMicroToMilli_(time){return tr.b.convertUnit(time,tr.b.UnitPrefixScale.METRIC.MICRO,tr.b.UnitPrefixScale.METRIC.MILLI);}
8522function computeRuntimeStats(histograms,slices){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){const durationSamples=new tr.v.d.RelatedHistogramBreakdown();const countSamples=new tr.v.d.RelatedHistogramBreakdown();for(const entry of runtimeGroup.values){const durationSampleHistogram=histograms.createHistogram(`${entry.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(entry.time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});durationSamples.set(durationSampleHistogram.name,durationSampleHistogram);const countSampleHistogram=histograms.createHistogram(`${entry.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,entry.count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});countSamples.set(countSampleHistogram.name,countSampleHistogram);}
8523histograms.createHistogram(`${runtimeGroup.name}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,{value:convertMicroToMilli_(runtimeGroup.time),diagnostics:{samples:durationSamples},},{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram(`${runtimeGroup.name}:count`,tr.b.Unit.byName.count_smallerIsBetter,{value:runtimeGroup.count,diagnostics:{samples:countSamples},},{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});}}
8524function runtimeStatsMetric(histograms,model){const interactiveTime=computeInteractiveTime_(model);const domContentLoadedTime=computeDomContentLoadedTime_(model);const endTime=Math.max(interactiveTime,domContentLoadedTime);const slices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice&&event.start<=endTime);computeRuntimeStats(histograms,slices);}
8525function addDurationHistogram(railStageName,runtimeGroupName,sampleValue,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(sampleValue),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(durationRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const durationHistogramMap=new tr.v.d.RelatedHistogramMap();durationHistogramMap.set(railStageName,durationHistogram);durationRelatedHistsByGroupName.set(runtimeGroupName,durationHistogramMap);}else{durationRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,durationHistogram);}}
8526function addCountHistogram(railStageName,runtimeGroupName,sampleValue,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${railStageName}_${runtimeGroupName}:count`,tr.b.Unit.byName.count_smallerIsBetter,sampleValue,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});if(countRelatedHistsByGroupName.get(runtimeGroupName)===undefined){const countHistogramMap=new tr.v.d.RelatedHistogramMap();countHistogramMap.set(railStageName,countHistogram);countRelatedHistsByGroupName.set(runtimeGroupName,countHistogramMap);}else{countRelatedHistsByGroupName.get(runtimeGroupName).set(railStageName,countHistogram);}}
8527function addTotalDurationHistogram(histogramName,time,histograms,durationRelatedHistsByGroupName){const durationHistogram=histograms.createHistogram(`${histogramName}:duration`,tr.b.Unit.byName.timeDurationInMs_smallerIsBetter,convertMicroToMilli_(time),{binBoundaries:DURATION_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const durationRelatedHistogram=durationRelatedHistsByGroupName.get(histogramName);if(durationRelatedHistogram!==undefined){durationHistogram.diagnostics.set('RAIL stages',durationRelatedHistogram);}}
8528function addTotalCountHistogram(histogramName,count,histograms,countRelatedHistsByGroupName){const countHistogram=histograms.createHistogram(`${histogramName}:count`,tr.b.Unit.byName.count_smallerIsBetter,count,{binBoundaries:COUNT_CUSTOM_BOUNDARIES,summaryOptions:SUMMARY_OPTIONS,});const countRelatedHistogram=countRelatedHistsByGroupName.get(histogramName);if(countRelatedHistogram!==undefined){countHistogram.diagnostics.set('RAIL stages',countRelatedHistogram);}}
8529function computeRuntimeStatsBucketOnUE(histograms,slices,v8SlicesBucketOnUEMap){const durationRelatedHistsByGroupName=new Map();const countRelatedHistsByGroupName=new Map();for(const[name,slicesUE]of v8SlicesBucketOnUEMap){const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slicesUE);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addDurationHistogram(name,runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;}
8530addCountHistogram(name,runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}}
8531addDurationHistogram(name,'V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addCountHistogram(name,'V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);}
8532const runtimeGroupCollection=new tr.e.v8.RuntimeStatsGroupCollection();runtimeGroupCollection.addSlices(slices);let overallV8Time=runtimeGroupCollection.totalTime;let overallV8Count=runtimeGroupCollection.totalCount;for(const runtimeGroup of runtimeGroupCollection.runtimeGroups){addTotalDurationHistogram(runtimeGroup.name,runtimeGroup.time,histograms,durationRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Time-=runtimeGroup.time;}
8533addTotalCountHistogram(runtimeGroup.name,runtimeGroup.count,histograms,countRelatedHistsByGroupName);if(runtimeGroup.name==='Blink C++'){overallV8Count-=runtimeGroup.count;}}
8534addTotalDurationHistogram('V8-Only',overallV8Time,histograms,durationRelatedHistsByGroupName);addTotalCountHistogram('V8-Only',overallV8Count,histograms,countRelatedHistsByGroupName);}
8535function runtimeStatsTotalMetric(histograms,model){const v8ThreadSlices=[...model.getDescendantEvents()].filter(event=>event instanceof tr.e.v8.V8ThreadSlice).sort((e1,e2)=>e1.start-e2.start);const v8SlicesBucketOnUEMap=new Map();for(const expectation of model.userModel.expectations){const slices=expectation.range.filterArray(v8ThreadSlices,event=>event.start);if(slices.length===0)continue;const lastSlice=slices[slices.length-1];if(!expectation.range.intersectsRangeExclusive(lastSlice.range)){slices.pop();}
8536if(v8SlicesBucketOnUEMap.get(expectation.stageTitle)===undefined){v8SlicesBucketOnUEMap.set(expectation.stageTitle,slices);}else{const totalSlices=v8SlicesBucketOnUEMap.get(expectation.stageTitle).concat(slices);v8SlicesBucketOnUEMap.set(expectation.stageTitle,totalSlices);}}
8537computeRuntimeStatsBucketOnUE(histograms,v8ThreadSlices,v8SlicesBucketOnUEMap);}
8538tr.metrics.MetricRegistry.register(runtimeStatsTotalMetric);tr.metrics.MetricRegistry.register(runtimeStatsMetric);return{runtimeStatsMetric,runtimeStatsTotalMetric,};});'use strict';tr.exportTo('tr.metrics.v8',function(){function v8AndMemoryMetrics(histograms,model){tr.metrics.v8.executionMetric(histograms,model);tr.metrics.v8.gcMetric(histograms,model);tr.metrics.sh.memoryMetric(histograms,model,{rangeOfInterest:tr.metrics.v8.utils.rangeForMemoryDumps(model)});}
8539tr.metrics.MetricRegistry.register(v8AndMemoryMetrics);return{v8AndMemoryMetrics,};});'use strict';tr.exportTo('tr.metrics.webrtc',function(){const DISPLAY_HERTZ=60.0;const VSYNC_DURATION_US=1e6/DISPLAY_HERTZ;const SEVERITY=3;const FROZEN_FRAME_VSYNC_COUNT_THRESHOLD=6;const WEB_MEDIA_PLAYER_UPDATE_TITLE='WebMediaPlayerMS::UpdateCurrentFrame';const IDEAL_RENDER_INSTANT_NAME='Ideal Render Instant';const ACTUAL_RENDER_BEGIN_NAME='Actual Render Begin';const ACTUAL_RENDER_END_NAME='Actual Render End';const STREAM_ID_NAME='Serial';const REQUIRED_EVENT_ARGS_NAMES=[IDEAL_RENDER_INSTANT_NAME,ACTUAL_RENDER_BEGIN_NAME,ACTUAL_RENDER_END_NAME,STREAM_ID_NAME];const SUMMARY_OPTIONS=tr.v.Histogram.AVERAGE_ONLY_SUMMARY_OPTIONS;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const percentage_biggerIsBetter=tr.b.Unit.byName.normalizedPercentage_biggerIsBetter;const percentage_smallerIsBetter=tr.b.Unit.byName.normalizedPercentage_smallerIsBetter;const timeDurationInMs_smallerIsBetter=tr.b.Unit.byName.timeDurationInMs_smallerIsBetter;const unitlessNumber_biggerIsBetter=tr.b.Unit.byName.unitlessNumber_biggerIsBetter;function isValidEvent(event){if(event.title!==WEB_MEDIA_PLAYER_UPDATE_TITLE||!event.args){return false;}
8540for(const parameter of REQUIRED_EVENT_ARGS_NAMES){if(!(parameter in event.args)){return false;}}
8541return true;}
8542function webrtcRenderingMetric(histograms,model){tr.metrics.v8.utils.groupAndProcessEvents(model,isValidEvent,event=>event.args[STREAM_ID_NAME],(streamName,events)=>getTimeStats(histograms,streamName,events));}
8543tr.metrics.MetricRegistry.register(webrtcRenderingMetric);function getTimeStats(histograms,streamName,events){const frameHist=getFrameDistribution(histograms,events);addFpsFromFrameDistribution(histograms,frameHist);addFreezingScore(histograms,frameHist);const driftTimeStats=getDriftStats(events);histograms.createHistogram('WebRTCRendering_drift_time',timeDurationInMs_smallerIsBetter,driftTimeStats.driftTime,{summaryOptions:{count:false,min:false,percentile:[0.75,0.9],},});histograms.createHistogram('WebRTCRendering_rendering_length_error',percentage_smallerIsBetter,driftTimeStats.renderingLengthError,{summaryOptions:SUMMARY_OPTIONS,});const smoothnessStats=getSmoothnessStats(driftTimeStats.driftTime);histograms.createHistogram('WebRTCRendering_percent_badly_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentBadlyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_percent_out_of_sync',percentage_smallerIsBetter,smoothnessStats.percentOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_smoothness_score',percentage_biggerIsBetter,smoothnessStats.smoothnessScore,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_out_of_sync',count_smallerIsBetter,smoothnessStats.framesOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_frames_badly_out_of_sync',count_smallerIsBetter,smoothnessStats.framesSeverelyOutOfSync,{summaryOptions:SUMMARY_OPTIONS,});}
8544const FRAME_DISTRIBUTION_BIN_BOUNDARIES=tr.v.HistogramBinBoundaries.createLinear(1,50,49);function getFrameDistribution(histograms,events){const cadence=tr.b.runLengthEncoding(events.map(e=>e.args[IDEAL_RENDER_INSTANT_NAME]));return histograms.createHistogram('WebRTCRendering_frame_distribution',count_smallerIsBetter,cadence.map(ticks=>ticks.count),{binBoundaries:FRAME_DISTRIBUTION_BIN_BOUNDARIES,summaryOptions:{percentile:[0.75,0.9],},});}
8545function addFpsFromFrameDistribution(histograms,frameHist){let numberFrames=0;let numberVsyncs=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberFrames+=count;numberVsyncs+=ticks*count;}
8546const meanRatio=numberVsyncs/numberFrames;histograms.createHistogram('WebRTCRendering_fps',unitlessNumber_biggerIsBetter,DISPLAY_HERTZ/meanRatio,{summaryOptions:SUMMARY_OPTIONS,});}
8547function frozenPenaltyWeight(numberFrozenFrames){const penalty={5:1,6:5,7:15,8:25};return penalty[numberFrozenFrames]||(8*(numberFrozenFrames-4));}
8548function addFreezingScore(histograms,frameHist){let numberVsyncs=0;let freezingScore=0;let frozenFramesCount=0;for(let ticks=1;ticks<frameHist.allBins.length;++ticks){const count=frameHist.allBins[ticks].count;numberVsyncs+=ticks*count;if(ticks>=FROZEN_FRAME_VSYNC_COUNT_THRESHOLD){frozenFramesCount+=count*(ticks-1);freezingScore+=count*frozenPenaltyWeight(ticks-1);}}
8549freezingScore=1-freezingScore/numberVsyncs;if(freezingScore<0){freezingScore=0;}
8550histograms.createHistogram('WebRTCRendering_frozen_frames_count',count_smallerIsBetter,frozenFramesCount,{summaryOptions:SUMMARY_OPTIONS,});histograms.createHistogram('WebRTCRendering_freezing_score',percentage_biggerIsBetter,freezingScore,{summaryOptions:SUMMARY_OPTIONS,});}
8551function getDriftStats(events){const driftTime=[];const discrepancy=[];let oldIdealRender=0;let expectedIdealRender=0;for(const event of events){const currentIdealRender=event.args[IDEAL_RENDER_INSTANT_NAME];expectedIdealRender+=VSYNC_DURATION_US;if(currentIdealRender===oldIdealRender){continue;}
8552const actualRenderBegin=event.args[ACTUAL_RENDER_BEGIN_NAME];driftTime.push(actualRenderBegin-currentIdealRender);discrepancy.push(Math.abs(currentIdealRender-expectedIdealRender));expectedIdealRender=currentIdealRender;oldIdealRender=currentIdealRender;}
8553const discrepancySum=tr.b.math.Statistics.sum(discrepancy)-
8554discrepancy[0];const lastIdealRender=events[events.length-1].args[IDEAL_RENDER_INSTANT_NAME];const firstIdealRender=events[0].args[IDEAL_RENDER_INSTANT_NAME];const idealRenderSpan=lastIdealRender-firstIdealRender;const renderingLengthError=discrepancySum/idealRenderSpan;return{driftTime,renderingLengthError};}
8555function getSmoothnessStats(driftTimes){const meanDriftTime=tr.b.math.Statistics.mean(driftTimes);const normDriftTimes=driftTimes.map(driftTime=>Math.abs(driftTime-meanDriftTime));const framesSeverelyOutOfSync=normDriftTimes.filter(driftTime=>driftTime>2*VSYNC_DURATION_US).length;const framesOutOfSync=normDriftTimes.filter(driftTime=>driftTime>VSYNC_DURATION_US).length;const percentBadlyOutOfSync=framesSeverelyOutOfSync/driftTimes.length;const percentOutOfSync=framesOutOfSync/driftTimes.length;const framesOutOfSyncOnlyOnce=framesOutOfSync-framesSeverelyOutOfSync;let smoothnessScore=1-(framesOutOfSyncOnlyOnce+
8556SEVERITY*framesSeverelyOutOfSync)/driftTimes.length;if(smoothnessScore<0){smoothnessScore=0;}
8557return{framesOutOfSync,framesSeverelyOutOfSync,percentBadlyOutOfSync,percentOutOfSync,smoothnessScore};}
8558return{webrtcRenderingMetric,};});'use strict';Polymer({is:'tr-ui-a-alert-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=[{title:'Label',value(row){return row.name;},width:'150px'},{title:'Value',width:'100%',value(row){return row.value;}}];this.$.table.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},getRowsForSingleAlert_(alert){const rows=[];for(const argName in alert.args){const argView=document.createElement('tr-ui-a-generic-object-view');argView.object=alert.args[argName];rows.push({name:argName,value:argView});}
8559if(alert.associatedEvents.length){alert.associatedEvents.forEach(function(event,i){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.title);let valueString='';if(event instanceof tr.model.TimedEvent){valueString='took '+event.duration.toFixed(2)+'ms';}
8560rows.push({name:linkEl,value:valueString});});}
8561const descriptionEl=tr.ui.b.createDiv({textContent:alert.info.description,maxWidth:'300px'});rows.push({name:'Description',value:descriptionEl});if(alert.info.docLinks){alert.info.docLinks.forEach(function(linkObject){const linkEl=document.createElement('a');linkEl.target='_blank';linkEl.href=linkObject.href;Polymer.dom(linkEl).textContent=Polymer.dom(linkObject).textContent;rows.push({name:linkObject.label,value:linkEl});});}
8562return rows;},getRowsForAlerts_(alerts){if(alerts.length===1){const rows=[{name:'Alert',value:tr.b.getOnlyElement(alerts).title}];const detailRows=this.getRowsForSingleAlert_(tr.b.getOnlyElement(alerts));rows.push.apply(rows,detailRows);return rows;}
8563return alerts.map(function(alert){return{name:'Alert',value:alert.title,isExpanded:alerts.size<10,subRows:this.getRowsForSingleAlert_(alert)};},this);},updateContents_(){if(this.currentSelection_===undefined){this.$.table.rows=[];this.$.table.rebuild();return;}
8564const alerts=this.currentSelection_;this.$.table.tableRows=this.getRowsForAlerts_(alerts);this.$.table.rebuild();},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const result=new tr.model.EventSet();for(const event of this.currentSelection_){result.addEventSet(event.associatedEvents);}
8565return result;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:false,title:'Alert',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-alert-sub-view',tr.model.Alert,{multi:true,title:'Alerts',});'use strict';tr.exportTo('tr.ui.analysis',function(){const NO_BREAK_SPACE=String.fromCharCode(160);const RIGHTWARDS_ARROW=String.fromCharCode(8594);const COLLATOR=new Intl.Collator(undefined,{numeric:true});function TitleColumn(title){this.title=title;}
8566TitleColumn.prototype={supportsCellSelection:false,value(row){const formattedTitle=this.formatTitle(row);const contexts=row.contexts;if(contexts===undefined||contexts.length===0){return formattedTitle;}
8567const firstContext=contexts[0];const lastContext=contexts[contexts.length-1];let changeDefinedContextCount=0;for(let i=1;i<contexts.length;i++){if((contexts[i]===undefined)!==(contexts[i-1]===undefined)){changeDefinedContextCount++;}}
8568let color=undefined;let prefix=undefined;if(!firstContext&&lastContext){color='red';prefix='+++';}else if(firstContext&&!lastContext){color='green';prefix='---';}
8569if(changeDefinedContextCount>1){color='purple';}
8570if(color===undefined&&prefix===undefined){return formattedTitle;}
8571const titleEl=document.createElement('span');if(prefix!==undefined){const prefixEl=tr.ui.b.createSpan({textContent:prefix});prefixEl.style.fontFamily='monospace';Polymer.dom(titleEl).appendChild(prefixEl);Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(NO_BREAK_SPACE));}
8572if(color!==undefined){titleEl.style.color=color;}
8573Polymer.dom(titleEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedTitle));return titleEl;},formatTitle(row){return row.title;},cmp(rowA,rowB){return COLLATOR.compare(rowA.title,rowB.title);}};function MemoryColumn(name,cellPath,aggregationMode){this.name=name;this.cellPath=cellPath;this.shouldSetContextGroup=false;this.aggregationMode=aggregationMode;}
8574MemoryColumn.fromRows=function(rows,config){const cellNames=new Set();function gatherCellNames(rows){rows.forEach(function(row){if(row===undefined)return;const fieldCells=row[config.cellKey];if(fieldCells!==undefined){for(const[fieldName,fieldCell]of Object.entries(fieldCells)){if(fieldCell===undefined||fieldCell.fields===undefined){continue;}
8575cellNames.add(fieldName);}}
8576const subRows=row.subRows;if(subRows!==undefined){gatherCellNames(subRows);}});}
8577gatherCellNames(rows);const positions=[];cellNames.forEach(function(cellName){const cellPath=[config.cellKey,cellName];const matchingRule=MemoryColumn.findMatchingRule(cellName,config.rules);const constructor=matchingRule.columnConstructor;const column=new constructor(cellName,cellPath,config.aggregationMode);column.shouldSetContextGroup=!!config.shouldSetContextGroup;positions.push({importance:matchingRule.importance,column});});positions.sort(function(a,b){if(a.importance===b.importance){return COLLATOR.compare(a.column.name,b.column.name);}
8578return b.importance-a.importance;});return positions.map(function(position){return position.column;});};MemoryColumn.spaceEqually=function(columns){const columnWidth=(100/columns.length).toFixed(3)+'%';columns.forEach(function(column){column.width=columnWidth;});};MemoryColumn.findMatchingRule=function(name,rules){for(let i=0;i<rules.length;i++){const rule=rules[i];if(MemoryColumn.nameMatchesCondition(name,rule.condition)){return rule;}}
8579return undefined;};MemoryColumn.nameMatchesCondition=function(name,condition){if(condition===undefined)return true;if(typeof(condition)==='string')return name===condition;return condition.test(name);};MemoryColumn.AggregationMode={DIFF:0,MAX:1};MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER='at some selected timestamps';MemoryColumn.prototype={get title(){return this.name;},cell(row){let cell=row;const cellPath=this.cellPath;for(let i=0;i<cellPath.length;i++){if(cell===undefined)return undefined;cell=cell[cellPath[i]];}
8580return cell;},aggregateCells(row,subRows){},fields(row){const cell=this.cell(row);if(cell===undefined)return undefined;return cell.fields;},value(row){const fields=this.fields(row);if(this.hasAllRelevantFieldsUndefined(fields))return'';const contexts=row.contexts;const color=this.color(fields,contexts);const infos=[];this.addInfos(fields,contexts,infos);const formattedFields=this.formatFields(fields);if((color===undefined||formattedFields==='')&&infos.length===0){return formattedFields;}
8581const fieldEl=document.createElement('span');fieldEl.style.display='flex';fieldEl.style.alignItems='center';fieldEl.style.justifyContent='flex-end';Polymer.dom(fieldEl).appendChild(tr.ui.b.asHTMLOrTextNode(formattedFields));infos.forEach(function(info){const infoEl=document.createElement('span');infoEl.style.paddingLeft='4px';infoEl.style.cursor='help';infoEl.style.fontWeight='bold';Polymer.dom(infoEl).textContent=info.icon;if(info.color!==undefined){infoEl.style.color=info.color;}
8582infoEl.title=info.message;Polymer.dom(fieldEl).appendChild(infoEl);},this);if(color!==undefined){fieldEl.style.color=color;}
8583return fieldEl;},hasAllRelevantFieldsUndefined(fields){if(fields===undefined)return true;switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return fields[0]===undefined&&fields[fields.length-1]===undefined;case MemoryColumn.AggregationMode.MAX:default:return fields.every(function(field){return field===undefined;});}},color(fields,contexts){return undefined;},formatFields(fields){if(fields.length===1){return this.formatSingleField(fields[0]);}
8584return this.formatMultipleFields(fields);},formatSingleField(field){throw new Error('Not implemented');},formatMultipleFields(fields){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.formatMultipleFieldsDiff(fields[0],fields[fields.length-1]);case MemoryColumn.AggregationMode.MAX:return this.formatMultipleFieldsMax(fields);default:return tr.ui.b.createSpan({textContent:'(unsupported aggregation mode)',italic:true});}},formatMultipleFieldsDiff(firstField,lastField){throw new Error('Not implemented');},formatMultipleFieldsMax(fields){return this.formatSingleField(this.getMaxField(fields));},cmp(rowA,rowB){const fieldsA=this.fields(rowA);const fieldsB=this.fields(rowB);if(fieldsA!==undefined&&fieldsB!==undefined&&fieldsA.length!==fieldsB.length){throw new Error('Different number of fields');}
8585const undefinedA=this.hasAllRelevantFieldsUndefined(fieldsA);const undefinedB=this.hasAllRelevantFieldsUndefined(fieldsB);if(undefinedA&&undefinedB)return 0;if(undefinedA)return-1;if(undefinedB)return 1;return this.compareFields(fieldsA,fieldsB);},compareFields(fieldsA,fieldsB){if(fieldsA.length===1){return this.compareSingleFields(fieldsA[0],fieldsB[0]);}
8586return this.compareMultipleFields(fieldsA,fieldsB);},compareSingleFields(fieldA,fieldB){throw new Error('Not implemented');},compareMultipleFields(fieldsA,fieldsB){switch(this.aggregationMode){case MemoryColumn.AggregationMode.DIFF:return this.compareMultipleFieldsDiff(fieldsA[0],fieldsA[fieldsA.length-1],fieldsB[0],fieldsB[fieldsB.length-1]);case MemoryColumn.AggregationMode.MAX:return this.compareMultipleFieldsMax(fieldsA,fieldsB);default:return 0;}},compareMultipleFieldsDiff(firstFieldA,lastFieldA,firstFieldB,lastFieldB){throw new Error('Not implemented');},compareMultipleFieldsMax(fieldsA,fieldsB){return this.compareSingleFields(this.getMaxField(fieldsA),this.getMaxField(fieldsB));},getMaxField(fields){return fields.reduce(function(accumulator,field){if(field===undefined){return accumulator;}
8587if(accumulator===undefined||this.compareSingleFields(field,accumulator)>0){return field;}
8588return accumulator;}.bind(this),undefined);},addInfos(fields,contexts,infos){},getImportance(importanceRules){if(importanceRules.length===0)return 0;const matchingRule=MemoryColumn.findMatchingRule(this.name,importanceRules);if(matchingRule!==undefined){return matchingRule.importance;}
8589let minImportance=importanceRules[0].importance;for(let i=1;i<importanceRules.length;i++){minImportance=Math.min(minImportance,importanceRules[i].importance);}
8590return minImportance-1;}};function StringMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
8591StringMemoryColumn.prototype={__proto__:MemoryColumn.prototype,formatSingleField(string){return string;},formatMultipleFieldsDiff(firstString,lastString){if(firstString===undefined){const spanEl=tr.ui.b.createSpan({color:'red'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('+'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;}else if(lastString===undefined){const spanEl=tr.ui.b.createSpan({color:'green'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode('-'));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));return spanEl;}else if(firstString===lastString){return this.formatSingleField(firstString);}
8592const spanEl=tr.ui.b.createSpan({color:'DarkOrange'});Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(firstString)));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(' '+RIGHTWARDS_ARROW+' '));Polymer.dom(spanEl).appendChild(tr.ui.b.asHTMLOrTextNode(this.formatSingleField(lastString)));return spanEl;},compareSingleFields(stringA,stringB){return COLLATOR.compare(stringA,stringB);},compareMultipleFieldsDiff(firstStringA,lastStringA,firstStringB,lastStringB){if(firstStringA===undefined&&firstStringB!==undefined){return 1;}
8593if(firstStringA!==undefined&&firstStringB===undefined){return-1;}
8594if(firstStringA===undefined&&firstStringB===undefined){return this.compareSingleFields(lastStringA,lastStringB);}
8595if(lastStringA===undefined&&lastStringB!==undefined){return-1;}
8596if(lastStringA!==undefined&&lastStringB===undefined){return 1;}
8597if(lastStringA===undefined&&lastStringB===undefined){return this.compareSingleFields(firstStringB,firstStringA);}
8598const areStringsAEqual=firstStringA===lastStringA;const areStringsBEqual=firstStringB===lastStringB;if(areStringsAEqual&&areStringsBEqual)return 0;if(areStringsAEqual)return-1;if(areStringsBEqual)return 1;return 0;}};function NumericMemoryColumn(name,cellPath,aggregationMode){MemoryColumn.call(this,name,cellPath,aggregationMode);}
8599NumericMemoryColumn.DIFF_EPSILON=0.0001;NumericMemoryColumn.prototype={__proto__:MemoryColumn.prototype,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,aggregateCells(row,subRows){const subRowCells=subRows.map(this.cell,this);let hasDefinedSubRowNumeric=false;let timestampCount=undefined;subRowCells.forEach(function(subRowCell){if(subRowCell===undefined)return;const subRowNumerics=subRowCell.fields;if(subRowNumerics===undefined)return;if(timestampCount===undefined){timestampCount=subRowNumerics.length;}else if(timestampCount!==subRowNumerics.length){throw new Error('Sub-rows have different numbers of timestamps');}
8600if(hasDefinedSubRowNumeric){return;}
8601hasDefinedSubRowNumeric=subRowNumerics.some(function(numeric){return numeric!==undefined;});});if(!hasDefinedSubRowNumeric){return;}
8602const cellPath=this.cellPath;let rowCell=row;for(let i=0;i<cellPath.length;i++){const nextStepName=cellPath[i];let nextStep=rowCell[nextStepName];if(nextStep===undefined){if(i<cellPath.length-1){nextStep={};}else{nextStep=new MemoryCell(undefined);}
8603rowCell[nextStepName]=nextStep;}
8604rowCell=nextStep;}
8605if(rowCell.fields===undefined){rowCell.fields=new Array(timestampCount);}else if(rowCell.fields.length!==timestampCount){throw new Error('Row has a different number of timestamps than sub-rows');}
8606for(let i=0;i<timestampCount;i++){if(rowCell.fields[i]!==undefined)continue;rowCell.fields[i]=tr.model.MemoryAllocatorDump.aggregateNumerics(subRowCells.map(function(subRowCell){if(subRowCell===undefined||subRowCell.fields===undefined){return undefined;}
8607return subRowCell.fields[i];}));}},formatSingleField(numeric){return tr.v.ui.createScalarSpan(numeric,{context:this.getFormattingContext(numeric.unit),contextGroup:this.shouldSetContextGroup?this.name:undefined,inline:true,});},getFormattingContext(unit){return undefined;},formatMultipleFieldsDiff(firstNumeric,lastNumeric){return this.formatSingleField(this.getDiffField_(firstNumeric,lastNumeric));},compareSingleFields(numericA,numericB){return numericA.value-numericB.value;},compareMultipleFieldsDiff(firstNumericA,lastNumericA,firstNumericB,lastNumericB){return this.getDiffFieldValue_(firstNumericA,lastNumericA)-
8608this.getDiffFieldValue_(firstNumericB,lastNumericB);},getDiffField_(firstNumeric,lastNumeric){const definedNumeric=firstNumeric||lastNumeric;return new tr.b.Scalar(definedNumeric.unit.correspondingDeltaUnit,this.getDiffFieldValue_(firstNumeric,lastNumeric));},getDiffFieldValue_(firstNumeric,lastNumeric){const firstValue=firstNumeric===undefined?0:firstNumeric.value;const lastValue=lastNumeric===undefined?0:lastNumeric.value;const diff=lastValue-firstValue;return Math.abs(diff)<NumericMemoryColumn.DIFF_EPSILON?0:diff;}};function MemoryCell(fields){this.fields=fields;}
8609MemoryCell.extractFields=function(cell){if(cell===undefined)return undefined;return cell.fields;};const RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT=10;function expandTableRowsRecursively(table){let currentLevelRows=table.tableRows;let totalVisibleRowCount=currentLevelRows.length;while(currentLevelRows.length>0){let nextLevelRowCount=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;nextLevelRowCount+=subRows.length;});if(totalVisibleRowCount+nextLevelRowCount>RECURSIVE_EXPANSION_MAX_VISIBLE_ROW_COUNT){break;}
8610const nextLevelRows=new Array(nextLevelRowCount);let nextLevelRowIndex=0;currentLevelRows.forEach(function(currentLevelRow){const subRows=currentLevelRow.subRows;if(subRows===undefined||subRows.length===0)return;table.setExpandedForTableRow(currentLevelRow,true);subRows.forEach(function(subRow){nextLevelRows[nextLevelRowIndex++]=subRow;});});totalVisibleRowCount+=nextLevelRowCount;currentLevelRows=nextLevelRows;}}
8611function aggregateTableRowCellsRecursively(row,columns,opt_predicate){const subRows=row.subRows;if(subRows===undefined||subRows.length===0)return;subRows.forEach(function(subRow){aggregateTableRowCellsRecursively(subRow,columns,opt_predicate);});if(opt_predicate===undefined||opt_predicate(row.contexts)){aggregateTableRowCells(row,subRows,columns);}}
8612function aggregateTableRowCells(row,subRows,columns){columns.forEach(function(column){if(!(column instanceof MemoryColumn))return;column.aggregateCells(row,subRows);});}
8613function createCells(timeToValues,valueFieldsGetter,opt_this){opt_this=opt_this||this;const fieldNameToFields=tr.b.invertArrayOfDicts(timeToValues,valueFieldsGetter,opt_this);return tr.b.mapItems(fieldNameToFields,function(fieldName,fields){return new tr.ui.analysis.MemoryCell(fields);});}
8614function createWarningInfo(message){return{message,icon:String.fromCharCode(9888),color:'red'};}
8615function DetailsNumericMemoryColumn(name,cellPath,aggregationMode){NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8616DetailsNumericMemoryColumn.prototype={__proto__:NumericMemoryColumn.prototype,getFormattingContext(unit){if(unit.baseUnit===tr.b.Unit.byName.sizeInBytes){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.KIBI};}
8617return undefined;}};return{TitleColumn,MemoryColumn,StringMemoryColumn,NumericMemoryColumn,MemoryCell,expandTableRowsRecursively,aggregateTableRowCellsRecursively,aggregateTableRowCells,createCells,createWarningInfo,DetailsNumericMemoryColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const LATIN_SMALL_LETTER_F_WITH_HOOK=String.fromCharCode(0x0192);const CIRCLED_LATIN_CAPITAL_LETTER_T=String.fromCharCode(0x24C9);const HeapDetailsRowDimension={ROOT:{},STACK_FRAME:{label:'Stack frame',symbol:LATIN_SMALL_LETTER_F_WITH_HOOK,color:'heap_dump_stack_frame'},OBJECT_TYPE:{label:'Object type',symbol:CIRCLED_LATIN_CAPITAL_LETTER_T,color:'heap_dump_object_type'}};function HeapDetailsTitleColumn(title){tr.ui.analysis.TitleColumn.call(this,title);}
8618HeapDetailsTitleColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.dimension===HeapDetailsRowDimension.ROOT){return row.title;}
8619const symbolEl=document.createElement('span');Polymer.dom(symbolEl).textContent=row.dimension.symbol;symbolEl.title=row.dimension.label;symbolEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString(row.dimension.color);symbolEl.style.paddingRight='4px';symbolEl.style.cursor='help';symbolEl.style.fontWeight='bold';const titleEl=document.createElement('span');Polymer.dom(titleEl).appendChild(symbolEl);Polymer.dom(titleEl).appendChild(document.createTextNode(row.title));return titleEl;}};function AllocationCountColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8620AllocationCountColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,getFormattingContext(unit){return{minimumFractionDigits:0};}};const HEAP_DETAILS_COLUMN_RULES=[{condition:'Size',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Count',importance:1,columnConstructor:AllocationCountColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];return{HeapDetailsRowDimension,HeapDetailsTitleColumn,AllocationCountColumn,HEAP_DETAILS_COLUMN_RULES,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const RebuildableBehavior={rebuild(){if(!this.paneDirty_){return;}
8621this.paneDirty_=false;this.onRebuild_();},scheduleRebuild_(){if(this.paneDirty_)return;this.paneDirty_=true;tr.b.requestAnimationFrame(this.rebuild.bind(this));},onRebuild_(){}};return{RebuildableBehavior,};});'use strict';Polymer({is:'tr-ui-b-tab-view',properties:{label_:{type:String,value:()=>''},selectedSubView_:Object,subViews_:{type:Array,value:()=>[]},tabsHidden:{type:Boolean,value:false,observer:'tabsHiddenChanged_'}},ready(){this.$.tabs.addEventListener('keydown',this.onKeyDown_.bind(this),true);this.updateFocusability_();},set label(newLabel){this.set('label_',newLabel);},get tabs(){return this.get('subViews_');},get selectedSubView(){return this.selectedSubView_;},set selectedSubView(subView){if(subView===this.selectedSubView_)return;if(this.selectedSubView_){Polymer.dom(this.$.subView).removeChild(this.selectedSubView_);const oldInput=this.root.getElementById(this.computeRadioId_(this.selectedSubView_));if(oldInput){oldInput.checked=false;}}
8622this.set('selectedSubView_',subView);if(subView){Polymer.dom(this.$.subView).appendChild(subView);const newInput=this.root.getElementById(this.computeRadioId_(subView));if(newInput){newInput.checked=true;}}
8623this.fire('selected-tab-change');},clearSubViews(){this.splice('subViews_',0,this.subViews_.length);this.selectedSubView=undefined;this.updateFocusability_();},addSubView(subView){this.push('subViews_',subView);if(!this.selectedSubView_)this.selectedSubView=subView;this.updateFocusability_();},resetSubViews(subViews){this.splice('subViews_',0,this.subViews_.length);if(subViews.length){for(const subView of subViews){this.push('subViews_',subView);}
8624this.selectedSubView=subViews[0];}else{this.selectedSubView=undefined;}
8625this.updateFocusability_();},onTabChanged_(event){this.selectedSubView=event.model.item;},isChecked_(subView){return this.selectedSubView_===subView;},tabsHiddenChanged_(){this.updateFocusability_();},onKeyDown_(e){if(this.tabsHidden)return;let keyHandled=false;switch(e.keyCode){case 37:keyHandled=this.selectPreviousTabIfPossible();break;case 39:keyHandled=this.selectNextTabIfPossible();break;}
8626if(!keyHandled)return;e.stopPropagation();e.preventDefault();},selectNextTabIfPossible(){return this.selectTabByOffsetIfPossible_(1);},selectPreviousTabIfPossible(){return this.selectTabByOffsetIfPossible_(-1);},selectTabByOffsetIfPossible_(offset){if(!this.selectedSubView_)return false;const currentIndex=this.subViews_.indexOf(this.selectedSubView_);const newSubView=this.tabs[currentIndex+offset];if(!newSubView)return false;this.selectedSubView=newSubView;return true;},shouldBeFocusable_(){return!this.tabsHidden&&this.subViews_.length>0;},updateFocusability_(){if(this.shouldBeFocusable_()){Polymer.dom(this.$.tabs).setAttribute('tabindex',0);}else{Polymer.dom(this.$.tabs).removeAttribute('tabindex');}},computeRadioId_(subView){return subView.tagName+'-'+subView.tabLabel.replace(/ /g,'-');}});'use strict';tr.exportTo('tr.ui.analysis',function(){const RESONABLE_NUMBER_OF_ROWS=200;const TabUiState={NO_LONG_TAIL:0,HIDING_LONG_TAIL:1,SHOWING_LONG_TAIL:2,};function EmptyFillerColumn(){}
8627EmptyFillerColumn.prototype={title:'',value(){return'';},};Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.displayedNode_=undefined;this.dimensionToTab_=new Map();},ready(){this.scheduleRebuild_();this.root.addEventListener('keydown',this.onKeyDown_.bind(this),true);},get displayedNode(){return this.displayedNode_;},set displayedNode(node){this.displayedNode_=node;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;for(const tab of this.$.tabs.tabs){tab.aggregationMode=aggregationMode;}},onRebuild_(){const previouslySelectedTab=this.$.tabs.selectedSubView;let previouslySelectedTabFocused=false;let previouslySelectedDimension=undefined;if(previouslySelectedTab){previouslySelectedTabFocused=previouslySelectedTab.isFocused;previouslySelectedDimension=previouslySelectedTab.dimension;}
8628for(const tab of this.$.tabs.tabs){tab.nodes=undefined;}
8629this.$.tabs.clearSubViews();if(this.displayedNode_===undefined){this.$.tabs.label='No heap node provided.';return;}
8630for(const[dimension,children]of this.displayedNode_.childNodes){if(!this.dimensionToTab_.has(dimension)){this.dimensionToTab_.set(dimension,document.createElement('tr-ui-a-memory-dump-heap-details-breakdown-view-tab'));}
8631const tab=this.dimensionToTab_.get(dimension);tab.aggregationMode=this.aggregationMode_;tab.dimension=dimension;tab.nodes=children;this.$.tabs.addSubView(tab);tab.rebuild();if(dimension===previouslySelectedDimension){this.$.tabs.selectedSubView=tab;if(previouslySelectedTabFocused){tab.focus();}}}
8632if(this.$.tabs.tabs.length>0){this.$.tabs.label='Break selected node further by:';}else{this.$.tabs.label='Selected node cannot be broken down any further.';}},onKeyDown_(keyEvent){if(!this.displayedNode_)return;let keyHandled=false;switch(keyEvent.keyCode){case 8:{if(!this.displayedNode_.parentNode)break;const viewEvent=new tr.b.Event('enter-node');viewEvent.node=this.displayedNode_.parentNode;this.dispatchEvent(viewEvent);keyHandled=true;break;}
8633case 37:case 39:{const wasFocused=this.$.tabs.selectedSubView.isFocused;keyHandled=keyEvent.keyCode===37?this.$.tabs.selectPreviousTabIfPossible():this.$.tabs.selectNextTabIfPossible();if(wasFocused&&keyHandled){this.$.tabs.selectedSubView.focus();}}}
8634if(!keyHandled)return;keyEvent.stopPropagation();keyEvent.preventDefault();}});Polymer({is:'tr-ui-a-memory-dump-heap-details-breakdown-view-tab',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.dimension_=undefined;this.nodes_=undefined;this.aggregationMode_=undefined;this.displayLongTail_=false;},ready(){this.$.table.addEventListener('step-into',function(tableEvent){const viewEvent=new tr.b.Event('enter-node');viewEvent.node=tableEvent.tableRow;this.dispatchEvent(viewEvent);}.bind(this));},get displayLongTail(){return this.displayLongTail_;},set displayLongTail(newValue){if(this.displayLongTail===newValue)return;this.displayLongTail_=newValue;this.scheduleRebuild_();},get dimension(){return this.dimension_;},set dimension(dimension){this.dimension_=dimension;this.scheduleRebuild_();},get nodes(){return this.nodes_;},set nodes(nodes){this.nodes_=nodes;this.scheduleRebuild_();},get nodes(){return this.nodes_||[];},get dimensionLabel_(){if(this.dimension_===undefined)return'(undefined)';return this.dimension_.label;},get tabLabel(){let nodeCount=0;if(this.nodes_){nodeCount=this.nodes_.length;}
8635return this.dimensionLabel_+' ('+nodeCount+')';},get tabIcon(){if(this.dimension_===undefined||this.dimension_===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return undefined;}
8636return{text:this.dimension_.symbol,style:'color: '+tr.b.ColorScheme.getColorForReservedNameAsString(this.dimension_.color)+';'};},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},focus(){this.$.table.focus();},blur(){this.$.table.blur();},get isFocused(){return this.$.table.isFocused;},onRebuild_(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.emptyValue='Cannot break down by '+
8637this.dimensionLabel_.toLowerCase()+' any further.';const[state,rows]=this.getRows_();const total=this.nodes.length;const displayed=rows.length;const hidden=total-displayed;this.updateInfoBar_(state,[total,displayed,hidden]);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);if(this.$.table.sortColumnIndex===undefined){this.$.table.sortColumnIndex=0;this.$.table.sortDescending=false;}
8638this.$.table.rebuild();},createColumns_(rows){const titleColumn=new tr.ui.analysis.HeapDetailsTitleColumn(this.dimensionLabel_);titleColumn.width='400px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});if(numericColumns.length===0){numericColumns.push(new EmptyFillerColumn());}
8639tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);const columns=[titleColumn].concat(numericColumns);return columns;},getRows_(){let rows=this.nodes;if(rows.length<=RESONABLE_NUMBER_OF_ROWS){return[TabUiState.NO_LONG_TAIL,rows];}else if(this.displayLongTail){return[TabUiState.SHOWING_LONG_TAIL,rows];}
8640const absSize=row=>Math.max(row.cells.Size.fields[0].value);rows.sort((a,b)=>absSize(b)-absSize(a));rows=rows.slice(0,RESONABLE_NUMBER_OF_ROWS);return[TabUiState.HIDING_LONG_TAIL,rows];},updateInfoBar_(state,rowStats){if(state===TabUiState.SHOWING_LONG_TAIL){this.longTailVisibleInfoBar_(rowStats);}else if(state===TabUiState.HIDING_LONG_TAIL){this.longTailHiddenInfoBar_(rowStats);}else{this.hideInfoBar_();}},longTailVisibleInfoBar_(rowStats){const[total,visible,hidden]=rowStats;const couldHide=total-RESONABLE_NUMBER_OF_ROWS;this.$.info.message='Showing '+total+' rows. This may be slow.';this.$.info.removeAllButtons();const buttonText='Hide '+couldHide+' rows.';this.$.info.addButton(buttonText,()=>this.displayLongTail=false);this.$.info.visible=true;},longTailHiddenInfoBar_(rowStats){const[total,visible,hidden]=rowStats;this.$.info.message='Hiding the smallest '+hidden+' rows.';this.$.info.removeAllButtons();this.$.info.addButton('Show all.',()=>this.displayLongTail=true);this.$.info.visible=true;},hideInfoBar_(){this.$.info.visible=false;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS=String.fromCharCode(0x21B3);function HeapDetailsPathColumn(title){tr.ui.analysis.HeapDetailsTitleColumn.call(this,title);}
8641HeapDetailsPathColumn.prototype={__proto__:tr.ui.analysis.HeapDetailsTitleColumn.prototype,formatTitle(row){const title=tr.ui.analysis.HeapDetailsTitleColumn.prototype.formatTitle.call(this,row);if(row.dimension===tr.ui.analysis.HeapDetailsRowDimension.ROOT){return title;}
8642const arrowEl=document.createElement('span');Polymer.dom(arrowEl).textContent=DOWNWARDS_ARROW_WITH_TIP_RIGHTWARDS;arrowEl.style.paddingRight='2px';arrowEl.style.fontWeight='bold';arrowEl.style.color=tr.b.ColorScheme.getColorForReservedNameAsString('heap_dump_child_node_arrow');const rowEl=document.createElement('span');Polymer.dom(rowEl).appendChild(arrowEl);Polymer.dom(rowEl).appendChild(tr.ui.b.asHTMLOrTextNode(title));return rowEl;}};Polymer({is:'tr-ui-a-memory-dump-heap-details-path-view',behaviors:[tr.ui.analysis.RebuildableBehavior],created(){this.selectedNode_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.addEventListener('selection-changed',function(event){this.selectedNode_=this.$.table.selectedTableRow;this.didSelectedNodeChange_();}.bind(this));},didSelectedNodeChange_(){this.dispatchEvent(new tr.b.Event('selected-node-changed'));},get selectedNode(){return this.selectedNode_;},set selectedNode(node){this.selectedNode_=node;this.didSelectedNodeChange_();this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},onRebuild_(){if(this.selectedNode_===undefined){this.$.table.clear();return;}
8643if(this.$.table.tableRows.includes(this.selectedNode_)){this.$.table.selectedTableRow=this.selectedNode_;return;}
8644this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;this.$.table.userCanModifySortOrder=false;const rows=this.createRows_(this.selectedNode_);this.$.table.tableRows=rows;this.$.table.tableColumns=this.createColumns_(rows);this.$.table.selectedTableRow=rows[rows.length-1];},createRows_(node){const rows=[];while(node){rows.push(node);node=node.parentNode;}
8645rows.reverse();return rows;},createColumns_(rows){const titleColumn=new HeapDetailsPathColumn('Current path');titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'cells',aggregationMode:this.aggregationMode_,rules:tr.ui.analysis.HEAP_DETAILS_COLUMN_RULES,shouldSetContextGroup:true});tr.ui.analysis.MemoryColumn.spaceEqually(numericColumns);return[titleColumn].concat(numericColumns);}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const StackedPaneImpl={set childPaneBuilder(childPaneBuilder){this.childPaneBuilder_=childPaneBuilder;this.dispatchEvent(new tr.b.Event('request-child-pane-change'));},get childPaneBuilder(){return this.childPaneBuilder_;},appended(){this.rebuild();}};const StackedPane=[tr.ui.analysis.RebuildableBehavior,StackedPaneImpl];return{StackedPane,};});Polymer({is:'tr-ui-a-stacked-pane',behaviors:[tr.ui.analysis.StackedPane]});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const count_smallerIsBetter=tr.b.Unit.byName.count_smallerIsBetter;const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;const TotalState=tr.b.MultiDimensionalViewNode.TotalState;function HeapDumpTreeNode(stackFrameNodes,dimension,title,heavyView,parentNode){this.dimension=dimension;this.title=title;this.parentNode=parentNode;this.heavyView_=heavyView;this.stackFrameNodes_=stackFrameNodes;this.lazyCells_=undefined;this.lazyChildNodes_=undefined;}
8646HeapDumpTreeNode.prototype={get minDisplayedTotalState_(){if(this.heavyView_){return TotalState.LOWER_BOUND;}
8647return TotalState.EXACT;},get childNodes(){if(!this.lazyChildNodes_){this.lazyChildNodes_=new Map();this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.STACK_FRAME,0);this.addDimensionChildNodes_(tr.ui.analysis.HeapDetailsRowDimension.OBJECT_TYPE,1);this.releaseStackFrameNodesIfPossible_();}
8648return this.lazyChildNodes_;},get cells(){if(!this.lazyCells_){this.addCells_();this.releaseStackFrameNodesIfPossible_();}
8649return this.lazyCells_;},releaseStackFrameNodesIfPossible_(){if(this.lazyCells_&&this.lazyChildNodes_){this.stackFrameNodes_=undefined;}},addDimensionChildNodes_(dimension,dimensionIndex){const dimensionChildTitleToStackFrameNodes=tr.b.invertArrayOfDicts(this.stackFrameNodes_,node=>this.convertStackFrameNodeDimensionToChildDict_(node,dimensionIndex));const dimensionChildNodes=[];for(const[childTitle,childStackFrameNodes]of
8650Object.entries(dimensionChildTitleToStackFrameNodes)){dimensionChildNodes.push(new HeapDumpTreeNode(childStackFrameNodes,dimension,childTitle,this.heavyView_,this));}
8651this.lazyChildNodes_.set(dimension,dimensionChildNodes);},convertStackFrameNodeDimensionToChildDict_(stackFrameNode,dimensionIndex){const childDict={};let displayedChildrenTotalSize=0;let displayedChildrenTotalCount=0;let hasDisplayedChildren=false;let allDisplayedChildrenHaveDisplayedCounts=true;for(const child of stackFrameNode.children[dimensionIndex].values()){if(child.values[0].totalState<this.minDisplayedTotalState_){continue;}
8652if(child.values[1].totalState<this.minDisplayedTotalState_){allDisplayedChildrenHaveDisplayedCounts=false;}
8653childDict[child.title[dimensionIndex]]=child;displayedChildrenTotalSize+=child.values[0].total;displayedChildrenTotalCount+=child.values[1].total;hasDisplayedChildren=true;}
8654const nodeTotalSize=stackFrameNode.values[0].total;const nodeTotalCount=stackFrameNode.values[1].total;const hasUnclassifiedSizeOrCount=displayedChildrenTotalSize<nodeTotalSize||displayedChildrenTotalCount<nodeTotalCount;if(!this.heavyView_&&hasUnclassifiedSizeOrCount&&hasDisplayedChildren){const otherTitle=stackFrameNode.title.slice();otherTitle[dimensionIndex]='<other>';const otherNode=new tr.b.MultiDimensionalViewNode(otherTitle,2);childDict[otherTitle[dimensionIndex]]=otherNode;otherNode.values[0].total=nodeTotalSize-displayedChildrenTotalSize;otherNode.values[0].totalState=this.minDisplayedTotalState_;otherNode.values[1].total=nodeTotalCount-displayedChildrenTotalCount;otherNode.values[1].totalState=allDisplayedChildrenHaveDisplayedCounts?this.minDisplayedTotalState_:TotalState.NOT_PROVIDED;}
8655return childDict;},addCells_(){this.lazyCells_=tr.ui.analysis.createCells(this.stackFrameNodes_,function(stackFrameNode){const size=stackFrameNode.values[0].total;const numerics={'Size':new Scalar(sizeInBytes_smallerIsBetter,size)};const countValue=stackFrameNode.values[1];if(countValue.totalState>=this.minDisplayedTotalState_){const count=countValue.total;numerics.Count=new Scalar(count_smallerIsBetter,count);}
8656return numerics;},this);}};Polymer({is:'tr-ui-a-memory-dump-heap-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.heapDumps_=undefined;this.viewMode_=undefined;this.aggregationMode_=undefined;this.cachedBuilders_=new Map();},ready(){this.$.info_bar.message='Note: Values displayed in the heavy view '+'are lower bounds (except for the root).';Polymer.dom(this.$.view_mode_container).appendChild(tr.ui.b.createSelector(this,'viewMode','memoryDumpHeapDetailsPane.viewMode',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]));this.$.drag_handle.target=this.$.path_view;this.$.drag_handle.horizontal=false;this.$.path_view.addEventListener('selected-node-changed',(function(e){this.$.breakdown_view.displayedNode=this.$.path_view.selectedNode;}).bind(this));this.$.breakdown_view.addEventListener('enter-node',(function(e){this.$.path_view.selectedNode=e.node;}).bind(this));},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},get heapDumps(){return this.heapDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.$.path_view.aggregationMode=aggregationMode;this.$.breakdown_view.aggregationMode=aggregationMode;},get aggregationMode(){return this.aggregationMode_;},set viewMode(viewMode){this.viewMode_=viewMode;this.scheduleRebuild_();},get viewMode(){return this.viewMode_;},get heavyView(){switch(this.viewMode){case MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW:case MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW:return true;default:return false;}},onRebuild_(){if(this.heapDumps_===undefined||this.heapDumps_.length===0){this.$.info_text.style.display='block';this.$.split_view.style.display='none';this.$.view_mode_container.style.display='none';this.$.info_bar.hidden=true;this.$.path_view.selectedNode=undefined;return;}
8657this.$.info_text.style.display='none';this.$.split_view.style.display='flex';this.$.view_mode_container.style.display='block';this.$.info_bar.hidden=!this.heavyView;this.$.path_view.selectedNode=this.createHeapTree_();this.$.path_view.rebuild();this.$.breakdown_view.rebuild();},createHeapTree_(){const definedHeapDump=tr.b.findFirstInArray(this.heapDumps_);if(definedHeapDump===undefined)return undefined;const rootRowTitle=definedHeapDump.allocatorName;const stackFrameTrees=this.createStackFrameTrees_(this.heapDumps_);return new HeapDumpTreeNode(stackFrameTrees,tr.ui.analysis.HeapDetailsRowDimension.ROOT,rootRowTitle,this.heavyView);},createStackFrameTrees_(heapDumps){const builders=heapDumps.map(heapDump=>this.createBuilder_(heapDump));const views=builders.map(builder=>{if(builder===undefined)return undefined;return builder.buildView(this.viewMode);});return views;},createBuilder_(heapDump){if(heapDump===undefined)return undefined;if(this.cachedBuilders_.has(heapDump)){return this.cachedBuilders_.get(heapDump);}
8658const dimensions=2;const valueCount=2;const builder=new MultiDimensionalViewBuilder(dimensions,valueCount);for(const entry of heapDump.entries){const leafStackFrame=entry.leafStackFrame;const stackTracePath=leafStackFrame===undefined?[]:leafStackFrame.getUserFriendlyStackTrace().reverse();const objectTypeName=entry.objectTypeName;const objectTypeNamePath=objectTypeName===undefined?[]:[objectTypeName];const valueKind=entry.valuesAreTotals?MultiDimensionalViewBuilder.ValueKind.TOTAL:MultiDimensionalViewBuilder.ValueKind.SELF;builder.addPath([stackTracePath,objectTypeNamePath],[entry.size,entry.count],valueKind);}
8659builder.complete=heapDump.isComplete;this.cachedBuilders_.set(heapDump,builder);return builder;},});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const URL_TO_SIZE_VS_EFFECTIVE_SIZE='https://chromium.googlesource.com/chromium/src/+/master/docs/memory-infra/README.md#effective_size-vs_size';const SUBALLOCATION_CONTEXT=true;const MemoryAllocatorDumpInfoType=tr.model.MemoryAllocatorDumpInfoType;const PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN;const PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER=MemoryAllocatorDumpInfoType.PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER;const LEFTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FD);const RIGHTWARDS_OPEN_HEADED_ARROW=String.fromCharCode(0x21FE);const EN_DASH=String.fromCharCode(0x2013);const CIRCLED_LATIN_SMALL_LETTER_I=String.fromCharCode(0x24D8);function AllocatorDumpNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Component');}
8660AllocatorDumpNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(!row.suballocation){return row.title;}
8661return tr.ui.b.createSpan({textContent:row.title,italic:true,tooltip:row.fullNames===undefined?undefined:row.fullNames.join(', ')});}};function getAndUpdateEntry(map,name,createdCallback){let entry=map.get(name);if(entry===undefined){entry={count:0};createdCallback(entry);map.set(name,entry);}
8662entry.count++;return entry;}
8663function SizeInfoMessageBuilder(){this.parts_=[];this.indent_=0;}
8664SizeInfoMessageBuilder.prototype={append(){this.parts_.push.apply(this.parts_,Array.prototype.slice.apply(arguments));},appendMap(map,hasPluralSuffix,emptyText,itemCallback,opt_this){opt_this=opt_this||this;if(map.size===0){if(emptyText){this.append(emptyText);}}else if(map.size===1){this.parts_.push(' ');const key=map.keys().next().value;itemCallback.call(opt_this,key,map.get(key));}else{if(hasPluralSuffix){this.parts_.push('s');}
8665this.parts_.push(':');this.indent_++;for(const key of map.keys()){this.parts_.push('\n',' '.repeat(3*(this.indent_-1)),' - ');itemCallback.call(opt_this,key,map.get(key));}
8666this.indent_--;}},appendImportanceRange(range){this.append(' (importance: ');if(range.min===range.max){this.append(range.min);}else{this.append(range.min,EN_DASH,range.max);}
8667this.append(')');},appendSizeIfDefined(size){if(size!==undefined){this.append(' (',tr.b.Unit.byName.sizeInBytes.format(size),')');}},appendSomeTimestampsQuantifier(){this.append(' ',tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER);},build(){return this.parts_.join('');}};function EffectiveSizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8668EffectiveSizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory used by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;const ownerNameToEntry=new Map();const ownedNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8669dump.ownedBy.forEach(function(ownerLink){const ownerDump=ownerLink.source;this.getAndUpdateOwnershipEntry_(ownerNameToEntry,ownerDump,ownerLink);},this);const ownedLink=dump.owns;if(ownedLink!==undefined){const ownedDump=ownedLink.target;const ownedEntry=this.getAndUpdateOwnershipEntry_(ownedNameToEntry,ownedDump,ownedLink,true);const sharerNameToEntry=ownedEntry.sharerNameToEntry;ownedDump.ownedBy.forEach(function(sharerLink){const sharerDump=sharerLink.source;if(sharerDump===dump)return;this.getAndUpdateOwnershipEntry_(sharerNameToEntry,sharerDump,sharerLink);},this);}}
8670if(ownerNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shared by');messageBuilder.appendMap(ownerNameToEntry,false,undefined,function(ownerName,ownerEntry){messageBuilder.append(ownerName);if(ownerEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8671messageBuilder.appendImportanceRange(ownerEntry.importanceRange);},this);infos.push({message:messageBuilder.build(),icon:LEFTWARDS_OPEN_HEADED_ARROW,color:'green'});}
8672if(ownedNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('shares');messageBuilder.appendMap(ownedNameToEntry,false,undefined,function(ownedName,ownedEntry){messageBuilder.append(ownedName);const ownedCount=ownedEntry.count;if(ownedCount<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8673messageBuilder.appendImportanceRange(ownedEntry.importanceRange);messageBuilder.append(' with');messageBuilder.appendMap(ownedEntry.sharerNameToEntry,false,' no other dumps',function(sharerName,sharerEntry){messageBuilder.append(sharerName);if(sharerEntry.count<ownedCount){messageBuilder.appendSomeTimestampsQuantifier();}
8674messageBuilder.appendImportanceRange(sharerEntry.importanceRange);},this);},this);infos.push({message:messageBuilder.build(),icon:RIGHTWARDS_OPEN_HEADED_ARROW,color:'green'});}},getAndUpdateOwnershipEntry_(map,dump,link,opt_withSharerNameToEntry){const entry=getAndUpdateEntry(map,dump.quantifiedName,function(newEntry){newEntry.importanceRange=new tr.b.math.Range();if(opt_withSharerNameToEntry){newEntry.sharerNameToEntry=new Map();}});entry.importanceRange.addValue(link.importance||0);return entry;}};function SizeColumn(name,cellPath,aggregationMode){tr.ui.analysis.DetailsNumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8675SizeColumn.prototype={__proto__:tr.ui.analysis.DetailsNumericMemoryColumn.prototype,get title(){return tr.ui.b.createLink({textContent:this.name,tooltip:'Memory requested by this component',href:URL_TO_SIZE_VS_EFFECTIVE_SIZE});},addInfos(numerics,memoryAllocatorDumps,infos){if(memoryAllocatorDumps===undefined)return;this.addOverlapInfo_(numerics,memoryAllocatorDumps,infos);this.addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos);},addOverlapInfo_(numerics,memoryAllocatorDumps,infos){const siblingNameToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8676const ownedBySiblingSizes=dump.ownedBySiblingSizes;for(const siblingDump of ownedBySiblingSizes.keys()){const siblingName=siblingDump.name;getAndUpdateEntry(siblingNameToEntry,siblingName,function(newEntry){if(numerics.length===1){newEntry.size=ownedBySiblingSizes.get(siblingDump);}});}}
8677if(siblingNameToEntry.size>0){const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('overlaps with its sibling');messageBuilder.appendMap(siblingNameToEntry,true,undefined,function(siblingName,siblingEntry){messageBuilder.append('\'',siblingName,'\'');messageBuilder.appendSizeIfDefined(siblingEntry.size);if(siblingEntry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}},this);infos.push({message:messageBuilder.build(),icon:CIRCLED_LATIN_SMALL_LETTER_I,color:'blue'});}},addProvidedSizeWarningInfos_(numerics,memoryAllocatorDumps,infos){const infoTypeToEntry=new Map();for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;const dump=memoryAllocatorDumps[i];if(dump===SUBALLOCATION_CONTEXT){return;}
8678dump.infos.forEach(function(dumpInfo){getAndUpdateEntry(infoTypeToEntry,dumpInfo.type,function(newEntry){if(numerics.length===1){newEntry.providedSize=dumpInfo.providedSize;newEntry.dependencySize=dumpInfo.dependencySize;}});});}
8679for(const infoType of infoTypeToEntry.keys()){const entry=infoTypeToEntry.get(infoType);const messageBuilder=new SizeInfoMessageBuilder();messageBuilder.append('provided size');messageBuilder.appendSizeIfDefined(entry.providedSize);let dependencyName;switch(infoType){case PROVIDED_SIZE_LESS_THAN_AGGREGATED_CHILDREN:dependencyName='the aggregated size of the children';break;case PROVIDED_SIZE_LESS_THAN_LARGEST_OWNER:dependencyName='the size of the largest owner';break;default:dependencyName='an unknown dependency';break;}
8680messageBuilder.append(' was less than ',dependencyName);messageBuilder.appendSizeIfDefined(entry.dependencySize);if(entry.count<numerics.length){messageBuilder.appendSomeTimestampsQuantifier();}
8681infos.push(tr.ui.analysis.createWarningInfo(messageBuilder.build()));}}};const NUMERIC_COLUMN_RULES=[{condition:tr.model.MemoryAllocatorDump.EFFECTIVE_SIZE_NUMERIC_NAME,importance:10,columnConstructor:EffectiveSizeColumn},{condition:tr.model.MemoryAllocatorDump.SIZE_NUMERIC_NAME,importance:9,columnConstructor:SizeColumn},{condition:'page_size',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:/size/,importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const DIAGNOSTIC_COLUMN_RULES=[{importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];Polymer({is:'tr-ui-a-memory-dump-allocator-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.memoryAllocatorDumps_=undefined;this.heapDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set memoryAllocatorDumps(memoryAllocatorDumps){this.memoryAllocatorDumps_=memoryAllocatorDumps;this.scheduleRebuild_();},get memoryAllocatorDumps(){return this.memoryAllocatorDumps_;},set heapDumps(heapDumps){this.heapDumps_=heapDumps;this.scheduleRebuild_();},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.memoryAllocatorDumps_===undefined||this.memoryAllocatorDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();this.childPaneBuilder=undefined;return;}
8682this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);rows.forEach(function(rootRow){tr.ui.analysis.aggregateTableRowCellsRecursively(rootRow,columns,function(contexts){return contexts!==undefined&&contexts.some(function(context){return context===SUBALLOCATION_CONTEXT;});});});this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);if(this.heapDumps_===undefined){this.childPaneBuilder=undefined;}else{this.childPaneBuilder=function(){const pane=document.createElement('tr-ui-a-memory-dump-heap-details-pane');pane.heapDumps=this.heapDumps_;pane.aggregationMode=this.aggregationMode_;return pane;}.bind(this);}},createRows_(){return[this.createAllocatorRowRecursively_(this.memoryAllocatorDumps_)];},createAllocatorRowRecursively_(dumps){const definedDump=tr.b.findFirstInArray(dumps);const title=definedDump.name;const fullName=definedDump.fullName;const numericCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.numerics;});const diagnosticCells=tr.ui.analysis.createCells(dumps,function(dump){return dump.diagnostics;});let suballocatedBy=undefined;if(title.startsWith('__')){for(let i=0;i<dumps.length;i++){const dump=dumps[i];if(dump===undefined||dump.ownedBy.length===0){continue;}
8683const ownerDump=dump.ownedBy[0].source;if(dump.ownedBy.length>1||dump.children.length>0||ownerDump.containerMemoryDump!==dump.containerMemoryDump){suballocatedBy=undefined;break;}
8684if(suballocatedBy===undefined){suballocatedBy=ownerDump.fullName;}else if(suballocatedBy!==ownerDump.fullName){suballocatedBy=undefined;break;}}}
8685const row={title,fullNames:[fullName],contexts:dumps,numericCells,diagnosticCells,suballocatedBy};const childDumpNameToDumps=tr.b.invertArrayOfDicts(dumps,function(dump){return tr.b.arrayToDict(dump.children,function(child){return child.name;});});const subRows=[];let suballocationClassificationRootNode=undefined;for(const childDumps of Object.values(childDumpNameToDumps)){const childRow=this.createAllocatorRowRecursively_(childDumps);if(childRow.suballocatedBy===undefined){subRows.push(childRow);}else{suballocationClassificationRootNode=this.classifySuballocationRow_(childRow,suballocationClassificationRootNode);}}
8686if(suballocationClassificationRootNode!==undefined){const suballocationRow=this.createSuballocationRowRecursively_('suballocations',suballocationClassificationRootNode);subRows.push(suballocationRow);}
8687if(subRows.length>0){row.subRows=subRows;}
8688return row;},classifySuballocationRow_(suballocationRow,rootNode){if(rootNode===undefined){rootNode={children:{},row:undefined};}
8689const suballocationLevels=suballocationRow.suballocatedBy.split('/');let currentNode=rootNode;for(let i=0;i<suballocationLevels.length;i++){const suballocationLevel=suballocationLevels[i];let nextNode=currentNode.children[suballocationLevel];if(nextNode===undefined){currentNode.children[suballocationLevel]=nextNode={children:{},row:undefined};}
8690currentNode=nextNode;}
8691const existingRow=currentNode.row;if(existingRow!==undefined){for(let i=0;i<suballocationRow.contexts.length;i++){const newContext=suballocationRow.contexts[i];if(newContext===undefined)continue;if(existingRow.contexts[i]!==undefined){throw new Error('Multiple suballocations with the same owner name');}
8692existingRow.contexts[i]=newContext;['numericCells','diagnosticCells'].forEach(function(cellKey){const suballocationCells=suballocationRow[cellKey];if(suballocationCells===undefined)return;for(const[cellName,cell]of Object.entries(suballocationCells)){if(cell===undefined)continue;const fields=cell.fields;if(fields===undefined)continue;const field=fields[i];if(field===undefined)continue;let existingCells=existingRow[cellKey];if(existingCells===undefined){existingCells={};existingRow[cellKey]=existingCells;}
8693let existingCell=existingCells[cellName];if(existingCell===undefined){existingCell=new tr.ui.analysis.MemoryCell(new Array(fields.length));existingCells[cellName]=existingCell;}
8694existingCell.fields[i]=field;}});}
8695existingRow.fullNames.push.apply(existingRow.fullNames,suballocationRow.fullNames);}else{currentNode.row=suballocationRow;}
8696return rootNode;},createSuballocationRowRecursively_(name,node){const childCount=Object.keys(node.children).length;if(childCount===0){if(node.row===undefined){throw new Error('Suballocation node must have a row or children');}
8697const row=node.row;row.title=name;row.suballocation=true;return row;}
8698const subRows=Object.values(tr.b.mapItems(node.children,this.createSuballocationRowRecursively_,this));if(node.row!==undefined){const row=node.row;row.title='<unspecified>';row.suballocation=true;subRows.unshift(row);}
8699const contexts=new Array(subRows[0].contexts.length);for(let i=0;i<subRows.length;i++){subRows[i].contexts.forEach(function(subContext,index){if(subContext!==undefined){contexts[index]=SUBALLOCATION_CONTEXT;}});}
8700return{title:name,suballocation:true,contexts,subRows};},createColumns_(rows){const titleColumn=new AllocatorDumpNameColumn();titleColumn.width='200px';const numericColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'numericCells',aggregationMode:this.aggregationMode_,rules:NUMERIC_COLUMN_RULES});const diagnosticColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'diagnosticCells',aggregationMode:this.aggregationMode_,rules:DIAGNOSTIC_COLUMN_RULES});const fieldColumns=numericColumns.concat(diagnosticColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{SUBALLOCATION_CONTEXT,AllocatorDumpNameColumn,EffectiveSizeColumn,SizeColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const CONSTANT_COLUMN_RULES=[{condition:'Start address',importance:0,columnConstructor:tr.ui.analysis.StringMemoryColumn}];const VARIABLE_COLUMN_RULES=[{condition:'Virtual size',importance:7,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Protection flags',importance:6,columnConstructor:tr.ui.analysis.StringMemoryColumn},{condition:'PSS',importance:5,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private dirty',importance:4,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Private clean',importance:3,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared dirty',importance:2,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Shared clean',importance:1,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn},{condition:'Swapped',importance:0,columnConstructor:tr.ui.analysis.DetailsNumericMemoryColumn}];const BYTE_STAT_COLUMN_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','privateCleanResident':'Private clean','sharedDirtyResident':'Shared dirty','sharedCleanResident':'Shared clean','swapped':'Swapped'};function hexString(address,is64BitAddress){if(address===undefined)return undefined;const hexPadding=is64BitAddress?'0000000000000000':'00000000';return(hexPadding+address.toString(16)).substr(-hexPadding.length);}
8701function pruneEmptyRuleRows(row){if(row.subRows===undefined||row.subRows.length===0)return;if(row.subRows[0].rule===undefined){return;}
8702row.subRows.forEach(pruneEmptyRuleRows);row.subRows=row.subRows.filter(function(subRow){return subRow.subRows.length>0;});}
8703Polymer({is:'tr-ui-a-memory-dump-vm-regions-details-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.vmRegions_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},set vmRegions(vmRegions){this.vmRegions_=vmRegions;this.scheduleRebuild_();},get vmRegions(){return this.vmRegions_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){if(this.vmRegions_===undefined||this.vmRegions_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
8704this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_(this.vmRegions_);const columns=this.createColumns_(rows);this.$.table.tableRows=rows;this.$.table.tableColumns=columns;this.$.table.rebuild();tr.ui.analysis.expandTableRowsRecursively(this.$.table);},createRows_(timeToVmRegionTree){const is64BitAddress=timeToVmRegionTree.some(function(vmRegionTree){if(vmRegionTree===undefined)return false;return vmRegionTree.someRegion(function(region){if(region.startAddress===undefined)return false;return region.startAddress>=4294967296;});});return[this.createClassificationNodeRow(timeToVmRegionTree,is64BitAddress)];},createClassificationNodeRow(timeToNode,is64BitAddress){const definedNode=tr.b.findFirstInArray(timeToNode);const childNodeIdToTimeToNode=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const children=node.children;if(children===undefined)return undefined;const childMap={};children.forEach(function(childNode){if(!childNode.hasRegions)return;childMap[childNode.title]=childNode;});return childMap;}));const childNodeSubRows=childNodeIdToTimeToNode.map(function(timeToChildNode){return this.createClassificationNodeRow(timeToChildNode,is64BitAddress);},this);const regionIdToTimeToRegion=Object.values(tr.b.invertArrayOfDicts(timeToNode,function(node){const regions=node.regions;if(regions===undefined)return undefined;return tr.b.arrayToDict(regions,function(region){return region.uniqueIdWithinProcess;});}));const regionSubRows=regionIdToTimeToRegion.map(function(timeToRegion){return this.createRegionRow_(timeToRegion,is64BitAddress);},this);const subRows=childNodeSubRows.concat(regionSubRows);return{title:definedNode.title,contexts:timeToNode,variableCells:this.createVariableCells_(timeToNode),subRows};},createRegionRow_(timeToRegion,is64BitAddress){const definedRegion=tr.b.findFirstInArray(timeToRegion);return{title:definedRegion.mappedFile,contexts:timeToRegion,constantCells:this.createConstantCells_(definedRegion,is64BitAddress),variableCells:this.createVariableCells_(timeToRegion)};},createConstantCells_(definedRegion,is64BitAddress){return tr.ui.analysis.createCells([definedRegion],function(region){const startAddress=region.startAddress;if(startAddress===undefined)return undefined;return{'Start address':hexString(startAddress,is64BitAddress)};});},createVariableCells_(timeToRegion){return tr.ui.analysis.createCells(timeToRegion,function(region){const fields={};const sizeInBytes=region.sizeInBytes;if(sizeInBytes!==undefined){fields['Virtual size']=new Scalar(sizeInBytes_smallerIsBetter,sizeInBytes);}
8705const protectionFlags=region.protectionFlagsToString;if(protectionFlags!==undefined){fields['Protection flags']=protectionFlags;}
8706for(const[byteStatName,columnName]of
8707Object.entries(BYTE_STAT_COLUMN_MAP)){const byteStat=region.byteStats[byteStatName];if(byteStat===undefined)continue;fields[columnName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}
8708return fields;});},createColumns_(rows){const titleColumn=new tr.ui.analysis.TitleColumn('Mapped file');titleColumn.width='200px';const constantColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'constantCells',aggregationMode:undefined,rules:CONSTANT_COLUMN_RULES});const variableColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'variableCells',aggregationMode:this.aggregationMode_,rules:VARIABLE_COLUMN_RULES});const fieldColumns=constantColumns.concat(variableColumns);tr.ui.analysis.MemoryColumn.spaceEqually(fieldColumns);const columns=[titleColumn].concat(fieldColumns);return columns;}});return{};});'use strict';Polymer({is:'tr-ui-b-color-legend',ready(){const blackSquareCharCode=9632;this.$.square.innerText=String.fromCharCode(blackSquareCharCode);this.label_=undefined;this.compoundEventSelectionState_=tr.model.CompoundEventSelectionState.NOT_SELECTED;},set compoundEventSelectionState(compoundEventSelectionState){this.compoundEventSelectionState_=compoundEventSelectionState;},get label(){return this.label_;},set label(label){if(label===undefined){this.setLabelAndColorId(undefined,undefined);return;}
8709const colorId=tr.b.ColorScheme.getColorIdForGeneralPurposeString(label);this.setLabelAndColorId(label,colorId);},setLabelAndColorId(label,colorId){this.label_=label;Polymer.dom(this.$.label).textContent='';Polymer.dom(this.$.label).appendChild(tr.ui.b.asHTMLOrTextNode(label));if(colorId===undefined){this.$.square.style.color='initial';}else{this.$.square.style.color=tr.b.ColorScheme.colorsAsStrings[colorId];}}});'use strict';Polymer({is:'tr-ui-b-view-specific-brushing-state',get viewId(){return this.getAttribute('view-id');},set viewId(viewId){Polymer.dom(this).setAttribute('view-id',viewId);},get(){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');}
8710const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return undefined;return brushingStateController.getViewSpecificBrushingState(viewId);},set(state){const viewId=this.viewId;if(!viewId){throw new Error('Element must have a view-id attribute!');}
8711const brushingStateController=tr.c.BrushingStateController.getControllerForElement(this);if(!brushingStateController)return;brushingStateController.changeViewSpecificBrushingState(viewId,state);}});'use strict';tr.exportTo('tr.ui.analysis',function(){const MemoryColumnColorScheme=tr.b.MemoryColumnColorScheme;const Scalar=tr.b.Scalar;const sizeInBytes_smallerIsBetter=tr.b.Unit.byName.sizeInBytes_smallerIsBetter;const PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX='_bytes';const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const SOME_TIMESTAMPS_INFO_QUANTIFIER=tr.ui.analysis.MemoryColumn.SOME_TIMESTAMPS_INFO_QUANTIFIER;const RIGHTWARDS_ARROW_WITH_HOOK=String.fromCharCode(0x21AA);const RIGHTWARDS_ARROW_FROM_BAR=String.fromCharCode(0x21A6);const GREATER_THAN_OR_EQUAL_TO=String.fromCharCode(0x2265);const UNMARRIED_PARTNERSHIP_SYMBOL=String.fromCharCode(0x26AF);const TRIGRAM_FOR_HEAVEN=String.fromCharCode(0x2630);function lazyMap(list,fn,opt_this){opt_this=opt_this||this;let result=undefined;list.forEach(function(item,index){const value=fn.call(opt_this,item,index);if(value===undefined)return;if(result===undefined){result=new Array(list.length);}
8712result[index]=value;});return result;}
8713function ProcessNameColumn(){tr.ui.analysis.TitleColumn.call(this,'Process');}
8714ProcessNameColumn.prototype={__proto__:tr.ui.analysis.TitleColumn.prototype,formatTitle(row){if(row.contexts===undefined){return row.title;}
8715const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=row.title;return titleEl;}};function UsedMemoryColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8716UsedMemoryColumn.COLOR=MemoryColumnColorScheme.getColor('used_memory_column').toString();UsedMemoryColumn.OLDER_COLOR=MemoryColumnColorScheme.getColor('older_used_memory_column').toString();UsedMemoryColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:UsedMemoryColumn.COLOR});},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},color(numerics,processMemoryDumps){return UsedMemoryColumn.COLOR;},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const vmRegions=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.mostRecentVmRegions;});if(vmRegions===undefined)return undefined;return function(){const pane=document.createElement('tr-ui-a-memory-dump-vm-regions-details-pane');pane.vmRegions=vmRegions;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function PeakMemoryColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
8717PeakMemoryColumn.prototype={__proto__:UsedMemoryColumn.prototype,addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let resettableValueCount=0;let nonResettableValueCount=0;for(let i=0;i<numerics.length;i++){if(numerics[i]===undefined)continue;if(processMemoryDumps[i].arePeakResidentBytesResettable){resettableValueCount++;}else{nonResettableValueCount++;}}
8718if(resettableValueCount>0&&nonResettableValueCount>0){infos.push(tr.ui.analysis.createWarningInfo('Both resettable and '+'non-resettable peak RSS values were provided by the process'));}else if(resettableValueCount>0){infos.push({icon:RIGHTWARDS_ARROW_WITH_HOOK,message:'Peak RSS since previous memory dump.'});}else{infos.push({icon:RIGHTWARDS_ARROW_FROM_BAR,message:'Peak RSS since process startup. Finer grained '+'peaks require a Linux kernel version '+
8719GREATER_THAN_OR_EQUAL_TO+' 4.0.'});}}};function ByteStatColumn(name,cellPath,aggregationMode){UsedMemoryColumn.call(this,name,cellPath,aggregationMode);}
8720ByteStatColumn.prototype={__proto__:UsedMemoryColumn.prototype,color(numerics,processMemoryDumps){if(processMemoryDumps===undefined){return UsedMemoryColumn.COLOR;}
8721const allOlderValues=processMemoryDumps.every(function(processMemoryDump){if(processMemoryDump===undefined)return true;return!processMemoryDump.hasOwnVmRegions;});if(allOlderValues){return UsedMemoryColumn.OLDER_COLOR;}
8722return UsedMemoryColumn.COLOR;},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let olderValueCount=0;for(let i=0;i<numerics.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump!==undefined&&!processMemoryDump.hasOwnVmRegions){olderValueCount++;}}
8723if(olderValueCount===0){return;}
8724const infoQuantifier=olderValueCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Older value'+infoQuantifier+' (only heavy (purple) memory dumps contain memory maps).',icon:UNMARRIED_PARTNERSHIP_SYMBOL});}};UsedMemoryColumn.RULES=[{condition:'Total resident',importance:10,columnConstructor:UsedMemoryColumn},{condition:'Peak total resident',importance:9,columnConstructor:PeakMemoryColumn},{condition:'PSS',importance:8,columnConstructor:ByteStatColumn},{condition:'Private dirty',importance:7,columnConstructor:ByteStatColumn},{condition:'Swapped',importance:6,columnConstructor:ByteStatColumn},{importance:0,columnConstructor:UsedMemoryColumn}];UsedMemoryColumn.TOTALS_MAP={'residentBytes':'Total resident','peakResidentBytes':'Peak total resident'};UsedMemoryColumn.BYTE_STAT_MAP={'proportionalResident':'PSS','privateDirtyResident':'Private dirty','swapped':'Swapped'};function AllocatorColumn(name,cellPath,aggregationMode){tr.ui.analysis.NumericMemoryColumn.call(this,name,cellPath,aggregationMode);}
8725AllocatorColumn.prototype={__proto__:tr.ui.analysis.NumericMemoryColumn.prototype,get title(){const titleEl=document.createElement('tr-ui-b-color-legend');titleEl.label=this.name;return titleEl;},getFormattingContext(unit){return{unitPrefix:tr.b.UnitPrefixScale.BINARY.MEBI};},addInfos(numerics,processMemoryDumps,infos){if(processMemoryDumps===undefined)return;let heapDumpCount=0;let missingSizeCount=0;for(let i=0;i<processMemoryDumps.length;i++){const processMemoryDump=processMemoryDumps[i];if(processMemoryDump===undefined)continue;const heapDumps=processMemoryDump.heapDumps;if(heapDumps!==undefined&&heapDumps[this.name]!==undefined){heapDumpCount++;}
8726const allocatorDump=processMemoryDump.getMemoryAllocatorDumpByFullName(this.name);if(allocatorDump!==undefined&&allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME]===undefined){missingSizeCount++;}}
8727if(heapDumpCount>0){const infoQuantifier=heapDumpCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push({message:'Heap dump provided'+infoQuantifier+'.',icon:TRIGRAM_FOR_HEAVEN});}
8728if(missingSizeCount>0){const infoQuantifier=missingSizeCount<numerics.length?' '+SOME_TIMESTAMPS_INFO_QUANTIFIER:'';infos.push(tr.ui.analysis.createWarningInfo('Size was not provided'+infoQuantifier+'.'));}},getChildPaneBuilder(processMemoryDumps){if(processMemoryDumps===undefined)return undefined;const memoryAllocatorDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined)return undefined;return pmd.getMemoryAllocatorDumpByFullName(this.name);},this);if(memoryAllocatorDumps===undefined)return undefined;const heapDumps=lazyMap(processMemoryDumps,function(pmd){if(pmd===undefined||pmd.heapDumps===undefined)return undefined;return pmd.heapDumps[this.name];},this);return function(){const pane=document.createElement('tr-ui-a-memory-dump-allocator-details-pane');pane.memoryAllocatorDumps=memoryAllocatorDumps;pane.heapDumps=heapDumps;pane.aggregationMode=this.aggregationMode;return pane;}.bind(this);}};function TracingColumn(name,cellPath,aggregationMode){AllocatorColumn.call(this,name,cellPath,aggregationMode);}
8729TracingColumn.COLOR=MemoryColumnColorScheme.getColor('tracing_memory_column').toString();TracingColumn.prototype={__proto__:AllocatorColumn.prototype,get title(){return tr.ui.b.createSpan({textContent:this.name,color:TracingColumn.COLOR});},color(numerics,processMemoryDumps){return TracingColumn.COLOR;}};AllocatorColumn.RULES=[{condition:'tracing',importance:0,columnConstructor:TracingColumn},{importance:1,columnConstructor:AllocatorColumn}];Polymer({is:'tr-ui-a-memory-dump-overview-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.processMemoryDumps_=undefined;this.aggregationMode_=undefined;},ready(){this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.CELL;this.$.table.addEventListener('selection-changed',function(tableEvent){tableEvent.stopPropagation();this.changeChildPane_();}.bind(this));},set processMemoryDumps(processMemoryDumps){this.processMemoryDumps_=processMemoryDumps;this.scheduleRebuild_();},get processMemoryDumps(){return this.processMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},get selectedMemoryCell(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
8730const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];const selectedMemoryCell=selectedColumn.cell(selectedTableRow);return selectedMemoryCell;},changeChildPane_(){this.storeSelection_();this.childPaneBuilder=this.determineChildPaneBuilderFromSelection_();},determineChildPaneBuilderFromSelection_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){return undefined;}
8731const selectedTableRow=this.$.table.selectedTableRow;if(!selectedTableRow)return undefined;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex===undefined)return undefined;const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];return selectedColumn.getChildPaneBuilder(selectedTableRow.contexts);},onRebuild_(){if(this.processMemoryDumps_===undefined||this.processMemoryDumps_.length===0){this.$.info_text.style.display='block';this.$.table.style.display='none';this.$.table.clear();this.$.table.rebuild();return;}
8732this.$.info_text.style.display='none';this.$.table.style.display='block';const rows=this.createRows_();const columns=this.createColumns_(rows);const footerRows=this.createFooterRows_(rows,columns);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.tableColumns=columns;this.$.table.rebuild();this.restoreSelection_();},createRows_(){const timeToPidToProcessMemoryDump=this.processMemoryDumps_;const pidToTimeToProcessMemoryDump=tr.b.invertArrayOfDicts(timeToPidToProcessMemoryDump);return Object.values(tr.b.mapItems(pidToTimeToProcessMemoryDump,function(pid,timeToDump){const process=tr.b.findFirstInArray(timeToDump).process;const usedMemoryCells=tr.ui.analysis.createCells(timeToDump,function(dump){const sizes={};const totals=dump.totals;if(totals!==undefined){for(const[totalName,cellName]of
8733Object.entries(UsedMemoryColumn.TOTALS_MAP)){const total=totals[totalName];if(total===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,total);}
8734const platformSpecific=totals.platformSpecific;if(platformSpecific!==undefined){for(const[name,size]of
8735Object.entries(platformSpecific)){let newName=name;if(name.endsWith(PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX)){newName=name.substring(0,name.length-
8736PLATFORM_SPECIFIC_TOTAL_NAME_SUFFIX.length);}
8737newName=newName.replace('_',' ').trim();newName=newName.charAt(0).toUpperCase()+
8738newName.slice(1);sizes[newName]=new Scalar(sizeInBytes_smallerIsBetter,size);}}}
8739const vmRegions=dump.mostRecentVmRegions;if(vmRegions!==undefined){for(const[byteStatName,cellName]of
8740Object.entries(UsedMemoryColumn.BYTE_STAT_MAP)){const byteStat=vmRegions.byteStats[byteStatName];if(byteStat===undefined)continue;sizes[cellName]=new Scalar(sizeInBytes_smallerIsBetter,byteStat);}}
8741return sizes;});const allocatorCells=tr.ui.analysis.createCells(timeToDump,function(dump){const memoryAllocatorDumps=dump.memoryAllocatorDumps;if(memoryAllocatorDumps===undefined)return undefined;const sizes={};memoryAllocatorDumps.forEach(function(allocatorDump){let rootDisplayedSizeNumeric=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(rootDisplayedSizeNumeric===undefined){rootDisplayedSizeNumeric=new Scalar(sizeInBytes_smallerIsBetter,0);}
8742sizes[allocatorDump.fullName]=rootDisplayedSizeNumeric;});return sizes;});return{title:process.userFriendlyName,contexts:timeToDump,usedMemoryCells,allocatorCells};}));},createFooterRows_(rows,columns){if(rows.length<=1)return[];const totalRow={title:'Total'};tr.ui.analysis.aggregateTableRowCells(totalRow,rows,columns);return[totalRow];},createColumns_(rows){const titleColumn=new ProcessNameColumn();titleColumn.width='200px';const usedMemorySizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'usedMemoryCells',aggregationMode:this.aggregationMode_,rules:UsedMemoryColumn.RULES});const allocatorSizeColumns=tr.ui.analysis.MemoryColumn.fromRows(rows,{cellKey:'allocatorCells',aggregationMode:this.aggregationMode_,rules:AllocatorColumn.RULES});const sizeColumns=usedMemorySizeColumns.concat(allocatorSizeColumns);tr.ui.analysis.MemoryColumn.spaceEqually(sizeColumns);const columns=[titleColumn].concat(sizeColumns);return columns;},storeSelection_(){let selectedRowTitle;const selectedRow=this.$.table.selectedTableRow;if(selectedRow!==undefined){selectedRowTitle=selectedRow.title;}
8743let selectedColumnName;const selectedColumnIndex=this.$.table.selectedColumnIndex;if(selectedColumnIndex!==undefined){const selectedColumn=this.$.table.tableColumns[selectedColumnIndex];selectedColumnName=selectedColumn.name;}
8744this.$.state.set({rowTitle:selectedRowTitle,columnName:selectedColumnName});},restoreSelection_(){const settings=this.$.state.get();if(settings===undefined||settings.rowTitle===undefined||settings.columnName===undefined){return;}
8745const selectedColumnName=settings.columnName;const selectedColumnIndex=tr.b.findFirstIndexInArray(this.$.table.tableColumns,function(column){return column.name===selectedColumnName;});if(selectedColumnIndex<0)return;const selectedRowTitle=settings.rowTitle;const selectedRow=tr.b.findFirstInArray(this.$.table.tableRows,function(row){return row.title===selectedRowTitle;});if(selectedRow===undefined)return;this.$.table.selectedTableRow=selectedRow;this.$.table.selectedColumnIndex=selectedColumnIndex;}});return{ProcessNameColumn,UsedMemoryColumn,PeakMemoryColumn,ByteStatColumn,AllocatorColumn,TracingColumn,};});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-memory-dump-header-pane',behaviors:[tr.ui.analysis.StackedPane],created(){this.containerMemoryDumps_=undefined;},ready(){Polymer.dom(this.$.aggregation_mode_container).appendChild(tr.ui.b.createSelector(this,'aggregationMode','memoryDumpHeaderPane.aggregationMode',tr.ui.analysis.MemoryColumn.AggregationMode.DIFF,[{label:'Diff',value:tr.ui.analysis.MemoryColumn.AggregationMode.DIFF},{label:'Max',value:tr.ui.analysis.MemoryColumn.AggregationMode.MAX}]));},set containerMemoryDumps(containerMemoryDumps){this.containerMemoryDumps_=containerMemoryDumps;this.scheduleRebuild_();},get containerMemoryDumps(){return this.containerMemoryDumps_;},set aggregationMode(aggregationMode){this.aggregationMode_=aggregationMode;this.scheduleRebuild_();},get aggregationMode(){return this.aggregationMode_;},onRebuild_(){this.updateLabel_();this.updateAggregationModeSelector_();this.changeChildPane_();},updateLabel_(){Polymer.dom(this.$.label).textContent='';if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){Polymer.dom(this.$.label).textContent='No memory dumps selected';return;}
8746const containerDumpCount=this.containerMemoryDumps_.length;const isMultiSelection=containerDumpCount>1;Polymer.dom(this.$.label).appendChild(document.createTextNode('Selected '+containerDumpCount+' memory dump'+
8747(isMultiSelection?'s':'')+' in '+this.containerMemoryDumps_[0].containerName+' at '));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[0].start)));if(isMultiSelection){const ELLIPSIS=String.fromCharCode(8230);Polymer.dom(this.$.label).appendChild(document.createTextNode(ELLIPSIS));Polymer.dom(this.$.label).appendChild(document.createTextNode(tr.b.Unit.byName.timeStampInMs.format(this.containerMemoryDumps_[containerDumpCount-1].start)));}},updateAggregationModeSelector_(){let displayStyle;if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=1){displayStyle='none';}else{displayStyle='initial';}
8748this.$.aggregation_mode_container.style.display=displayStyle;},changeChildPane_(){this.childPaneBuilder=function(){if(this.containerMemoryDumps_===undefined||this.containerMemoryDumps_.length<=0){return undefined;}
8749const overviewPane=document.createElement('tr-ui-a-memory-dump-overview-pane');overviewPane.processMemoryDumps=this.containerMemoryDumps_.map(function(containerDump){return containerDump.processMemoryDumps;});overviewPane.aggregationMode=this.aggregationMode;return overviewPane;}.bind(this);}});return{};});'use strict';Polymer({is:'tr-ui-a-stacked-pane-view',setPaneBuilder(paneBuilder,opt_parentPane){const paneContainer=this.$.pane_container;if(opt_parentPane){if(!(opt_parentPane instanceof HTMLElement)){throw new Error('Parent pane must be an HTML element');}
8750if(opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane must be a child of the pane container');}}
8751while(Polymer.dom(paneContainer).lastElementChild!==null&&Polymer.dom(paneContainer).lastElementChild!==opt_parentPane){const removedPane=Polymer.dom(this.$.pane_container).lastElementChild;const listener=this.listeners_.get(removedPane);if(listener===undefined){throw new Error('No listener associated with pane');}
8752this.listeners_.delete(removedPane);removedPane.removeEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).removeChild(removedPane);}
8753if(opt_parentPane&&opt_parentPane.parentElement!==paneContainer){throw new Error('Parent pane was removed from the pane container');}
8754if(!paneBuilder)return;const pane=paneBuilder();if(!pane)return;if(!(pane instanceof HTMLElement)){throw new Error('Pane must be an HTML element');}
8755const listener=function(event){this.setPaneBuilder(pane.childPaneBuilder,pane);}.bind(this);if(!this.listeners_){this.listeners_=new WeakMap();}
8756this.listeners_.set(pane,listener);pane.addEventListener('request-child-pane-change',listener);Polymer.dom(paneContainer).appendChild(pane);pane.appended();},rebuild(){let currentPane=Polymer.dom(this.$.pane_container).firstElementChild;while(currentPane){currentPane.rebuild();currentPane=currentPane.nextElementSibling;}},get panesForTesting(){const panes=[];let currentChild=Polymer.dom(this.$.pane_container).firstElementChild;while(currentChild){panes.push(currentChild);currentChild=currentChild.nextElementSibling;}
8757return panes;}});'use strict';tr.exportTo('tr.ui.analysis',function(){Polymer({is:'tr-ui-a-container-memory-dump-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],set selection(selection){if(selection===undefined){this.currentSelection_=undefined;this.dumpsByContainerName_=undefined;this.updateContents_();return;}
8758selection.forEach(function(event){if(!(event instanceof tr.model.ContainerMemoryDump)){throw new Error('Memory dump sub-view only supports container memory dumps');}});this.currentSelection_=selection;this.dumpsByContainerName_=tr.b.groupIntoMap(this.currentSelection_.toArray(),dump=>dump.containerName);for(const dumps of this.dumpsByContainerName_.values()){dumps.sort((a,b)=>a.start-b.start);}
8759this.updateContents_();},get selection(){return this.currentSelection_;},get requiresTallView(){return true;},updateContents_(){Polymer.dom(this.$.content).textContent='';if(this.dumpsByContainerName_===undefined)return;const containerNames=Array.from(this.dumpsByContainerName_.keys());if(containerNames.length===0)return;if(containerNames.length>1){this.buildViewForMultipleContainerNames_();}else{this.buildViewForSingleContainerName_();}},buildViewForSingleContainerName_(){const containerMemoryDumps=tr.b.getFirstElement(this.dumpsByContainerName_.values());const dumpView=this.ownerDocument.createElement('tr-ui-a-stacked-pane-view');Polymer.dom(this.$.content).appendChild(dumpView);dumpView.setPaneBuilder(function(){const headerPane=document.createElement('tr-ui-a-memory-dump-header-pane');headerPane.containerMemoryDumps=containerMemoryDumps;return headerPane;});},buildViewForMultipleContainerNames_(){const ownerDocument=this.ownerDocument;const rows=[];for(const[containerName,dumps]of this.dumpsByContainerName_){rows.push({containerName,subRows:dumps,isExpanded:true,});}
8760rows.sort(function(a,b){return a.containerName.localeCompare(b.containerName);});const columns=[{title:'Dump',value(row){if(row.subRows===undefined){return this.singleDumpValue_(row);}
8761return this.groupedDumpValue_(row);},singleDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet([row]));Polymer.dom(linkEl).appendChild(tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument}));return linkEl;},groupedDumpValue_(row){const linkEl=ownerDocument.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(row.subRows));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.subRows.length+' memory dump'+
8762(row.subRows.length===1?'':'s')+' in '}));Polymer.dom(linkEl).appendChild(tr.ui.b.createSpan({ownerDocument,textContent:row.containerName,bold:true}));return linkEl;}}];const table=this.ownerDocument.createElement('tr-ui-b-table');table.tableColumns=columns;table.tableRows=rows;table.showHeader=false;table.rebuild();Polymer.dom(this.$.content).appendChild(table);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:false,title:'Global Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.GlobalMemoryDump,{multi:true,title:'Global Memory Dumps',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:false,title:'Process Memory Dump',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-container-memory-dump-sub-view',tr.model.ProcessMemoryDump,{multi:true,title:'Process Memory Dumps',});return{};});'use strict';(function(){const COUNTER_SAMPLE_TABLE_COLUMNS=[{title:'Counter',width:'150px',value(row){return row.counter;}},{title:'Series',width:'150px',value(row){return row.series;}},{title:'Time',width:'150px',value(row){return row.start;}},{title:'Value',width:'100%',value(row){return row.value;}}];Polymer({is:'tr-ui-a-counter-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;this.$.table.tableColumns=COUNTER_SAMPLE_TABLE_COLUMNS;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){this.$.table.tableRows=this.selection?this.getRows_(this.selection.toArray()):[];this.$.table.rebuild();},getRows_(samples){const samplesByCounter=tr.b.groupIntoMap(samples,sample=>sample.series.counter.guid);const rows=[];for(const counterSamples of samplesByCounter.values()){const samplesBySeries=tr.b.groupIntoMap(counterSamples,sample=>sample.series.guid);for(const seriesSamples of samplesBySeries.values()){const seriesRows=this.getRowsForSamples_(seriesSamples);seriesRows[0].counter=seriesSamples[0].series.counter.name;seriesRows[0].series=seriesSamples[0].series.name;if(seriesRows.length>1){seriesRows[0].subRows=seriesRows.slice(1);seriesRows[0].isExpanded=true;}
8763rows.push(seriesRows[0]);}}
8764return rows;},getRowsForSamples_(samples){return samples.map(function(sample){return{start:sample.timestamp,value:sample.value};});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:false,title:'Counter Sample',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-counter-sample-sub-view',tr.model.CounterSample,{multi:true,title:'Counter Samples',});})();'use strict';tr.exportTo('tr.ui.analysis',function(){function MultiEventSummary(title,events){this.title=title;this.duration_=undefined;this.selfTime_=undefined;this.events_=events;this.cpuTimesComputed_=false;this.cpuSelfTime_=undefined;this.cpuDuration_=undefined;this.maxDuration_=undefined;this.maxCpuDuration_=undefined;this.maxSelfTime_=undefined;this.maxCpuSelfTime_=undefined;this.untotallableArgs_=[];this.totalledArgs_=undefined;}
8765MultiEventSummary.prototype={set title(title){if(title==='Totals'){this.totalsRow=true;}
8766this.title_=title;},get title(){return this.title_;},get duration(){if(this.duration_===undefined){this.duration_=tr.b.math.Statistics.sum(this.events_,function(event){return event.duration;});}
8767return this.duration_;},get cpuSelfTime(){this.computeCpuTimesIfNeeded_();return this.cpuSelfTime_;},get cpuDuration(){this.computeCpuTimesIfNeeded_();return this.cpuDuration_;},computeCpuTimesIfNeeded_(){if(this.cpuTimesComputed_)return;this.cpuTimesComputed_=true;let cpuSelfTime=0;let cpuDuration=0;let hasCpuData=false;for(const event of this.events_){if(event.cpuDuration!==undefined){cpuDuration+=event.cpuDuration;hasCpuData=true;}
8768if(event.cpuSelfTime!==undefined){cpuSelfTime+=event.cpuSelfTime;hasCpuData=true;}}
8769if(hasCpuData){this.cpuDuration_=cpuDuration;this.cpuSelfTime_=cpuSelfTime;}},get selfTime(){if(this.selfTime_===undefined){this.selfTime_=0;for(const event of this.events_){if(event.selfTime!==undefined){this.selfTime_+=event.selfTime;}}}
8770return this.selfTime_;},get events(){return this.events_;},get numEvents(){return this.events_.length;},get numAlerts(){if(this.numAlerts_===undefined){this.numAlerts_=tr.b.math.Statistics.sum(this.events_,event=>event.associatedAlerts.length);}
8771return this.numAlerts_;},get untotallableArgs(){this.updateArgsIfNeeded_();return this.untotallableArgs_;},get totalledArgs(){this.updateArgsIfNeeded_();return this.totalledArgs_;},get maxDuration(){if(this.maxDuration_===undefined){this.maxDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.duration;});}
8772return this.maxDuration_;},get maxCpuDuration(){if(this.maxCpuDuration_===undefined){this.maxCpuDuration_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuDuration;});}
8773return this.maxCpuDuration_;},get maxSelfTime(){if(this.maxSelfTime_===undefined){this.maxSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.selfTime;});}
8774return this.maxSelfTime_;},get maxCpuSelfTime(){if(this.maxCpuSelfTime_===undefined){this.maxCpuSelfTime_=tr.b.math.Statistics.max(this.events_,function(event){return event.cpuSelfTime;});}
8775return this.maxCpuSelfTime_;},updateArgsIfNeeded_(){if(this.totalledArgs_!==undefined)return;const untotallableArgs={};const totalledArgs={};for(const event of this.events_){for(const argName in event.args){const argVal=event.args[argName];const type=typeof argVal;if(type!=='number'){untotallableArgs[argName]=true;delete totalledArgs[argName];continue;}
8776if(untotallableArgs[argName]){continue;}
8777if(totalledArgs[argName]===undefined){totalledArgs[argName]=0;}
8778totalledArgs[argName]+=argVal;}}
8779this.untotallableArgs_=Object.keys(untotallableArgs);this.totalledArgs_=totalledArgs;}};return{MultiEventSummary,};});'use strict';Polymer({is:'tr-ui-a-multi-event-summary-table',ready(){this.showTotals_=false;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;this.eventsByTitle_=undefined;},updateTableColumns_(rows,maxValues){let hasCpuData=false;let hasAlerts=false;rows.forEach(function(row){if(row.cpuDuration!==undefined){hasCpuData=true;}
8780if(row.cpuSelfTime!==undefined){hasCpuData=true;}
8781if(row.numAlerts){hasAlerts=true;}});const ownerDocument=this.ownerDocument;const columns=[];columns.push({title:'Name',value(row){if(row.title==='Totals')return'Totals';const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(row.events);},row.title);return linkEl;},width:'350px',cmp(rowA,rowB){return rowA.title.localeCompare(rowB.title);}});if(this.eventsHaveDuration_){columns.push({title:'Wall Duration',value(row){return tr.v.ui.createScalarSpan(row.duration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.duration-rowB.duration;}});}
8782if(this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Duration',value(row){return tr.v.ui.createScalarSpan(row.cpuDuration,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuDuration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuDuration-rowB.cpuDuration;}});}
8783if(this.eventsHaveSubRows_&&this.eventsHaveDuration_){columns.push({title:'Self time',value(row){return tr.v.ui.createScalarSpan(row.selfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.selfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.selfTime-rowB.selfTime;}});}
8784if(this.eventsHaveSubRows_&&this.eventsHaveDuration_&&hasCpuData){columns.push({title:'CPU Self Time',value(row){return tr.v.ui.createScalarSpan(row.cpuSelfTime,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.cpuSelfTime),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){return rowA.cpuSelfTime-rowB.cpuSelfTime;}});}
8785if(this.eventsHaveDuration_){columns.push({title:'Average '+(hasCpuData?'CPU':'Wall')+' Duration',value(row){const totalDuration=hasCpuData?row.cpuDuration:row.duration;return tr.v.ui.createScalarSpan(totalDuration/row.numEvents,{unit:tr.b.Unit.byName.timeDurationInMs,customContextRange:row.totalsRow?undefined:tr.b.math.Range.fromExplicitRange(0,maxValues.duration),ownerDocument,});},width:'<upated further down>',cmp(rowA,rowB){if(hasCpuData){return rowA.cpuDuration/rowA.numEvents-
8786rowB.cpuDuration/rowB.numEvents;}
8787return rowA.duration/rowA.numEvents-
8788rowB.duration/rowB.numEvents;}});}
8789columns.push({title:'Occurrences',value(row){return row.numEvents;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numEvents-rowB.numEvents;}});let alertsColumnIndex;if(hasAlerts){columns.push({title:'Num Alerts',value(row){return row.numAlerts;},width:'<upated further down>',cmp(rowA,rowB){return rowA.numAlerts-rowB.numAlerts;}});alertsColumnIndex=columns.length-1;}
8790let colWidthPercentage;if(columns.length===1){colWidthPercentage='100%';}else{colWidthPercentage=(100/(columns.length-1)).toFixed(3)+'%';}
8791for(let i=1;i<columns.length;i++){columns[i].width=colWidthPercentage;}
8792this.$.table.tableColumns=columns;if(hasAlerts){this.$.table.sortColumnIndex=alertsColumnIndex;this.$.table.sortDescending=true;}},configure(config){if(config.eventsByTitle===undefined){throw new Error('Required: eventsByTitle');}
8793if(config.showTotals!==undefined){this.showTotals_=config.showTotals;}else{this.showTotals_=true;}
8794if(config.eventsHaveDuration!==undefined){this.eventsHaveDuration_=config.eventsHaveDuration;}else{this.eventsHaveDuration_=true;}
8795if(config.eventsHaveSubRows!==undefined){this.eventsHaveSubRows_=config.eventsHaveSubRows;}else{this.eventsHaveSubRows_=true;}
8796this.eventsByTitle_=config.eventsByTitle;this.updateContents_();},get showTotals(){return this.showTotals_;},set showTotals(showTotals){this.showTotals_=showTotals;this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;this.updateContents_();},get eventsByTitle(){return this.eventsByTitle_;},set eventsByTitle(eventsByTitle){this.eventsByTitle_=eventsByTitle;this.updateContents_();},get selectionBounds(){return this.selectionBounds_;},set selectionBounds(selectionBounds){this.selectionBounds_=selectionBounds;this.updateContents_();},updateContents_(){let eventsByTitle;if(this.eventsByTitle_!==undefined){eventsByTitle=this.eventsByTitle_;}else{eventsByTitle=[];}
8797const allEvents=new tr.model.EventSet();const rows=[];for(const[title,eventsOfSingleTitle]of Object.entries(eventsByTitle)){for(const event of eventsOfSingleTitle)allEvents.push(event);const row=new tr.ui.analysis.MultiEventSummary(title,eventsOfSingleTitle);rows.push(row);}
8798this.updateTableColumns_(rows);this.$.table.tableRows=rows;const maxValues={duration:undefined,selfTime:undefined,cpuSelfTime:undefined,cpuDuration:undefined};if(this.eventsHaveDuration){for(const column in maxValues){maxValues[column]=tr.b.math.Statistics.max(rows,function(event){return event[column];});}}
8799const footerRows=[];if(this.showTotals_){const multiEventSummary=new tr.ui.analysis.MultiEventSummary('Totals',allEvents);footerRows.push(multiEventSummary);}
8800this.updateTableColumns_(rows,maxValues);this.$.table.tableRows=rows;this.$.table.footerRows=footerRows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-selection-summary-table',created(){this.selection_=new tr.b.math.Range();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{title:'Name',value(row){return row.title;},width:'350px'},{title:'Value',width:'100%',value(row){return row.value;}}];},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},updateContents_(){const selection=this.selection_;const rows=[];let hasRange;if(this.selection_&&(!selection.bounds.isEmpty)){hasRange=true;}else{hasRange=false;}
8801rows.push({title:'Selection start',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.min,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument}):'<empty>'});rows.push({title:'Selection extent',value:hasRange?tr.v.ui.createScalarSpan(selection.bounds.range,{unit:tr.b.Unit.byName.timeDurationInMs,ownerDocument:this.ownerDocument}):'<empty>'});this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-b-radio-picker',created(){this.needsInit_=true;this.settingsKey_=undefined;this.isReady_=false;this.radioButtons_=undefined;this.selectedKey_=undefined;},ready(){this.isReady_=true;this.maybeInit_();this.maybeRenderRadioButtons_();},get vertical(){return this.getAttribute('vertical');},set vertical(vertical){if(vertical){this.setAttribute('vertical',true);}else{this.removeAttribute('vertical');}},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){if(!this.needsInit_){throw new Error('Already initialized.');}
8802this.settingsKey_=settingsKey;this.maybeInit_();},maybeInit_(){if(!this.needsInit_)return;if(this.settingsKey_===undefined)return;this.needsInit_=false;this.select(tr.b.Settings.get(this.settingsKey_));},set items(items){this.radioButtons_={};items.forEach(function(e){if(e.key in this.radioButtons_){throw new Error(e.key+' already exists');}
8803const radioButton=document.createElement('div');const input=document.createElement('input');const label=document.createElement('label');input.type='radio';input.id=e.label;input.addEventListener('click',function(){this.select(e.key);}.bind(this));Polymer.dom(label).innerHTML=e.label;label.htmlFor=e.label;label.style.display='inline';Polymer.dom(radioButton).appendChild(input);Polymer.dom(radioButton).appendChild(label);this.radioButtons_[e.key]=input;}.bind(this));this.maybeInit_();this.maybeRenderRadioButtons_();},maybeRenderRadioButtons_(){if(!this.isReady_)return;if(this.radioButtons_===undefined)return;for(const key in this.radioButtons_){Polymer.dom(this.$.container).appendChild(this.radioButtons_[key].parentElement);}
8804if(this.selectedKey_!==undefined){this.select(this.selectedKey_);}},select(key){if(key===undefined||key===this.selectedKey_){return;}
8805if(this.radioButtons_===undefined){this.selectedKey_=key;return;}
8806if(!(key in this.radioButtons_)){throw new Error(key+' does not exists');}
8807if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=false;}
8808this.selectedKey_=key;tr.b.Settings.set(this.settingsKey_,this.selectedKey_);if(this.selectedKey_!==undefined){this.radioButtons_[this.selectedKey_].checked=true;}
8809this.dispatchEvent(new tr.b.Event('change',false));},get selectedKey(){return this.selectedKey_;},});'use strict';tr.exportTo('tr.ui.b',function(){const ColumnChart=tr.ui.b.define('column-chart',tr.ui.b.ChartBase2DBrushX);ColumnChart.prototype={__proto__:tr.ui.b.ChartBase2DBrushX.prototype,decorate(){super.decorate();this.xCushion_=1;this.isStacked_=false;this.enableHoverBox=true;},set isStacked(stacked){this.isStacked_=true;this.updateContents_();},get isStacked(){return this.isStacked_;},get defaultGraphHeight(){return 100;},get defaultGraphWidth(){return 10*this.data_.length;},updateScales_(){if(this.data_.length===0)return;let xDifferences=0;let currentX=undefined;let previousX=undefined;this.data_.forEach(function(datum,index){previousX=currentX;currentX=this.getXForDatum_(datum,index);if(previousX!==undefined){xDifferences+=currentX-previousX;}},this);this.xScale_.range([0,this.graphWidth]);const domain=d3.extent(this.data_,this.getXForDatum_.bind(this));if(this.data_.length>1){this.xCushion_=xDifferences/(this.data_.length-1);}
8810this.xScale_.domain([domain[0],domain[1]+this.xCushion_]);this.yScale_.range([this.graphHeight,0]);this.yScale_.domain(this.getYScaleDomain_(this.dataRange.min,this.dataRange.max));},updateDataRange_(){if(!this.isStacked){super.updateDataRange_();return;}
8811this.autoDataRange_.reset();this.autoDataRange_.addValue(0);for(const datum of this.data_){let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined){continue;}
8812sum+=datum[key];}
8813this.autoDataRange_.addValue(sum);}},getStackedRectsForDatum_(datum,index){const stacks=[];let bottom=this.yScale_.range()[0];let sum=0;for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;}
8814sum+=this.dataRange.clamp(datum[key]);const heightPx=bottom-this.yScale_(sum);bottom-=heightPx;stacks.push({key,value:datum[key],color:this.getDataSeries(key).color,heightPx,topPx:bottom,underflow:sum<this.dataRange.min,overflow:sum>this.dataRange.max,});}
8815return stacks;},getRectsForDatum_(datum,index){if(this.isStacked){return this.getStackedRectsForDatum_(datum,index);}
8816const stacks=[];for(const[key,series]of this.seriesByKey_){if(datum[key]===undefined||!this.isSeriesEnabled(key)){continue;}
8817const clampedValue=this.dataRange.clamp(datum[key]);const topPx=this.yScale_(Math.max(clampedValue,this.getYScaleMin_()));stacks.push({key,value:datum[key],topPx,heightPx:this.yScale_.range()[0]-topPx,color:this.getDataSeries(key).color,underflow:datum[key]<this.dataRange.min,overflow:datum[key]>this.dataRange.max,});}
8818stacks.sort(function(a,b){return b.topPx-a.topPx;});return stacks;},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width+5;keyHeightPx=16;}
8819const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width+5;const valueHeightPx=16;const hoverLeftPx=rect.leftPx+(rect.widthPx/2);chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',rect.topPx).attr('width',Math.max(keyWidthPx,valueWidthPx)).attr('height',keyHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx-3).text(rect.key);}
8820chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',rect.topPx+keyHeightPx+valueHeightPx-3).text(rect.value);},clearHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseleave');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);d3.select(this.chartAreaElement).selectAll('.hover').remove();},drawRect_(rect,sel){sel=sel.data([rect]);sel.enter().append('rect').attr('fill',rect.color).attr('x',rect.leftPx).attr('y',rect.topPx).attr('width',rect.widthPx).attr('height',rect.heightPx).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawUnderflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',this.graphHeight).on('mouseenter',this.drawHoverValueBox_.bind(this,rect)).on('mouseleave',this.clearHoverValueBox_.bind(this,rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',rect.leftPx+(rect.widthPx/2)).attr('y',0);sel.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const chartAreaSel=d3.select(this.chartAreaElement);const seriesKeys=[...this.seriesByKey_.keys()];const rectsSel=dataSel.selectAll('path');this.data_.forEach(function(datum,index){const currentX=this.getXForDatum_(datum,index);let width=undefined;if(index<(this.data_.length-1)){const nextX=this.getXForDatum_(this.data_[index+1],index+1);width=nextX-currentX;}else{width=this.xCushion_;}
8821for(const rect of this.getRectsForDatum_(datum,index)){rect.datum=datum;rect.index=index;rect.leftPx=this.xScale_(currentX);rect.rightPx=this.xScale_(currentX+width);rect.widthPx=rect.rightPx-rect.leftPx;this.drawRect_(rect,rectsSel);if(rect.underflow){this.drawUnderflow_(rect,rectsSel);}
8822if(rect.overflow){this.drawOverflow_(rect,rectsSel);}}},this);}};return{ColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const MIN_GUIDELINE_HEIGHT_PX=3;const CHECKBOX_WIDTH_PX=18;const NameColumnChart=tr.ui.b.define('name-column-chart',tr.ui.b.ColumnChart);NameColumnChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},updateMargins_(){super.updateMargins_();let xAxisTickOverhangPx=0;for(let i=0;i<this.data_.length;++i){const datum=this.data_[i];xAxisTickOverhangPx=Math.max(xAxisTickOverhangPx,this.xScale_(i)+tr.ui.b.getSVGTextSize(this,datum.x).width-
8823this.graphWidth);}
8824this.margin.right=Math.max(this.margin.right,xAxisTickOverhangPx);},getXForDatum_(datum,index){return index;},get xAxisTickOffset(){return 0.5;},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;const nameTexts=xAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('transform',(d,index)=>'translate(0, '+
8825this.textHeightPx_*(this.data_.length-index)+')').attr('x',(d,index)=>this.xScale_(index)).attr('y',d=>this.graphHeight).text(d=>d.x);nameTexts.exit().remove();const guideLines=xAxis.selectAll('line.guide').data(this.data_);guideLines.enter().append('line').attr('x1',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('x2',(d,index)=>this.xScale_(index+this.xAxisTickOffset)).attr('y1',()=>this.graphHeight).attr('y2',(d,index)=>this.graphHeight+Math.max(MIN_GUIDELINE_HEIGHT_PX,(this.textHeightPx_*(this.data_.length-index-1))));}};return{NameColumnChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const LineChart=tr.ui.b.LineChart;const NameLineChart=tr.ui.b.define('name-line-chart',LineChart);NameLineChart.prototype={__proto__:LineChart.prototype,getXForDatum_(datum,index){return index;},get xAxisHeight(){return 5+(this.textHeightPx_*this.data_.length);},get xAxisTickOffset(){return 0;},updateMargins_(){tr.ui.b.NameColumnChart.prototype.updateMargins_.call(this);},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length-1)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();}};return{NameLineChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BoxChart=tr.ui.b.define('box-chart',tr.ui.b.NameLineChart);BoxChart.prototype={__proto__:tr.ui.b.NameLineChart.prototype,get hideLegend(){return true;},updateDataRange_(){if(this.overrideDataRange_!==undefined){return;}
8826this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateScales_(){super.updateScales_();this.xScale_.domain([0,this.data_.length]);},get xAxisTickOffset(){return 0.5;},updateDataRange_(){if(this.overrideDataRange_!==undefined)return;this.autoDataRange_.reset();for(const datum of this.data_){this.autoDataRange_.addValue(datum.percentile_0);this.autoDataRange_.addValue(datum.percentile_100);}},updateXAxis_(xAxis){xAxis.selectAll('*').remove();if(this.hideXAxis)return;tr.ui.b.NameColumnChart.prototype.updateXAxis_.call(this,xAxis);const baseline=xAxis.selectAll('path').data([this]);baseline.enter().append('line').attr('stroke','black').attr('x1',this.xScale_(0)).attr('x2',this.xScale_(this.data_.length)).attr('y1',this.graphHeight).attr('y2',this.graphHeight);baseline.exit().remove();},updateDataContents_(dataSel){dataSel.selectAll('*').remove();const boxesSel=dataSel.selectAll('path');for(let index=0;index<this.data_.length;++index){const datum=this.data_[index];const color=datum.color||'black';let sel=boxesSel.data([datum]);sel.enter().append('rect').attr('fill',color).attr('x',this.xScale_(index+0.2)).attr('width',this.xScale_(index+0.8)-this.xScale_(index+0.2)).attr('y',this.yScale_(datum.percentile_75)).attr('height',this.yScale_(datum.percentile_25)-
8827this.yScale_(datum.percentile_75));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index)).attr('x2',this.xScale_(index+1)).attr('y1',this.yScale_(datum.percentile_50)).attr('y2',this.yScale_(datum.percentile_50));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_0)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.4)).attr('x2',this.xScale_(index+0.6)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_100));sel.exit().remove();sel=boxesSel.data([datum]);sel.enter().append('line').attr('stroke',color).attr('x1',this.xScale_(index+0.5)).attr('x2',this.xScale_(index+0.5)).attr('y1',this.yScale_(datum.percentile_100)).attr('y2',this.yScale_(datum.percentile_0));sel.exit().remove();}}};return{BoxChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const BarChart=tr.ui.b.define('bar-chart',tr.ui.b.ColumnChart);BarChart.prototype={__proto__:tr.ui.b.ColumnChart.prototype,decorate(){super.decorate();this.verticalScale_=undefined;this.horizontalScale_=undefined;},updateScales_(){super.updateScales_();this.yScale_.range([this.graphWidth,0]);this.xScale_.range([0,this.graphHeight]);this.verticalScale_=this.isYLogScale_?d3.scale.log(10):d3.scale.linear();this.verticalScale_.domain(this.xScale_.domain());this.verticalScale_.range([this.graphHeight,0]);this.horizontalScale_=d3.scale.linear();this.horizontalScale_.domain(this.yScale_.domain());this.horizontalScale_.range([0,this.graphWidth]);},get defaultGraphHeight(){return Math.max(20,10*this.data_.length);},get defaultGraphWidth(){return 100;},get barHeight(){return this.graphHeight/this.data.length;},drawBrush_(brushRectsSel){brushRectsSel.attr('x',0).attr('width',this.graphWidth).attr('y',d=>this.verticalScale_(d.max)).attr('height',d=>this.verticalScale_(d.min)-this.verticalScale_(d.max));},getDataPointAtChartPoint_(chartPoint){const flippedPoint={x:this.graphHeight-chartPoint.y,y:this.graphWidth-chartPoint.x};return super.getDataPointAtChartPoint_(flippedPoint);},drawXAxis_(xAxis){xAxis.attr('transform','translate(0,'+this.graphHeight+')').call(d3.svg.axis().scale(this.horizontalScale_).orient('bottom'));},get yAxisWidth(){return this.computeScaleTickWidth_(this.verticalScale_);},drawYAxis_(yAxis){const axisModifier=d3.svg.axis().scale(this.verticalScale_).orient('left');yAxis.call(axisModifier);},drawHoverValueBox_(rect){const rectHoverEvent=new tr.b.Event('rect-mouseenter');rectHoverEvent.rect=rect;this.dispatchEvent(rectHoverEvent);if(!this.enableHoverBox)return;const seriesKeys=[...this.seriesByKey_.keys()];const chartAreaSel=d3.select(this.chartAreaElement);chartAreaSel.selectAll('.hover').remove();let keyWidthPx=0;let keyHeightPx=0;let xWidthPx=0;let xHeightPx=0;if(seriesKeys.length>1){keyWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.key).width;keyHeightPx=this.textHeightPx_;}
8828if(this.data.length>1){xWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,''+rect.datum.x).width;xHeightPx=this.textHeightPx_;}
8829const valueWidthPx=tr.ui.b.getSVGTextSize(this.chartAreaElement,rect.value).width;const valueHeightPx=this.textHeightPx_;const hoverWidthPx=Math.min(Math.max(keyWidthPx,xWidthPx,valueWidthPx)+5,Math.max(50,rect.widthPx));const hoverTopPx=rect.topPx+(rect.heightPx/2);const hoverLeftPx=rect.leftPx+rect.widthPx-hoverWidthPx;chartAreaSel.append('rect').attr('class','hover').attr('fill','white').attr('x',hoverLeftPx).attr('y',hoverTopPx).attr('width',hoverWidthPx).attr('height',keyHeightPx+xHeightPx+valueHeightPx);if(seriesKeys.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx-3).text(rect.key);}
8830if(this.data.length>1){chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+keyHeightPx+valueHeightPx-3).text(''+rect.datum.x);}
8831chartAreaSel.append('text').attr('class','hover').attr('fill',rect.color).attr('x',hoverLeftPx+2).attr('y',hoverTopPx+xHeightPx+keyHeightPx+valueHeightPx-3).text(rect.value);},flipRect_(rect){return{datum:rect.datum,index:rect.index,key:rect.key,value:rect.value,color:rect.color,topPx:this.graphHeight-rect.leftPx-rect.widthPx,leftPx:this.graphWidth-rect.topPx-rect.heightPx,widthPx:rect.heightPx,heightPx:rect.widthPx,underflow:rect.underflow,overflow:rect.overflow,};},drawRect_(rect,sel){super.drawRect_(this.flipRect_(rect),sel);},drawUnderflow_(rect,rectsSel){let sel=rectsSel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',0).attr('y',this.graphHeight-rect.leftPx+
88323+(rect.widthPx/2));sel.exit().remove();sel=rectsSel.data([rect]);sel.enter().append('rect').attr('fill','rgba(0, 0, 0, 0)').attr('x',0).attr('y',this.graphHeight-rect.leftPx-rect.widthPx).attr('width',10).attr('height',rect.widthPx).on('mouseenter',()=>this.drawHoverValueBox_(this.flipRect_(rect))).on('mouseleave',()=>this.clearHoverValueBox_(rect));sel.exit().remove();},drawOverflow_(rect,sel){sel=sel.data([rect]);sel.enter().append('text').text('*').attr('fill',rect.color).attr('x',this.graphWidth).attr('y',this.graphHeight-rect.leftPx+
88333+(rect.widthPx/2));sel.exit().remove();}};return{BarChart,};});'use strict';tr.exportTo('tr.ui.b',function(){const NameBarChart=tr.ui.b.define('name-bar-chart',tr.ui.b.BarChart);const Y_AXIS_PADDING=2;NameBarChart.prototype={__proto__:tr.ui.b.BarChart.prototype,getDataPointAtChartPoint_(chartPoint){return{x:tr.ui.b.BarChart.prototype.getDataPointAtChartPoint_.call(this,chartPoint).x,y:parseInt(Math.floor((this.graphHeight-chartPoint.y)/this.barHeight))};},getXForDatum_(datum,index){return index;},get yAxisWidth(){if(this.data.length===0)return 0;return Y_AXIS_PADDING+tr.b.math.Statistics.max(this.data_,d=>tr.ui.b.getSVGTextSize(this,d.x).width);},get defaultGraphHeight(){return(3+this.textHeightPx_)*this.data.length;},updateYAxis_(yAxis){if(tr.ui.b.getSVGTextSize(this,'test').width===0){tr.b.requestAnimationFrame(()=>this.updateYAxis_(yAxis));return;}
8834yAxis.selectAll('*').remove();const nameTexts=yAxis.selectAll('text').data(this.data_);nameTexts.enter().append('text').attr('x',d=>-(tr.ui.b.getSVGTextSize(this,d.x).width+Y_AXIS_PADDING)).attr('y',(d,index)=>this.verticalScale_(index)).text(d=>d.x);nameTexts.exit().remove();let previousTop=undefined;for(const text of nameTexts[0]){const bbox=text.getBBox();if((previousTop===undefined)||(previousTop>(bbox.y+bbox.height))){previousTop=bbox.y;}else{text.style.opacity=0;}}}};return{NameBarChart,};});'use strict';const DEFAULT_COLOR_SCHEME=new tr.b.SinebowColorGenerator();class BreakdownTableSummaryRow{constructor(displayElement,histogramNames){this.displayElement_=displayElement;this.histogramNames_=histogramNames;this.keySpan_=undefined;}
8835get numberValue(){return undefined;}
8836get keySpan(){if(this.keySpan_===undefined){if(this.histogramNames_.length){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent(this.histogramNames_,'Select All');}else{this.keySpan_='Sum';}}
8837return this.keySpan_;}
8838get displayElement(){return this.displayElement_;}
8839get stringPercent(){return'100%';}}
8840class BreakdownTableRow{constructor(name,value,color){this.name_=name;this.value=value;if(!this.isHistogram&&typeof value!=='number'){throw new Error('unsupported value '+value);}
8841this.tableSum_=undefined;this.keySpan_=undefined;this.color_=color;const hsl=this.color.toHSL();hsl.l*=0.85;this.highlightedColor_=tr.b.Color.fromHSL(hsl);}
8842get isHistogram(){return this.value instanceof tr.v.Histogram;}
8843get name(){return this.name_;}
8844get color(){return this.color_;}
8845get highlightedColor(){return this.highlightedColor_;}
8846get keySpan(){if(this.keySpan_===undefined){if(this.isHistogram){this.keySpan_=document.createElement('tr-ui-a-analysis-link');this.keySpan_.setSelectionAndContent([this.value.name],this.name);this.keySpan_.color=this.color;this.keySpan_.title=this.value.name;}else{this.keySpan_=document.createElement('span');this.keySpan_.innerText=this.name;this.keySpan_.style.color=this.color;}}
8847return this.keySpan_;}
8848get numberValue(){if(this.isHistogram)return this.value.sum;if(!isNaN(this.value)&&(this.value!==Infinity)&&(this.value!==-Infinity)&&(this.value>0))return this.value;return undefined;}
8849get stringValue(){if(this.numberValue===undefined)return this.value.toString();return this.numberValue.toString();}
8850set tableSum(s){this.tableSum_=s;}
8851get stringPercent(){if(this.tableSum_===undefined)return'';const num=this.numberValue;if(num===undefined)return'';return Math.floor(num*100.0/this.tableSum_)+'%';}
8852get displayElement(){if(this.numberValue===undefined)return this.value.toString();if(this.isHistogram){return tr.v.ui.createScalarSpan(this.numberValue,{unit:this.value.unit,});}
8853return this.numberValue;}
8854compare(other){if(this.numberValue===undefined){if(other.numberValue===undefined){return this.name.localeCompare(other.name);}
8855return 1;}
8856if(other.numberValue===undefined){return-1;}
8857if(this.numberValue===other.numberValue){return this.name.localeCompare(other.name);}
8858return other.numberValue-this.numberValue;}}
8859Polymer({is:'tr-v-ui-breakdown-span',created(){this.diagnostic_=undefined;this.chart_=new tr.ui.b.ColumnChart();this.chart_.graphHeight=130;this.chart_.isStacked=true;this.chart_.hideXAxis=true;this.chart_.hideLegend=true;this.chart_.enableHoverBox=false;this.chart_.addEventListener('rect-mouseenter',event=>this.onRectMouseEnter_(event));this.chart_.addEventListener('rect-mouseleave',event=>this.onRectMouseLeave_(event));},onRectMouseEnter_(event){for(const row of this.$.table.tableRows){if(row.name===event.rect.key){row.keySpan.parentNode.nextSibling.style.background=event.rect.color;row.keySpan.scrollIntoViewIfNeeded();}else{row.keySpan.parentNode.nextSibling.style.background='';}}},onRectMouseLeave_(event){for(const row of this.$.table.tableRows){row.keySpan.parentNode.nextSibling.style.background='';}},ready(){Polymer.dom(this.$.container).appendChild(this.chart_);this.$.table.zebra=true;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row.keySpan,},{value:row=>row.displayElement,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},{value:row=>row.stringPercent,align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,},];},attached(){if(this.diagnostic_)this.updateContents_();},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;if(this.isAttached)this.updateContents_();},updateContents_(){this.$.container.style.display='none';this.$.table.style.display='none';this.$.empty.style.display='block';if(!this.diagnostic_){this.chart_.data=[];return;}
8860let colorScheme=undefined;if(this.diagnostic.colorScheme===tr.v.d.COLOR_SCHEME_CHROME_USER_FRIENDLY_CATEGORY_DRIVER){colorScheme=(name)=>{let cat=name.split(' ');cat=cat[cat.length-1];return tr.e.chrome.ChromeUserFriendlyCategoryDriver.getColor(cat);};}else if(this.diagnostic.colorScheme!==undefined){colorScheme=(name)=>tr.b.FixedColorSchemeRegistry.lookUp(this.diagnostic.colorScheme).getColor(name);}else{colorScheme=(name)=>DEFAULT_COLOR_SCHEME.colorForKey(name);}
8861const tableRows=[];let tableSum=0;const histogramNames=[];let unit=undefined;for(const[name,value]of this.diagnostic){const row=new BreakdownTableRow(name,value,colorScheme(name));tableRows.push(row);if(row.numberValue!==undefined)tableSum+=row.numberValue;if(row.isHistogram){histogramNames.push(value.name);if(unit===undefined)unit=value.unit;}}
8862tableRows.sort((x,y)=>x.compare(y));if(tableSum>0){let summaryDisplayElement=tableSum;if(unit!==undefined){summaryDisplayElement=unit.format(tableSum);}
8863tableRows.unshift(new BreakdownTableSummaryRow(summaryDisplayElement,histogramNames));}
8864const chartData={x:0};for(const row of tableRows){if(row.numberValue===undefined)continue;row.tableSum=tableSum;chartData[row.name]=row.numberValue;const dataSeries=this.chart_.getDataSeries(row.name);dataSeries.color=row.color;dataSeries.highlightedColor=row.highlightedColor;}
8865if(tableRows.length>0){this.$.table.style.display='block';this.$.empty.style.display='none';this.$.table.tableRows=tableRows;this.$.table.rebuild();}
8866if(Object.keys(chartData).length>1){this.$.container.style.display='block';this.$.empty.style.display='none';this.chart_.data=[chartData];}}});'use strict';Polymer({is:'tr-v-ui-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8867const rows=[];if(this.diagnostic.displayMasterName){rows.push(['primary',this.diagnostic.displayMasterName]);}
8868if(this.diagnostic.buildbotMasterName){rows.push(['primary',this.diagnostic.buildbotMasterName]);}
8869if(this.diagnostic.displayBotName){rows.push(['bot',this.diagnostic.displayBotName]);}
8870if(this.diagnostic.buildbotName){rows.push(['bot',this.diagnostic.buildbotName]);}
8871if(this.diagnostic.buildNumber){rows.push(['build number',this.diagnostic.buildNumber]);}
8872if(this.diagnostic.logUri){const anchor=document.createElement('a');anchor.href=this.diagnostic.logUri;anchor.innerText=this.diagnostic.logUri;rows.push(['log',anchor]);}
8873this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-collected-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const[canonicalUrl,events]of this.diagnostic){const link=document.createElement('a');if(events.length===1){const event=tr.b.getOnlyElement(events);link.textContent=event.title+' '+
8874tr.b.Unit.byName.timeDurationInMs.format(event.duration);}else{link.textContent=events.length+' events';}
8875link.href=canonicalUrl;Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';Polymer({is:'tr-v-ui-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row[0];},},{value(row){return row[1];}}];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8876const rows=[];if(this.diagnostic.chromeVersion){rows.push(['chrome version',this.diagnostic.chromeVersion]);}
8877if(this.diagnostic.osName){rows.push(['OS name',this.diagnostic.osName]);}
8878if(this.diagnostic.osVersion){rows.push(['OS version',this.diagnostic.osVersion]);}
8879if(this.diagnostic.gpuInfo){rows.push(['GPU',JSON.stringify(this.diagnostic.gpuInfo)]);}
8880if(this.diagnostic.arch){rows.push(['arch',this.diagnostic.arch]);}
8881if(this.diagnostic.ram){rows.push(['ram',tr.b.Unit.byName.sizeInBytes.format(this.diagnostic.ram)]);}
8882this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-generic-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.generic.object=undefined;return;}
8883this.$.generic.object=this.diagnostic.value;}});'use strict';Polymer({is:'tr-v-ui-merged-buildbot-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8884const rows=[];if(this.diagnostic.displayMasterNames.size){rows.push(['primarys',Array.from(this.diagnostic.displayMasterNames).join(', ')]);}
8885if(this.diagnostic.displayBotNames.size){rows.push(['bots',Array.from(this.diagnostic.displayBotNames).join(', ')]);}
8886if(this.diagnostic.buildNumbers.size){rows.push(['builds',Array.from(this.diagnostic.buildNumbers).join(', ')]);}
8887for(const logUri of this.diagnostic.logUris){const anchor=document.createElement('a');anchor.href=logUri;anchor.innerText=logUri;rows.push(['log',anchor]);}
8888this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-device-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8889const rows=[];if(this.diagnostic.chromeVersions.size){rows.push(['chrome versions',Array.from(this.diagnostic.chromeVersions).join(', ')]);}
8890if(this.diagnostic.osNames.size){rows.push(['os names',Array.from(this.diagnostic.osNames).join(', ')]);}
8891if(this.diagnostic.osVersions.size){rows.push(['os versions',Array.from(this.diagnostic.osVersions).join(', ')]);}
8892this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const valueSpan=document.createElement('span');for(const revs of revisions){const anchor=document.createElement('a');anchor.innerText=revs[0];if(revs.length===1){anchor.href=host+'+/'+revs[0];}else{anchor.innerText+='..'+revs[1];anchor.href=host+'+log/'+revs[0]+'..'+revs[1];}
8893anchor.addEventListener('click',event=>{event.stopPropagation();});valueSpan.appendChild(anchor);valueSpan.appendChild(document.createTextNode(' '));}
8894rows.push([label,valueSpan]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8895const rows=[];if(this.diagnostic.chromiumCommitPosition){const positions=Array.from(this.diagnostic.chromiumCommitPositions);positions.sort((x,y)=>x-y);rows.push(['chromiumCommitPositions',positions.join(', ')]);}
8896if(this.diagnostic.v8CommitPosition){const positions=Array.from(this.diagnostic.v8CommitPositions);rows.push(['v8CommitPositions',positions.join(', ')]);}
8897this.buildRow_(rows,'chromium',this.diagnostic.chromium,tr.v.ui.CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,tr.v.ui.V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,tr.v.ui.CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,tr.v.ui.ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,tr.v.ui.SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,tr.v.ui.WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-merged-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},onShow_(){this.$.show.style.display='none';this.$.hide.style.display='block';this.$.table.style.display='table';},onHide_(){this.$.show.style.display='block';this.$.hide.style.display='none';this.$.table.style.display='none';},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8898const rows=[];if(this.diagnostic.benchmarkNames.size){rows.push(['benchmark names',Array.from(this.diagnostic.benchmarkNames).join(', ')]);}
8899if(this.diagnostic.benchmarkStarts.length){rows.push(['benchmark starts',this.diagnostic.benchmarkStartStrings.join(', ')]);}
8900if(this.diagnostic.storyDisplayNames.size){rows.push(['stories',Array.from(this.diagnostic.storyDisplayNames).join(', ')]);}
8901if(this.diagnostic.storysetRepeatCounters.size){rows.push(['storyset repeats',Array.from(this.diagnostic.storysetRepeatCounters).join(', ')]);}
8902if(this.diagnostic.labels.size){rows.push(['label',Array.from(this.diagnostic.labels).join(', ')]);}
8903if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=Array.from(value);}
8904gov.object=obj;rows.push(['grouping keys',gov]);}
8905this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-related-event-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const events=new tr.model.EventSet([...this.diagnostic]);const link=document.createElement('tr-ui-a-analysis-link');let label=events.length+' events';if(events.length===1){const event=tr.b.getOnlyElement(events);label=event.title+' ';label+=tr.b.Unit.byName.timeDurationInMs.format(event.duration);}
8906link.setSelectionAndContent(events,label);Polymer.dom(this).appendChild(link);}});'use strict';Polymer({is:'tr-v-ui-related-histogram-map-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';const rows=[];const histogramNames=new Set();for(const[name,hist]of this.diagnostic){histogramNames.add(hist.name);}
8907if(histogramNames.size>1){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(Array.from(histogramNames),'Select All');rows.push([link,'']);}
8908for(const[name,hist]of this.diagnostic){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent([hist.name],name);const scalarSpan=tr.v.ui.createScalarSpan(hist);rows.push([link,scalarSpan]);}
8909this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-related-histogram-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},addLink_(selection,content){const link=document.createElement('tr-ui-a-analysis-link');link.setSelectionAndContent(selection,content);Polymer.dom(this).appendChild(link);Polymer.dom(this).appendChild(document.createElement('br'));},updateContents_(){Polymer.dom(this).textContent='';const histogramNames=new Set();for(const hist of this.diagnostic){histogramNames.add(hist.name);}
8910if(histogramNames.size>1){this.addLink_(Array.from(histogramNames),'Select All');}
8911for(const hist of this.diagnostic){this.addLink_([hist.name],hist.name);}}});'use strict';tr.exportTo('tr.v.ui',function(){const CHROMIUM_REVISION_HOST='https://chromium.googlesource.com/chromium/src/';const V8_REVISION_HOST='https://chromium.googlesource.com/v8/v8.git/';const CATAPULT_REVISION_HOST='https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/';const ANGLE_REVISION_HOST='https://chromium.googlesource.com/angle/angle/';const SKIA_REVISION_HOST='https://chromium.googlesource.com/skia/';const WEBRTC_REVISION_HOST='https://chromium.googlesource.com/external/webrtc/';Polymer({is:'tr-v-ui-revision-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},buildRow_(rows,label,revisions,host){if(revisions.length===0)return;const anchor=document.createElement('a');anchor.innerText=revisions[0];if(revisions.length===1){anchor.href=host+'+/'+revisions[0];}else{anchor.innerText+='..'+revisions[1];anchor.href=host+'+log/'+revisions[0]+'..'+revisions[1];}
8912anchor.addEventListener('click',event=>{event.stopPropagation();});rows.push([label,anchor]);},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8913const rows=[];if(this.diagnostic.chromiumCommitPosition){rows.push(['chromiumCommitPosition',this.diagnostic.chromiumCommitPosition]);}
8914if(this.diagnostic.v8CommitPosition){rows.push(['v8CommitPosition',this.diagnostic.v8CommitPosition]);}
8915this.buildRow_(rows,'chromium',this.diagnostic.chromium,CHROMIUM_REVISION_HOST);this.buildRow_(rows,'v8',this.diagnostic.v8,V8_REVISION_HOST);this.buildRow_(rows,'catapult',this.diagnostic.catapult,CATAPULT_REVISION_HOST);this.buildRow_(rows,'angle',this.diagnostic.angle,ANGLE_REVISION_HOST);this.buildRow_(rows,'skia',this.diagnostic.skia,SKIA_REVISION_HOST);this.buildRow_(rows,'webrtc',this.diagnostic.webrtc,WEBRTC_REVISION_HOST);this.$.table.tableRows=rows;}});return{CHROMIUM_REVISION_HOST,V8_REVISION_HOST,CATAPULT_REVISION_HOST,ANGLE_REVISION_HOST,SKIA_REVISION_HOST,WEBRTC_REVISION_HOST,};});'use strict';Polymer({is:'tr-v-ui-scalar-diagnostic-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){this.$.scalar.setValueAndUnit(this.diagnostic.value.value,this.diagnostic.value.unit);}});'use strict';Polymer({is:'tr-v-ui-telemetry-info-span',ready(){this.diagnostic_=undefined;this.$.table.showHeader=false;this.$.table.tableColumns=[{value:row=>row[0]},{value:row=>row[1]},];},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){if(this.diagnostic===undefined){this.$.table.tableRows=[];return;}
8916const rows=[];if(this.diagnostic.benchmarkName){rows.push(['benchmark name',this.diagnostic.benchmarkName]);}
8917if(this.diagnostic.benchmarkStart){rows.push(['benchmark start',this.diagnostic.benchmarkStartString]);}
8918if(this.diagnostic.storyDisplayName){rows.push(['story',this.diagnostic.storyDisplayName]);}
8919if(this.diagnostic.storysetRepeatCounter!==undefined){rows.push(['storyset repeat',this.diagnostic.storysetRepeatCounter]);}
8920if(this.diagnostic.label){rows.push(['label',this.diagnostic.label]);}
8921if(this.diagnostic.storyGroupingKeys.size){const gov=document.createElement('tr-ui-a-generic-object-view');const obj={};for(const[key,value]of this.diagnostic.storyGroupingKeys){obj[key]=value;}
8922gov.object=obj;rows.push(['grouping keys',gov]);}
8923this.$.table.tableRows=rows;}});'use strict';Polymer({is:'tr-v-ui-unmergeable-diagnostic-set-span',ready(){this.diagnostic_=undefined;},get diagnostic(){return this.diagnostic_;},set diagnostic(d){this.diagnostic_=d;this.updateContents_();},updateContents_(){Polymer.dom(this).textContent='';for(const diagnostic of this.diagnostic){Polymer.dom(this).appendChild(tr.v.ui.createDiagnosticSpan(diagnostic));Polymer.dom(this).appendChild(document.createElement('br'));}}});'use strict';tr.exportTo('tr.v.ui',function(){function findElementNameForDiagnostic(diagnostic){let typeInfo=undefined;let curProto=diagnostic.constructor.prototype;while(curProto){typeInfo=tr.v.d.Diagnostic.findTypeInfo(curProto.constructor);if(typeInfo&&typeInfo.metadata.elementName)break;typeInfo=undefined;curProto=curProto.__proto__;}
8924if(typeInfo===undefined){throw new Error(diagnostic.constructor.name+' or a base class must have a registered elementName');}
8925const tagName=typeInfo.metadata.elementName;if(tr.ui.b.isUnknownElementName(tagName)){throw new Error('Element not registered: '+tagName);}
8926return tagName;}
8927function createDiagnosticSpan(diagnostic){const tagName=findElementNameForDiagnostic(diagnostic);const span=document.createElement(tagName);span.diagnostic=diagnostic;return span;}
8928return{createDiagnosticSpan,};});'use strict';Polymer({is:'tr-v-ui-diagnostic-map-table',created(){this.diagnosticMaps_=undefined;},set diagnosticMaps(maps){this.diagnosticMaps_=maps;this.updateContents_();},updateContents_(){if(this.diagnosticMaps_===undefined||this.diagnosticMaps_.length===0){this.$.table.tableRows=[];this.$.table.tableColumns=[];return;}
8929const columnTitles=new Set();for(const map of this.diagnosticMaps_){for(const[name,diagnostic]of map){if(diagnostic instanceof tr.v.d.UnmergeableDiagnosticSet)continue;if(diagnostic instanceof tr.v.d.CollectedRelatedEventSet)continue;if(diagnostic instanceof tr.v.d.GroupingPath)continue;columnTitles.add(name);}}
8930const columns=[];function makeColumn(title){return{title,value(map){const diagnostic=map.get(title);if(!diagnostic)return'';return tr.v.ui.createDiagnosticSpan(diagnostic);}};}
8931for(const title of columnTitles){columns.push(makeColumn(title));}
8932this.$.table.tableColumns=columns;this.$.table.tableRows=this.diagnosticMaps_;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.b',function(){class Serializable{constructor(){Object.defineProperty(this,'properties_',{configurable:false,enumerable:false,value:new Map(),});}
8933define(name,initialValue){if(this[name]!==undefined){throw new Error(`"${name}" is already defined.`);}
8934if(name[name.length-1]==='_'){throw new Error(`"${name}" cannot end with an underscore.`);}
8935this.properties_.set(name,initialValue);Object.defineProperty(this,name,{configurable:false,enumerable:true,get:()=>this.properties_.get(name),set:value=>this.setProperty_(name,value),});}
8936setProperty_(name,value){this.properties_.set(name,value);}
8937clone(){return Serializable.fromDict(this.asDict());}
8938asDict(){function visit(obj){if(obj instanceof Serializable)return obj.asDict();if(obj instanceof Set)return Array.from(obj);if(obj instanceof Array)return obj.map(visit);if(!(obj instanceof Map))return obj;const result={};for(const[name,value]of obj){result[name]=visit(value);}
8939return result;}
8940const dict={type:this.constructor.name};for(const[name,value]of this.properties_){dict[name.replace(/_$/,'')]=visit(value);}
8941return dict;}
8942static fromDict(dict){function visit(d){if(d instanceof Array)return d.map(visit);if(!(d instanceof Object))return d;if(typeof d.type==='string')return Serializable.fromDict(d);const result=new Map();for(const[name,value]of Object.entries(d)){result.set(name,visit(value));}
8943return result;}
8944const typeInfo=Serializable.findTypeInfoWithName(dict.type);const result=new typeInfo.constructor();for(const[name,value]of Object.entries(dict)){result[name]=visit(value);}
8945return result;}}
8946const options=new tr.b.ExtensionRegistryOptions(tr.b.BASIC_REGISTRY_MODE);options.defaultMetadata={};options.mandatoryBaseClass=Serializable;tr.b.decorateExtensionRegistry(Serializable,options);return{Serializable,};});'use strict';tr.exportTo('tr.b',function(){class ViewState extends tr.b.Serializable{constructor(){super();tr.b.EventTarget.decorate(this);}
8947setProperty_(name,value){this.update(new Map([[name,value]]));}
8948async updateFromViewState(other){await this.update(other.properties_);}
8949async update(delta){if(!(delta instanceof Map))delta=new Map(Object.entries(delta));const actualDelta={};for(const[name,current]of delta){const previous=this[name];if(previous===current)continue;actualDelta[name]={previous,current};tr.b.Serializable.prototype.setProperty_.call(this,name,current);}
8950if(Object.keys(actualDelta).length===0)return;await tr.b.dispatchSimpleEventAsync(this,this.updateEventName_,{delta:actualDelta});}
8951get updateEventName_(){return this.constructor.name+'.update';}
8952addUpdateListener(listener){this.addEventListener(this.updateEventName_,listener);}
8953removeUpdateListener(listener){this.removeEventListener(this.updateEventName_,listener);}}
8954return{ViewState,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetViewState extends tr.b.ViewState{constructor(){super();this.define('searchQuery','');this.define('referenceDisplayLabel','');this.define('displayStatisticName','');this.define('showAll',false);this.define('groupings',[]);this.define('sortColumnIndex',0);this.define('sortDescending',false);this.define('constrainNameColumn',true);this.define('tableRowStates',new Map());}}
8955tr.b.ViewState.register(HistogramSetViewState);class HistogramSetTableRowState extends tr.b.ViewState{constructor(){super();this.define('isExpanded',false);this.define('isOverviewed',false);this.define('cells',new Map());this.define('subRows',new Map());}
8956asCompactDict(){const result={};if(this.isExpanded)result.e='1';if(this.isOverviewed)result.o='1';const cells={};for(const[name,cell]of this.cells){const cellDict=cell.asCompactDict();if(cellDict===undefined)continue;cells[name]=cellDict;}
8957if(Object.keys(cells).length>0)result.c=cells;const subRows={};for(const[name,row]of this.subRows){const rowDict=row.asCompactDict();if(rowDict===undefined)continue;subRows[name]=rowDict;}
8958if(Object.keys(subRows).length>0)result.r=subRows;if(Object.keys(result).length===0)return undefined;return result;}
8959async updateFromCompactDict(dict){await this.update({isExpanded:dict.e==='1',isOverviewed:dict.o==='1',});for(const[name,cellDict]of Object.entries(dict.c||{})){const cell=this.cells.get(name);if(cell===undefined)continue;await cell.updateFromCompactDict(cellDict);}
8960for(const[name,subRowDict]of Object.entries(dict.r||{})){const subRow=this.subRows.get(name);if(subRow===undefined)continue;await subRow.updateFromCompactDict(subRowDict);}}*walk(){yield this;for(const row of this.subRows.values())yield*row.walk();}
8961static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}}
8962tr.b.ViewState.register(HistogramSetTableRowState);class HistogramSetTableCellState extends tr.b.ViewState{constructor(){super();this.define('isOpen',false);this.define('brushedBinRange',new tr.b.math.Range());this.define('mergeSampleDiagnostics',true);}
8963asCompactDict(){const result={};if(this.isOpen)result.o='1';if(!this.mergeSampleDiagnostics)result.m='0';if(!this.brushedBinRange.isEmpty){result.b=this.brushedBinRange.min+'_'+this.brushedBinRange.max;}
8964if(Object.keys(result).length===0)return undefined;return result;}
8965async updateFromCompactDict(dict){let binRange=this.brushedBinRange;if(dict.b){let[bMin,bMax]=dict.b.split('_');bMin=parseInt(bMin);bMax=parseInt(bMax);if(bMin!==binRange.min||bMax!==binRange.max){binRange=tr.b.math.Range.fromExplicitRange(bMin,bMax);}}
8966await this.update({isOpen:dict.o==='1',brushedBinRange:binRange,mergeSampleDiagnostics:dict.m!=='0',});}}
8967tr.b.ViewState.register(HistogramSetTableCellState);return{HistogramSetTableCellState,HistogramSetTableRowState,HistogramSetViewState,};});'use strict';Polymer({is:'tr-v-ui-scalar-map-table',created(){this.scalarMap_=new Map();this.significance_=new Map();},ready(){this.$.table.showHeader=false;this.$.table.tableColumns=[{value(row){return row.name;}},{value(row){const span=tr.v.ui.createScalarSpan(row.value);if(row.significance!==undefined){span.significance=row.significance;}else if(row.anyRowsHaveSignificance){span.style.marginRight='18px';}
8968span.style.whiteSpace='nowrap';return span;}}];},get scalarMap(){return this.scalarMap_;},set scalarMap(map){this.scalarMap_=map;this.updateContents_();},setSignificanceForKey(key,significance){this.significance_.set(key,significance);this.updateContents_();},updateContents_(){const rows=[];for(const[key,scalar]of this.scalarMap){rows.push({name:key,value:scalar,significance:this.significance_.get(key),anyRowsHaveSignificance:(this.significance_.size>0)});}
8969this.$.table.tableRows=rows;this.$.table.rebuild();}});'use strict';tr.exportTo('tr.v.ui',function(){const DEFAULT_BAR_HEIGHT_PX=5;const TRUNCATE_BIN_MARGIN=0.15;const IGNORE_DELTA_STATISTICS_NAMES=[`${tr.v.DELTA}min`,`%${tr.v.DELTA}min`,`${tr.v.DELTA}max`,`%${tr.v.DELTA}max`,`${tr.v.DELTA}sum`,`%${tr.v.DELTA}sum`,`${tr.v.DELTA}count`,`%${tr.v.DELTA}count`,];Polymer({is:'tr-v-ui-histogram-span',created(){this.viewStateListener_=this.onViewStateUpdate_.bind(this);this.viewState=new tr.v.ui.HistogramSetTableCellState();this.histogram_=undefined;this.referenceHistogram_=undefined;this.graphWidth_=undefined;this.graphHeight_=undefined;this.mouseDownBin_=undefined;this.prevBrushedBinRange_=new tr.b.math.Range();this.canMergeSampleDiagnostics_=true;},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState){this.viewState.removeUpdateListener(this.viewStateListener_);}
8970this.viewState_=vs;this.viewState.addUpdateListener(this.viewStateListener_);if(this.isAttached)this.updateContents_();},onViewStateUpdate_(event){if(event.delta.brushedBinRange){this.brushedBinRange=this.viewState.brushedBinRange;}
8971if(event.delta.mergeSampleDiagnostics){this.mergeSampleDiagnostics=this.canMergeSampleDiagnostics&&this.viewState.mergeSampleDiagnostics;}},ready(){this.$.drag_handle.target=this.$.container;this.$.drag_handle.addEventListener('drag-handle-resize',this.onResize_.bind(this));},attached(){if(this.histogram_!==undefined)this.updateContents_();},get canMergeSampleDiagnostics(){return this.canMergeSampleDiagnostics_;},set canMergeSampleDiagnostics(merge){this.canMergeSampleDiagnostics_=merge;this.$.merge_sample_diagnostics_container.style.display=(merge?'':'none');},onResize_(event){event.stopPropagation();let heightPx=parseInt(this.$.container.style.height);if(heightPx<this.defaultGraphHeight){heightPx=this.defaultGraphHeight;this.$.container.style.height=this.defaultGraphHeight+'px';}
8972this.chart_.graphHeight=heightPx-(this.chart_.margin.top+
8973this.chart_.margin.bottom);},get graphWidth(){return this.graphWidth_||this.defaultGraphWidth;},set graphWidth(width){this.graphWidth_=width;},get graphHeight(){return this.graphHeight_||this.defaultGraphHeight;},set graphHeight(height){this.graphHeight_=height;},get barHeight(){return this.chart_.barHeight;},set barHeight(px){this.graphHeight=this.computeChartHeight_(px);},computeChartHeight_(barHeightPx){return(this.chart_.margin.top+
8974this.chart_.margin.bottom+
8975(barHeightPx*this.histogram.allBins.length));},get defaultGraphHeight(){if(this.histogram&&this.histogram.allBins.length===1){return 150;}
8976return this.computeChartHeight_(DEFAULT_BAR_HEIGHT_PX);},get defaultGraphWidth(){if(this.histogram.allBins.length===1){return 100;}
8977return 300;},get brushedBins(){const bins=[];if(this.histogram&&!this.brushedBinRange.isEmpty){for(let i=this.brushedBinRange.min;i<this.brushedBinRange.max;++i){bins.push(this.histogram.allBins[i]);}}
8978return bins;},get brushedBinRange(){return this.viewState.brushedBinRange;},set brushedBinRange(r){if(this.chart_===undefined)return;const current=this.brushedBinRange;if(r.min===current.min&&r.max===current.max)return;this.chart_.brushedRange=r;this.viewState.brushedBinRange=r;this.updateDiagnostics_();},get mergeSampleDiagnostics(){return this.canMergeSampleDiagnostics&&this.$.merge_sample_diagnostics.checked;},set mergeSampleDiagnostics(m){this.$.merge_sample_diagnostics.checked=m;},updateBrushedRange_(binIndex){const brushedBinRange=new tr.b.math.Range();brushedBinRange.addValue(tr.b.math.clamp(this.mouseDownBinIndex_,0,this.histogram.allBins.length-1));brushedBinRange.addValue(tr.b.math.clamp(binIndex,0,this.histogram.allBins.length-1));brushedBinRange.max+=1;this.brushedBinRange=brushedBinRange;},onMouseDown_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8979this.prevBrushedBinRange_=this.brushedBinRange;this.mouseDownBinIndex_=chartEvent.y;this.updateBrushedRange_(chartEvent.y);},onMouseMove_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8980this.updateBrushedRange_(chartEvent.y);},onMouseUp_(chartEvent){chartEvent.stopPropagation();if(!this.histogram){return;}
8981this.updateBrushedRange_(chartEvent.y);if(this.prevBrushedBinRange_.range===1&&this.brushedBinRange.range===1&&this.prevBrushedBinRange_.min===this.brushedBinRange.min){tr.b.Timing.instant('histogram-span','clearBrushedBins');this.brushedBinRange=new tr.b.math.Range();}else{tr.b.Timing.instant('histogram-span','brushBins');}
8982this.mouseDownBinIndex_=undefined;},updateDiagnostics_(){let maps=[];for(const bin of this.brushedBins){for(const map of bin.diagnosticMaps){maps.push(map);}}
8983if(maps.length===0){this.$.sample_diagnostics_container.style.display='none';return;}
8984if(this.mergeSampleDiagnostics!==this.viewState.mergeSampleDiagnostics){tr.b.Timing.instant('histogram-span',(this.mergeSampleDiagnostics?'merge':'split')+'SampleDiagnostics');this.viewState.mergeSampleDiagnostics=this.mergeSampleDiagnostics;}
8985if(this.mergeSampleDiagnostics){const merged=new tr.v.d.DiagnosticMap();for(const map of maps){merged.addDiagnostics(map);}
8986maps=[merged];}
8987this.$.sample_diagnostics_container.style.display='block';this.$.sample_diagnostics.diagnosticMaps=maps;},get histogram(){return this.histogram_;},set histogram(histogram){if(histogram===this.histogram_)return;this.histogram_=histogram;if(this.isAttached)this.updateContents_();},get referenceHistogram(){return this.referenceHistogram_;},set referenceHistogram(histogram){if(histogram===this.referenceHistogram_){return;}
8988this.referenceHistogram_=histogram;if(this.histogram)this.updateContents_();},getDeltaScalars_(statNames,scalarMap){if(!this.histogram.canCompare(this.referenceHistogram))return;const mwu=tr.b.math.Statistics.mwu(this.histogram.sampleValues,this.referenceHistogram.sampleValues);for(const deltaStatName of tr.v.Histogram.getDeltaStatisticsNames(statNames)){if(IGNORE_DELTA_STATISTICS_NAMES.includes(deltaStatName))continue;const scalar=this.histogram.getStatisticScalar(deltaStatName,this.referenceHistogram,mwu);if(scalar===undefined)continue;scalarMap.set(deltaStatName,scalar);}
8989if(this.histogram.unit.improvementDirection!==tr.b.ImprovementDirection.DONT_CARE){this.$.stats.setSignificanceForKey(`${tr.v.DELTA}avg`,mwu.significance);}},set isYLogScale(logScale){this.chart_.isYLogScale=logScale;},updateContents_(){this.$.chart.style.display='none';this.$.drag_handle.style.display='none';this.$.sample_diagnostics_container.style.display='none';this.$.container.style.justifyContent='';this.brushedBinRange=new tr.b.math.Range();while(Polymer.dom(this.$.chart).lastChild){Polymer.dom(this.$.chart).removeChild(Polymer.dom(this.$.chart).lastChild);}
8990if(!this.histogram)return;this.$.container.style.display='';const scalarMap=new Map();this.getDeltaScalars_(this.histogram.statisticsNames,scalarMap);for(const[name,scalar]of this.histogram.statisticsScalars){scalarMap.set(name,scalar);}
8991this.$.stats.scalarMap=scalarMap;if(this.histogram.diagnostics.size>0){const diagnosticMap=new tr.v.d.DiagnosticMap();for(const[key,diagnostic]of this.histogram.diagnostics){if(key!==tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY&&key!==tr.v.d.MERGED_TO_DIAGNOSTIC_KEY){diagnosticMap.set(key,diagnostic);}}
8992this.$.histogram_diagnostics.diagnosticMaps=[diagnosticMap];this.$.histogram_diagnostics.style.display='block';}else{this.$.histogram_diagnostics.style.display='none';}
8993if(this.histogram.numValues<=1){this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();this.$.container.style.justifyContent='flex-end';return;}
8994this.$.chart.style.display='block';this.$.drag_handle.style.display='block';if(this.histogram.allBins.length===1){if(this.histogram.min!==this.histogram.max){this.chart_=new tr.ui.b.BoxChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.hideXAxis=true;this.chart_.data=[{x:'',color:'blue',percentile_0:this.histogram.running.min,percentile_25:this.histogram.getApproximatePercentile(0.25),percentile_50:this.histogram.getApproximatePercentile(0.5),percentile_75:this.histogram.getApproximatePercentile(0.75),percentile_100:this.histogram.running.max,}];}
8995this.brushedBinRange=tr.b.math.Range.fromExplicitRange(0,this.histogram.allBins.length);this.updateDiagnostics_();return;}
8996this.chart_=new tr.ui.b.NameBarChart();Polymer.dom(this.$.chart).appendChild(this.chart_);this.chart_.graphWidth=this.graphWidth;this.chart_.graphHeight=this.graphHeight;this.chart_.addEventListener('item-mousedown',this.onMouseDown_.bind(this));this.chart_.addEventListener('item-mousemove',this.onMouseMove_.bind(this));this.chart_.addEventListener('item-mouseup',this.onMouseUp_.bind(this));this.chart_.hideLegend=true;this.chart_.getDataSeries('y').color='blue';this.chart_.xAxisLabel='#';this.chart_.brushedRange=this.brushedBinRange;this.updateDiagnostics_();const chartData=[];const binCounts=[];for(const bin of this.histogram.allBins){let x=bin.range.min;if(x===-Number.MAX_VALUE){x='<'+new tr.b.Scalar(this.histogram.unit,bin.range.max).toString();}else{x=new tr.b.Scalar(this.histogram.unit,x).toString();}
8997chartData.push({x,y:bin.count});binCounts.push(bin.count);}
8998binCounts.sort((x,y)=>y-x);const dataRange=tr.b.math.Range.fromExplicitRange(0,binCounts[0]);if(binCounts[1]>0&&binCounts[0]>(binCounts[1]*2)){dataRange.max=binCounts[1]*(1+TRUNCATE_BIN_MARGIN);}
8999if(binCounts[2]>0&&binCounts[1]>(binCounts[2]*2)){dataRange.max=binCounts[2]*(1+TRUNCATE_BIN_MARGIN);}
9000this.chart_.overrideDataRange=dataRange;this.chart_.data=chartData;}});});'use strict';tr.exportTo('tr.ui.analysis',function(){const EVENT_FIELD=[{key:'start',label:'Start'},{key:'cpuDuration',label:'CPU Duration'},{key:'duration',label:'Duration'},{key:'cpuSelfTime',label:'CPU Self Time'},{key:'selfTime',label:'Self Time'}];function buildDiagnostics_(slice){const diagnostics={};for(const item of EVENT_FIELD){const fieldName=item.key;if(slice[fieldName]===undefined)continue;diagnostics[fieldName]=new tr.v.d.Scalar(new tr.b.Scalar(tr.b.Unit.byName.timeDurationInMs,slice[fieldName]));}
9001diagnostics.args=new tr.v.d.Generic(slice.args);diagnostics.event=new tr.v.d.RelatedEventSet(slice);return diagnostics;}
9002Polymer({is:'tr-ui-a-multi-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;this.eventsHaveDuration_=true;this.eventsHaveSubRows_=true;},ready(){this.$.radioPicker.style.display='none';this.$.radioPicker.items=EVENT_FIELD;this.$.radioPicker.select('cpuSelfTime');this.$.radioPicker.addEventListener('change',()=>{if(this.isAttached)this.updateContents_();});this.$.histogramSpan.graphWidth=400;this.$.histogramSpan.canMergeSampleDiagnostics=false;this.$.histogramContainer.style.display='none';},attached(){if(this.currentSelection_!==undefined)this.updateContents_();},set selection(selection){if(selection.length<=1){throw new Error('Only supports multiple items');}
9003this.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},setSelectionWithoutErrorChecks(selection){this.currentSelection_=selection;if(this.isAttached)this.updateContents_();},get eventsHaveDuration(){return this.eventsHaveDuration_;},set eventsHaveDuration(eventsHaveDuration){this.eventsHaveDuration_=eventsHaveDuration;if(this.isAttached)this.updateContents_();},get eventsHaveSubRows(){return this.eventsHaveSubRows_;},set eventsHaveSubRows(eventsHaveSubRows){this.eventsHaveSubRows_=eventsHaveSubRows;if(this.isAttached)this.updateContents_();},buildHistogram_(selectedKey){let leftBoundary=Number.MAX_VALUE;let rightBoundary=tr.b.math.Statistics.percentile(this.currentSelection_,0.95,function(value){leftBoundary=Math.min(leftBoundary,value[selectedKey]);return value[selectedKey];});if(leftBoundary===rightBoundary)rightBoundary+=1;const histogram=new tr.v.Histogram('',tr.b.Unit.byName.timeDurationInMs,tr.v.HistogramBinBoundaries.createLinear(leftBoundary,rightBoundary,Math.ceil(Math.sqrt(this.currentSelection_.length))));histogram.customizeSummaryOptions({sum:false});for(const slice of this.currentSelection_){histogram.addSample(slice[selectedKey],buildDiagnostics_(slice));}
9004return histogram;},updateContents_(){const selection=this.currentSelection_;if(!selection)return;const eventsByTitle=selection.getEventsOrganizedByTitle();const numTitles=Object.keys(eventsByTitle).length;this.$.eventSummaryTable.configure({showTotals:numTitles>1,eventsByTitle,eventsHaveDuration:this.eventsHaveDuration_,eventsHaveSubRows:this.eventsHaveSubRows_});this.$.selectionSummaryTable.selection=this.currentSelection_;if(numTitles===1){this.$.radioPicker.style.display='block';this.$.histogramContainer.style.display='flex';this.$.histogramSpan.histogram=this.buildHistogram_(this.$.radioPicker.selectedKey);if(this.$.histogramSpan.histogram.numValues===0){this.$.histogramContainer.style.display='none';}}else{this.$.radioPicker.style.display='none';this.$.histogramContainer.style.display='none';}}});return{};});'use strict';tr.exportTo('tr.ui.analysis',function(){const FLOW_IN=0x1;const FLOW_OUT=0x2;const FLOW_IN_OUT=FLOW_IN|FLOW_OUT;function FlowClassifier(){this.numEvents_=0;this.eventsByGUID_={};}
9005FlowClassifier.prototype={getFS_(event){let fs=this.eventsByGUID_[event.guid];if(fs===undefined){this.numEvents_++;fs={state:0,event};this.eventsByGUID_[event.guid]=fs;}
9006return fs;},addInFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_IN;return event;},addOutFlow(event){const fs=this.getFS_(event);fs.state|=FLOW_OUT;return event;},hasEvents(){return this.numEvents_>0;},get inFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN){selection.push(fs.event);}}
9007return selection;},get outFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_OUT){selection.push(fs.event);}}
9008return selection;},get internalFlowEvents(){const selection=new tr.model.EventSet();for(const guid in this.eventsByGUID_){const fs=this.eventsByGUID_[guid];if(fs.state===FLOW_IN_OUT){selection.push(fs.event);}}
9009return selection;}};return{FlowClassifier,};});'use strict';function*getEventInFlowEvents(event){if(!event.inFlowEvents)return;yield*event.inFlowEvents;}
9010function*getEventOutFlowEvents(event){if(!event.outFlowEvents)return;yield*event.outFlowEvents;}
9011function*getEventAncestors(event){if(!event.enumerateAllAncestors)return;yield*event.enumerateAllAncestors();}
9012function*getEventDescendents(event){if(!event.enumerateAllDescendents)return;yield*event.enumerateAllDescendents();}
9013Polymer({is:'tr-ui-a-related-events',ready(){this.eventGroups_=[];this.cancelFunctions_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;}
9014return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;}
9015return linkEl;}}];},hasRelatedEvents(){return(this.eventGroups_&&this.eventGroups_.length>0);},setRelatedEvents(eventSet){this.cancelAllTasks_();this.eventGroups_=[];this.addRuntimeCallStats_(eventSet);this.addOverlappingV8ICStats_(eventSet);this.addV8GCObjectStats_(eventSet);this.addV8Slices_(eventSet);this.addConnectedFlows_(eventSet);this.addConnectedEvents_(eventSet);this.addOverlappingSamples_(eventSet);this.updateContents_();},addConnectedFlows_(eventSet){const classifier=new tr.ui.analysis.FlowClassifier();eventSet.forEach(function(slice){if(slice.inFlowEvents){slice.inFlowEvents.forEach(function(flow){classifier.addInFlow(flow);});}
9016if(slice.outFlowEvents){slice.outFlowEvents.forEach(function(flow){classifier.addOutFlow(flow);});}});if(!classifier.hasEvents())return;const addToEventGroups=function(type,flowEvent){this.eventGroups_.push({type,selection:new tr.model.EventSet(flowEvent),name:flowEvent.title});};classifier.inFlowEvents.forEach(addToEventGroups.bind(this,'Incoming flow'));classifier.outFlowEvents.forEach(addToEventGroups.bind(this,'Outgoing flow'));classifier.internalFlowEvents.forEach(addToEventGroups.bind(this,'Internal flow'));},cancelAllTasks_(){this.cancelFunctions_.forEach(function(cancelFunction){cancelFunction();});this.cancelFunctions_=[];},addConnectedEvents_(eventSet){this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Preceding events','Add all events that have led to the selected one(s), connected by '+'flow arrows or by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventAncestors(event);if(event.startSlice){yield event.startSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('Following events','Add all events that have been caused by the selected one(s), '+'connected by flow arrows or by call stack.',eventSet,function*(event){yield*getEventOutFlowEvents(event);yield*getEventDescendents(event);if(event.endSlice){yield event.endSlice;}}.bind(this)));this.cancelFunctions_.push(this.createEventsLinkIfNeeded_('All connected events','Add all events connected to the selected one(s) by flow arrows or '+'by call stack.',eventSet,function*(event){yield*getEventInFlowEvents(event);yield*getEventOutFlowEvents(event);yield*getEventAncestors(event);yield*getEventDescendents(event);if(event.startSlice){yield event.startSlice;}
9017if(event.endSlice){yield event.endSlice;}}.bind(this)));},createEventsLinkIfNeeded_(title,tooltip,events,connectedFn){events=new tr.model.EventSet(events);const eventsToProcess=new Set(events);let wasChanged=false;let task;let isCanceled=false;function addEventsUntilTimeout(){if(isCanceled)return;const timeout=window.performance.now()+8;while(eventsToProcess.size>0&&window.performance.now()<=timeout){const nextEvent=tr.b.getFirstElement(eventsToProcess);eventsToProcess.delete(nextEvent);for(const eventToAdd of connectedFn(nextEvent)){if(!events.contains(eventToAdd)){events.push(eventToAdd);eventsToProcess.add(eventToAdd);wasChanged=true;}}}
9018if(eventsToProcess.size>0){const newTask=new tr.b.Task(addEventsUntilTimeout.bind(this),this);task.after(newTask);task=newTask;return;}
9019if(!wasChanged)return;this.eventGroups_.push({type:title,tooltip,selection:events});this.updateContents_();}
9020function cancelTask(){isCanceled=true;}
9021task=new tr.b.Task(addEventsUntilTimeout.bind(this),this);tr.b.Task.RunWhenIdle(task);return cancelTask;},addOverlappingSamples_(eventSet){const samples=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.samples){continue;}
9022const candidates=slice.parentContainer.samples;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSamples=range.filterArray(candidates,function(value){return value.start;});for(const sample of filteredSamples){samples.push(sample);}}
9023if(samples.length>0){this.eventGroups_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected slice(s).',selection:samples});}},addV8Slices_(eventSet){const v8Slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'){v8Slices.push(slice);}}
9024if(v8Slices.length>0){this.eventGroups_.push({type:'V8 Slices',tooltip:'All V8 slices in the selected slice(s).',selection:v8Slices});}},addRuntimeCallStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.category==='v8'&&slice.runtimeCallStats){slices.push(slice);}}
9025if(slices.length>0){this.eventGroups_.push({type:'Runtime call stats table',tooltip:'All V8 slices containing runtime call stats table in the selected slice(s).',selection:slices});}},addV8GCObjectStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(slice.title==='V8.GC_Objects_Stats'){slices.push(slice);}}
9026if(slices.length>0){this.eventGroups_.push({type:'V8 GC stats table',tooltip:'All V8 GC statistics slices in the selected set.',selection:slices});}},addOverlappingV8ICStats_(eventSet){const slices=new tr.model.EventSet();for(const slice of eventSet){if(!slice.parentContainer||!slice.parentContainer.sliceGroup){continue;}
9027const sliceGroup=slice.parentContainer.sliceGroup.slices;const range=tr.b.math.Range.fromExplicitRange(slice.start,slice.start+slice.duration);const filteredSlices=range.filterArray(sliceGroup,value=>value.start);const icSlices=filteredSlices.filter(x=>x.title==='V8.ICStats');for(const icSlice of icSlices){slices.push(icSlice);}}
9028if(slices.length>0){this.eventGroups_.push({type:'Overlapping V8 IC stats',tooltip:'All V8 IC statistics overlapping the selected set.',selection:slices});}},updateContents_(){const table=this.$.table;if(this.eventGroups_===undefined){table.tableRows=[];}else{table.tableRows=this.eventGroups_.slice();}
9029table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},get relatedEventsToHighlight(){if(!this.$.content.selection)return undefined;const selection=new tr.model.EventSet();this.$.content.selection.forEach(function(asyncEvent){if(!asyncEvent.associatedEvents)return;asyncEvent.associatedEvents.forEach(function(event){selection.push(event);});});if(selection.length)return selection;return undefined;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-async-slice-sub-view',tr.model.AsyncSlice,{multi:true,title:'Async Slices',});'use strict';Polymer({is:'tr-ui-a-multi-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-cpu-slice-sub-view',tr.model.CpuSlice,{multi:true,title:'CPU Slices',});'use strict';Polymer({is:'tr-ui-a-multi-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveDuration=false;this.$.content.eventsHaveSubRows=false;},set selection(selection){this.$.content.selection=selection;},get selection(){return this.$.content.selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-flow-event-sub-view',tr.model.FlowEvent,{multi:true,title:'Flow Events',});'use strict';Polymer({is:'tr-ui-a-multi-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(frameEvent){frameEvent.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-frame-sub-view',tr.model.Frame,{multi:true,title:'Frames',});'use strict';Polymer({is:'tr-ui-a-multi-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-multi-event-sub-view');realView.eventsHaveDuration=false;realView.eventsHaveSubRows=false;Polymer.dom(this.$.content).appendChild(realView);realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});'use strict';Polymer({is:'tr-ui-a-multi-object-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;const objectEvents=tr.b.asArray(selection).sort(tr.b.math.Range.compareByMinTimes);const timeSpanConfig={unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument};const table=this.$.content;table.tableColumns=[{title:'First',value(event){if(event instanceof tr.model.ObjectSnapshot){return tr.v.ui.createScalarSpan(event.ts,timeSpanConfig);}
9030const spanEl=document.createElement('span');Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.creationTs,timeSpanConfig));Polymer.dom(spanEl).appendChild(tr.ui.b.createSpan({textContent:'-',marginLeft:'4px',marginRight:'4px'}));if(event.deletionTs!==Number.MAX_VALUE){Polymer.dom(spanEl).appendChild(tr.v.ui.createScalarSpan(event.deletionTs,timeSpanConfig));}
9031return spanEl;},width:'200px'},{title:'Second',value(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(function(){return new tr.model.EventSet(event);},event.userFriendlyName);return linkEl;},width:'100%'}];table.tableRows=objectEvents;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectInstance,{multi:true,title:'Object Instances',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-object-sub-view',tr.model.ObjectSnapshot,{multi:true,title:'Object Snapshots',});'use strict';const EventSet=tr.model.EventSet;const CHART_TITLE='Power (W) by ms since vertical sync';Polymer({is:'tr-ui-a-frame-power-usage-chart',ready(){this.chart_=undefined;this.samples_=new EventSet();this.vSyncTimestamps_=[];},attached(){if(this.samples_)this.updateContents_();},get chart(){return this.chart_;},get samples(){return this.samples_;},get vSyncTimestamps(){return this.vSyncTimestamps_;},setData(samples,vSyncTimestamps){this.samples_=(samples===undefined)?new EventSet():samples;this.vSyncTimestamps_=(vSyncTimestamps===undefined)?[]:vSyncTimestamps;if(this.isAttached)this.updateContents_();},updateContents_(){this.clearChart_();const data=this.getDataForLineChart_();if(data.length===0)return;this.chart_=new tr.ui.b.LineChart();Polymer.dom(this.$.content).appendChild(this.chart_);this.chart_.chartTitle=CHART_TITLE;this.chart_.data=data;},clearChart_(){const content=this.$.content;while(Polymer.dom(content).firstChild){Polymer.dom(content).removeChild(Polymer.dom(content).firstChild);}
9032this.chart_=undefined;},getDataForLineChart_(){const sortedSamples=this.sortSamplesByTimestampAscending_(this.samples);const vSyncTimestamps=this.vSyncTimestamps.slice();let lastVSyncTimestamp=undefined;const points=[];let frameNumber=0;sortedSamples.forEach(function(sample){while(vSyncTimestamps.length>0&&vSyncTimestamps[0]<=sample.start){lastVSyncTimestamp=vSyncTimestamps.shift();frameNumber++;}
9033if(lastVSyncTimestamp===undefined)return;const point={x:sample.start-lastVSyncTimestamp};point['f'+frameNumber]=sample.powerInW;points.push(point);});return points;},sortSamplesByTimestampAscending_(samples){return samples.toArray().sort(function(smpl1,smpl2){return smpl1.start-smpl2.start;});}});'use strict';Polymer({is:'tr-ui-a-power-sample-summary-table',ready(){this.$.table.tableColumns=[{title:'Min power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.min);}},{title:'Max power',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.max);}},{title:'Time-weighted average',width:'100px',value(row){return tr.b.Unit.byName.powerInWatts.format(row.timeWeightedAverageInW);}},{title:'Energy consumed',width:'100px',value(row){return tr.b.Unit.byName.energyInJoules.format(row.energyConsumedInJ);}},{title:'Sample count',width:'100%',value(row){return row.sampleCount;}}];this.samples=new tr.model.EventSet();},get samples(){return this.samples_;},set samples(samples){if(samples===this.samples)return;this.samples_=(samples===undefined)?new tr.model.EventSet():samples;this.updateContents_();},updateContents_(){if(this.samples.length===0){this.$.table.tableRows=[];}else{this.$.table.tableRows=[{min:this.getMin(),max:this.getMax(),timeWeightedAverageInW:this.getTimeWeightedAverageInW(),energyConsumedInJ:this.getEnergyConsumedInJ(),sampleCount:this.samples.length}];}
9034this.$.table.rebuild();},getMin(){return Math.min.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getMax(){return Math.max.apply(null,this.samples.map(function(sample){return sample.powerInW;}));},getTimeWeightedAverageInW(){const energyConsumedInJ=this.getEnergyConsumedInJ();if(energyConsumedInJ==='N/A')return'N/A';const durationInS=tr.b.convertUnit(this.samples.bounds.duration,tr.b.UnitPrefixScale.METRIC.MILLI,tr.b.UnitPrefixScale.METRIC.NONE);return energyConsumedInJ/durationInS;},getEnergyConsumedInJ(){if(this.samples.length<2)return'N/A';const bounds=this.samples.bounds;const series=tr.b.getFirstElement(this.samples).series;return series.getEnergyConsumedInJ(bounds.min,bounds.max);}});'use strict';Polymer({is:'tr-ui-a-multi-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){const samples=this.selection;const vSyncTimestamps=(!samples?[]:tr.b.getFirstElement(samples).series.device.vSyncTimestamps);this.$.summaryTable.samples=samples;this.$.chart.setData(this.selection,vSyncTimestamps);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-power-sample-sub-view',tr.model.PowerSample,{multi:true,title:'Power Samples',});'use strict';(function(){const MultiDimensionalViewBuilder=tr.b.MultiDimensionalViewBuilder;Polymer({is:'tr-ui-a-multi-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.viewOption_=undefined;this.selection_=undefined;},ready(){const viewSelector=tr.ui.b.createSelector(this,'viewOption','tracing.ui.analysis.multi_sample_sub_view',MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW,[{label:'Top-down (Tree)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_TREE_VIEW},{label:'Top-down (Heavy)',value:MultiDimensionalViewBuilder.ViewType.TOP_DOWN_HEAVY_VIEW},{label:'Bottom-up (Heavy)',value:MultiDimensionalViewBuilder.ViewType.BOTTOM_UP_HEAVY_VIEW}]);Polymer.dom(this.$.control).appendChild(viewSelector);this.$.table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;this.updateContents_();},get viewOption(){return this.viewOption_;},set viewOption(viewOption){this.viewOption_=viewOption;this.updateContents_();},createSamplingSummary_(selection,viewOption){const builder=new MultiDimensionalViewBuilder(1,1);const samples=selection.filter(event=>event instanceof tr.model.Sample);samples.forEach(function(sample){builder.addPath([sample.userFriendlyStack.reverse()],[1],MultiDimensionalViewBuilder.ValueKind.SELF);});return builder.buildView(viewOption);},processSampleRows_(rows){for(const row of rows){let title=row.title[0];let results=/(.*) (Deoptimized reason: .*)/.exec(title);if(results!==null){row.deoptReason=results[2];title=results[1];}
9035results=/(.*) url: (.*)/.exec(title);if(results!==null){row.functionName=results[1];row.url=results[2];if(row.functionName===''){row.functionName='(anonymous function)';}
9036if(row.url===''){row.url='unknown';}}else{row.functionName=title;row.url='unknown';}
9037this.processSampleRows_(row.subRows);}},updateContents_(){if(this.selection===undefined){this.$.table.tableColumns=[];this.$.table.tableRows=[];this.$.table.rebuild();return;}
9038const samplingData=this.createSamplingSummary_(this.selection,this.viewOption);const total=samplingData.values[0].total;const columns=[this.createPercentColumn_('Total',total),this.createSamplesColumn_('Total'),this.createPercentColumn_('Self',total),this.createSamplesColumn_('Self'),{title:'Function Name',value(row){if(row.deoptReason!==undefined){const spanEl=tr.ui.b.createSpan({italic:true,color:'#F44336',tooltip:row.deoptReason});spanEl.innerText=row.functionName;return spanEl;}
9039return row.functionName;},width:'150px',cmp:(a,b)=>a.functionName.localeCompare(b.functionName),showExpandButtons:true},{title:'Location',value(row){return row.url;},width:'250px',cmp:(a,b)=>a.url.localeCompare(b.url),}];this.processSampleRows_(samplingData.subRows);this.$.table.tableColumns=columns;this.$.table.sortColumnIndex=1;this.$.table.sortDescending=true;this.$.table.tableRows=samplingData.subRows;this.$.table.rebuild();},createPercentColumn_(title,samplingDataTotal){const field=title.toLowerCase();return{title:title+' percent',value(row){return tr.v.ui.createScalarSpan(row.values[0][field]/samplingDataTotal,{customContextRange:tr.b.math.Range.PERCENT_RANGE,unit:tr.b.Unit.byName.normalizedPercentage,context:{minimumFractionDigits:2,maximumFractionDigits:2},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};},createSamplesColumn_(title){const field=title.toLowerCase();return{title:title+' samples',value(row){return tr.v.ui.createScalarSpan(row.values[0][field],{unit:tr.b.Unit.byName.unitlessNumber,context:{maximumFractionDigits:0},});},width:'60px',cmp:(a,b)=>a.values[0][field]-b.values[0][field]};}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-sample-sub-view',tr.model.Sample,{multi:true,title:'Samples',});})();'use strict';Polymer({is:'tr-ui-a-multi-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.selection_=undefined;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;if(tr.isExported('tr.ui.e.chrome.cc.RasterTaskSelection')){if(tr.ui.e.chrome.cc.RasterTaskSelection.supports(selection)){const ltvSelection=new tr.ui.e.chrome.cc.RasterTaskSelection(selection);const ltv=new tr.ui.e.chrome.cc.LayerTreeHostImplSnapshotView();ltv.objectSnapshot=ltvSelection.containingSnapshot;ltv.selection=ltvSelection;ltv.extraHighlightsByLayerId=ltvSelection.extraHighlightsByLayerId;Polymer.dom(this.$.content).textContent='';Polymer.dom(this.$.content).appendChild(ltv);this.requiresTallView_=true;return;}}
9040Polymer.dom(this.$.content).textContent='';const mesv=document.createElement('tr-ui-a-multi-event-sub-view');mesv.selection=selection;Polymer.dom(this.$.content).appendChild(mesv);const relatedEvents=document.createElement('tr-ui-a-related-events');relatedEvents.setRelatedEvents(selection);if(relatedEvents.hasRelatedEvents()){Polymer.dom(this.$.content).appendChild(relatedEvents);}},get requiresTallView(){if(this.$.content.children.length===0)return false;const childTagName=this.$.content.children[0].tagName;if(childTagName==='TR-UI-A-MULTI-EVENT-SUB-VIEW'){return false;}
9041return true;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-slice-sub-view',tr.model.ThreadSlice,{multi:true,title:'Slices',});'use strict';Polymer({is:'tr-ui-a-multi-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.$.content.eventsHaveSubRows=false;},get selection(){return this.$.content.selection;},set selection(selection){this.$.content.setSelectionWithoutErrorChecks(selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:true,title:'Thread Timeslices',});'use strict';Polymer({is:'tr-ui-a-user-expectation-related-samples-table',ready(){this.samples_=[];this.$.table.tableColumns=[{title:'Event(s)',value(row){const typeEl=document.createElement('span');typeEl.innerText=row.type;if(row.tooltip){typeEl.title=row.tooltip;}
9042return typeEl;},width:'150px'},{title:'Link',width:'100%',value(row){const linkEl=document.createElement('tr-ui-a-analysis-link');if(row.name){linkEl.setSelectionAndContent(row.selection,row.name);}else{linkEl.selection=row.selection;}
9043return linkEl;}}];},hasRelatedSamples(){return(this.samples_&&this.samples_.length>0);},set selection(eventSet){this.samples_=[];const samples=new tr.model.EventSet;eventSet.forEach(function(ue){samples.addEventSet(ue.associatedSamples);}.bind(this));if(samples.length>0){this.samples_.push({type:'Overlapping samples',tooltip:'All samples overlapping the selected user expectation(s).',selection:samples});}
9044this.updateContents_();},updateContents_(){const table=this.$.table;if(this.samples_&&this.samples_.length>0){table.tableRows=this.samples_.slice();}else{table.tableRows=[];}
9045table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-multi-interaction-record-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.currentSelection_=selection;this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get selection(){return this.currentSelection_;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;const selection=new tr.model.EventSet();this.currentSelection_.forEach(function(ir){ir.associatedEvents.forEach(function(event){selection.push(event);});});return selection;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:true,title:'User Expectations',});'use strict';Polymer({is:'tr-ui-a-single-async-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){if(selection.length!==1){throw new Error('Only supports single slices');}
9046this.$.content.setSelectionWithoutErrorChecks(selection);this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}},getEventRows_(event){const rows=this.__proto__.__proto__.getEventRows_(event);rows.splice(0,0,{name:'ID',value:event.id});return rows;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-async-slice-sub-view',tr.model.AsyncSlice,{multi:false,title:'Async Slice',});'use strict';Polymer({is:'tr-ui-a-single-cpu-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const cpuSlice=tr.b.getOnlyElement(selection);if(!(cpuSlice instanceof tr.model.CpuSlice)){throw new Error('Only supports thread time slices');}
9047this.currentSelection_=selection;const thread=cpuSlice.threadThatWasRunning;const root=Polymer.dom(this.root);if(thread){Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;}else{root.querySelector('#process-name').parentElement.style.display='none';Polymer.dom(root.querySelector('#thread-name')).textContent=cpuSlice.title;}
9048root.querySelector('#start').setValueAndUnit(cpuSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(cpuSlice.duration,tr.b.Unit.byName.timeDurationInMs);const runningThreadEl=root.querySelector('#running-thread');const timeSlice=cpuSlice.getAssociatedTimeslice();if(!timeSlice){runningThreadEl.parentElement.style.display='none';}else{const threadLink=document.createElement('tr-ui-a-analysis-link');threadLink.selection=new tr.model.EventSet(timeSlice);Polymer.dom(threadLink).textContent='Click to select';runningThreadEl.parentElement.style.display='';Polymer.dom(runningThreadEl).textContent='';Polymer.dom(runningThreadEl).appendChild(threadLink);}
9049root.querySelector('#args').object=cpuSlice.args;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-cpu-slice-sub-view',tr.model.CpuSlice,{multi:false,title:'CPU Slice',});'use strict';function createAnalysisLinkTo(event){const linkEl=document.createElement('tr-ui-a-analysis-link');linkEl.setSelectionAndContent(new tr.model.EventSet(event),event.userFriendlyName);return linkEl;}
9050Polymer({is:'tr-ui-a-single-flow-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],listeners:{'singleEventSubView.customize-rows':'onCustomizeRows_'},set selection(selection){this.currentSelection_=selection;this.$.singleEventSubView.setSelectionWithoutErrorChecks(selection);},get selection(){return this.currentSelection_;},onCustomizeRows_(e){const event=tr.b.getOnlyElement(this.currentSelection_);const rows=e.rows;rows.unshift({name:'ID',value:event.id});rows.push({name:'From',value:createAnalysisLinkTo(event.startSlice)});rows.push({name:'To',value:createAnalysisLinkTo(event.endSlice)});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-flow-event-sub-view',tr.model.FlowEvent,{multi:false,title:'Flow Event',});'use strict';Polymer({is:'tr-ui-a-single-frame-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.$.asv.selection=tr.b.getOnlyElement(selection).associatedAlerts;},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-frame-sub-view',tr.model.Frame,{multi:false,title:'Frame',});'use strict';Polymer({is:'tr-ui-a-single-instant-event-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},set selection(selection){Polymer.dom(this.$.content).textContent='';const realView=document.createElement('tr-ui-a-single-event-sub-view');realView.setSelectionWithoutErrorChecks(selection);Polymer.dom(this.$.content).appendChild(realView);this.currentSelection_=selection;},get selection(){return this.currentSelection_;}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-instant-event-sub-view',tr.model.InstantEvent,{multi:false,title:'Instant Event',});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-multi-instant-event-sub-view',tr.model.InstantEvent,{multi:true,title:'Instant Events',});'use strict';tr.exportTo('tr.ui.analysis',function(){const ObjectInstanceView=tr.ui.b.define('object-instance-view');ObjectInstanceView.prototype={__proto__:HTMLDivElement.prototype,decorate(){this.objectInstance_=undefined;},get requiresTallView(){return true;},set modelEvent(obj){this.objectInstance=obj;},get modelEvent(){return this.objectInstance;},get objectInstance(){return this.objectInstance_;},set objectInstance(i){this.objectInstance_=i;this.updateContents();},updateContents(){throw new Error('Not implemented');}};const options=new tr.b.ExtensionRegistryOptions(tr.b.TYPE_BASED_REGISTRY_MODE);options.mandatoryBaseClass=ObjectInstanceView;options.defaultMetadata={showInTrackView:true};tr.b.decorateExtensionRegistry(ObjectInstanceView,options);return{ObjectInstanceView,};});'use strict';Polymer({is:'tr-ui-a-single-object-instance-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.$.content.children.length===0){return false;}
9051if(this.$.content.children[0]instanceof
9052tr.ui.analysis.ObjectInstanceView){return this.$.content.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const instance=tr.b.getOnlyElement(selection);if(!(instance instanceof tr.model.ObjectInstance)){throw new Error('Only supports object instances');}
9053Polymer.dom(this.$.content).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectInstanceView.getTypeInfo(instance.category,instance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this.$.content).appendChild(customView);customView.modelEvent=instance;}else{this.appendGenericAnalysis_(instance);}},appendGenericAnalysis_(instance){let html='';html+='<div class="title">'+
9054instance.typeName+' '+
9055instance.id+'</div>\n';html+='<table>';html+='<tr>';html+='<tr><td>creationTs:</td><td>'+
9056instance.creationTs+'</td></tr>\n';if(instance.deletionTs!==Number.MAX_VALUE){html+='<tr><td>deletionTs:</td><td>'+
9057instance.deletionTs+'</td></tr>\n';}else{html+='<tr><td>deletionTs:</td><td>not deleted</td></tr>\n';}
9058html+='<tr><td>snapshots:</td><td id="snapshots"></td></tr>\n';html+='</table>';Polymer.dom(this.$.content).innerHTML=html;const snapshotsEl=Polymer.dom(this.$.content).querySelector('#snapshots');instance.snapshots.forEach(function(snapshot){const snapshotLink=document.createElement('tr-ui-a-analysis-link');snapshotLink.selection=new tr.model.EventSet(snapshot);Polymer.dom(snapshotsEl).appendChild(snapshotLink);});}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-instance-sub-view',tr.model.ObjectInstance,{multi:false,title:'Object Instance',});'use strict';Polymer({is:'tr-ui-a-single-object-snapshot-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get requiresTallView(){if(this.children.length===0){return false;}
9059if(this.children[0]instanceof tr.ui.analysis.ObjectSnapshotView){return this.children[0].requiresTallView;}},get selection(){return this.currentSelection_;},set selection(selection){const snapshot=tr.b.getOnlyElement(selection);if(!(snapshot instanceof tr.model.ObjectSnapshot)){throw new Error('Only supports object instances');}
9060Polymer.dom(this).textContent='';this.currentSelection_=selection;const typeInfo=tr.ui.analysis.ObjectSnapshotView.getTypeInfo(snapshot.objectInstance.category,snapshot.objectInstance.typeName);if(typeInfo){const customView=new typeInfo.constructor();Polymer.dom(this).appendChild(customView);customView.modelEvent=snapshot;}else{this.appendGenericAnalysis_(snapshot);}},appendGenericAnalysis_(snapshot){const instance=snapshot.objectInstance;Polymer.dom(this).textContent='';const titleEl=document.createElement('div');Polymer.dom(titleEl).classList.add('title');Polymer.dom(titleEl).appendChild(document.createTextNode('Snapshot of '));Polymer.dom(this).appendChild(titleEl);const instanceLinkEl=document.createElement('tr-ui-a-analysis-link');instanceLinkEl.selection=new tr.model.EventSet(instance);Polymer.dom(titleEl).appendChild(instanceLinkEl);Polymer.dom(titleEl).appendChild(document.createTextNode(' @ '));Polymer.dom(titleEl).appendChild(tr.v.ui.createScalarSpan(snapshot.ts,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument,inline:true,}));const tableEl=document.createElement('table');Polymer.dom(this).appendChild(tableEl);const rowEl=document.createElement('tr');Polymer.dom(tableEl).appendChild(rowEl);const labelEl=document.createElement('td');Polymer.dom(labelEl).textContent='args:';Polymer.dom(rowEl).appendChild(labelEl);const argsEl=document.createElement('td');argsEl.id='args';Polymer.dom(rowEl).appendChild(argsEl);const objectViewEl=document.createElement('tr-ui-a-generic-object-view');objectViewEl.object=snapshot.args;Polymer.dom(argsEl).appendChild(objectViewEl);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-object-snapshot-sub-view',tr.model.ObjectSnapshot,{multi:false,title:'Object Snapshot',});'use strict';Polymer({is:'tr-ui-a-power-sample-table',ready(){this.$.table.tableColumns=[{title:'Time',width:'100px',value(row){return tr.v.ui.createScalarSpan(row.start,{unit:tr.b.Unit.byName.timeStampInMs});}},{title:'Power',width:'100%',value(row){return tr.v.ui.createScalarSpan(row.powerInW,{unit:tr.b.Unit.byName.powerInWatts});}}];this.sample=undefined;},get sample(){return this.sample_;},set sample(sample){this.sample_=sample;this.updateContents_();},updateContents_(){if(this.sample===undefined){this.$.table.tableRows=[];}else{this.$.table.tableRows=[this.sample];}
9061this.$.table.rebuild();}});'use strict';Polymer({is:'tr-ui-a-single-power-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],ready(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;this.updateContents_();},updateContents_(){if(this.selection.length!==1){throw new Error('Cannot pass multiple samples to sample table.');}
9062this.$.samplesTable.sample=tr.b.getOnlyElement(this.selection);}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-power-sample-sub-view',tr.model.PowerSample,{multi:false,title:'Power Sample',});'use strict';Polymer({is:'tr-ui-a-single-sample-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},ready(){this.$.content.tableColumns=[{title:'',value:row=>row.title,width:'100px'},{title:'',value:row=>row.value,width:'100%'}];this.$.content.showHeader=false;},get selection(){return this.currentSelection_;},set selection(selection){this.currentSelection_=selection;if(this.currentSelection_===undefined){this.$.content.tableRows=[];return;}
9063const sample=tr.b.getOnlyElement(this.currentSelection_);const table=this.$.content;const rows=[];rows.push({title:'Title',value:sample.title});rows.push({title:'Sample time',value:tr.v.ui.createScalarSpan(sample.start,{unit:tr.b.Unit.byName.timeStampInMs,ownerDocument:this.ownerDocument})});const callStackTableEl=document.createElement('tr-ui-b-table');callStackTableEl.tableRows=sample.getNodesAsArray().reverse();callStackTableEl.tableColumns=[{title:'function name',value:row=>row.functionName||'(anonymous function)'},{title:'location',value:row=>row.url}];callStackTableEl.rebuild();rows.push({title:'Call stack',value:callStackTableEl});table.tableRows=rows;table.rebuild();}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-sample-sub-view',tr.model.Sample,{multi:false,title:'Sample',});'use strict';Polymer({is:'tr-ui-a-single-thread-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],get selection(){return this.$.content.selection;},set selection(selection){this.$.content.selection=selection;this.$.relatedEvents.setRelatedEvents(selection);if(this.$.relatedEvents.hasRelatedEvents()){this.$.relatedEvents.style.display='';}else{this.$.relatedEvents.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-slice-sub-view',tr.model.ThreadSlice,{multi:false,title:'Slice',});'use strict';Polymer({is:'tr-ui-a-single-thread-time-slice-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){const timeSlice=tr.b.getOnlyElement(selection);if(!(timeSlice instanceof tr.model.ThreadTimeSlice)){throw new Error('Only supports thread time slices');}
9064this.currentSelection_=selection;const thread=timeSlice.thread;const root=Polymer.dom(this.root);Polymer.dom(root.querySelector('#state')).textContent=timeSlice.title;const stateColor=tr.b.ColorScheme.colorsAsStrings[timeSlice.colorId];root.querySelector('#state').style.backgroundColor=stateColor;Polymer.dom(root.querySelector('#process-name')).textContent=thread.parent.userFriendlyName;Polymer.dom(root.querySelector('#thread-name')).textContent=thread.userFriendlyName;root.querySelector('#start').setValueAndUnit(timeSlice.start,tr.b.Unit.byName.timeStampInMs);root.querySelector('#duration').setValueAndUnit(timeSlice.duration,tr.b.Unit.byName.timeDurationInMs);const onCpuEl=root.querySelector('#on-cpu');Polymer.dom(onCpuEl).textContent='';const runningInsteadEl=root.querySelector('#running-instead');if(timeSlice.cpuOnWhichThreadWasRunning){Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(timeSlice.getAssociatedCpuSlice());Polymer.dom(cpuLink).textContent=timeSlice.cpuOnWhichThreadWasRunning.userFriendlyName;Polymer.dom(onCpuEl).appendChild(cpuLink);}else{Polymer.dom(onCpuEl.parentElement).removeChild(onCpuEl);const cpuSliceThatTookCpu=timeSlice.getCpuSliceThatTookCpu();if(cpuSliceThatTookCpu){const cpuLink=document.createElement('tr-ui-a-analysis-link');cpuLink.selection=new tr.model.EventSet(cpuSliceThatTookCpu);if(cpuSliceThatTookCpu.thread){Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.thread.userFriendlyName;}else{Polymer.dom(cpuLink).textContent=cpuSliceThatTookCpu.title;}
9065Polymer.dom(runningInsteadEl).appendChild(cpuLink);}else{Polymer.dom(runningInsteadEl.parentElement).removeChild(runningInsteadEl);}}
9066const argsEl=root.querySelector('#args');if(Object.keys(timeSlice.args).length>0){const argsView=document.createElement('tr-ui-a-generic-object-view');argsView.object=timeSlice.args;argsEl.parentElement.style.display='';Polymer.dom(argsEl).textContent='';Polymer.dom(argsEl).appendChild(argsView);}else{argsEl.parentElement.style.display='none';}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-thread-time-slice-sub-view',tr.model.ThreadTimeSlice,{multi:false,title:'Thread Timeslice',});'use strict';Polymer({is:'tr-ui-a-single-user-expectation-sub-view',behaviors:[tr.ui.analysis.AnalysisSubView],created(){this.currentSelection_=undefined;},get selection(){return this.currentSelection_;},set selection(selection){this.$.realView.addEventListener('customize-rows',this.onCustomizeRows_.bind(this));this.currentSelection_=selection;this.$.realView.setSelectionWithoutErrorChecks(selection);this.$.relatedSamples.selection=selection;if(this.$.relatedSamples.hasRelatedSamples()){this.$.events.style.display='';}else{this.$.events.style.display='none';}},get relatedEventsToHighlight(){if(!this.currentSelection_)return undefined;return tr.b.getOnlyElement(this.currentSelection_).associatedEvents;},onCustomizeRows_(event){const ue=tr.b.getOnlyElement(this.selection);if(ue.rawCpuMs){event.rows.push({name:'Total CPU',value:tr.v.ui.createScalarSpan(ue.totalCpuMs,{unit:tr.b.Unit.byName.timeDurationInMs})});}}});tr.ui.analysis.AnalysisSubView.register('tr-ui-a-single-user-expectation-sub-view',tr.model.um.UserExpectation,{multi:false,title:'User Expectation',});'use strict';(function(){const EventRegistry=tr.model.EventRegistry;function getTabStripLabel(numEvents){if(numEvents===0){return'Nothing selected. Tap stuff.';}else if(numEvents===1){return'1 item selected.';}
9067return numEvents+' items selected.';}
9068function createSubView(subViewTypeInfo,selection){let tagName;if(selection.length===1){tagName=subViewTypeInfo.singleTagName;}else{tagName=subViewTypeInfo.multiTagName;}
9069if(tagName===undefined){throw new Error('No view registered for '+
9070subViewTypeInfo.eventConstructor.name);}
9071const subView=document.createElement(tagName);let title;if(selection.length===1){title=subViewTypeInfo.singleTitle;}else{title=subViewTypeInfo.multiTitle;}
9072title+=' ('+selection.length+')';subView.tabLabel=title;subView.selection=selection;return subView;}
9073Polymer({is:'tr-ui-a-analysis-view',ready(){this.brushingStateController_=undefined;this.lastSelection_=undefined;this.tabView_=document.createElement('tr-ui-b-tab-view');this.tabView_.addEventListener('selected-tab-change',this.onSelectedSubViewChanged_.bind(this));Polymer.dom(this).appendChild(this.tabView_);},set tallMode(value){Polymer.dom(this).classList.toggle('tall-mode',value);},get tallMode(){return Polymer.dom(this).classList.contains('tall-mode');},get tabView(){return this.tabView_;},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_.bind(this));}
9074this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_.bind(this));}
9075this.onSelectionChanged_();},get selection(){return this.brushingStateController_.selection;},onSelectionChanged_(e){if(this.lastSelection_&&this.selection.equals(this.lastSelection_)){return;}
9076this.lastSelection_=this.selection;this.tallMode=false;this.tabView_.label=getTabStripLabel(this.selection.length);const eventsByBaseTypeName=this.selection.getEventsOrganizedByBaseType(true);const ASV=tr.ui.analysis.AnalysisSubView;const eventsByTagName=ASV.getEventsOrganizedByTypeInfo(this.selection);const newSubViews=[];eventsByTagName.forEach(function(events,typeInfo){newSubViews.push(createSubView(typeInfo,events));});this.tabView_.resetSubViews(newSubViews);},onSelectedSubViewChanged_(){const selectedSubView=this.tabView_.selectedSubView;if(!selectedSubView){this.tallMode=false;this.maybeChangeRelatedEvents_(undefined);return;}
9077this.tallMode=selectedSubView.requiresTallView;this.maybeChangeRelatedEvents_(selectedSubView.relatedEventsToHighlight);},maybeChangeRelatedEvents_(events){if(this.brushingStateController){this.brushingStateController.changeAnalysisViewRelatedEvents(events);}}});})();'use strict';Polymer({is:'tr-ui-b-dropdown',ready(){this.$.outer.tabIndex=0;},get iconElement(){return this.$.icon;},onOuterKeyDown_(e){if(e.keyCode===' '.charCodeAt(0)){this.toggle_();e.preventDefault();e.stopPropagation();}},onOuterClick_(e){const or=this.$.outer.getBoundingClientRect();let inside=true;inside&=e.clientX>=or.left;inside&=e.clientX<or.right;inside&=e.clientY>=or.top;inside&=e.clientY<or.bottom;if(!inside)return;e.preventDefault();this.toggle_();},toggle_(){if(!this.isOpen){this.show();}else{this.close();}},show(){if(this.isOpen)return;Polymer.dom(this.$.outer).classList.add('open');const ddr=this.$.outer.getBoundingClientRect();const rW=Math.max(ddr.width,150);this.$.dialog.style.minWidth=rW+'px';this.$.dialog.showModal();const ddw=this.$.outer.getBoundingClientRect().width;const w=this.$.dialog.getBoundingClientRect().width;this.$.dialog.style.top=ddr.bottom-1+'px';this.$.dialog.style.left=ddr.left+'px';},onDialogClick_(e){if(!this.isOpen)return;if(e.srcElement!==this.$.dialog)return;e.preventDefault();this.close();},onDialogCancel_(e){e.preventDefault();this.close();},close(){if(!this.isOpen)return;this.$.dialog.close();Polymer.dom(this.$.outer).classList.remove('open');this.$.outer.focus();},get isOpen(){return this.$.dialog.hasAttribute('open');}});'use strict';tr.exportTo('tr.ui.b',function(){const FaviconsByHue={blue:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAlrklEQVR4Ae2dCXwdVb3H5265yc3SpEk3ukEXCqVUBLT4Wm19oFKtaN0fKijy9CMguPBarIJsIiA8qsjTh7SllAoFeVBaEARkLV1ooXtL0yRdkqZp9u3uy/v/5uY/OZm75y659+acdnLOnP385zv/+58zZ2YMinTplIAhzsoDceaT2RKUQLwHIMFqh0V2ll0kn4XA6byv9/Vw834kX19e7keRQCzhRyk6bJJYRvD1YTXuhRdeqDj77LPPtNls400mU7HRaCzFFggEVJ/iSqhsicFgKIXUKL6bvB6fz9fj9/u7Kb4bPjaK67Xb7Q0HDhw49IUvfKEd2XUb7WpxHIYvXRgJ8AELkzRso1gmKrwkBfjG7373u5Zly5ZNKS8vn2G1Ws80m83YphPI0wnQUemQFp0IzQR9tdfrxXbI5XId6ujo+PCuu+6qXbNmjYfa9NMmngDoBmt+hIe944M53AUhwqwCvXTp0qJrr732opKSkk8XFhZ+imC+gIAryAZB0QnlJuB3OJ3Ot3p6el5/6KGHttxzzz0O6pse+GEP+3AGnKE2EhgG0tAFt99++4WkoT9tsVgW0DaH4guzAeg4+uD0eDxbaXuDNPzrt9xyy3bS8G4qB8BF6OOoKr+yDDfAB0B91VVXFf72t7+9lLT05QUFBZfQoYWtnA+ux+12v0ra/W+/+tWvXlq5cqWTBjUsYR8OgDPU8KGtjR9++OHHx4wZ8+2ioqKv0X4lbfnsWh0Ox9+bmprWzpgxYxsNFBpd1Op5bcbkM+AMtgr11q1bTz/zzDP/gy4Qv02zGtPzmehIY6MZmmq6UF176NChJ+bMmXOkD3QR9khFczY+HwEXwTbV1NTMI229FCYIXSTm43gTho8uUgMwYUir3zN16tR3qAIfbXkJej4dcIxF1dbkm44ePfqZqqqqpTT7MZf2pYsgAZqN2dTS0nLP5MmTX6EsDDrDHqFU7kTnA+Aa2BMmTDBv2bLliyNHjlxCZsgFuXMYhr6nZL7saGtru/eiiy7aUF9f76UeAfKcBz2XAUffVbgJbAuB/Y3KysoldONl5tDjkrs9oBtL+1tbWwH6UwS6/mZSzg0sVwHXTJG9e/deOGXKlOWksS/MOelncYdJo2+vra396axZs7ZTN0XTJYt7Hdq1XANc1dg0DNOqVatGLl68+DZa/3E1XTwCeOn6JLCly6ncU9+mNLnBZRLOYPAHHI5H2l5/8TdHbl3SRjUx6DkztZgrgKOfDLf5xIkT36moqLiLzJG0rAFJAomsKDp1W51S74IZnSIX8DcrXV3LlK/Oe5xqZPsckGc96LkAOPpowrZ79+5ZNK31BzkzQtKI4qxvV0dJTSLJ592kHKu7QfnPxXupFmhzbFkNeTb/tGsae/bs2Va6wr/lrLPO2izhTgLQZIuaaMp1yvTNyvNbb1HomFB1ZtrAUNYqymztGMNt2rhx44T58+evohs1n0r2+AyX8mnT4KIAvZ63lA82f1/55TX1FJ21tnk2As4zJObq6urP0BTgCmlri2TFDmcEcHQDtnlz4w+Uyz+Hm0Rsm2PuPGtcNpkomtZesGBBYXNz8210d+05CXfWsBLaEQNd5I+e8JyyYettCh0zyoBrpawyWbJFg2twv/jiixPnzZu3mhZFzQ2VqIyJRwIZ0+BiZzyeTcqebVcqS350nKKzxmTJBsDRB3WWZN++fXPpps060tpVouxkODEJDAng6GIg0KI0Hv+mcsXnN9FeVsyyDLWJwnCbadXfomnTpm2UcCcGc1blNhiqlNMmblT+9soi6hdmWKC4hlSJDiXgaBsCsNDKvysnTpz4JIWLaJMupyVgKFLGjHtSefrNK2kYFtpwjIeMs6FqWIOb7kr+Yty4cX+m2+0446XLBwkESHuPrPqz8uymX9BwhhTyoQBchZseQiigdcj30grAO+SDCPlAtW4MeLikdMQdyvqt9yp0rCl1SDR5pgFX4V64cGERvdhmRWlp6XU6scjdfJNAcfF1ysqNK5Q5C2F+ZhzyTF4AqHCPGjXKSjdwHqUHfr+ab8cyW8YzZLMo0QTgcj2jfO/S7ynNzS7KxtOI0UqkJC1TGlyFm3pccPDgwfsk3Ck5drlVidX6VWXFxvvAAG0Z0+SZAJzhtjQ2Ni6ld5D8KLeOjOxtyiRgK/6R8uy7S6m+jF14phtwmEBow3L8+PGr6FnJm1MmLFlRbkqgtOxm5am3rgITtIGNtJrJ6QQcHcdPkYUuKL9MsybLKSydlICijKxcrjz+0pdJFKzJ0wZ5ugBnuM27du2aT7ffV9JUIGCXTkqAJEAsjJ2wQlm1fj7tpPWOZzoAB9yo1/zSSy/NoLdJraMwFsdLJyUgSqBQGX/GOuX+FTMoEpCDmZRr8nQBbqIHgovnzp27mtaWlImjkmEpAU0CYGPmR1crF19cTHH4hU854KmuECcMOmo9derUAyNGjLiawtJlWAJZOQ8eTQb27keUyz7xM8qS8jnyVGpwNk0s+/fv/4qEO9oRlWkDJGArvVpZ89JXKC7lMyupApzhNm/YsGH6GWec8eCAAcgdKYFYEhhz2oPK3X+ZTtlSao+nEnDzxWRL0eNmj0q7O9bRlOkhEoA9ft6cR5WPq/Y4IE+J+ZyKSjS7m56jvK+srEzeqQw5epmNyDkbXBRPT8//Kl++6EaKSok9nqwG10yTHTt2fJpWB0q4xYMlw4lLoJhu5z/y3KepYEpMlWQBV7U3mSXFNN99H71YPfEByRJSAqIEwND4yfcpFyzgqcOkGE2mMGtvy2OPPXY9vZjnTLGfMiwlMGgJWCxnKktv/QmVT3pWZbCAM9zmxx9//IzRo0fj0STppARSJ4HykTcqN//3GVRhUqZKMoCrC6no6Zy7yTSxpW5ksiYpAZKA0WhTPj73dxRKakHWYABn7W3Zs2cPvjH5eXlApATSIoGi4i8oK56/tA9ysAr2EnKDARxlzJdddlkJ3dC5N6HWZGYpgUQlMH7SvbRWpYSKsamSUA2JAs7a2/ynP/3pOvrc9eSEWpOZpQQSlYDZPFn54a/xcDoDnpAWTxRw5DfRJ7DL6HUPP060rzK/lMCgJFA+8sfKZd/CqlRc9yXEbCKZWXtbli1b9gN6EX3loDorC0kJJCoBk6lS+ebVP6BiCU8bJgI48ppxU2fs2LHXJNpHmV9KICkJVFZdo3zsY7j5w6ZKXNXFCzhrb/PDDz/8HbK9x8ZVu8wkJZAqCZjNY5Wf3vkdqo4Bj8sWjxdw5DPRt3KKTjvtNNxhkk5KIPMSqBz1E2Xq7ITekBUP4Ky9LevWrfsGae9JmR+ZbFFKgCRgLpik3HL3NygUty0eD+Cq9h4/fnwBbTdIQUsJDKkERo+9QSkr47ubMfmNlQHaG5v56aef/ndaUDVtSAcnG5cSMFumKXc/fDGYpI35jCiXeADH3KOZ7lp+Sy6HjShHmZApCWA57dgJ3wKTtIFNQB7RxQIc6abLL7+cniEesTBiLTJBSiCTEiguWah8/isjqEkAHpXhaIk4M5BuXrp06ZfoOUtcvUonJTD0EjCaipSvff9L1JGYU4bRAEeaCjh9P+fr0jwZ+uMqe9AnAZgpo0Z/nfYY8IgcR0qA9sZmeuCBBybZbLZ/66taelIC2SEBKzF5zTJMWbMdDl5DXDTAVe29aNGib5D2jpQvpEIZISWQEQkYicm5C0QtnjDg6uwJPY72tYx0WDYiJZCoBMorGXDW4iE1hNPMOBMQb1qzZs0MmvueHlJKRmS1BCZYYZoOA2exTFd+dT/eTsuzKSFaPJwkNMDPO++8+fLiMvdA+Z8JJcqPN+9RGnocoZ0PBELjFF2cbjdYIEykvq4wWehd4APb05dBari4gaWCe/p8AT+uFOdT4j7aoJTB7oAGowFurqqqmicBV5QPmgLKX3b7lVbHANmRLLPVVSjnGT6hzFRa44dHHEqIHhQThXC8+YQiqQ66K9rnvakoD1O9DPiAJvSAo8vYjMXFxWZ6U9VFA3IP052fv+5VGntzBW4+SCYl4KtQ/L3tpCBJ0+WpC/hKLgKrvb29DDj41Q4WIvUOcaZHH310lslkGqlPHI77uQd38CgZTBbSVBVKXk+CGYwjS758/ywwS1sIz/oI1uCmmTNnflKaJ7l/OmuQG3migQ9xnvg0W2gaN/2TfYDzoLQDFw5wVYOT/T1XAq7JKacDKuS2csVg1B/unB6W2nkwaiiumEs7rMEBueZEG5zpN9Gt+QKyv+douWQg5yXAkPvtHYO78MxiCZisJXNsVRML7C3HndRN5li1w/WnNPaNDz744Ll0ZpRm8Zhk1wYhAYacjPJBlM7eIgHFUFryxZvPpR6q/Io9DavBJ0yYcJY0T0Qx5U84CDnNrtjb82dQZHqZysefRQPaRltEDc4JRlr7PS1/Ri9HopeAwWRWjLYKQiF/NLnBWgpmocGZY3XYoomCBOybaPXgNKnBVfnk7R8V8qLyvIAcrBoLiqaCXdoYcvXYMeB8KmPfSIBPUVPln7yWQD/kjEEOD7fABsBVfvtGoTIdYoOPHDnSXFhYODmHhyq7noAEgpCPUPyOTiql3QBMoIbsyGo0F04uInYdbW3RTZRbb711AnXZmh3dlr3IhAQYcpooz0RzaWmDTk1r0YLrwS4GwRaJuoMGmXrjOeecI5fHQiLDzKmQF9ILXFXIGYfc8q2jZ4JdBlyFnE9ZHolx1KhR8gJzmMHNw9Ugz8U7nrijWToyZCZFtMEBu7GoqGgiD1j6w08CKuTWUsXv6s65O56GApVdlWM+cnoNbqB3D+JzEdINYwkw5DlnkxvNYJetEdVEETU4Ioy0RLZEzoEPY7r7hh6EvIQ0eQ/FZP/sCpilPgNwKG0VbgyFdzTqCXC8ZFw6KQEAoxgLS3NoPbkR7GosIyxqcBxSgwQcYpCOJWDAOnIrKUbS5AH9M5GcKUt8OiEZcK1HbIMjQiVfAq7JRgb6JADIDQR5tpuuAaMGuGaisAbXIiTgkutwEujX5L2UnJ02uSEIOHdfZVpqcBaH9GNKIKjJQ6yAmOUylYHsa+6cprBZg3MfpA3OkpB+WAkENXmxEnDbs2+e3KABrvU9RINTih56LbMMSAlAAqomL7BRQFOU2SGYgMouOqV1jGHWIrxer50+8iofV8uOQ5a1vVA1OUEecOPtWdlhkxsUH/2saE5lmufBtVifz4erCOmkBGJKIKjJ8V0ETT/GLJPODAG/X8+uOg+O0087BaHB09kJWXd+SSCoyYuUgIceaB/qeXL/AA2uci3a4JB8QGrw/AIwE6NRNbmlcMht8oBftT40ZY2xsw2OsJogAYcopEtUAqomt5Am9w6dJg8ENPNagzysBs/2W7KJCl/mz4wE8OYsg3loNLnKbNAG1+DGqFmDI1LdpA2eGRjytRX19XAEecDr6kMqcyM1BNTrR41ltCxqcAYc6yOlkxIYtASCmhyP9WZ2doVmUXhtL1hWHWtw3lccDkcb1H22L6zROiwDWSmBoCa39mnyDHSRmPV7nG36lliDs1r3t7e31+kzyX0pgcFIQNPkGbrj6be3gV287Z95Vk0U7MCpkdXV1bXyIjMoEPk3eQmokJsKglOIAD1tm6J4Wo7UMsd9PQ+wBse+CvgzzzwjAe+TjvRSIwGGnB4qS02F4WohE8W58zk94CGzKP6XX3652+VyNdN6lFHh6pFxUgKDkQAgDygWxeDzDKZ47DJeV3PvvtfpVQChJgoKs80C+8Xf09NzRJopEIt0qZQAIFfou0GpXoUIVv0uxxHqq8ov+cxzyDShmsFut9elcmCyLikBloAKuZEm71Jsi/vdKrMi4GqTbIMz8cjgw0yK1OB8SKSfagkMgDwVlZMGDzg6oJR9tIFh5lmzwdEMR/pPnjxZiwjppATSJQHVJg/QRaffm3wT9Gvg624GswPgRsXhNLh//fr1u2nRFYCXTkogbRJQbybCXEl2diXgCzh2bthNFQHwAZAz4BgEgEaijz4C29zZ2VkjzRSIRbp0SiAIOT7MgCnExDeyThS/s7uma+vaZqpANFHUbusBZ8i9ra2tWyXgqozknzRLQIMcF56JOiLc19O6lYrB1hmgvVGVCDj2VQ1Ovq+mpmaLBBwikS4TElAhx7vJE55dIWhb6rZQH6G9WYNrXRYBh/ZmDe5buXLlVj85LacMSAmkWQIa5Im0Q4x2bXkUGpzhZo7VWsIBrp4JGzZsaCc7/KDU4olIW+ZNVgL9kMe2x4P2d+dB+86X8NFP1uARAUffWIPDnvHSdOE2CTjEIl0mJRCEPA57nAj3dzXj468qr+SzDa51V9TgiGTAcTZ4yQ7fLAHXZCUDGZSABnlUm5wgba3dDFZpE00Uraf6Bx5YveNM8C5fvnzbJZdc4iwuLqYH7Yavq+ytURq70rRIKIvEGlmZAYswDjZCRBchLUJ0ULeGqYzaQL8AfEj/PA5nz8u/Zw3O2ntAC+EAR0bVnnn33Xe7Gxsb35gyZcqlxhR9mGj/oU7liWfrlPZOd5jRZGfUbK9bmUnPGIYIeEB3B8i1PyUKBHTo+vPFEYrcfpR6orYfR6NZmiUQ8Cs9XU1vbDiyEysI2f5myLVe6wFHAqSlanDyPTt37nz+9NNPTxngv/3DHqW5lV4tkGPO67ErPi+9pgw/mYAGfjyO8zJo+vL6dH2dmc6vb1/fP31/9Pn1+7HK69P15fXt9eUP+LxKR/OB5yk7flrFOfABNehtcCSKgHuvu+66t2n5bGtk7TGgvpg7uQg3BmW22BSTGa8pIwehx+s4L3wxzOXFOM4j+sjHecSwmEcMi3nEsJhHDIt5ENY75IXjMhxWI+P4E6u8Pp3bYV/fHsWDRb/f1Vq3b9XblBzxAhNFowEOte+hlYWO+vr6f6QKcDSaq06F3FQYdeUEow9fDGfLmMU+ieFI/RPziOFU5Y9UT/T4gOJ2tP/D7e7Bmz+hwcNeYKKOcIAjHiaKZqa8+uqr6+l9KYgf9g6QG/sgxwHXbxAQgyCG9fmGal/skxiO1B8xjxhOVf5I9USLV8j+7mjd/Rz1RzRPwGuIiwQ4zBScFaDas3Tp0r0dHR2HpRYPyo8hD+7Jv5mUABj0eeyHjx58Yh+1y4CDVTAb4qIBzpCjEjfNiW+Qd+775dcPeTRdI9NCf+OSlQl98M3RvAFM0sbmCVhNCHAcSah8TYuvXr16PT2MjAql65OAapPjXXzRnP4iCnk5Llw5ToMvhsPlzYU4cQxiOFLfxTxiuC+/3+/xNB9/cz3tito7rHmCIpE0ONJwRrAd7l61alXjkSNHXpBaHKLpd5hZMfELJ3FA9Buy8oESw/p8vC/mEcOcnmu+OAYxHGkcYh4xTPlx38DtaHnhZP3rjZQEDR5xehBF4eIFXDVT1q5d+whp8YhnS7DK4fdXhdyEd/FJl04J+ANef3PDpkeoDTZPkgIcfR2gxe+7776aY8eO/VNq8dDD2A95sjamLE8/eSTggRsuLj2Otn821D5fQ4lxaW8cpWgaHOnQ1pqZQmHXU0899VePxxPWoEeB4ewYchwadhzmw4V4jhPDnJ6oL9YhhuOtRywjhuMtr88n1iGGOZ8YJ4Y5PZKv+H2BthOb/0pl8F5mEfCoFkUswNEHVICLTdVMufPOOw+QFn9TanGIJtTBHjeSucIHCjkQZsfhSOmcL14/2fqSLa/vZ6z6YqXr68M+1p24nK1vHq3++wHaZfMETEaFG2XjARzaWgOcwq4XX3zxYdLiKC9dGAkw5Pqf2czso0OMkRhGXG5u9N5vpb3p/YdpAKy9AR+YjGlJxAs4a3GcPa4lS5bsOnHixGapxUkaEVwQcnqrasYdw80wowMcl/HOJN0gtLfb1bH5yMHHd1FlDDhr75QAjk6yFsdVKyB3bty48UE5owLRRHYa5JgSY8dhniZDPMeJYU5P1BfrEMOR6hHzIBzLcV8j1aePR31cRgxzPjFODPel+xWvv6N5x4OUhCWoYA8MxqW9KV9cJgryAXBocQbcdeONN+6kd4k/J9eoQDyRnQq5se+Fk3yg2UcxDvcdULUmjotcbeQULhtvffr8XC6Sj5a5TORe9KdwXq5PXz5KOn0WUHH2nnyudt/qnVSMtXfMqcH+xuMHHGVYi6sXm2jwpptuWk4PJrfLNSqiSEPDGuShSTImggTUNSdee/uxA2uXUxaGO27bm6uNxwbnvKzF8fOABp2vvfZa89atW/8oLzhZRJF9zVyJnEWmCBKgb14qPZ01f2xv3o03VsE8AXNx295cVSKAo4yoxVXIFy9e/Aw91rZLXnCySCP7Jpo+NNLnPMQvHXAYfjz/UDuXEcNcVowTw5yeal9sQwxHakfMI4bF/HhiyuPq2LV/293PUB6GO2HtjfoHA7g4o4LGnWvWrLnL6XT6pKkCkUZ3gNxAL4HnA4rcCMfrOG+k8rHS420n3nyJthcrPxgK+D2+5oa37qI+qHyRj4vLhLU3xpAo4CjDgOOMUrX4HXfcse/AgQPr6I20SJcuhgQYcvVijS++pN938RpQHD0n1h378Cms99Zrb7CXkBsM4GiAIVenDGnfccMNNzzU0tLSKE2V+OSvmiuYXZFOkwDmvD2e7saa/X99iCLxOBoAF7W3ljfewGABZ1ucpw2d7733XusTTzxxE33+xCNNlfjED3vcqELON2WGr0+WCS03cXtaTmy6qbutppUkyHAnNO+tl/xgAUc9DLmmxWnacAeB/hDdANK3I/cjSCAIebi3d0QokKfRZHcrvZ01D9XtW72DhqjX3mBtUC5ZwGGqaFqcws5LL7109dGjR9+WN4DiPx7DHXLc0HE5Wt7es/m21WCob4PiTOimTjiJJwM46gPg2PiCE2ee/Wc/+9lvyB5vkvY4SSNO12+uxFkgT7LB7vZ6uptq9678DQ3JThsYggkAppgvCg7OJQs4WkUnMH2CMw6dc9ANoJNPPvnkL8ke90p7nCQSpzPS9CFscryHbzhsEEvA7/a2NLzzy46WXSdpV+WH/KQuLFEvu1QAzrY4mypqJ+lVE9u3bdv2Z9jjEnIWd2wfkBsM+W+T9813093K6j/X7l+9nSQjwp3UhaUo5VQAjvoY8gGmysKFC1fSgqxX3G6ckNLFKwEVcu3rY/k5swK729Hb9Mqed29fSXLRmyawCAZ9YSnKOVWAo06GHDTjQgGdti9atOjXdNH5noScpJGAU00VI74+ln+OXv2gOJ0t7x3cduevaXQqJ+TztGDK4IbkUg24aI+rkNNXIrquuOKKG+kBiYNyURZEHr/LR8j99OFXt6v94KH377/R4WjtImkAcBFuMJQS7Q1Jp0NFoHNiBw0Eube2tnbT/PnzFzz3UtMIA76mJV1cEjAYcIhInLgTkuMOZonH3XW8dvdff9zZur+JhtNLGwMO8zal2hviSgfgqBduAOhki7u6u7u3NHWO+yxNidkk5EEhxfM3CHmfSHN0zQq98Fjxunta6w+v+9GphneO0Wj0cKdUc7Nc0wW4qG608AcffNBrMlvfLx0x5XMGo7lAQs6HIbbfLytNnLELZUkOrO2mF2b2nDz64rX1hzccpG7p4YbmBuApd+kCHB3lI8G+2vnOlr0dBYVV+4tKxl1MswWW/gOX8rHlXYUsq+C8ChaeZv8/vOqYvo5hb2l48+d1+9fiNrwId8rmuyMd7HQCLrYJyDXQ20/tOGUxF+6wlU1aYDQWFPGBEwvIcHgJ9MtKE2f4jFkQq9rcnu72xrp//OTIgccx181wY8477XBDBJkGXAO9o2VPm+JzbioZMXWewVRQ2n/g0C3poklgoKyyc57cTxeUXnfHCVrXfU1D7fr9NJ4e2gA4w530OpNoMuK0TAGO9ljlaJB3tVd3u1yNb5ZVzPy40Wyt7L+Y4u5JP5IE+iFnsUbKmfl4zHN7nG3VdXtWXNvU8GYd9QBgZxxujDyTgKM9OAZc9e1dDY6ejoOvl1fNnm0yFY1TaApR/QhoMK/8G0UCGuQGEmUWKHK83jhA89z0gvoPDu1cfn1b864T1H29WZIRzc1iyzTgA+CmTqj7Lkeru6156xsVoy+cQk+fn44DJyHnQxTd1yBXRRk9bzpTsSrQ7/MoLvvJN/a/d9uSno5jLdQew40bOVghmFG4Md5MA4424UJA97rtvub6f71VPupcq9lSNttgNBLj8oZQUFzR/w6UU+ZVOeD2eV2B3u7ax/a9e/PvXI7OTuqxCDcuKDMON6Q2VICjbYacJ/jpHYte/8mjr35gtVUdLCwaPYfmyunDlFKbQ1ixXBByiDRzTl0RGPBiPXd7S8Pbyw68d+/TdAz5YlK8QzkkcEMSQwk42mfI4Wugt53c3uB0nHyttHz6THo4dywOnjRZIK7ojiHPxOw4lg4EYJI4mnfW7V95ff3h9bupd9DarLlhkohTgZk9+/pElS2AA27eVOjt3fW9p4699kr5qFkmc0HZR6TJ0nfEYngDzZUYmQeZrN6ZhEnSeXj1nk2/vr2nsw5vn4LGZrj1i6cG2VLyxYYacIyAz2zW4hro9HPnO3nstZ2FhZX7Cm1j5tCDAEWkyqU2j3HctV+7FJvjWE+CWRKvt6utpeGtX+7f/vv/6zNJGG7McfPFZNpuv8cY/oDkbAAcHRIhF0FXw21N2084HfWv2UonjaHPhEwJaikJ+oAjqdvRINfFD2ZXfSILF5I+Fz2kUP/akT0rlhyv2bCX6mKNDcD1N3CgqIbc4RzPJof+YOoEJx7eioNPl+FDlHSxqdgQnj77h5+oGPeJXxQUlE3Cg7qZ+EmmdnPWYYYjGRec/nMrbnfnsbaT2+6v2f3wZqoPJghDzVOAvNwVDbLCSqbplJTNNsAxKP5hBeR4OBGfSQDkDHpRYWFFyYzzf/Gd4oqpV5JGt+IZxlRqLGorr1zwmdjEmOMZEp/X4erpqFld/f4Djzud7ZghgabGBrDZ1sYsCa/lTqwhKphOly0min6MLCT42KAV2Kbzeb1Ob9Pxf+32utteLSqZOJ4++jRJmi16Efbv95/8rDsi++pzFX3mCM1kvXPkw7X/Vbd31eskc3H6D9pbhBvHJ7mfiv7upjSUjRpcHCD6xyYLa3PW6DBbVM0+4/yffKq88iPXmq0jJuOdf/J2vyjC/nBQk/fviyHRzva6u462N+96qHrng29RHtbUrLUx9cc3bljpsEISq8yKcLYDzkIC5Aw6bHNAzva5CrnZbC6c/pHrLykbefYVZmv5NAk6iy66PwBsV8fhrrYDj1Xv+uOr9GYyBpt9ntcWbe2s1NriiHMFcPSZtTlAhzZn0AE4ww7fOuP86z45ovLcKyzWkecEL0RN0kYnwYguaGP78MJLetl8277O1j2Pffj+n96mPAAZG8BmHxobYPMdSYCdtVqb+qa5XAKcO40+49qBQYc2Z42uAk77qj919tUfqxh1wZXWosrz6cEKslxQbPhOLwZNFKz4I7D9broL2fp+e/OO1TW7H3mPBMNgi75ojgBqvpCkYG64XAQckkW/sYlmCzQ6Ty2KoBeccc53Z5eP/uiXrIWjFpjNRTaD+no0FM1/2DWo6cIRb3D1eh12l7P5jY5TH6yv27cGt9cBsQg1wtDWvIl2dk5obeq75nIVcB4AQ86gs+nCoLNmV7V8YcnY4ikzvr3ANuKMz1mLqi4k0E3q+7nVu6OoIn+cOv9NUyJ4+ACfBKG3t263d9a9XPvh2jecPSdxg4a1M4BmyBlqnvaD1s4ZcyTc0ct1wHlMetBhi7CNziYM+6qmrzrtwtHjJi/6rK1k/OfoiblpAJ1hz0XNzpoai6AANTafu/uwvafh5cajG//ZcmL7KZIJA8xwiz7SoK1ZY+c02DQO1eUL4OJ4grZH0E6HRmetDsAZetE3T5q6eHr5mPPmWQurzjcXls8i0K20VFcx4iWYeA9JFpoyA4CmJatYI0JQu7zOjr0uZ8v7HU073zlW82w1dR7aGPAC5nA+0llj8z2HnDNFaAxhXb4BzoMMUtlvo0Ojs1bXA69qdEqHby4sLLeOm7p4Vln5tAsshRXnFxSMOJseirbgAhXPjAZvmrDYgn7/jRRuPjV+EGLUxbzRBSKWqdJ7RnChGKBPftAt9AMeZ/v7XR2HdzTWPLvX6eyAycFQA2jeGHBOY23NGhuNcEMUzA/HRyo/RhM6ChF0aHbRVhe1O0POceybiovH28ZNW/SR4pJJ55oLiieZzLZJJottPFY2BoHHWnWAT1Wr0owkUn18JJYoHv9xUQiQNd/roJfnNPi89mNed++x3p5jexoPb9zV29uAu4qAlDUx+ww2fI6Dz0CL9nWkzlD23HZ6qef2aKL3HmNl84VBZ83OQEfyOR98lDWOnjB3dFnFOZOttjGTLIWlk81m20RaMlBpUEw2Ay2QoRPARg1SffQXF7F9vtpFaOEgxbSrhuhDAV57gBZ+BBSf3e9ztXq99uMeZ/dRl73pWFf7vqOn6jfBhmYoRe0rwhsuLOZlu5p9tTv5/Gc4Ac7HEWMWN4ZW9AE6Q83Q8z6fHKKvQq+r10DmjrmoZEKx1Ta6yGItK7aYy7AiUvF4u+weV1evy37K4eip7yWzAmBCi4obwwyfta7oI8xAM8TYF/NwWbHevNXWNPYQNxwBF4Uggo4wg8q+CL0IuAg350Ec18H1oi0xjH3RMXiI4zBrVwZcDyxDy1DzPudnn+tjX2x32IQhfOmCEmBZMJDwGXQxLMYBbqSxz5AjDg4+b7wPH9DBMXz6fUCKOEAs+gwv+0gTw9jHBsd+cG+Y/uUDMUyHH3XYLBsGNJIvQq3PgwbEesQGGUDRR1i/Mez6eHEf9WJfOp0EWPi6aLkbQQIsLwYZ2aLFiekRqhwAJkPK8KJMtLhIdcr4PgnwwZECSU4Cejnq91G7Po7BFVvWx+n3xbwyHIcE/h9VLWRYHWXC/QAAAABJRU5ErkJggg==',green:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAltklEQVR4Ae2dCXQcxZnHR3NoNDp8SD7kU7bxFXCchBhMYoLNmhCcOBBykGw2gYTkPV6AhGXD2sTZJQcJG3jsgw3hscuCsTEsOAQW1sbY+MAHxpYtHzI+5EOy5UMStnWPZkZzab9/j75WTWt6NKO5Z6r82lVdXV1d9e/ffPq6uro7zyBDIhXIi7DyngjLyWJRKhDpCYiy2pwoztrpxSwCb+d1bayFm9f1Yu3+cj2MAgOJH2bXnNnEGiHWppW8d999d/inPvWp6YWFheNMJlOR0WgswdLT06PElFdM+xbn5eWVQDXK76TI7vP57H6/v5PyOxFjobwuh8Nx4dixYye+9rWvtaK4ZqFVNY/TiGUIoQCfsBCbcjaLNVHgJRUQG3/4wx9ali1bNmXYsGEzrFbrdLPZjGUagTyNAB2ZCLXoh3CJoD/p9XqxnOju7j7R1tZ2/LHHHqtbtWqVh47pp0X8AaAZbPmRzvnAJzPXhRBhVoBeunSp7b777ruuuLj4xoKCghsI5s8TcPnpIBT9oNwE/D6Xy7Xdbrd/8Oyzz+5+/PHHndQ2LfA5D3suA85QGwmMPLLQ+b///e/nkIW+0WKxLKBlLuUXpAPQEbTB5fF4KmnZShb+g0ceeaSKLLyb9gPgIvQRVJVdRXIN8CCo77777oI//vGPt5CV/n5+fv5NdGrhK2dDsLvd7k1k3f/n17/+9frly5e7qFM5CXsuAM5QI4a1Nh4/fvza0aNH/4PNZvs2rZfRks2h2el0/u2TTz55dcaMGXuoo7DoolXPajcmmwFnsBWoKysrJ02fPv3v6QLxH2hUY1o2E63XNxqhOUkXqq+eOHHitblz557pBV2EXW/XjM3PRsBFsE21tbXXk7VeCheELhKzsb9Rw0cXqT1wYciqP37FFVd8SBX4aMlK0LPphKMvirWm2FRfX//lESNGLKXRj3m0LoOOAjQas/Py5cuPV1RUbKQiDDrDrrNX5mRnA+Aq2OPHjzfv3r3766WlpUvIDfl85pyG1LeU3Jd9LS0tT1x33XVrzp8/76UWAfKMBz2TAUfbFbgJbAuBfUdZWdkSuvFyZepxydwW0I2lo83NzQD9rwS69mZSxnUsUwFXXZHDhw/PmTJlytNksedknPpp3GCy6FV1dXX/OGvWrCpqpui6pHGr+zct0wBXLDZ1w/TSSy+V3n777b+j+R8/pYtHAC9DrwIO9xHD5c5XDF5fS0ya0MWo3+nwvrBx47nfLLlvKypj0DNmaDFTAEc7GW5zQ0PDD4YPH/4YuSMJmQMSExVpsPPxhjsMHt/FuLWkp8dwqb3dt2zhnD2vUKXsnwPytAc9EwBHG01YDh06NIuGtf5DjoyQGmHC4XMLwmwd/Caft2fnmXr3A3d8Zf9hqgXWHEtaQ57Of9pViz179mwrXeE/MnPmzF0S7sEDGuueJnPevCuusO76sPq6R2bPHm2l+sy0gKG0NZTp2jCG27R27drx8+fPf4lu1NwQ6wnKlf0TZcFF/bwe//Z9uxw/vvfuj89Tftr65ukIOI+QmE+ePPllGgJ8UfraIloDp5MBOFoB37zxQvdPvr5gP24SsW+OsfO0CenkoqhWe8GCBQWXLl36Hd1de1vCnTas9GtIXp5h5LgJ1re3H7z2dwsWjMTUYlwrpZXLki4WXIV73bp1E66//vqVNClK3mLvh1RkGcmy4GJr3B7/zkOVXXfd86PD5yg/bVyWdAAcbVBGSY4cOTKPbtqsJqs9QhRPpqNTIBWAo4U0l+1yw1nXd29duH8nrabFKEuqXRSG20yz/hZPnTp1rYQ7OpjTqTRNUhwxtsK69t3tcxZTuzDCAsOVUiOaSsBxbAhgoZl/d02YMOF1SttokSGDFSCabeVj819/v3LOXdQNCy04xynjLFUHVuGmu5K/HDNmzHN0ux2/eBmyQoEe84gRluc2V13zS+pOSiFPBeAK3PQQQj7NQ36CZgA+Kh9EyAqqgzpBQ4h5w4aZH6URlidwrmljSix5sgFX4F60aJGNXmzzYklJyf1BqsiVrFOgqNh0/5ubJr24aFEp3M+kQ57MCwAF7pEjR1rpBs4KeuD3W1l3NtOkQ6kaRQnXfZfL/+Y3bqz7Ed3f6KZyPIwYbpe4bEuWBVfgphbn19TUPCnhjsu5y6hKCgqM33pr4+QnwQAtSbPkyQCc4bY0NjYupXeQ3JNRZ0Y2Nm4KFBab7tlSdc1SqjBpF56JBhwuEI5hOXfu3N30rOS/xk0tWVFGKjB0mPlfN1bOuRtM0AI2EuomJxJwNBx/iix0QfkNupJ+mtIySAUMpSPyn16z5fPfICnYkicM8kQBznCbq6ur59Pt9+U0FAjYZZAK4J6+aczE/BffWn/1fJIjoXc8EwE44Ea95vXr18+gt0mtpjQmx8sgFVAVIEgKJkzJX/2fq66aQZmAHMzE3ZInCnATPRBcNG/evJU0t2SI2iuZkAoIChiNeUM+O6d45cLbxxVRNv7Cxx3weFeIHwwaar148eJTQ4cO/SmlZUiyAuk4Dh5Ogs5O3wsLPrfnQSoT9zHyeFpw/FhQn+Xo0aPflHCHO6Vym6hASYnpp29v+dw3wQ4tYChuhjdegDPc5jVr1kybPHnyM2IHZFoqMJAC48Zbn/nzi1dNo3Jx9cfjCbh54cKFRfS42Qrpdw90OuV2rQLwx6/9QvGKhQsVfxyQx8WKx6MS/EgUv5vmGTw5ZMgQeadSe/aSvJ5pPrgoj73D91/zr97zEOXFxR+P1YKrrsm+fftupNmBEm7xbMl01AoUlRjvWb1u9o20Y1xclVgBV6w3uSVFNN79JL3LLuoOyR2kAqICYKhisu3JBQvG8tBhTIzGsjNbb8vLL7/8C3oxz3SxoTItFRisAhaLcfqyP435Oe0f86jKYAFnuM2vvPLK5FGjRuHRJBmkAnFToLTM8tCfnpk5mSqMyVWJBXBcWFro6Zw/0Z+Vwrj1TFYkFSAFwNQX5w/5N0rGNCFrMICz9bZ8/PHH+MbkV+UZkQokQoGiQtPX/rb+M7f0Qg5WwV5UYTCAYx/zrbfeWkw3dJ6I6miysFQgSgXGV9ieWHjrqGLajV2VqGqIFnC23ua//OUv99PnriuiOposLBWIUgGLJa9iya8q8HA6Ax6VFY8WcJQ30Sewh9DrHn4WZVtlcanAoBQYXmr62fe+NwGzUnHdFxWz0RRm621ZtmzZT+hF9GWDaq3cSSoQpQImU17ZnfeO+gntFvWwYTSAo6wZN3XKy8vvjbKNsrhUICYFykZa7r1mwUjc/GFXJaL6IgWcrbf5+eef/wH53uUR1S4LSQXipIDZklf+m99N/AFVx4BH5ItHCjjKmehbObaxY8fiDpMMUoGkK0BW/OezZxdH9YasSABn621ZvXr1HWS9Jya9Z/KAUgFSID8/b+KjT02/g5IR++KRAK5Y73HjxuXT8oBUWiqQSgVGlVseoCnZfHdzQH4HKgDrjcX8xhtv/B1NqJqays7JY0sFLPl5U59bVbEQTNLCfOoKEwngGHs0013L78npsLo6yg1JUgAMjhlb8D0wSQvYBOS6YSDAsd30/e9/n54hHrpItxa5QSqQRAWKh5gWffWbY4bSIQF4WIbDbcQvA9vNS5cuvY2es8TVqwxSgZQrYDQabHffU34bNWTAIcNwgGObAjh9P+c70j1J+XmVDehVACyOLs//Dq0y4Loc621g59301FNPTSwsLPyiVFcqkE4K2ArzvvjPv52GIWv2w0P64uEAV6z34sWL76BfjF65dOqzbEsOKQAm5/9diWjFowZcGT2hx9G+nUO6ya5mkAL0WBsDzla8X+tDWWa+uDStWrVqBo19T+u3l8xIawUsplFp3b54NY7mik/703/MxNtpeTSlnxWHk64NKuCf/exn58uLS6086b8+3Pqg4WDNHw0O5yf9Gkuf9+sX6N3twXmaVWwMkUWv+Q7eLVShHk1mv310Kg9Vrt/h/PStQoN/PlVxhBYYa7AbVCwc4PQxzxHXS8ANhkZ7jaGq8W8Gh6ed9MuM4C2ebrD7Jhp6CIJsDr481/UGw4nnqY8MeFB3tYDjF6BY8KKiIjO9qeq6oNI5urL+1L8bOt2XM673PrPf4OjwZDXk/p6e68BqV1cXAx5kxUP54MgzrVixYpbJZCrNuLOagAZnItyQwWQ2GgppXlKeEec8OwON75V+/YErZlHv2A8P6qieBTddeeWVX5LuSZBWGbnCkDs7PQa/PyO7EL7RZI5HTCj+EhXaTwt7IKpfprXgintCBU3kf8+TgIfXNlO2AnJbicVAt7izLoBR2xDLPOoYW/CgP1eiBWf6TXRrPp/877lZp0YOd4ghhyUPNUKRydJYbaa5IyYU5l8+53BRP5hjxYprf9NYNz7zzDOfpl9GSSZ3Wra9vwIMORm9rArUn5Kbfzzt09QphV+xcyEt+Pjx42dK90SUKXvSDDksedYEwnrYyIKZ1J89tOhacN5gpLnfU7Om87Ij/RRgyLPJiFlsZjALC84cK/1GBgdswLqJZg9OzabOcwdl3KcAIC8oNuMtrn2ZGZpCHyxW0xXU/H4Xmgw49xLrRgJ8Sob2VTY7CgVUyLNgnLwXcIXfXgkUpvv54KWlpeaCgoKKKHSSRTNYAQXyIrPB1eXVzOLIrE5ZrcaK0lKbuaXFCbDZYCsuCfcEmcbf/va34ym2cqaMs18BhjyTZ/3TmKB17ncngV1Y8X6AM/XGq65SPsaZ/WdV9jBIAUBuLSSfnPFgIjIoHj2pCFO7xR6oFpy7YRw5cqS8wAw69bmz0gc5cMiwQE0uKrH0G0kRfXDFQbfZbBMyrGuyuXFUQIGc3p/Q7fSRT65O6YjjERJXVX6hCewqHPNRsILAFjyP3j2Iz0XIkMMKBCA3ZdwQosloBLsqyziFogXHBiNNkS3OhrFRdE6GwSsAyPPJkrvJkmeCHVeYNeUBcPbBlc7ziko9AY6XjMsgFVDmkysXnqAjAwIN54NdlWWkRQuOLuRJwCGDDKyA0ZRnsNrM5JOn/zi5yZzHgHPz1VEUZCjkS8BVbWSiVwGGXCEkjVUxGlXA1b85bMHVDAl4Gp/BFDaNIXe7vGk7uEL+iOheK0zzKAqkkxY8hQBlwqEBeX4BJmilZ2uNRuX6UeGYW8gWnNelD85KyDikAgy5uzv9xslNRvUiU217PwtOW7TQq4VlQioABRTIrTQzNc1MeU9eD9gNacHVPzper9dBH3mVj6tJlsMqwJB7yJKnyzg5vTXAITRaYZrHwdV8n8/Xpa7IhFQgjAKAnOZhp83gSo/foGVXGQfHD1D9EcKCh+mT3CQVCFKAIfe6yZKrFAUVSdqK39cjsqtwLfrgaEiPtOBJOx9ZcyBAbs7H3JUUd8mnWPCgn5l4QalskICn+CRl6OEVyMld8brp9VkpMuU9fj+7KCrkIS14v9fpZqjostnJVYDuJJIlJ6RSYMrBrK9HAVyFG71nC45MZZE+eHKhyLajMeQ+jz/phtzvy4MPrrIMbUULzoDbs0102Z/kKgDITRZj0g253+8Huwy40mm24KoCTqezBeZezglXJZGJQSgAyA0EOSx5MgLcfp+7p0V7LLbgTL2/tbX1tLaQXJcKDEYBtuSD2Xcw+zg6u8EuflHMs+KiYAVByTx58mSdvMgMCCL/j12BpEFO9Laed9Yxx70t72ELjnUF8DfffFMC3quOjOKjAEOeyMEVfOyqevtFLeD9RlH8GzZs6Ozu7r5E81FGxqd7shapAI1mwCen5zz93sT45H5Pz6UTey52ktb9XBTor1jv3o1+u91+RropkEWGeCoAyI0EebyHV8Bqt8t7htoKuEMCjn4AcqWAw+E4jQwZpALxVkCBnG7tK5DDZ4nT4nb5wawIuNJ09sFFC+7DSIq04PE+tbI+VoAhj5dPjiHCbrsXgNNTGMEWXBwHVyFvamqq48bIWCqQCAUAeQ8ZcJoBGHP1+KF0NHvALCw4c6zUG8qC+995551DNOkq9iPH3HRZQTYrgJuJmKQVa6CvOffUfNhwiOoRXRSFXwYcx0AGCvjoI7CX2tvba6WbAllkSKQCsUKuXGB2eWsr37twidopuihKs7WAM+Te5ubmSgl4Ik+trJsVYMgHMz0E/ndXm6eS6qI3E+m7KHwsxYLTiq+2tna3BJxlkXGiFQDceDe5EiMd6UIPzLU0OneD2d4FDKtBz4L7li9fXkmzs4IKq3vJhFQgAQow5NFUTYT696w5DwsuuieK/416QgGu/BLWrFnTSn54jbTi0cgty8aqgAo5rj0HWHB7vtvhqTnyUVMrlWYLDrhDAo62YQOsNvwZLw0X7pGAkxIyJFWBgHsy8CHhf9tb3Pj4q8IrxWBXhRs1iBYc6ww4fg1e8sN3ScAhiwzJVoAhJ1dc/2YnNaq5oWsXRQBcdFHU5oo3epAJwBly79NPP73npptuchUVFRWoe+RgwnXRZmh3YBQqu4OuMQuyiX0a6GQHCuhs1D1GX7VBKVhp7APgtfvSS4dcm1bUsQVn6x105FCAo6Diz3z00UedjY2NW6dMmXKL0ag19kHtiHil9nyj4b2dVYaOLvEVFhHvnpKCXs9XDUa3m44dpF1QW7TiB23UWdHdR+cw8DlDBlCgE/S30A5h9tOpLubsaG/r6JWnJ+gNrtbmrRdO7sYMQva/GXK1nVrAsQGaoCDMvufgwYP/N2nSpLgB/sJb6w0tHWhTZgV3t4teidBNjYbkkEhPem2/uCyjpt1fu127f7LLa4+vbZ+2Pdry2vWB9tdu1+6vPV6gvN/vMzTUHv8/Ku2hBaz2gxs1hTLLqIEB995///07aPpss661QS1RhEyEG93LtxbQKxH4+7gQPdLAZRGLad5fzOMyYoxyXEZMi2XEtFhGTItlxLRYBmltQFkE3ofTSmYE/w20v3Y7H4dj7fECrorP42mu2rZhB23VvcDEnuEAh9n30MxC5/nz59+LF+A4aKaGAOT5wbxpO6M9X9jOedqyqVjntujxo21Tostrjxfheldnx3tuu91JxWHBQ15goqpQgCMfFpytuGfTpk3v0PtSkJ/zAZBbLL2QMyRiDIUYCjEtlkllWmyTmNZrk1hGTMervF49YfL99JbNpvrat6k5onsCXvsFPcDhpuBXofjhS5cuPdzW1nZKWvGAfhaGvJ+cMiPRCoBBj8t16tCOTUfoWAw4WAWz/UKoi0wUQmGGHJW4aUx8TVlZ2YP0DR9sz/kAyBG8HsgjQ7IUAOD2jvY1dDwMa0F8hjsk4HoWHO2FyVet+MqVK9+hh5Hl2YQyvQGQm/PJXQkXcKcCge9YcFrJDPFftOVDVJFWWdH2Z4Dy9PpjT92R/e9QH8EiPAwwGtI9oXxdHxzb8ItgP9z90ksvNZ45c+ZdOf8K0vQFC42sKJAzwNoYRfmkiWltOV4Xy4hp3p5psdgHMa3XD7GMmKbyALKrs/3dMx8faKQkLDgAB6MhrTflRww4fi3uV1999QWy4rq/FlSYi0GB3GLJxa4ntc9+r9d/5tjHL9BB2T2JCXA0PsiKP/nkk7Vnz559X1rx/ueVIQ9z8a+OJMsygYGmaHTAXVdnZ+f7x/bsqO0FfEC4cZbC+eDYDmutuimU7v7rX//63x6PR/dPAnbK1QDITcoQYq/fDSHwp5hjMR3I7b9d70+3Xj7XPdj6Yt1f266B6htou7a+3nW6c9lTf/Lwf9PuuJ0suidhPYqBAEdzUAEcecVN+cMf/nCMrPg2acUhTf9goYtOk5ncFT5RKII0B07rbedykcax1hfr/tp2DlTfQNu19dE6Rk4c9o5th3d+cIxW2T0Je3HJ1UQCOKy1Cjilu9etW/c8WXGuQ8YaBVTINflydXAK+H007+TUyedpb7begA9MDuhJRAo4W3H8erqXLFlS3dDQsEtacVJDJ0jIdYSJMhvW29nVuevAtvXVtCsDztY7LoCjSWzF4dgDctfatWufkSMqkEY/AHIzja5gLjMHTgcm9AfyOQ9lOM3bo43FOsS0Xj1iGaQHCtG2D/XxPmKa2yPmiWne3uP3+Zvqjj9D21y0gD0wGJH1pnIDXmSiDAIAD7rYfOihhw7Su8TflnNUFH10/zPTRafJbFZOMp9ojrETp/mEinm6lYbZEG192vLcDr042vZp69fuH247psR2tDS/XbVl/UHaj613RKMnLFEkLgqXZSuuXGzigA8//PDT9GByK/6MyKCvAEOuX0Ju0SoAprzd3a3VO9Y/TdsY7oh9b64vWsDZF8cBXZs3b75UWVn5Z3nByXLqxwHI5c0gfYWCt8B6Nzde+HPj6dN4VhDuCZiL2Pfm2qIBHPuIVlyB/Pbbb3+THmurlhecLKl+DH9cHULkYuyfI45kwX68j5jmfcU8Mc3b4x2LxxDTescRy4hpoTwezXN1dVVvfeuVN6kIwx219Ub1gwGcrbhysYkGrFq16jGXy+WTrgokDR8UyE00iZNPKIojHWngsnr7D7Q90uNEWi7a4w1QHgz5vF5f3ZEDj1ETADdfXEZtvdGFaAHHPgw4flGKFX/00UePHDt2bDW9kRbbZRhAAYYcWMslWAMDPcxgb768mm7qYL631nqDvajCYADHARhytuLOBx544NnLly83SlclMv0BuZFGV2ToU6CH4HY7nI37Nr/3LOXicTSt9e4rHGFqsICzL66Oi+/du7f5tddee5g+f+KRrkpk6pvplr4CObsbORwDKBpy9pyuqX74YkN9M60y3FGNe2uVHyzgqIchV604DRvuI9CfpRtA2uPIdR0FFMjlU1L0pQcvjZo0PHvggw37SCqt9QZrgwqxAg5XRbXilHbdcsstK+vr63fIG0CRnw+GPFf9cbpbaejqaNuxZfXylWCod+G7lmAsJYDjDOLgWPiCE788x4MPPvgb8sc/kf44qRFhCECeez45/O5up/OTqo3v/oakwuvOwBBcADDFfFFycCEWC85HRCMwfIJfHBrnpBtATa+//vqvyB/3Sn+cFIkw4Ja+URxCzHKfHGaZ/tJ76SmdX9FrIJpoVeGHYrDEw4KUHHyIB+BoJxrDrorSSHrVRNWePXuegz8uIY/8BCmQG7P/zQVgAn735aYLz+3fsq6KFBLhjunCUlQ7HoCjPoY8yFVZtGjRcpqQtdGtvLhSPKxMh1MgYMkBefZ65TRJ0NDZ1rpxy2vLl1NHta4JDCaYijnEC3A0hCHnURU02rF48eJ/oYvOvRLy6M6ViVwVoymepye64yeytI8sd1dH+94tb6z4FzDSu/CwYNzgRh/iqSAAF/1xNNhBX4nouPPOOx+iByRq5KQsSB55YMizyRXHiEm3vbNm99o3HnJ2dHSQGgBchBsMxcV6Q+lEOHtonNjAPILcW1dXt3P+/PkLPth/eGgePqclQ0QK4L3synvBs2BKMmYIuhz2c/s2rf1ZY33tJyRAFy0MONzbuFpvCJwIwFEvQhDo5It3d3Z27naYCm6mGXWFPNE9UFT+H04B/vhAgPHM9Mv9fvpglNPZfGjnpntOHzl0lvqrhTuulpv1TBTgogVX0wcOHOiix7j2Dx899is0HJYvIefTMHCc1/uFjUwckcL9EHphpv34gY/uq9nzUU0IuGG5AXjcQ6IAR0MZbI6VxjfV17UVlQw5OqR0xEKah2GRkEd+TlXIIW2GGHK86tjtcjnqjx74pwNb38dteNFyx228W0/FRAIuHhOQq6BfqD1+0WIp2Dds1KgFNCRmkz65KFX4tAp5Bvjk8LndDkfriQN7fn5g6waMdTPcGPNOONxQMtmAq6DTnasWn8e1s7R8wvVkyEv4xKFRMoRXQDUIiiGnz16n4b8eGud2d9kbqnd+cC+9bu0o9chOCwBnuHEzJyF+N9WrhmQBjgOyBVchv9xwobOro3XbqPGTrjVZLGV8MaW2TiZ0FQhATlKyqrolk78B49z0HsGT+zatua/uyMHT1AKAnXS40fNkAo7jITDgStx++aKz+cLZD8onTZ1NryEeA59c+uUBoQb6X4UcBdPAJ8dwJt5CRTMDD+xY88YvGs+caqCWad2SpFhu1i7ZgAfBTY1Q1umdz+7zp45uHXfFjCn0AstJeUYJOZ+ggWLVXUmxKcesQHqWkm6/t2zd+saKJW0Xmy5T2xlu3MjBDMGkwg3tkg04jonQD3S60vbVVh/cPmbyFGu+rXA2+eRkyGGWZBhIAdYpYMST75H30Bg3fcqlp62p4eWNry7/N3rVWju1WYQbF5RJhxu6pQpwHJsh5wsN+nit13+quupA4ZChNSVDh881mkw0wiKtOcQaKEAnCJrMoMwIpJESj6Orlaa8Ltv2v6++QeeQLybFO5QpgRtapBJwHJ8hR6yCfuFUzQX6U7d5RPn4K8kvL5cuC6QaOKiQJ8EfJ2/bgItJR3vbwb1b1v3iaOX2Q9RCWG223HBJxKHAZP/+FMHSBXDAzYsCPV18dp06eGBjecVkk7Ww6DPSZVHO14D/sbsyYMEYCuDOpNfj7mlpOL9yw6oXf996sQFvn4LFZri1k6diOFpsu6YacLSef9lsxVXQ6c+d79ShqoN05/NI0TByWYxwWWjAQPrmYc96nz7xNeWBhxRofNvpbDl7rPpX2/73f97qdUkYboxx88Vkwm6/h+28ZmM6AI4miZCLoCvp86eON9ibWzYPHVk+mlyWKXBZMC7WdyI1vZKrvdqwrLEJArAxSoJvgna0XNpctXntkqOVHx6mWtliA3DtDRwYqpQHkJJOAe3BXFr88PCmSist+OKqjZZCpK+55bYvVEy78pcFRcUT8eRL3zAZbZWhnwIAM5bAw3/dXfaz9SeO/vve99fsovrggjDUPATI011xwPj8smJpeO++6QY4mhUwzwHI8Zg5vrQKyBl0W0FJSfENt/39D0pHj73LYrVayXWR1pwE0guBGYjRMaeOkNBDtc1NDSs/XLP6FVdnJ0ZIYKmxAGz2tTFKwnO5ozsQ7ZjIkC4uiraPLBJiLLAK7NP5vG63t/bQvkMOR8emoWWjx9Fr0CZKt0UrYd96nyvHtkM/xhwudkfsra0fHtz6/j/v2/zuB6S5OPwH6y3CjfMT25+KvubGNZWOFlzsINrHLgtbc7bocFsUyz7vq9+6oXzK9PsKCgsraE6L4rb0nVSxutxOByx5aA3Yz/aRn+1yOOobT598dte6N7dTabbUbLUx9Mc3btjosEEKXXkKc9MdcJYGkDPo8M0BOfvnCuRms7lg7uJv31Q+ruJOa1HxVLzcEv65BJ0lDB0z2LiAJD/7VNOF+pcr1/5tE72uhMHmmMe1RV87La222NNMARxtZmsO0GHNGXQAzrAjtn5x0Te/VD556p0FxSVX4Y1RmIorQSdlhKCAjfFsL1lse+eRptOnXv7ovbd2UBGAjAVgcwyLDbD5jiTATlurTW1TQyYBzo1Gm3HtwKDDmrNFVwCndSW+5uavXzNu8oy7CocMuRpfVgi8hiF3hxcDLgpm/GFilMfg6OjYf+H08ZU0MrKXNGOwxVh0RwA1X0hSMjNCJgIOZdFuLKLbAovOQ4si6PlXz7959tipM28rKhm2wGzNL8TrGHLlopShxoQo3Fr3drsdXZ1tWxtO1byzf9v7uL0OiEWokYa15kX0szPCalPb1ZCpgHMHGHIGnV0XBp0tu2Lli4eNKPrc/C8vKC0v/0phybA5NI5uogldivuSbePpGAkB3JifjU+CODrbqlqamjYc2LZxq73tMm7QsHUG0Aw5Q83DfrDaGeOOMBRinOmAc1+0oPONInZfxFix9BOmXjVq+py5Nw8rG/kVmp47lV+XFvDVM8+NUS11H9R0S91xqq350oYTVZXvnzt15CKJxQAz3GKMbbDWbLEzGmwRDE5nQ8ygIwbksOhs1QE54NbG5qu+cMO0cZOmXW8bMvTqgsLiWQS7FW95hc+ersAHA+1XXmRJlrqbXqxz2NnRvv/CmZMfHtm1/ST1F9YY8ALmUDG2s8WGC5IVYFM/lJAtFpz7wzH6xbADdF4AuBZ4xaJTvrKtoLjYOuvaL80qGzPx8wVDSq622Yo/ZTSbLLhbqjwzqsxPp9JKCMiXqBGaAMQ4UMD1xU0Y8jsMmM2HJ9ZpLprH6bQfc3V07m9uPLvv8J4dh112O1wOhhpA88KA8za21myxldqpfFaFbAWcT5IIOvx00VcXrTtDznkcm4aWlRXOuGbeZ4aXjfm0xVYwMT/fOtFsLRhnwsMYyvCjUQG/76KVD62NtVIHoNWWUiAmoHFRCJAVX5pi+oKdk+zzBbe7+6zH6Trb2tz48fG9O6vbm5txVxGQsiXmmMFGzHmIGWjRvw7dGCqc6UGreqb3J1z70VcAzjFbddGVYbC1sVhW+aFUzPzMqNETJ1YUDyubaLUVVeRbrRNMFnOZyWguzAvAj9fToZ6AmwPLjxUKCk1EMltoir30OJOjhyD2+b0On8fb7O7uPtft7Kq3tzWf/eTs2fr6mmr40AylaH1FeEOlxbLsfnCstCeb/2PNs7mP2r6hz+ICeNmycwwwGWqGnde5jBgjjUWsN4/cHfPQ0lFF9PidzVpUWFRgK8KMSIPL2eXo7qLRuvZWZ3vLxS5yKwAmuwgcM8yI2eqKMdIMNEOMdbEM78t1ckzFciPkIuDimQ0CkjYwqByL8IuAY7u4jcujPqS5XkoGpbEuBhE4TrN1ZcC1wDK0DDWvc3mOuT6OxePmTDrXARdPNGvBcCLWgsvrDDEgRzmOOT9UXTgW5wM6BIZPuw5IkQeIxZjh5RjbxDTWsSBwHFjL0f9Z8BztfthuszaIwy0i1NpyOIBYj3hABlCMkdYuDLs2X1xHvViXQaMAi6/Jlqs6CrBeDDKKhcsTt+tUGQQmQ8rwYp9weXp1yvxeBfjkSEFiU0Cro3YdtWvzGFzxyNo87bpYVqYjUOD/AZrbm7Ts1rpFAAAAAElFTkSuQmCC',red:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALgAAAC4CAYAAABQMybHAAAk/0lEQVR4Ae2dCZxUxZ3Hq8/pnhkGmOEQuQS5VCTxWHEDBlyNkciakMMkxujGuOvHO24IKCae0UQlKwmyroocoqtozGpA4oFiVAQU5IaRcchwDsPczNF39/5/b+bfVL/p7ume6bur+DyqXt31r2//5//q1XvPIJRLpgQMMVYeiDGfyhanBGKdgDirzYvsLLtIPguB0/lc7+vh5vNIvr68Oo8ige6EH6Vo3iSxjODrw1rcm2++2f+MM84YV1hYONRkMhUZjcY+OAKBgOZTXDGVLTYYDH0gNYpvIa/V5/O1+v3+FopvgY+D4tra29uP7N27d98VV1zRiOy6g06DcRyGr1wYCfCEhUnK2yiWiQYvSQG+8ac//all3rx5o/v16ze+oKBgnNlsxjGWQB5LgA5MhrToh1BL0Fd4vV4c+1wu176mpqYvHnnkkf0rVqzwUJt+OuQfALrBmh/hvHc8mfkuCBlmDei5c+fab7nllguLi4svttlsXyeYzyPgrJkgKPpBuQn4LU6n88PW1tZ1ixYt2vjoo486qG964PMe9nwGnKE2EhgG0tDWBx988HzS0BdbLJbpdEymeFsmAB1DH5wej2cTHR+Qhl937733biYN76ZyAFyGPoaqcitLvgEeAvX1119ve/jhhy8nLX211Wq9lKYWtnIuuFa3272WtPv/3nPPPW8tWbLESYPKS9jzAXCGGj60tfGLL764YPDgwT+x2+3fp/MyOnLZ1Tscjj/X1NS8OH78+E9poNDoslbPaTMmlwFnsDWoN23adNq4ceN+TBeIP6FVjbG5THSksdEKTQVdqL64b9++lyZPnlzVCboMe6SiWRufi4DLYJsqKyunkraeCxOELhJzcbxxw0cXqQGYMKTVHz399NM/pgp8dOQk6Lk04RiLpq3JNx04cOAbAwYMmEurH1PoXLkIEqDVmPV1dXWPjhw58l3KwqAz7BFKZU90LgAeBHvYsGHmjRs3/mtpaekcMkPOy55pSH9PyXzZ0tDQ8NiFF1646vDhw17qESDPetCzGXD0XYObwLYQ2FeVlZXNoRsvZ6Yfl+ztAd1Y2lNfXw/QXyHQ9TeTsm5g2Qp40BTZtWvX+aNHj15AGvv8rJN+BneYNPrm/fv3/2LixImbqZuy6ZLBve7atWwDXNPYNAzT0qVLS2fNmvUA7f+4gS4eAbxynRIwHN8ozDseFQZHTW9l4m/3BBa/8nnDfT97vKqBKmPQs2ZpMVsARz8ZbvPRo0ev6d+//yNkjiRlD0hvqUh3ecsrpwtD2+GEdcMfELUNbWLewNniBaqU7XNAnvGgZwPg6KMJx44dOybSstYf1coISSOKsy4tiJLa8ySPX6wvrxN3TLpX7KJaoM1xZDTkmfynPaixJ02aVEBX+PdOmDBhg4K754D2tqTFKKacPVhsOPEnce+kSQK/IjMdYChjFWWmdozhNq1evXrYtGnTltKNmq/3doLypXyyNLgsP49XfPhOpfjZzCcEbKGMtc0zEXBeITFXVFR8g5YAn1O2toxW9+FUAI5ewDY/UC9+PvrXAjeJ2DbH2nnGuEwyUYJae/r06bba2toH6O7a6wrujGGlS0eMBjFw1ADxetMT4oHpZ2lbi3GtlFEmS6Zo8CDca9asGT516tTltClK3WLvglRsEanS4HJvXF6x/v0vxHXfWigOUXzGmCyZADj6oK2S7N69ewrdtFlJWnuALDwVjk8C6QAcPSSTpa6iTvxwwm/EejrNiFWWdJsoDLeZdv3NHDNmzGoFd3wwZ1JuMlkGjBsoVlf9TsykfmGFBYorrUo0nYCjbQjAQjv/rhs+fPjLFLbToVwWS4Boto/sL14++ri4joZhoQNznDbO0tVwEG66K/nLIUOGPEW32/GLVy43JGAeUiKeqvsv8UsaTlohTwfgGtz0EIKV9iE/RjsAH1IPIuQG1SGjCAhDWaF4qHmBeGzwYIG3EaRFk6cacA3uGTNm2OnFNs/16dPn1hChqJOck0CJTdxaeY94bsZkzfxMOeSpvADQ4B44cGAB3cBZRg/8fi/nZjNDBpSuVZRow3d4xGsjHxT/VlsrXJSPlxGjFUlIWqo0uAY39dhaXl4+X8GdkLnLqkrsFvE90uTzwQAdKdPkqQCc4bZUV1fPpXeQ3JhVM6M6mzAJ9LGJG+v/IOZShSm78Ew24DCB0Ibl0KFD19Ozkr9JmLRURVkpgdIi8Zvqx8X1YIIOsJFUMzmZgKPj+FNkoQvK79CqyQIKK6ckIE4pEQsqHxbfIVGwJk8a5MkCnOE2b9++fRrdfl9CS4GAXTklATwiYRpVJp7bfb+YRuJI6h3PZAAOuFGv+a233hpPb5NaSeHkPGJCFSuXnRIgSGwTBomVb/2nGE8jAORgJuGaPFmAm+iB4KIpU6Ysp70lJdk5BarXyZaA0ShKLh4tls+6QBRRW/gLn3DAE10hfjDoaMHx48ef6Nu37w0UVi7FEsjEdfBoImh2iMX97hR3Up6Er5EnUoPjx4L6LHv27PmugjvalKo0WQJ97eKGLx8U3wU7dIChhCneRAHOcJtXrVo1dtSoUQvlAaiwkkB3EqAngxauuk2MpXwJtccTCbj5kksuKaLHzZYpu7u76VTpegnAHr9svFh2yQTNHgfkCdHiiagEPxLN7qbnKOeXlJSoO5X62UvxebbZ4LJ4yB5/muzx2RSXEHu8txo8aJps2bLlYtodqOCWZ0uF45YA7T68cfu94mIqmBBTpbeAa9qbzJIiWu+eTy9Wj3tAqoCSgCwBIETr4/OnjwsuHfaK0d4UZu1tef7552+nF/OMkzuqwkoCPZWA1SzGvXS9uI3K93pVpaeAM9zmF154YdSgQYPwaJJySgIJk8DgvmL2C/8hRlGFvTJVegM4Liwt9HTO78k0KUzYyFRFSgIkATJVCq88S/yOgr3akNUTwFl7W3bu3IlvTH5LzYiSQDIk0KdAXEEbsi7vhBysgr24XE8ARxnzlVdeWUw3dB6LqzWVWUkgTgmMHSgeu3Ky9oFeNlXiqiFewFl7m5988slb6XPXI+NqTWVWEohTAhaTGPnMLIGH0xnwuLR4vIAjv4k+gV1Cr3u4Kc6+quxKAj2SwIA+4qbrpwjsSsV1X1zMxpOZtbdl3rx5P6cX0Zf1qLeqkJJAnBIwmUTZ/TPFz6lY3MuG8QCOvGbc1DnllFNujrOPKruSQK8kQG/Kuple0Yx942yqxFRfrICz9jY/88wz15DtfUpMtatMSgIJkoDZJE5Z9mNxDVXHgMdki8cKOPKZ6Fs59lNPPRV3mJRTEki5BIb0FbdNOj2+N2TFAjhrb8vKlSuvIu09IuUjUw0qCZAErBYx4i/XiasoGLMtHgvgmvYeOnSolY47lKSVBNIpgWH9xR0lJcG7m93y210GaG8c5ldfffVfaEPVmHQOTrWtJEAbsca8f7O4BEzSwXxGFEwsgGPt0Ux3LX+ktsNGlKNKSJEEsJ121CDxIzBJB9gE5BFdd4Aj3XT11VfTM8R9Z0SsRSUoCaRQAn0LxIyrvyb6UpMAPCrD0RLxy0C6ee7cud+m5yzV50VIGMqlXwL0/Kb9nsvEt6kn3S4ZRgMcaRrg9P2cHyjzJP0Tq3rQIQGYKSP6iR/QGQMekeNICdDeOExPPPHEiMLCwq91VK3+VxLIDAkUWcXXnrhaYMma7XDw2sVFA1zT3jNnzryKtHekfF0qVBFKAqmQABFpnDUxRIvHDbi2ekKPo30/FR1WbSgJxCuBwcVBwFmLd6kinGbGLwHxphUrVoynte+xXUqpiIyWQKBoWEb3L1GdozXxsS/9u/Z2Wl5N6aLFYaTrXRDwr371q9PUxaVePJl/3nzef4uaN28S7hNHunQ2EOgSRa/r1rkuEXild1enr6unecJVHktd9OlwaOJp1LPddEApg92QotEANw8YMGCqApwktmen8K9cIURTI8kv810BdXGI72JR73LR9+ND5jvzOx9nD80u11QhVj1DxRjwkBr0gOMXoGnwoqIiM72p6sKQ3Hl64nv0fhGoPZ5Vo8ff7P5+v2jw+Eil5S7kfQKBC8FqW1sbAx6ixRGpd4gzLVu2bKLJZCrVJ+bjebbBzXNkoTsipfRQo0HTWRybWz7BWvqHkYMn0qjYDg8ZoB5w1uCmM8888yJlnoTIKitPGHIj3R3hyc0lHwCPLbRdRB4A56EF5yoc4Igzkf09RQEelFNWBwB5f3okJhfnE2MqNZumgFk6wC4gDzoZcKbfRLfmrWR/Tw7mUoGsl0Ao5DzVueEXmUyThxcW8heUeVDanMmAIwLnxoULF55Nv4w+Wg71X85IgCE3AoEccjScPr8ZderZNCSNX3lo8ioKk28aNmzYhFz8cyYPPF/DHZAbRKPXmzNrK6B6qM0ygbxP6WCOtaUjWYNzgpH2fo/JVwDyYdxmUuH9zWZN3eXKePuYjGAWPDPH2tD0GhwZTLR7cIzS4Jp8cvY/QN6PIG/KAU0OVouMxtPBLh0MuTZ3rMFBPRzOjQT4aO1M/ZfTEmDIc8Emt5s0wDV+OydNY5oBR5ym2ktLS802m21kTs+sGlxQAoC8r4nMFZp9DQAGIct8m9EwstRuh0XCw9DGqAfceP/992MrGrYzKJcnEjgJOdjIUhcQBbcPHQx2wXRwIGyDM/XGs846S22PzdI57k23AXkJmbAnfNm5dwUAn1mkbe3+ohNwRAVYgwcBHzhwoLrA7A0pWVxWg5xe5Wo8qQCzZjQAuNRs7rKSwhocAwHsRrvdPhwnyuWnBAB5H9LkLZomzy4ZFJmNYFfjmHuu1+AGevdgMScqPz8loEGuafLsGr/ZYAC7bI3A1x6751EgwkhbZIvVGjiLJH99QF5Mmrw1SzQ5mKVFcAAOpa3BjdnjkyD1BDheMq6ckoDQNDntQsQSYjY4ghzsBllGWLbBMQaDAhxiUI4lYCLNWEzmiqbJM/zBIKvByIBz9zUNzica+QpwFofyWQIMObGe0c4kAgx4sKeswYMRCvCMnsO0dY4hb/P5M/YZT7NJ0+AsI41pXkVBJCKUicLiUX4XCQDyIhNWyYP6sEuedEZE0+DcLwU4S0L5YSXAkLdrmjxslrRFGmOxwal3bLakraOq4cyWACAv1DR5ZvWTVlHArmaJcM/YRAn+zfF6ve2cqHwlgUgSYMi7rDNTASYs1b7PH5DZ1Zjm/gXH4fP52oInKqAkEEUCgJz2YWeMRU6Xv3p2NZWO1c3gCqfS4FFmVCV1kQBD7qS3aKX7LXE+v1/W4BrXbKJwxwNKg7MolB+rBAC5jd69Ql5anS8goMGDyhqdkS8otQQFeFrnKGsb1zQ5Qa5p8jSNwm8ImihByMNq8EC6/9akSUCq2d5JAK+H0zR576rpUWkwSyuXETW4Zq9QzQFlg/dIvqpQpwQYche9vDvVb7X1BgRs8CDL6JKswbUEAry1s6/KUxLokQQAeQFtQUz1HU96FzrYZcC1vss2uBbhcDgaoO7VnvAeza0q1CmBDsiFcPlTIxJQ7aTXoetbYw3O1PsbGxv/oc+kzpUEeiKBk5q8J6XjL9Pk9YBd/KSYZ81EwQmcFllRUbFfXWR2CET933sJAHKrZq4k9w4nelrldOwnLwg3wqzBka4lvPbaawpwSEO5hEkgCHkS18kB72v1zXrAg+vgTL3/7bffbnG5XLVms3lgwkaoKsp7CQByC0nBo+nRxIvD7ffXrjve1EI1dzFR0FoQcGRobW2tUmYKxKJcIiWgQU6gJ1qRg9U2X6CK+gq4wwKOcQByLUN7e/s/EKGckkCiJQDI6fUOCd9x2O7zgVkZcK3rbIPLGtyHlRSlwRM9tao+loAMOcf1xge8TT4vAPfREaLB5XXwIOTHjh3b35sGVVklge4kAMhhqngTsC0E9dR6fGA2BG70IZwG97/xxhs7aNMVgFdOSSBpEsDNxA5zpXdWuY/MjVW1zTuoowA8BHIGHIMA0Ej00Udga5ubmyuVmQKxKJdMCQByE/ENfd6Tf6C2xR+ofPFITS31UzZRtG7rAWfIvfX19ZsU4MmcWlU3SyAIeQ8UOYCt93g3keelI0R7o34ZcJxrGpx8X2Vl5UYFOESiXCokAMgBI3lxHTDkqxyujVQU2ps1eLDLMuD4MbAG9y1ZsmSTn1wwpwooCSRZAgx5PM3Qg3L+JTX10OAMN3OsVRMOcO2XsGrVqkayw8uVFo9H3CpvbyXAkMNa6e7AQ6DNXl/5W8fqGyk7a/CIgKNvrMFhz3hpufBTBTjEolwqJQDIAXd3DrDWuj34+KvGK/lsgweLyhockQw4fg1essM3KMCDslKBFEqAIY+mxdGdynbPBvIAuGyiIElz8o0eRLB6xy/Bu2DBgk8vvfRSZ1FRkU3Lnaf/VRaVCM/xmpwffSRlBijCuUjxyBsxLUJCpMfbkB39AvD6/jn8fufjh46wBmftHdJCOMCRUbNnPvnkk5bq6uoPRo8efbmRnphOhGvbWiGO/c9fhaeuORHVpaQOt+8rwlmCb7uHyC6k7UgpUctEKBStTEijnSf6iZfzRGhCyxJvO3K96Q7T42mi2nnig21N5dhByPY3Qx7snh5wJEAmmgYn37Nt27a/nnbaaQkDfP+dTwp3dT3aySrn9HtEu9+r2YYQUCw2IgbIeRk0lOO4cOmIk12q88ttI8x9jdR/fX79eXfl9en68pHG7w34xW5nzV8pv4cOeQ08pIpwahltMuDeW2+99SPaPlsfTUuE1NjNSTbCjSEVGS2i0NihD2KFG+U4L3w5jDQ4OY7zyL6cRw7LeeSwnEcOy3nksJwHYb1DXjguw2EtMob/uiuvT+d22Ne3h3iw6Az46he37PyITiNeYKJsNMCh9j20s9Bx+PDhvyUKcDSarQ6Q2wnyaNf4nMa3nTFWjsuEcXNfYu1fsvP3RCbQwLU+598a3W4HBaHBw15gou5wgCMeGpy1uGft2rVv0OskEJ/3DpDbjCYNWoZE9iEghkIOy3nSGZb7JIcj9UnOI4cTlT9SPdHiAeZ2Z93r5MnmCaK7uEiA40eCXwWo9sydO3dXU1PTl0qLd8iPIe84U/+nUgJgsC3g+XJJ8+7d1C4DDlbBbBcX7iITmZCZIUclbloTX1VWVnYnfcMH6XnvADmcKwDZKpcqCUBN13jbVpHnpoPNE+a1SzciaXBkRF1BLb58+fI36GFkVKhcpwQ0Td7lS4xKPMmUgFv4PG+3HXmD2pC1d1jzBP2IBjh+FSgIM8W9dOnS6qqqqjfV/iuShuSwsmJTkEsSSV4Qa9+1Pseb77ZWVVMr0OBgE4yC1bAuVsA1M+XFF19cTFo84q8lbAt5EKkgT80kuwMB/7q2I4upNTZPegU4eh2ixefPn1958ODBd5QW7zqhDHm0q3+V1nMJkPIW9f72d149UVHZCXi3cGOWomlwpENbB80UCrteeeWVZz0eT8Q/CSiUr64DciwhnnQcjnbjArk5PV6fy3KL+va6q6+35fX1d1dfd+n6+vjcL/yBjx3Vz1J5Fx2yeRLVougOcPQHFeBiUzNTfvvb3+4lLf53pcUhmq4ON4IKDB2QY3Lg2JfDPHFyHMLxOq67p/X1try+v93V1126vj6cd9jezr+vaCrfS6dsnoDJqHCjbCyAQ1sHAaewa82aNc+QFkd55cJIQA85w5cKH91hiORwKtpOVhs+4nij89gzNB7W3oAPTHZrScQKOGtx/Hpcc+bM2X706NENSouTNCI4QG4lTZ5qx3AzbGif41Ldl0S0B+1d73dtWNy4ezvVx4Cz9k4I4Ogna3EY9oDcuXr16oVqRQWiiexOavKTiOEyC44vtzisRXbGcxznicfnsrHWp8/P5SL5+v531zd9/fry3aV7aOVkk+P4QsrnpAPsgcGYtDfli8lEQT4ADi3OgLtmz569jd4l/rraowLxRHY2TZPjY6kd/5CTJ1kOR0qPXHP4FK471vr0+blcJF/uc/gehMbq69eXj5buoy2xR31trz/duGMblWPtHdPqCfciFhOF87IW1y420eBdd921gB5MblR7VFhE4X2GPHyqig0ngY49J97GxU27FlA6wx2z7c11xgs42+Jo0Pnee+/Vbtq06U/qgpPFGdkH5FhdUS42CeD5qb2exj997qzFG6tgnoC5mG1vbiUewFFG1uIa5LNmzXqNHmvbri44WaSR/QLaZstLiJyLrXP4sRwox2XkMJeV4+Qwpyfal9uQw5HakfPIYTk/tHej37X9vuMbX6M8DHfc2hv19wRw1uLaxSY6sGLFikecTifegYg6lYsiAUCO1RWeUGRFOFbHeSOV7y491nZizRdve93lB0Nu+qD8O22HH6E+AG6+uIxbe2MM8QKOMgw4flGaFn/ooYd27927dyW9kRbpynUjgSDkeP+HOkJkEKBfwCF/68oXmvdgv7dee4O9uFxPAEcDDDlrcccdd9yxqK6urlqZKrHJH5BbeqRfYqs/G3NhzftEwF39ZNPORdR/PI6m195xD6ungLMtzsuGzs8++6z+pZdeuos+f0JLl8pUiWUmGHL82c73A69hcwm/5/3WQ3eVOxrw2gWGO651b73cewo46mHIg1qclg23EOiL6AaQvh11HkECgNysNDltdPKLfe6GRU837d5CotJr7x5rzN4CDlMlqMUp7Lz88suXHzhw4CN1AygC0WGi8x1y3NCp8To++lXN+uVgqPPgu5ZgLC2AY6rQOA6+4MQvr/3OO++8j+zxGmWPkzRidJq5YuiNvomxoQzLBru72e+pWdS46z7qWjsdYAgmAJhivijYM5cIiaITWD7BLw6dc9ANoGMvv/zy3WSP0zeGevzjo6ryy2H50EKQR7pNnmvx0MvugN/7vuPw3Vucx47RbGv8kA+WeFmwVxAkAnAQjM6wqaJ1kl41sfnTTz99Cva4gjz2OQLk+DBTrjswAbt7r6fhqacbdm6m8cpw9+rCUpZdIgBHfQx5iKkyY8aMJbQh6123Gz9I5WKVwElNnrurK16C+4i39d05NeuXkFz0pgkUZkL+9CcKcMwdQw6acaGATrfPnDnz13TR+ZmCnKQRh4OpYs5Rm9yjXVS2f3ZX3YZfk0g0TsjnZcGEwQ1xJxpw2R7XIKevRJy49tprZ9MDEuVqUxZEHrtjyHNpjRwrJvU+R/nDjZtn13scJ0gaAFyGGwwlRHtD0snY3obOyR00EOTe/fv3r582bdr0pmXv9MVXbpWLTQImklWHQGWRxlY203IB7kaf69CC5p037XDU4osCbXQw4DBvE6q9Mf5kAI564UJAJ1vc1dLSsnFUZctltKOuUEHeIaRY/gfkcBBotq6k+KnzJwKe+mUnym9c13roIA1FD3dCNTfkBZcswGV1Ewxv3bq1rcBk+Xycpd836c+vVUHeMQmx/M+yCgozlkIZkoe2mYrWgKf19ROVt/y55cty6pYebmhuAJ5wlyzA0VGeC/a1zm9z1jaVme17hluKL6HVAgtPXMJHloMVsqxCBJrh4+yA292+tv3Ifz7btAu34WW4E7beHUkMyQRcbhNzEpyXTY5jx+kJly2jrSXTSZPbeeLkAiocXgIsq6Aww2fLiFjY3Cf8nsbX2/bf9mzjLqx1M9xY80463BBCqgEPgr7VWdvQbvCuH28tnUo2eR+eOHRKuegSCMqKTHOY55l44F0mDQHn0eXNX9z8yomKPTSiVjoAOMONmzlJsbup3qBLFeBokJVOEPJyV2PLUW/738+2DbjAZjCV8cVUsHcqEFECgDwoyIi50pOAde46n6NiYePuW9a2HfgH9QJgpxxujD6VgKM9OJ4XzT/gOeHY7W5Yd65t0CS70TRE24nRuWrQkV39H0kCDHmmrK1gZnH7/ZjXsfWRhs23b3HUHKW+682SlGhullmqAQ+Bmzqhndd6He5PHDUfTC48ZXShwXyagpynp3ufzRUIMp0OuwLpWUq6/d72wd21G+fsdzfVUX8YbtzIwQ7BlMINeaQacLQJ1wX0Fr/b9zfnwQ/PKxhUUGKyTjIJo4Enr6OI+j+SBGQ5YcU81Qfgdga8gQpP0/O/qP/4d41eB77yK8ONC8qUww15pQtwtM2Q84VGwEsbyN9srdo60FRYPsRin2wxmOzYS4AHc5WLLoGT5kr0fIlMxY5AvL+k2e9ufK/98Lz7aje9SnPIF5PyHcq0wI2xphNwtM+Qww+CvsFRfaTa2/beuILSM+0G0ynKZIGounephJxNkhpf+7aFjTtvp5WSHdRDaG3W3DBJ5KVAzHHKXaYADrj50KCv8rS0rXFUvXtOwSBTX5P1K8pkiY0NNleSSRNu3sAkKfc0L7+j9sMH97ua8fYpaGyGW795KrbOJyFXugHHkHgu4DPkmjanP3e+Na1V2waa7buHmAsn0/ZRu7YXQ5ksUVE4adIlducKcU0mCW7euBvWOo7c/UDtxr90miQMN9a4+WIyabffow5el5gJgKNLMuQy6Fp4g+PY0cNksoyylgymz4SM7nioS9nmurkMOT0JeUh0j05ga/toiuj78OKQr/W9RY3b57x64stdVBlrbACuv4EDJZV2l2lXb+gPrivxw8OXVgvosNFhp6MQ4TvKzvnni+yn/rLUaB2BJ1/4TzKlKRdGArCVe+PY1m70uw9+7Kz+wx/rt26g+mCCMNS8BMjbXbW/vr1pM5FlMw1wjA19wgHI8SVmKx2AnEG39zfbiu8vu+CasdZ+19HHWAvM2ESqzBYSUXgHDRwv5rxC0ub3uCrI1n6w/tMXGr1OrJBAU+MA2GxrY5WE93LH2xQVTZ7LFBNFP0IWEnwc0Aps0/mcfq/3rbYDO+r9zrUjLMVDaePWCGW26EV48px//Kw5ovl4wxSbI/Ty+Y+fa97zq0WNO9aRzOXlP2hvGW7MT0aYJCdH3RHCWDPZoX9ssrA2Z40Os0XT7HMGnP/1C2yDbulrtI7E64nx7lae1EweXKr7Bq0cybGd7SI7m9a1D3zmqln0WN3nH1J+1tSstbH0xzduWOlErjhSgymKz3TAWQyAnEGHbQ7I2T7XIDebzba7+p1z6STbgGv7GwvGKNBZdNF9GWx6J/eXO5x1z/++aetaejMZg80+r2vLtnZGam15xNkCOPrM2hygQ5sz6ACcYYdf8Kuy8y86zz7g2jKj7SwFOkkkjJPBJlNv9xZH3fOP12/+iLICZBwAm31obIDNdyQBdsZqbepb0GUT4Nxp9BnXDgw6tDlrdA1wOtf828rO+afJtkHXDTLZz7XiNQxUBIXz1XwB1KASa9n0Rilx3Of4fJPz+PKF9Vs/o2gGW/ZlcwRQ84UkBbPDZSPgkKzGKfmy2QKNzkuLMujWG0rPmnRhwZBvDzbbp9sN5kLAni8XpQy1n9AG1I6At51edPnBRlf1G4sbduP2OiCWoUYY2poP2c7OCq1NfQ+6bAWcB4D+A3IGnU0XBp01u6blh5qLi27od8b0Mdb+3xxosp9PoJvwch3Anmvr6Vi/BtRegprA9tX6HJu/dDe+vbhp7wf0RincoGHtDKAZcoaal/2gtbPGHKG+dnHZDjgPSA86TBi20dmEYV/T9FMKTx00q3j0ZSOsfb5ZYrCO0UyYLNbssqbuhBpfS/jyoLvl7f9r3f/O+vajx0kmDDDDLftIg7ZmjZ3VYNM4NJcrgMvjgTbHuAA5NDprdQDO0Mu++Yf9xo2dXDB4Kmn1c/uZCibShWkBPi+CR+gy1ZSRgcbmJzxJQ0t8riafaxdp6883uWo+Xtm0r4LGDG0MeAFzOB/prLFhguQE2DQOzeUa4PK4WKsDdD4Ath54TaNTvJbWz2wr+FHfsRMnWErPG2iyndvfVHAGwW7BBSqA7/jX0QwLL1kXrYAYjg1f+LhMBNC4UCSoPfSmqL21Pufn5Z6GLS83V+xq8jphcjDUAJoPBpzTWFuzxu6ongrkkuM5yqUxyWPB+Bh0va0ua3eGnOPYNw21FRX+oHDcV06zlpxdQvtfCg2mEYVGy1CrMNpZw7Mvwy93AmG9oBlafT6GGPYzQGbfLfyOdr/nSHvAd5B28x2scp/Y+Wr7vu1HnG24qwhIWROzz2DD5zj4DLRsX0fqDmXPbqeXe3aPJnrvGXT2WavLpgyDrfflvNoP5eLiYYMmWctGDjEVj+hrtowsMliG01cayugppEK6k2qnbWCFlNGMxhh81vRsXkAbgywizUuvWWinW+QOT8DX7vL76tsCnkPNXs+Bal/rwR3u+gPrWg/DhmYoZe0rwxsuLOdl84P96BLLgdR8Apynq4O5DqWKMOAFtLIPwBlqhp3P9Xk14DvrCKmbzB3zSGtx0RBjob2fuaCoj8GKHZGiJeBub/K62qr97Y4D7tY2MisAZofyPukzzPBZ68o+wgw0Q4xzOQ+X1ddN2fLD5SPg8syGAEkJMqx6kGXA9WlcDvUhzPWiLTmMc9kxeIjjMGtXBlwPLEPLUPM552ef62NfbjdvwhC+ch0SYFkwkPD14PI5QwzokY99jg9XF1rheEAHx/DpzwEp4gCx7DO87CNNDuMcBxz7HWd5+j8LPE+HH3XYLBv40Q4Zan0+NCDXIzfIAMo+wvqDYdfHy+eoF+fK6STAwtdFq9MIEmB5McjIFi1OTo9QZQiYDCnDizLR4iLVqeI7JcCTowTSOwno5ag/R+36OAZXblkfpz+X86pwDBL4fwN/IZwMBwH5AAAAAElFTkSuQmCC',yellow:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAAC4CAYAAAChOH1KAAAlaElEQVR4Ae2dCZhUxbXHTy+zL8ywDDsSVhEVJQoCkoSIIr4kvohLxO2ZfC8an0mQrCQm+uJ7qHkv5hE/xSQaNokBogkxigaUuLDIpsiOMA4MOwyz7zPd7/yLOZfqnu7p7umeXut83+2qW7du3apTv3v63Lr31rWRkUhowOZViPc6Nutpbq/8WPVO8173sYtJ6kgDusI7yme2nYdTdIZQj0NH1vrgwYNtc+bMyb344otzCgsL87KysnLT0tKym5ub6+rr62vKy8urd+7cWfv444/XlJSUAGSB2VfoKw3HM9KBBqQzOsiSspsEXgmhCMTtDGT2TTfdNDwvL28kQzvC6XSOcDgcQ2w2Wzfenme323M5nuN2uwPql/O5OF+dy+Wq4X2rOV7Z2tpa3NLSsp9Pgv3V1dX7XnnllU/4RKnj7S5edNARl4WjRnQNBFS+njnJ4wKxHtp37NgxpG/fvlPY6l7CAI/kZTgv/YMBN1L64hPAzcAf5eUTXvax9d9x/PjxtZdcckkxH0OAF8gljNThE7acVIdbQLZzDyJuX7du3YChQ4dOycnJ+QJb5M+zFR4Qr73L1v4IW/h3amtr/3nw4MG1kyZNOsJ1FdglBOwpKakItwfQTz31VN4dd9wxnd2LL7J1/hzDPCxRSWDYD7BVf5fdmbeXLl26avbs2dXcFsCdkqCnCtwCNEL7gAEDnBs2bPh8QUHBnenp6TdyWi4vySY1TU1NKysqKl6cMGHCO0eOHGnhBuqQJ71FT3a4FczcqQgdu3btGtWvX787MzMzv8YWun+y0eyvPWzRjzY0NPzp2LFjL44ePXoP52vlRbfo/nZN6PRkhdvyoX/7299245GNe9iHvoMvBC9P6N6KQOX5gvRD9tGX8gjMovvuu6+SixRrjjCpJJngRluwAGz78uXLu0+dOvXbDPW3eL2QFyOeGihnyOevWbPm6VtvvfUsbwLcAnpSuCzJALcH1KtXr+4zduzYWbm5uf/OnZWMvrQnouGv1bD8ftu2bf937bXXnmgDPCkgT3S4lZXmDrGvX79+0EUXXTSbRz3u5fXM8Ps85Upo4FGWBbt3735q4sSJh7n1YskRJqQkKtyoN8B2vPzyyz2uueaaX2RnZ9/NN1bSE7IX4qjSfMOoqa6ubvFbb7318xkzZpRx1XDxKZY8jmoauCqJBjfqi8WB4bzNmzf/W/fu3R/j9R6Bm5o6OWyuErK1fMiKwuhfJ8VNZWUVtT/77MTHFrYNI8oIS8L444kEt7ggju3bt182bNiweXwHcXwnuy5pdwPYzrofMdiR8SaaW9wffFLc+N3RE/7xEStNrHhkCu/iXkgEuFFHBfb8+fMLb7vttkf4YvGb7II4u1g3CVm8vXEpORtfiGzdbbaWmpqW3724ou4/v/WDj8u5cMAd965KvMMt1tp56NCh24qKip7gmy99IttzyVWao3ERYekKcbnpxKmy5h/3HbVpGZcvdzzj1ooDnngUnHQOLI8++mhBZWXlC3369FlowI5tV9lt1KdPz7SFdaUTXnj00REF0kccxqWRjMdKWWBv2rTpUn7YfwnfWRwZ225NnKN3peXWtdDion0799TedfkXPvqY0+GLywWnni2m8Xiz3KgPLLbz6NGj3xgzZsw7BuyY8uH34E47jRxzUc47J/eN/wb6ixf0W1zxFC+VEWvtnDt3biE/ybagZ8+ez7CysngxEqcasNkoq6i785m6w1ctmDt3GB5xEMjjwiOIh0qgDjjJMG49hp9ae5Gt9fA47c+4r1a03BJvRbS43J/s3FN3R5ubIhebMR0Tj7XlFoudtm/fvmsuvfTSNQZsb2wSY91ptw0fMzrnrYObr7iGa5zGC9yUmBrPWMItYGOY7xZ+W/wvrIw8XowkqAa4Q/M+MzjjL0d2jL+FmxBzFyVWcOO4OLPT+AH6b/ELuAs5bp4LYSUkujDg6f37Ohee3ncVHjUWCx4TzmJxUAE7/eTJk4/06NHjKb7bGIt6JDpH8Vt/N9l7dnc8dfaTcY9wJWG0YjKSEm2oFNh80ZhRVlb2NL/D+KP47SFTs3A1UFiQ9qOakglPjx7dKyMWgEcTbgX2+PHjs3j6hCX8fMjXw1We2T/+NZCTY//65jeGLRk/vjuGdaNqwaN1NavA5salnz179jl+9evO+O+WxKxhrIYCA2mrtq71xdwLNt7P+Zp4kacLA+0W1vZoWG4BO4197McM2GH1V8LunJPtuLP84FWPcQOidpHZ1XCjfCxppaWl32Ef+6GE7R1T8bA1UJDveOjUnvHfAQ+8CBthl+uvgK6EGy6PAru4uPj23r17z/VXCZOeOhro1cs5t3T7uNu5xQJ4l7nGXQU3KqzGsfmF0+v79+8/P5oTR6YOKgnYUjfZ+vdLm7/vg7HXtwEOTroE8K6AWyy2kx9ZHTdkyJAlbY1IwJ4wVe4KDTAgacMHZy3Z9vbl47h83MkEhxEHvCvgRpnOefPmFfF49lLMU83rRowGPDRgs1POpRdlLZ33xJAi3iCAe+QJdyXSZ4sCmyuVwY+truA5RKaFW0Gzf2gaiNehQH+tqKt3vZkzaAOeRWnkRZ4m9Jc9pPRIWm6cKMrPPnz48HcN2CH1Q8pmzs6yTzux+8rvsgJkiDBiBjdScAvY8LOv4hd58UyBEaOBoDRQ1DPtEfa/r+LMEX2SMFJwoxzHE0880Yv97AXsZ6OSRowGgtIAeLl0VNaCJx4d0ot3wL9/RLiMxF8AKgKY4WcvY3dkOseNxEgDieZz62qqq29dlTNo422cFhH/O9wzBCeHgptfOHjAgK13lYmHqoHsLMf0ozvHPcD7yehJWMY3HLgtsBcvXnwB34F8ONTGmPxGA94a6FuU9vDiZy6+gNPDBjxcuNXoyA033PA4+01mLmzvnjLrIWuA36jP/dcb8h7nHcMePeks3JbV3rp167X8sVF8NMmI0UBENJCXa7/xo3fGXsuFhWW9Ows39nNed911uRdeeOEvI9IiU4jRgKaBi0Zk/vK663rDGxDAta3BRTsDt2W1n3/++Vk8jfDQ4A5lchkNBK+BNKdt6OJfD5rFewjcIV9chgq3BTZ/UGkY36wxz2cH318mZ4ga4Js7Dy1fMHpYZwHvDNzqIpI/1fEkX0Sab8+E2GEme/AasNltmdO/kP8k79Gpi8tQ4Las9rvvvjuBXxe7LvhqmpxGA53TQE6O7bp1r4+RW/PgNWj3JFS4ldXmW+zfY6vdudqavYwGQtAAOONb89/nXUK23sHCbVnt119//TKelmFqCPUzWY0GwtJAbq596j9eueQyLiSki8tQ4IbVdl555ZWzOTRmO6zuMjuHpgGbbfxlOeAOcIPDoPgLBm7LavM3H0fl5+d/KbSKmdxGA+FrID/P/qWXXxw1iksK2noHC7ey2pMnT8bQXzD7hN8aU4LRgIcGbPYpV3UDf0Fb70CgitV2LFq0aAhb7RkexzMrRgNR1ADPezJj0fyLhvAhYWzBbofuSbBwO6dOnfogX7miUCNGAzHRAA+cOP5lSt6DfPCgXJNg4HawO5LDs0XdFJMWmYMaDWgaKChw3DR5ck/MqBDwwrIjuMUlwTQN0/lzHvjuoBGjgZhqwG6ngmfnDsTbXgGtd0dwY5u6kBwwYMCt5qZNTPvUHLxNA+BwYP/0W3lVLiz9MuxvA6w2FsecOXN68fPaX2wr2wRGAzHXQF6O44tzZlsvEwur7erVEdzY5rz77rtv5s9S49anEaOBuNCA3W5L+/rt3W/mynTomnQEt3JJ+JvrmA3IiNFAXGmgX1FawC+m+YJbzLxjyZIlI/mNdtzTN2I0EFcayMqyXfbS7y4cyZWSURNw6yH+4MYOjokTJ95iLiQ99BX3K271Tx331Qy7guBy0vg8WG/FKoft4IbP4i3IpPztwsLCz3tvNOvxrYEW23iqKPs9VxKfnUlc4fncPSrvtUpYb2lygU+/frc33JZLcs899xSwS3KpxxFSdMVWv4dsle+Qzd0c9xqAGevm/AJVVBSTy+ViCDwhQQN8JLVLc1P7/bz39VXOuTye+/rK5zvNcz+U1ZG4XO5Lb5teWbBs1QHMUCXsWoV4w42yYLUd99133yQ2/dBVSoutbhc5997MmkscS4hOK2hxU1mlb7h9daj3f7r3uq99Yp3GJ67jnqktk5atopVcF3Dr0UnecKNNCu5+/fpNNv42m4PyN8jWdDTW/Rjy8TF22yPLTWeriFyWLQu5mLjeAbD26eaezMHfeQG3SLJaiwRdsK7g5icAJ+kbUjVuc+OziYkpPD0Cdc/nDk0EM9xJFedn2ybyrvizEnatknS4oQIsjlmzZvXMzs6+0MplIgmrAQHcwT0tHZxMYXaGe9QDX03vCW55kaap/vIFt33mzJlXt2VUmcxPYmsAgBfmsWkD4Nz9SbbYvnq1G7yC5Q7hRgYH35W82vjbiQ20d+11wL23JfI6OO1TSIBbXBMArsTbciu4eU4Sc1dSNJREoQKcZ9+DBY+U4F8AIv8GEleJUfrJyiTw2g5uGS0R2hXcPL79mSjVyxwmyhpwwkXJdVNFTeRGUQRwNEXiEkajedkZBF4FblUN/nHr5zDi9p/85Cd92NSzh2YkWTUAwAtgwcWkJXhD+UTKm3VLWh9uhmJYmiNwo5lY7Pw8yXDZaMLk1YAArkZRuOdhaRN5mXSxDdyCZ2FZrUgPKrj55s1QczEpKknuEIB347cRYcGFiEQMUf++3V1DubcEbtVx7Sw3v3UzLLm71LRO14AADqudyJKbaQO3ArdqjQ434naeB3CIsdyJ3M2h110Aj+QoSui16Pwe4DUnm4ZwCYphDhXcGC2Rcxahg0dKkMlIimkAgOdnu6mqzvdTg/Gujqx0G7jFiInFM0iHIME+atSo9MzMzAEqxfyknAbOAc4gMBWJdnGZke4eMOozmengmBcFuA63bdq0aYV4jDDletU02NIAAM/LOge3lZgYEceUMa2FXFWAbcEtKzaen4RHP42kugYE8M6Mg8uFqVh+6FLSfOlVtnU2v+yHcFCRG/xaPOt3KG29evUyN2989UAKpgHwXH4evKZee0A6SD0IsMgucQl9FaFvk7iEgfLr27vnucGvwK38E9lu42FAY7lFGyYkZcGz2YkFLgkg+TkOsdyqtjJaomjnZ7gN3AnQidGsosOhWXDrHZdo1iC4YwHgzEzfbglKsBm4g1NkquUSwGsb4neYEG5MTjp5WG6P0RIeBswxN3BSDd3g2gvAc/irox35wsGV1DW5UK/0DDemNlZeCI5ijQkikT91jY1GjAZ8asAX4AI7Qj3us4BOJOpl6nFfRaU77AI3Ntv00RK+gDBw+1KaSTuvgXOAu6mOZwqRuUcEOuSSuITn9+x8TC9L4hLqpTqdynIjCdbbc+6t1tbWFiQaMRroSAMAnF/MpXoA3lHGKG9rddk8+BWfG9WwNTU11fqaoSjKdTSHSwANAPCsjDYTGQf1xb9IYzPVclWU1UaVdLipoaEBG40YDQSlAR1wuYrzDlGQRZuPUmWb937+1r3L0/fnuQM9+NXhdhu4fWjfJHWoAQtwocwrtyQHC6vX7u1WvctDBkmrb7YBbstTErhVQl1dHb82asRoIDQNAHA8j+frIi+0ksLLzRe5wq/iGaMlQrq7oqLCw6yHdyizdypp4JwFd1MDzz4noyjRbD9OrMpaD8vtlqFAAO4uLy8X8qNZL3OsJNEAf6uGLfg5wKPdJMBdXuMCv4plHF/cElWX06dPV5vREqUK89NJDZwDPPouCv4tTpVTtV5tgVvRvnv37hoDt64eE++MBgB4Bs+hDGvqvaA8pIlIXPIhXdIkjx7KNskvIa4q9xyyA24Py40ViHvlypXVPNbNMzobMRoITwMW4F7FeMOJzZKmxwVa71DPg7hIczNVvba+SdwSJFszTgntbh4xKTHWW1RmwnA0AMDTYcG5kK5ccAXLIyUlfBiLY9Rb3BLEscFVW1tbghUjRgOR0IAFuOaKRKJc7zJqG2wlnObiRTwRBbfQjg0uHg781Fhu1oSRiGkAgKfxuJy3ixGpdVS0qtb9KQeKYQ4V02K5BXA3j5gUI7MRo4FIakAAj2SZelmnKuggr1scYxvg1hNaecTkoLHcUI2RSGtAAI+UxZZyUM89h1wwyviamcWzWG5sVyZ94cKFn/L3CxE3YjQQcQ0AcCfPjAMwIyVMq2vhasenXJ5iWMoVuIV2165duxp4xOSYZDCh0UCkNaADLtY3nLC+yXZs14EmfsPTuqAEz9ZoiQU3p7XW1NQY1wTaMdJlGsC7urDg4Qpc6JoGN/xtuCSw3MKyB9xi0l0nTpzYbPzucNVu9g+kAQE8lDFwlOnh0TDKJ8tsmznZ4pfjHpYb+yABGVq3bNmywbjdUImRrtYAAHeE4IML2HJC4OvIW/e3buB66pZbVbudz41MP/3pT3fziwvmNnxX96wpX2kAgHd2ZtnGFqr68QuO3eCWF59uCQ5iWe7q6uqms2fPbjWuCdRiJBoaEMBDORb4LKugLYwrvmGuw62KEcuNFQtujrccO3bsAwO30pH5iZIGBPBgR05QrWNltk0c4K33gHADcGRq2bBhw3rjd7MmjERVAwAccAcj8LfX7Wxdz3kFbvCLRYleDOIYnOEX9tWca93OnDmznmd+7aFypuiP48jjhMVIdDUQjNdQVecuK7iheSLXrJIXPO7KM6ko46wAl9fMOE0Rj0Q1YsJhC8O9mT+Vfb09Ub8EhFaFKc2taVReYRmDMEszu4eigY4Ad7HZPnyKMAQoVtvjYhLH0eHGusCNHVr27du3euDAgRGF21axm2zH1pLN3Yzjxb3YG89Qel02PzIM3bUXf9jjtSdf4i8def3s4veFW39l+StHHaODjaGW5zd/R8fw08pQy2ppddOuva2rGVPFKrdN4EYzlehuCRKwDuB5Pk/KGzlyZM/169e/z5/vi8gXFwC28x9fZrDh1ieOVNW7cBcscSqcAjWtbXRXf/l/K6/ed6rpDDcXr5fh9jtAtzrKl+XGRtDXzJa77siRI6tHjBhxUyRcE9vhV8lWe4SLTizJR3XZLtRiwMlIzDWAx/qOn6HV+04Rf1iQ4AKAV3Brgc1x6/Y74iIw71hwFjTxqMlKniBTtoUV2lyJS0c+f+GLJzc3EgcaYI+EthyilVwVAAVOhVmP2unj3LJBLLfyZe6///5NVVVVRzty7mXHZA8BeC6PJcF3M0tsdADbzF94OPq9P5OMb4NTsdweCPqDWwCHyW8uKSl5zcB9Tm95fDWSg8FSIzHRAC48SyvoNT64YpNDARvMeogvuJEBZh474axo5ikf/trM784bOacBATzYO2kmH1t5/quLxNLCCK/aSX8Fl7yI1Qav7cQf3DgLLL/7ySefLC4rK9turPd5/QHwbOODn1dIFGKw2uW1tP3/3qZiPpzub7ez2qhOMHDj7GjasWPHSy1qSBG7GYEGlAVnwI3/HR0dtLK53XWCXmLVC9hgE0Y4JLg5v9oBO8L8N82cOfM1nvah1FhvqOa85BoLfl4ZXRiD1a6sp9L7lil/G3CDS79goyr+LDe24Wyw/G5+9axh+/btf4jUsCAOkCwigEfCpzRl+PbN8ZDUzhP0h5oadbNG97d9Wm2wFQhuAVxZ729+85t/raysPGmsd/vTEoBn8dRhRiKvAWW1G+jk7OXqQlKstt9REqlBR3AjD8w+CgHcjUePHq3duXPnImO9WRs+xFhw31Y33H8jWO29J2jR0Qr1QSc8+QcewSX49CuB4IblRgHqopLDxm9/+9sr+E2dMmO9fesUY+DGgvvWTWdSYbVrmqjsxytpBfjjRS4mO/S3caxAcCOPWG8FOD9vUrVnz54XjfWGanyLAG5GUcIfRcFzJPtP0ov7jhPe6RWwA1pt9EwwcIv1Vn4379M4Z86cl9h6VxrrDRX6FgW4GQf3rZwgU2G1qxup8ud/V8N/YrXBYUCrjUMEAzfyifVWvvfGjRvLN2/e/LS5awnV+Bfc5MnCOHiE7s6lWjktTN22Unp6awmVs5aD9rWlR4KF29t6N8yYMWMFT96z07xnKar0HQLwTDOK4ls5HaTCHTlVTTvvWqR8bTyrLaMkQVltFB0s3MjrYb358yL1y5Ytm8vzm7iMewL1+BcB3PjgwfnguMPC85G4Xt5Gc3nShnrWbMhWG70RCtztrPfDDz/88f79+/9sLi79gy1bBHBZN6F/DeA2+4Ez9OdfvE4fc65OWW2UHgrcyC/WG38ROJsavv/97/+Gb8ufNdYb6ulY4H/DRUk13zmU9kKDlY109sd/pd9wFGDLhWRQIyTYXyRUuGG9cRAMC+Kg9e+9914ZX2D+mt0UXjUSSAMAPMP75b5AO6XQ9iama0sJ/XrjQSrjZotLAt7AHfgLWkKFGwUL4GrkhNfr+eJyJd+93Gbck+D0LoCHYtFSIS/uRJ6oom23v6BeIROwwVnIYKMnOgs33BPrriXHG+bNm/cIv45WY0ZPoNbAIoAHznk+By5IIXJhKnGV2JYuaXpe2R4o1PfR4/720/PocX/5O0rH6EhlA9U88096hPPp7gg4A28hWW0cqzNwYz/xvS3r/dxzzx1cvXr1L3j0hOfZCLkeKDPlBP43XBSAEcwCBQlEelz21dP0uGwPFOr76HF/++l59Li//P7S20ZHaO0++sXv31cfbvK22uAtZOks3DgQDijWG2da/V133fXm3r17l5ubO1BPcALA01PcB29mp4OnaVj+jcX0JmsNYMsIiVjt4JTplSscuGGeAbhYb1So7pZbbvnV8ePH9xr/20vTHaxaFpxNWyr41nob4WefrKG9dy6kX4EfXsQlAVfgq9NuQAS+SsKHPy829rt5gquWDydMmPCVjIyMdMzaKWI/8S5hMdJeA+r7MNyN6GwR0Zy/v/NIp+O4ckw9LsfR0/S4bA81xAx1VQ1U+8s19K1/7qVjXGYtL7Dc8oCUpg0cMTQJx3LjSDi4t3tSN3/+fPjfjxn/O7TOyGAXJQ2f0ODdsEAkPLfWtb9yLH/HD7Q9lNrhsqyBnY639tJjv39X+dlitQXssKw26hIu3ChDABf3BGdeHfvfq/jR2BVm/BsqCl4E8OD3SMycGM/ec4JW3LuYVnELADa4wb2TsN0RLkNJJOBGQTjLMBbpAfj06dOfLC4uft8ADhUFLwAcF5m6b5pMcVxAlpyl9298jp5krXiDDY7AU9gSKbhREVhwffSkjt+3rLn55pt/WFpa+rEZQQmtrwA3XJRkE4B9pJw+/trz9MPKOjVhvLc7Ao4iIpGGW/xv/L2o0ZMDBw5U8HyDD/HjscUteEDXSNAaEMCTxWrjgaiT1VT84Ev00IFTVMGKELDBiwz7RQzurrYNqqKHDh1q4tvzGyZfmHVNbsUHufz5byNBasDRZn7kvpiuOokj9LXgEJJHj/vKK/kk7Ex+7KOLlIUQdyBP19CJOa/Q/W/soSOchJERwB1RP5vLs6Qr4PZ55vHFZb2r1b1lXNHRa/muXKYB3OqDgBFfgOvg+CtAz6PHuyo/jqEvOA7WYbF5GrSKX71NDyzaQAc4SYb88O+O67SI+dlcliVdATcKB+CyyMFsH+w6WsnTAO+8pD9dx4CnGcBFNYFDAVwfBw+8V+xzAGyeKar+D+vpu798k7ZzjWCtxR3Rh/0iXtmugluvqECO0MbPD5zpmUs7RvamKQx4Rgp/S0rXUVBxAVwpkk1ivPviAPtsPVUv2Uizfvaq+jgToBarDbBhsdGcLpFowo0GqIas3kOnud0fjBlAk/nWc450Wpe0MMkKFV3BB9ddgHiLtzC27GOfmvcWPTj3DfqIuwFQY4ErolvshIab22KdnWiIasyGYqrkZwreu/ICmsivYBVIpyGzkY41IP92cpHZce7ob23icY/jVXToZ3+jB55fR59wDfCNSN1iR3xkxFcro2G55bhyhlqAf3yEanccp7WfG05j+XszRQAcf7VGAmsgHgHHyQawedqzXQ8up/949WNrVEQHO2J3IANpKZpwS10EbhV+eoYaV++lt68dRaPyM2mAAVzUFDgUwJEz1v436oBb6p+W0cZbX6CHNn1KpzkJUMPP1h+GYo/U+ifnaNdJtOHWwZZGus/UUMufPqS114+mfvkZNNxpLHjQPS6Ax9JFwRh2Hdtjnqzy9WnP0k9Ky9QNmpiCDQVGG27pNB1yxF31jeT63Xu07ooLqLx3N7oy3UFO6TjZyYS+NaAPqUbbgquhvkZq5FGwX13/ND3L/YgPnsLH9jXch76OmsQKbjRQQd0WWrAv30r7bXbaOLIPXZHppG7GTQmOBQ/AeZeuHj1B7/HEOXSikg4/vZZmzV5Ba/mwsNbiX8uoiNygQR9HVWIJtzQUjYaLYrkp6w5QOfvhb04aSn3YDx9m3BRRVcehAN7VFCk3hAfz9p6kN29fQD9Y+REd4poJ2GKx9TuPXV0ln4qJNdxotPeiQD9dTc3sprw39gI60zufxsFNkb9cny0xiUoDMtrUFTTBr1e30huo8e399D/TfkPPcj9V8oF1/1qeFRGLHbOeiTXcaLj0g1hvPXSv2EqfuG20bngRXc43fAod/H8rHRgzrcX5gS39tOlKjEI4IcDGmzPHKql43ts0i7/g+y6rQe44yoiIgC19GFNNwTWLF0FdcLJh4cf1Cd/p5Q9SqyW7ex7lLL2X7vjsILq3WyZ/vIBzWZ3ImYy01wDch3AFUOMZbJ5TpH7rYVrAs64uPVvtYan1N2hgrbGIwQr38GHtHw+WW28AlCKLnP0IW+ubyLX0A9pxqIzWXNib+vLk7oPlYtNArqvwfDwcvYgLUsu2eP9pemfOSvrBwyvpHe4HuCAyGgKwvZ/siwuwoYV4styojwieYsaCGT14dj1lxfl7YZYlz3j2drr6Xy6m2T3zqD+PqpAZNmTt+BGAiiVYgcWHC8L3H46+toOeenAZvc/7wuUAzAI01vVnRCLwP8ElRlDiFW40EXUTwAVyAG4tA3tR3oI76J4xA+mOvHTKgKtiIIfq2kswcANquCDVTdTIj0YsvXcpLSo9rcatYZ31RaDmU8Aa5Wp/0BinxDPcUA3qhwXuEwCHLw5LbgGO+MyraNCDk+nuEb1pOrsr6TyyYiBnxXiLP8ABNW6dswvStP8UrXrmPVr8x410mPfXgUYcUGOID1CLbx3CfwLvFUWJd7hFFagnrLhALq4KLjoF9IyvXkb9Zk+lmSOK6Cv8XfZMfl7cQC4a9BECatyIqW6gBob6b0+toT/+5SM1OQ5cDgEbcd0FAdRwQeIWaq6bkkSBG5VFXQVyWHFxVQC4QK7iU4ZTr4e/RLeN7kdfzcugXAU57xnOBRYfIykE1htv8yioG6lm1zH6y3/9nZat/UQ96CQgA2yJ+3JB4h5sdFYiwS1wCeDe/jjAFosOa57+2c9Q4X9/mW4Z3Zdm8J3OQszJJ3c7Uwl0AI0Fkw80sFPBU5iV7zpOL//0VVqx9VP1pTAALEAjrltq8asTwlpz3S1JRLil8gI5XBUs8MdlfFwgV8AX5lHW4zfSxCsG0vUDu9NEfnY8Xax5Ml+Awu0QK13bRE2lZ2n9llJ6g4f11pdXW4+h6hYacfjUcus8YVwQrnM7SWS40RjUXyAXn1wgB+ACucTTxw2mbj+cRlNH9aZp/QroYobcpmZ3QkFcUiJbdLHQ8Bnw0gC7Hu5jFbRzDz8Dwi/nrtlUom6VwzLLIhYa6zrUsNJiqRPCBeH6tpNEh1sa5AtyfXQFcAN6gVydAHdNoAF3j6PpQ3rQlIIcGoxRFoCubg5x5niHXYcZz3wAaIx6VNRSSXEZrV28iVYt2UBHuCkCrkCNdT0O10OsdMJDzW1Rkixw6+0R0MVd0V0WuQgV0MXKO798CRV9bRxdMbQHje3TjS7n0Za+cF0wdq7DjgPFwroDZIgCmkPAjDHpttGO4/zo6YcHy2jbnzbRlld30CnOAmB1qAVoPR1Ay4IjyMLRxJdkg1vvEbQNroq4KwI7ABeovUNsQz7nzHHU78YxdMWQnjSWn0q8LDuNemIObVyQAnbrwpQzQ3Tg9fi5rYF/BV7klLgijX9wIQiYEeKtcn7r5czJKvqo+AxtW7mdtvxxkxq+E+urwytwSyh5BGgu0XI/AlcywXIkM9zSFWLJBXSEFsQcB+BYF+glriBvS7dPGU6FUy+iwcOKaFBRPg3qlkUD89NpIFv4fmzdnQAez1OLK6POLK91bBPLq0IGFxd8AjHSsN5mlVt4/PlYVROV8qQ2paeq6DDPr3d4zW4q4WE7fAsdYAJWAVbiANk7DpiRJjAjVIflMGkFfZAqgrbqC+AF6Ahl8QU20mS7vo86WXIzyfm1K6jfZQNpQEEm5fP0w1lZaZTNw47Z7L9ns4XPZl8+i61+NsOdwQA3svWtY9+4ni1xHfvJdTw8V1fPS2Mz1Vc0UNVHpXTkT1voWE2DB5AAFFCK1RVgBWR9Xc8j+wjMEnJRyS2pBLfekzrkiCtQOdThFaB9wS0nhYRShne5so5jIy4CwCACmncolhWQCpwIJS7wAmyJ+8rrXS5nTx3RFZ46rfZsqQCohwK7Hgr4HaXpZUgcR9PjWBfo9LikIRSQBWZ93V8a0vUyJI5jpKRA6UY8NSAgeoeAGmmBQu/9UDrSvAXwQQRCPRRQA4X6PhI/V6r59al0oxZPDQisSPUVlzQ9lLx6iLi3AEiIHgqk3qHk886rCjA/7TWADjESugZ0vUncO5RSJV3W9VBAlTRZ9w6xXdIkrwkDaKAjxQfY1WwOoIFQdGvADaDMzmz+f6SMYEX4z7hMAAAAAElFTkSuQmCC'};return{FaviconsByHue,};});'use strict';Polymer({is:'tr-ui-b-info-bar-group',ready(){this.messages_=[];},clearMessages(){this.messages_=[];this.updateContents_();},addMessage(text,opt_buttons){opt_buttons=opt_buttons||[];for(let i=0;i<opt_buttons.length;i++){if(opt_buttons[i].buttonText===undefined){throw new Error('buttonText must be provided');}
9078if(opt_buttons[i].onClick===undefined){throw new Error('onClick must be provided');}}
9079this.messages_.push({text,buttons:opt_buttons||[]});this.updateContents_();},updateContents_(){Polymer.dom(this.$.messages).textContent='';this.messages_.forEach(function(message){const bar=document.createElement('tr-ui-b-info-bar');bar.message=message.text;bar.visible=true;message.buttons.forEach(function(button){bar.addButton(button.buttonText,button.onClick);},this);Polymer.dom(this.$.messages).appendChild(bar);},this);}});'use strict';Polymer({is:'tr-ui-b-toolbar-button'});'use strict';tr.exportTo('tr.ui',function(){const Task=tr.b.Task;function FindController(brushingStateController){this.brushingStateController_=brushingStateController;this.filterHits_=[];this.currentHitIndex_=-1;this.activePromise_=Promise.resolve();this.activeTask_=undefined;}
9080FindController.prototype={__proto__:Object.prototype,get model(){return this.brushingStateController_.model;},get brushingStateController(){return this.brushingStateController_;},enqueueOperation_(operation){let task;if(operation instanceof tr.b.Task){task=operation;}else{task=new tr.b.Task(operation,this);}
9081if(this.activeTask_){this.activeTask_=this.activeTask_.enqueue(task);}else{this.activeTask_=task;this.activePromise_=Task.RunWhenIdle(this.activeTask_);this.activePromise_.then(function(){this.activePromise_=undefined;this.activeTask_=undefined;}.bind(this));}},startFiltering(filterText){const sc=this.brushingStateController_;if(!sc)return;this.enqueueOperation_(function(){this.filterHits_=[];this.currentHitIndex_=-1;}.bind(this));let stateFromString;try{stateFromString=sc.uiStateFromString(filterText);}catch(e){this.enqueueOperation_(function(){const overlay=new tr.ui.b.Overlay();Polymer.dom(overlay).textContent=e.message;overlay.title='UI State Navigation Error';overlay.visible=true;});return this.activePromise_;}
9082if(stateFromString!==undefined){this.enqueueOperation_(sc.navToPosition.bind(this,stateFromString,true));}else{if(filterText.length===0){this.enqueueOperation_(sc.findTextCleared.bind(sc));}else{const filter=new tr.c.FullTextFilter(filterText);const filterHitSet=new tr.model.EventSet();this.enqueueOperation_(sc.addAllEventsMatchingFilterToSelectionAsTask(filter,filterHitSet));this.enqueueOperation_(function(){this.filterHits_=filterHitSet.toArray();sc.findTextChangedTo(filterHitSet);}.bind(this));}}
9083return this.activePromise_;},get filterHits(){return this.filterHits_;},get currentHitIndex(){return this.currentHitIndex_;},find_(dir){const firstHit=this.currentHitIndex_===-1;if(firstHit&&dir<0){this.currentHitIndex_=0;}
9084const N=this.filterHits.length;this.currentHitIndex_=(this.currentHitIndex_+dir+N)%N;if(!this.brushingStateController_)return;this.brushingStateController_.findFocusChangedTo(new tr.model.EventSet(this.filterHits[this.currentHitIndex]));},findNext(){this.find_(1);},findPrevious(){this.find_(-1);}};return{FindController,};});'use strict';tr.exportTo('tr.ui.b',function(){function TimingTool(viewport,targetElement){this.viewport_=viewport;this.onMouseMove_=this.onMouseMove_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.targetElement_=targetElement;this.isMovingLeftEdge_=false;}
9085TimingTool.prototype={onEnterTiming(e){this.targetElement_.addEventListener('mousemove',this.onMouseMove_);this.targetElement_.addEventListener('dblclick',this.onDblClick_);},onBeginTiming(e){if(!this.isTouchPointInsideTrackBounds_(e.clientX,e.clientY)){return;}
9086const pt=this.getSnappedToEventPosition_(e);this.mouseDownAt_(pt.x,pt.y);this.updateSnapIndicators_(pt);},updateSnapIndicators_(pt){if(!pt.snapped)return;const ir=this.viewport_.interestRange;if(ir.min===pt.x){ir.leftSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}
9087if(ir.max===pt.x){ir.rightSnapIndicator=new tr.ui.SnapIndicator(pt.y,pt.height);}},onUpdateTiming(e){const pt=this.getSnappedToEventPosition_(e);this.mouseMoveAt_(pt.x,pt.y,true);this.updateSnapIndicators_(pt);},onEndTiming(e){this.mouseUp_();},onExitTiming(e){this.targetElement_.removeEventListener('mousemove',this.onMouseMove_);this.targetElement_.removeEventListener('dblclick',this.onDblClick_);},onMouseMove_(e){if(e.button)return;const worldX=this.getWorldXFromEvent_(e);this.mouseMoveAt_(worldX,e.clientY,false);},onDblClick_(e){},isTouchPointInsideTrackBounds_(clientX,clientY){if(!this.viewport_||!this.viewport_.modelTrackContainer||!this.viewport_.modelTrackContainer.canvas){return false;}
9088const canvas=this.viewport_.modelTrackContainer.canvas;const canvasRect=canvas.getBoundingClientRect();if(clientX>=canvasRect.left&&clientX<=canvasRect.right&&clientY>=canvasRect.top&&clientY<=canvasRect.bottom){return true;}
9089return false;},mouseDownAt_(worldX,y){const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(ir.isEmpty){ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;return;}
9090if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.min=worldX;this.isMovingLeftEdge_=true;return;}
9091if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.rightSelected=true;ir.max=worldX;this.isMovingLeftEdge_=false;return;}
9092ir.setMinAndMax(worldX,worldX);ir.rightSelected=true;this.isMovingLeftEdge_=false;},mouseMoveAt_(worldX,y,mouseDown){if(mouseDown){this.updateMovingEdge_(worldX);return;}
9093const ir=this.viewport_.interestRange;const dt=this.viewport_.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const nearnessThresholdWorld=dt.xViewVectorToWorld(6*pixelRatio);if(Math.abs(worldX-ir.min)<nearnessThresholdWorld){ir.leftSelected=true;ir.rightSelected=false;return;}
9094if(Math.abs(worldX-ir.max)<nearnessThresholdWorld){ir.leftSelected=false;ir.rightSelected=true;return;}
9095ir.leftSelected=false;ir.rightSelected=false;return;},updateMovingEdge_(newWorldX){const ir=this.viewport_.interestRange;let a=ir.min;let b=ir.max;if(this.isMovingLeftEdge_){a=newWorldX;}else{b=newWorldX;}
9096if(a<=b){ir.setMinAndMax(a,b);}else{ir.setMinAndMax(b,a);}
9097if(ir.min===newWorldX){this.isMovingLeftEdge_=true;ir.leftSelected=true;ir.rightSelected=false;}else{this.isMovingLeftEdge_=false;ir.leftSelected=false;ir.rightSelected=true;}},mouseUp_(){const dt=this.viewport_.currentDisplayTransform;const ir=this.viewport_.interestRange;ir.leftSelected=false;ir.rightSelected=false;const pixelRatio=window.devicePixelRatio||1;const minWidthValue=dt.xViewVectorToWorld(2*pixelRatio);if(ir.range<minWidthValue){ir.reset();}},getWorldXFromEvent_(e){const pixelRatio=window.devicePixelRatio||1;const canvas=this.viewport_.modelTrackContainer.canvas;const worldOffset=canvas.getBoundingClientRect().left;const viewX=(e.clientX-worldOffset)*pixelRatio;return this.viewport_.currentDisplayTransform.xViewToWorld(viewX);},getSnappedToEventPosition_(e){const pixelRatio=window.devicePixelRatio||1;const EVENT_SNAP_RANGE=16*pixelRatio;const modelTrackContainer=this.viewport_.modelTrackContainer;const modelTrackContainerRect=modelTrackContainer.getBoundingClientRect();const viewport=this.viewport_;const dt=viewport.currentDisplayTransform;const worldMaxDist=dt.xViewVectorToWorld(EVENT_SNAP_RANGE);const worldX=this.getWorldXFromEvent_(e);const mouseY=e.clientY;const selection=new tr.model.EventSet();modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,mouseY,mouseY,selection);if(!selection.length){modelTrackContainer.addClosestEventToSelection(worldX,worldMaxDist,modelTrackContainerRect.top,modelTrackContainerRect.bottom,selection);}
9098let minDistX=worldMaxDist;let minDistY=Infinity;const pixWidth=dt.xViewVectorToWorld(1);const result={x:worldX,y:mouseY-modelTrackContainerRect.top,height:0,snapped:false};const eventBounds=new tr.b.math.Range();for(const event of selection){const track=viewport.trackForEvent(event);const trackRect=track.getBoundingClientRect();eventBounds.reset();event.addBoundsToRange(eventBounds);let eventX;if(Math.abs(eventBounds.min-worldX)<Math.abs(eventBounds.max-worldX)){eventX=eventBounds.min;}else{eventX=eventBounds.max;}
9099const distX=eventX-worldX;const eventY=trackRect.top;const eventHeight=trackRect.height;const distY=Math.abs(eventY+eventHeight/2-mouseY);if((distX<=minDistX||Math.abs(distX-minDistX)<pixWidth)&&distY<minDistY){minDistX=distX;minDistY=distY;result.x=eventX;result.y=eventY+
9100modelTrackContainer.scrollTop-modelTrackContainerRect.top;result.height=eventHeight;result.snapped=true;}}
9101return result;}};return{TimingTool,};});'use strict';tr.exportTo('tr.ui',function(){const kDefaultPanAnimationDurationMs=100.0;const lerp=tr.b.math.lerp;function TimelineDisplayTransformPanAnimation(deltaX,deltaY,opt_durationMs){this.deltaX=deltaX;this.deltaY=deltaY;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;}
9102this.startPanX=undefined;this.startPanY=undefined;this.startTimeMs=undefined;}
9103TimelineDisplayTransformPanAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.deltaY!==0;},canTakeOverFor(existingAnimation){return existingAnimation instanceof TimelineDisplayTransformPanAnimation;},takeOverFor(existing,timestamp,target){const remainingDeltaXOnExisting=existing.goalPanX-target.panX;const remainingDeltaYOnExisting=existing.goalPanY-target.panY;let remainingTimeOnExisting=timestamp-(existing.startTimeMs+existing.durationMs);remainingTimeOnExisting=Math.max(remainingTimeOnExisting,0);this.deltaX+=remainingDeltaXOnExisting;this.deltaY+=remainingDeltaYOnExisting;this.durationMs+=remainingTimeOnExisting;},start(timestamp,target){this.startTimeMs=timestamp;this.startPanX=target.panX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.panX=lerp(percentDone,this.startPanX,this.goalPanX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalPanY);}
9104return timestamp>=this.startTimeMs+this.durationMs;},get goalPanX(){return this.startPanX+this.deltaX;},get goalPanY(){return this.startPanY+this.deltaY;}};function TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,goalFocalPointY,zoomInRatioX,opt_durationMs){this.goalFocalPointXWorld=goalFocalPointXWorld;this.goalFocalPointXView=goalFocalPointXView;this.goalFocalPointY=goalFocalPointY;this.zoomInRatioX=zoomInRatioX;if(opt_durationMs===undefined){this.durationMs=kDefaultPanAnimationDurationMs;}else{this.durationMs=opt_durationMs;}
9105this.startTimeMs=undefined;this.startScaleX=undefined;this.goalScaleX=undefined;this.startPanY=undefined;}
9106TimelineDisplayTransformZoomToAnimation.prototype={__proto__:tr.ui.b.Animation.prototype,get affectsPanY(){return this.startPanY!==this.goalFocalPointY;},canTakeOverFor(existingAnimation){return false;},takeOverFor(existingAnimation,timestamp,target){this.goalScaleX=target.scaleX*this.zoomInRatioX;},start(timestamp,target){this.startTimeMs=timestamp;this.startScaleX=target.scaleX;this.goalScaleX=this.zoomInRatioX*target.scaleX;this.startPanY=target.panY;},tick(timestamp,target){let percentDone=(timestamp-this.startTimeMs)/this.durationMs;percentDone=tr.b.math.clamp(percentDone,0,1);target.scaleX=lerp(percentDone,this.startScaleX,this.goalScaleX);if(this.affectsPanY){target.panY=lerp(percentDone,this.startPanY,this.goalFocalPointY);}
9107target.xPanWorldPosToViewPos(this.goalFocalPointXWorld,this.goalFocalPointXView);return timestamp>=this.startTimeMs+this.durationMs;}};return{TimelineDisplayTransformPanAnimation,TimelineDisplayTransformZoomToAnimation,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const DrawType={GENERAL_EVENT:1,INSTANT_EVENT:2,BACKGROUND:3,GRID:4,FLOW_ARROWS:5,MARKERS:6,HIGHLIGHTS:7,ANNOTATIONS:8};const MAX_OVERSIZE_MULTIPLE=3.0;const REDRAW_SLOP=(MAX_OVERSIZE_MULTIPLE-1)/2;const DrawingContainer=tr.ui.b.define('drawing-container',tr.ui.tracks.Track);DrawingContainer.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('drawing-container');this.canvas_=document.createElement('canvas');this.canvas_.className='drawing-container-canvas';this.canvas_.style.left=tr.ui.b.constants.HEADING_WIDTH+'px';Polymer.dom(this).appendChild(this.canvas_);this.ctx_=this.canvas_.getContext('2d');this.offsetY_=0;this.viewportChange_=this.viewportChange_.bind(this);this.viewport.addEventListener('change',this.viewportChange_);window.addEventListener('resize',this.windowResized_.bind(this));this.addEventListener('scroll',this.scrollChanged_.bind(this));},get canvas(){return this.canvas_;},context(){return this.ctx_;},viewportChange_(){this.invalidate();},windowResized_(){this.invalidate();},scrollChanged_(){if(this.updateOffsetY_()){this.invalidate();}},invalidate(){if(this.rafPending_)return;this.rafPending_=true;tr.b.requestPreAnimationFrame(this.preDraw_,this);},preDraw_(){this.rafPending_=false;this.updateCanvasSizeIfNeeded_();tr.b.requestAnimationFrameInThisFrameIfPossible(this.draw_,this);},draw_(){this.ctx_.clearRect(0,0,this.canvas_.width,this.canvas_.height);const typesToDraw=[DrawType.BACKGROUND,DrawType.HIGHLIGHTS,DrawType.GRID,DrawType.INSTANT_EVENT,DrawType.GENERAL_EVENT,DrawType.MARKERS,DrawType.ANNOTATIONS,DrawType.FLOW_ARROWS];for(const idx in typesToDraw){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9108this.children[i].drawTrack(typesToDraw[idx]);}}
9109const pixelRatio=window.devicePixelRatio||1;const bounds=this.canvas_.getBoundingClientRect();const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);this.viewport.drawGridLines(this.ctx_,viewLWorld,viewRWorld);},updateOffsetY_(){const maxYDelta=window.innerHeight*REDRAW_SLOP;let newOffset=this.scrollTop-maxYDelta;if(Math.abs(newOffset-this.offsetY_)<=maxYDelta)return false;const maxOffset=this.scrollHeight-
9110this.canvas_.getBoundingClientRect().height;newOffset=Math.max(0,Math.min(newOffset,maxOffset));if(newOffset!==this.offsetY_){this.offsetY_=newOffset;return true;}
9111return false;},updateCanvasSizeIfNeeded_(){const visibleChildTracks=tr.b.asArray(this.children).filter(this.visibleFilter_);if(visibleChildTracks.length===0){return;}
9112const thisBounds=this.getBoundingClientRect();const firstChildTrackBounds=visibleChildTracks[0].getBoundingClientRect();const lastChildTrackBounds=visibleChildTracks[visibleChildTracks.length-1].getBoundingClientRect();const innerWidth=firstChildTrackBounds.width-
9113tr.ui.b.constants.HEADING_WIDTH;const innerHeight=Math.min(lastChildTrackBounds.bottom-firstChildTrackBounds.top,Math.floor(window.innerHeight*MAX_OVERSIZE_MULTIPLE));const pixelRatio=window.devicePixelRatio||1;if(this.canvas_.width!==innerWidth*pixelRatio){this.canvas_.width=innerWidth*pixelRatio;this.canvas_.style.width=innerWidth+'px';}
9114if(this.canvas_.height!==innerHeight*pixelRatio){this.canvas_.height=innerHeight*pixelRatio;this.canvas_.style.height=innerHeight+'px';}
9115if(this.canvas_.top!==this.offsetY_){this.canvas_.top=this.offsetY_;this.canvas_.style.top=this.offsetY_+'px';}},visibleFilter_(element){if(!(element instanceof tr.ui.tracks.Track))return false;return window.getComputedStyle(element).display!=='none';},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9116const trackClientRect=this.children[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.children[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
9117tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)){continue;}
9118this.children[i].addEventsToTrackMap(eventToTrackMap);}}};return{DrawingContainer,DrawType,};});'use strict';tr.exportTo('tr.model',function(){const SelectableItem=tr.model.SelectableItem;const SelectionState=tr.model.SelectionState;function ProxySelectableItem(modelItem){SelectableItem.call(this,modelItem);}
9119ProxySelectableItem.prototype={__proto__:SelectableItem.prototype,get selectionState(){const modelItem=this.modelItem_;if(modelItem===undefined){return SelectionState.NONE;}
9120return modelItem.selectionState;}};return{ProxySelectableItem,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const LetterDotTrack=tr.ui.b.define('letter-dot-track',tr.ui.tracks.Track);LetterDotTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('letter-dot-track');this.items_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get items(){return this.items_;},set items(items){this.items_=items;this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;},get dumpRadiusView(){return 7*(window.devicePixelRatio||1);},draw(type,viewLWorld,viewRWorld){if(this.items_===undefined)return;switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawLetterDots_(viewLWorld,viewRWorld);break;}},drawLetterDots_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const height=bounds.height*pixelRatio;const halfHeight=height*0.5;const twoPi=Math.PI*2;const dt=this.viewport.currentDisplayTransform;const dumpRadiusView=this.dumpRadiusView;const itemRadiusWorld=dt.xViewVectorToWorld(height);const items=this.items_;const loI=tr.b.math.findLowIndexInSortedArray(items,function(item){return item.start;},viewLWorld);const oldFont=ctx.font;ctx.font='400 '+Math.floor(9*pixelRatio)+'px Arial';ctx.strokeStyle='rgb(0,0,0)';ctx.textBaseline='middle';ctx.textAlign='center';const drawItems=function(selected){for(let i=loI;i<items.length;++i){const item=items[i];const x=item.start;if(x-itemRadiusWorld>viewRWorld)break;if(item.selected!==selected)continue;const xView=dt.xWorldToView(x);ctx.fillStyle=EventPresenter.getSelectableItemColorAsString(item);ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView+0.5,0,twoPi);ctx.fill();if(item.selected){ctx.lineWidth=3;ctx.strokeStyle='rgb(100,100,0)';ctx.stroke();ctx.beginPath();ctx.arc(xView,halfHeight,dumpRadiusView,0,twoPi);ctx.lineWidth=1.5;ctx.strokeStyle='rgb(255,255,0)';ctx.stroke();}else{ctx.lineWidth=1;ctx.strokeStyle='rgb(0,0,0)';ctx.stroke();}
9121ctx.fillStyle='rgb(255, 255, 255)';ctx.fillText(item.dotLetter,xView,halfHeight);}};drawItems(false);drawItems(true);ctx.lineWidth=1;ctx.font=oldFont;},addEventsToTrackMap(eventToTrackMap){if(this.items_===undefined)return;this.items_.forEach(function(item){item.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){if(this.items_===undefined)return;const itemRadiusWorld=viewPixWidthWorld*this.dumpRadiusView;tr.b.math.iterateOverIntersectingIntervals(this.items_,function(x){return x.start-itemRadiusWorld;},function(x){return 2*itemRadiusWorld;},loWX,hiWX,function(item){item.addToSelection(selection);}.bind(this));},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.items_===undefined)return;const items=this.items_;const index=tr.b.findFirstIndexInArray(items,function(item){return item.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex>=0&&newIndex<items.length){items[newIndex].addToSelection(selection);return true;}
9122return false;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.items_===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.items_,function(x){return x.start;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};function LetterDot(modelItem,dotLetter,colorId,start){tr.model.ProxySelectableItem.call(this,modelItem);this.dotLetter=dotLetter;this.colorId=colorId;this.start=start;}
9123LetterDot.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{LetterDotTrack,LetterDot,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AlertTrack=tr.ui.b.define('alert-track',tr.ui.tracks.LetterDotTrack);AlertTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Alerts';this.alerts_=undefined;},get alerts(){return this.alerts_;},set alerts(alerts){this.alerts_=alerts;if(alerts===undefined){this.items=undefined;return;}
9124this.items=this.alerts_.map(function(alert){return new tr.ui.tracks.LetterDot(alert,String.fromCharCode(9888),alert.colorId,alert.start);});}};return{AlertTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Task=tr.b.Task;const ContainerTrack=tr.ui.b.define('container-track',tr.ui.tracks.Track);ContainerTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);},detach(){Polymer.dom(this).textContent='';},get tracks_(){const tracks=[];for(let i=0;i<this.children.length;i++){if(this.children[i]instanceof tr.ui.tracks.Track){tracks.push(this.children[i]);}}
9125return tracks;},drawTrack(type){this.tracks_.forEach(function(track){track.drawTrack(type);});},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);}}
9126tr.ui.tracks.Track.prototype.addIntersectingEventsInRangeToSelection.apply(this,arguments);},addEventsToTrackMap(eventToTrackMap){for(const track of this.tracks_){track.addEventsToTrackMap(eventToTrackMap);}},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.tracks_.length;i++){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);}},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const task=new Task();for(let i=0;i<this.tracks_.length;i++){task.subTask(function(i){return function(){this.tracks_[i].addAllEventsMatchingFilterToSelection(filter,selection);};}(i),this);}
9127return task;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){for(let i=0;i<this.tracks_.length;i++){const trackClientRect=this.tracks_[i].getBoundingClientRect();const a=Math.max(loY,trackClientRect.top);const b=Math.min(hiY,trackClientRect.bottom);if(a<=b){this.tracks_[i].addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);}}
9128tr.ui.tracks.Track.prototype.addClosestEventToSelection.apply(this,arguments);},addContainersToTrackMap(containerToTrackMap){this.tracks_.forEach(function(track){track.addContainersToTrackMap(containerToTrackMap);});},clearTracks_(){this.tracks_.forEach(function(track){Polymer.dom(this).removeChild(track);},this);}};return{ContainerTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartPoint(modelItem,x,y,opt_yBase){tr.model.ProxySelectableItem.call(this,modelItem);this.x=x;this.y=y;this.dotLetter=undefined;this.yBase=opt_yBase;}
9129ChartPoint.prototype={__proto__:tr.model.ProxySelectableItem.prototype,};return{ChartPoint,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const SelectionState=tr.model.SelectionState;const ChartSeriesType={LINE:0,AREA:1};const DEFAULT_RENDERING_CONFIG={chartType:ChartSeriesType.LINE,selectedPointSize:4,unselectedPointSize:3,solidSelectedDots:false,colorId:0,lineWidth:1,skipDistance:1,unselectedPointDensityTransparent:0.10,unselectedPointDensityOpaque:0.05,backgroundOpacity:0.5,stepGraph:true};const LAST_POINT_WIDTH=16;const DOT_LETTER_RADIUS_PX=7;const DOT_LETTER_RADIUS_PADDING_PX=0.5;const DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX=3;const DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX=1.5;const DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX=1;const DOT_LETTER_FONT_WEIGHT=400;const DOT_LETTER_FONT_SIZE_PX=9;const DOT_LETTER_FONT='Arial';const ChartSeriesComponent={BACKGROUND:0,LINE:1,DOTS:2};function ChartSeries(points,seriesYAxis,opt_renderingConfig){this.points=points;this.seriesYAxis=seriesYAxis;this.useRenderingConfig_(opt_renderingConfig);}
9130ChartSeries.prototype={useRenderingConfig_(opt_renderingConfig){const config=opt_renderingConfig||{};for(const[key,defaultValue]of
9131Object.entries(DEFAULT_RENDERING_CONFIG)){let value=config[key];if(value===undefined){value=defaultValue;}
9132this[key+'_']=value;}
9133this.topPadding=this.bottomPadding=Math.max(this.selectedPointSize_,this.unselectedPointSize_)/2;},get range(){const range=new tr.b.math.Range();this.points.forEach(function(point){range.addValue(point.y);},this);return range;},draw(ctx,transform,highDetails){if(this.points===undefined||this.points.length===0){return;}
9134if(this.chartType_===ChartSeriesType.AREA){this.drawComponent_(ctx,transform,ChartSeriesComponent.BACKGROUND,highDetails);}
9135if(this.chartType_===ChartSeriesType.LINE||highDetails){this.drawComponent_(ctx,transform,ChartSeriesComponent.LINE,highDetails);}
9136this.drawComponent_(ctx,transform,ChartSeriesComponent.DOTS,highDetails);},drawComponent_(ctx,transform,component,highDetails){let extraPixels=0;if(component===ChartSeriesComponent.DOTS){extraPixels=Math.max(this.selectedPointSize_,this.unselectedPointSize_);}
9137const pixelRatio=transform.pixelRatio;const leftViewX=transform.leftViewX-extraPixels*pixelRatio;const rightViewX=transform.rightViewX+extraPixels*pixelRatio;const leftTimestamp=transform.leftTimestamp-extraPixels;const rightTimestamp=transform.rightTimestamp+extraPixels;const firstVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},leftTimestamp);let lastVisibleIndex=tr.b.math.findLowIndexInSortedArray(this.points,function(point){return point.x;},rightTimestamp);if(lastVisibleIndex>=this.points.length||this.points[lastVisibleIndex].x>rightTimestamp){lastVisibleIndex--;}
9138const viewSkipDistance=this.skipDistance_*pixelRatio;let selectedCircleRadius;let letterDotRadius;let squareSize;let squareHalfSize;let squareOpacity;let unselectedSeriesColor;let currentStateSeriesColor;ctx.save();ctx.font=DOT_LETTER_FONT_WEIGHT+' '+
9139Math.floor(DOT_LETTER_FONT_SIZE_PX*pixelRatio)+'px '+
9140DOT_LETTER_FONT;ctx.textBaseline='middle';ctx.textAlign='center';switch(component){case ChartSeriesComponent.DOTS:{selectedCircleRadius=(this.selectedPointSize_/2)*pixelRatio;letterDotRadius=Math.max(selectedCircleRadius,DOT_LETTER_RADIUS_PX*pixelRatio);squareSize=this.unselectedPointSize_*pixelRatio;squareHalfSize=squareSize/2;unselectedSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);if(!highDetails){squareOpacity=0;break;}
9141const visibleIndexRange=lastVisibleIndex-firstVisibleIndex;if(visibleIndexRange<=0){squareOpacity=1;break;}
9142const visibleViewXRange=transform.worldXToViewX(this.points[lastVisibleIndex].x)-
9143transform.worldXToViewX(this.points[firstVisibleIndex].x);if(visibleViewXRange===0){squareOpacity=1;break;}
9144const density=visibleIndexRange/visibleViewXRange;const clampedDensity=tr.b.math.clamp(density,this.unselectedPointDensityOpaque_,this.unselectedPointDensityTransparent_);const densityRange=this.unselectedPointDensityTransparent_-
9145this.unselectedPointDensityOpaque_;squareOpacity=(this.unselectedPointDensityTransparent_-clampedDensity)/densityRange;break;}
9146case ChartSeriesComponent.LINE:ctx.strokeStyle=EventPresenter.getCounterSeriesColor(this.colorId_,SelectionState.NONE);ctx.lineWidth=this.lineWidth_*pixelRatio;break;case ChartSeriesComponent.BACKGROUND:break;default:throw new Error('Invalid component: '+component);}
9147let previousViewX=undefined;let previousViewY=undefined;let previousViewYBase=undefined;let lastSelectionState=undefined;let baseSteps=undefined;const startIndex=Math.max(firstVisibleIndex-1,0);let currentViewX;for(let i=startIndex;i<this.points.length;i++){const currentPoint=this.points[i];currentViewX=transform.worldXToViewX(currentPoint.x);if(currentViewX>rightViewX){if(previousViewX!==undefined){previousViewX=currentViewX=rightViewX;if(component===ChartSeriesComponent.BACKGROUND||component===ChartSeriesComponent.LINE){ctx.lineTo(currentViewX,previousViewY);}}
9148break;}
9149if(i+1<this.points.length){const nextPoint=this.points[i+1];const nextViewX=transform.worldXToViewX(nextPoint.x);if(previousViewX!==undefined&&nextViewX-previousViewX<=viewSkipDistance&&nextViewX<rightViewX){continue;}
9150if(currentViewX<leftViewX){currentViewX=leftViewX;}}
9151if(previousViewX!==undefined&&currentViewX-previousViewX<viewSkipDistance){currentViewX=previousViewX+viewSkipDistance;}
9152const currentViewY=Math.round(transform.worldYToViewY(currentPoint.y));let currentViewYBase;if(currentPoint.yBase===undefined){currentViewYBase=transform.outerBottomViewY;}else{currentViewYBase=Math.round(transform.worldYToViewY(currentPoint.yBase));}
9153const currentSelectionState=currentPoint.selectionState;if(currentSelectionState!==lastSelectionState){const opacity=currentSelectionState===SelectionState.SELECTED?1:squareOpacity;currentStateSeriesColor=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,opacity);}
9154switch(component){case ChartSeriesComponent.DOTS:if(currentPoint.dotLetter){ctx.fillStyle=unselectedSeriesColor;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius+DOT_LETTER_RADIUS_PADDING_PX,0,2*Math.PI);ctx.fill();if(currentSelectionState===SelectionState.SELECTED){ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('olive');ctx.stroke();ctx.beginPath();ctx.arc(currentViewX,currentViewY,letterDotRadius,0,2*Math.PI);ctx.lineWidth=DOT_LETTER_SELECTED_OUTLINE_DETAIL_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('yellow');ctx.stroke();}else{ctx.lineWidth=DOT_LETTER_UNSELECTED_OUTLINE_WIDTH_PX;ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.stroke();}
9155ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('white');ctx.fillText(currentPoint.dotLetter,currentViewX,currentViewY);}else{ctx.strokeStyle=unselectedSeriesColor;ctx.lineWidth=pixelRatio;if(currentSelectionState===SelectionState.SELECTED){if(this.solidSelectedDots_){ctx.fillStyle=ctx.strokeStyle;}else{ctx.fillStyle=currentStateSeriesColor;}
9156ctx.beginPath();ctx.arc(currentViewX,currentViewY,selectedCircleRadius,0,2*Math.PI);ctx.fill();ctx.stroke();}else if(squareOpacity>0){ctx.fillStyle=currentStateSeriesColor;ctx.fillRect(currentViewX-squareHalfSize,currentViewY-squareHalfSize,squareSize,squareSize);}}
9157break;case ChartSeriesComponent.LINE:if(previousViewX===undefined){ctx.beginPath();ctx.moveTo(currentViewX,currentViewY);}else if(this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}
9158ctx.lineTo(currentViewX,currentViewY);break;case ChartSeriesComponent.BACKGROUND:if(previousViewX!==undefined&&this.stepGraph_){ctx.lineTo(currentViewX,previousViewY);}else{ctx.lineTo(currentViewX,currentViewY);}
9159if(currentSelectionState!==lastSelectionState){if(previousViewX!==undefined){let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
9160ctx.closePath();ctx.fill();}
9161ctx.beginPath();ctx.fillStyle=EventPresenter.getCounterSeriesColor(this.colorId_,currentSelectionState,this.backgroundOpacity_);ctx.moveTo(currentViewX,currentViewYBase);baseSteps=[];}
9162if(currentViewYBase!==previousViewYBase||currentSelectionState!==lastSelectionState){baseSteps.push({viewX:currentViewX,viewY:currentViewYBase});}
9163ctx.lineTo(currentViewX,currentViewY);break;default:throw new Error('Not reachable');}
9164previousViewX=currentViewX;previousViewY=currentViewY;previousViewYBase=currentViewYBase;lastSelectionState=currentSelectionState;}
9165if(previousViewX!==undefined){switch(component){case ChartSeriesComponent.DOTS:break;case ChartSeriesComponent.LINE:ctx.stroke();break;case ChartSeriesComponent.BACKGROUND:{let previousBaseStepViewX=currentViewX;for(let j=baseSteps.length-1;j>=0;j--){const baseStep=baseSteps[j];const baseStepViewX=baseStep.viewX;const baseStepViewY=baseStep.viewY;ctx.lineTo(previousBaseStepViewX,baseStepViewY);ctx.lineTo(baseStepViewX,baseStepViewY);previousBaseStepViewX=baseStepViewX;}
9166ctx.closePath();ctx.fill();break;}
9167default:throw new Error('Not reachable');}}
9168ctx.restore();},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){const points=this.points;function getPointWidth(point,i){if(i===points.length-1){return LAST_POINT_WIDTH*viewPixWidthWorld;}
9169const nextPoint=points[i+1];return nextPoint.x-point.x;}
9170function selectPoint(point){point.addToSelection(selection);}
9171tr.b.math.iterateOverIntersectingIntervals(this.points,function(point){return point.x;},getPointWidth,loWX,hiWX,selectPoint);},addEventNearToProvidedEventToSelection(event,offset,selection){if(this.points===undefined)return false;const index=tr.b.findFirstIndexInArray(this.points,function(point){return point.modelItem===event;},this);if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.points.length)return false;this.points[newIndex].addToSelection(selection);return true;},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){if(this.points===undefined)return;const item=tr.b.math.findClosestElementInSortedArray(this.points,function(point){return point.x;},worldX,worldMaxDist);if(!item)return;item.addToSelection(selection);}};return{ChartSeries,ChartSeriesType,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const IDEAL_MAJOR_MARK_HEIGHT_PX=30;const AXIS_LABLE_MARGIN_PX=10;const AXIS_LABLE_FONT_SIZE_PX=9;const AXIS_LABLE_FONT='Arial';function ChartSeriesYAxis(opt_min,opt_max){this.guid_=tr.b.GUID.allocateSimple();this.bounds=new tr.b.math.Range();if(opt_min!==undefined)this.bounds.addValue(opt_min);if(opt_max!==undefined)this.bounds.addValue(opt_max);}
9172ChartSeriesYAxis.prototype={get guid(){return this.guid_;},valueToUnitRange(value){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');}
9173const bounds=this.bounds;if(bounds.range===0)return 0;return(value-bounds.min)/bounds.range;},unitRangeToValue(unitRange){if(this.bounds.isEmpty){throw new Error('Chart series y-axis bounds are empty');}
9174return unitRange*this.bounds.range+this.bounds.min;},autoSetFromSeries(series,opt_config){const range=new tr.b.math.Range();series.forEach(function(s){range.addRange(s.range);},this);this.autoSetFromRange(range,opt_config);},autoSetFromRange(range,opt_config){if(range.isEmpty)return;const bounds=this.bounds;if(bounds.isEmpty){bounds.addRange(range);return;}
9175if(!opt_config)return;const useRangeMin=(opt_config.expandMin&&range.min<bounds.min||opt_config.shrinkMin&&range.min>bounds.min);const useRangeMax=(opt_config.expandMax&&range.max>bounds.max||opt_config.shrinkMax&&range.max<bounds.max);if(!useRangeMin&&!useRangeMax)return;if(useRangeMin&&useRangeMax){bounds.min=range.min;bounds.max=range.max;return;}
9176if(useRangeMin){bounds.min=Math.min(range.min,bounds.max);}else{bounds.max=Math.max(range.max,bounds.min);}},majorMarkHeightWorld_(transform,pixelRatio){const idealMajorMarkHeightPx=IDEAL_MAJOR_MARK_HEIGHT_PX*pixelRatio;const idealMajorMarkHeightWorld=transform.vectorToWorldDistance(idealMajorMarkHeightPx);return tr.b.math.preferredNumberLargerThanMin(idealMajorMarkHeightWorld);},draw(ctx,transform,showYAxisLabels,showYGridLines){if(!showYAxisLabels&&!showYGridLines)return;const pixelRatio=transform.pixelRatio;const viewTop=transform.outerTopViewY;const worldTop=transform.viewYToWorldY(viewTop);const viewBottom=transform.outerBottomViewY;const viewHeight=viewBottom-viewTop;const viewLeft=transform.leftViewX;const viewRight=transform.rightViewX;const labelLeft=transform.leftYLabel;ctx.save();ctx.lineWidth=pixelRatio;ctx.fillStyle=ColorScheme.getColorForReservedNameAsString('black');ctx.textAlign='left';ctx.textBaseline='center';ctx.font=(AXIS_LABLE_FONT_SIZE_PX*pixelRatio)+'px '+AXIS_LABLE_FONT;ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('black');tr.ui.b.drawLine(ctx,viewLeft,viewTop,viewLeft,viewBottom,viewLeft);ctx.stroke();ctx.closePath();ctx.beginPath();ctx.strokeStyle=ColorScheme.getColorForReservedNameAsString('grey');const majorMarkHeight=this.majorMarkHeightWorld_(transform,pixelRatio);const maxMajorMark=Math.max(transform.viewYToWorldY(viewTop),Math.abs(transform.viewYToWorldY(viewBottom)));for(let curWorldY=0;curWorldY<=maxMajorMark;curWorldY+=majorMarkHeight){const roundedUnitValue=Math.floor(curWorldY*1000000)/1000000;const curViewYPositive=transform.worldYToViewY(curWorldY);if(curViewYPositive>=viewTop){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYPositive-AXIS_LABLE_MARGIN_PX);}
9177if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYPositive,viewRight,curViewYPositive);}}
9178const curViewYNegative=transform.worldYToViewY(-1*curWorldY);if(curViewYNegative<=viewBottom){if(showYAxisLabels){ctx.fillText(roundedUnitValue,viewLeft+AXIS_LABLE_MARGIN_PX,curViewYNegative-AXIS_LABLE_MARGIN_PX);}
9179if(showYGridLines){tr.ui.b.drawLine(ctx,viewLeft,curViewYNegative,viewRight,curViewYNegative);}}}
9180ctx.stroke();ctx.restore();}};return{ChartSeriesYAxis,};});'use strict';tr.exportTo('tr.ui.tracks',function(){function ChartTransform(displayTransform,axis,trackWidth,trackHeight,topPadding,bottomPadding,pixelRatio){this.pixelRatio=pixelRatio;this.leftViewX=0;this.rightViewX=trackWidth;this.leftTimestamp=displayTransform.xViewToWorld(this.leftViewX);this.rightTimestamp=displayTransform.xViewToWorld(this.rightViewX);this.displayTransform_=displayTransform;this.outerTopViewY=0;this.innerTopViewY=topPadding;this.innerBottomViewY=trackHeight-bottomPadding;this.outerBottomViewY=trackHeight;this.axis_=axis;this.innerHeight_=this.innerBottomViewY-this.innerTopViewY;}
9181ChartTransform.prototype={worldXToViewX(worldX){return this.displayTransform_.xWorldToView(worldX);},viewXToWorldX(viewX){return this.displayTransform_.xViewToWorld(viewX);},vectorToWorldDistance(viewY){return this.axis_.bounds.range*Math.abs(viewY/this.innerHeight_);},viewYToWorldY(viewY){return this.axis_.unitRangeToValue(1-(viewY-this.innerTopViewY)/this.innerHeight_);},worldYToViewY(worldY){const innerHeightCoefficient=1-this.axis_.valueToUnitRange(worldY);return innerHeightCoefficient*this.innerHeight_+this.innerTopViewY;}};return{ChartTransform,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ChartTrack=tr.ui.b.define('chart-track',tr.ui.tracks.Track);ChartTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('chart-track');this.series_=undefined;this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;this.showYAxisLabels_=undefined;this.showGridLines_=undefined;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},get series(){return this.series_;},set series(series){this.series_=series;this.calculateAxisDataAndPadding_();this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get showYAxisLabels(){return this.showYAxisLabels_;},set showYAxisLabels(showYAxisLabels){this.showYAxisLabels_=showYAxisLabels;this.invalidateDrawingContainer();},get showGridLines(){return this.showGridLines_;},set showGridLines(showGridLines){this.showGridLines_=showGridLines;this.invalidateDrawingContainer();},get hasVisibleContent(){return!!this.series&&this.series.length>0;},calculateAxisDataAndPadding_(){if(!this.series_){this.axes_=undefined;this.axisGuidToAxisData_=undefined;this.topPadding_=undefined;this.bottomPadding_=undefined;return;}
9182const axisGuidToAxisData={};let topPadding=0;let bottomPadding=0;this.series_.forEach(function(series){const seriesYAxis=series.seriesYAxis;const axisGuid=seriesYAxis.guid;if(!(axisGuid in axisGuidToAxisData)){axisGuidToAxisData[axisGuid]={axis:seriesYAxis,series:[]};if(!this.axes_)this.axes_=[];this.axes_.push(seriesYAxis);}
9183axisGuidToAxisData[axisGuid].series.push(series);topPadding=Math.max(topPadding,series.topPadding);bottomPadding=Math.max(bottomPadding,series.bottomPadding);},this);this.axisGuidToAxisData_=axisGuidToAxisData;this.topPadding_=topPadding;this.bottomPadding_=bottomPadding;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawChart_(viewLWorld,viewRWorld);break;}},drawChart_(viewLWorld,viewRWorld){if(!this.series_)return;const ctx=this.context();const displayTransform=this.viewport.currentDisplayTransform;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const highDetails=this.viewport.highDetails;const width=bounds.width*pixelRatio;const height=bounds.height*pixelRatio;const topPadding=this.topPadding_*pixelRatio;const bottomPadding=this.bottomPadding_*pixelRatio;ctx.save();ctx.beginPath();ctx.rect(0,0,width,height);ctx.clip();if(this.axes_){if((this.showGridLines_||this.showYAxisLabels_)&&this.axes_.length>1){throw new Error('Only one axis allowed when showing grid lines.');}
9184for(const yAxis of this.axes_){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,yAxis,width,height,topPadding,bottomPadding,pixelRatio);yAxis.draw(ctx,chartTransform,this.showYAxisLabels_,this.showGridLines_);}}
9185for(const series of this.series){const chartTransform=new tr.ui.tracks.ChartTransform(displayTransform,series.seriesYAxis,width,height,topPadding,bottomPadding,pixelRatio);series.draw(ctx,chartTransform,highDetails);}
9186ctx.restore();},addEventsToTrackMap(eventToTrackMap){this.series_.forEach(function(series){series.points.forEach(function(point){point.addToTrackMap(eventToTrackMap,this);},this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){this.series_.forEach(function(series){series.addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection);},this);},addEventNearToProvidedEventToSelection(event,offset,selection){let foundItem=false;this.series_.forEach(function(series){foundItem=foundItem||series.addEventNearToProvidedEventToSelection(event,offset,selection);},this);return foundItem;},addAllEventsMatchingFilterToSelection(filter,selection){},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.series_.forEach(function(series){series.addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection);},this);},autoSetAllAxes(opt_config){for(const axisData of Object.values(this.axisGuidToAxisData_)){const seriesYAxis=axisData.axis;const series=axisData.series;seriesYAxis.autoSetFromSeries(series,opt_config);}},autoSetAxis(seriesYAxis,opt_config){const series=this.axisGuidToAxisData_[seriesYAxis.guid].series;seriesYAxis.autoSetFromSeries(series,opt_config);}};return{ChartTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const CpuUsageTrack=tr.ui.b.define('cpu-usage-track',ChartTrack);CpuUsageTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);this.classList.add('cpu-usage-track');this.heading='CPU usage';this.cpuUsageSeries_=undefined;},initialize(model){if(model!==undefined){this.cpuUsageSeries_=model.device.cpuUsageSeries;}else{this.cpuUsageSeries_=undefined;}
9187this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return!!this.cpuUsageSeries_&&this.cpuUsageSeries_.samples.length>0;},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.series_,this);},buildChartSeries_(yAxis,color){if(!this.hasVisibleContent)return[];yAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const usageSamples=this.cpuUsageSeries_.samples;const pts=new Array(usageSamples.length+1);for(let i=0;i<usageSamples.length;i++){pts[i]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[i].start,usageSamples[i].usage);}
9188pts[usageSamples.length]=new tr.ui.tracks.ChartPoint(undefined,usageSamples[usageSamples.length-1].start,0);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:color};return[new tr.ui.tracks.ChartSeries(pts,yAxis,renderingConfig)];},};return{CpuUsageTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ChartTrack=tr.ui.tracks.ChartTrack;const PowerSeriesTrack=tr.ui.b.define('power-series-track',ChartTrack);PowerSeriesTrack.prototype={__proto__:ChartTrack.prototype,decorate(viewport){ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('power-series-track');this.heading='Power';this.powerSeries_=undefined;},set powerSeries(powerSeries){this.powerSeries_=powerSeries;this.series=this.buildChartSeries_();this.autoSetAllAxes({expandMax:true});},get hasVisibleContent(){return(this.powerSeries_&&this.powerSeries_.samples.length>0);},addContainersToTrackMap(containerToTrackMap){containerToTrackMap.addContainer(this.powerSeries_,this);},buildChartSeries_(){if(!this.hasVisibleContent)return[];const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const pts=this.powerSeries_.samples.map(function(smpl){return new tr.ui.tracks.ChartPoint(smpl,smpl.start,smpl.powerInW);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:ColorScheme.getColorIdForGeneralPurposeString(this.heading)};return[new tr.ui.tracks.ChartSeries(pts,seriesYAxis,renderingConfig)];}};return{PowerSeriesTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SpacingTrack=tr.ui.b.define('spacing-track',tr.ui.tracks.Track);SpacingTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('spacing-track');this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},addAllEventsMatchingFilterToSelection(filter,selection){}};return{SpacingTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ContainerTrack=tr.ui.tracks.ContainerTrack;const DeviceTrack=tr.ui.b.define('device-track',ContainerTrack);DeviceTrack.prototype={__proto__:ContainerTrack.prototype,decorate(viewport){ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('device-track');this.device_=undefined;this.powerSeriesTrack_=undefined;},get device(){return this.device_;},set device(device){this.device_=device;this.updateContents_();},get powerSeriesTrack(){return this.powerSeriesTrack_;},get hasVisibleContent(){return(this.powerSeriesTrack_&&this.powerSeriesTrack_.hasVisibleContent);},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.device,this);},addEventsToTrackMap(eventToTrackMap){this.tracks_.forEach(function(track){track.addEventsToTrackMap(eventToTrackMap);});},appendPowerSeriesTrack_(){this.powerSeriesTrack_=new tr.ui.tracks.PowerSeriesTrack(this.viewport);this.powerSeriesTrack_.powerSeries=this.device.powerSeries;if(this.powerSeriesTrack_.hasVisibleContent){Polymer.dom(this).appendChild(this.powerSeriesTrack_);Polymer.dom(this).appendChild(new tr.ui.tracks.SpacingTrack(this.viewport));}},updateContents_(){this.clearTracks_();this.appendPowerSeriesTrack_();}};return{DeviceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const DISPLAYED_SIZE_NUMERIC_NAME=tr.model.MemoryAllocatorDump.DISPLAYED_SIZE_NUMERIC_NAME;const BACKGROUND=tr.model.ContainerMemoryDump.LevelOfDetail.BACKGROUND;const LIGHT=tr.model.ContainerMemoryDump.LevelOfDetail.LIGHT;const DETAILED=tr.model.ContainerMemoryDump.LevelOfDetail.DETAILED;function extractGlobalMemoryDumpUsedSizes(globalMemoryDump,addSize){for(const[pid,pmd]of
9189Object.entries(globalMemoryDump.processMemoryDumps)){const mostRecentVmRegions=pmd.mostRecentVmRegions;if(mostRecentVmRegions===undefined)continue;addSize(pid,mostRecentVmRegions.byteStats.proportionalResident||0,pmd.process.userFriendlyName);}}
9190function extractProcessMemoryDumpAllocatorSizes(processMemoryDump,addSize){const allocatorDumps=processMemoryDump.memoryAllocatorDumps;if(allocatorDumps===undefined)return;allocatorDumps.forEach(function(allocatorDump){if(allocatorDump.fullName==='tracing')return;const allocatorSize=allocatorDump.numerics[DISPLAYED_SIZE_NUMERIC_NAME];if(allocatorSize===undefined)return;const allocatorSizeValue=allocatorSize.value;if(allocatorSizeValue===undefined)return;addSize(allocatorDump.fullName,allocatorSizeValue);});}
9191function extractGlobalMemoryDumpAllocatorSizes(globalMemoryDump,addSize){for(const pmd of Object.values(globalMemoryDump.processMemoryDumps)){extractProcessMemoryDumpAllocatorSizes(pmd,addSize);}}
9192function buildMemoryChartSeries(memoryDumps,dumpSizeExtractor){const dumpCount=memoryDumps.length;const idToTimestampToPoint={};const idToName={};memoryDumps.forEach(function(dump,index){dumpSizeExtractor(dump,function addSize(id,size,opt_name){let timestampToPoint=idToTimestampToPoint[id];if(timestampToPoint===undefined){idToTimestampToPoint[id]=timestampToPoint=new Array(dumpCount);for(let i=0;i<dumpCount;i++){const modelItem=memoryDumps[i];timestampToPoint[i]=new tr.ui.tracks.ChartPoint(modelItem,modelItem.start,0);}}
9193timestampToPoint[index].y+=size;if(opt_name!==undefined)idToName[id]=opt_name;});});const ids=Object.keys(idToTimestampToPoint);if(ids.length===0)return undefined;ids.sort();for(let i=0;i<dumpCount;i++){let baseSize=0;for(let j=ids.length-1;j>=0;j--){const point=idToTimestampToPoint[ids[j]][i];point.yBase=baseSize;point.y+=baseSize;baseSize=point.y;}}
9194const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0);const series=ids.map(function(id){const colorId=ColorScheme.getColorIdForGeneralPurposeString(idToName[id]||id);const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId,backgroundOpacity:0.8};return new tr.ui.tracks.ChartSeries(idToTimestampToPoint[id],seriesYAxis,renderingConfig);});series.reverse();return series;}
9195function buildMemoryLetterDots(memoryDumps){const backgroundMemoryColorId=ColorScheme.getColorIdForReservedName('background_memory_dump');const lightMemoryColorId=ColorScheme.getColorIdForReservedName('light_memory_dump');const detailedMemoryColorId=ColorScheme.getColorIdForReservedName('detailed_memory_dump');return memoryDumps.map(function(memoryDump){let memoryColorId;switch(memoryDump.levelOfDetail){case BACKGROUND:memoryColorId=backgroundMemoryColorId;break;case DETAILED:memoryColorId=detailedMemoryColorId;break;case LIGHT:default:memoryColorId=lightMemoryColorId;}
9196return new tr.ui.tracks.LetterDot(memoryDump,'M',memoryColorId,memoryDump.start);});}
9197function buildGlobalUsedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpUsedSizes);}
9198function buildProcessAllocatedMemoryChartSeries(processMemoryDumps){return buildMemoryChartSeries(processMemoryDumps,extractProcessMemoryDumpAllocatorSizes);}
9199function buildGlobalAllocatedMemoryChartSeries(globalMemoryDumps){return buildMemoryChartSeries(globalMemoryDumps,extractGlobalMemoryDumpAllocatorSizes);}
9200return{buildMemoryLetterDots,buildGlobalUsedMemoryChartSeries,buildProcessAllocatedMemoryChartSeries,buildGlobalAllocatedMemoryChartSeries,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const USED_MEMORY_TRACK_HEIGHT=50;const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const GlobalMemoryDumpTrack=tr.ui.b.define('global-memory-dump-track',tr.ui.tracks.ContainerTrack);GlobalMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendDumpDotsTrack_();this.appendUsedMemoryTrack_();this.appendAllocatedMemoryTrack_();},appendDumpDotsTrack_(){const items=tr.ui.tracks.buildMemoryLetterDots(this.memoryDumps_);if(!items)return;const track=new tr.ui.tracks.LetterDotTrack(this.viewport);track.heading='Memory Dumps';track.items=items;Polymer.dom(this).appendChild(track);},appendUsedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalUsedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per process';track.height=USED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildGlobalAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{GlobalMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.b',function(){function FastRectRenderer(ctx,minRectSize,maxMergeDist,pallette){this.ctx_=ctx;this.minRectSize_=minRectSize;this.maxMergeDist_=maxMergeDist;this.pallette_=pallette;}
9201FastRectRenderer.prototype={y_:0,h_:0,merging_:false,mergeStartX_:0,mergeCurRight_:0,mergedColorId_:0,mergedAlpha_:0,setYandH(y,h){if(this.y_===y&&this.h_===h){return;}
9202this.flush();this.y_=y;this.h_=h;},fillRect(x,w,colorId,alpha){const r=x+w;if(w<this.minRectSize_){if(r-this.mergeStartX_>this.maxMergeDist_){this.flush();}
9203if(!this.merging_){this.merging_=true;this.mergeStartX_=x;this.mergeCurRight_=r;this.mergedColorId_=colorId;this.mergedAlpha_=alpha;}else{this.mergeCurRight_=r;if(this.mergedAlpha_<alpha||(this.mergedAlpha_===alpha&&this.mergedColorId_<colorId)){this.mergedAlpha_=alpha;this.mergedColorId_=colorId;}}}else{if(this.merging_){this.flush();}
9204this.ctx_.fillStyle=this.pallette_[colorId];this.ctx_.globalAlpha=alpha;this.ctx_.fillRect(x,this.y_,w,this.h_);}},flush(){if(this.merging_){this.ctx_.fillStyle=this.pallette_[this.mergedColorId_];this.ctx_.globalAlpha=this.mergedAlpha_;this.ctx_.fillRect(this.mergeStartX_,this.y_,this.mergeCurRight_-this.mergeStartX_,this.h_);this.merging_=false;}}};return{FastRectRenderer,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const RectTrack=tr.ui.b.define('rect-track',tr.ui.tracks.Track);RectTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('rect-track');this.asyncStyle_=false;this.rects_=null;this.heading_=document.createElement('tr-ui-b-heading');Polymer.dom(this).appendChild(this.heading_);},set heading(heading){this.heading_.heading=heading;},get heading(){return this.heading_.heading;},set tooltip(tooltip){this.heading_.tooltip=tooltip;},set selectionGenerator(generator){this.heading_.selectionGenerator=generator;},set expanded(expanded){this.heading_.expanded=!!expanded;},set arrowVisible(arrowVisible){this.heading_.arrowVisible=!!arrowVisible;},get expanded(){return this.heading_.expanded;},get asyncStyle(){return this.asyncStyle_;},set asyncStyle(v){this.asyncStyle_=!!v;},get rects(){return this.rects_;},set rects(rects){this.rects_=rects||[];this.invalidateDrawingContainer();},get height(){return window.getComputedStyle(this).height;},set height(height){this.style.height=height;this.invalidateDrawingContainer();},get hasVisibleContent(){return this.rects_.length>0;},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GENERAL_EVENT:this.drawRects_(viewLWorld,viewRWorld);break;}},drawRects_(viewLWorld,viewRWorld){const ctx=this.context();ctx.save();const bounds=this.getBoundingClientRect();tr.ui.b.drawSlices(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.rects_,this.asyncStyle_);ctx.restore();if(bounds.height<=6)return;let fontSize;let yOffset;if(bounds.height<15){fontSize=6;yOffset=1.0;}else{fontSize=10;yOffset=2.5;}
9205tr.ui.b.drawLabels(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,this.rects_,this.asyncStyle_,fontSize,yOffset);},addEventsToTrackMap(eventToTrackMap){if(this.rects_===undefined||this.rects_===null){return;}
9206this.rects_.forEach(function(rect){rect.addToTrackMap(eventToTrackMap,this);},this);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onRect(rect){rect.addToSelection(selection);}
9207onRect=onRect.bind(this);const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.rects_,function(x){return x.start;},function(x){return x.duration===0?x.duration+instantEventWidth:x.duration;},loWX,hiWX,onRect);},addEventNearToProvidedEventToSelection(event,offset,selection){const index=tr.b.findFirstIndexInArray(this.rects_,function(rect){return rect.modelItem===event;});if(index===-1)return false;const newIndex=index+offset;if(newIndex<0||newIndex>=this.rects_.length)return false;this.rects_[newIndex].addToSelection(selection);return true;},addAllEventsMatchingFilterToSelection(filter,selection){for(let i=0;i<this.rects_.length;++i){const modelItem=this.rects_[i].modelItem;if(!modelItem)continue;if(filter.matchSlice(modelItem)){selection.push(modelItem);}}},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){const rect=tr.b.math.findClosestIntervalInSortedIntervals(this.rects_,function(x){return x.start;},function(x){return x.end;},worldX,worldMaxDist);if(!rect)return;rect.addToSelection(selection);}};function Rect(modelItem,title,colorId,start,duration){tr.model.ProxySelectableItem.call(this,modelItem);this.title=title;this.colorId=colorId;this.start=start;this.duration=duration;this.end=start+duration;}
9208Rect.prototype={__proto__:tr.model.ProxySelectableItem.prototype};return{RectTrack,Rect,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceTrack=tr.ui.b.define('slice-track',tr.ui.tracks.RectTrack);SliceTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get slices(){return this.rects;},set slices(slices){this.rects=slices;}};return{SliceTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CpuTrack=tr.ui.b.define('cpu-track',tr.ui.tracks.ContainerTrack);CpuTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('cpu-track');this.detailedMode_=true;},get cpu(){return this.cpu_;},set cpu(cpu){this.cpu_=cpu;this.updateContents_();},get detailedMode(){return this.detailedMode_;},set detailedMode(detailedMode){this.detailedMode_=detailedMode;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(value){this.tooltip_=value;this.updateContents_();},get hasVisibleContent(){if(this.cpu_===undefined)return false;const cpu=this.cpu_;if(cpu.slices.length)return true;if(cpu.samples&&cpu.samples.length)return true;if(Object.keys(cpu.counters).length>0)return true;return false;},updateContents_(){this.detach();if(!this.cpu_)return;const slices=this.cpu_.slices;if(slices.length){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;track.heading=this.cpu_.userFriendlyName+':';Polymer.dom(this).appendChild(track);}
9209if(this.detailedMode_){this.appendSamplesTracks_();for(const counterName in this.cpu_.counters){const counter=this.cpu_.counters[counterName];const track=new tr.ui.tracks.CounterTrack(this.viewport);track.heading=this.cpu_.userFriendlyName+' '+
9210counter.name+':';track.counter=counter;Polymer.dom(this).appendChild(track);}}},appendSamplesTracks_(){const samples=this.cpu_.samples;if(samples===undefined||samples.length===0){return;}
9211const samplesByTitle={};samples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];}
9212samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SliceTrack(this.viewport);samplesTrack.group=this.cpu_;samplesTrack.slices=samples;samplesTrack.heading=this.cpu_.userFriendlyName+': '+
9213sampleTitle;samplesTrack.tooltip=this.cpu_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.slices.length;i++){selection.push(samplesTrack.slices[i]);}
9214return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);}};return{CpuTrack,};});'use strict';tr.exportTo('tr.model',function(){const Settings=tr.b.Settings;function ModelSettings(model){this.model=model;this.objectsByKey_=[];this.nonuniqueKeys_=[];this.buildObjectsByKeyMap_();this.removeNonuniqueKeysFromSettings_();this.ephemeralSettingsByGUID_={};}
9215ModelSettings.prototype={buildObjectsByKeyMap_(){const objects=[];this.model.iterateAllPersistableObjects(function(o){objects.push(o);});const objectsByKey={};const NONUNIQUE_KEY='nonuniqueKey';for(let i=0;i<objects.length;i++){const object=objects[i];const objectKey=object.getSettingsKey();if(!objectKey)continue;if(objectsByKey[objectKey]===undefined){objectsByKey[objectKey]=object;continue;}
9216objectsByKey[objectKey]=NONUNIQUE_KEY;}
9217const nonuniqueKeys={};Object.keys(objectsByKey).forEach(function(objectKey){if(objectsByKey[objectKey]!==NONUNIQUE_KEY){return;}
9218delete objectsByKey[objectKey];nonuniqueKeys[objectKey]=true;});this.nonuniqueKeys=nonuniqueKeys;this.objectsByKey_=objectsByKey;},removeNonuniqueKeysFromSettings_(){const settings=Settings.get('trace_model_settings',{});let settingsChanged=false;Object.keys(settings).forEach(function(objectKey){if(!this.nonuniqueKeys[objectKey]){return;}
9219settingsChanged=true;delete settings[objectKey];},this);if(settingsChanged){Settings.set('trace_model_settings',settings);}},hasUniqueSettingKey(object){const objectKey=object.getSettingsKey();if(!objectKey)return false;return this.objectsByKey_[objectKey]!==undefined;},getSettingFor(object,objectLevelKey,defaultValue){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){const settings=this.getEphemeralSettingsFor_(object);const ephemeralValue=settings[objectLevelKey];if(ephemeralValue!==undefined){return ephemeralValue;}
9220return defaultValue;}
9221const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};}
9222const value=settings[objectKey][objectLevelKey];if(value!==undefined){return value;}
9223return defaultValue;},setSettingFor(object,objectLevelKey,value){const objectKey=object.getSettingsKey();if(!objectKey||!this.objectsByKey_[objectKey]){this.getEphemeralSettingsFor_(object)[objectLevelKey]=value;return;}
9224const settings=Settings.get('trace_model_settings',{});if(!settings[objectKey]){settings[objectKey]={};}
9225if(settings[objectKey][objectLevelKey]===value){return;}
9226settings[objectKey][objectLevelKey]=value;Settings.set('trace_model_settings',settings);},getEphemeralSettingsFor_(object){if(object.guid===undefined){throw new Error('Only objects with GUIDs can be persisted');}
9227if(this.ephemeralSettingsByGUID_[object.guid]===undefined){this.ephemeralSettingsByGUID_[object.guid]={};}
9228return this.ephemeralSettingsByGUID_[object.guid];}};return{ModelSettings,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const CounterTrack=tr.ui.b.define('counter-track',tr.ui.tracks.ChartTrack);CounterTrack.prototype={__proto__:tr.ui.tracks.ChartTrack.prototype,decorate(viewport){tr.ui.tracks.ChartTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('counter-track');},get counter(){return this.chart;},set counter(counter){this.heading=counter.name+': ';this.series=CounterTrack.buildChartSeriesFromCounter(counter);this.autoSetAllAxes({expandMax:true});},getModelEventFromItem(chartValue){return chartValue;}};CounterTrack.buildChartSeriesFromCounter=function(counter){const numSeries=counter.series.length;const totals=counter.totals;const seriesYAxis=new tr.ui.tracks.ChartSeriesYAxis(0,undefined);const chartSeries=counter.series.map(function(series,seriesIndex){const chartPoints=series.samples.map(function(sample,sampleIndex){const total=totals[sampleIndex*numSeries+seriesIndex];return new tr.ui.tracks.ChartPoint(sample,sample.timestamp,total);});const renderingConfig={chartType:tr.ui.tracks.ChartSeriesType.AREA,colorId:series.color};return new tr.ui.tracks.ChartSeries(chartPoints,seriesYAxis,renderingConfig);});chartSeries.reverse();return chartSeries;};return{CounterTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const startCompare=function(x,y){return x.start-y.start;};const FrameTrack=tr.ui.b.define('frame-track',tr.ui.tracks.LetterDotTrack);FrameTrack.prototype={__proto__:tr.ui.tracks.LetterDotTrack.prototype,decorate(viewport){tr.ui.tracks.LetterDotTrack.prototype.decorate.call(this,viewport);this.heading='Frames';this.frames_=undefined;this.items=undefined;},get frames(){return this.frames_;},set frames(frames){this.frames_=frames;if(frames===undefined)return;this.frames_=this.frames_.slice();this.frames_.sort(startCompare);this.items=this.frames_.map(function(frame){return new FrameDot(frame);});}};function FrameDot(frame){tr.ui.tracks.LetterDot.call(this,frame,'F',frame.colorId,frame.start);}
9229FrameDot.prototype={__proto__:tr.ui.tracks.LetterDot.prototype};return{FrameTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const MultiRowTrack=tr.ui.b.define('multi-row-track',tr.ui.tracks.ContainerTrack);MultiRowTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.tooltip_='';this.heading_='';this.groupingSource_=undefined;this.itemsToGroup_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=1;this.itemsGroupedOnLastUpdateContents_=undefined;this.currentSubRows_=[];this.expanded_=true;},get itemsToGroup(){return this.itemsToGroup_;},setItemsToGroup(itemsToGroup,opt_groupingSource){this.itemsToGroup_=itemsToGroup;this.groupingSource_=opt_groupingSource;this.updateContents_();this.updateExpandedStateFromGroupingSource_();},get heading(){return this.heading_;},set heading(h){this.heading_=h;this.updateContents_();},get tooltip(){return this.tooltip_;},set tooltip(t){this.tooltip_=t;this.updateContents_();},get subRows(){return this.currentSubRows_;},get hasVisibleContent(){return this.children.length>0;},get expanded(){return this.expanded_;},set expanded(expanded){if(this.expanded_===expanded)return;this.expanded_=expanded;this.expandedStateChanged_();},onHeadingClicked_(e){if(this.subRows.length<=1)return;this.expanded=!this.expanded;if(this.groupingSource_){const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);modelSettings.setSettingFor(this.groupingSource_,'expanded',this.expanded);}
9230e.stopPropagation();},updateExpandedStateFromGroupingSource_(){if(this.groupingSource_){const numSubRows=this.subRows.length;const modelSettings=new tr.model.ModelSettings(this.groupingSource_.model);if(numSubRows>1){let defaultExpanded;if(numSubRows>this.defaultToCollapsedWhenSubRowCountMoreThan){defaultExpanded=false;}else{defaultExpanded=true;}
9231this.expanded=modelSettings.getSettingFor(this.groupingSource_,'expanded',defaultExpanded);}else{this.expanded=undefined;}}},expandedStateChanged_(){const minH=Math.max(2,Math.ceil(18/this.children.length));const h=(this.expanded_?18:minH)+'px';for(let i=0;i<this.children.length;i++){this.children[i].height=h;if(i===0){this.children[i].arrowVisible=true;}
9232this.children[i].expanded=this.expanded;}
9233if(this.children.length===1){this.children[0].expanded=true;this.children[0].arrowVisible=false;}},updateContents_(){tr.ui.tracks.ContainerTrack.prototype.updateContents_.call(this);if(!this.itemsToGroup_){this.updateHeadingAndTooltip_();this.currentSubRows_=[];return;}
9234if(this.areArrayContentsSame_(this.itemsGroupedOnLastUpdateContents_,this.itemsToGroup_)){this.updateHeadingAndTooltip_();return;}
9235this.itemsGroupedOnLastUpdateContents_=this.itemsToGroup_;this.detach();if(!this.itemsToGroup_.length){this.currentSubRows_=[];return;}
9236const subRows=this.buildSubRows_(this.itemsToGroup_);this.currentSubRows_=subRows;for(let srI=0;srI<subRows.length;srI++){const subRow=subRows[srI];if(!subRow.length)continue;const track=this.addSubTrack_(subRow);track.addEventListener('heading-clicked',this.onHeadingClicked_.bind(this));}
9237this.updateHeadingAndTooltip_();this.expandedStateChanged_();},updateHeadingAndTooltip_(){if(!Polymer.dom(this).firstChild)return;Polymer.dom(this).firstChild.heading=this.heading_;Polymer.dom(this).firstChild.tooltip=this.tooltip_;},buildSubRows_(itemsToGroup){throw new Error('Not implemented');},addSubTrack_(subRowItems){throw new Error('Not implemented');},areArrayContentsSame_(a,b){if(!a||!b)return false;if(!a.length||!b.length)return false;if(a.length!==b.length)return false;for(let i=0;i<a.length;++i){if(a[i]!==b[i])return false;}
9238return true;}};return{MultiRowTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectInstanceGroupTrack=tr.ui.b.define('object-instance-group-track',tr.ui.tracks.MultiRowTrack);ObjectInstanceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('object-instance-group-track');this.objectInstances_=undefined;},get objectInstances(){return this.itemsToGroup;},set objectInstances(objectInstances){this.setItemsToGroup(objectInstances);},addSubTrack_(objectInstances){const hasMultipleRows=this.subRows.length>1;const track=new tr.ui.tracks.ObjectInstanceTrack(this.viewport);track.objectInstances=objectInstances;Polymer.dom(this).appendChild(track);return track;},buildSubRows_(objectInstances){objectInstances.sort(function(x,y){return x.creationTs-y.creationTs;});const subRows=[];for(let i=0;i<objectInstances.length;i++){const objectInstance=objectInstances[i];let found=false;for(let j=0;j<subRows.length;j++){const subRow=subRows[j];const lastItemInSubRow=subRow[subRow.length-1];if(objectInstance.creationTs>=lastItemInSubRow.deletionTs){found=true;subRow.push(objectInstance);break;}}
9239if(!found){subRows.push([objectInstance]);}}
9240return subRows;},updateHeadingAndTooltip_(){}};return{ObjectInstanceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const AsyncSliceGroupTrack=tr.ui.b.define('async-slice-group-track',tr.ui.tracks.MultiRowTrack);AsyncSliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('async-slice-group-track');this.group_=undefined;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);track.asyncStyle=true;return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices,opt_skipSort){if(!opt_skipSort){slices.sort(function(x,y){return x.start-y.start;});}
9241const findLevel=function(sliceToPut,rows,n){if(n>=rows.length){return true;}
9242const subRow=rows[n];const lastSliceInSubRow=subRow[subRow.length-1];if(sliceToPut.start>=lastSliceInSubRow.end){if(sliceToPut.subSlices===undefined||sliceToPut.subSlices.length===0){return true;}
9243for(const subSlice of sliceToPut.subSlices){if(!findLevel(subSlice,rows,n+1)){return false;}}
9244return true;}
9245return false;};const subRows=[];for(const slice of slices){let found=false;let index=subRows.length;for(let j=0;j<subRows.length;j++){if(findLevel(slice,subRows,j)){found=true;index=j;break;}}
9246if(!found){subRows.push([]);}
9247subRows[index].push(slice);const fitSubSlicesRecursively=function(subSlices,level,rows){if(subSlices===undefined||subSlices.length===0){return;}
9248if(level===rows.length){rows.push([]);}
9249for(const subSlice of subSlices){rows[level].push(subSlice);fitSubSlicesRecursively(subSlice.subSlices,level+1,rows);}};fitSubSlicesRecursively(slice.subSlices,index+1,subRows);}
9250return subRows;}};return{AsyncSliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SampleTrack=tr.ui.b.define('sample-track',tr.ui.tracks.RectTrack);SampleTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get samples(){return this.rects;},set samples(samples){this.rects=samples;}};return{SampleTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SliceGroupTrack=tr.ui.b.define('slice-group-track',tr.ui.tracks.MultiRowTrack);SliceGroupTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('slice-group-track');this.group_=undefined;this.defaultToCollapsedWhenSubRowCountMoreThan=100;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;},get group(){return this.group_;},set group(group){this.group_=group;this.setItemsToGroup(this.group_.slices,this.group_);},get eventContainer(){return this.group;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.MultiRowTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.group,this);},buildSubRows_(slices){const precisionUnit=this.group.model.intrinsicTimeUnit;if(!slices.length)return[];const ops=[];for(let i=0;i<slices.length;i++){if(slices[i].subSlices){slices[i].subSlices.splice(0,slices[i].subSlices.length);}
9251ops.push(i);}
9252ops.sort(function(ix,iy){const x=slices[ix];const y=slices[iy];if(x.start!==y.start)return x.start-y.start;return ix-iy;});const subRows=[[]];this.badSlices_=[];for(let i=0;i<ops.length;i++){const op=ops[i];const slice=slices[op];let inserted=false;for(let j=subRows.length-1;j>=0;j--){if(subRows[j].length===0)continue;const insertedSlice=subRows[j][subRows[j].length-1];if(slice.start<insertedSlice.start){this.badSlices_.push(slice);inserted=true;}
9253if(insertedSlice.bounds(slice,precisionUnit)){while(subRows.length<=j+1){subRows.push([]);}
9254subRows[j+1].push(slice);if(insertedSlice.subSlices){insertedSlice.subSlices.push(slice);}
9255inserted=true;break;}}
9256if(inserted)continue;subRows[0].push(slice);}
9257return subRows;}};return{SliceGroupTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ThreadTrack=tr.ui.b.define('thread-track',tr.ui.tracks.ContainerTrack);ThreadTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('thread-track');this.heading_=document.createElement('tr-ui-b-heading');},get thread(){return this.thread_;},set thread(thread){this.thread_=thread;this.updateContents_();},get hasVisibleContent(){return this.tracks_.length>0;},get hasSlices(){return this.thread_.asyncSliceGroup.length>0||this.thread_.sliceGroup.length>0;},get hasTimeSlices(){return this.thread_.timeSlices;},get eventContainer(){return this.thread;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ContainerTrack.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.thread,this);},updateContents_(){this.detach();if(!this.thread_)return;this.heading_.heading=this.thread_.userFriendlyName;this.heading_.tooltip=this.thread_.userFriendlyDetails;if(this.thread_.asyncSliceGroup.length){this.appendAsyncSliceTracks_();}
9258this.appendThreadSamplesTracks_();let needsHeading=false;if(this.thread_.timeSlices){const timeSlicesTrack=new tr.ui.tracks.SliceTrack(this.viewport);timeSlicesTrack.heading='';timeSlicesTrack.height=tr.ui.b.THIN_SLICE_HEIGHT+'px';timeSlicesTrack.slices=this.thread_.timeSlices;if(timeSlicesTrack.hasVisibleContent){needsHeading=true;Polymer.dom(this).appendChild(timeSlicesTrack);}}
9259if(this.thread_.sliceGroup.length){const track=new tr.ui.tracks.SliceGroupTrack(this.viewport);track.heading=this.thread_.userFriendlyName;track.tooltip=this.thread_.userFriendlyDetails;track.group=this.thread_.sliceGroup;if(track.hasVisibleContent){needsHeading=false;Polymer.dom(this).appendChild(track);}}
9260if(needsHeading){Polymer.dom(this).appendChild(this.heading_);}},appendAsyncSliceTracks_(){const subGroups=this.thread_.asyncSliceGroup.viewSubGroups;subGroups.forEach(function(subGroup){const asyncTrack=new tr.ui.tracks.AsyncSliceGroupTrack(this.viewport);const title=subGroup.slices[0].viewSubGroupTitle;asyncTrack.group=subGroup;asyncTrack.heading=title;if(asyncTrack.hasVisibleContent){Polymer.dom(this).appendChild(asyncTrack);}},this);},appendThreadSamplesTracks_(){const threadSamples=this.thread_.samples;if(threadSamples===undefined||threadSamples.length===0){return;}
9261const samplesByTitle={};threadSamples.forEach(function(sample){if(samplesByTitle[sample.title]===undefined){samplesByTitle[sample.title]=[];}
9262samplesByTitle[sample.title].push(sample);});const sampleTitles=Object.keys(samplesByTitle);sampleTitles.sort();sampleTitles.forEach(function(sampleTitle){const samples=samplesByTitle[sampleTitle];const samplesTrack=new tr.ui.tracks.SampleTrack(this.viewport);samplesTrack.group=this.thread_;samplesTrack.samples=samples;samplesTrack.heading=this.thread_.userFriendlyName+': '+
9263sampleTitle;samplesTrack.tooltip=this.thread_.userFriendlyDetails;samplesTrack.selectionGenerator=function(){const selection=new tr.model.EventSet();for(let i=0;i<samplesTrack.samples.length;i++){selection.push(samplesTrack.samples[i]);}
9264return selection;};Polymer.dom(this).appendChild(samplesTrack);},this);},collapsedDidChange(collapsed){if(collapsed){let h=parseInt(this.tracks[0].height);for(let i=0;i<this.tracks.length;++i){if(h>2){this.tracks[i].height=Math.floor(h)+'px';}else{this.tracks[i].style.display='none';}
9265h=h*0.5;}}else{for(let i=0;i<this.tracks.length;++i){this.tracks[i].height=this.tracks[0].height;this.tracks[i].style.display='';}}}};return{ThreadTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const OtherThreadsTrack=tr.ui.b.define('other-threads-track',tr.ui.tracks.OtherThreadsTrack);const SpacingTrack=tr.ui.tracks.SpacingTrack;OtherThreadsTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.header_=document.createElement('tr-ui-b-heading');this.header_.addEventListener('click',this.onHeaderClick_.bind(this));this.header_.heading='Other Threads';this.header_.tooltip='Threads with only scheduling information';this.header_.arrowVisible=true;this.threads_=[];this.expanded=false;this.collapsible_=true;},set threads(threads){this.threads_=threads;this.updateContents_();},set collapsible(collapsible){this.collapsible_=collapsible;this.updateContents_();},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},get expanded(){return this.header_.expanded;},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;this.header_.expanded=expanded;this.viewport_.dispatchChangeEvent();this.updateContents_();},updateContents_(){this.detach();if(this.collapsible_){Polymer.dom(this).appendChild(this.header_);}
9266if(this.expanded||!this.collapsible_){for(const thread of this.threads_){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}}};return{OtherThreadsTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ColorScheme=tr.b.ColorScheme;const ProcessSummaryTrack=tr.ui.b.define('process-summary-track',tr.ui.tracks.RectTrack);ProcessSummaryTrack.buildRectsFromProcess=function(process){if(!process)return[];const ops=[];const pushOp=function(isStart,time,slice){ops.push({isStart,time,slice});};for(const tid in process.threads){const sliceGroup=process.threads[tid].sliceGroup;sliceGroup.topLevelSlices.forEach(function(slice){pushOp(true,slice.start,undefined);pushOp(false,slice.end,undefined);});sliceGroup.slices.forEach(function(slice){if(slice.important){pushOp(true,slice.start,slice);pushOp(false,slice.end,slice);}});}
9267ops.sort(function(a,b){return a.time-b.time;});const rects=[];const genericColorId=ColorScheme.getColorIdForReservedName('generic_work');const pushRect=function(start,end,slice){rects.push(new tr.ui.tracks.Rect(slice,slice?slice.title:'',slice?slice.colorId:genericColorId,start,end-start));};let depth=0;let currentSlice=undefined;let lastStart=undefined;ops.forEach(function(op){depth+=op.isStart?1:-1;if(currentSlice){if(!op.isStart&&op.slice===currentSlice){pushRect(lastStart,op.time,currentSlice);lastStart=depth>=1?op.time:undefined;currentSlice=undefined;}}else{if(op.isStart){if(depth===1){lastStart=op.time;currentSlice=op.slice;}else if(op.slice){if(op.time!==lastStart){pushRect(lastStart,op.time,undefined);lastStart=op.time;}
9268currentSlice=op.slice;}}else{if(depth===0){pushRect(lastStart,op.time,undefined);lastStart=undefined;}}}});return rects;};ProcessSummaryTrack.prototype={__proto__:tr.ui.tracks.RectTrack.prototype,decorate(viewport){tr.ui.tracks.RectTrack.prototype.decorate.call(this,viewport);},get process(){return this.process_;},set process(process){this.process_=process;this.rects=ProcessSummaryTrack.buildRectsFromProcess(process);}};return{ProcessSummaryTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ObjectSnapshotView=tr.ui.analysis.ObjectSnapshotView;const ObjectInstanceView=tr.ui.analysis.ObjectInstanceView;const SpacingTrack=tr.ui.tracks.SpacingTrack;const ProcessTrackBase=tr.ui.b.define('process-track-base',tr.ui.tracks.ContainerTrack);ProcessTrackBase.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.processBase_=undefined;Polymer.dom(this).classList.add('process-track-base');Polymer.dom(this).classList.add('expanded');this.processNameEl_=tr.ui.b.createSpan();Polymer.dom(this.processNameEl_).classList.add('process-track-name');this.headerEl_=tr.ui.b.createDiv({className:'process-track-header'});Polymer.dom(this.headerEl_).appendChild(this.processNameEl_);this.headerEl_.addEventListener('click',this.onHeaderClick_.bind(this));Polymer.dom(this).appendChild(this.headerEl_);},get processBase(){return this.processBase_;},set processBase(processBase){this.processBase_=processBase;if(this.processBase_){const modelSettings=new tr.model.ModelSettings(this.processBase_.model);const defaultValue=this.processBase_.important;this.expanded=modelSettings.getSettingFor(this.processBase_,'expanded',defaultValue);}
9269this.updateContents_();},get expanded(){return Polymer.dom(this).classList.contains('expanded');},set expanded(expanded){expanded=!!expanded;if(this.expanded===expanded)return;Polymer.dom(this).classList.toggle('expanded');this.viewport_.dispatchChangeEvent();if(!this.processBase_)return;const modelSettings=new tr.model.ModelSettings(this.processBase_.model);modelSettings.setSettingFor(this.processBase_,'expanded',expanded);this.updateContents_();this.viewport.rebuildEventToTrackMap();this.viewport.rebuildContainerToTrackMap();},get hasVisibleContent(){if(this.expanded){return this.children.length>1;}
9270return true;},onHeaderClick_(e){e.stopPropagation();e.preventDefault();this.expanded=!this.expanded;},updateContents_(){this.clearTracks_();if(!this.processBase_)return;Polymer.dom(this.processNameEl_).textContent=this.processBase_.userFriendlyName;this.headerEl_.title=this.processBase_.userFriendlyDetails;this.willAppendTracks_();if(this.expanded){this.appendMemoryDumpTrack_();this.appendObjectInstanceTracks_();this.appendCounterTracks_();this.appendFrameTrack_();this.appendThreadTracks_();}else{this.appendSummaryTrack_();}
9271this.didAppendTracks_();},willAppendTracks_(){},didAppendTracks_(){},appendMemoryDumpTrack_(){},appendSummaryTrack_(){const track=new tr.ui.tracks.ProcessSummaryTrack(this.viewport);track.process=this.process;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendFrameTrack_(){const frames=this.process?this.process.frames:undefined;if(!frames||!frames.length)return;const track=new tr.ui.tracks.FrameTrack(this.viewport);track.frames=frames;Polymer.dom(this).appendChild(track);},appendObjectInstanceTracks_(){const instancesByTypeName=this.processBase_.objects.getAllInstancesByTypeName();const instanceTypeNames=Object.keys(instancesByTypeName);instanceTypeNames.sort();let didAppendAtLeastOneTrack=false;instanceTypeNames.forEach(function(typeName){const allInstances=instancesByTypeName[typeName];let instanceViewInfo=ObjectInstanceView.getTypeInfo(undefined,typeName);let snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(instanceViewInfo&&!instanceViewInfo.metadata.showInTrackView){instanceViewInfo=undefined;}
9272if(snapshotViewInfo&&!snapshotViewInfo.metadata.showInTrackView){snapshotViewInfo=undefined;}
9273const hasViewInfo=instanceViewInfo||snapshotViewInfo;const visibleInstances=[];for(let i=0;i<allInstances.length;i++){const instance=allInstances[i];if(instance.snapshots.length===0)continue;if(instance.hasImplicitSnapshots&&!hasViewInfo)continue;visibleInstances.push(instance);}
9274if(visibleInstances.length===0)return;let trackConstructor=tr.ui.tracks.ObjectInstanceTrack.getConstructor(undefined,typeName);if(!trackConstructor){snapshotViewInfo=ObjectSnapshotView.getTypeInfo(undefined,typeName);if(snapshotViewInfo&&snapshotViewInfo.metadata.showInstances){trackConstructor=tr.ui.tracks.ObjectInstanceGroupTrack;}else{trackConstructor=tr.ui.tracks.ObjectInstanceTrack;}}
9275const track=new trackConstructor(this.viewport);track.objectInstances=visibleInstances;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;},this);if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}},appendCounterTracks_(){const counters=Object.values(this.processBase.counters);counters.sort(tr.model.Counter.compare);counters.forEach(function(counter){const track=new tr.ui.tracks.CounterTrack(this.viewport);track.counter=counter;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}.bind(this));},appendThreadTracks_(){const threads=Object.values(this.processBase.threads);threads.sort(tr.model.Thread.compare);const otherThreads=[];let hasVisibleThreads=false;threads.forEach(function(thread){const track=new tr.ui.tracks.ThreadTrack(this.viewport);track.thread=thread;if(!track.hasVisibleContent)return;if(track.hasSlices){hasVisibleThreads=true;Polymer.dom(this).appendChild(track);Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}else if(track.hasTimeSlices){otherThreads.push(thread);}}.bind(this));if(otherThreads.length>0){const track=new tr.ui.tracks.OtherThreadsTrack(this.viewport);track.threads=otherThreads;track.collapsible=otherThreads.length>1&&hasVisibleThreads;Polymer.dom(this).appendChild(track);}}};return{ProcessTrackBase,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const Cpu=tr.model.Cpu;const CpuTrack=tr.ui.tracks.cpu_track;const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const SpacingTrack=tr.ui.tracks.SpacingTrack;const KernelTrack=tr.ui.b.define('kernel-track',ProcessTrackBase);KernelTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){ProcessTrackBase.prototype.decorate.call(this,viewport);},set kernel(kernel){this.processBase=kernel;},get kernel(){return this.processBase;},get eventContainer(){return this.kernel;},get hasVisibleContent(){return this.children.length>1;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.call(this,containerToTrackMap);containerToTrackMap.addContainer(this.kernel,this);},willAppendTracks_(){const cpus=Object.values(this.kernel.cpus);cpus.sort(tr.model.Cpu.compare);let didAppendAtLeastOneTrack=false;for(let i=0;i<cpus.length;++i){const cpu=cpus[i];const track=new tr.ui.tracks.CpuTrack(this.viewport);track.detailedMode=this.expanded;track.cpu=cpu;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);didAppendAtLeastOneTrack=true;}
9276if(didAppendAtLeastOneTrack){Polymer.dom(this).appendChild(new SpacingTrack(this.viewport));}}};return{KernelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const InteractionTrack=tr.ui.b.define('interaction-track',tr.ui.tracks.MultiRowTrack);InteractionTrack.prototype={__proto__:tr.ui.tracks.MultiRowTrack.prototype,decorate(viewport){tr.ui.tracks.MultiRowTrack.prototype.decorate.call(this,viewport);this.heading='Interactions';this.subRows_=[];},set model(model){this.setItemsToGroup(model.userModel.expectations,{guid:tr.b.GUID.allocateSimple(),model,getSettingsKey(){return undefined;}});},buildSubRows_(slices){if(this.subRows_.length){return this.subRows_;}
9277this.subRows_.push.apply(this.subRows_,tr.ui.tracks.AsyncSliceGroupTrack.prototype.buildSubRows_.call({},slices,true));return this.subRows_;},addSubTrack_(slices){const track=new tr.ui.tracks.SliceTrack(this.viewport);track.slices=slices;Polymer.dom(this).appendChild(track);return track;}};return{InteractionTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ALLOCATED_MEMORY_TRACK_HEIGHT=50;const ProcessMemoryDumpTrack=tr.ui.b.define('process-memory-dump-track',tr.ui.tracks.ContainerTrack);ProcessMemoryDumpTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);this.memoryDumps_=undefined;},get memoryDumps(){return this.memoryDumps_;},set memoryDumps(memoryDumps){this.memoryDumps_=memoryDumps;this.updateContents_();},updateContents_(){this.clearTracks_();if(!this.memoryDumps_||!this.memoryDumps_.length)return;this.appendAllocatedMemoryTrack_();},appendAllocatedMemoryTrack_(){const series=tr.ui.tracks.buildProcessAllocatedMemoryChartSeries(this.memoryDumps_);if(!series)return;const track=new tr.ui.tracks.ChartTrack(this.viewport);track.heading='Memory per component';track.height=ALLOCATED_MEMORY_TRACK_HEIGHT+'px';track.series=series;track.autoSetAllAxes({expandMax:true});Polymer.dom(this).appendChild(track);}};return{ProcessMemoryDumpTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const ProcessTrackBase=tr.ui.tracks.ProcessTrackBase;const ProcessTrack=tr.ui.b.define('process-track',ProcessTrackBase);ProcessTrack.prototype={__proto__:ProcessTrackBase.prototype,decorate(viewport){tr.ui.tracks.ProcessTrackBase.prototype.decorate.call(this,viewport);},drawTrack(type){switch(type){case tr.ui.tracks.DrawType.INSTANT_EVENT:{if(!this.processBase.instantEvents||this.processBase.instantEvents.length===0){break;}
9278const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.processBase.instantEvents,2);ctx.restore();break;}
9279case tr.ui.tracks.DrawType.BACKGROUND:this.drawBackground_();return;}
9280tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawBackground_(){const ctx=this.context();const canvasBounds=ctx.canvas.getBoundingClientRect();const pixelRatio=window.devicePixelRatio||1;let draw=false;ctx.fillStyle='#eee';for(let i=0;i<this.children.length;++i){if(!(this.children[i]instanceof tr.ui.tracks.Track)||(this.children[i]instanceof tr.ui.tracks.SpacingTrack)){continue;}
9281draw=!draw;if(!draw)continue;const bounds=this.children[i].getBoundingClientRect();ctx.fillRect(0,pixelRatio*(bounds.top-canvasBounds.top),ctx.canvas.width,pixelRatio*bounds.height);}},set process(process){this.processBase=process;},get process(){return this.processBase;},get eventContainer(){return this.process;},addContainersToTrackMap(containerToTrackMap){tr.ui.tracks.ProcessTrackBase.prototype.addContainersToTrackMap.apply(this,arguments);containerToTrackMap.addContainer(this.process,this);},appendMemoryDumpTrack_(){const processMemoryDumps=this.process.memoryDumps;if(processMemoryDumps.length){const pmdt=new tr.ui.tracks.ProcessMemoryDumpTrack(this.viewport_);pmdt.memoryDumps=processMemoryDumps;Polymer.dom(this).appendChild(pmdt);}},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
9282const instantEventWidth=2*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.processBase.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.processBase.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ProcessTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const SelectionState=tr.model.SelectionState;const ColorScheme=tr.b.ColorScheme;const EventPresenter=tr.ui.b.EventPresenter;const ModelTrack=tr.ui.b.define('model-track',tr.ui.tracks.ContainerTrack);ModelTrack.VSYNC_HIGHLIGHT_ALPHA=0.1;ModelTrack.VSYNC_DENSITY_TRANSPARENT=0.20;ModelTrack.VSYNC_DENSITY_OPAQUE=0.10;ModelTrack.VSYNC_DENSITY_RANGE=ModelTrack.VSYNC_DENSITY_TRANSPARENT-ModelTrack.VSYNC_DENSITY_OPAQUE;ModelTrack.generateStripes_=function(times,minTime,maxTime){if(times.length===0)return[];const lowIndex=tr.b.math.findLowIndexInSortedArray(times,tr.b.identity,minTime);let highIndex=lowIndex-1;while(times[highIndex+1]<=maxTime){highIndex++;}
9283const stripes=[];for(let i=lowIndex-(lowIndex%2);i<=highIndex;i+=2){const left=i<lowIndex?minTime:times[i];const right=i+1>highIndex?maxTime:times[i+1];stripes.push(tr.b.math.Range.fromExplicitRange(left,right));}
9284return stripes;};ModelTrack.prototype={__proto__:tr.ui.tracks.ContainerTrack.prototype,decorate(viewport){tr.ui.tracks.ContainerTrack.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('model-track');this.upperMode_=false;this.annotationViews_=[];this.vSyncTimes_=[];},get upperMode(){return this.upperMode_;},set upperMode(upperMode){this.upperMode_=upperMode;this.updateContents_();},detach(){tr.ui.tracks.ContainerTrack.prototype.detach.call(this);},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();this.model_.addEventListener('annotationChange',this.updateAnnotations_.bind(this));},get hasVisibleContent(){return this.children.length>0;},updateContents_(){Polymer.dom(this).textContent='';if(!this.model_)return;if(this.upperMode_){this.updateContentsForUpperMode_();}else{this.updateContentsForLowerMode_();}},updateContentsForUpperMode_(){},updateContentsForLowerMode_(){if(this.model_.userModel.expectations.length>1){const mrt=new tr.ui.tracks.InteractionTrack(this.viewport_);mrt.model=this.model_;Polymer.dom(this).appendChild(mrt);}
9285if(this.model_.alerts.length){const at=new tr.ui.tracks.AlertTrack(this.viewport_);at.alerts=this.model_.alerts;Polymer.dom(this).appendChild(at);}
9286if(this.model_.globalMemoryDumps.length){const gmdt=new tr.ui.tracks.GlobalMemoryDumpTrack(this.viewport_);gmdt.memoryDumps=this.model_.globalMemoryDumps;Polymer.dom(this).appendChild(gmdt);}
9287this.appendDeviceTrack_();this.appendCpuUsageTrack_();this.appendKernelTrack_();const processes=this.model_.getAllProcesses();processes.sort(tr.model.Process.compare);for(let i=0;i<processes.length;++i){const process=processes[i];const track=new tr.ui.tracks.ProcessTrack(this.viewport);track.process=process;if(!track.hasVisibleContent)continue;Polymer.dom(this).appendChild(track);}
9288this.viewport_.rebuildEventToTrackMap();this.viewport_.rebuildContainerToTrackMap();this.vSyncTimes_=this.model_.device.vSyncTimestamps;this.updateAnnotations_();},getContentBounds(){return this.model.bounds;},addAnnotation(annotation){this.model.addAnnotation(annotation);},removeAnnotation(annotation){this.model.removeAnnotation(annotation);},updateAnnotations_(){this.annotationViews_=[];const annotations=this.model_.getAllAnnotations();for(let i=0;i<annotations.length;i++){this.annotationViews_.push(annotations[i].getOrCreateView(this.viewport_));}
9289this.invalidateDrawingContainer();},addEventsToTrackMap(eventToTrackMap){if(!this.model_)return;const tracks=this.children;for(let i=0;i<tracks.length;++i){tracks[i].addEventsToTrackMap(eventToTrackMap);}
9290if(this.instantEvents===undefined)return;const vp=this.viewport_;this.instantEvents.forEach(function(ev){eventToTrackMap.addEvent(ev,this);}.bind(this));},appendDeviceTrack_(){const device=this.model.device;const track=new tr.ui.tracks.DeviceTrack(this.viewport);track.device=this.model.device;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendKernelTrack_(){const kernel=this.model.kernel;const track=new tr.ui.tracks.KernelTrack(this.viewport);track.kernel=this.model.kernel;if(!track.hasVisibleContent)return;Polymer.dom(this).appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},appendCpuUsageTrack_(){const track=new tr.ui.tracks.CpuUsageTrack(this.viewport);track.initialize(this.model);if(!track.hasVisibleContent)return;this.appendChild(track);},drawTrack(type){const ctx=this.context();if(!this.model_)return;const pixelRatio=window.devicePixelRatio||1;const bounds=this.getBoundingClientRect();const canvasBounds=ctx.canvas.getBoundingClientRect();ctx.save();ctx.translate(0,pixelRatio*(bounds.top-canvasBounds.top));const dt=this.viewport.currentDisplayTransform;const viewLWorld=dt.xViewToWorld(0);const viewRWorld=dt.xViewToWorld(bounds.width*pixelRatio);switch(type){case tr.ui.tracks.DrawType.GRID:this.viewport.drawMajorMarkLines(ctx);ctx.restore();return;case tr.ui.tracks.DrawType.FLOW_ARROWS:if(this.model_.flowIntervalTree.size===0){ctx.restore();return;}
9291this.drawFlowArrows_(viewLWorld,viewRWorld);ctx.restore();return;case tr.ui.tracks.DrawType.INSTANT_EVENT:if(!this.model_.instantEvents||this.model_.instantEvents.length===0){break;}
9292tr.ui.b.drawInstantSlicesAsLines(ctx,this.viewport.currentDisplayTransform,viewLWorld,viewRWorld,bounds.height,this.model_.instantEvents,4);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(ctx,viewLWorld,viewRWorld);this.viewport.interestRange.drawIndicators(ctx,viewLWorld,viewRWorld);}
9293ctx.restore();return;case tr.ui.tracks.DrawType.HIGHLIGHTS:this.drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,bounds.height);ctx.restore();return;case tr.ui.tracks.DrawType.ANNOTATIONS:for(let i=0;i<this.annotationViews_.length;i++){this.annotationViews_[i].draw(ctx);}
9294ctx.restore();return;}
9295ctx.restore();tr.ui.tracks.ContainerTrack.prototype.drawTrack.call(this,type);},drawFlowArrows_(viewLWorld,viewRWorld){const ctx=this.context();const dt=this.viewport.currentDisplayTransform;dt.applyTransformToCanvas(ctx);const pixWidth=dt.xViewVectorToWorld(1);ctx.strokeStyle='rgba(0, 0, 0, 0.4)';ctx.fillStyle='rgba(0, 0, 0, 0.4)';ctx.lineWidth=pixWidth>1.0?1:pixWidth;const events=this.model_.flowIntervalTree.findIntersection(viewLWorld,viewRWorld);const onlyHighlighted=!this.viewport.showFlowEvents;const canvasBounds=ctx.canvas.getBoundingClientRect();for(let i=0;i<events.length;++i){if(onlyHighlighted&&events[i].selectionState!==SelectionState.SELECTED&&events[i].selectionState!==SelectionState.HIGHLIGHTED){continue;}
9296this.drawFlowArrow_(ctx,events[i],canvasBounds,pixWidth);}},drawFlowArrow_(ctx,flowEvent,canvasBounds,pixWidth){const pixelRatio=window.devicePixelRatio||1;const startTrack=this.viewport.trackForEvent(flowEvent.startSlice);const endTrack=this.viewport.trackForEvent(flowEvent.endSlice);if(startTrack===undefined||endTrack===undefined)return;const startBounds=startTrack.getBoundingClientRect();const endBounds=endTrack.getBoundingClientRect();if(flowEvent.selectionState===SelectionState.SELECTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.HIGHLIGHTED){ctx.shadowBlur=1;ctx.shadowColor='red';ctx.shadowOffsety=2;ctx.strokeStyle='red';}else if(flowEvent.selectionState===SelectionState.DIMMED){ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.2)';}else{let hasBoost=false;const startSlice=flowEvent.startSlice;hasBoost|=startSlice.selectionState===SelectionState.SELECTED;hasBoost|=startSlice.selectionState===SelectionState.HIGHLIGHTED;const endSlice=flowEvent.endSlice;hasBoost|=endSlice.selectionState===SelectionState.SELECTED;hasBoost|=endSlice.selectionState===SelectionState.HIGHLIGHTED;if(hasBoost){ctx.shadowBlur=1;ctx.shadowColor='rgba(255, 0, 0, 0.4)';ctx.shadowOffsety=2;ctx.strokeStyle='rgba(255, 0, 0, 0.4)';}else{ctx.shadowBlur=0;ctx.shadowOffsetX=0;ctx.strokeStyle='rgba(0, 0, 0, 0.4)';}}
9297const startSize=startBounds.left+startBounds.top+
9298startBounds.bottom+startBounds.right;const endSize=endBounds.left+endBounds.top+
9299endBounds.bottom+endBounds.right;if(startSize===0&&endSize===0)return;const startY=this.calculateTrackY_(startTrack,canvasBounds);const endY=this.calculateTrackY_(endTrack,canvasBounds);const pixelStartY=pixelRatio*startY;const pixelEndY=pixelRatio*endY;const half=(flowEvent.end-flowEvent.start)/2;ctx.beginPath();ctx.moveTo(flowEvent.start,pixelStartY);ctx.bezierCurveTo(flowEvent.start+half,pixelStartY,flowEvent.start+half,pixelEndY,flowEvent.end,pixelEndY);ctx.stroke();const arrowWidth=5*pixWidth*pixelRatio;const distance=flowEvent.end-flowEvent.start;if(distance<=(2*arrowWidth))return;const tipX=flowEvent.end;const tipY=pixelEndY;const arrowHeight=(endBounds.height/4)*pixelRatio;tr.ui.b.drawTriangle(ctx,tipX,tipY,tipX-arrowWidth,tipY-arrowHeight,tipX-arrowWidth,tipY+arrowHeight);ctx.fill();},drawVSyncHighlight(ctx,dt,viewLWorld,viewRWorld,viewHeight){if(!this.viewport_.highlightVSync){return;}
9300const stripes=ModelTrack.generateStripes_(this.vSyncTimes_,viewLWorld,viewRWorld);if(stripes.length===0){return;}
9301const vSyncHighlightColor=new tr.b.Color(ColorScheme.getColorForReservedNameAsString('vsync_highlight_color'));const stripeRange=stripes[stripes.length-1].max-stripes[0].min;const stripeDensity=stripeRange?stripes.length/(dt.scaleX*stripeRange):0;const clampedStripeDensity=tr.b.math.clamp(stripeDensity,ModelTrack.VSYNC_DENSITY_OPAQUE,ModelTrack.VSYNC_DENSITY_TRANSPARENT);const opacity=(ModelTrack.VSYNC_DENSITY_TRANSPARENT-clampedStripeDensity)/ModelTrack.VSYNC_DENSITY_RANGE;if(opacity===0){return;}
9302const pixelRatio=window.devicePixelRatio||1;const height=viewHeight*pixelRatio;ctx.fillStyle=vSyncHighlightColor.toStringWithAlphaOverride(ModelTrack.VSYNC_HIGHLIGHT_ALPHA*opacity);for(let i=0;i<stripes.length;i++){const xLeftView=dt.xWorldToView(stripes[i].min);const xRightView=dt.xWorldToView(stripes[i].max);ctx.fillRect(xLeftView,0,xRightView-xLeftView,height);}},calculateTrackY_(track,canvasBounds){const bounds=track.getBoundingClientRect();const size=bounds.left+bounds.top+bounds.bottom+bounds.right;if(size===0){return this.calculateTrackY_(Polymer.dom(track).parentNode,canvasBounds);}
9303return bounds.top-canvasBounds.top+(bounds.height/2);},addIntersectingEventsInRangeToSelectionInWorldSpace(loWX,hiWX,viewPixWidthWorld,selection){function onPickHit(instantEvent){selection.push(instantEvent);}
9304const instantEventWidth=3*viewPixWidthWorld;tr.b.math.iterateOverIntersectingIntervals(this.model_.instantEvents,function(x){return x.start;},function(x){return x.duration+instantEventWidth;},loWX,hiWX,onPickHit.bind(this));tr.ui.tracks.ContainerTrack.prototype.addIntersectingEventsInRangeToSelectionInWorldSpace.apply(this,arguments);},addClosestEventToSelection(worldX,worldMaxDist,loY,hiY,selection){this.addClosestInstantEventToSelection(this.model_.instantEvents,worldX,worldMaxDist,selection);tr.ui.tracks.ContainerTrack.prototype.addClosestEventToSelection.apply(this,arguments);}};return{ModelTrack,};});'use strict';tr.exportTo('tr.ui.tracks',function(){const XAxisTrack=tr.ui.b.define('x-axis-track',tr.ui.tracks.Track);XAxisTrack.prototype={__proto__:tr.ui.tracks.Track.prototype,decorate(viewport){tr.ui.tracks.Track.prototype.decorate.call(this,viewport);Polymer.dom(this).classList.add('x-axis-track');this.strings_secs_=[];this.strings_msecs_=[];this.strings_usecs_=[];this.strings_nsecs_=[];this.viewportChange_=this.viewportChange_.bind(this);viewport.addEventListener('change',this.viewportChange_);const heading=document.createElement('tr-ui-b-heading');heading.arrowVisible=false;Polymer.dom(this).appendChild(heading);},detach(){tr.ui.tracks.Track.prototype.detach.call(this);this.viewport.removeEventListener('change',this.viewportChange_);},viewportChange_(){if(this.viewport.interestRange.isEmpty){Polymer.dom(this).classList.remove('tall-mode');}else{Polymer.dom(this).classList.add('tall-mode');}},draw(type,viewLWorld,viewRWorld){switch(type){case tr.ui.tracks.DrawType.GRID:this.drawGrid_(viewLWorld,viewRWorld);break;case tr.ui.tracks.DrawType.MARKERS:if(!this.viewport.interestRange.isEmpty){this.viewport.interestRange.draw(this.context(),viewLWorld,viewRWorld);}
9305break;}},drawGrid_(viewLWorld,viewRWorld){const ctx=this.context();const pixelRatio=window.devicePixelRatio||1;const canvasBounds=ctx.canvas.getBoundingClientRect();const trackBounds=this.getBoundingClientRect();const width=canvasBounds.width*pixelRatio;const height=trackBounds.height*pixelRatio;const hasInterestRange=!this.viewport.interestRange.isEmpty;const xAxisHeightPx=hasInterestRange?(height*2)/5:height;const vp=this.viewport;const dt=vp.currentDisplayTransform;vp.updateMajorMarkData(viewLWorld,viewRWorld);const majorMarkDistanceWorld=vp.majorMarkWorldPositions.length>1?vp.majorMarkWorldPositions[1]-vp.majorMarkWorldPositions[0]:0;const numTicksPerMajor=5;const minorMarkDistanceWorld=majorMarkDistanceWorld/numTicksPerMajor;const minorMarkDistancePx=dt.xWorldVectorToView(minorMarkDistanceWorld);const minorTickHeight=Math.floor(xAxisHeightPx*0.25);ctx.save();ctx.lineWidth=Math.round(pixelRatio);const crispLineCorrection=(ctx.lineWidth%2)/2;ctx.translate(crispLineCorrection,-crispLineCorrection);ctx.fillStyle='rgb(0, 0, 0)';ctx.strokeStyle='rgb(0, 0, 0)';ctx.textAlign='left';ctx.textBaseline='top';ctx.font=(9*pixelRatio)+'px sans-serif';const tickLabels=[];ctx.beginPath();for(let i=0;i<vp.majorMarkWorldPositions.length;i++){const curXWorld=vp.majorMarkWorldPositions[i];const curXView=dt.xWorldToView(curXWorld);const displayText=vp.majorMarkUnit.format(curXWorld,{deltaValue:majorMarkDistanceWorld});ctx.fillText(displayText,curXView+(2*pixelRatio),0);tr.ui.b.drawLine(ctx,curXView,0,curXView,xAxisHeightPx);if(minorMarkDistancePx){for(let j=1;j<numTicksPerMajor;++j){const xView=Math.floor(curXView+minorMarkDistancePx*j);tr.ui.b.drawLine(ctx,xView,xAxisHeightPx-minorTickHeight,xView,xAxisHeightPx);}}}
9306ctx.strokeStyle='rgb(0, 0, 0)';tr.ui.b.drawLine(ctx,0,height,width,height);ctx.stroke();if(!hasInterestRange)return;tr.ui.b.drawLine(ctx,0,xAxisHeightPx,width,xAxisHeightPx);ctx.stroke();let displayDistance;const displayTextColor='rgb(0,0,0)';const arrowSpacing=10*pixelRatio;const arrowColor='rgb(128,121,121)';const arrowPosY=xAxisHeightPx*1.75;const arrowWidthView=3*pixelRatio;const arrowLengthView=10*pixelRatio;const spaceForArrowsView=2*(arrowWidthView+arrowSpacing);ctx.textBaseline='middle';ctx.font=(14*pixelRatio)+'px sans-serif';const textPosY=arrowPosY;const interestRange=vp.interestRange;if(interestRange.range===0){const markerWorld=interestRange.min;const markerView=dt.xWorldToView(markerWorld);const textToDraw=vp.majorMarkUnit.format(markerWorld);let textLeftView=markerView+4*pixelRatio;const textWidthView=ctx.measureText(textToDraw).width;if(textLeftView+textWidthView>width){textLeftView=markerView-4*pixelRatio-textWidthView;}
9307ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);return;}
9308const leftMarker=interestRange.min;const rightMarker=interestRange.max;const leftMarkerView=dt.xWorldToView(leftMarker);const rightMarkerView=dt.xWorldToView(rightMarker);const distanceBetweenMarkers=interestRange.range;const distanceBetweenMarkersView=dt.xWorldVectorToView(distanceBetweenMarkers);const positionInMiddleOfMarkersView=leftMarkerView+(distanceBetweenMarkersView/2);const textToDraw=vp.majorMarkUnit.format(distanceBetweenMarkers);const textWidthView=ctx.measureText(textToDraw).width;const spaceForArrowsAndTextView=textWidthView+spaceForArrowsView+arrowSpacing;let textLeftView=positionInMiddleOfMarkersView-textWidthView/2;const textRightView=textLeftView+textWidthView;if(spaceForArrowsAndTextView>distanceBetweenMarkersView){textLeftView=rightMarkerView+2*arrowSpacing;if(textLeftView+textWidthView>width){textLeftView=leftMarkerView-2*arrowSpacing-textWidthView;}
9309ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);ctx.strokeStyle=arrowColor;ctx.beginPath();tr.ui.b.drawLine(ctx,leftMarkerView,arrowPosY,rightMarkerView,arrowPosY);ctx.stroke();ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftMarkerView-1.5*arrowSpacing,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightMarkerView+1.5*arrowSpacing,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}else if(spaceForArrowsView<=distanceBetweenMarkersView){let leftArrowStart;let rightArrowStart;if(spaceForArrowsAndTextView<=distanceBetweenMarkersView){ctx.fillStyle=displayTextColor;ctx.fillText(textToDraw,textLeftView,textPosY);leftArrowStart=textLeftView-arrowSpacing;rightArrowStart=textRightView+arrowSpacing;}else{leftArrowStart=positionInMiddleOfMarkersView;rightArrowStart=positionInMiddleOfMarkersView;}
9310ctx.strokeStyle=arrowColor;ctx.fillStyle=arrowColor;tr.ui.b.drawArrow(ctx,leftArrowStart,arrowPosY,leftMarkerView,arrowPosY,arrowLengthView,arrowWidthView);tr.ui.b.drawArrow(ctx,rightArrowStart,arrowPosY,rightMarkerView,arrowPosY,arrowLengthView,arrowWidthView);}
9311ctx.restore();},addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection){},addAllEventsMatchingFilterToSelection(filter,selection){}};return{XAxisTrack,};});'use strict';Polymer({is:'tr-ui-timeline-track-view',ready(){this.displayTransform_=new tr.ui.TimelineDisplayTransform();this.model_=undefined;this.timelineView_=undefined;this.pollIfViewportAttachedInterval_=undefined;this.viewport_=new tr.ui.TimelineViewport(this);this.viewportDisplayTransformAtMouseDown_=undefined;this.brushingStateController_=undefined;this.rulerTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.rulerTrackContainer_);this.rulerTrackContainer_.invalidate();this.rulerTrack_=new tr.ui.tracks.XAxisTrack(this.viewport_);Polymer.dom(this.rulerTrackContainer_).appendChild(this.rulerTrack_);this.upperModelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);this.upperModelTrack_.upperMode=true;Polymer.dom(this.rulerTrackContainer_).appendChild(this.upperModelTrack_);this.modelTrackContainer_=new tr.ui.tracks.DrawingContainer(this.viewport_);Polymer.dom(this).appendChild(this.modelTrackContainer_);this.modelTrackContainer_.style.display='block';this.modelTrackContainer_.invalidate();this.viewport_.modelTrackContainer=this.modelTrackContainer_;this.modelTrack_=new tr.ui.tracks.ModelTrack(this.viewport_);Polymer.dom(this.modelTrackContainer_).appendChild(this.modelTrack_);this.timingTool_=new tr.ui.b.TimingTool(this.viewport_,this);this.initMouseModeSelector();this.hideDragBox_();this.initHintText_();this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onDblClick_=this.onDblClick_.bind(this);this.addEventListener('dblclick',this.onDblClick_);this.onMouseWheel_=this.onMouseWheel_.bind(this);this.addEventListener('mousewheel',this.onMouseWheel_);this.onMouseDown_=this.onMouseDown_.bind(this);this.addEventListener('mousedown',this.onMouseDown_);this.onMouseMove_=this.onMouseMove_.bind(this);this.addEventListener('mousemove',this.onMouseMove_);this.onTouchStart_=this.onTouchStart_.bind(this);this.addEventListener('touchstart',this.onTouchStart_);this.onTouchMove_=this.onTouchMove_.bind(this);this.addEventListener('touchmove',this.onTouchMove_);this.onTouchEnd_=this.onTouchEnd_.bind(this);this.addEventListener('touchend',this.onTouchEnd_);this.addHotKeys_();this.mouseViewPosAtMouseDown_={x:0,y:0};this.lastMouseViewPos_={x:0,y:0};this.lastTouchViewPositions_=[];this.alert_=undefined;this.isPanningAndScanning_=false;this.isZooming_=false;},initMouseModeSelector(){this.mouseModeSelector_=document.createElement('tr-ui-b-mouse-mode-selector');this.mouseModeSelector_.targetElement=this;Polymer.dom(this).appendChild(this.mouseModeSelector_);this.mouseModeSelector_.addEventListener('beginpan',this.onBeginPanScan_.bind(this));this.mouseModeSelector_.addEventListener('updatepan',this.onUpdatePanScan_.bind(this));this.mouseModeSelector_.addEventListener('endpan',this.onEndPanScan_.bind(this));this.mouseModeSelector_.addEventListener('beginselection',this.onBeginSelection_.bind(this));this.mouseModeSelector_.addEventListener('updateselection',this.onUpdateSelection_.bind(this));this.mouseModeSelector_.addEventListener('endselection',this.onEndSelection_.bind(this));this.mouseModeSelector_.addEventListener('beginzoom',this.onBeginZoom_.bind(this));this.mouseModeSelector_.addEventListener('updatezoom',this.onUpdateZoom_.bind(this));this.mouseModeSelector_.addEventListener('endzoom',this.onEndZoom_.bind(this));this.mouseModeSelector_.addEventListener('entertiming',this.timingTool_.onEnterTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('begintiming',this.timingTool_.onBeginTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('updatetiming',this.timingTool_.onUpdateTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('endtiming',this.timingTool_.onEndTiming.bind(this.timingTool_));this.mouseModeSelector_.addEventListener('exittiming',this.timingTool_.onExitTiming.bind(this.timingTool_));const m=tr.ui.b.MOUSE_SELECTOR_MODE;this.mouseModeSelector_.supportedModeMask=m.SELECTION|m.PANSCAN|m.ZOOM|m.TIMING;this.mouseModeSelector_.settingsKey='timelineTrackView.mouseModeSelector';this.mouseModeSelector_.setKeyCodeForMode(m.PANSCAN,'2'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.SELECTION,'1'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.ZOOM,'3'.charCodeAt(0));this.mouseModeSelector_.setKeyCodeForMode(m.TIMING,'4'.charCodeAt(0));this.mouseModeSelector_.setModifierForAlternateMode(m.SELECTION,tr.ui.b.MODIFIER.SHIFT);this.mouseModeSelector_.setModifierForAlternateMode(m.PANSCAN,tr.ui.b.MODIFIER.SPACE);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController_){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);}
9312this.brushingStateController_=brushingStateController;if(this.brushingStateController_){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);}},set timelineView(view){this.timelineView_=view;},onSelectionChanged_(){this.showHintText_('Press \'m\' to mark current selection');this.viewport_.dispatchChangeEvent();},set selection(selection){throw new Error('DO NOT CALL THIS');},set highlight(highlight){throw new Error('DO NOT CALL THIS');},detach(){this.modelTrack_.detach();this.upperModelTrack_.detach();if(this.pollIfViewportAttachedInterval_){window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;}
9313this.viewport_.detach();},get viewport(){return this.viewport_;},get model(){return this.model_;},set model(model){if(!model){throw new Error('Model cannot be undefined');}
9314const modelInstanceChanged=this.model_!==model;this.model_=model;this.modelTrack_.model=model;this.upperModelTrack_.model=model;if(modelInstanceChanged){this.pollIfViewportAttachedInterval_=window.setInterval(this.pollIfViewportAttached_.bind(this),250);}},get hasVisibleContent(){return this.modelTrack_.hasVisibleContent||this.upperModelTrack_.hasVisibleContent;},pollIfViewportAttached_(){if(!this.viewport_.isAttachedToDocumentOrInTestMode||this.viewport_.clientWidth===0){return;}
9315window.addEventListener('resize',this.viewport_.dispatchChangeEvent);window.clearInterval(this.pollIfViewportAttachedInterval_);this.pollIfViewportAttachedInterval_=undefined;this.setInitialViewport_();},setInitialViewport_(){this.modelTrackContainer_.updateCanvasSizeIfNeeded_();const w=this.modelTrackContainer_.canvas.width;let min;let range;if(this.model_.bounds.isEmpty){min=0;range=1000;}else if(this.model_.bounds.range===0){min=this.model_.bounds.min;range=1000;}else{min=this.model_.bounds.min;range=this.model_.bounds.range;}
9316const boost=range*0.15;this.displayTransform_.set(this.viewport_.currentDisplayTransform);this.displayTransform_.xSetWorldBounds(min-boost,min+range+boost,w);this.viewport_.setDisplayTransformImmediately(this.displayTransform_);},addAllEventsMatchingFilterToSelectionAsTask(filter,selection){const modelTrack=this.modelTrack_;const firstT=modelTrack.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);const lastT=firstT.after(function(){this.upperModelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);},this);return firstT;},onMouseMove_(e){if(this.isZooming_)return;this.storeLastMousePos_(e);},onTouchStart_(e){this.storeLastTouchPositions_(e);this.focusElements_();},onTouchMove_(e){e.preventDefault();this.onUpdateTransformForTouch_(e);},onTouchEnd_(e){this.storeLastTouchPositions_(e);this.focusElements_();},addHotKeys_(){this.addKeyDownHotKeys_();this.addKeyPressHotKeys_();},addKeyPressHotKey(dict){dict.eventType='keypress';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);},addKeyPressHotKeys_(){this.addKeyPressHotKey({keyCodes:['w'.charCodeAt(0),','.charCodeAt(0)],callback(e){this.zoomBy_(1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['s'.charCodeAt(0),'o'.charCodeAt(0)],callback(e){this.zoomBy_(1/1.5,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'g'.charCodeAt(0),callback(e){this.onGridToggle_(true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'G'.charCodeAt(0),callback(e){this.onGridToggle_(false);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['W'.charCodeAt(0),'<'.charCodeAt(0)],callback(e){this.zoomBy_(10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['S'.charCodeAt(0),'O'.charCodeAt(0)],callback(e){this.zoomBy_(1/10,true);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'a'.charCodeAt(0),callback(e){this.queueSmoothPan_(this.viewWidth_*0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCodes:['d'.charCodeAt(0),'e'.charCodeAt(0)],callback(e){this.queueSmoothPan_(this.viewWidth_*-0.3,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'A'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'D'.charCodeAt(0),callback(e){this.queueSmoothPan_(viewWidth*-0.5,0);e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'0'.charCodeAt(0),callback(e){this.setInitialViewport_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'f'.charCodeAt(0),callback(e){this.zoomToSelection();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'m'.charCodeAt(0),callback(e){this.setCurrentSelectionAsInterestRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'p'.charCodeAt(0),callback(e){this.selectPowerSamplesInCurrentTimeRange_();e.stopPropagation();}});this.addKeyPressHotKey({keyCode:'h'.charCodeAt(0),callback(e){this.toggleHighDetails_();e.stopPropagation();}});},get viewWidth_(){return this.modelTrackContainer_.canvas.clientWidth;},addKeyDownHotKeys_(){const addBinding=function(dict){dict.eventType='keydown';dict.useCapture=false;dict.thisArg=this;const binding=new tr.ui.b.HotKey(dict);this.$.hotkey_controller.addHotKey(binding);}.bind(this);addBinding({keyCode:37,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,-1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(this.viewWidth_*0.3,0);}
9317e.preventDefault();e.stopPropagation();}});addBinding({keyCode:39,callback(e){const curSel=this.brushingStateController_.selection;const sel=this.viewport.getShiftedSelection(curSel,1);if(sel){this.brushingStateController.changeSelectionFromTimeline(sel);this.panToSelection();}else{this.queueSmoothPan_(-this.viewWidth_*0.3,0);}
9318e.preventDefault();e.stopPropagation();}});},onDblClick_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;}
9319const curSelection=this.brushingStateController_.selection;if(!curSelection.length||!tr.b.getOnlyElement(curSelection).title){return;}
9320const selection=new tr.model.EventSet();const filter=new tr.c.ExactTitleFilter(tr.b.getOnlyElement(curSelection).title);this.modelTrack_.addAllEventsMatchingFilterToSelection(filter,selection);this.brushingStateController.changeSelectionFromTimeline(selection);},onMouseWheel_(e){if(!e.altKey)return;const delta=e.wheelDelta/120;const zoomScale=Math.pow(1.5,delta);this.zoomBy_(zoomScale);e.preventDefault();},onMouseDown_(e){if(this.mouseModeSelector_.mode!==tr.ui.b.MOUSE_SELECTOR_MODE.SELECTION){return;}
9321if(e.target!==this.rulerTrack_)return;this.dragBeginEvent_=undefined;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);this.xNavStringMarker_=undefined;}
9322const dt=this.viewport_.currentDisplayTransform;tr.ui.b.trackMouseMovesUntilMouseUp(function(e){if(e.target===this.rulerTrack_)return;const relativePosition=this.extractRelativeMousePosition_(e);const loc=tr.model.Location.fromViewCoordinates(this.viewport_,relativePosition.x,relativePosition.y);if(!loc)return;if(this.guideLineAnnotation_===undefined){this.guideLineAnnotation_=new tr.model.XMarkerAnnotation(loc.xWorld);this.model.addAnnotation(this.guideLineAnnotation_);}else{this.guideLineAnnotation_.timestamp=loc.xWorld;this.modelTrackContainer_.invalidate();}
9323const state=new tr.ui.b.UIState(loc,this.viewport_.currentDisplayTransform.scaleX);this.timelineView_.setFindCtlText(state.toUserFriendlyString(this.viewport_));}.bind(this),undefined,function onKeyUpDuringDrag(){if(this.dragBeginEvent_){this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);}}.bind(this));},queueSmoothPan_(viewDeltaX,deltaY){const deltaX=this.viewport_.currentDisplayTransform.xViewVectorToWorld(viewDeltaX);const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,deltaY);this.viewport_.queueDisplayTransformAnimation(animation);},zoomBy_(scale,smooth){if(scale<=0){return;}
9324smooth=!!smooth;const vp=this.viewport_;const pixelRatio=window.devicePixelRatio||1;const goalFocalPointXView=this.lastMouseViewPos_.x*pixelRatio;const goalFocalPointXWorld=vp.currentDisplayTransform.xViewToWorld(goalFocalPointXView);if(smooth){const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(goalFocalPointXWorld,goalFocalPointXView,vp.currentDisplayTransform.panY,scale);vp.queueDisplayTransformAnimation(animation);}else{this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=scale;this.displayTransform_.xPanWorldPosToViewPos(goalFocalPointXWorld,goalFocalPointXView,this.viewWidth_);vp.setDisplayTransformImmediately(this.displayTransform_);}},zoomToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;if(!bounds.range)return;const worldCenter=bounds.center;const viewCenter=this.modelTrackContainer_.canvas.width/2;const adjustedWorldRange=bounds.range*1.25;const newScale=this.modelTrackContainer_.canvas.width/adjustedWorldRange;const zoomInRatio=newScale/this.viewport_.currentDisplayTransform.scaleX;const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);},panToSelection(){if(!this.brushingStateController.selectionOfInterest.length)return;const bounds=this.brushingStateController.selectionOfInterest.bounds;const worldCenter=bounds.center;const viewWidth=this.viewWidth_;const dt=this.viewport_.currentDisplayTransform;if(false&&!bounds.range){if(dt.xWorldToView(bounds.center)<0||dt.xWorldToView(bounds.center)>viewWidth){this.displayTransform_.set(dt);this.displayTransform_.xPanWorldPosToViewPos(worldCenter,'center',viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);}
9325return;}
9326this.displayTransform_.set(dt);this.displayTransform_.xPanWorldBoundsIntoView(bounds.min,bounds.max,viewWidth);const deltaX=this.displayTransform_.panX-dt.panX;const animation=new tr.ui.TimelineDisplayTransformPanAnimation(deltaX,0);this.viewport_.queueDisplayTransformAnimation(animation);},navToPosition(uiState,showNavLine){const location=uiState.location;const scaleX=uiState.scaleX;const track=location.getContainingTrack(this.viewport_);const worldCenter=location.xWorld;const viewCenter=this.modelTrackContainer_.canvas.width/5;const zoomInRatio=scaleX/this.viewport_.currentDisplayTransform.scaleX;track.scrollIntoViewIfNeeded();const animation=new tr.ui.TimelineDisplayTransformZoomToAnimation(worldCenter,viewCenter,this.viewport_.currentDisplayTransform.panY,zoomInRatio);this.viewport_.queueDisplayTransformAnimation(animation);if(!showNavLine)return;if(this.xNavStringMarker_){this.model.removeAnnotation(this.xNavStringMarker_);}
9327this.xNavStringMarker_=new tr.model.XMarkerAnnotation(worldCenter);this.model.addAnnotation(this.xNavStringMarker_);},selectPowerSamplesInCurrentTimeRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(this.model.device.powerSeries&&!selectionBounds.empty){const events=this.model.device.powerSeries.getSamplesWithinRange(selectionBounds.min,selectionBounds.max);const selection=new tr.model.EventSet(events);this.brushingStateController_.changeSelectionFromTimeline(selection);}},setCurrentSelectionAsInterestRange_(){const selectionBounds=this.brushingStateController_.selection.bounds;if(selectionBounds.empty){this.viewport_.interestRange.reset();return;}
9328if(this.viewport_.interestRange.min===selectionBounds.min&&this.viewport_.interestRange.max===selectionBounds.max){this.viewport_.interestRange.reset();}else{this.viewport_.interestRange.set(selectionBounds);}},toggleHighDetails_(){this.viewport_.highDetails=!this.viewport_.highDetails;},hideDragBox_(){this.$.drag_box.style.left='-1000px';this.$.drag_box.style.top='-1000px';this.$.drag_box.style.width=0;this.$.drag_box.style.height=0;},setDragBoxPosition_(xStart,yStart,xEnd,yEnd){const loY=Math.min(yStart,yEnd);const hiY=Math.max(yStart,yEnd);const loX=Math.min(xStart,xEnd);const hiX=Math.max(xStart,xEnd);const modelTrackRect=this.modelTrack_.getBoundingClientRect();const dragRect={left:loX,top:loY,width:hiX-loX,height:hiY-loY};dragRect.right=dragRect.left+dragRect.width;dragRect.bottom=dragRect.top+dragRect.height;const modelTrackContainerRect=this.modelTrackContainer_.getBoundingClientRect();const clipRect={left:modelTrackContainerRect.left,top:modelTrackContainerRect.top,right:modelTrackContainerRect.right,bottom:modelTrackContainerRect.bottom};const headingWidth=window.getComputedStyle(Polymer.dom(this).querySelector('tr-ui-b-heading')).width;const trackTitleWidth=parseInt(headingWidth);clipRect.left=clipRect.left+trackTitleWidth;const intersectRect_=function(r1,r2){if(r2.left>r1.right||r2.right<r1.left||r2.top>r1.bottom||r2.bottom<r1.top){return false;}
9329const results={};results.left=Math.max(r1.left,r2.left);results.top=Math.max(r1.top,r2.top);results.right=Math.min(r1.right,r2.right);results.bottom=Math.min(r1.bottom,r2.bottom);results.width=results.right-results.left;results.height=results.bottom-results.top;return results;};const finalDragBox=intersectRect_(clipRect,dragRect);this.$.drag_box.style.left=finalDragBox.left+'px';this.$.drag_box.style.width=finalDragBox.width+'px';this.$.drag_box.style.top=finalDragBox.top+'px';this.$.drag_box.style.height=finalDragBox.height+'px';this.$.drag_box.style.whiteSpace='nowrap';const pixelRatio=window.devicePixelRatio||1;const canv=this.modelTrackContainer_.canvas;const dt=this.viewport_.currentDisplayTransform;const loWX=dt.xViewToWorld((loX-canv.offsetLeft)*pixelRatio);const hiWX=dt.xViewToWorld((hiX-canv.offsetLeft)*pixelRatio);Polymer.dom(this.$.drag_box).textContent=tr.b.Unit.byName.timeDurationInMs.format(hiWX-loWX);const e=new tr.b.Event('selectionChanging');e.loWX=loWX;e.hiWX=hiWX;this.dispatchEvent(e);},onGridToggle_(left){const selection=this.brushingStateController_.selection;const tb=left?selection.bounds.min:selection.bounds.max;if(this.viewport_.gridEnabled&&this.viewport_.gridSide===left&&this.viewport_.gridInitialTimebase===tb){this.viewport_.gridside=undefined;this.viewport_.gridEnabled=false;this.viewport_.gridInitialTimebase=undefined;return;}
9330const numIntervalsSinceStart=Math.ceil((tb-this.model_.bounds.min)/this.viewport_.gridStep_);this.viewport_.gridEnabled=true;this.viewport_.gridSide=left;this.viewport_.gridInitialTimebase=tb;this.viewport_.gridTimebase=tb-
9331(numIntervalsSinceStart+1)*this.viewport_.gridStep_;},storeLastMousePos_(e){this.lastMouseViewPos_=this.extractRelativeMousePosition_(e);},storeLastTouchPositions_(e){this.lastTouchViewPositions_=this.extractRelativeTouchPositions_(e);},extractRelativeMousePosition_(e){const canv=this.modelTrackContainer_.canvas;return{x:e.clientX-canv.offsetLeft,y:e.clientY-canv.offsetTop};},extractRelativeTouchPositions_(e){const canv=this.modelTrackContainer_.canvas;const touches=[];for(let i=0;i<e.touches.length;++i){touches.push({x:e.touches[i].clientX-canv.offsetLeft,y:e.touches[i].clientY-canv.offsetTop});}
9332return touches;},storeInitialMouseDownPos_(e){const position=this.extractRelativeMousePosition_(e);this.mouseViewPosAtMouseDown_.x=position.x;this.mouseViewPosAtMouseDown_.y=position.y;},focusElements_(){this.$.hotkey_controller.childRequestsGeneralFocus(this);},storeInitialInteractionPositionsAndFocus_(e){this.storeInitialMouseDownPos_(e);this.storeLastMousePos_(e);this.focusElements_();},onBeginPanScan_(e){const vp=this.viewport_;this.viewportDisplayTransformAtMouseDown_=vp.currentDisplayTransform.clone();this.isPanningAndScanning_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdatePanScan_(e){if(!this.isPanningAndScanning_)return;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDeltaView=pixelRatio*(this.lastMouseViewPos_.x-
9333this.mouseViewPosAtMouseDown_.x);const yDelta=this.lastMouseViewPos_.y-
9334this.mouseViewPosAtMouseDown_.y;this.displayTransform_.set(this.viewportDisplayTransformAtMouseDown_);this.displayTransform_.incrementPanXInViewUnits(xDeltaView);this.displayTransform_.panY-=yDelta;this.viewport_.setDisplayTransformImmediately(this.displayTransform_);e.preventDefault();e.stopPropagation();this.storeLastMousePos_(e);},onEndPanScan_(e){this.isPanningAndScanning_=false;this.storeLastMousePos_(e);if(!e.isClick){e.preventDefault();}},onBeginSelection_(e){const canv=this.modelTrackContainer_.canvas;const rect=this.modelTrack_.getBoundingClientRect();const canvRect=canv.getBoundingClientRect();const inside=rect&&e.clientX>=rect.left&&e.clientX<rect.right&&e.clientY>=rect.top&&e.clientY<rect.bottom&&e.clientX>=canvRect.left&&e.clientX<canvRect.right;if(!inside)return;this.dragBeginEvent_=e;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateSelection_(e){if(!this.dragBeginEvent_)return;this.dragBoxXStart_=this.dragBeginEvent_.clientX;this.dragBoxXEnd_=e.clientX;this.dragBoxYStart_=this.dragBeginEvent_.clientY;this.dragBoxYEnd_=e.clientY;this.setDragBoxPosition_(this.dragBoxXStart_,this.dragBoxYStart_,this.dragBoxXEnd_,this.dragBoxYEnd_);},onEndSelection_(e){e.preventDefault();if(!this.dragBeginEvent_)return;this.hideDragBox_();const eDown=this.dragBeginEvent_;this.dragBeginEvent_=undefined;const loY=Math.min(eDown.clientY,e.clientY);const hiY=Math.max(eDown.clientY,e.clientY);const loX=Math.min(eDown.clientX,e.clientX);const hiX=Math.max(eDown.clientX,e.clientX);const canv=this.modelTrackContainer_.canvas;const worldOffset=canv.getBoundingClientRect().left;const loVX=loX-worldOffset;const hiVX=hiX-worldOffset;const selection=new tr.model.EventSet();if(eDown.appendSelection){const previousSelection=this.brushingStateController_.selection;if(previousSelection!==undefined){selection.addEventSet(previousSelection);}}
9335this.modelTrack_.addIntersectingEventsInRangeToSelection(loVX,hiVX,loY,hiY,selection);this.brushingStateController_.changeSelectionFromTimeline(selection);},onBeginZoom_(e){this.isZooming_=true;this.storeInitialInteractionPositionsAndFocus_(e);e.preventDefault();},onUpdateZoom_(e){if(!this.isZooming_)return;const newPosition=this.extractRelativeMousePosition_(e);const zoomScaleValue=1+(this.lastMouseViewPos_.y-
9336newPosition.y)*0.01;this.zoomBy_(zoomScaleValue,false);this.storeLastMousePos_(e);},onEndZoom_(e){this.isZooming_=false;if(!e.isClick){e.preventDefault();}},computeTouchCenter_(positions){let xSum=0;let ySum=0;for(let i=0;i<positions.length;++i){xSum+=positions[i].x;ySum+=positions[i].y;}
9337return{x:xSum/positions.length,y:ySum/positions.length};},computeTouchSpan_(positions){let xMin=Number.MAX_VALUE;let yMin=Number.MAX_VALUE;let xMax=Number.MIN_VALUE;let yMax=Number.MIN_VALUE;for(let i=0;i<positions.length;++i){xMin=Math.min(xMin,positions[i].x);yMin=Math.min(yMin,positions[i].y);xMax=Math.max(xMax,positions[i].x);yMax=Math.max(yMax,positions[i].y);}
9338return Math.sqrt((xMin-xMax)*(xMin-xMax)+
9339(yMin-yMax)*(yMin-yMax));},onUpdateTransformForTouch_(e){const newPositions=this.extractRelativeTouchPositions_(e);const currentPositions=this.lastTouchViewPositions_;const newCenter=this.computeTouchCenter_(newPositions);const currentCenter=this.computeTouchCenter_(currentPositions);const newSpan=this.computeTouchSpan_(newPositions);const currentSpan=this.computeTouchSpan_(currentPositions);const vp=this.viewport_;const viewWidth=this.viewWidth_;const pixelRatio=window.devicePixelRatio||1;const xDelta=pixelRatio*(newCenter.x-currentCenter.x);const yDelta=newCenter.y-currentCenter.y;const zoomScaleValue=currentSpan>10?newSpan/currentSpan:1;const viewFocus=pixelRatio*newCenter.x;const worldFocus=vp.currentDisplayTransform.xViewToWorld(viewFocus);this.displayTransform_.set(vp.currentDisplayTransform);this.displayTransform_.scaleX*=zoomScaleValue;this.displayTransform_.xPanWorldPosToViewPos(worldFocus,viewFocus,viewWidth);this.displayTransform_.incrementPanXInViewUnits(xDelta);this.displayTransform_.panY-=yDelta;vp.setDisplayTransformImmediately(this.displayTransform_);this.storeLastTouchPositions_(e);},initHintText_(){this.$.hint_text.style.display='none';this.pendingHintTextClearTimeout_=undefined;},showHintText_(text){if(this.pendingHintTextClearTimeout_){window.clearTimeout(this.pendingHintTextClearTimeout_);this.pendingHintTextClearTimeout_=undefined;}
9340this.pendingHintTextClearTimeout_=setTimeout(this.hideHintText_.bind(this),1000);Polymer.dom(this.$.hint_text).textContent=text;this.$.hint_text.style.display='';},hideHintText_(){this.pendingHintTextClearTimeout_=undefined;this.$.hint_text.style.display='none';}});'use strict';Polymer({is:'tr-ui-find-control',filterKeyDown(e){if(e.keyCode===27){const hkc=tr.b.getHotkeyControllerForElement(this);if(hkc){hkc.childRequestsBlur(this);}else{this.blur();}
9341e.preventDefault();e.stopPropagation();return;}else if(e.keyCode===13){if(e.shiftKey){this.findPrevious();}else{this.findNext();}}},filterBlur(e){this.updateHitCountEl();},filterFocus(e){this.$.filter.select();},filterMouseUp(e){e.preventDefault();},get controller(){return this.controller_;},set controller(c){this.controller_=c;this.updateHitCountEl();},focus(){this.$.filter.focus();},get hasFocus(){return this===document.activeElement;},filterTextChanged(){Polymer.dom(this.$.hitCount).textContent='';this.$.spinner.style.visibility='visible';this.$.spinner.style.animation='spin 1s linear infinite';this.controller.startFiltering(this.$.filter.value).then(function(){this.$.spinner.style.visibility='hidden';this.$.spinner.style.animation='';this.updateHitCountEl();}.bind(this));},findNext(){if(this.controller){this.controller.findNext();}
9342this.updateHitCountEl();},findPrevious(){if(this.controller){this.controller.findPrevious();}
9343this.updateHitCountEl();},updateHitCountEl(){if(!this.controller||this.$.filter.value.length===0){Polymer.dom(this.$.hitCount).textContent='';return;}
9344const n=this.controller.filterHits.length;const i=n===0?-1:this.controller.currentHitIndex;Polymer.dom(this.$.hitCount).textContent=(i+1)+' of '+n;},setText(string){this.$.filter.value=string;}});'use strict';tr.exportTo('tr.e.tquery',function(){function Context(){this.event=undefined;this.ancestors=[];}
9345Context.prototype={push(event){const ctx=new Context();ctx.ancestors=this.ancestors.slice();ctx.ancestors.push(event);return ctx;},pop(event){const ctx=new Context();ctx.event=this.ancestors[this.ancestors.length-1];ctx.ancestors=this.ancestors.slice(0,this.ancestors.length-1);return ctx;}};return{Context,};});'use strict';tr.exportTo('tr.e.tquery',function(){function Filter(){tr.c.ScriptingObject.call(this);}
9346Filter.normalizeFilterExpression=function(filterExpression){if(filterExpression instanceof String||typeof(filterExpression)==='string'||filterExpression instanceof RegExp){const filter=new tr.e.tquery.FilterHasTitle(filterExpression);return filter;}
9347return filterExpression;};Filter.prototype={__proto__:tr.c.ScriptingObject.prototype,evaluate(context){throw new Error('Not implemented');},matchValue_(value,expected){if(expected instanceof RegExp){return expected.test(value);}else if(expected instanceof Function){return expected(value);}
9348return value===expected;}};return{Filter,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAllOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];}
9349FilterAllOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(!this.subExpressions[i].evaluate(context)){return false;}}
9350return true;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=[];for(let i=0;i<arguments.length;i++){exprs.push(arguments[i]);}
9351return new FilterAllOf(exprs);},{name:'allOf'});return{FilterAllOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterNot(subExpression){tr.e.tquery.Filter.call(this);this.subExpression=subExpression;}
9352FilterNot.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){return!this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);if(exprs.length!==1){throw new Error('not() must have exactly one subexpression');}
9353return new FilterNot(exprs[0]);},{name:'not'});return{FilterNot,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterAnyOf(opt_subExpressions){tr.e.tquery.Filter.call(this);this.subExpressions=opt_subExpressions||[];}
9354FilterAnyOf.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpressions(exprs){this.subExpressions_=[];for(let i=0;i<exprs.length;i++){this.subExpressions_.push(tr.e.tquery.Filter.normalizeFilterExpression(exprs[i]));}},get subExpressions(){return this.subExpressions_;},evaluate(context){if(!this.subExpressions.length)return true;for(let i=0;i<this.subExpressions.length;i++){if(this.subExpressions[i].evaluate(context))return true;}
9355return false;}};tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new FilterAnyOf(exprs);},{name:'anyOf'});tr.c.ScriptingObjectRegistry.register(function(){const exprs=Array.prototype.slice.call(arguments);return new tr.e.tquery.FilterNot(new FilterAnyOf(exprs));},{name:'noneOf'});return{FilterAnyOf,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasAncestor(opt_subExpression){this.subExpression=opt_subExpression;}
9356FilterHasAncestor.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(!this.subExpression){return context.ancestors.length>0;}
9357while(context.ancestors.length){context=context.pop();if(this.subExpression.evaluate(context))return true;}
9358return false;}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterHasAncestor(subExpression);},{name:'hasAncestor'});return{FilterHasAncestor,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasDuration(minValueOrExpected,opt_maxValue){if(minValueOrExpected!==undefined&&opt_maxValue!==undefined){this.minValue=minValueOrExpected;this.maxValue=opt_maxValue;}else{this.expected=minValueOrExpected;}}
9359FilterHasDuration.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){if(context.event.duration===undefined)return false;if(this.minValue!==undefined&&this.maxValue!==undefined){return context.event.duration>=this.minValue&&context.event.duration<=this.maxValue;}
9360return this.matchValue_(context.event.duration,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(minValueOrExpected,opt_maxValue){return new FilterHasDuration(minValueOrExpected,opt_maxValue);},{name:'hasDuration'});return{FilterHasDuration,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterHasTitle(expected){tr.e.tquery.Filter.call(this);this.expected=expected;}
9361FilterHasTitle.prototype={__proto__:tr.e.tquery.Filter.prototype,evaluate(context){return this.matchValue_(context.event.title,this.expected);}};tr.c.ScriptingObjectRegistry.register(function(expected){const filter=new tr.e.tquery.FilterHasTitle(expected);return filter;},{name:'hasTitle'});return{FilterHasTitle,};});'use strict';tr.exportTo('tr.e.tquery',function(){function FilterIsTopLevel(opt_subExpression){this.subExpression=opt_subExpression;}
9362FilterIsTopLevel.prototype={__proto__:tr.e.tquery.Filter.prototype,set subExpression(expr){this.subExpression_=tr.e.tquery.Filter.normalizeFilterExpression(expr);},get subExpression(){return this.subExpression_;},evaluate(context){if(context.ancestors.length>0)return false;if(!this.subExpression)return true;return this.subExpression.evaluate(context);}};tr.c.ScriptingObjectRegistry.register(function(subExpression){return new FilterIsTopLevel(subExpression);},{name:'isTopLevel'});return{FilterIsTopLevel,};});'use strict';tr.exportTo('tr.e.tquery',function(){function addEventTreeToSelection(selection,event){selection.push(event);if(!event.subSlices)return;event.subSlices.forEach(addEventTreeToSelection.bind(undefined,selection));}
9363function TQuery(model){tr.c.ScriptingObject.call(this);this.model_=model;this.parent_=undefined;this.filterExpression_=undefined;this.selection_=undefined;}
9364TQuery.prototype={__proto__:tr.c.ScriptingObject.prototype,onModelChanged(model){this.model_=model;this.selection_=undefined;},get brushingStateController(){return this.brushingStateController_;},filter(filterExpression){const result=new TQuery(this.model_);result.parent_=this;result.filterExpression_=tr.e.tquery.Filter.normalizeFilterExpression(filterExpression);return result;},createFilterTaskGraph_(){const nodes=[this];while(nodes[nodes.length-1].parent_){nodes.push(nodes[nodes.length-1].parent_);}
9365const rootTask=new tr.b.Task();let lastTask=rootTask;let node;for(let i=nodes.length-1;i>=0;i--){node=nodes[i];if(node.selection_!==undefined)continue;node.selection_=new tr.model.EventSet();if(node.parent_===undefined){lastTask=lastTask.after(this.selectEverythingAsTask_(node.selection_));}else{const prevNode=nodes[i+1];lastTask=this.createFilterTaskForNode_(lastTask,node,prevNode);}}
9366return{rootTask,lastTask,lastNode:node};},createFilterTaskForNode_(lastTask,node,prevNode){return lastTask.after(function(){node.evaluateFilterExpression_(prevNode.selection_,node.selection_);},this);},evaluateFilterExpression_(inputSelection,outputSelection){const seenEvents={};inputSelection.forEach(function(event){const context=new tr.e.tquery.Context();context.event=event;this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}.bind(this));},evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents){const event=context.event;if(inputSelection.contains(event)&&!seenEvents[event.guid]){seenEvents[event.guid]=true;if(!this.filterExpression_||this.filterExpression_.evaluate(context)){outputSelection.push(event);}}
9367if(!event.subSlices)return;context=context.push(event);for(let i=0;i<event.subSlices.length;i++){context.event=event.subSlices[i];this.evaluateFilterExpressionForEvent_(context,inputSelection,outputSelection,seenEvents);}},selectEverythingAsTask_(selection){const filterTask=new tr.b.Task();for(const container of this.model_.getDescendantEventContainers()){filterTask.subTask(()=>{for(const event of container.childEvents()){addEventTreeToSelection(selection,event);}},this);}
9368return filterTask;},ready(){return new Promise(function(resolve,reject){const graph=this.createFilterTaskGraph_();graph.lastTask=graph.lastTask.after(function(){resolve(this.selection_);},this);tr.b.Task.RunWhenIdle(graph.rootTask);}.bind(this));},get selection(){if(this.selection_===undefined){const graph=this.createFilterTaskGraph_();tr.b.Task.RunSynchronously(graph.rootTask);}
9369return this.selection_;}};tr.c.ScriptingObjectRegistry.register(new TQuery(),{name:'$t'});return{TQuery,};});'use strict';Polymer({is:'tr-ui-scripting-control',isEnterKey_(event){return event.keyCode!==229&&(event.key==='Enter'||event.keyIdentifier==='Enter');},setFocus_(focused){const promptEl=this.$.prompt;if(focused){promptEl.focus();Polymer.dom(this.$.root).classList.add('focused');if(promptEl.value.length>0){const sel=window.getSelection();sel.collapse(Polymer.dom(promptEl).firstChild,promptEl.value.length);}}else{promptEl.blur();Polymer.dom(this.$.root).classList.remove('focused');const parent=promptEl.parentElement;const nextEl=Polymer.dom(promptEl).nextSibling;promptEl.remove();Polymer.dom(parent).insertBefore(promptEl,nextEl);}},onConsoleFocus(e){e.stopPropagation();this.setFocus_(true);},onConsoleBlur(e){e.stopPropagation();this.setFocus_(false);},promptKeyDown(e){e.stopPropagation();if(!this.isEnterKey_(e))return;e.preventDefault();const promptEl=this.$.prompt;const command=promptEl.value;if(command.length===0)return;promptEl.value='';this.addLine_(String.fromCharCode(187)+' '+command);let result;try{result=this.controller_.executeCommand(command);}catch(e){result=e.stack||e.stackTrace;}
9370if(result instanceof tr.e.tquery.TQuery){result.ready().then(function(selection){this.addLine_(selection.length+' matches');this.controller_.brushingStateController.showScriptControlSelection(selection);}.bind(this));}else{this.addLine_(result);}
9371promptEl.scrollIntoView();},addLine_(line){const historyEl=this.$.history;if(historyEl.innerText.length!==0){historyEl.innerText+='\n';}
9372historyEl.innerText+=line;},promptKeyPress(e){e.stopPropagation();},toggleVisibility(){const root=this.$.root;if(!this.visible){Polymer.dom(root).classList.remove('hidden');this.setFocus_(true);}else{Polymer.dom(root).classList.add('hidden');this.setFocus_(false);}},get hasFocus(){return this===document.activeElement;},get visible(){const root=this.$.root;return!Polymer.dom(root).classList.contains('hidden');},get controller(){return this.controller_;},set controller(c){this.controller_=c;}});'use strict';Polymer({is:'tr-ui-side-panel-container',ready(){this.activePanelContainer_=this.$.active_panel_container;this.tabStrip_=this.$.tab_strip;this.dragHandle_=this.$.side_panel_drag_handle;this.dragHandle_.horizontal=false;this.dragHandle_.target=this.activePanelContainer_;this.rangeOfInterest_=new tr.b.math.Range();this.brushingStateController_=undefined;this.onSelectionChanged_=this.onSelectionChanged_.bind(this);this.onModelChanged_=this.onModelChanged_.bind(this);},get brushingStateController(){return this.brushingStateController_;},set brushingStateController(brushingStateController){if(this.brushingStateController){this.brushingStateController_.removeEventListener('change',this.onSelectionChanged_);this.brushingStateController_.removeEventListener('model-changed',this.onModelChanged_);}
9373this.brushingStateController_=brushingStateController;if(this.brushingStateController){this.brushingStateController_.addEventListener('change',this.onSelectionChanged_);this.brushingStateController_.addEventListener('model-changed',this.onModelChanged_);}},onSelectionChanged_(){if(this.activePanel){this.activePanel.selection=this.selection;}},get model(){return this.brushingStateController_.model;},onModelChanged_(){this.activePanelType_=undefined;this.updateContents_();},get expanded(){this.hasAttribute('expanded');},get activePanel(){return this.activePanelContainer_.children[0];},get activePanelType(){return this.activePanelType_;},set activePanelType(panelType){if(this.model===undefined){throw new Error('Cannot activate panel without a model');}
9374let panel=undefined;if(panelType){panel=document.createElement(panelType);}
9375if(panel!==undefined&&!panel.supportsModel(this.model)){throw new Error('Cannot activate panel: does not support this model');}
9376if(this.activePanelType){Polymer.dom(this.getLabelElementForPanelType_(this.activePanelType)).removeAttribute('selected');}
9377if(this.activePanelType){this.getLabelElementForPanelType_(this.activePanelType).removeAttribute('selected');}
9378if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);}
9379if(panelType===undefined){Polymer.dom(this).removeAttribute('expanded');this.activePanelType_=undefined;return;}
9380Polymer.dom(this.getLabelElementForPanelType_(panelType)).setAttribute('selected',true);Polymer.dom(this).setAttribute('expanded',true);Polymer.dom(this.activePanelContainer_).appendChild(panel);panel.rangeOfInterest=this.rangeOfInterest_;panel.selection=this.selection_;panel.model=this.model;this.activePanelType_=panelType;},getPanelTypeForConstructor_(constructor){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType.constructor===constructor){return this.tabStrip_.children[i].panelType;}}},getLabelElementForPanelType_(panelType){for(let i=0;i<this.tabStrip_.children.length;i++){if(this.tabStrip_.children[i].panelType===panelType){return this.tabStrip_.children[i];}}
9381return undefined;},updateContents_(){const previouslyActivePanelType=this.activePanelType;Polymer.dom(this.tabStrip_).textContent='';const supportedPanelTypes=[];for(const panelTypeInfo of
9382tr.ui.side_panel.SidePanelRegistry.getAllRegisteredTypeInfos()){const labelEl=document.createElement('tab-strip-label');const panel=panelTypeInfo.constructor();const panelType=panel.tagName;Polymer.dom(labelEl).textContent=panel.textLabel;labelEl.panelType=panelType;const supported=panel.supportsModel(this.model);if(this.model&&supported.supported){supportedPanelTypes.push(panelType);Polymer.dom(labelEl).setAttribute('enabled',true);labelEl.addEventListener('click',function(panelType){this.activePanelType=this.activePanelType===panelType?undefined:panelType;}.bind(this,panelType));}else{if(this.activePanel){this.activePanelContainer_.removeChild(this.activePanel);}
9383this.removeAttribute('expanded');}
9384Polymer.dom(this.tabStrip_).appendChild(labelEl);}
9385if(previouslyActivePanelType&&supportedPanelTypes.includes(previouslyActivePanelType)){this.activePanelType=previouslyActivePanelType;Polymer.dom(this).setAttribute('expanded',true);}else{if(this.activePanel){Polymer.dom(this.activePanelContainer_).removeChild(this.activePanel);}
9386Polymer.dom(this).removeAttribute('expanded');}},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){if(range===undefined){throw new Error('Must not be undefined');}
9387this.rangeOfInterest_=range;if(this.activePanel){this.activePanel.rangeOfInterest=range;}}});'use strict';Polymer({is:'tr-ui-timeline-view-help-overlay',ready(){const mod=tr.isMac?'cmd ':'ctrl';const spans=Polymer.dom(this.root).querySelectorAll('span.mod');for(let i=0;i<spans.length;i++){Polymer.dom(spans[i]).textContent=mod;}}});'use strict';Polymer({is:'tr-ui-timeline-view-metadata-overlay',created(){this.metadata_=undefined;},ready(){this.$.table.tableColumns=[{title:'name',value:d=>d.name,},{title:'value',value:d=>{const gov=document.createElement('tr-ui-a-generic-object-view');gov.object=d.value;return gov;},}];},get metadata(){return this.metadata_;},set metadata(metadata){this.metadata_=metadata;this.$.table.tableRows=this.metadata_;this.$.table.rebuild();}});'use strict';Polymer({is:'tr-v-ui-preferred-display-unit',ready(){this.preferredTimeDisplayMode_=undefined;},attached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},detached(){tr.b.Unit.didPreferredTimeDisplayUnitChange();},get preferredTimeDisplayMode(){return this.preferredTimeDisplayMode_;},set preferredTimeDisplayMode(v){if(this.preferredTimeDisplayMode_===v)return;this.preferredTimeDisplayMode_=v;tr.b.Unit.didPreferredTimeDisplayUnitChange();}});'use strict';Polymer({is:'tr-ui-timeline-view',attached(){this.async(function(){this.trackViewContainer_=Polymer.dom(this).querySelector('#track_view_container');if(!this.trackViewContainer_){throw new Error('missing trackviewContainer');}});},ready(){this.tabIndex=0;this.titleEl_=this.$.title;this.leftControlsEl_=this.$.left_controls;this.rightControlsEl_=this.$.right_controls;this.collapsingControlsEl_=this.$.collapsing_controls;this.sidePanelContainer_=this.$.side_panel_container;this.brushingStateController_=new tr.c.BrushingStateController(this);this.findCtl_=this.$.view_find_control;this.findCtl_.controller=new tr.ui.FindController(this.brushingStateController_);this.scriptingCtl_=document.createElement('tr-ui-scripting-control');this.scriptingCtl_.controller=new tr.c.ScriptingController(this.brushingStateController_);this.sidePanelContainer_.brushingStateController=this.brushingStateController_;if(window.tr.metrics&&window.tr.metrics.sh&&window.tr.metrics.sh.SystemHealthMetric){this.railScoreSpan_=document.createElement('tr-metrics-ui-sh-system-health-span');Polymer.dom(this.rightControls).appendChild(this.railScoreSpan_);}else{this.railScoreSpan_=undefined;}
9388this.optionsDropdown_=this.$.view_options_dropdown;Polymer.dom(this.optionsDropdown_.iconElement).textContent='View Options';this.showFlowEvents_=false;Polymer.dom(this.optionsDropdown_).appendChild(tr.ui.b.createCheckBox(this,'showFlowEvents','tr.ui.TimelineView.showFlowEvents',false,'Flow events'));this.highlightVSync_=false;this.highlightVSyncCheckbox_=tr.ui.b.createCheckBox(this,'highlightVSync','tr.ui.TimelineView.highlightVSync',false,'Highlight VSync');Polymer.dom(this.optionsDropdown_).appendChild(this.highlightVSyncCheckbox_);this.initMetadataButton_();this.initConsoleButton_();this.initHelpButton_();Polymer.dom(this.collapsingControls).appendChild(this.scriptingCtl_);this.dragEl_=this.$.drag_handle;this.analysisEl_=this.$.analysis;this.analysisEl_.brushingStateController=this.brushingStateController_;this.addEventListener('requestSelectionChange',function(e){const sc=this.brushingStateController_;sc.changeSelectionFromRequestSelectionChangeEvent(e.selection);}.bind(this));this.onViewportChanged_=this.onViewportChanged_.bind(this);this.bindKeyListeners_();this.dragEl_.target=this.analysisEl_;},get globalMode(){return this.hotkeyController.globalMode;},set globalMode(globalMode){globalMode=!!globalMode;this.brushingStateController_.historyEnabled=globalMode;this.hotkeyController.globalMode=globalMode;},get hotkeyController(){return this.$.hkc;},updateDocumentFavicon(){let hue;if(!this.model){hue='blue';}else{hue=this.model.faviconHue;}
9389let faviconData=tr.ui.b.FaviconsByHue[hue];if(faviconData===undefined){faviconData=tr.ui.b.FaviconsByHue.blue;}
9390let link=Polymer.dom(document.head).querySelector('link[rel="shortcut icon"]');if(!link){link=document.createElement('link');link.rel='shortcut icon';Polymer.dom(document.head).appendChild(link);}
9391link.href=faviconData;},get showFlowEvents(){return this.showFlowEvents_;},set showFlowEvents(showFlowEvents){this.showFlowEvents_=showFlowEvents;if(!this.trackView_)return;this.trackView_.viewport.showFlowEvents=showFlowEvents;},get highlightVSync(){return this.highlightVSync_;},set highlightVSync(highlightVSync){this.highlightVSync_=highlightVSync;if(!this.trackView_)return;this.trackView_.viewport.highlightVSync=highlightVSync;},initHelpButton_(){const helpButtonEl=this.$.view_help_button;const dlg=new tr.ui.b.Overlay();dlg.title='Chrome Tracing Help';dlg.visible=false;dlg.appendChild(document.createElement('tr-ui-timeline-view-help-overlay'));function onClick(e){dlg.visible=!dlg.visible;e.stopPropagation();}
9392helpButtonEl.addEventListener('click',onClick.bind(this));},initConsoleButton_(){const toggleEl=this.$.view_console_button;function onClick(e){this.scriptingCtl_.toggleVisibility();e.stopPropagation();return false;}
9393toggleEl.addEventListener('click',onClick.bind(this));},initMetadataButton_(){const showEl=this.$.view_metadata_button;function onClick(e){const dlg=new tr.ui.b.Overlay();dlg.title='Metadata for trace';const metadataOverlay=document.createElement('tr-ui-timeline-view-metadata-overlay');metadataOverlay.metadata=this.model.metadata;Polymer.dom(dlg).appendChild(metadataOverlay);dlg.visible=true;e.stopPropagation();return false;}
9394showEl.addEventListener('click',onClick.bind(this));this.updateMetadataButtonVisibility_();},updateMetadataButtonVisibility_(){const showEl=this.$.view_metadata_button;showEl.style.display=(this.model&&this.model.metadata.length)?'':'none';},get leftControls(){return this.leftControlsEl_;},get rightControls(){return this.rightControlsEl_;},get collapsingControls(){return this.collapsingControlsEl_;},get viewTitle(){return Polymer.dom(this.titleEl_).textContent.substring(Polymer.dom(this.titleEl_).textContent.length-2);},set viewTitle(text){if(text===undefined){Polymer.dom(this.titleEl_).textContent='';this.titleEl_.hidden=true;return;}
9395this.titleEl_.hidden=false;Polymer.dom(this.titleEl_).textContent=text;},get model(){if(this.trackView_){return this.trackView_.model;}
9396return undefined;},set model(model){const modelInstanceChanged=model!==this.model;const modelValid=model&&!model.bounds.isEmpty;const importWarningsEl=Polymer.dom(this.root).querySelector('#import-warnings');Polymer.dom(importWarningsEl).textContent='';if(modelInstanceChanged){if(this.railScoreSpan_){this.railScoreSpan_.model=undefined;}
9397Polymer.dom(this.trackViewContainer_).textContent='';if(this.trackView_){this.trackView_.viewport.removeEventListener('change',this.onViewportChanged_);this.trackView_.brushingStateController=undefined;this.trackView_.detach();this.trackView_=undefined;}
9398this.brushingStateController_.modelWillChange();}
9399if(modelValid&&!this.trackView_){this.trackView_=document.createElement('tr-ui-timeline-track-view');this.trackView_.timelineView=this;this.trackView.brushingStateController=this.brushingStateController_;Polymer.dom(this.trackViewContainer_).appendChild(this.trackView_);this.trackView_.viewport.addEventListener('change',this.onViewportChanged_);}
9400if(modelValid){this.trackView_.model=model;this.trackView_.viewport.showFlowEvents=this.showFlowEvents;this.trackView_.viewport.highlightVSync=this.highlightVSync;if(this.railScoreSpan_){this.railScoreSpan_.model=model;}
9401this.$.display_unit.preferredTimeDisplayMode=model.intrinsicTimeUnit;}
9402if(model){model.importWarningsThatShouldBeShownToUser.forEach(function(importWarning){importWarningsEl.addMessage('Import Warning: '+importWarning.type+': '+
9403importWarning.message);},this);}
9404if(modelInstanceChanged){this.updateMetadataButtonVisibility_();this.brushingStateController_.modelDidChange();this.onViewportChanged_();}},get brushingStateController(){return this.brushingStateController_;},get trackView(){return this.trackView_;},get settings(){if(!this.settings_){this.settings_=new tr.b.Settings();}
9405return this.settings_;},set focusElement(value){throw new Error('This is deprecated. Please set globalMode to true.');},bindKeyListeners_(){const hkc=this.hotkeyController;hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'`'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){this.scriptingCtl_.toggleVisibility();if(!this.scriptingCtl_.hasFocus){this.focus();}
9406e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'/'.charCodeAt(0),useCapture:true,thisArg:this,callback(e){if(this.scriptingCtl_.hasFocus)return;if(this.findCtl_.hasFocus){this.focus();}else{this.findCtl_.focus();}
9407e.preventDefault();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'?'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.$.view_help_button.click();e.stopPropagation();}}));hkc.addHotKey(new tr.ui.b.HotKey({eventType:'keypress',keyCode:'v'.charCodeAt(0),useCapture:false,thisArg:this,callback(e){this.toggleHighlightVSync_();e.stopPropagation();}}));},onViewportChanged_(e){const spc=this.sidePanelContainer_;if(!this.trackView_){spc.rangeOfInterest.reset();return;}
9408const vr=this.trackView_.viewport.interestRange.asRangeObject();if(!spc.rangeOfInterest.equals(vr)){spc.rangeOfInterest=vr;}
9409if(this.railScoreSpan_&&this.model){this.railScoreSpan_.model=this.model;}},toggleHighlightVSync_(){this.highlightVSyncCheckbox_.checked=!this.highlightVSyncCheckbox_.checked;},setFindCtlText(string){this.findCtl_.setText(string);}});'use strict';tr.exportTo('tr.ui.b',function(){function Row(title,data,groupingKeyFuncs,rowStatsConstructor){this.title=title;this.data_=data;if(groupingKeyFuncs===undefined){groupingKeyFuncs=[];}
9410this.groupingKeyFuncs_=groupingKeyFuncs;this.rowStatsConstructor_=rowStatsConstructor;this.subRowsBuilt_=false;this.subRows_=undefined;this.rowStats_=undefined;}
9411Row.prototype={getCurrentGroupingKeyFunc_(){if(this.groupingKeyFuncs_.length===0)return undefined;return this.groupingKeyFuncs_[0];},get data(){return this.data_;},get rowStats(){if(this.rowStats_===undefined){this.rowStats_=new this.rowStatsConstructor_(this);}
9412return this.rowStats_;},rebuildSubRowsIfNeeded_(){if(this.subRowsBuilt_)return;this.subRowsBuilt_=true;const groupingKeyFunc=this.getCurrentGroupingKeyFunc_();if(groupingKeyFunc===undefined){this.subRows_=undefined;return;}
9413const dataByKey={};let hasValues=false;this.data_.forEach(function(datum){const key=groupingKeyFunc(datum);hasValues=hasValues||(key!==undefined);if(dataByKey[key]===undefined){dataByKey[key]=[];}
9414dataByKey[key].push(datum);});if(!hasValues){this.subRows_=undefined;return;}
9415this.subRows_=[];for(const key in dataByKey){const row=new Row(key,dataByKey[key],this.groupingKeyFuncs_.slice(1),this.rowStatsConstructor_);this.subRows_.push(row);}},get isExpanded(){return(this.subRows&&(this.subRows.length>0)&&(this.subRows.length<5));},get subRows(){this.rebuildSubRowsIfNeeded_();return this.subRows_;}};Polymer({is:'tr-ui-b-grouping-table',created(){this.dataToGroup_=undefined;this.groupBy_=undefined;this.rowStatsConstructor_=undefined;},get tableColumns(){return this.$.table.tableColumns;},set tableColumns(tableColumns){this.$.table.tableColumns=tableColumns;},get tableRows(){return this.$.table.tableRows;},get sortColumnIndex(){return this.$.table.sortColumnIndex;},set sortColumnIndex(sortColumnIndex){this.$.table.sortColumnIndex=sortColumnIndex;},get sortDescending(){return this.$.table.sortDescending;},set sortDescending(sortDescending){this.$.table.sortDescending=sortDescending;},get selectionMode(){return this.$.table.selectionMode;},set selectionMode(selectionMode){this.$.table.selectionMode=selectionMode;},get rowHighlightStyle(){return this.$.table.rowHighlightStyle;},set rowHighlightStyle(rowHighlightStyle){this.$.table.rowHighlightStyle=rowHighlightStyle;},get cellHighlightStyle(){return this.$.table.cellHighlightStyle;},set cellHighlightStyle(cellHighlightStyle){this.$.table.cellHighlightStyle=cellHighlightStyle;},get selectedColumnIndex(){return this.$.table.selectedColumnIndex;},set selectedColumnIndex(selectedColumnIndex){this.$.table.selectedColumnIndex=selectedColumnIndex;},get selectedTableRow(){return this.$.table.selectedTableRow;},set selectedTableRow(selectedTableRow){this.$.table.selectedTableRow=selectedTableRow;},get groupBy(){return this.groupBy_;},set groupBy(groupBy){this.groupBy_=groupBy;this.updateContents_();},get dataToGroup(){return this.dataToGroup_;},set dataToGroup(dataToGroup){this.dataToGroup_=dataToGroup;this.updateContents_();},get rowStatsConstructor(){return this.rowStatsConstructor_;},set rowStatsConstructor(rowStatsConstructor){this.rowStatsConstructor_=rowStatsConstructor;this.updateContents_();},rebuild(){this.$.table.rebuild();},updateContents_(){const groupBy=this.groupBy_||[];const dataToGroup=this.dataToGroup_||[];const rowStatsConstructor=this.rowStatsConstructor_||function(){};const superRow=new Row('',dataToGroup,groupBy,rowStatsConstructor);this.$.table.tableRows=superRow.subRows||[];}});return{};});'use strict';tr.exportTo('tr.ui.b',function(){const THIS_DOC=document.currentScript.ownerDocument;Polymer({is:'tr-ui-b-grouping-table-groupby-picker-group',created(){this.picker_=undefined;this.group_=undefined;},get picker(){return this.picker_;},set picker(picker){this.picker_=picker;},get group(){return this.group_;},set group(g){this.group_=g;this.$.label.textContent=g.label;},get enabled(){return this.$.enabled.checked;},set enabled(enabled){this.$.enabled.checked=enabled;if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}},set isFirst(isFirst){this.$.left.style.display=(!this.enabled||isFirst)?'none':'inline';},set isLast(isLast){this.$.right.style.display=(!this.enabled||isLast)?'none':'inline';},moveLeft_(){this.picker.moveLeft_(this);},moveRight_(){this.picker.moveRight_(this);},onEnableChanged_(){if(!this.enabled){this.$.left.style.display='none';this.$.right.style.display='none';}
9416this.picker.onEnableChanged_(this);}});Polymer({is:'tr-ui-b-grouping-table-groupby-picker',created(){this.settingsKey_=undefined;},get settingsKey(){return this.settingsKey_;},set settingsKey(settingsKey){this.settingsKey_=settingsKey;if(this.$.container.children.length){this.restoreSetting_();}},restoreSetting_(){if(this.settingsKey_===undefined)return;this.currentGroupKeys=tr.b.Settings.get(this.settingsKey_,this.currentGroupKeys);},get possibleGroups(){return[...this.$.container.children].map(groupEl=>groupEl.group);},set possibleGroups(possibleGroups){Polymer.dom(this.$.container).textContent='';for(let i=0;i<possibleGroups.length;++i){const groupEl=document.createElement('tr-ui-b-grouping-table-groupby-picker-group');groupEl.picker=this;groupEl.group=possibleGroups[i];Polymer.dom(this.$.container).appendChild(groupEl);}
9417this.restoreSetting_();this.updateFirstLast_();},updateFirstLast_(){const groupEls=this.$.container.children;const enabledGroupEls=[...groupEls].filter(el=>el.enabled);for(let i=0;i<enabledGroupEls.length;++i){enabledGroupEls[i].isFirst=i===0;enabledGroupEls[i].isLast=i===enabledGroupEls.length-1;}},get currentGroupKeys(){return this.currentGroups.map(group=>group.key);},get currentGroups(){const groups=[];for(const groupEl of this.$.container.children){if(groupEl.enabled){groups.push(groupEl.group);}}
9418return groups;},set currentGroupKeys(newKeys){if(!tr.b.compareArrays(this.currentGroupKeys,newKeys,(x,y)=>x.localeCompare(y))){return;}
9419const possibleGroups=new Map();for(const group of this.possibleGroups){possibleGroups.set(group.key,group);}
9420const groupEls=this.$.container.children;let i=0;for(i=0;i<newKeys.length;++i){const group=possibleGroups.get(newKeys[i]);if(group===undefined){newKeys.splice(i,1);--i;continue;}
9421groupEls[i].group=group;groupEls[i].enabled=true;possibleGroups.delete(newKeys[i]);}
9422for(const group of possibleGroups.values()){groupEls[i].group=group;groupEls[i].enabled=false;++i;}
9423this.updateFirstLast_();this.onCurrentGroupsChanged_();},moveLeft_(groupEl){const reference=groupEl.previousSibling;Polymer.dom(this.$.container).removeChild(groupEl);Polymer.dom(this.$.container).insertBefore(groupEl,reference);this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},moveRight_(groupEl){const reference=groupEl.nextSibling.nextSibling;Polymer.dom(this.$.container).removeChild(groupEl);if(reference){Polymer.dom(this.$.container).insertBefore(groupEl,reference);}else{Polymer.dom(this.$.container).appendChild(groupEl);}
9424this.updateFirstLast_();if(groupEl.enabled){this.onCurrentGroupsChanged_();}},onCurrentGroupsChanged_(){this.dispatchEvent(new tr.b.Event('current-groups-changed'));tr.b.Settings.set(this.settingsKey_,this.currentGroupKeys);},onEnableChanged_(groupEl){this.updateFirstLast_();this.onCurrentGroupsChanged_();}});return{};});'use strict';(function(){Polymer({is:'tr-ui-sp-file-size-stats-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.selection_=new tr.model.EventSet();this.$.picker.settingsKey='tr-ui-sp-file-size-stats-side-panel-picker';this.$.picker.possibleGroups=[{key:'phase',label:'Event Type',dataFn(eventStat){return eventStat.phase;}},{key:'category',label:'Category',dataFn(eventStat){return eventStat.category;}},{key:'title',label:'Title',dataFn(eventStat){return eventStat.title;}}];if(this.$.picker.currentGroupKeys.length===0){this.$.picker.currentGroupKeys=['phase','title'];}
9425this.$.picker.addEventListener('current-groups-changed',this.updateContents_.bind(this));},get textLabel(){return'File Size Stats';},supportsModel(m){if(!m){return{supported:false,reason:'No stats were collected for this file.'};}
9426if(m.stats.allTraceEventStats.length===0){return{supported:false,reason:'No stats were collected for this file.'};}
9427return{supported:true};},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(rangeOfInterest){this.rangeOfInterest_=rangeOfInterest;},get selection(){return this.selection_;},set selection(selection){this.selection_=selection;},createColumns_(stats){const columns=[{title:'Title',value(row){const titleEl=document.createElement('span');Polymer.dom(titleEl).textContent=row.title;titleEl.style.textOverflow='ellipsis';return titleEl;},cmp(a,b){return a.title.localeCompare(b.title);},width:'400px'},{title:'Num Events',align:tr.ui.b.TableFormat.ColumnAlignment.RIGHT,value(row){return row.rowStats.numEvents;},cmp(a,b){return a.rowStats.numEvents-b.rowStats.numEvents;},width:'80px'}];if(stats&&stats.hasEventSizesinBytes){columns.push({title:'Bytes',value(row){const value=new tr.b.Scalar(tr.b.Unit.byName.sizeInBytes,row.rowStats.totalEventSizeinBytes);const spanEl=tr.v.ui.createScalarSpan(value);return spanEl;},cmp(a,b){return a.rowStats.totalEventSizeinBytes-
9428b.rowStats.totalEventSizeinBytes;},width:'80px'});}
9429return columns;},updateContents_(){const table=this.$.table;const columns=this.createColumns_(this.model.stats);table.rowStatsConstructor=function ModelStatsRowStats(row){const sum=tr.b.math.Statistics.sum(row.data,function(x){return x.numEvents;});const totalEventSizeinBytes=tr.b.math.Statistics.sum(row.data,x=>x.totalEventSizeinBytes);return{numEvents:sum,totalEventSizeinBytes};};table.tableColumns=columns;table.sortColumnIndex=1;table.sortDescending=true;table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.groupBy=this.$.picker.currentGroups.map(function(group){return group.dataFn;});if(!this.model){table.dataToGroup=[];}else{table.dataToGroup=this.model.stats.allTraceEventStats;}
9430this.$.table.rebuild();}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-file-size-stats-side-panel');});})();'use strict';tr.exportTo('tr.mre',function(){const FunctionRegistry={allFunctions_:[],allFunctionsByName_:{},get allFunctions(){return this.allFunctions_;},get allFunctionsByName(){return this.allFunctionsByName_;}};FunctionRegistry.getFunction=function(name){return this.allFunctionsByName_[name];};FunctionRegistry.register=function(func){if(func.name===''){throw new Error('Registered functions must not be anonymous');}
9431if(this.allFunctionsByName[func.name]!==undefined){throw new Error('Function named '+func.name+'is already registered.');}
9432this.allFunctionsByName[func.name]=func;this.allFunctions.push(func);};function ModuleToLoad(href,filename){if((href!==undefined)?(filename!==undefined):(filename===undefined)){throw new Error('ModuleToLoad must specify exactly one of href or '+'filename');}
9433this.href=href;this.filename=filename;}
9434ModuleToLoad.prototype={asDict(){if(this.href!==undefined){return{'href':this.href};}
9435return{'filename':this.filename};},toString(){if(this.href!==undefined){return'ModuleToLoad(href="'+this.href+'")';}
9436return'ModuleToLoad(filename="'+this.filename+'")';}};ModuleToLoad.fromDict=function(moduleDict){return new ModuleToLoad(moduleDict.href,moduleDict.filename);};function FunctionHandle(modulesToLoad,functionName,opt_options){if(!(modulesToLoad instanceof Array)){throw new Error('modulesToLoad in FunctionHandle must be an array');}
9437if(typeof(functionName)!=='string'){throw new Error('functionName in FunctionHandle must be a string');}
9438this.modulesToLoad=modulesToLoad;this.functionName=functionName;this.options_=opt_options;}
9439FunctionHandle.prototype={get options(){return this.options_;},asDict(){return{'modules_to_load':this.modulesToLoad.map(function(m){return m.asDict();}),'function_name':this.functionName,'options':this.options_};},asUserFriendlyString(){const parts=this.modulesToLoad.map(mtl=>mtl.filename);parts.push(this.functionName);parts.push(JSON.stringify(this.options_));return parts.join(',');},hasHrefs(){for(const module in this.modulesToLoad){if(this.modulesToLoad[module].href!==undefined){return true;}}
9440return false;},load(){if(this.hasHrefs()){const err=new Error('FunctionHandle named '+this.functionName+' specifies hrefs, which cannot be loaded.');err.name='FunctionLoadingError';throw err;}
9441for(const module in this.modulesToLoad){const filename=this.modulesToLoad[module].filename;try{HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}}
9442const func=FunctionRegistry.getFunction(this.functionName);if(func===undefined){const err=new Error('No registered function named '+this.functionName);err.name='FunctionNotDefinedError';throw err;}
9443return func;},toString(){const modulesToLoadStr=this.modulesToLoad.map(function(module){return module.toString();});return'FunctionHandle(modulesToLoad=['+modulesToLoadStr+'], '+'functionName="'+this.functionName+'", options="'+
9444JSON.stringify(this.options_)+'")';}};FunctionHandle.loadFromFilename_=function(filename){try{const numFunctionsBefore=FunctionRegistry.allFunctions.length;HTMLImportsLoader.loadHTMLFile(filename);}catch(err){err.name='FunctionLoadingError';throw err;}
9445const numFunctionsNow=FunctionRegistry.allFunctions.length;if(numFunctionsNow!==(numFunctionsBefore+1)){const err=new Error(filename+' didn\'t call FunctionRegistry.register');err.name='FunctionNotDefinedError';throw err;}
9446return FunctionRegistry.allFunctions[numFunctionsNow-1];};FunctionHandle.fromDict=function(handleDict){const options=handleDict.options;let modulesToLoad;if(handleDict.modules_to_load!==undefined){modulesToLoad=handleDict.modules_to_load.map(function(module){return ModuleToLoad.fromDict(module);});}
9447return new FunctionHandle(modulesToLoad,handleDict.function_name,options);};return{FunctionHandle,ModuleToLoad,FunctionRegistry,};});'use strict';tr.exportTo('tr.metrics',function(){function runMetrics(model,options){if(options===undefined){throw new Error('Options are required.');}
9448const metricNames=options.metrics;if(!metricNames){throw new Error('Metric names should be specified.');}
9449const histograms=new tr.v.HistogramSet();for(const metricName of metricNames){const metric=tr.metrics.MetricRegistry.findTypeInfoWithName(metricName);if(metric===undefined){throw new Error('"'+metricName+'" is not a registered metric.');}
9450metric.constructor(histograms,model,options);}
9451return histograms;}
9452function addTelemetryInfo(histograms,model){const telemetry=new tr.v.d.TelemetryInfo();for(const metadata of model.metadata){if(!metadata.value)continue;if(metadata.value.telemetry){telemetry.addInfo(metadata.value.telemetry);}}
9453histograms.addSharedDiagnostic(tr.v.d.TelemetryInfo.NAME,telemetry);}
9454function metricMapFunction(result,model,options){const histograms=runMetrics(model,options);addTelemetryInfo(histograms,model);result.addPair('histograms',histograms.asDicts());const scalarDicts=[];for(const value of histograms){for(const[statName,scalar]of value.statisticsScalars){scalarDicts.push({name:value.name+'_'+statName,numeric:scalar.asDict(),description:value.description,});}}
9455result.addPair('scalars',scalarDicts);}
9456tr.mre.FunctionRegistry.register(metricMapFunction);return{metricMapFunction,runMetrics,};});'use strict';tr.exportTo('tr.mre',function(){function Failure(job,functionHandleString,traceCanonicalUrl,failureTypeName,description,stack){this.job=job;this.functionHandleString=functionHandleString;this.traceCanonicalUrl=traceCanonicalUrl;this.failureTypeName=failureTypeName;this.description=description;this.stack=stack;}
9457Failure.prototype={asDict(){return{function_handle_string:this.functionHandleString,trace_canonical_url:this.traceCanonicalUrl,type:this.failureTypeName,description:this.description,stack:this.stack};}};Failure.fromDict=function(failureDict){return new Failure(undefined,failureDict.function_handle_string,failureDict.trace_canonical_url,failureDict.type,failureDict.description,failureDict.stack);};return{Failure,};});'use strict';tr.exportTo('tr.mre',function(){class MreResult{constructor(failures,pairs){if(failures===undefined){failures=[];}
9458if(pairs===undefined){pairs={};}
9459this.failures=failures;this.pairs=pairs;}
9460addFailure(failure){this.failures.push(failure);}
9461addPair(key,value){if(key in this.pairs){throw new Error('Key '+key+' already exists in result.');}
9462this.pairs[key]=value;}
9463asDict(){const d={pairs:this.pairs};if(this.failures){d.failures=this.failures.map(function(f){return f.asDict();});}
9464return d;}
9465hadFailures(){return this.failures.length>0;}
9466static fromDict(resultDict){const failures=(resultDict.failures!==undefined)?resultDict.failures.map(tr.mre.Failure.fromDict):undefined;const pairs=resultDict.pairs;return new MreResult(failures,pairs);}}
9467return{MreResult,};});'use strict';tr.exportTo('tr.ui',function(){class NullBrushingStateController extends tr.c.BrushingStateController{constructor(){super(undefined);this.parentController=undefined;}
9468dispatchChangeEvent_(){if(this.parentController)this.parentController.dispatchChangeEvent_();}
9469get model(){if(!this.parentController)return undefined;return this.parentController.model;}
9470get trackView(){if(!this.parentController)return undefined;return this.parentController.trackView;}
9471get viewport(){if(!this.parentController)return undefined;return this.parentController.viewport;}
9472get historyEnabled(){if(!this.parentController)return undefined;return this.parentController.historyEnabled;}
9473set historyEnabled(historyEnabled){if(this.parentController){this.parentController.historyEnabled=historyEnabled;}}
9474modelWillChange(){if(this.parentController)this.parentController.modelWillChange();}
9475modelDidChange(){if(this.parentController)this.parentController.modelDidChange();}
9476onUserInitiatedSelectionChange_(){if(this.parentController){this.parentController.onUserInitiatedSelectionChange_();}}
9477onPopState_(e){if(this.parentController)this.parentController.onPopState_(e);}
9478get selection(){if(!this.parentController)return undefined;return this.parentController.selection;}
9479get findMatches(){if(!this.parentController)return undefined;return this.parentController.findMatches;}
9480get selectionOfInterest(){if(!this.parentController)return undefined;return this.parentController.selectionOfInterest;}
9481get currentBrushingState(){if(!this.parentController)return undefined;return this.parentController.currentBrushingState;}
9482set currentBrushingState(newBrushingState){if(this.parentController){this.parentController.currentBrushingState=newBrushingState;}}
9483addAllEventsMatchingFilterToSelectionAsTask(filter,selection){if(this.parentController){this.parentController.addAllEventsMatchingFilterToSelectionAsTask(filter,selection);}}
9484findTextChangedTo(allPossibleMatches){if(this.parentController){this.parentController.findTextChangedTo(allPossibleMatches);}}
9485findFocusChangedTo(currentFocus){if(this.parentController){this.parentController.findFocusChangedTo(currentFocus);}}
9486findTextCleared(){if(this.parentController){this.parentController.findTextCleared();}}
9487uiStateFromString(string){if(this.parentController){this.parentController.uiStateFromString(string);}}
9488navToPosition(uiState,showNavLine){if(this.parentController){this.parentController.navToPosition(uiState,showNavLine);}}
9489changeSelectionFromTimeline(selection){if(this.parentController){this.parentController.changeSelectionFromTimeline(selection);}}
9490showScriptControlSelection(selection){if(this.parentController){this.parentController.showScriptControlSelection(selection);}}
9491changeSelectionFromRequestSelectionChangeEvent(selection){if(this.parentController){this.parentController.changeSelectionFromRequestSelectionChangeEvent(selection);}}
9492changeAnalysisViewRelatedEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisViewRelatedEvents(eventSet);}}
9493changeAnalysisLinkHoveredEvents(eventSet){if(this.parentController&&(eventSet instanceof tr.model.EventSet)){this.parentController.changeAnalysisLinkHoveredEvents(eventSet);}}
9494getViewSpecificBrushingState(viewId){if(this.parentController){this.parentController.getViewSpecificBrushingState(viewId);}}
9495changeViewSpecificBrushingState(viewId,newState){if(this.parentController){this.parentController.changeViewSpecificBrushingState(viewId,newState);}}}
9496return{NullBrushingStateController,};});'use strict';tr.exportTo('tr.v',function(){const CSV_ITERATION_INFO_NAMES=['benchmarkName','benchmarkStartString','label','osVersion','productVersion','storyDisplayName','storysetRepeatCounter',];class CSVBuilder{constructor(histograms){this.histograms_=histograms;this.table_=[];this.statisticsNames_=new Set();this.iterationInfoNames_=new Set();this.storyGroupingKeys_=new Set();}
9497build(){this.prepare_();this.buildHeader_();for(const hist of this.histograms_){const row=[hist.name,hist.unit.unitString];this.table_.push(row);const stats=hist.statisticsScalars;for(const name of this.statisticsNames_){row.push(stats.has(name)?stats.get(name).value:'');}
9498const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);for(const name of this.iterationInfoNames_){if(iteration===undefined||iteration[name]===undefined){row.push('');}else{row.push(iteration[name]);}}
9499for(const key of this.storyGroupingKeys_){if(iteration===undefined||iteration.storyGroupingKeys.get(key)===undefined){row.push('');}else{row.push(iteration.storyGroupingKeys.get(key));}}}}
9500prepare_(){for(const hist of this.histograms_){for(const name of hist.statisticsNames){this.statisticsNames_.add(name);}
9501const iteration=tr.v.d.TelemetryInfo.getFromHistogram(hist);if(iteration===undefined)continue;for(const name of CSV_ITERATION_INFO_NAMES){if(iteration[name]){this.iterationInfoNames_.add(name);}}
9502for(const[key,value]of iteration.storyGroupingKeys){this.storyGroupingKeys_.add(key);}}}
9503buildHeader_(){const header=['name','unit'];for(const name of this.statisticsNames_){header.push(name);}
9504for(const name of this.iterationInfoNames_){header.push(name);}
9505for(const key of this.storyGroupingKeys_){header.push(key);}
9506this.table_.push(header);}
9507toString(){let str='';for(const row of this.table_){for(let i=0;i<row.length;++i){if(i>0){str+=',';}
9508let cell=''+row[i];if(cell.indexOf(',')>=0||cell.indexOf('"')>=0){cell='"'+cell.replace(/"/g,'""')+'"';}
9509str+=cell;}
9510str+='\n';}
9511return str;}}
9512return{CSVBuilder,};});'use strict';tr.exportTo('tr.v',function(){const getDisplayLabel=tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.callback;const DEFAULT_POSSIBLE_GROUPS=[];DEFAULT_POSSIBLE_GROUPS.push(new tr.v.HistogramGrouping(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key,h=>h.shortName||h.name));for(const group of Object.values(tr.v.HistogramSet.GROUPINGS)){if(group!==tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL&&group!==tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME){DEFAULT_POSSIBLE_GROUPS.push(group);}}
9513class HistogramParameterCollector{constructor(){this.statisticNames_=new Set(['avg']);this.labelsToStartTimes_=new Map();this.keysToGroupings_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,g]));this.keysToValues_=new Map(DEFAULT_POSSIBLE_GROUPS.map(g=>[g.key,new Set()]));this.keysToValues_.delete(tr.v.HistogramSet.GROUPINGS.HISTOGRAM_NAME.key);}
9514process(histograms){for(const hist of histograms){for(const statName of hist.statisticsNames){this.statisticNames_.add(statName);}
9515const telemetry=tr.v.d.TelemetryInfo.getFromHistogram(hist);let startTime=0;if(telemetry&&telemetry.benchmarkStart){startTime=telemetry.benchmarkStart.getTime();}
9516const displayLabel=getDisplayLabel(hist);if(this.labelsToStartTimes_.has(displayLabel)){startTime=Math.min(startTime,this.labelsToStartTimes_.get(displayLabel));}
9517this.labelsToStartTimes_.set(displayLabel,startTime);if(!telemetry)continue;for(const[groupingKey,values]of this.keysToValues_){const grouping=this.keysToGroupings_.get(groupingKey);const value=grouping.callback(hist);if(!value)continue;values.add(value);if(values.size>1){this.keysToValues_.delete(groupingKey);}}
9518for(const[key,value]of telemetry.storyGroupingKeys){const groupingKey='storyGroupingKey_'+key;if(this.keysToGroupings_.has(groupingKey))continue;this.keysToGroupings_.set(groupingKey,new tr.v.HistogramGrouping(groupingKey,tr.v.d.TelemetryInfo.makeStoryGroupingKeyLabelGetter(key)));this.keysToValues_.set(groupingKey,new Set([value]));}}}
9519get statisticNames(){return Array.from(this.statisticNames_);}
9520get labels(){const displayLabels=Array.from(this.labelsToStartTimes_.keys());displayLabels.sort((x,y)=>this.labelsToStartTimes_.get(x)-this.labelsToStartTimes_.get(y));return displayLabels;}
9521get possibleGroupings(){for(const[key,values]of this.keysToValues_){if(values.size>=2)continue;this.keysToGroupings_.delete(key);}
9522return Array.from(this.keysToGroupings_.values());}}
9523return{HistogramParameterCollector,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-controls',properties:{searchQuery:{type:String,value:'',observer:'onUserChange_',},showAll:{type:Boolean,value:false,observer:'onUserChange_',},referenceDisplayLabel:{type:String,value:'',observer:'onUserChange_',},displayStatisticName:{type:String,value:'',observer:'onUserChange_',},},created(){this.viewState_=undefined;this.rowListener_=this.onRowViewStateUpdate_.bind(this);this.baseStatisticNames_=[];this.isInOnViewStateUpdate_=false;},ready(){this.$.picker.addEventListener('current-groups-changed',this.onGroupsChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');}
9524this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},async onUserChange_(){if(!this.viewState)return;if(this.isInOnViewStateUpdate_)return;const marks=[];if(this.searchQuery!==this.viewState.searchQuery){marks.push(tr.b.Timing.mark('histogram-set-controls','search'));}
9525if(this.showAll!==this.viewState.showAll){marks.push(tr.b.Timing.mark('histogram-set-controls','showAll'));}
9526if(this.referenceDisplayLabel!==this.viewState.referenceDisplayLabel){marks.push(tr.b.Timing.mark('histogram-set-controls','referenceColumn'));}
9527if(this.displayStatisticName!==this.viewState.displayStatisticName){marks.push(tr.b.Timing.mark('histogram-set-controls','statistic'));}
9528let displayStatisticName=this.displayStatisticName;if(this.viewState.referenceDisplayLabel===''&&this.referenceDisplayLabel!==''&&this.baseStatisticNames.length){displayStatisticName=`${tr.v.DELTA}${this.displayStatisticName}`;}
9529if(this.referenceDisplayLabel===''&&this.viewState.referenceDisplayLabel!==''&&this.baseStatisticNames.length){const deltaIndex=displayStatisticName.indexOf(tr.v.DELTA);if(deltaIndex>=0){displayStatisticName=displayStatisticName.slice(deltaIndex+1);}else if(!this.baseStatisticNames.includes(displayStatisticName)){displayStatisticName='avg';}}
9530await this.viewState.update({searchQuery:this.searchQuery,showAll:this.showAll,referenceDisplayLabel:this.referenceDisplayLabel,displayStatisticName,});if(this.referenceDisplayLabel&&this.statisticNames.length===this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames.concat(tr.v.Histogram.getDeltaStatisticsNames(this.baseStatisticNames));}else if(!this.referenceDisplayLabel&&this.statisticNames.length>this.baseStatisticNames.length){this.statisticNames=this.baseStatisticNames;}
9531for(const mark of marks)mark.end();},onViewStateUpdate_(event){this.isInOnViewStateUpdate_=true;if(event.delta.searchQuery){this.searchQuery=this.viewState.searchQuery;}
9532if(event.delta.showAll)this.showAll=this.viewState.showAll;if(event.delta.displayStatisticName){this.displayStatisticName=this.viewState.displayStatisticName;}
9533if(event.delta.referenceDisplayLabel){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}
9534if(event.delta.groupings){this.$.picker.currentGroupKeys=this.viewState.groupings.map(g=>g.key);}
9535if(event.delta.tableRowStates){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){row.addUpdateListener(this.rowListener_);}
9536const anyShowing=this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';}
9537this.isInOnViewStateUpdate_=false;this.onUserChange_();},onRowViewStateUpdate_(event){if(event.delta.isOverviewed){const anyShowing=event.delta.isOverviewed.current||this.anyOverviewCharts_;this.$.hide_overview.style.display=anyShowing?'inline':'none';this.$.show_overview.style.display=anyShowing?'none':'inline';}
9538if(event.delta.subRows){for(const subRow of event.delta.subRows.previous){subRow.removeUpdateListener(this.rowListener_);}
9539for(const subRow of event.delta.subRows.current){subRow.addUpdateListener(this.rowListener_);}}},onGroupsChanged_(){if(this.$.picker.currentGroups.length===0&&this.$.picker.possibleGroups.length>0){this.$.picker.currentGroupKeys=[this.$.picker.possibleGroups[0].key];}
9540this.viewState.groupings=this.$.picker.currentGroups;},set showAllEnabled(enable){if(!enable)this.$.show_all.checked=true;this.$.show_all.disabled=!enable;},set possibleGroupings(groupings){this.$.picker.possibleGroups=groupings;this.$.picker.style.display=(groupings.length<2)?'none':'block';this.onGroupsChanged_();},set displayLabels(labels){this.$.reference_display_label.style.display=(labels.length<2)?'none':'inline';while(this.$.reference_display_label.children.length>1){this.$.reference_display_label.removeChild(this.$.reference_display_label.lastChild);}
9541for(const displayLabel of labels){const option=document.createElement('option');option.textContent=displayLabel;this.$.reference_display_label.appendChild(option);}
9542if(labels.includes(this.viewState.referenceDisplayLabel)){this.referenceDisplayLabel=this.viewState.referenceDisplayLabel;}else{this.viewState.referenceDisplayLabel='';}},get baseStatisticNames(){return this.baseStatisticNames_;},set baseStatisticNames(names){this.baseStatisticNames_=names;this.statisticNames=names;},get statisticNames(){return Array.from(this.$.statistic.options).map(o=>o.value);},set statisticNames(names){this.$.statistic.style.display=(names.length<2)?'none':'inline';while(this.$.statistic.children.length){this.$.statistic.removeChild(this.$.statistic.lastChild);}
9543for(const name of names){const option=document.createElement('option');option.textContent=name;this.$.statistic.appendChild(option);}
9544if(names.includes(this.viewState.displayStatisticName)){this.displayStatisticName=this.viewState.displayStatisticName;this.$.statistic.value=this.displayStatisticName;}else{this.viewState.displayStatisticName=names[0]||'';}},get anyOverviewCharts_(){for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){if(row.isOverviewed)return true;}
9545return false;},async toggleOverviewLineCharts_(){const showOverviews=!this.anyOverviewCharts_;const mark=tr.b.Timing.mark('histogram-set-controls',(showOverviews?'show':'hide')+'OverviewCharts');for(const row of tr.v.ui.HistogramSetTableRowState.walkAll(this.viewState.tableRowStates.values())){await row.update({isOverviewed:showOverviews});}
9546this.$.hide_overview.style.display=showOverviews?'inline':'none';this.$.show_overview.style.display=showOverviews?'none':'inline';await tr.b.animationFrame();mark.end();},set helpHref(href){this.$.help.href=href;this.$.help.style.display='inline';},set feedbackHref(href){this.$.feedback.href=href;this.$.feedback.style.display='inline';},downloadCSV_(event){this.dispatchEvent(new tr.b.Event('download-csv'));}});return{};});'use strict';tr.exportTo('tr.v',function(){class HistogramSetHierarchy{constructor(name){this.name=name;this.description='';this.depth=0;this.subRows=[];this.columns=new Map();this.overviewDataRange_=undefined;this.mergeRelationshipsForColumn_=new Map();}*walk(){yield this;for(const row of this.subRows)yield*row.walk();}
9547static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}
9548static build(histogramArrayMap){const rootRows=[];HistogramSetHierarchy.buildInternal_(histogramArrayMap,[],rootRows);const histograms=new tr.v.HistogramSet();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}}
9549histograms.deduplicateDiagnostics();for(const row of HistogramSetHierarchy.walkAll(rootRows)){for(const[name,hist]of row.columns){if(!(hist instanceof tr.v.Histogram))continue;if(!row.mergeRelationshipsForColumn_.get(name))continue;hist.diagnostics.mergeRelationships(hist);}}
9550for(const row of HistogramSetHierarchy.walkAll(rootRows)){if(row.subRows.length)continue;for(const hist of row.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;const mergedFrom=hist.diagnostics.get(tr.v.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const other of mergedFrom){other.diagnostics.delete(tr.v.MERGED_TO_DIAGNOSTIC_KEY);}}}}
9551for(const row of HistogramSetHierarchy.walkAll(rootRows)){row.maybeRebin_();}
9552return rootRows;}
9553maybeRebin_(){const dataRange=new tr.b.math.Range();for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;if(hist.allBins.length>1)return;if(hist.numValues===0)continue;dataRange.addValue(hist.min);dataRange.addValue(hist.max);}
9554dataRange.addValue(tr.b.math.lesserWholeNumber(dataRange.min));dataRange.addValue(tr.b.math.greaterWholeNumber(dataRange.max));if(dataRange.min===dataRange.max)return;const boundaries=tr.v.HistogramBinBoundaries.createLinear(dataRange.min,dataRange.max,tr.v.DEFAULT_REBINNED_COUNT);for(const[name,hist]of this.columns){if(!(hist instanceof tr.v.Histogram))continue;this.columns.set(name,hist.rebin(boundaries));}}
9555static mergeHistogramDownHierarchy_(histogram,hierarchy,columnName){let groupingPath=undefined;for(const row of hierarchy){if(groupingPath!==undefined){groupingPath.push(row.name);}else if(row.name===histogram.name){groupingPath=[];}
9556if(!row.description){row.description=histogram.description;}
9557const existing=row.columns.get(columnName);if(existing===undefined){const clone=histogram.clone();if(groupingPath!==undefined){new tr.v.d.GroupingPath(groupingPath).addToHistogram(clone);}
9558row.columns.set(columnName,clone);row.mergeRelationshipsForColumn_.set(columnName,true);continue;}
9559if(existing instanceof tr.v.HistogramSet){existing.addHistogram(histogram);continue;}
9560if(!existing.canAddHistogram(histogram)){const unmergeableHistograms=new tr.v.HistogramSet([histogram]);const mergedFrom=existing.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){unmergeableHistograms.addHistogram(origHist);}}
9561row.columns.set(columnName,unmergeableHistograms);continue;}
9562if(existing.name!==histogram.name){row.mergeRelationshipsForColumn_.set(name,false);}
9563existing.addHistogram(histogram);}}
9564static buildInternal_(histogramArrayMap,hierarchy,rootRows){for(const[name,histograms]of histogramArrayMap){if(histograms instanceof Array){for(const histogram of histograms){HistogramSetHierarchy.mergeHistogramDownHierarchy_(histogram,hierarchy,name);}}else if(histograms instanceof Map){const row=new HistogramSetHierarchy(name);row.depth=hierarchy.length;hierarchy.push(row);HistogramSetHierarchy.buildInternal_(histograms,hierarchy,rootRows);hierarchy.pop();if(hierarchy.length===0){rootRows.push(row);}else{const parentRow=hierarchy[hierarchy.length-1];parentRow.subRows.push(row);}}}}
9565static filter(rows,histograms){const results=[];for(const row of rows){let filteredSubRows=[];if(row.subRows.length>0){filteredSubRows=HistogramSetHierarchy.filter(row.subRows,histograms);if(filteredSubRows.length===0)continue;}else{let found=false;for(const testHist of row.columns.values()){if(testHist instanceof tr.v.HistogramSet){for(const origHist of testHist){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}
9566if(found)break;continue;}
9567if(!(testHist instanceof tr.v.Histogram)){throw new Error('Cells can only contain Histogram or HistogramSet');}
9568if(histograms.lookupHistogram(testHist.guid)!==undefined){found=true;break;}
9569const mergedFrom=testHist.diagnostics.get(tr.v.d.MERGED_FROM_DIAGNOSTIC_KEY);if(mergedFrom!==undefined){for(const origHist of mergedFrom){if(histograms.lookupHistogram(origHist.guid)!==undefined){found=true;break;}}}
9570if(found)break;}
9571if(!found)continue;}
9572const clone=new HistogramSetHierarchy(row.name);clone.description=row.description;clone.depth=row.depth;clone.subRows=filteredSubRows;clone.columns=row.columns;clone.overviewDataRange_=row.overviewDataRange_;results.push(clone);}
9573return results;}
9574get overviewDataRange(){if(this.overviewDataRange_===undefined){this.overviewDataRange_=new tr.b.math.Range();for(const[displayLabel,hist]of this.columns){if(hist instanceof tr.v.Histogram&&hist.average!==undefined){this.overviewDataRange_.addValue(hist.average);}
9575for(const subRow of this.subRows){const subHist=subRow.columns.get(displayLabel);if(!(subHist instanceof tr.v.Histogram))continue;if(subHist.average===undefined)continue;this.overviewDataRange_.addValue(subHist.average);}}}
9576return this.overviewDataRange_;}}
9577return{HistogramSetHierarchy,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-table-cell',created(){this.viewState_=undefined;this.rootListener_=this.onRootStateUpdate_.bind(this);this.row_=undefined;this.displayLabel_='';this.histogram_=undefined;this.histogramSpan_=undefined;this.overviewChart_=undefined;},ready(){this.addEventListener('click',this.onClick_.bind(this));},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},build(row,displayLabel,viewState){this.row_=row;this.displayLabel_=displayLabel;this.viewState_=viewState;this.histogram_=this.row.columns.get(displayLabel);if(this.viewState){this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));}
9578this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);}
9579this.updateContents_();},get viewState(){return this.viewState_;},get row(){return this.row_;},get histogram(){return this.histogram_;},get referenceHistogram(){const referenceDisplayLabel=this.row.rootViewState.referenceDisplayLabel;if(!referenceDisplayLabel)return undefined;if(referenceDisplayLabel===this.displayLabel_)return undefined;return this.row.columns.get(referenceDisplayLabel);},get isHistogramOpen(){return(this.histogramSpan_!==undefined)&&(this.$.histogram.style.display==='block');},get brushedBinRange(){if(!this.isHistogramOpen)return new tr.b.math.Range();return this.histogramSpan_.brushedBinRange;},set brushedBinRange(r){if(this.histogramSpan_===undefined)return;this.histogramSpan_.brushedBinRange=r;},get mergeSampleDiagnostics(){if(!this.isHistogramOpen)return false;return this.histogramSpan_.mergeSampleDiagnostics;},set mergeSampleDiagnostics(m){if(this.histogramSpan_===undefined)return;this.histogramSpan_.mergeSampleDiagnostics=m;},set isHistogramOpen(open){if(!(this.histogram instanceof tr.v.Histogram)||(this.histogram.numValues===0)){return;}
9580this.$.scalar.style.display=open?'none':'flex';this.$.open_histogram.style.display=open?'none':'block';this.$.close_histogram.style.display=open?'block':'none';this.$.histogram.style.display=open?'block':'none';if(open&&this.histogramSpan_===undefined){this.histogramSpan_=document.createElement('tr-v-ui-histogram-span');this.$.histogram.appendChild(this.histogramSpan_);this.histogramSpan_.viewState=this.viewState;this.histogramSpan_.referenceHistogram=this.referenceHistogram;this.histogramSpan_.histogram=this.histogram;}
9581this.viewState.isOpen=open;},onViewStateUpdate_(event){if(event.delta.isOpen){this.isHistogramOpen=this.viewState.isOpen;}},onRowStateUpdate_(event){if(event.delta.isOverviewed===undefined)return;if(this.row.viewState.isOverviewed){this.showOverview();}else{this.hideOverview();}},onRootStateUpdate_(event){if(event.delta.displayStatisticName||event.delta.referenceDisplayLabel){this.updateContents_();}},onClick_(event){event.stopPropagation();},openHistogram_(){this.isHistogramOpen=true;tr.b.Timing.instant('histogram-set-table-cell','open');},closeHistogram_(){this.isHistogramOpen=false;tr.b.Timing.instant('histogram-set-table-cell','close');},updateContents_(){const isOpen=this.isHistogramOpen;this.$.empty.style.display='none';this.$.unmergeable.style.display='none';this.$.scalar.style.display='none';this.$.histogram.style.display='none';this.$.close_histogram.style.display='none';this.$.open_histogram.style.visibility='hidden';if(!this.histogram){this.$.missing.style.display='block';return;}
9582this.$.missing.style.display='none';if(this.histogram instanceof tr.v.HistogramSet){this.$.unmergeable.style.display='block';return;}
9583if(!(this.histogram instanceof tr.v.Histogram)){throw new Error('Invalid Histogram: '+this.histogram);}
9584if(this.histogram.numValues===0){this.$.empty.style.display='block';return;}
9585this.$.open_histogram.style.display='block';this.$.open_histogram.style.visibility='visible';this.$.scalar.style.display='flex';const referenceHistogram=this.referenceHistogram;if(this.histogramSpan_){this.histogramSpan_.referenceHistogram=referenceHistogram;}
9586if((referenceHistogram instanceof tr.v.Histogram)&&(this.histogram.unit===referenceHistogram.unit)&&(referenceHistogram.numValues>0)){this.$.scalar.significance=this.histogram.getDifferenceSignificance(referenceHistogram);}
9587const statName=this.histogram.getAvailableStatisticName(this.row.rootViewState.displayStatisticName,referenceHistogram);const statisticScalar=this.histogram.getStatisticScalar(statName,referenceHistogram);this.$.scalar.setValueAndUnit(statisticScalar.value,statisticScalar.unit);this.isHistogramOpen=isOpen;},showOverview(){this.$.overview_container.style.display='block';if(this.overviewChart_!==undefined)return;const data=[];let unitString;for(const subRow of this.row.subRows){const subHist=subRow.columns.get(this.displayLabel_);if(!(subHist instanceof tr.v.Histogram))continue;data.push({x:subRow.name,y:subHist.average});unitString=subHist.unit.unitString;}
9588if(data.length<2)return;this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;},hideOverview(){this.$.overview_container.style.display='none';}});return{};});'use strict';tr.exportTo('tr.v.ui',function(){const NAME_COLUMN_WIDTH_PX=300;Polymer({is:'tr-v-ui-histogram-set-table-name-cell',created(){this.row_=undefined;this.overviewChart_=undefined;this.cellListener_=this.onCellStateUpdate_.bind(this);this.rootListener_=this.onRootStateUpdate_.bind(this);},attached(){if(this.row){this.row.rootViewState.addUpdateListener(this.rootListener_);}},detached(){this.row.rootViewState.removeUpdateListener(this.rootListener_);},get row(){return this.row_;},build(row){if(this.row_!==undefined){throw new Error('row must be set exactly once.');}
9589this.row_=row;this.row.viewState.addUpdateListener(this.onRowStateUpdate_.bind(this));this.constrainWidth=this.row.rootViewState.constrainNameColumn;if(this.isAttached){this.row.rootViewState.addUpdateListener(this.rootListener_);}
9590for(const cellState of this.row.viewState.cells.values()){cellState.addUpdateListener(this.cellListener_);}
9591Polymer.dom(this.$.name).textContent=this.row.name;this.title=this.row.name;if(this.row.description){this.title+='\n'+this.row.description;}
9592if(this.row.overviewDataRange.isEmpty||this.row.overviewDataRange.min===this.row.overviewDataRange.max){this.$.show_overview.style.display='none';}
9593let histogramCount=0;for(const cell of this.row.columns.values()){if(cell instanceof tr.v.Histogram&&cell.numValues>0){++histogramCount;}}
9594if(histogramCount<=1){this.$.open_histograms.style.display='none';}},set constrainWidth(constrain){this.$.name.style.maxWidth=constrain?(this.nameWidthPx+'px'):'none';},get nameWidthPx(){return NAME_COLUMN_WIDTH_PX-(16*this.row.depth);},get isOverflowing(){return this.$.name.style.maxWidth!=='none'&&this.$.name.getBoundingClientRect().width===this.nameWidthPx;},get isOverviewed(){return this.$.overview_container.style.display==='block';},set isOverviewed(isOverviewed){if(isOverviewed===this.isOverviewed)return;if(isOverviewed){this.showOverview_();}else{this.hideOverview_();}},hideOverview_(opt_event){this.$.overview_container.style.display='none';this.$.hide_overview.style.display='none';this.$.show_overview.style.display='block';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','hideOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},showOverview_(opt_event){this.$.overview_container.style.display='block';if(this.overviewChart_===undefined){const data=[];let unitString=undefined;for(const[displayLabel,hist]of this.row.columns){data.push({x:displayLabel,y:hist.average});unitString=hist.unit.unitString;}
9595if(data.length<2){return;}
9596this.overviewChart_=new tr.ui.b.NameLineChart();this.$.overview_container.appendChild(this.overviewChart_);this.overviewChart_.hideLegend=true;this.overviewChart_.yAxisLabel=unitString;this.overviewChart_.overrideDataRange=this.row.overviewDataRange;this.overviewChart_.data=data;}
9597this.$.hide_overview.style.display='block';this.$.show_overview.style.display='none';if(opt_event!==undefined){opt_event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','showOverview');this.row.viewState.isOverviewed=this.isOverviewed;}},openHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','openHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=true;}
9598this.$.close_histograms.style.display='block';this.$.open_histograms.style.display='none';},closeHistograms_(event){event.stopPropagation();tr.b.Timing.instant('histogram-set-table-name-cell','closeHistograms');for(const cell of this.row.cells.values()){cell.isHistogramOpen=false;}
9599this.$.open_histograms.style.display='block';this.$.close_histograms.style.display='none';},onRootStateUpdate_(event){if(event.delta.constrainNameColumn){this.constrainWidth=this.row.rootViewState.constrainNameColumn;}},onRowStateUpdate_(event){if(event.delta.isOverviewed){this.isOverviewed=this.row.viewState.isOverviewed;}},onCellStateUpdate_(event){if(!event.delta.isOpen)return;let cellCount=0;let openCellCount=0;for(const cell of this.row.cells.values()){if(!(cell.histogram instanceof tr.v.Histogram)||(cell.histogram.numValues===0)){continue;}
9600++cellCount;if(cell.isHistogramOpen)++openCellCount;}
9601if(cellCount<=1)return;const mostlyOpen=openCellCount>(cellCount/2);this.$.open_histograms.style.display=mostlyOpen?'none':'block';this.$.close_histograms.style.display=mostlyOpen?'block':'none';}});return{NAME_COLUMN_WIDTH_PX,};});'use strict';tr.exportTo('tr.v.ui',function(){class HistogramSetTableRow{constructor(hierarchy,baseTable,rootViewState){this.hierarchy_=hierarchy;this.baseTable_=baseTable;this.rootViewState_=rootViewState;this.viewState_=new tr.v.ui.HistogramSetTableRowState();this.viewState_.addUpdateListener(this.onViewStateUpdate_.bind(this));this.nameCell_=undefined;this.cells_=new Map();this.subRows_=[];for(const subHierarchy of hierarchy.subRows){const subRow=new HistogramSetTableRow(subHierarchy,baseTable,rootViewState);this.subRows_.push(subRow);this.viewState.subRows.set(subRow.name,subRow.viewState);}
9602for(const columnName of this.columns.keys()){this.viewState.cells.set(columnName,new tr.v.ui.HistogramSetTableCellState());}}
9603get name(){return this.hierarchy_.name;}
9604get depth(){return this.hierarchy_.depth;}
9605get description(){return this.hierarchy_.description;}
9606get columns(){return this.hierarchy_.columns;}
9607get overviewDataRange(){return this.hierarchy_.overviewDataRange;}
9608get rootViewState(){return this.rootViewState_;}
9609get cells(){return this.cells_;}
9610get subRows(){return this.subRows_;}
9611get viewState(){return this.viewState_;}*walk(){yield this;for(const row of this.subRows)yield*row.walk();}
9612static*walkAll(rootRows){for(const rootRow of rootRows)yield*rootRow.walk();}
9613get nameCell(){if(this.nameCell_===undefined){this.nameCell_=document.createElement('tr-v-ui-histogram-set-table-name-cell');this.nameCell_.build(this);}
9614return this.nameCell_;}
9615getCell(columnName){if(this.cells.has(columnName))return this.cells.get(columnName);const cell=document.createElement('tr-v-ui-histogram-set-table-cell');cell.build(this,columnName,this.viewState.cells.get(columnName));this.cells.set(columnName,cell);return cell;}
9616compareNames(other){return this.name.localeCompare(other.name);}
9617compareCells(other,displayLabel,referenceDisplayLabel){const cellA=this.columns.get(displayLabel);const cellB=other.columns.get(displayLabel);if(!(cellA instanceof tr.v.Histogram)||!(cellB instanceof tr.v.Histogram)){return undefined;}
9618let referenceCellA;let referenceCellB;if(referenceDisplayLabel&&referenceDisplayLabel!==displayLabel){referenceCellA=this.columns.get(referenceDisplayLabel);referenceCellB=other.columns.get(referenceDisplayLabel);}
9619const statisticA=cellA.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellA);const statisticB=cellB.getAvailableStatisticName(this.rootViewState.displayStatisticName,referenceCellB);const valueA=cellA.getStatisticScalar(statisticA,referenceCellA).value;const valueB=cellB.getStatisticScalar(statisticB,referenceCellB).value;return valueA-valueB;}
9620onViewStateUpdate_(event){if(event.delta.isExpanded){this.baseTable_.setExpandedForTableRow(this,this.viewState.isExpanded);}
9621if(event.delta.subRows){throw new Error('HistogramSetTableRow.subRows must not be reassigned.');}
9622if(event.delta.cells){for(const[displayLabel,cell]of this.cells){if(cell.viewState!==this.viewState.cells.get(displayLabel)){throw new Error('Only HistogramSetTableRow may update cells');}}}}
9623async restoreState(vs){await this.viewState.update({isExpanded:vs.isExpanded,isOverviewed:vs.isOverviewed,});for(const[displayLabel,cell]of this.cells){const previousState=vs.cells.get(displayLabel);if(!previousState)continue;await cell.viewState.updateFromViewState(previousState);}
9624for(const row of this.subRows){const previousState=vs.subRows.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}}
9625return{HistogramSetTableRow,};});'use strict';tr.exportTo('tr.v.ui',function(){const MIDLINE_HORIZONTAL_ELLIPSIS=String.fromCharCode(0x22ef);function escapeRegExp(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,'\\$&');}
9626Polymer({is:'tr-v-ui-histogram-set-table',created(){this.viewState_=undefined;this.progress_=()=>Promise.resolve();this.nameColumnTitle_=undefined;this.displayLabels_=[];this.histograms_=undefined;this.sourceHistograms_=undefined;this.groupedHistograms_=undefined;this.hierarchies_=undefined;this.tableRows_=undefined;},ready(){this.$.table.zebra=true;this.addEventListener('sort-column-changed',this.onSortColumnChanged_.bind(this));this.addEventListener('requestSelectionChange',this.onRequestSelectionChange_.bind(this));this.addEventListener('row-expanded-changed',this.onRowExpandedChanged_.bind(this));},get viewState(){return this.viewState_;},set viewState(vs){if(this.viewState_){throw new Error('viewState must be set exactly once.');}
9627this.viewState_=vs;this.viewState.addUpdateListener(this.onViewStateUpdate_.bind(this));},get histograms(){return this.histograms_;},async build(histograms,sourceHistograms,displayLabels,opt_progress){this.histograms_=histograms;this.sourceHistograms_=sourceHistograms;this.groupedHistograms_=undefined;this.displayLabels_=displayLabels;if(opt_progress!==undefined)this.progress_=opt_progress;if(histograms.length===0){throw new Error('histogram-set-table requires non-empty HistogramSet.');}
9628await this.progress_('Building columns...');this.$.table.tableColumns=[{title:this.buildNameColumnTitle_(),value:row=>row.nameCell,cmp:(a,b)=>a.compareNames(b),}].concat(displayLabels.map(l=>this.buildColumn_(l)));tr.b.Timing.instant('histogram-set-table','columnCount',this.$.table.tableColumns.length);await this.updateContents_();this.fire('display-ready');this.progress_=()=>Promise.resolve();this.checkNameColumnOverflow_(tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows));},buildNameColumnTitle_(){this.nameColumnTitle_=document.createElement('span');this.nameColumnTitle_.style.display='inline-flex';const nameEl=document.createElement('span');nameEl.textContent='Name';this.nameColumnTitle_.appendChild(nameEl);const toggleWidthEl=document.createElement('span');toggleWidthEl.style.fontWeight='bold';toggleWidthEl.style.background='#bbb';toggleWidthEl.style.color='#333';toggleWidthEl.style.padding='0px 3px';toggleWidthEl.style.marginRight='8px';toggleWidthEl.style.display='none';toggleWidthEl.textContent=MIDLINE_HORIZONTAL_ELLIPSIS;toggleWidthEl.addEventListener('click',this.toggleNameColumnWidth_.bind(this));this.nameColumnTitle_.appendChild(toggleWidthEl);return this.nameColumnTitle_;},toggleNameColumnWidth_(opt_event){this.viewState.update({constrainNameColumn:!this.viewState.constrainNameColumn,});if(opt_event!==undefined){opt_event.stopPropagation();opt_event.preventDefault();tr.b.Timing.instant('histogram-set-table','nameColumn'+
9629(this.viewState.constrainNameColumn?'Constrained':'Unconstrained'));}},buildColumn_(displayLabel){const title=document.createElement('span');title.textContent=displayLabel;title.style.whiteSpace='pre';return{title,value:row=>row.getCell(displayLabel),cmp:(rowA,rowB)=>rowA.compareCells(rowB,displayLabel),};},async updateContents_(){if(this.groupedHistograms_===undefined){await this.progress_('Grouping Histograms...');this.groupHistograms_();}
9630if(this.hierarchies_===undefined){await this.progress_('Merging Histograms...');this.hierarchies_=tr.v.HistogramSetHierarchy.build(this.groupedHistograms_);this.tableRows_=undefined;}
9631const tableRowsDirty=this.tableRows_===undefined;const previousRowStates=this.viewState.tableRowStates;if(tableRowsDirty){await this.progress_('Filtering rows...');let filteredHistograms=this.viewState.showAll?this.histograms:this.sourceHistograms_;if(this.viewState.searchQuery){let query=undefined;try{query=new RegExp(this.viewState.searchQuery);}catch(e){}
9632if(query!==undefined){filteredHistograms=new tr.v.HistogramSet([...filteredHistograms].filter(hist=>hist.name.match(query)));}}
9633const filteredHierarchies=tr.v.HistogramSetHierarchy.filter(this.hierarchies_,filteredHistograms);this.tableRows_=filteredHierarchies.map(hierarchy=>new tr.v.ui.HistogramSetTableRow(hierarchy,this.$.table,this.viewState));tr.b.Timing.instant('histogram-set-table','rootRowCount',this.tableRows_.length);const namesToRowStates=new Map();for(const row of this.tableRows_){namesToRowStates.set(row.name,row.viewState);}
9634await this.viewState.update({tableRowStates:namesToRowStates});}
9635await this.progress_('Configuring table...');this.nameColumnTitle_.children[1].style.filter=this.viewState.constrainNameColumn?'invert(100%)':'';const referenceDisplayLabelIndex=this.displayLabels_.indexOf(this.viewState.referenceDisplayLabel);this.$.table.selectedTableColumnIndex=(referenceDisplayLabelIndex<0)?undefined:(1+referenceDisplayLabelIndex);this.$.table.sortColumnIndex=this.viewState.sortColumnIndex;this.$.table.sortDescending=this.viewState.sortDescending;if(tableRowsDirty){await this.progress_('Building DOM...');this.$.table.tableRows=this.tableRows_;for(const row of this.tableRows_){const previousState=previousRowStates.get(row.name);if(!previousState)continue;await row.restoreState(previousState);}}
9636this.$.table.rebuild();},async onRowExpandedChanged_(event){event.row.viewState.isExpanded=this.$.table.getExpandedForTableRow(event.row);tr.b.Timing.instant('histogram-set-table','row'+(event.row.viewState.isExpanded?'Expanded':'Collapsed'));if(this.nameColumnTitle_.children[1].style.display==='block')return;await tr.b.animationFrame();this.checkNameColumnOverflow_(event.row.subRows);},checkNameColumnOverflow_(rows){for(const row of rows){if(!row.nameCell.isOverflowing)continue;const[nameSpan,dots]=this.nameColumnTitle_.children;dots.style.display='block';const labelWidthPx=tr.v.ui.NAME_COLUMN_WIDTH_PX-
9637dots.getBoundingClientRect().width;nameSpan.style.width=labelWidthPx+'px';return;}},groupHistograms_(){const groupings=this.viewState.groupings.slice();groupings.push(tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL);function canSkipGrouping(grouping,groupedHistograms){if(groupedHistograms.size>1)return false;if(grouping.key===groupings[0].key)return false;if(grouping.key===tr.v.HistogramSet.GROUPINGS.DISPLAY_LABEL.key){return false;}
9638return true;}
9639this.groupedHistograms_=this.histograms.groupHistogramsRecursively(groupings,canSkipGrouping);this.hierarchies_=undefined;},async onViewStateUpdate_(event){if(this.histograms_===undefined)return;if(event.delta.groupings!==undefined){this.groupedHistograms_=undefined;}
9640if(event.delta.searchQuery!==undefined||event.delta.showAll!==undefined){this.tableRows_=undefined;}
9641if(event.delta.displayStatistic!==undefined&&this.$.table.sortColumnIndex>0){this.$.table.sortColumnIndex=undefined;}
9642if(event.delta.referenceDisplayLabel!==undefined||event.delta.displayStatisticName!==undefined){this.$.table.tableRows=this.$.table.tableRows;}
9643if(event.delta.tableRowStates){if(this.tableRows_.length!==this.viewState.tableRowStates.size){throw new Error('Only histogram-set-table may update tableRowStates');}
9644for(const row of this.tableRows_){if(this.viewState.tableRowStates.get(row.name)!==row.viewState){throw new Error('Only histogram-set-table may update tableRowStates');}}}
9645await this.updateContents_();},onSortColumnChanged_(event){tr.b.Timing.instant('histogram-set-table','sortColumn');this.viewState.update({sortColumnIndex:event.sortColumnIndex,sortDescending:event.sortDescending,});},onRequestSelectionChange_(event){if(event.selection instanceof tr.model.EventSet)return;event.stopPropagation();tr.b.Timing.instant('histogram-set-table','selectHistogramNames');let histogramNames=event.selection;histogramNames.sort();histogramNames=histogramNames.map(escapeRegExp).join('|');this.viewState.update({showAll:true,searchQuery:`^(${histogramNames})$`,});},get leafHistograms(){const histograms=new tr.v.HistogramSet();for(const row of
9646tr.v.ui.HistogramSetTableRow.walkAll(this.$.table.tableRows)){if(row.subRows.length)continue;for(const hist of this.columns.values()){if(!(hist instanceof tr.v.Histogram))continue;histograms.addHistogram(hist);}}
9647return histograms;}});return{MIDLINE_HORIZONTAL_ELLIPSIS,};});'use strict';tr.exportTo('tr.v.ui',function(){Polymer({is:'tr-v-ui-histogram-set-view',created(){this.brushingStateController_=new tr.ui.NullBrushingStateController();this.viewState_=new tr.v.ui.HistogramSetViewState();},ready(){this.$.table.viewState=this.viewState;this.$.controls.viewState=this.viewState;this.$.controls.addEventListener('download-csv',this.downloadCSV_.bind(this));},attached(){this.brushingStateController.parentController=tr.c.BrushingStateController.getControllerForElement(this.parentNode);},get brushingStateController(){return this.brushingStateController_;},get viewState(){return this.viewState_;},set helpHref(href){this.$.controls.helpHref=href;},set feedbackHref(href){this.$.controls.feedbackHref=href;},get histograms(){return this.$.table.histograms;},async build(histograms,opt_progress){const progress=opt_progress||(()=>Promise.resolve());if(histograms===undefined||histograms.length===0){this.$.container.style.display='none';this.$.zero.style.display='block';this.style.display='block';return;}
9648this.$.zero.style.display='none';this.$.container.style.display='block';this.$.container.style.maxHeight=(window.innerHeight-16)+'px';const buildMark=tr.b.Timing.mark('histogram-set-view','build');await progress('Finding important Histograms...');const sourceHistogramsMark=tr.b.Timing.mark('histogram-set-view','sourceHistograms');const sourceHistograms=histograms.sourceHistograms;sourceHistogramsMark.end();this.$.controls.showAllEnabled=(sourceHistograms.length!==histograms.length);await progress('Collecting parameters...');const collectParametersMark=tr.b.Timing.mark('histogram-set-view','collectParameters');const parameterCollector=new tr.v.HistogramParameterCollector();parameterCollector.process(histograms);this.$.controls.baseStatisticNames=parameterCollector.statisticNames;this.$.controls.possibleGroupings=parameterCollector.possibleGroupings;const displayLabels=parameterCollector.labels;this.$.controls.displayLabels=displayLabels;collectParametersMark.end();await this.$.table.build(histograms,sourceHistograms,displayLabels,progress);buildMark.end();},downloadCSV_(){const downloadCSVMark=tr.b.Timing.mark('histogram-set-view','downloadCSV');const anchor=document.createElement('a');const path=window.location.pathname.split('/');const basename=path[path.length-1].split('.')[0]||'histograms';anchor.download=basename+'.csv';const csv=new tr.v.CSVBuilder(this.$.table.leafHistograms);csv.build();const blob=new window.Blob([csv.toString()],{type:'text/csv'});anchor.href=window.URL.createObjectURL(blob);anchor.click();downloadCSVMark.end();}});return{};});'use strict';tr.exportTo('tr.ui',function(){Polymer({is:'tr-ui-sp-metrics-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.model_=undefined;this.rangeOfInterest_=undefined;this.metricLatenciesMs_=[];this.metrics_=[];tr.metrics.MetricRegistry.getAllRegisteredTypeInfos().forEach(function(m){if(m.constructor.name==='sampleMetric')return;this.metrics_.push({label:m.constructor.name,value:m.constructor.name});},this);this.settingsKey_='metrics-side-panel-metric-name';this.currentMetricName_='responsivenessMetric';const metricSelector=tr.ui.b.createSelector(this,'currentMetricName_',this.settingsKey_,this.currentMetricName_,this.metrics_);Polymer.dom(this.$.top_left_controls).appendChild(metricSelector);metricSelector.addEventListener('change',this.onMetricChange_.bind(this));this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.recomputeButton_=tr.ui.b.createButton('Recompute',this.onRecompute_,this);Polymer.dom(this.$.top_left_controls).appendChild(this.recomputeButton_);this.$.results.addEventListener('display-ready',()=>{this.$.results.style.display='';});},async build(model){this.model_=model;await this.updateContents_();},get metricLatencyMs(){return tr.b.math.Statistics.mean(this.metricLatenciesMs_);},onMetricChange_(){this.currentMetricTypeInfo_=tr.metrics.MetricRegistry.findTypeInfoWithName(this.currentMetricName_);this.metricLatenciesMs_=[];this.updateContents_();},onRecompute_(){this.updateContents_();},get textLabel(){return'Metrics';},supportsModel(m){if(!m){return{supported:false,reason:'No model available'};}
9649return{supported:true};},get model(){return this.model_;},set model(model){this.build(model);},get selection(){},set selection(_){},get rangeOfInterest(){return this.rangeOfInterest_;},set rangeOfInterest(range){this.rangeOfInterest_=range;if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest){if((this.metricLatencyMs===undefined)||(this.metricLatencyMs<100)){this.updateContents_();}else{this.recomputeButton_.style.background='red';}}},async updateContents_(){Polymer.dom(this.$.error).textContent='';this.$.results.style.display='none';if(!this.model_){Polymer.dom(this.$.error).textContent='Missing model';return;}
9650const options={metrics:[this.currentMetricName_]};if(this.currentMetricTypeInfo_&&this.currentMetricTypeInfo_.metadata.supportsRangeOfInterest&&this.rangeOfInterest&&!this.rangeOfInterest.isEmpty){options.rangeOfInterest=this.rangeOfInterest;}
9651const startDate=new Date();let histograms;try{histograms=tr.metrics.runMetrics(this.model_,options);}catch(err){Polymer.dom(this.$.error).textContent=err.message;return;}
9652this.metricLatenciesMs_.push(new Date()-startDate);while(this.metricLatenciesMs_.length>20){this.metricLatenciesMs_.shift();}
9653this.recomputeButton_.style.background='';await this.$.results.build(histograms);}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-sp-metrics-side-panel');});return{};});'use strict';Polymer({is:'tr-ui-e-s-alerts-side-panel',behaviors:[tr.ui.behaviors.SidePanel],ready(){this.rangeOfInterest_=new tr.b.math.Range();this.selection_=undefined;},get model(){return this.model_;},set model(model){this.model_=model;this.updateContents_();},set selection(selection){},set rangeOfInterest(rangeOfInterest){},selectAlertsOfType(alertTypeString){const alertsOfType=this.model_.alerts.filter(function(alert){return alert.title===alertTypeString;});const event=new tr.model.RequestSelectionChangeEvent();event.selection=new tr.model.EventSet(alertsOfType);this.dispatchEvent(event);},alertsByType_(alerts){const alertsByType={};alerts.forEach(function(alert){if(!alertsByType[alert.title]){alertsByType[alert.title]=[];}
9654alertsByType[alert.title].push(alert);});return alertsByType;},alertsTableRows_(alertsByType){return Object.keys(alertsByType).map(function(key){return{alertType:key,count:alertsByType[key].length};});},alertsTableColumns_(){return[{title:'Alert type',value(row){return row.alertType;},width:'180px'},{title:'Count',width:'100%',value(row){return row.count;}}];},createAlertsTable_(alerts){const alertsByType=this.alertsByType_(alerts);const table=document.createElement('tr-ui-b-table');table.tableColumns=this.alertsTableColumns_();table.tableRows=this.alertsTableRows_(alertsByType);table.selectionMode=tr.ui.b.TableFormat.SelectionMode.ROW;table.addEventListener('selection-changed',function(e){const row=table.selectedTableRow;if(row){this.selectAlertsOfType(row.alertType);}}.bind(this));return table;},updateContents_(){Polymer.dom(this.$.result_area).textContent='';if(this.model_===undefined)return;const panel=this.createAlertsTable_(this.model_.alerts);Polymer.dom(this.$.result_area).appendChild(panel);},supportsModel(m){if(m===undefined){return{supported:false,reason:'Unknown tracing model'};}else if(m.alerts.length===0){return{supported:false,reason:'No alerts in tracing model'};}
9655return{supported:true};},get textLabel(){return'Alerts';}});tr.ui.side_panel.SidePanelRegistry.register(function(){return document.createElement('tr-ui-e-s-alerts-side-panel');});
9656</script>
9657<!--CATAPULT_REV=NO_AUTO_UPDATE-->
9658</head>
9659<body>
9660  <tr-ui-timeline-view>
9661    <track-view-container id='track_view_container'></track-view-container>
9662  </tr-ui-timeline-view>
9663
9664  <script>
9665  'use strict';
9666  var timelineViewEl;
9667
9668  function onLoad() {
9669    timelineViewEl = document.querySelector('tr-ui-timeline-view');
9670    timelineViewEl.globalMode = true;
9671
9672    var traceDataEls = document.body.querySelectorAll('.trace-data');
9673    var traces = [];
9674    for (var i = 0; i < traceDataEls.length; i++) {
9675      var traceText = traceDataEls[i].textContent;
9676      // Remove the leading newline.
9677      traceText = traceText.substring(1);
9678      traces.push(traceText);
9679    }
9680
9681    var m = new tr.Model();
9682    var i = new tr.importer.Import(m);
9683    var p = i.importTracesWithProgressDialog(traces);
9684    p.then(
9685      function() {
9686        timelineViewEl.model = m;
9687        timelineViewEl.updateDocumentFavicon();
9688        timelineViewEl.globalMode = true;
9689        timelineViewEl.viewTitle = 'Android System Trace';
9690      },
9691      function(err) {
9692        var overlay = new tr.ui.b.Overlay();
9693        overlay.textContent = tr.b.normalizeException(err).message;
9694        overlay.title = 'Import error';
9695        overlay.visible = true;
9696      });
9697  }
9698  window.addEventListener('load', onLoad);
9699  </script>
9700<!-- BEGIN TRACE -->
9701  <script class="trace-data" type="application/text">
9702PROCESS DUMP
9703USER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM
9704root             1     0   13628   1896 SyS_epoll_wait 4fea4c S init            init
9705root             2     0       0      0 kthreadd 0 S [kthreadd]                 2
9706root             3     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/0]     3
9707root             5     2       0      0 worker_thread 0 S [kworker/0:0H]        5
9708root             7     2       0      0 rcu_gp_kthread 0 S [rcu_preempt]        7
9709root             8     2       0      0 rcu_gp_kthread 0 S [rcu_sched]          8
9710root             9     2       0      0 rcu_gp_kthread 0 S [rcu_bh]             9
9711root            10     2       0      0 rcu_nocb_kthread 0 S [rcuop/0]          1
9712root            11     2       0      0 rcu_nocb_kthread 0 S [rcuos/0]          1
9713root            12     2       0      0 rcu_nocb_kthread 0 S [rcuob/0]          1
9714root            13     2       0      0 smpboot_thread_fn 0 S [migration/0]     1
9715root            14     2       0      0 smpboot_thread_fn 0 S [watchdog/0]      1
9716root            15     2       0      0 smpboot_thread_fn 0 S [watchdog/1]      1
9717root            16     2       0      0 smpboot_thread_fn 0 S [migration/1]     1
9718root            17     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/1]     1
9719root            19     2       0      0 worker_thread 0 S [kworker/1:0H]        1
9720root            20     2       0      0 rcu_nocb_kthread 0 S [rcuop/1]          2
9721root            21     2       0      0 rcu_nocb_kthread 0 S [rcuos/1]          2
9722root            22     2       0      0 rcu_nocb_kthread 0 S [rcuob/1]          2
9723root            23     2       0      0 smpboot_thread_fn 0 S [watchdog/2]      2
9724root            24     2       0      0 smpboot_thread_fn 0 S [migration/2]     2
9725root            25     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/2]     2
9726root            27     2       0      0 worker_thread 0 S [kworker/2:0H]        2
9727root            28     2       0      0 rcu_nocb_kthread 0 S [rcuop/2]          2
9728root            29     2       0      0 rcu_nocb_kthread 0 S [rcuos/2]          2
9729root            30     2       0      0 rcu_nocb_kthread 0 S [rcuob/2]          3
9730root            31     2       0      0 smpboot_thread_fn 0 S [watchdog/3]      3
9731root            32     2       0      0 smpboot_thread_fn 0 S [migration/3]     3
9732root            33     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/3]     3
9733root            35     2       0      0 worker_thread 0 S [kworker/3:0H]        3
9734root            36     2       0      0 rcu_nocb_kthread 0 S [rcuop/3]          3
9735root            37     2       0      0 rcu_nocb_kthread 0 S [rcuos/3]          3
9736root            38     2       0      0 rcu_nocb_kthread 0 S [rcuob/3]          3
9737root            39     2       0      0 smpboot_thread_fn 0 S [watchdog/4]      3
9738root            40     2       0      0 smpboot_thread_fn 0 S [migration/4]     4
9739root            41     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/4]     4
9740root            43     2       0      0 worker_thread 0 S [kworker/4:0H]        4
9741root            44     2       0      0 rcu_nocb_kthread 0 S [rcuop/4]          4
9742root            45     2       0      0 rcu_nocb_kthread 0 S [rcuos/4]          4
9743root            46     2       0      0 rcu_nocb_kthread 0 S [rcuob/4]          4
9744root            47     2       0      0 smpboot_thread_fn 0 S [watchdog/5]      4
9745root            48     2       0      0 smpboot_thread_fn 0 S [migration/5]     4
9746root            49     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/5]     4
9747root            51     2       0      0 worker_thread 0 S [kworker/5:0H]        5
9748root            52     2       0      0 rcu_nocb_kthread 0 S [rcuop/5]          5
9749root            53     2       0      0 rcu_nocb_kthread 0 S [rcuos/5]          5
9750root            54     2       0      0 rcu_nocb_kthread 0 S [rcuob/5]          5
9751root            55     2       0      0 smpboot_thread_fn 0 S [watchdog/6]      5
9752root            56     2       0      0 smpboot_thread_fn 0 S [migration/6]     5
9753root            57     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/6]     5
9754root            59     2       0      0 worker_thread 0 S [kworker/6:0H]        5
9755root            60     2       0      0 rcu_nocb_kthread 0 S [rcuop/6]          6
9756root            61     2       0      0 rcu_nocb_kthread 0 S [rcuos/6]          6
9757root            62     2       0      0 rcu_nocb_kthread 0 S [rcuob/6]          6
9758root            63     2       0      0 smpboot_thread_fn 0 S [watchdog/7]      6
9759root            64     2       0      0 smpboot_thread_fn 0 S [migration/7]     6
9760root            65     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/7]     6
9761root            67     2       0      0 worker_thread 0 S [kworker/7:0H]        6
9762root            68     2       0      0 rcu_nocb_kthread 0 S [rcuop/7]          6
9763root            69     2       0      0 rcu_nocb_kthread 0 S [rcuos/7]          6
9764root            70     2       0      0 rcu_nocb_kthread 0 S [rcuob/7]          7
9765root            71     2       0      0 rescuer_thread 0 S [netns]              7
9766root            72     2       0      0 rescuer_thread 0 S [perf]               7
9767root            73     2       0      0 rescuer_thread 0 S [smd_channel_clo]    7
9768root            74     2       0      0 kthread_worker_fn 0 S [dsps_smd_trans_] 7
9769root            75     2       0      0 kthread_worker_fn 0 S [lpass_smd_trans] 7
9770root            76     2       0      0 kthread_worker_fn 0 S [mpss_smd_trans_] 7
9771root            77     2       0      0 kthread_worker_fn 0 S [wcnss_smd_trans] 7
9772root            78     2       0      0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7
9773root            79     2       0      0 rescuer_thread 0 S [ipa_usb_wq]         7
9774root            81     2       0      0 kthread_worker_fn 0 S [smem_native_mps] 8
9775root            82     2       0      0 kthread_worker_fn 0 S [mpss_smem_glink] 8
9776root            83     2       0      0 kthread_worker_fn 0 S [smem_native_lpa] 8
9777root            84     2       0      0 kthread_worker_fn 0 S [lpass_smem_glin] 8
9778root            85     2       0      0 kthread_worker_fn 0 S [smem_native_dsp] 8
9779root            86     2       0      0 kthread_worker_fn 0 S [dsps_smem_glink] 8
9780root            87     2       0      0 kthread_worker_fn 0 S [smem_native_rpm] 8
9781root            88     2       0      0 kthread_worker_fn 0 S [rpm_smem_glink_] 8
9782root            89     2       0      0 kthread_worker_fn 0 S [smem_native_sps] 8
9783root            90     2       0      0 kthread_worker_fn 0 S [spss_mailbox_gl] 9
9784root            91     2       0      0 watchdog_kthread 0 S [msm_watchdog]     9
9785root            92     2       0      0 rescuer_thread 0 S [deferwq]            9
9786root            93     2       0      0 msm_mpm_work_fn 0 D [kworker/u16:1]     9
9787root            94     2       0      0 irq_thread 0 S [irq/126-cpr3]           9
9788root            95     2       0      0 rescuer_thread 0 S [mpm]                9
9789root            97     2       0      0 watchdog 0 S [khungtaskd]               9
9790root            98     2       0      0 rescuer_thread 0 S [writeback]          9
9791root            99     2       0      0 kcompactd 0 S [kcompactd0]              9
9792root           100     2       0      0 rescuer_thread 0 S [crypto]             1
9793root           101     2       0      0 rescuer_thread 0 S [bioset]             1
9794root           102     2       0      0 rescuer_thread 0 S [kblockd]            1
9795root           103     2       0      0 rescuer_thread 0 S [md]                 1
9796root           104     2       0      0 rescuer_thread 0 S [edac-poller]        1
9797root           105     2       0      0 ion_heap_deferred_free 0 S [system]     1
9798root           106     2       0      0 ion_heap_deferred_free 0 S [easel_mem]  1
9799root           107     2       0      0 rescuer_thread 0 S [devfreq_wq]         1
9800root           108     2       0      0 rescuer_thread 0 S [governor_msm_ad]    1
9801root           110     2       0      0 rescuer_thread 0 S [cfg80211]           1
9802root           111     2       0      0 irq_thread 0 S [irq/134-arm-smm]        1
9803root           112     2       0      0 rescuer_thread 0 S [ipa_power_mgmt]     1
9804root           113     2       0      0 rescuer_thread 0 S [transport_power]    1
9805root           114     2       0      0 rescuer_thread 0 S [ipa_rm_wq]          1
9806root           115     2       0      0 rescuer_thread 0 S [ipa_interrupt_w]    1
9807root           116     2       0      0 irq_thread 0 S [irq/135-arm-smm]        1
9808root           117     2       0      0 irq_thread 0 S [irq/136-arm-smm]        1
9809root           118     2       0      0 irq_thread 0 S [irq/61-bcl_vbat]        1
9810root           119     2       0      0 irq_thread 0 S [irq/60-bcl_ibat]        1
9811root           145     2       0      0 rescuer_thread 0 S [power_off_alarm]    1
9812root           146     2       0      0 kswapd  0 S [kswapd0]                   1
9813root           147     2       0      0 rescuer_thread 0 S [vmstat]             1
9814root           148     2       0      0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1
9815root           180     2       0      0 rescuer_thread 0 S [ad_calc_wq]         1
9816root           181     2       0      0 dsi_event_thread 0 D [mdss_dsi_event]   1
9817root           182     2       0      0 rescuer_thread 0 S [mdss_dsi_dba]       1
9818root           183     2       0      0 rescuer_thread 0 S [cwb_wq]             1
9819root           184     2       0      0 kthread_worker_fn 0 S [vsync_retire_wo] 1
9820root           185     2       0      0 rescuer_thread 0 S [cwb_wq]             1
9821root           187     2       0      0 rescuer_thread 0 S [glink_ssr_wq]       1
9822root           188     2       0      0 rescuer_thread 0 S [glink_lbsrv]        1
9823root           189     2       0      0 kthread_worker_fn 0 S [spi_wdsp]        1
9824root           190     2       0      0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1
9825root           191     2       0      0 rescuer_thread 0 S [glink_xprt_wq]      1
9826root           192     2       0      0 rescuer_thread 0 S [IPCRTR_mpss_sme]    1
9827root           193     2       0      0 rescuer_thread 0 S [IPCRTR_lpass_sm]    1
9828root           194     2       0      0 rescuer_thread 0 S [IPCRTR_dsps_sme]    1
9829root           195     2       0      0 rescuer_thread 0 S [apr_driver]         1
9830root           196     2       0      0 rescuer_thread 0 S [glink_pkt_wq]       1
9831root           198     2       0      0 rescuer_thread 0 S [mem_share_svc]      1
9832root           199     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
9833root           200     2       0      0 rescuer_thread 0 S [msm_ipc_router]     2
9834root           201     2       0      0 irq_thread 0 S [irq/137-arm-smm]        2
9835root           202     2       0      0 rescuer_thread 0 S [qmi_svc_event_w]    2
9836root           203     2       0      0 rescuer_thread 0 S [servloc_wq]         2
9837root           204     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9838root           205     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9839root           206     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9840root           207     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
9841root           208     2       0      0 rescuer_thread 0 S [k_hsuart]           2
9842root           209     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
9843root           210     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
9844root           211     2       0      0 add_hwgenerator_randomness 0 S [hwrng]  2
9845root           213     2       0      0 rescuer_thread 0 S [diag_real_time_]    2
9846root           214     2       0      0 rescuer_thread 0 S [diag_wq]            2
9847root           215     2       0      0 rescuer_thread 0 S [DIAG_USB_diag]      2
9848root           216     2       0      0 rescuer_thread 0 S [diag_cntl_wq]       2
9849root           217     2       0      0 rescuer_thread 0 S [diag_dci_wq]        2
9850root           218     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9851root           219     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9852root           220     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9853root           221     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9854root           222     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
9855root           223     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9856root           224     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9857root           225     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9858root           226     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9859root           227     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
9860root           228     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9861root           229     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9862root           230     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9863root           231     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9864root           232     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
9865root           233     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9866root           234     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9867root           235     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9868root           236     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9869root           237     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
9870root           238     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
9871root           239     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9872root           240     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
9873root           241     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9874root           242     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
9875root           243     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
9876root           244     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9877root           245     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
9878root           246     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9879root           247     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
9880root           248     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9881root           249     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9882root           250     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9883root           251     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9884root           252     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
9885root           253     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9886root           254     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9887root           255     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9888root           256     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9889root           257     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
9890root           258     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9891root           259     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9892root           260     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9893root           261     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9894root           262     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
9895root           263     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9896root           264     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9897root           265     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9898root           266     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9899root           267     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
9900root           268     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
9901root           269     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9902root           270     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
9903root           271     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9904root           272     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
9905root           273     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
9906root           274     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9907root           275     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
9908root           276     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9909root           277     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
9910root           278     2       0      0 rescuer_thread 0 S [DIAG_CNTL_SOCKE]    2
9911root           279     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9912root           280     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9913root           281     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9914root           282     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9915root           283     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
9916root           284     2       0      0 rescuer_thread 0 S [kgsl-workqueue]     2
9917root           285     2       0      0 rescuer_thread 0 S [kgsl-mementry]      2
9918root           286     2       0      0 kthread_worker_fn 0 S [kgsl_worker_thr] 2
9919root           287     2       0      0 rescuer_thread 0 S [kgsl-events]        2
9920root           288     2       0      0 rescuer_thread 0 S [kgsl_devfreq_wq]    2
9921root           289     2       0      0 rescuer_thread 0 S [bioset]             2
9922root           290     2       0      0 rescuer_thread 0 S [bioset]             2
9923root           291     2       0      0 rescuer_thread 0 S [bioset]             2
9924root           292     2       0      0 rescuer_thread 0 S [bioset]             2
9925root           293     2       0      0 rescuer_thread 0 S [bioset]             2
9926root           294     2       0      0 rescuer_thread 0 S [bioset]             2
9927root           295     2       0      0 rescuer_thread 0 S [bioset]             2
9928root           296     2       0      0 rescuer_thread 0 S [bioset]             2
9929root           297     2       0      0 rescuer_thread 0 S [bioset]             2
9930root           298     2       0      0 rescuer_thread 0 S [bioset]             2
9931root           299     2       0      0 rescuer_thread 0 S [bioset]             2
9932root           300     2       0      0 rescuer_thread 0 S [bioset]             3
9933root           301     2       0      0 rescuer_thread 0 S [bioset]             3
9934root           302     2       0      0 rescuer_thread 0 S [bioset]             3
9935root           304     2       0      0 rescuer_thread 0 S [bioset]             3
9936root           305     2       0      0 rescuer_thread 0 S [bioset]             3
9937root           306     2       0      0 rescuer_thread 0 S [bioset]             3
9938root           307     2       0      0 rescuer_thread 0 S [bioset]             3
9939root           308     2       0      0 rescuer_thread 0 S [bioset]             3
9940root           309     2       0      0 rescuer_thread 0 S [bioset]             3
9941root           310     2       0      0 rescuer_thread 0 S [bioset]             3
9942root           311     2       0      0 rescuer_thread 0 S [bioset]             3
9943root           312     2       0      0 rescuer_thread 0 S [bioset]             3
9944root           313     2       0      0 rescuer_thread 0 S [bioset]             3
9945root           314     2       0      0 rescuer_thread 0 S [bioset]             3
9946root           315     2       0      0 irq_thread 0 S [irq/286-soc:fp_]        3
9947root           316     2       0      0 rescuer_thread 0 S [memory_wq]          3
9948root           317     2       0      0 rescuer_thread 0 S [qcrypto_seq_res]    3
9949root           318     2       0      0 scsi_error_handler 0 S [scsi_eh_0]      3
9950root           319     2       0      0 rescuer_thread 0 S [scsi_tmf_0]         3
9951root           320     2       0      0 rescuer_thread 0 S [ufs_pm_qos_0]       3
9952root           321     2       0      0 rescuer_thread 0 S [ufs_clk_ungatin]    3
9953root           322     2       0      0 rescuer_thread 0 S [ufs_clkscaling_]    3
9954root           323     2       0      0 kthread_worker_fn 0 S [spi1]            3
9955root           325     2       0      0 kthread_worker_fn 0 S [spi2]            3
9956root           326     2       0      0 kthread_worker_fn 0 S [spi10]           3
9957root           327     2       0      0 rescuer_thread 0 S [bond0]              3
9958root           329     2       0      0 rescuer_thread 0 S [sharedmem_qmi_w]    3
9959root           330     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    3
9960root           331     2       0      0 diag_socket_read 0 S [kworker/u16:3]    3
9961root           335     2       0      0 rescuer_thread 0 S [uether]             3
9962root           336     2       0      0 rescuer_thread 0 S [k_ipa_usb]          3
9963root           340     2       0      0 worker_thread 0 S [kworker/u17:0]       3
9964root           341     2       0      0 irq_thread 0 S [irq/262-vl53l0_]        3
9965root           342     2       0      0 rescuer_thread 0 S [bioset]             3
9966root           343     2       0      0 rescuer_thread 0 S [bioset]             3
9967root           344     2       0      0 rescuer_thread 0 S [bioset]             3
9968root           345     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
9969root           346     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
9970root           347     2       0      0 rescuer_thread 0 S [bioset]             3
9971root           348     2       0      0 rescuer_thread 0 S [bioset]             3
9972root           349     2       0      0 rescuer_thread 0 S [bioset]             3
9973root           350     2       0      0 rescuer_thread 0 S [bioset]             3
9974root           351     2       0      0 rescuer_thread 0 S [bioset]             3
9975root           352     2       0      0 rescuer_thread 0 S [bioset]             3
9976root           354     2       0      0 rescuer_thread 0 S [msm_cpp_workque]    3
9977root           357     2       0      0 rescuer_thread 0 S [msm_vidc_worker]    3
9978root           358     2       0      0 rescuer_thread 0 S [pm_workerq_venu]    3
9979root           359     2       0      0 irq_thread 0 S [irq/158-arm-smm]        3
9980root           360     2       0      0 irq_thread 0 S [irq/159-arm-smm]        3
9981root           361     2       0      0 irq_thread 0 S [irq/160-arm-smm]        3
9982root           362     2       0      0 irq_thread 0 S [irq/161-arm-smm]        3
9983root           363     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_0] 3
9984root           364     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_1] 3
9985root           365     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_0]   3
9986root           366     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_1]   3
9987root           368     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 3
9988root           369     2       0      0 irq_thread 0 S [irq/500-chg-err]        3
9989root           370     2       0      0 irq_thread 0 S [irq/501-chg-sta]        3
9990root           371     2       0      0 irq_thread 0 S [irq/502-step-ch]        3
9991root           372     2       0      0 irq_thread 0 S [irq/503-step-ch]        3
9992root           373     2       0      0 irq_thread 0 S [irq/504-step-ch]        3
9993root           374     2       0      0 irq_thread 0 S [irq/505-otg-fai]        3
9994root           375     2       0      0 irq_thread 0 S [irq/506-otg-ove]        3
9995root           376     2       0      0 irq_thread 0 S [irq/507-otg-oc-]        3
9996root           377     2       0      0 irq_thread 0 S [irq/508-testmod]        3
9997root           378     2       0      0 irq_thread 0 S [irq/509-bat-tem]        3
9998root           379     2       0      0 irq_thread 0 S [irq/510-bat-ocp]        3
9999root           380     2       0      0 irq_thread 0 S [irq/511-bat-ov]         3
10000root           381     2       0      0 irq_thread 0 S [irq/512-bat-low]        3
10001root           382     2       0      0 irq_thread 0 S [irq/513-bat-the]        3
10002root           383     2       0      0 irq_thread 0 S [irq/514-bat-ter]        3
10003root           384     2       0      0 irq_thread 0 S [irq/515-usbin-c]        3
10004root           385     2       0      0 irq_thread 0 S [irq/516-usbin-l]        3
10005root           386     2       0      0 irq_thread 0 S [irq/517-usbin-u]        3
10006root           387     2       0      0 irq_thread 0 S [irq/518-usbin-o]        3
10007root           388     2       0      0 irq_thread 0 S [irq/519-usbin-p]        3
10008root           389     2       0      0 irq_thread 0 S [irq/520-usbin-s]        3
10009root           390     2       0      0 irq_thread 0 S [irq/521-usbin-i]        3
10010root           391     2       0      0 irq_thread 0 S [irq/522-type-c-]        3
10011root           392     2       0      0 irq_thread 0 S [irq/523-dcin-co]        3
10012root           393     2       0      0 irq_thread 0 S [irq/524-dcin-lt]        3
10013root           394     2       0      0 irq_thread 0 S [irq/525-dcin-uv]        3
10014root           395     2       0      0 irq_thread 0 S [irq/526-dcin-ov]        3
10015root           396     2       0      0 irq_thread 0 S [irq/527-dcin-pl]        3
10016root           397     2       0      0 irq_thread 0 S [irq/528-div2-en]        3
10017root           398     2       0      0 irq_thread 0 S [irq/529-dcin-ic]        3
10018root           399     2       0      0 irq_thread 0 S [irq/532-aicl-fa]        3
10019root           400     2       0      0 irq_thread 0 S [irq/533-aicl-do]        4
10020root           401     2       0      0 irq_thread 0 S [irq/534-high-du]        4
10021root           402     2       0      0 irq_thread 0 S [irq/535-input-c]        4
10022root           403     2       0      0 irq_thread 0 S [irq/536-tempera]        4
10023root           404     2       0      0 irq_thread 0 S [irq/537-switche]        4
10024root           405     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10025root           406     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10026root           408     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10027root           409     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10028root           410     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10029root           411     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10030root           412     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10031root           413     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10032root           414     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10033root           415     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10034root           416     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10035root           417     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10036root           418     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10037root           419     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10038root           420     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10039root           421     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10040root           422     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10041root           423     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10042root           424     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10043root           425     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10044root           426     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10045root           427     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10046root           428     2       0      0 irq_thread 0 S [irq/59-tsens_in]        4
10047root           429     2       0      0 irq_thread 0 S [irq/62-tsens_cr]        4
10048root           430     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10049root           431     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10050root           432     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10051root           433     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10052root           434     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10053root           435     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10054root           436     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10055root           437     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10056root           438     2       0      0 irq_thread 0 S [irq/63-tsens_in]        4
10057root           439     2       0      0 irq_thread 0 S [irq/64-tsens_cr]        4
10058root           440     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10059root           441     2       0      0 irq_thread 0 S [irq/366-limits_]        4
10060root           442     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10061root           443     2       0      0 irq_thread 0 S [irq/367-limits_]        4
10062root           444     2       0      0 rescuer_thread 0 S [dm_bufio_cache]     4
10063root           445     2       0      0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4
10064root           446     2       0      0 irq_thread 0 S [irq/291-bcm1560]        4
10065root           447     2       0      0 irq_thread 0 S [irq/226-bcm1560]        4
10066root           449     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10067root           450     2       0      0 irq_thread 0 S [irq/197-spdm_bw]        4
10068root           451     2       0      0 rescuer_thread 0 S [binder]             4
10069root           452     2       0      0 irq_thread 0 S [irq/144-arm-smm]        4
10070root           453     2       0      0 rescuer_thread 0 S [uaudio_svc]         4
10071root           454     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    4
10072root           455     2       0      0 rescuer_thread 0 S [ipv6_addrconf]      4
10073root           457     2       0      0 irq_thread 0 S [irq/574-adsp]           4
10074root           458     2       0      0 rescuer_thread 0 S [sysmon_wq]          4
10075root           459     2       0      0 irq_thread 0 S [irq/606-slpi]           4
10076root           460     2       0      0 irq_thread 0 S [irq/542-modem]          4
10077root           464     2       0      0 rescuer_thread 0 S [usb_bam_wq]         4
10078root           465     2       0      0 irq_thread 0 S [irq/19-sig-tx]          4
10079root           466     2       0      0 irq_thread 0 S [irq/20-sig-rx]          4
10080root           467     2       0      0 irq_thread 0 S [irq/22-msg-rx]          4
10081root           468     2       0      0 rescuer_thread 0 S [usbpd0]             4
10082root           469     2       0      0 rescuer_thread 0 S [usbpd0]             4
10083root           474     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
10084root           475     2       0      0 irq_thread 0 S [irq/734-soc-upd]        4
10085root           476     2       0      0 irq_thread 0 S [irq/735-soc-rea]        4
10086root           477     2       0      0 irq_thread 0 S [irq/736-bsoc-de]        4
10087root           478     2       0      0 irq_thread 0 S [irq/737-msoc-de]        4
10088root           479     2       0      0 irq_thread 0 S [irq/738-msoc-lo]        4
10089root           480     2       0      0 irq_thread 0 S [irq/739-msoc-em]        4
10090root           481     2       0      0 irq_thread 0 S [irq/740-msoc-hi]        4
10091root           482     2       0      0 irq_thread 0 S [irq/741-msoc-fu]        4
10092root           483     2       0      0 irq_thread 0 S [irq/742-vbatt-p]        4
10093root           484     2       0      0 irq_thread 0 S [irq/743-vbatt-l]        4
10094root           485     2       0      0 irq_thread 0 S [irq/744-esr-del]        4
10095root           486     2       0      0 irq_thread 0 S [irq/745-batt-mi]        4
10096root           487     2       0      0 irq_thread 0 S [irq/746-batt-te]        4
10097root           488     2       0      0 irq_thread 0 S [irq/747-ima-rdy]        4
10098root           489     2       0      0 irq_thread 0 S [irq/748-mem-xcp]        4
10099root           490     2       0      0 irq_thread 0 S [irq/749-dma-gra]        4
10100root           492     2       0      0 irq_thread 0 S [irq/54-hs_phy_i]        4
10101root           493     2       0      0 irq_thread 0 S [irq/55-ss_phy_i]        4
10102root           494     2       0      0 irq_thread 0 S [irq/56-msm_dwc3]        4
10103root           496     2       0      0 irq_thread 0 S [irq/36-ARM64 pr]        4
10104root           497     2       0      0 irq_thread 0 S [irq/37-ARM64 se]        4
10105root           498     2       0      0 irq_thread 0 S [irq/39-ARM64 pr]        4
10106root           499     2       0      0 irq_thread 0 S [irq/40-ARM64 se]        4
10107root           500     2       0      0 rescuer_thread 0 S [rq_stats]           5
10108root           501     2       0      0 irq_thread 0 S [irq/145-arm-smm]        5
10109root           502     2       0      0 irq_thread 0 S [irq/146-arm-smm]        5
10110root           503     2       0      0 irq_thread 0 S [irq/147-arm-smm]        5
10111root           504     2       0      0 irq_thread 0 S [irq/148-arm-smm]        5
10112root           505     2       0      0 irq_thread 0 S [irq/149-arm-smm]        5
10113root           506     2       0      0 irq_thread 0 S [irq/150-arm-smm]        5
10114root           507     2       0      0 irq_thread 0 S [irq/151-arm-smm]        5
10115root           508     2       0      0 irq_thread 0 S [irq/152-arm-smm]        5
10116root           509     2       0      0 kthread_worker_fn 0 S [set_state_work]  5
10117root           510     2       0      0 irq_thread 0 S [irq/227-mnh-rea]        5
10118root           512     2       0      0 irq_thread 0 S [irq/751-mnh_pci]        5
10119root           513     2       0      0 irq_thread 0 S [irq/752-mnh_pci]        5
10120root           514     2       0      0 irq_thread 0 S [irq/753-mnh_pci]        5
10121root           515     2       0      0 irq_thread 0 S [irq/754-mnh_pci]        5
10122root           516     2       0      0 irq_thread 0 S [irq/755-mnh_pci]        5
10123root           517     2       0      0 irq_thread 0 S [irq/758-mnh_pci]        5
10124root           518     2       0      0 irq_thread 0 S [irq/759-mnh_pci]        5
10125root           519     2       0      0 irq_thread 0 S [irq/128-arm-smm]        5
10126root           520     2       0      0 rescuer_thread 0 S [sb-1]               5
10127root           521     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5
10128root           522     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl1]  5
10129root           523     2       0      0 rescuer_thread 0 S [sb-3]               5
10130root           524     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5
10131root           525     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl3]  5
10132root           526     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10133root           527     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10134root           528     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
10135root           529     2       0      0 irq_thread 0 S [irq/66-lmh-inte]        5
10136root           530     2       0      0 irq_thread 0 S [irq/28-qpnp_fla]        5
10137root           531     2       0      0 irq_thread 0 S [irq/27-qpnp_fla]        5
10138root           532     2       0      0 irq_thread 0 S [irq/26-qpnp_fla]        5
10139root           534     2       0      0 rescuer_thread 0 S [kdmflush]           5
10140root           535     2       0      0 rescuer_thread 0 S [bioset]             5
10141root           536     2       0      0 rescuer_thread 0 S [kverityd]           5
10142root           537     2       0      0 rescuer_thread 0 S [bioset]             5
10143root           538     2       0      0 rescuer_thread 0 S [bioset]             5
10144root           539     2       0      0 rescuer_thread 0 S [bioset]             5
10145root           540     2       0      0 worker_thread 0 S [kworker/6:1H]        5
10146root           541     2       0      0 worker_thread 0 S [kworker/5:1H]        5
10147root           542     2       0      0 worker_thread 0 S [kworker/7:1H]        5
10148root           543     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10149root           544     2       0      0 worker_thread 0 S [kworker/0:1H]        5
10150root           546     2       0      0 rescuer_thread 0 S [kdmflush]           5
10151root           547     2       0      0 rescuer_thread 0 S [bioset]             5
10152root           548     2       0      0 rescuer_thread 0 S [kverityd]           5
10153root           549     2       0      0 rescuer_thread 0 S [bioset]             5
10154root           550     2       0      0 rescuer_thread 0 S [bioset]             5
10155root           551     2       0      0 rescuer_thread 0 S [bioset]             5
10156root           552     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10157root           553     2       0      0 kjournald2 0 S [jbd2/sdd3-8]            5
10158root           554     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
10159root           555     2       0      0 worker_thread 0 S [kworker/4:1H]        5
10160root           556     1    6076   1104 do_sys_poll 4ebb24 S ueventd            init
10161root           558     2       0      0 worker_thread 0 S [kworker/1:1H]        5
10162root           562     2       0      0 irq_thread 0 S [irq/760-synapti]        5
10163root           563     2       0      0 rescuer_thread 0 S [dsx_rebuild_wor]    5
10164root           564     2       0      0 rescuer_thread 0 S [dsx_exp_workque]    5
10165root           569     2       0      0 rescuer_thread 0 S [batt_timer]         5
10166system         580     1   18208   3880 do_wait 76433335ac S qseecomd           qseecomd
10167root           581     2       0      0 kthread_worker_fn 0 S [sugov:0]         5
10168root           582     2       0      0 kthread_worker_fn 0 S [sugov:4]         5
10169system         584     1   14444   3576 SyS_epoll_wait 7da535046c S hwservicemanager hwservicemanager
10170logd           585     1   28332  12264 SyS_rt_sigsuspend 7cb57f2634 S logd     logd
10171system         586     1   10460   1876 binder_ioctl_write_read 764d1c655c S servicemanager servicemanager
10172system         587     1   11192   1912 binder_ioctl_write_read 7054fb855c S vndservicemanager vndservicemanager
10173root           588     2       0      0 diag_socket_read 0 S [kworker/u16:8]    5
10174root           594     2       0      0 kauditd_thread 0 S [kauditd]            5
10175system         597   580   28240    928 SyS_rt_sigsuspend 7643332634 S qseecomd qseecomd
10176root           606     1   13352   2320 binder_ioctl_write_read 78b565355c S android.hardware.boot@1.0-service android.hardware.boot@1.0-service
10177system         607     1   14464   2432 binder_ioctl_write_read 70106ed55c S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti
10178system         608     1   14640   2972 binder_ioctl_write_read 79bd92a55c S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti
10179system         610     1   72936  20336 SyS_epoll_wait 796c90946c S surfaceflinger surfaceflinger
10180system         612     1   39400   7656 binder_ioctl_write_read 7cbc3fc55c S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service
10181system         613     1   17476   2436 binder_ioctl_write_read 7f5b86a55c S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service
10182system         614     1   20296   3036 binder_ioctl_write_read 74c594755c S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service
10183root           631     2       0      0 __mdss_fb_display_thread 0 D [mdss_fb0] 6
10184root           632     2       0      0 kjournald2 0 S [jbd2/sda45-8]           6
10185root           633     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    6
10186system         637     1   22364   1916 futex_wait_queue_me 7dcac734b0 S time_daemon time_daemon
10187root           638     1   21416   3408 SyS_rt_sigsuspend 732bdba634 S vold     vold
10188root           645     2       0      0 irq_thread 0 S [irq/177-arm-smm]        6
10189root           646     2       0      0 irq_thread 0 S [irq/178-arm-smm]        6
10190root           657     2       0      0 rescuer_thread 0 S [fwu_workqueue]      6
10191root           658     2       0      0 rescuer_thread 0 S [dsps_IPCRTR]        6
10192root           660     2       0      0 rescuer_thread 0 S [lpass_IPCRTR]       6
10193root           688     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10194root           689     1   37212   4548 binder_ioctl_write_read 78c2f7455c S netd netd
10195root           690     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10196root           691     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
10197root           692     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
10198root           693     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10199root           694     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
10200root           717     1 4200712  66796 do_sys_poll 70d91f358c S zygote64       app_process64
10201root           719     1 1543884  62228 do_sys_poll e5d62024 S zygote           app_process32
10202root           720     2       0      0 rescuer_thread 0 S [cds_recovery_wo]    7
10203system         732     1   12100   2476 binder_ioctl_write_read 7e7cef455c S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service
10204system         733     1   20152   3336 binder_ioctl_write_read 77d30d355c S vr_hwc vr_hwc
10205audioserver    734     1   30784  10664 binder_ioctl_write_read f16a2f8c S android.hardware.audio@2.0-service android.hardware.audio@2.0-service
10206bluetooth      735     1   13272   2688 binder_ioctl_write_read 75f1cf455c S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service
10207cameraserver   736     1  145776  47652 binder_ioctl_write_read ec5d4f8c S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service
10208media          737     1    9672   2988 binder_ioctl_write_read eed09f8c S android.hardware.cas@1.0-service android.hardware.cas@1.0-service
10209system         738     1   16452   3112 binder_ioctl_write_read 7b4e9ff55c S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service
10210media          739     1   12676   3760 binder_ioctl_write_read ea599f8c S android.hardware.drm@1.0-service android.hardware.drm@1.0-service
10211media          740     1   15696   5020 binder_ioctl_write_read ea5e6f8c S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine
10212system         741     1   13168   2704 binder_ioctl_write_read 79193c255c S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo
10213gps            742     1   36240   6512 binder_ioctl_write_read 7c70a8355c S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti
10214system         743     1   13184   2964 binder_ioctl_write_read 7ea308955c S android.hardware.light@2.0-service android.hardware.light@2.0-service
10215root           744     2       0      0 diag_socket_read 0 S [kworker/u16:11]   7
10216system         745     1   13180   2924 binder_ioctl_write_read 758882b55c S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service
10217nfc            746     1   15692   3128 binder_ioctl_write_read 744f77d55c S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service
10218system         747     1   13196   2860 binder_ioctl_write_read 750442e55c S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service
10219root           750     1   10756   1940 __skb_recv_datagram 73a9d3440c S oemlock-bridge oemlock-bridge
10220system         754     1   15712   3524 binder_ioctl_write_read 76f04fd55c S android.hardware.power@1.1-service.wahoo android.hardware.power@1.1-service.wahoo
10221system         755     1   64300   4196 futex_wait_queue_me 728bbb14b0 S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service
10222root           756     1   16600   3048 binder_ioctl_write_read 7e0cdf655c S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo
10223system         757     1   13324   3036 binder_ioctl_write_read 75f676f55c S android.hardware.vibrator@1.1-service.wahoo android.hardware.vibrator@1.1-service.wahoo
10224system         758     1   13096   2788 binder_ioctl_write_read 7a530f155c S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo
10225wifi           759     1   16408   2856 binder_ioctl_write_read 792988b55c S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service
10226wifi           760     1   58948  44696 binder_ioctl_write_read 793bffa55c S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service
10227root           762     2       0      0 irq_thread 0 S [irq/254-wcd9xxx]        7
10228ese            763     1   13284   2840 binder_ioctl_write_read 7e4437655c S esed esed
10229root           764     1   13472   2836 SyS_epoll_wait 7629f0846c S healthd     healthd
10230root           765     2       0      0 irq_thread 0 S [irq/153-arm-smm]        7
10231root           767     1   10984   2308 do_sys_poll 6fd372a58c S msm_irqbalance msm_irqbalance
10232system         768     1   25016   2716 do_sigtimedwait 7d10dc264c S pm-service pm-service
10233system         770     1   26864   2928 futex_wait_queue_me 7b997ee4b0 S sensors.qcom sensors.qcom
10234nobody         773     1   50092   2348 do_select 709ac2d5a4 S rmt_storage      rmt_storage
10235system         774     1   13300   2292 do_sys_poll 7dd1bc958c S tftp_server    tftp_server
10236system         775     1   15932   2496 hrtimer_nanosleep 740b039e74 S pd-mapper pd-mapper
10237system         776     1   13636   3588 SyS_epoll_wait 7b8efc046c S bufferhubd  bufferhubd
10238root           777     1    9196   1980 SyS_epoll_wait 7ef210e46c S lmkd        lmkd
10239system         778     1   10632   2352 SyS_epoll_wait 7d2100546c S performanced performanced
10240root           779     1   18084   3032 binder_ioctl_write_read 77297b655c S thermalserviced thermalserviced
10241system         780     1   14848   2136 binder_ioctl_write_read 7871b8655c S virtual_touchpad virtual_touchpad
10242root           782     2       0      0 rescuer_thread 0 S [at_usb0]            7
10243root           783     2       0      0 rescuer_thread 0 S [at_usb1]            7
10244root           784     2       0      0 rescuer_thread 0 S [qdss]               7
10245root           798     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    7
10246root           800     2       0      0 rescuer_thread 0 S [modem]              8
10247system         808     1   17804   2476 hrtimer_nanosleep 7011dabe74 S pm-proxy pm-proxy
10248root           810     1   11000   2108 do_sys_poll 7f919fb58c S subsystem_ramdump subsystem_ramdump
10249root           814     1   94820   4656 SyS_rt_sigsuspend 7bdf73b634 S thermal-engine thermal-engine
10250media          815     1   14228   1992 do_sys_poll 7e497ed58c S adsprpcd       adsprpcd
10251system         816     1   15960   2500 do_select 73405495a4 S imsqmidaemon     imsqmidaemon
10252system         817     1   25056   4568 SyS_epoll_wait 75ab20a46c S cnd         cnd
10253radio          818     1  110972   7344 __skb_recv_datagram 7ac974f40c S netmgrd netmgrd
10254radio          819     1   14076   2180 futex_wait_queue_me 757cab44b0 S port-bridge port-bridge
10255root           820     2       0      0 worker_thread 0 S [kworker/2:1H]        8
10256radio          822     1   21748   3836 futex_wait_queue_me 79fbf344b0 S ipacm  ipacm
10257radio          827     1   20848   2836 do_select 7431b535a4 S qti              qti
10258audioserver    828     1   46132   9144 binder_ioctl_write_read f3de5f8c S audioserver audioserver
10259cameraserver   829     1   37240  10200 binder_ioctl_write_read ed44af8c S cameraserver cameraserver
10260drm            830     1   19008   6528 binder_ioctl_write_read ee1a5f8c S drmserver drmserver
10261root           832     1   30204   4496 binder_ioctl_write_read 7f9102a55c S installd installd
10262keystore       833     1   19544   4544 binder_ioctl_write_read 72bd6d255c S keystore keystore
10263media          834     1   14668   3784 binder_ioctl_write_read ef748f8c S mediadrmserver mediadrmserver
10264mediaex        835     1 2164880  11344 binder_ioctl_write_read 78df58a55c S media.extractor mediaextractor
10265media          836     1 2128364   7092 binder_ioctl_write_read 7272b8055c S media.metrics mediametrics
10266media          837     1   50284   9444 binder_ioctl_write_read eb454f8c S mediaserver mediaserver
10267root           838     1   16020   2916 binder_ioctl_write_read 764357d55c S storaged storaged
10268wifi           839     1   15360   3884 SyS_epoll_wait 79b6e4e46c S wificond    wificond
10269mediacodec     843     1  114240  22588 binder_ioctl_write_read f0fcff8c S media.codec android.hardware.media.omx@1.0-service
10270radio          844     1   99412  16632 binder_ioctl_write_read 702e44655c S rild rild
10271root           845     2       0      0 worker_thread 0 S [kworker/1:2]         8
10272system         848     1 2147244  12356 SyS_epoll_wait 7aa58b346c S folio_daemon folio_daemon
10273system         850     1   26152   3676 do_sys_poll 75ce30558c S cnss-daemon    cnss-daemon
10274gps            851     1   14216   2512 SyS_rt_sigsuspend 7983a6a634 S loc_launcher loc_launcher
10275system         852     1   19456   2596 do_sys_poll 7d7b9ae58c S chre           chre
10276system         854     1   15568   3580 binder_ioctl_write_read 791cc4355c S gatekeeperd gatekeeperd
10277tombstoned     856     1    9044   1544 SyS_epoll_wait 6ff06fa46c S tombstoned  tombstoned
10278root           857     1   18412   4708 SyS_epoll_wait 71def5146c S update_engine update_engine
10279system         859     1   18548   2852 binder_ioctl_write_read 7adf17855c S android.hardware.biometrics.fingerprint@2.1-service.wahoo android.hardware.biometrics.fingerprint@2.1-service.wahoo
10280system         860     1   18928   7732 do_sys_poll 7aac38f58c S cnss_diag      cnss_diag
10281system         875     1   26376   4360 do_select 78f35c75a4 S imsdatadaemon    imsdatadaemon
10282root           880     2       0      0 rescuer_thread 0 S [ipawq15]            8
10283root           916     2       0      0 rescuer_thread 0 S [iparepwq15]         9
10284root           965     2       0      0 rescuer_thread 0 S [ipawq48]            9
10285root           969     2       0      0 do_freq_mitigation 0 S [msm_thermal:fre] 9
10286root           971     2       0      0 do_thermal_monitor 0 S [msm_thermal:the] 9
10287root           973     2       0      0 rescuer_thread 0 S [iparepwq48]         9
10288root           974     2       0      0 worker_thread 0 R [kworker/u17:1]       9
10289root           979     2       0      0 rescuer_thread 0 S [ipawq13]            9
10290root           984     2       0      0 rescuer_thread 0 S [iparepwq13]         9
10291root           997     2       0      0 rescuer_thread 0 S [ipa_A7_svc]         9
10292root          1002     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10293root          1004     2       0      0 rescuer_thread 0 S [clnt_req]           1
10294root          1007     2       0      0 rescuer_thread 0 S [clnt_resp]          1
10295root          1012     2       0      0 rescuer_thread 0 S [clnt_req]           1
10296root          1094     2       0      0 irq_thread 0 S [irq/157-arm-smm]        1
10297root          1095     2       0      0 irq_thread 0 S [irq/162-arm-smm]        1
10298root          1118     2       0      0 rescuer_thread 0 S [wdsp_glink_wq]      1
10299system        1136   717 4614136 323592 SyS_epoll_wait 70d91f346c S system_server app_process64
10300root          1209     2       0      0 rescuer_thread 0 S [mpss_IPCRTR]        1
10301root          1210     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10302root          1211     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10303root          1243     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10304u0_a39        1341   717 4424380 117564 SyS_epoll_wait 70d91f346c S com.android.systemui app_process64
10305root          1357     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
10306radio         1362   717 4277484  37616 SyS_epoll_wait 70d91f346c S com.google.modemservice app_process64
10307radio         1438   717 4279272  37692 SyS_epoll_wait 70d91f346c S com.qualcomm.qcrilmsgtunnel app_process64
10308u0_a99        1467   717 4399596 116384 SyS_epoll_wait 70d91f346c S com.breel.wallpapers app_process64
10309gps           1546   851   24252   3864 futex_wait_queue_me 725dff04b0 S lowi-server lowi-server
10310system        1556   717 4286264  42220 SyS_epoll_wait 70d91f346c S .dataservices app_process64
10311gps           1562   851   25096   5932 __skb_recv_datagram 761088140c S xtra-daemon xtra-daemon
10312gps           1563   851       0      0 do_exit 0 Z [loc_launcher]              1
10313gps           1564   851       0      0 do_exit 0 Z [loc_launcher]              1
10314gps           1565   851       0      0 do_exit 0 Z [loc_launcher]              1
10315radio         1576   717 4277872  37728 SyS_epoll_wait 70d91f346c S com.qualcomm.qti.telephonyservice app_process64
10316radio         1585   717 4329964  68656 SyS_epoll_wait 70d91f346c S com.android.phone app_process64
10317root          1644     2       0      0 rescuer_thread 0 S [ipawq14]            1
10318root          1651     2       0      0 rescuer_thread 0 S [iparepwq14]         1
10319root          1659     2       0      0 rescuer_thread 0 S [ipawq49]            1
10320root          1665     2       0      0 rescuer_thread 0 S [iparepwq49]         1
10321root          2193     2       0      0 irq_thread 0 S [irq/35-1008000.]        2
10322root          2203     2       0      0 worker_thread 0 S [kworker/3:1H]        2
10323root          2207     2       0      0 wlan_logging_thread 0 S [wlan_logging_th] 2
10324root          2208     1   20008   2488 futex_wait_queue_me 7a4f0454b0 S perfd  perfd
10325root          2219     2       0      0 cds_mc_thread 0 S [cds_mc_thread]       2
10326root          2220     2       0      0 cds_ol_rx_thread 0 S [cds_ol_rx_threa]  2
10327root          2221     2       0      0 rescuer_thread 0 S [wmi_rx_event_wo]    2
10328nfc           2315   717 4300904  54056 SyS_epoll_wait 70d91f346c S com.android.nfc app_process64
10329radio         2330   717 4278968  40624 SyS_epoll_wait 70d91f346c S com.android.ims.rcsservice app_process64
10330system        2337   717 4277764  33900 SyS_epoll_wait 70d91f346c S com.google.SSRestartDetector app_process64
10331u0_a47        2438   717 4390060 100792 SyS_epoll_wait 70d91f346c S com.google.android.apps.nexuslauncher app_process64
10332u0_a29        2452   717 4291516  47104 SyS_epoll_wait 70d91f346c S com.google.intelligence.sense app_process64
10333u0_a32        3721   717 4284276  45452 SyS_epoll_wait 70d91f346c S com.google.android.apps.turbo:aab app_process64
10334root          3724   689    9468   2016 pipe_read 70df7f9f94 S iptables-restore iptables
10335root          3737   689    9484   2092 pipe_read 79ce20ef94 S ip6tables-restore ip6tables
10336root          4292     2       0      0 worker_thread 0 S [kworker/5:0]         4
10337root          4337     2       0      0 worker_thread 0 S [kworker/4:0]         4
10338system        4764   717 4279604  34412 SyS_epoll_wait 70d91f346c S com.qualcomm.telephony app_process64
10339u0_a44        4845   717 4302492  63420 SyS_epoll_wait 70d91f346c S com.verizon.mips.services app_process64
10340u0_a712       4896   717 4424460 145348 SyS_epoll_wait 70d91f346c S com.google.wireless.qa.mobileharness.tool.android.daemon app_process64
10341root          4937     2       0      0 worker_thread 0 S [kworker/2:1]         4
10342root          5027     1   16032   1300 do_sys_poll 4c3aec S adbd               adbd
10343u0_a27        5340   717 4275052  35952 SyS_epoll_wait 70d91f346c S com.android.defcontainer app_process64
10344u0_a26        7090   717 4409460 104996 SyS_epoll_wait 70d91f346c S com.google.android.gms.persistent app_process64
10345u0_a26        7098   717 4555440 107540 SyS_epoll_wait 70d91f346c S com.google.android.gms app_process64
10346root          7580     2       0      0 worker_thread 0 S [kworker/7:2]         7
10347root          7655     2       0      0 worker_thread 0 S [kworker/0:1]         7
10348root          7755     2       0      0 worker_thread 0 S [kworker/2:0]         7
10349u0_a16        8921   717 4283100  44060 SyS_epoll_wait 70d91f346c S com.android.documentsui app_process64
10350u0_a38        8947   717 4279080  43124 SyS_epoll_wait 70d91f346c S android.process.media app_process64
10351root         10171     2       0      0 worker_thread 0 S [kworker/0:2]         1
10352root         10578     2       0      0 worker_thread 0 S [kworker/u16:6]       1
10353root         10822     2       0      0 worker_thread 0 S [kworker/u16:0]       1
10354root         11013     2       0      0 worker_thread 0 S [kworker/7:0]         1
10355root         11093     2       0      0 worker_thread 0 S [kworker/u16:5]       1
10356root         11198     2       0      0 worker_thread 0 S [kworker/1:1]         1
10357root         11204     2       0      0 worker_thread 0 S [kworker/3:0]         1
10358root         11314     2       0      0 worker_thread 0 S [kworker/5:1]         1
10359root         11385     2       0      0 worker_thread 0 S [kworker/6:1]         1
10360root         11468     2       0      0 worker_thread 0 S [kworker/u16:2]       1
10361root         11477     2       0      0 worker_thread 0 S [kworker/4:2]         1
10362root         11483     2       0      0 worker_thread 0 S [kworker/2:4]         1
10363root         11493     2       0      0 worker_thread 0 S [kworker/1:3]         1
10364root         11635     2       0      0 worker_thread 0 S [kworker/6:0]         1
10365root         11710     2       0      0 worker_thread 0 S [kworker/0:3]         1
10366root         11723     2       0      0 worker_thread 0 S [kworker/3:1]         1
10367root         11733     2       0      0 worker_thread 0 S [kworker/2:2]         1
10368root         11737     2       0      0 worker_thread 0 S [kworker/4:1]         1
10369root         11740     2       0      0 worker_thread 0 S [kworker/1:0]         1
10370root         11743     2       0      0 worker_thread 0 S [kworker/1:4]         1
10371root         11801     2       0      0 worker_thread 0 S [kworker/7:1]         1
10372root         11894     2       0      0 worker_thread 0 S [kworker/6:2]         1
10373root         11895     2       0      0 worker_thread 0 S [kworker/u16:4]       1
10374root         11896     2       0      0 worker_thread 0 S [kworker/2:3]         1
10375root         11961     2       0      0 worker_thread 0 S [kworker/0:0]         1
10376root         11963     2       0      0 worker_thread 0 S [kworker/4:3]         1
10377root         11972     2       0      0 worker_thread 0 S [kworker/3:2]         1
10378root         12010     2       0      0 worker_thread 0 S [kworker/7:3]         1
10379system       12047   717 4274036  34892 SyS_epoll_wait 70d91f346c S com.android.keychain app_process64
10380root         12136     2       0      0 worker_thread 0 S [kworker/3:3]         1
10381root         12172     2       0      0 worker_thread 0 S [kworker/u16:7]       1
10382root         12173     2       0      0 worker_thread 0 S [kworker/u16:9]       1
10383root         12174     2       0      0 worker_thread 0 S [kworker/u16:10]      1
10384root         12175     2       0      0 worker_thread 0 S [kworker/u16:12]      1
10385root         12176     2       0      0 worker_thread 0 S [kworker/u16:13]      1
10386root         12177     2       0      0 worker_thread 0 S [kworker/u16:14]      1
10387root         12178     2       0      0 worker_thread 0 S [kworker/u16:15]      1
10388u0_a26       12188   717 4281664  39812 SyS_epoll_wait 70d91f346c S com.google.process.gapps app_process64
10389u0_a26       12204   717 4284380  40916 SyS_epoll_wait 70d91f346c S com.google.process.gservices app_process64
10390u0_a15       12324   717 4285320  36420 SyS_epoll_wait 70d91f346c S com.android.connectivity.metrics app_process64
10391u0_a22       12381   717 4275684  36192 SyS_epoll_wait 70d91f346c S com.google.android.partnersetup app_process64
10392webview_zygote 12409   1 1334320  30380 do_sys_poll eb625024 S webview_zygote32 webview_zygote32
10393radio        12413   717 4274568  34180 SyS_epoll_wait 70d91f346c S com.google.telephonymonitor app_process64
10394u0_a93       12475   717 4277268  34432 SyS_epoll_wait 70d91f346c S com.android.printspooler app_process64
10395u0_a25       12601   717 4284384  43100 SyS_epoll_wait 70d91f346c S com.google.android.apps.gcs app_process64
10396u0_a11       12638   717 4287328  47720 SyS_epoll_wait 70d91f346c S android.process.acore app_process64
10397root         12674     2       0      0 worker_thread 0 S [kworker/5:2]         1
10398u0_a26       12730   717 4366304  66652 SyS_epoll_wait 70d91f346c S com.google.android.gms.unstable app_process64
10399u0_a26       12850   717 4335364  54552 SyS_epoll_wait 70d91f346c S com.google.android.gms.ui app_process64
10400u0_a84       12984   717 4280852  36608 SyS_epoll_wait 70d91f346c S com.google.android.apps.enterprise.dmagent app_process64
10401u0_a115      13067   717 4323516  49820 SyS_epoll_wait 70d91f346c S com.google.android.calendar app_process64
10402u0_a13       13092   717 4274684  36920 SyS_epoll_wait 70d91f346c S com.android.providers.calendar app_process64
10403root         13214  5027    8948   1800 SyS_rt_sigsuspend 6ff9a31634 S sh       sh
10404root         13216 13214    8948    656 SyS_rt_sigsuspend 6ff9a31634 S sh       sh
10405root         13217 13216   10524   1980 0      7a21451f94 R ps                  toybox
10406root         13218  5027   55632   9220 0      78b0a16ed0 R app_process         app_process64
10407u0_a53       22412   717 4284840  43064 SyS_epoll_wait 70d91f346c S com.google.android.volta app_process64
10408u0_a42       30672   717 4318596  58480 SyS_epoll_wait 70d91f346c S com.google.android.ims app_process64
10409USER           PID   TID CMD
10410root             1     1 init
10411root             2     2 kthreadd
10412root             3     3 ksoftirqd/0
10413root             5     5 kworker/0:0H
10414root             7     7 rcu_preempt
10415root             8     8 rcu_sched
10416root             9     9 rcu_bh
10417root            10    10 rcuop/0
10418root            11    11 rcuos/0
10419root            12    12 rcuob/0
10420root            13    13 migration/0
10421root            14    14 watchdog/0
10422root            15    15 watchdog/1
10423root            16    16 migration/1
10424root            17    17 ksoftirqd/1
10425root            19    19 kworker/1:0H
10426root            20    20 rcuop/1
10427root            21    21 rcuos/1
10428root            22    22 rcuob/1
10429root            23    23 watchdog/2
10430root            24    24 migration/2
10431root            25    25 ksoftirqd/2
10432root            27    27 kworker/2:0H
10433root            28    28 rcuop/2
10434root            29    29 rcuos/2
10435root            30    30 rcuob/2
10436root            31    31 watchdog/3
10437root            32    32 migration/3
10438root            33    33 ksoftirqd/3
10439root            35    35 kworker/3:0H
10440root            36    36 rcuop/3
10441root            37    37 rcuos/3
10442root            38    38 rcuob/3
10443root            39    39 watchdog/4
10444root            40    40 migration/4
10445root            41    41 ksoftirqd/4
10446root            43    43 kworker/4:0H
10447root            44    44 rcuop/4
10448root            45    45 rcuos/4
10449root            46    46 rcuob/4
10450root            47    47 watchdog/5
10451root            48    48 migration/5
10452root            49    49 ksoftirqd/5
10453root            51    51 kworker/5:0H
10454root            52    52 rcuop/5
10455root            53    53 rcuos/5
10456root            54    54 rcuob/5
10457root            55    55 watchdog/6
10458root            56    56 migration/6
10459root            57    57 ksoftirqd/6
10460root            59    59 kworker/6:0H
10461root            60    60 rcuop/6
10462root            61    61 rcuos/6
10463root            62    62 rcuob/6
10464root            63    63 watchdog/7
10465root            64    64 migration/7
10466root            65    65 ksoftirqd/7
10467root            67    67 kworker/7:0H
10468root            68    68 rcuop/7
10469root            69    69 rcuos/7
10470root            70    70 rcuob/7
10471root            71    71 netns
10472root            72    72 perf
10473root            73    73 smd_channel_clo
10474root            74    74 dsps_smd_trans_
10475root            75    75 lpass_smd_trans
10476root            76    76 mpss_smd_trans_
10477root            77    77 wcnss_smd_trans
10478root            78    78 rpm_smd_trans_g
10479root            79    79 ipa_usb_wq
10480root            81    81 smem_native_mps
10481root            82    82 mpss_smem_glink
10482root            83    83 smem_native_lpa
10483root            84    84 lpass_smem_glin
10484root            85    85 smem_native_dsp
10485root            86    86 dsps_smem_glink
10486root            87    87 smem_native_rpm
10487root            88    88 rpm_smem_glink_
10488root            89    89 smem_native_sps
10489root            90    90 spss_mailbox_gl
10490root            91    91 msm_watchdog
10491root            92    92 deferwq
10492root            93    93 kworker/u16:1
10493root            94    94 irq/126-cpr3
10494root            95    95 mpm
10495root            97    97 khungtaskd
10496root            98    98 writeback
10497root            99    99 kcompactd0
10498root           100   100 crypto
10499root           101   101 bioset
10500root           102   102 kblockd
10501root           103   103 md
10502root           104   104 edac-poller
10503root           105   105 system
10504root           106   106 easel_mem
10505root           107   107 devfreq_wq
10506root           108   108 governor_msm_ad
10507root           110   110 cfg80211
10508root           111   111 irq/134-arm-smm
10509root           112   112 ipa_power_mgmt
10510root           113   113 transport_power
10511root           114   114 ipa_rm_wq
10512root           115   115 ipa_interrupt_w
10513root           116   116 irq/135-arm-smm
10514root           117   117 irq/136-arm-smm
10515root           118   118 irq/61-bcl_vbat
10516root           119   119 irq/60-bcl_ibat
10517root           145   145 power_off_alarm
10518root           146   146 kswapd0
10519root           147   147 vmstat
10520root           148   148 fsnotify_mark
10521root           180   180 ad_calc_wq
10522root           181   181 mdss_dsi_event
10523root           182   182 mdss_dsi_dba
10524root           183   183 cwb_wq
10525root           184   184 vsync_retire_wo
10526root           185   185 cwb_wq
10527root           187   187 glink_ssr_wq
10528root           188   188 glink_lbsrv
10529root           189   189 spi_wdsp
10530root           190   190 wdsp_spi_glink_
10531root           191   191 glink_xprt_wq
10532root           192   192 IPCRTR_mpss_sme
10533root           193   193 IPCRTR_lpass_sm
10534root           194   194 IPCRTR_dsps_sme
10535root           195   195 apr_driver
10536root           196   196 glink_pkt_wq
10537root           198   198 mem_share_svc
10538root           199   199 qmi_hndl0000000
10539root           200   200 msm_ipc_router
10540root           201   201 irq/137-arm-smm
10541root           202   202 qmi_svc_event_w
10542root           203   203 servloc_wq
10543root           204   204 tty_worker_thre
10544root           205   205 tty_worker_thre
10545root           206   206 tty_worker_thre
10546root           207   207 tty_worker_thre
10547root           208   208 k_hsuart
10548root           209   209 msm_serial_hs_0
10549root           210   210 msm_serial_hs_0
10550root           211   211 hwrng
10551root           213   213 diag_real_time_
10552root           214   214 diag_wq
10553root           215   215 DIAG_USB_diag
10554root           216   216 diag_cntl_wq
10555root           217   217 diag_dci_wq
10556root           218   218 DIAG_SMD_MODEM_
10557root           219   219 DIAG_SMD_MODEM_
10558root           220   220 DIAG_SMD_MODEM_
10559root           221   221 DIAG_SMD_MODEM_
10560root           222   222 DIAG_SMD_MODEM_
10561root           223   223 DIAG_SMD_LPASS_
10562root           224   224 DIAG_SMD_LPASS_
10563root           225   225 DIAG_SMD_LPASS_
10564root           226   226 DIAG_SMD_LPASS_
10565root           227   227 DIAG_SMD_LPASS_
10566root           228   228 DIAG_SMD_WCNSS_
10567root           229   229 DIAG_SMD_WCNSS_
10568root           230   230 DIAG_SMD_WCNSS_
10569root           231   231 DIAG_SMD_WCNSS_
10570root           232   232 DIAG_SMD_WCNSS_
10571root           233   233 DIAG_SMD_SENSOR
10572root           234   234 DIAG_SMD_SENSOR
10573root           235   235 DIAG_SMD_SENSOR
10574root           236   236 DIAG_SMD_SENSOR
10575root           237   237 DIAG_SMD_SENSOR
10576root           238   238 DIAG_SMD_DIAG_C
10577root           239   239 DIAG_SMD_DIAG_D
10578root           240   240 DIAG_SMD_DIAG_C
10579root           241   241 DIAG_SMD_DIAG_D
10580root           242   242 DIAG_SMD_DIAG_D
10581root           243   243 DIAG_SMD_CDSP_C
10582root           244   244 DIAG_SMD_CDSP_D
10583root           245   245 DIAG_SMD_CDSP_C
10584root           246   246 DIAG_SMD_CDSP_D
10585root           247   247 DIAG_SMD_CDSP_D
10586root           248   248 DIAG_SOCKMODEM_
10587root           249   249 DIAG_SOCKMODEM_
10588root           250   250 DIAG_SOCKMODEM_
10589root           251   251 DIAG_SOCKMODEM_
10590root           252   252 DIAG_SOCKMODEM_
10591root           253   253 DIAG_SOCKLPASS_
10592root           254   254 DIAG_SOCKLPASS_
10593root           255   255 DIAG_SOCKLPASS_
10594root           256   256 DIAG_SOCKLPASS_
10595root           257   257 DIAG_SOCKLPASS_
10596root           258   258 DIAG_SOCKWCNSS_
10597root           259   259 DIAG_SOCKWCNSS_
10598root           260   260 DIAG_SOCKWCNSS_
10599root           261   261 DIAG_SOCKWCNSS_
10600root           262   262 DIAG_SOCKWCNSS_
10601root           263   263 DIAG_SOCKSENSOR
10602root           264   264 DIAG_SOCKSENSOR
10603root           265   265 DIAG_SOCKSENSOR
10604root           266   266 DIAG_SOCKSENSOR
10605root           267   267 DIAG_SOCKSENSOR
10606root           268   268 DIAG_SOCKDIAG_C
10607root           269   269 DIAG_SOCKDIAG_D
10608root           270   270 DIAG_SOCKDIAG_C
10609root           271   271 DIAG_SOCKDIAG_D
10610root           272   272 DIAG_SOCKDIAG_D
10611root           273   273 DIAG_SOCKCDSP_C
10612root           274   274 DIAG_SOCKCDSP_D
10613root           275   275 DIAG_SOCKCDSP_C
10614root           276   276 DIAG_SOCKCDSP_D
10615root           277   277 DIAG_SOCKCDSP_D
10616root           278   278 DIAG_CNTL_SOCKE
10617root           279   279 DIAG_GLINK_DIAG
10618root           280   280 DIAG_GLINK_DIAG
10619root           281   281 DIAG_GLINK_DIAG
10620root           282   282 DIAG_GLINK_DIAG
10621root           283   283 DIAG_GLINK_DIAG
10622root           284   284 kgsl-workqueue
10623root           285   285 kgsl-mementry
10624root           286   286 kgsl_worker_thr
10625root           287   287 kgsl-events
10626root           288   288 kgsl_devfreq_wq
10627root           289   289 bioset
10628root           290   290 bioset
10629root           291   291 bioset
10630root           292   292 bioset
10631root           293   293 bioset
10632root           294   294 bioset
10633root           295   295 bioset
10634root           296   296 bioset
10635root           297   297 bioset
10636root           298   298 bioset
10637root           299   299 bioset
10638root           300   300 bioset
10639root           301   301 bioset
10640root           302   302 bioset
10641root           304   304 bioset
10642root           305   305 bioset
10643root           306   306 bioset
10644root           307   307 bioset
10645root           308   308 bioset
10646root           309   309 bioset
10647root           310   310 bioset
10648root           311   311 bioset
10649root           312   312 bioset
10650root           313   313 bioset
10651root           314   314 bioset
10652root           315   315 irq/286-soc:fp_
10653root           316   316 memory_wq
10654root           317   317 qcrypto_seq_res
10655root           318   318 scsi_eh_0
10656root           319   319 scsi_tmf_0
10657root           320   320 ufs_pm_qos_0
10658root           321   321 ufs_clk_ungatin
10659root           322   322 ufs_clkscaling_
10660root           323   323 spi1
10661root           325   325 spi2
10662root           326   326 spi10
10663root           327   327 bond0
10664root           329   329 sharedmem_qmi_w
10665root           330   330 qmi_hndl0000000
10666root           331   331 kworker/u16:3
10667root           335   335 uether
10668root           336   336 k_ipa_usb
10669root           340   340 kworker/u17:0
10670root           341   341 irq/262-vl53l0_
10671root           342   342 bioset
10672root           343   343 bioset
10673root           344   344 bioset
10674root           345   345 msm_cci_wq
10675root           346   346 msm_cci_wq
10676root           347   347 bioset
10677root           348   348 bioset
10678root           349   349 bioset
10679root           350   350 bioset
10680root           351   351 bioset
10681root           352   352 bioset
10682root           354   354 msm_cpp_workque
10683root           357   357 msm_vidc_worker
10684root           358   358 pm_workerq_venu
10685root           359   359 irq/158-arm-smm
10686root           360   360 irq/159-arm-smm
10687root           361   361 irq/160-arm-smm
10688root           362   362 irq/161-arm-smm
10689root           363   363 rot_commitq_0_0
10690root           364   364 rot_commitq_0_1
10691root           365   365 rot_doneq_0_0
10692root           366   366 rot_doneq_0_1
10693root           368   368 therm_core:noti
10694root           369   369 irq/500-chg-err
10695root           370   370 irq/501-chg-sta
10696root           371   371 irq/502-step-ch
10697root           372   372 irq/503-step-ch
10698root           373   373 irq/504-step-ch
10699root           374   374 irq/505-otg-fai
10700root           375   375 irq/506-otg-ove
10701root           376   376 irq/507-otg-oc-
10702root           377   377 irq/508-testmod
10703root           378   378 irq/509-bat-tem
10704root           379   379 irq/510-bat-ocp
10705root           380   380 irq/511-bat-ov
10706root           381   381 irq/512-bat-low
10707root           382   382 irq/513-bat-the
10708root           383   383 irq/514-bat-ter
10709root           384   384 irq/515-usbin-c
10710root           385   385 irq/516-usbin-l
10711root           386   386 irq/517-usbin-u
10712root           387   387 irq/518-usbin-o
10713root           388   388 irq/519-usbin-p
10714root           389   389 irq/520-usbin-s
10715root           390   390 irq/521-usbin-i
10716root           391   391 irq/522-type-c-
10717root           392   392 irq/523-dcin-co
10718root           393   393 irq/524-dcin-lt
10719root           394   394 irq/525-dcin-uv
10720root           395   395 irq/526-dcin-ov
10721root           396   396 irq/527-dcin-pl
10722root           397   397 irq/528-div2-en
10723root           398   398 irq/529-dcin-ic
10724root           399   399 irq/532-aicl-fa
10725root           400   400 irq/533-aicl-do
10726root           401   401 irq/534-high-du
10727root           402   402 irq/535-input-c
10728root           403   403 irq/536-tempera
10729root           404   404 irq/537-switche
10730root           405   405 therm_core:noti
10731root           406   406 therm_core:noti
10732root           408   408 therm_core:noti
10733root           409   409 therm_core:noti
10734root           410   410 therm_core:noti
10735root           411   411 therm_core:noti
10736root           412   412 therm_core:noti
10737root           413   413 therm_core:noti
10738root           414   414 therm_core:noti
10739root           415   415 therm_core:noti
10740root           416   416 therm_core:noti
10741root           417   417 therm_core:noti
10742root           418   418 therm_core:noti
10743root           419   419 therm_core:noti
10744root           420   420 therm_core:noti
10745root           421   421 therm_core:noti
10746root           422   422 therm_core:noti
10747root           423   423 therm_core:noti
10748root           424   424 therm_core:noti
10749root           425   425 therm_core:noti
10750root           426   426 therm_core:noti
10751root           427   427 therm_core:noti
10752root           428   428 irq/59-tsens_in
10753root           429   429 irq/62-tsens_cr
10754root           430   430 therm_core:noti
10755root           431   431 therm_core:noti
10756root           432   432 therm_core:noti
10757root           433   433 therm_core:noti
10758root           434   434 therm_core:noti
10759root           435   435 therm_core:noti
10760root           436   436 therm_core:noti
10761root           437   437 therm_core:noti
10762root           438   438 irq/63-tsens_in
10763root           439   439 irq/64-tsens_cr
10764root           440   440 therm_core:noti
10765root           441   441 irq/366-limits_
10766root           442   442 therm_core:noti
10767root           443   443 irq/367-limits_
10768root           444   444 dm_bufio_cache
10769root           445   445 cfinteractive
10770root           446   446 irq/291-bcm1560
10771root           447   447 irq/226-bcm1560
10772root           449   449 therm_core:noti
10773root           450   450 irq/197-spdm_bw
10774root           451   451 binder
10775root           452   452 irq/144-arm-smm
10776root           453   453 uaudio_svc
10777root           454   454 qmi_hndl0000000
10778root           455   455 ipv6_addrconf
10779root           457   457 irq/574-adsp
10780root           458   458 sysmon_wq
10781root           459   459 irq/606-slpi
10782root           460   460 irq/542-modem
10783root           464   464 usb_bam_wq
10784root           465   465 irq/19-sig-tx
10785root           466   466 irq/20-sig-rx
10786root           467   467 irq/22-msg-rx
10787root           468   468 usbpd0
10788root           469   469 usbpd0
10789root           474   474 therm_core:noti
10790root           475   475 irq/734-soc-upd
10791root           476   476 irq/735-soc-rea
10792root           477   477 irq/736-bsoc-de
10793root           478   478 irq/737-msoc-de
10794root           479   479 irq/738-msoc-lo
10795root           480   480 irq/739-msoc-em
10796root           481   481 irq/740-msoc-hi
10797root           482   482 irq/741-msoc-fu
10798root           483   483 irq/742-vbatt-p
10799root           484   484 irq/743-vbatt-l
10800root           485   485 irq/744-esr-del
10801root           486   486 irq/745-batt-mi
10802root           487   487 irq/746-batt-te
10803root           488   488 irq/747-ima-rdy
10804root           489   489 irq/748-mem-xcp
10805root           490   490 irq/749-dma-gra
10806root           492   492 irq/54-hs_phy_i
10807root           493   493 irq/55-ss_phy_i
10808root           494   494 irq/56-msm_dwc3
10809root           496   496 irq/36-ARM64 pr
10810root           497   497 irq/37-ARM64 se
10811root           498   498 irq/39-ARM64 pr
10812root           499   499 irq/40-ARM64 se
10813root           500   500 rq_stats
10814root           501   501 irq/145-arm-smm
10815root           502   502 irq/146-arm-smm
10816root           503   503 irq/147-arm-smm
10817root           504   504 irq/148-arm-smm
10818root           505   505 irq/149-arm-smm
10819root           506   506 irq/150-arm-smm
10820root           507   507 irq/151-arm-smm
10821root           508   508 irq/152-arm-smm
10822root           509   509 set_state_work
10823root           510   510 irq/227-mnh-rea
10824root           512   512 irq/751-mnh_pci
10825root           513   513 irq/752-mnh_pci
10826root           514   514 irq/753-mnh_pci
10827root           515   515 irq/754-mnh_pci
10828root           516   516 irq/755-mnh_pci
10829root           517   517 irq/758-mnh_pci
10830root           518   518 irq/759-mnh_pci
10831root           519   519 irq/128-arm-smm
10832root           520   520 sb-1
10833root           521   521 ngd_rx_thread1
10834root           522   522 ngd_notify_sl1
10835root           523   523 sb-3
10836root           524   524 ngd_rx_thread3
10837root           525   525 ngd_notify_sl3
10838root           526   526 therm_core:noti
10839root           527   527 therm_core:noti
10840root           528   528 therm_core:noti
10841root           529   529 irq/66-lmh-inte
10842root           530   530 irq/28-qpnp_fla
10843root           531   531 irq/27-qpnp_fla
10844root           532   532 irq/26-qpnp_fla
10845root           534   534 kdmflush
10846root           535   535 bioset
10847root           536   536 kverityd
10848root           537   537 bioset
10849root           538   538 bioset
10850root           539   539 bioset
10851root           540   540 kworker/6:1H
10852root           541   541 kworker/5:1H
10853root           542   542 kworker/7:1H
10854root           543   543 ext4-rsv-conver
10855root           544   544 kworker/0:1H
10856root           546   546 kdmflush
10857root           547   547 bioset
10858root           548   548 kverityd
10859root           549   549 bioset
10860root           550   550 bioset
10861root           551   551 bioset
10862root           552   552 ext4-rsv-conver
10863root           553   553 jbd2/sdd3-8
10864root           554   554 ext4-rsv-conver
10865root           555   555 kworker/4:1H
10866root           556   556 ueventd
10867root           558   558 kworker/1:1H
10868root           562   562 irq/760-synapti
10869root           563   563 dsx_rebuild_wor
10870root           564   564 dsx_exp_workque
10871root           569   569 batt_timer
10872system         580   580 qseecomd
10873root           581   581 sugov:0
10874root           582   582 sugov:4
10875system         584   584 hwservicemanage
10876logd           585   585 logd
10877logd           585   590 logd.daemon
10878logd           585   591 logd.reader
10879logd           585   592 logd.writer
10880logd           585   593 logd.control
10881logd           585   595 logd.klogd
10882logd           585   596 logd.auditd
10883system         586   586 servicemanager
10884system         587   587 vndservicemanag
10885root           588   588 kworker/u16:8
10886root           594   594 kauditd
10887system         597   597 qseecomd
10888system         597   598 qseecomd
10889system         597   599 qseecomd
10890system         597   600 qseecomd
10891system         597   601 qseecomd
10892system         597   602 qseecomd
10893system         597   603 qseecomd
10894system         597   604 qseecomd
10895root           606   606 boot@1.0-servic
10896system         607   607 gatekeeper@1.0-
10897system         608   608 keyprimary@3.0-s
10898system         610   610 surfaceflinger
10899system         610   626 HwBinder:610_1
10900system         610   627 Binder:610_1
10901system         610   628 Binder:610_2
10902system         610   629 DispSync
10903system         610   661 POSIX timer 0
10904system         610   662 EventThread
10905system         610   663 POSIX timer 1
10906system         610   664 EventThread
10907system         610   679 VrEvent
10908system         610   680 VrHwcPost
10909system         610   681 VrDispatch
10910system         610   682 EventControl
10911system         610   978 Binder:610_3
10912system         610   981 Binder:610_1
10913system         610  1720 Binder:610_4
10914system         610  2158 Binder:610_5
10915system         612   612 composer@2.1-se
10916system         612   622 Binder:612_1
10917system         612   623 Binder:612_2
10918system         612   643 SDM_EventThread
10919system         612   665 android.hardwar
10920system         612   666 HWC_UeventThrea
10921system         612   676 HwBinder:612_1
10922system         612   677 HwBinder:612_2
10923system         612   678 composer@2.1-se
10924system         612 11297 HwBinder:612_3
10925system         613   613 configstore@1.0
10926system         613   625 HwBinder:613_1
10927system         613  2680 HwBinder:613_2
10928system         614   614 allocator@2.0-s
10929system         614   982 HwBinder:614_1
10930system         614   983 HwBinder:614_2
10931system         614 20587 HwBinder:614_3
10932root           631   631 mdss_fb0
10933root           632   632 jbd2/sda45-8
10934root           633   633 ext4-rsv-conver
10935system         637   637 time_daemon
10936system         637   649 time_daemon
10937system         637   650 time_daemon
10938system         637   651 time_daemon
10939system         637   652 time_daemon
10940system         637   653 time_daemon
10941system         637  1271 time_daemon
10942root           638   638 vold
10943root           638   654 vold
10944root           638   655 vold
10945root           638   656 vold
10946root           645   645 irq/177-arm-smm
10947root           646   646 irq/178-arm-smm
10948root           657   657 fwu_workqueue
10949root           658   658 dsps_IPCRTR
10950root           660   660 lpass_IPCRTR
10951root           688   688 qmi_hndl0000000
10952root           689   689 Binder:689_2
10953root           689   707 netd
10954root           689   708 netd
10955root           689   709 netd
10956root           689   710 netd
10957root           689   711 netd
10958root           689   712 netd
10959root           689   713 netd
10960root           689   714 netd
10961root           689   715 Binder:689_1
10962root           689   716 Binder:689_2
10963root           689   718 HwBinder:689_1
10964root           689 15067 Binder:689_3
10965root           689  2971 Binder:689_4
10966root           689  3118 Binder:689_5
10967root           690   690 qmi_hndl0000000
10968root           691   691 msm_slim_qmi_cl
10969root           692   692 msm_slim_qmi_cl
10970root           693   693 qmi_hndl0000000
10971root           694   694 qmi_hndl0000000
10972root           717   717 main
10973root           717 13093 ReferenceQueueD
10974root           717 13094 FinalizerDaemon
10975root           717 13095 FinalizerWatchd
10976root           717 13096 HeapTaskDaemon
10977root           719   719 main
10978root           719  8873 ReferenceQueueD
10979root           719  8874 FinalizerDaemon
10980root           719  8875 FinalizerWatchd
10981root           719  8876 HeapTaskDaemon
10982root           720   720 cds_recovery_wo
10983system         732   732 allocator@1.0-s
10984system         733   733 vr_hwc
10985system         733   751 Binder:733_1
10986system         733   752 HwBinder:733_1
10987system         733   753 Binder:733_2
10988audioserver    734   734 audio@2.0-servi
10989audioserver    734  1117 audio@2.0-servi
10990audioserver    734  1119 audio@2.0-servi
10991audioserver    734  1120 HwBinder:734_1
10992audioserver    734  1169 HwBinder:734_1
10993audioserver    734  1170 HwBinder:734_2
10994audioserver    734  1817 HwBinder:734_3
10995audioserver    734  1818 HwBinder:734_4
10996bluetooth      735   735 bluetooth@1.0-s
10997cameraserver   736   736 provider@2.4-se
10998cameraserver   736  1962 CAM_imgTh
10999cameraserver   736  1963 CAM_imgTh
11000cameraserver   736  1964 CAM_imgTh
11001cameraserver   736  1965 CAM_imgTh
11002cameraserver   736  1966 CAM_imgTh
11003cameraserver   736  1967 CAM_imgTh
11004cameraserver   736  1968 CAM_imgTh
11005cameraserver   736  1969 CAM_imgTh
11006cameraserver   736  1970 CAM_imgTh
11007cameraserver   736  1971 CAM_imgTh
11008cameraserver   736  1972 CAM_imgTh
11009cameraserver   736  1973 CAM_imgTh
11010cameraserver   736  1974 CAM_imgTh
11011cameraserver   736  1975 CAM_imgTh
11012cameraserver   736  1976 CAM_imgTh
11013cameraserver   736  1977 CAM_imgTh
11014cameraserver   736  1978 CAM_imgTh
11015cameraserver   736  1979 CAM_imgTh
11016cameraserver   736  1980 CAM_imgTh
11017cameraserver   736  1981 CAM_imgTh
11018cameraserver   736  2001 android.hardwar
11019cameraserver   736  2023 CAM_gyro_sens
11020cameraserver   736  2105 HwBinder:736_1
11021cameraserver   736  2106 HwBinder:736_2
11022cameraserver   736  1735 HwBinder:736_1
11023cameraserver   736  1809 HwBinder:736_3
11024media          737   737 cas@1.0-service
11025system         738   738 contexthub@1.0-
11026system         738   761 android.hardwar
11027media          739   739 drm@1.0-service
11028media          739  3562 HwBinder:739_1
11029media          740   740 drm@1.0-service
11030media          740  3563 HwBinder:740_1
11031media          740 12908 HwBinder:740_2
11032system         741   741 dumpstate@1.0-s
11033gps            742   742 gnss@1.0-servic
11034gps            742  1500 Loc_hal
11035gps            742  1515 Loc_hal
11036gps            742  1516 Loc_hal
11037gps            742  1517 Loc_hal
11038gps            742  1521 Loc_hal
11039gps            742  1542 Loc_hal
11040gps            742  1543 Loc_hal
11041gps            742  1544 Loc_hal
11042gps            742  1554 Loc_hal
11043system         743   743 light@2.0-servi
11044root           744   744 kworker/u16:11
11045system         745   745 memtrack@1.0-se
11046nfc            746   746 nfc@1.0-service
11047system         747   747 oemlock@1.0-ser
11048root           750   750 oemlock-bridge
11049system         754   754 power@1.1-servi
11050system         754   781 android.hardwar
11051system         755   755 sensors@1.0-ser
11052system         755   792 android.hardwar
11053system         755   793 android.hardwar
11054system         755   797 android.hardwar
11055system         755   947 android.hardwar
11056system         755   949 android.hardwar
11057system         755   950 android.hardwar
11058system         755   963 android.hardwar
11059system         755   987 android.hardwar
11060system         755   988 android.hardwar
11061system         755   991 android.hardwar
11062system         755   992 android.hardwar
11063system         755   995 android.hardwar
11064system         755   996 android.hardwar
11065system         755  1000 android.hardwar
11066system         755  1001 android.hardwar
11067system         755  1006 android.hardwar
11068system         755  1008 android.hardwar
11069system         755  1013 android.hardwar
11070system         755  1014 android.hardwar
11071system         755  1015 android.hardwar
11072system         755  1016 android.hardwar
11073system         755  1018 android.hardwar
11074system         755  1019 android.hardwar
11075system         755  1024 android.hardwar
11076system         755  1025 android.hardwar
11077system         755  1027 android.hardwar
11078system         755  1028 android.hardwar
11079system         755  1030 android.hardwar
11080system         755  1031 android.hardwar
11081system         755  1032 android.hardwar
11082system         755  1033 android.hardwar
11083system         755  1034 android.hardwar
11084system         755  1035 android.hardwar
11085system         755  1039 android.hardwar
11086system         755  1040 android.hardwar
11087system         755  1041 android.hardwar
11088system         755  1042 android.hardwar
11089system         755  1047 android.hardwar
11090system         755  1048 android.hardwar
11091system         755  1050 android.hardwar
11092system         755  1247 HwBinder:755_1
11093system         755  1276 HwBinder:755_1
11094system         755  1277 HwBinder:755_1
11095system         755  1278 HwBinder:755_1
11096root           756   756 usb@1.1-service
11097root           756  1301 usb@1.1-service
11098system         757   757 vibrator@1.1-se
11099system         758   758 vr@1.0-service.
11100wifi           759   759 offload@1.0-ser
11101wifi           759   769 android.hardwar
11102wifi           760   760 android.hardwar
11103root           762   762 irq/254-wcd9xxx
11104ese            763   763 esed
11105root           764   764 healthd
11106root           765   765 irq/153-arm-smm
11107root           767   767 msm_irqbalance
11108system         768   768 pm-service
11109system         768   787 POSIX timer 0
11110system         768   788 POSIX timer 1
11111system         768   789 POSIX timer 2
11112system         768   794 pm-service
11113system         768   795 Binder:768_1
11114system         768   799 Binder:768_2
11115system         768   946 Binder:768_3
11116system         768   958 Binder:768_4
11117system         770   770 sensors.qcom
11118system         770   786 sensors.qcom
11119system         770   790 sensors.qcom
11120system         770   791 sensors.qcom
11121system         770   801 sensors.qcom
11122system         770   802 sensors.qcom
11123system         770   803 sensors.qcom
11124system         770   804 sensors.qcom
11125system         770   812 sensors.qcom
11126system         770   813 sensors.qcom
11127system         770   951 sensors.qcom
11128system         770   952 sensors.qcom
11129nobody         773   773 rmt_storage
11130nobody         773  1212 rmt_storage
11131nobody         773  1213 rmt_storage
11132nobody         773  1214 rmt_storage
11133nobody         773  1215 rmt_storage
11134system         774   774 tftp_server
11135system         775   775 pd-mapper
11136system         775   796 pd-mapper
11137system         776   776 bufferhubd
11138root           777   777 lmkd
11139system         778   778 performanced
11140root           779   779 thermalserviced
11141root           779   806 HwBinder:779_1
11142root           779   809 HwBinder:779_2
11143system         780   780 Binder:780_2
11144system         780   785 Binder:780_1
11145root           782   782 at_usb0
11146root           783   783 at_usb1
11147root           784   784 qdss
11148root           798   798 qmi_hndl0000000
11149root           800   800 modem
11150system         808   808 pm-proxy
11151system         808   821 Binder:808_1
11152system         808   823 Binder:808_2
11153system         808   824 Binder:808_3
11154root           810   810 subsystem_ramdu
11155root           814   814 thermal-engine
11156root           814   879 HwBinder:814_1
11157root           814   883 thermal-engine
11158root           814   885 thermal-engine
11159root           814   886 thermal-engine
11160root           814   888 thermal-engine
11161root           814   889 thermal-engine
11162root           814   890 thermal-engine
11163root           814   891 thermal-engine
11164root           814   892 thermal-engine
11165root           814   893 thermal-engine
11166root           814   894 thermal-engine
11167root           814   895 thermal-engine
11168root           814   896 thermal-engine
11169root           814   897 thermal-engine
11170root           814   898 thermal-engine
11171root           814   899 thermal-engine
11172root           814   900 thermal-engine
11173root           814   901 thermal-engine
11174root           814   902 thermal-engine
11175root           814   903 thermal-engine
11176root           814   904 thermal-engine
11177root           814   905 thermal-engine
11178root           814   906 thermal-engine
11179root           814   908 thermal-engine
11180root           814   909 thermal-engine
11181root           814   911 thermal-engine
11182root           814   912 thermal-engine
11183root           814   913 thermal-engine
11184root           814   914 thermal-engine
11185root           814   915 thermal-engine
11186root           814   919 thermal-engine
11187root           814   920 thermal-engine
11188root           814   921 thermal-engine
11189root           814   922 thermal-engine
11190root           814   923 thermal-engine
11191root           814   924 thermal-engine
11192root           814   925 thermal-engine
11193root           814   927 thermal-engine
11194root           814   928 thermal-engine
11195root           814   929 thermal-engine
11196root           814   930 thermal-engine
11197root           814   931 thermal-engine
11198root           814   932 thermal-engine
11199root           814   933 thermal-engine
11200root           814   934 thermal-engine
11201root           814   935 thermal-engine
11202root           814   936 thermal-engine
11203root           814   937 thermal-engine
11204root           814   938 thermal-engine
11205root           814   939 thermal-engine
11206root           814   940 thermal-engine
11207root           814   941 thermal-engine
11208root           814   942 thermal-engine
11209root           814   943 thermal-engine
11210root           814   944 thermal-engine
11211root           814   953 thermal-engine
11212root           814   954 thermal-engine
11213root           814   955 thermal-engine
11214root           814   956 thermal-engine
11215root           814   957 thermal-engine
11216root           814   960 thermal-engine
11217root           814   961 thermal-engine
11218root           814   966 thermal-engine
11219root           814  1241 thermal-engine
11220root           814  1242 thermal-engine
11221media          815   815 adsprpcd
11222media          815   849 adsprpcd
11223media          815   855 adsprpcd
11224system         816   816 imsqmidaemon
11225system         816   840 imsqmidaemon
11226system         817   817 cnd
11227system         817   874 cnd
11228system         817   877 HwBinder:817_1
11229system         817   878 cnd
11230system         817  1305 cnd
11231system         817  1323 cnd
11232radio          818   818 netmgrd
11233root           818   869 netmgrd
11234radio          818   876 netmgrd
11235radio          818   907 HwBinder:818_1
11236radio          818  1020 netmgrd
11237radio          818  1021 netmgrd
11238radio          818  1022 netmgrd
11239radio          818  1114 netmgrd
11240radio          818  1115 netmgrd
11241radio          818  1307 netmgrd
11242radio          818  1635 netmgrd
11243radio          818  1637 netmgrd
11244radio          818  1638 netmgrd
11245radio          818  1640 netmgrd
11246radio          818  1770 netmgrd
11247radio          818  1836 netmgrd
11248radio          818  1841 netmgrd
11249radio          818  1844 netmgrd
11250radio          818  1909 netmgrd
11251radio          818  1910 netmgrd
11252radio          818  1911 netmgrd
11253radio          818  1916 netmgrd
11254radio          818  1952 netmgrd
11255radio          818  1953 netmgrd
11256radio          818  1955 netmgrd
11257radio          818  1956 netmgrd
11258radio          818  1957 netmgrd
11259radio          818  1994 netmgrd
11260radio          818  1995 netmgrd
11261radio          818  1996 netmgrd
11262radio          818  1997 netmgrd
11263radio          818  2038 netmgrd
11264radio          818  2039 netmgrd
11265radio          818  2040 netmgrd
11266radio          818  2044 netmgrd
11267radio          818  2058 netmgrd
11268radio          818  2059 netmgrd
11269radio          818  2060 netmgrd
11270radio          818  2061 netmgrd
11271radio          818  2063 netmgrd
11272radio          818  2064 netmgrd
11273radio          818  2065 netmgrd
11274radio          818  2066 netmgrd
11275radio          818  2082 netmgrd
11276radio          818  2088 netmgrd
11277radio          818  2089 netmgrd
11278radio          818  2096 netmgrd
11279radio          818  2107 netmgrd
11280radio          818  2108 netmgrd
11281radio          818  2109 netmgrd
11282radio          818  2110 netmgrd
11283radio          818  2114 netmgrd
11284radio          818  2115 netmgrd
11285radio          818  2116 netmgrd
11286radio          818  2117 netmgrd
11287radio          818  2119 netmgrd
11288radio          818  2120 netmgrd
11289radio          818  2121 netmgrd
11290radio          818  2122 netmgrd
11291radio          818  2124 netmgrd
11292radio          818  2125 netmgrd
11293radio          818  2126 netmgrd
11294radio          818  2127 netmgrd
11295radio          818  2129 netmgrd
11296radio          818  2130 netmgrd
11297radio          818  2131 netmgrd
11298radio          818  2132 netmgrd
11299radio          818  2136 netmgrd
11300radio          818  2137 netmgrd
11301radio          818  2138 netmgrd
11302radio          818  2139 netmgrd
11303radio          818  2143 netmgrd
11304radio          818  2144 netmgrd
11305radio          818  2146 netmgrd
11306radio          818  2147 netmgrd
11307radio          818  2151 netmgrd
11308radio          818  2152 netmgrd
11309radio          818  2153 netmgrd
11310radio          818  2154 netmgrd
11311radio          819   819 port-bridge
11312radio          819   841 port-bridge
11313radio          819   842 port-bridge
11314root           820   820 kworker/2:1H
11315radio          822   822 ipacm
11316radio          822   870 HwBinder:822_1
11317radio          822   871 ipacm
11318radio          822   872 netlink socket
11319radio          822   873 ipa driver ntfy
11320radio          827   827 qti
11321radio          827   861 qti
11322radio          827  2952 qti
11323radio          827  2953 qti
11324radio          827  2954 qti
11325audioserver    828   828 audioserver
11326audioserver    828  1121 HwBinder:828_1
11327audioserver    828  1123 ApmTone
11328audioserver    828  1124 ApmAudio
11329audioserver    828  1125 ApmOutput
11330audioserver    828  1126 Binder:828_1
11331audioserver    828  1127 Binder:828_2
11332audioserver    828  1171 FastMixer
11333audioserver    828  1172 AudioOut_D
11334audioserver    828  1173 FastMixer
11335audioserver    828  1174 AudioOut_15
11336audioserver    828  1175 AudioOut_1D
11337audioserver    828  1176 FastMixer
11338audioserver    828  1177 AudioOut_25
11339audioserver    828  1178 AudioOut_2D
11340audioserver    828  1188 soundTrigger cb
11341audioserver    828 31001 Binder:828_3
11342cameraserver   829   829 cameraserver
11343cameraserver   829  1037 HwBinder:829_1
11344cameraserver   829  1038 HwBinder:829_2
11345cameraserver   829  2104 HwBinder:829_3
11346cameraserver   829  2111 Binder:829_1
11347cameraserver   829  2112 Binder:829_2
11348cameraserver   829  1734 C3Dev-0-ReqQueu
11349cameraserver   829  9343 Binder:829_3
11350cameraserver   829  9344 Binder:829_4
11351cameraserver   829  9586 Binder:829_5
11352cameraserver   829  9587 Binder:829_6
11353drm            830   830 drmserver
11354drm            830   972 Binder:830_1
11355drm            830 15750 Binder:830_2
11356root           832   832 Binder:832_2
11357root           832   858 Binder:832_1
11358root           832  1223 Binder:832_3
11359root           832  1253 Binder:832_4
11360root           832  1257 Binder:832_5
11361root           832  2201 Binder:832_6
11362root           832  2202 Binder:832_7
11363root           832  2205 Binder:832_8
11364root           832  2206 Binder:832_9
11365root           832  2210 Binder:832_A
11366root           832  2211 Binder:832_B
11367root           832  2212 Binder:832_C
11368root           832  2213 Binder:832_D
11369root           832  2227 Binder:832_E
11370root           832  2228 Binder:832_F
11371keystore       833   833 keystore
11372keystore       833   881 HwBinder:833_1
11373media          834   834 mediadrmserver
11374media          834   917 Binder:834_1
11375media          834  3564 Binder:834_2
11376media          834  3565 HwBinder:834_1
11377mediaex        835   835 mediaextractor
11378mediaex        835   999 Binder:835_1
11379mediaex        835  1930 Binder:835_2
11380mediaex        835  3402 Binder:835_3
11381media          836   836 mediametrics
11382media          836   967 Binder:836_1
11383media          836  3641 Binder:836_2
11384media          837   837 mediaserver
11385media          837  1044 Binder:837_1
11386media          837  1378 HwBinder:837_1
11387media          837  1548 Binder:837_2
11388media          837  1550 Binder:837_3
11389root           838   838 storaged
11390root           838   975 storaged
11391root           838   976 Binder:838_1
11392wifi           839   839 wificond
11393mediacodec     843   843 omx@1.0-service
11394mediacodec     843   985 HwBinder:843_1
11395mediacodec     843   989 HwBinder:843_2
11396mediacodec     843  1003 Binder:843_1
11397mediacodec     843  1381 HwBinder:843_3
11398mediacodec     843  1712 HwBinder:843_4
11399mediacodec     843  1789 HwBinder:843_1
11400mediacodec     843  1790 HwBinder:843_1
11401mediacodec     843 10200 HwBinder:843_4
11402mediacodec     843 10499 HwBinder:843_5
11403mediacodec     843 15742 HwBinder:843_6
11404mediacodec     843 15743 HwBinder:843_7
11405mediacodec     843  6330 HwBinder:843_8
11406mediacodec     843 12451 HwBinder:843_9
11407mediacodec     843 21839 HwBinder:843_A
11408mediacodec     843 21842 HwBinder:843_B
11409mediacodec     843 21865 HwBinder:843_C
11410mediacodec     843 21895 HwBinder:843_D
11411mediacodec     843 16373 HwBinder:843_E
11412mediacodec     843 16374 HwBinder:843_F
11413radio          844   844 rild
11414radio          844  1026 rild
11415radio          844  1043 rild
11416radio          844  1217 Binder:844_1
11417radio          844  1219 rild
11418radio          844  1220 Binder:844_2
11419radio          844  1228 rild
11420radio          844  1229 rild
11421radio          844  1230 HwBinder:844_1
11422radio          844  1232 rild
11423radio          844  1233 rild
11424radio          844  1234 rild
11425radio          844  1236 rild
11426radio          844  1237 rild
11427radio          844  1238 rild
11428radio          844  1239 rild
11429radio          844  1457 rild
11430radio          844  1458 rild
11431radio          844  1459 rild
11432radio          844  1460 rild
11433radio          844  1461 rild
11434radio          844  1462 rild
11435radio          844  1464 rild
11436radio          844  1465 rild
11437radio          844  1466 rild
11438radio          844  1474 rild
11439radio          844  1475 rild
11440radio          844  1518 rild
11441radio          844  1520 rild
11442radio          844  1584 rild
11443radio          844  1599 rild
11444radio          844  1605 rild
11445radio          844  1606 rild
11446radio          844  1607 rild
11447radio          844  1616 rild
11448radio          844  1622 rild
11449radio          844  1624 rild
11450radio          844  1626 rild
11451radio          844  1627 rild
11452radio          844  1629 rild
11453radio          844  1631 rild
11454radio          844  1632 rild
11455root           845   845 kworker/1:2
11456system         848   848 folio_daemon
11457system         850   850 cnss-daemon
11458system         850   959 cnss-daemon
11459system         850   962 cnss-daemon
11460system         850  1216 Binder:850_1
11461system         850  1221 cnss-daemon
11462system         850  1222 Binder:850_2
11463system         850  1360 cnss-daemon
11464system         850  2231 cnss-daemon
11465gps            851   851 loc_launcher
11466gps            851   864 loc_launcher
11467system         852   852 chre
11468system         852   863 chre
11469system         852   867 chre
11470system         852   868 chre
11471system         852  1131 chre
11472system         852  1132 chre
11473system         854   854 gatekeeperd
11474tombstoned     856   856 tombstoned
11475root           857   857 update_engine
11476system         859   859 fingerprint@2.1
11477system         859  1101 android.hardwar
11478system         859  1102 android.hardwar
11479system         859  1104 HwBinder:859_1
11480system         860   860 cnss_diag
11481system         860   926 cnss_diag
11482system         875   875 imsdatadaemon
11483system         875   986 imsdatadaemon
11484system         875  1009 imsdatadaemon
11485system         875  1010 imsdatadaemon
11486system         875  1011 imsdatadaemon
11487system         875  1306 imsdatadaemon
11488system         875  1321 imsdatadaemon
11489root           880   880 ipawq15
11490root           916   916 iparepwq15
11491root           965   965 ipawq48
11492root           969   969 msm_thermal:fre
11493root           971   971 msm_thermal:the
11494root           973   973 iparepwq48
11495root           974   974 kworker/u17:1
11496root           979   979 ipawq13
11497root           984   984 iparepwq13
11498root           997   997 ipa_A7_svc
11499root          1002  1002 qmi_hndl0000000
11500root          1004  1004 clnt_req
11501root          1007  1007 clnt_resp
11502root          1012  1012 clnt_req
11503root          1094  1094 irq/157-arm-smm
11504root          1095  1095 irq/162-arm-smm
11505root          1118  1118 wdsp_glink_wq
11506system        1136  1136 system_server
11507system        1136  1141 Signal Catcher
11508system        1136  1142 JDWP
11509system        1136  1143 ReferenceQueueD
11510system        1136  1144 FinalizerDaemon
11511system        1136  1145 FinalizerWatchd
11512system        1136  1146 HeapTaskDaemon
11513system        1136  1152 Binder:1136_1
11514system        1136  1153 Binder:1136_2
11515system        1136  1155 android.bg
11516system        1136  1156 ActivityManager
11517system        1136  1157 android.ui
11518system        1136  1158 ActivityManager
11519system        1136  1159 batterystats-wo
11520system        1136  1160 FileObserver
11521system        1136  1161 android.fg
11522system        1136  1162 android.io
11523system        1136  1163 android.display
11524system        1136  1164 CpuTracker
11525system        1136  1165 PowerManagerSer
11526system        1136  1166 system_server
11527system        1136  1167 BatteryStats_wa
11528system        1136  1168 PackageManager
11529system        1136  1240 PackageInstalle
11530system        1136  1244 android.anim
11531system        1136  1248 SensorEventAckR
11532system        1136  1249 SensorService
11533system        1136  1250 AccountManagerS
11534system        1136  1252 SettingsProvide
11535system        1136  1258 AlarmManager
11536system        1136  1259 UEventObserver
11537system        1136  1266 HwBinder:1136_1
11538system        1136  1267 HwBinder:1136_2
11539system        1136  1269 InputDispatcher
11540system        1136  1270 InputReader
11541system        1136  1272 StorageManagerS
11542system        1136  1273 VoldConnector
11543system        1136  1274 CryptdConnector
11544system        1136  1279 NetdConnector
11545system        1136  1280 NetworkStats
11546system        1136  1281 NetworkPolicy
11547system        1136  1282 tworkPolicy.uid
11548system        1136  1284 WifiService
11549system        1136  1285 WifiStateMachin
11550system        1136  1286 IpManager.wlan0
11551system        1136  1287 WifiScanningSer
11552system        1136  1288 WifiRttService
11553system        1136  1289 WifiP2pService
11554system        1136  1290 ConnectivitySer
11555system        1136  1291 roid.pacmanager
11556system        1136  1292 NsdService
11557system        1136  1293 mDnsConnector
11558system        1136  1294 notification-sq
11559system        1136  1295 ranker
11560system        1136  1296 onProviders.ECP
11561system        1136  1297 DeviceStorageMo
11562system        1136  1298 AudioService
11563system        1136  1300 HwBinder:1136_3
11564system        1136  1302 ConnectivityThr
11565system        1136  1303 GraphicsStats-d
11566system        1136  1304 CameraService_p
11567system        1136  1313 SyncHandler-0
11568system        1136  1314 wifiAwareServic
11569system        1136  1315 EthernetService
11570system        1136  1316 TaskSnapshotPer
11571system        1136  1317 PhotonicModulat
11572system        1136  1318 LazyTaskWriterT
11573system        1136  1332 UsbService host
11574system        1136  1338 Thread-2
11575system        1136  1347 Binder:1136_3
11576system        1136  1353 SoundPool
11577system        1136  1356 SoundPoolThread
11578system        1136  1387 NetworkStatsObs
11579system        1136  1432 watchdog
11580system        1136  1490 EmergencyAfford
11581system        1136  1504 Binder:1136_4
11582system        1136  1509 Binder:1136_5
11583system        1136  1531 NetworkTimeUpda
11584system        1136  1609 Binder:1136_6
11585system        1136  1615 Binder:1136_7
11586system        1136  1630 Binder:1136_8
11587system        1136  1633 Binder:1136_9
11588system        1136  1634 Binder:1136_A
11589system        1136  1742 BluetoothRouteM
11590system        1136  1746 uteStateMachine
11591system        1136  1747 CallAudioModeSt
11592system        1136  1807 queued-work-loo
11593system        1136  2026 hidl_ssvc_poll
11594system        1136  2173 UsbDebuggingMan
11595system        1136  2249 backup
11596system        1136  2329 Binder:1136_B
11597system        1136  2335 Binder:1136_C
11598system        1136  2391 Binder:1136_D
11599system        1136  2434 SyncHandler-1
11600system        1136  2437 Binder:1136_E
11601system        1136  2915 AsyncQueryWorke
11602system        1136  3268 HwBinder:1136_4
11603system        1136  4183 Binder:1136_F
11604system        1136  4278 Binder:1136_10
11605system        1136  4300 Binder:1136_11
11606system        1136  4801 Okio Watchdog
11607system        1136  4939 android.anim
11608system        1136  4959 RenderThread
11609system        1136  7074 Binder:1136_12
11610system        1136 13711 HwBinder:1136_5
11611system        1136 11882 OkHttp Connecti
11612system        1136 12228 AsyncTask #110
11613system        1136 12237 AsyncTask #111
11614system        1136 12240 AsyncTask #112
11615system        1136 12241 AsyncTask #113
11616system        1136 12286 pool-2-thread-3
11617system        1136 12885 Error dump: sys
11618system        1136 13011 Error dump: sys
11619root          1209  1209 mpss_IPCRTR
11620root          1210  1210 qmi_hndl0000000
11621root          1211  1211 qmi_hndl0000000
11622root          1243  1243 qmi_hndl0000000
11623u0_a39        1341  1341 ndroid.systemui
11624u0_a39        1341  1348 Jit thread pool
11625u0_a39        1341  1349 Signal Catcher
11626u0_a39        1341  1350 JDWP
11627u0_a39        1341  1351 ReferenceQueueD
11628u0_a39        1341  1352 FinalizerDaemon
11629u0_a39        1341  1354 FinalizerWatchd
11630u0_a39        1341  1355 HeapTaskDaemon
11631u0_a39        1341  1358 Binder:1341_1
11632u0_a39        1341  1361 Binder:1341_2
11633u0_a39        1341  1375 Binder:1341_3
11634u0_a39        1341  1522 pool-1-thread-1
11635u0_a39        1341  1523 SoundPool
11636u0_a39        1341  1524 SoundPoolThread
11637u0_a39        1341  1532 Recents-HighRes
11638u0_a39        1341  1533 Recents-TaskRes
11639u0_a39        1341  1540 recents.fg
11640u0_a39        1341  1566 async_sensor
11641u0_a39        1341  1686 VolumeDialogCon
11642u0_a39        1341  1694 SysUiBg
11643u0_a39        1341  1757 queued-work-loo
11644u0_a39        1341  1768 RenderThread
11645u0_a39        1341  1781 ConnectivityThr
11646u0_a39        1341  1797 TimeTick
11647u0_a39        1341  1892 Keyboard
11648u0_a39        1341  1915 pool-2-thread-1
11649u0_a39        1341  1926 HwBinder:1341_1
11650u0_a39        1341  2012 RenderThread
11651u0_a39        1341  2013 hwuiTask1
11652u0_a39        1341  2027 hwuiTask2
11653u0_a39        1341  2035 Thread-2
11654u0_a39        1341 10541 Binder:1341_4
11655u0_a39        1341 10803 FlashlightContr
11656u0_a39        1341 21891 Binder:1341_5
11657root          1357  1357 qmi_hndl0000000
11658radio         1362  1362 le.modemservice
11659radio         1362  1367 Jit thread pool
11660radio         1362  1368 Signal Catcher
11661radio         1362  1369 JDWP
11662radio         1362  1370 ReferenceQueueD
11663radio         1362  1371 FinalizerDaemon
11664radio         1362  1372 FinalizerWatchd
11665radio         1362  1373 HeapTaskDaemon
11666radio         1362  1374 Binder:1362_1
11667radio         1362  1376 Binder:1362_2
11668radio         1362  1430 Profile Saver
11669radio         1362  1434 ModemService
11670radio         1362  1452 queued-work-loo
11671radio         1362 23042 Binder:1362_3
11672radio         1438  1438 .qcrilmsgtunnel
11673radio         1438  1443 Jit thread pool
11674radio         1438  1444 Signal Catcher
11675radio         1438  1445 JDWP
11676radio         1438  1446 ReferenceQueueD
11677radio         1438  1447 FinalizerDaemon
11678radio         1438  1448 FinalizerWatchd
11679radio         1438  1449 HeapTaskDaemon
11680radio         1438  1453 Binder:1438_1
11681radio         1438  1454 Binder:1438_2
11682radio         1438  1456 Binder:1438_3
11683radio         1438  1492 Profile Saver
11684radio         1438  1503 HwBinder:1438_1
11685radio         1438  1505 queued-work-loo
11686u0_a99        1467  1467 reel.wallpapers
11687u0_a99        1467  1476 Jit thread pool
11688u0_a99        1467  1477 Signal Catcher
11689u0_a99        1467  1479 JDWP
11690u0_a99        1467  1480 ReferenceQueueD
11691u0_a99        1467  1481 FinalizerDaemon
11692u0_a99        1467  1487 FinalizerWatchd
11693u0_a99        1467  1489 HeapTaskDaemon
11694u0_a99        1467  1491 Binder:1467_1
11695u0_a99        1467  1493 Binder:1467_2
11696u0_a99        1467  1494 Binder:1467_3
11697u0_a99        1467  1506 Profile Saver
11698u0_a99        1467  1793 GLThread 43
11699u0_a99        1467  1795 SoundPool
11700u0_a99        1467  1796 SoundPoolThread
11701u0_a99        1467  1798 AsynchExecutor-
11702u0_a99        1467  1990 GLThread 43
11703gps           1546  1546 lowi-server
11704gps           1546  1596 lowi-server
11705gps           1546  1597 lowi-server
11706gps           1546  1600 lowi-server
11707gps           1546  1601 lowi-server
11708gps           1546  2268 lowi-server
11709gps           1546  2269 lowi-server
11710gps           1546  2271 lowi-server
11711gps           1546 12179 lowi-server
11712system        1556  1556 .dataservices
11713system        1556  1567 Jit thread pool
11714system        1556  1568 Signal Catcher
11715system        1556  1569 JDWP
11716system        1556  1571 ReferenceQueueD
11717system        1556  1572 FinalizerDaemon
11718system        1556  1573 FinalizerWatchd
11719system        1556  1574 HeapTaskDaemon
11720system        1556  1575 Binder:1556_1
11721system        1556  1577 Binder:1556_2
11722system        1556  1677 Profile Saver
11723system        1556  1685 cneservice_thre
11724system        1556  1691 CNEReceiver
11725system        1556  1698 ConnectivityThr
11726system        1556  1701 MainEventThread
11727system        1556  1702 HwBinder:1556_1
11728system        1556  4828 queued-work-loo
11729system        1556 10575 Binder:1556_3
11730system        1556 32603 Binder:1556_4
11731gps           1562  1562 xtra-daemon
11732gps           1562  1589 pcid-lo
11733gps           1562  1603 pcid-lo
11734gps           1562  1604 pcid-lo
11735gps           1562  1608 pcid-lo
11736gps           1562  1610 LocTime
11737gps           1562  1611 LocTime
11738gps           1563  1563 loc_launcher
11739gps           1564  1564 loc_launcher
11740gps           1565  1565 loc_launcher
11741radio         1576  1576 elephonyservice
11742radio         1576  1582 Jit thread pool
11743radio         1576  1583 Signal Catcher
11744radio         1576  1586 JDWP
11745radio         1576  1592 ReferenceQueueD
11746radio         1576  1593 FinalizerDaemon
11747radio         1576  1594 FinalizerWatchd
11748radio         1576  1595 HeapTaskDaemon
11749radio         1576  1598 Binder:1576_1
11750radio         1576  1602 Binder:1576_2
11751radio         1576  1695 Profile Saver
11752radio         1576  2778 HwBinder:1576_1
11753radio         1576  2785 queued-work-loo
11754radio         1585  1585 m.android.phone
11755radio         1585  1612 Jit thread pool
11756radio         1585  1613 Signal Catcher
11757radio         1585  1614 JDWP
11758radio         1585  1617 ReferenceQueueD
11759radio         1585  1618 FinalizerDaemon
11760radio         1585  1619 FinalizerWatchd
11761radio         1585  1620 HeapTaskDaemon
11762radio         1585  1623 Binder:1585_1
11763radio         1585  1625 Binder:1585_2
11764radio         1585  1683 Profile Saver
11765radio         1585  1721 EuiccConnector
11766radio         1585  1724 android.bg
11767radio         1585  1732 HwBinder:1585_1
11768radio         1585  1749 GsmCellBroadcas
11769radio         1585  1755 GsmInboundSmsHa
11770radio         1585  1756 CellBroadcastHa
11771radio         1585  1759 CdmaInboundSmsH
11772radio         1585  1761 CdmaServiceCate
11773radio         1585  1780 DcHandlerThread
11774radio         1585  1784 Binder:1585_3
11775radio         1585  1811 Binder:1585_4
11776radio         1585  1822 ImsServiceContr
11777radio         1585  1829 queued-work-loo
11778radio         1585  1832 org.codeaurora.
11779radio         1585  1833 ImsConfigImplHa
11780radio         1585  1902 Binder:1585_5
11781radio         1585  2916 ervice.Executor
11782radio         1585  2917 ConnectivityThr
11783radio         1585 30697 AudioTrack
11784radio         1585  9825 Binder:1585_6
11785root          1644  1644 ipawq14
11786root          1651  1651 iparepwq14
11787root          1659  1659 ipawq49
11788root          1665  1665 iparepwq49
11789root          2193  2193 irq/35-1008000.
11790root          2203  2203 kworker/3:1H
11791root          2207  2207 wlan_logging_th
11792root          2208  2208 perfd
11793root          2208  2215 perfd
11794root          2208  2218 POSIX timer 0
11795root          2208 21805 POSIX timer 71
11796root          2219  2219 cds_mc_thread
11797root          2220  2220 cds_ol_rx_threa
11798root          2221  2221 wmi_rx_event_wo
11799nfc           2315  2315 com.android.nfc
11800nfc           2315  2320 Jit thread pool
11801nfc           2315  2321 Signal Catcher
11802nfc           2315  2322 JDWP
11803nfc           2315  2323 ReferenceQueueD
11804nfc           2315  2324 FinalizerDaemon
11805nfc           2315  2325 FinalizerWatchd
11806nfc           2315  2326 HeapTaskDaemon
11807nfc           2315  2327 Binder:2315_1
11808nfc           2315  2328 Binder:2315_2
11809nfc           2315  2414 Profile Saver
11810nfc           2315  2576 HwBinder:2315_1
11811nfc           2315  5876 queued-work-loo
11812nfc           2315 17107 Binder:2315_3
11813nfc           2315 12019 AsyncTask #52
11814nfc           2315 12307 AsyncTask #53
11815radio         2330  2330 .ims.rcsservice
11816radio         2330  2336 Jit thread pool
11817radio         2330  2342 Signal Catcher
11818radio         2330  2343 JDWP
11819radio         2330  2344 ReferenceQueueD
11820radio         2330  2345 FinalizerDaemon
11821radio         2330  2346 FinalizerWatchd
11822radio         2330  2347 HeapTaskDaemon
11823radio         2330  2352 Binder:2330_1
11824radio         2330  2356 Binder:2330_2
11825radio         2330  2357 Binder:2330_3
11826radio         2330  2375 Profile Saver
11827radio         2330  2471 Listener
11828radio         2330  2482 queued-work-loo
11829radio         2330  2888 EABServiceHandl
11830system        2337  2337 RestartDetector
11831system        2337  2348 Jit thread pool
11832system        2337  2349 Signal Catcher
11833system        2337  2350 JDWP
11834system        2337  2351 ReferenceQueueD
11835system        2337  2353 FinalizerDaemon
11836system        2337  2354 FinalizerWatchd
11837system        2337  2355 HeapTaskDaemon
11838system        2337  2358 Binder:2337_1
11839system        2337  2359 Binder:2337_2
11840system        2337  2430 Profile Saver
11841system        2337  3132 FileObserver
11842system        2337  3133 queued-work-loo
11843u0_a47        2438  2438 s.nexuslauncher
11844u0_a47        2438  2443 Jit thread pool
11845u0_a47        2438  2444 Signal Catcher
11846u0_a47        2438  2445 JDWP
11847u0_a47        2438  2446 ReferenceQueueD
11848u0_a47        2438  2447 FinalizerDaemon
11849u0_a47        2438  2448 FinalizerWatchd
11850u0_a47        2438  2449 HeapTaskDaemon
11851u0_a47        2438  2450 Binder:2438_1
11852u0_a47        2438  2451 Binder:2438_2
11853u0_a47        2438  2470 Profile Saver
11854u0_a47        2438  2477 launcher-loader
11855u0_a47        2438  2483 GAC_Executor[0]
11856u0_a47        2438  2484 GoogleApiHandle
11857u0_a47        2438  2542 pool-1-thread-1
11858u0_a47        2438  2545 qsb-experiments
11859u0_a47        2438  2561 smartspace-load
11860u0_a47        2438  2569 reflection-thre
11861u0_a47        2438  2584 RenderThread
11862u0_a47        2438  2585 GAC_Executor[1]
11863u0_a47        2438  2600 RenderThread
11864u0_a47        2438  2604 hwuiTask1
11865u0_a47        2438  2605 hwuiTask2
11866u0_a47        2438  2613 RenderThread
11867u0_a47        2438  2614 RenderThread
11868u0_a47        2438  2615 RenderThread
11869u0_a47        2438  2616 RenderThread
11870u0_a47        2438  2617 RenderThread
11871u0_a47        2438  2618 RenderThread
11872u0_a47        2438  2619 RenderThread
11873u0_a47        2438  2620 RenderThread
11874u0_a47        2438  2632 Binder:2438_3
11875u0_a47        2438  2721 queued-work-loo
11876u0_a29        2452  2452 elligence.sense
11877u0_a29        2452  2457 Jit thread pool
11878u0_a29        2452  2458 Signal Catcher
11879u0_a29        2452  2462 JDWP
11880u0_a29        2452  2463 ReferenceQueueD
11881u0_a29        2452  2464 FinalizerDaemon
11882u0_a29        2452  2465 FinalizerWatchd
11883u0_a29        2452  2466 HeapTaskDaemon
11884u0_a29        2452  2467 Binder:2452_1
11885u0_a29        2452  2469 Binder:2452_2
11886u0_a29        2452  2481 Profile Saver
11887u0_a29        2452  2553 GoogleApiHandle
11888u0_a29        2452  2580 superpacks-cont
11889u0_a29        2452  2595 Background #0
11890u0_a29        2452  2597 Background #1
11891u0_a29        2452  4747 queued-work-loo
11892u0_a29        2452  5882 Binder:2452_3
11893u0_a29        2452  5884 Primes-1
11894u0_a29        2452  6961 Primes-2
11895u0_a32        3721  3721 .apps.turbo:aab
11896u0_a32        3721  3726 Jit thread pool
11897u0_a32        3721  3727 Signal Catcher
11898u0_a32        3721  3728 JDWP
11899u0_a32        3721  3729 ReferenceQueueD
11900u0_a32        3721  3730 FinalizerDaemon
11901u0_a32        3721  3731 FinalizerWatchd
11902u0_a32        3721  3732 HeapTaskDaemon
11903u0_a32        3721  3733 Binder:3721_1
11904u0_a32        3721  3734 Binder:3721_2
11905u0_a32        3721  3735 Binder:3721_3
11906u0_a32        3721  3736 Profile Saver
11907u0_a32        3721  3741 queued-work-loo
11908u0_a32        3721  3742 GoogleApiHandle
11909u0_a32        3721  5885 Primes-1
11910u0_a32        3721  6962 Primes-2
11911root          3724  3724 iptables-restor
11912root          3737  3737 ip6tables-resto
11913root          4292  4292 kworker/5:0
11914root          4337  4337 kworker/4:0
11915system        4764  4764 lcomm.telephony
11916system        4764  4769 Jit thread pool
11917system        4764  4770 Signal Catcher
11918system        4764  4771 JDWP
11919system        4764  4772 ReferenceQueueD
11920system        4764  4773 FinalizerDaemon
11921system        4764  4774 FinalizerWatchd
11922system        4764  4775 HeapTaskDaemon
11923system        4764  4776 Binder:4764_1
11924system        4764  4777 Binder:4764_2
11925system        4764  4778 Profile Saver
11926system        4764  4779 Thread-2
11927system        4764  4780 CTSA Inject Thr
11928system        4764  4781 HwBinder:4764_1
11929system        4764  4782 queued-work-loo
11930u0_a44        4845  4845 n.mips.services
11931u0_a44        4845  4850 Jit thread pool
11932u0_a44        4845  4851 Signal Catcher
11933u0_a44        4845  4852 JDWP
11934u0_a44        4845  4853 ReferenceQueueD
11935u0_a44        4845  4854 FinalizerDaemon
11936u0_a44        4845  4855 FinalizerWatchd
11937u0_a44        4845  4856 HeapTaskDaemon
11938u0_a44        4845  4857 Binder:4845_1
11939u0_a44        4845  4858 Binder:4845_2
11940u0_a44        4845  4873 Binder:4845_3
11941u0_a44        4845  4875 Profile Saver
11942u0_a44        4845  4881 queued-work-loo
11943u0_a44        4845  5255 ConnectivityThr
11944u0_a44        4845  5830 Okio Watchdog
11945u0_a712       4896  4896 .android.daemon
11946u0_a712       4896  4902 Jit thread pool
11947u0_a712       4896  4903 Signal Catcher
11948u0_a712       4896  4904 JDWP
11949u0_a712       4896  4905 ReferenceQueueD
11950u0_a712       4896  4906 FinalizerDaemon
11951u0_a712       4896  4907 FinalizerWatchd
11952u0_a712       4896  4908 HeapTaskDaemon
11953u0_a712       4896  4909 Binder:4896_1
11954u0_a712       4896  4910 Binder:4896_2
11955u0_a712       4896  4914 Profile Saver
11956u0_a712       4896  4935 queued-work-loo
11957u0_a712       4896  4947 ConnectivityThr
11958u0_a712       4896  4957 RenderThread
11959u0_a712       4896  4962 RenderThread
11960u0_a712       4896  4965 hwuiTask1
11961u0_a712       4896  9617 Binder:4896_3
11962root          4937  4937 kworker/2:1
11963root          5027  5027 adbd
11964root          5027  5028 usb ffs open
11965root          5027  5079 ->transport
11966root          5027  5080 <-transport
11967root          5027 13215 shell svc 13214
11968root          5027 13219 shell svc 13218
11969u0_a27        5340  5340 id.defcontainer
11970u0_a27        5340  5345 Jit thread pool
11971u0_a27        5340  5346 Signal Catcher
11972u0_a27        5340  5347 JDWP
11973u0_a27        5340  5349 ReferenceQueueD
11974u0_a27        5340  5350 FinalizerDaemon
11975u0_a27        5340  5351 FinalizerWatchd
11976u0_a27        5340  5352 HeapTaskDaemon
11977u0_a27        5340  5354 Binder:5340_1
11978u0_a27        5340  5355 Binder:5340_2
11979u0_a27        5340  5387 Profile Saver
11980u0_a27        5340  5390 queued-work-loo
11981u0_a26        7090  7090 .gms.persistent
11982u0_a26        7090  7095 Jit thread pool
11983u0_a26        7090  7096 Signal Catcher
11984u0_a26        7090  7097 JDWP
11985u0_a26        7090  7103 ReferenceQueueD
11986u0_a26        7090  7104 FinalizerDaemon
11987u0_a26        7090  7105 FinalizerWatchd
11988u0_a26        7090  7106 HeapTaskDaemon
11989u0_a26        7090  7107 Binder:7090_1
11990u0_a26        7090  7110 Binder:7090_2
11991u0_a26        7090  7121 Profile Saver
11992u0_a26        7090  7125 FileObserver
11993u0_a26        7090  7130 GlobalScheduler
11994u0_a26        7090  7139 GlobalDispatchi
11995u0_a26        7090  7143 GoogleApiHandle
11996u0_a26        7090  7157 queued-work-loo
11997u0_a26        7090  7162 Binder:7090_3
11998u0_a26        7090  7174 GeofencerStateM
11999u0_a26        7090  7176 RealContextHub
12000u0_a26        7090  7177 GAC_Executor[0]
12001u0_a26        7090  7178 ConnectivityThr
12002u0_a26        7090  7179 FlpThread
12003u0_a26        7090  7191 highpool[0]
12004u0_a26        7090  7192 highpool[1]
12005u0_a26        7090  7193 Binder:7090_4
12006u0_a26        7090  7194 highpool[2]
12007u0_a26        7090  7195 highpool[3]
12008u0_a26        7090  7196 GAC_Executor[1]
12009u0_a26        7090  7204 GoogleLocationS
12010u0_a26        7090  7207 lowpool[0]
12011u0_a26        7090  7209 MSMuxTR-0
12012u0_a26        7090  7234 lowpool[2]
12013u0_a26        7090  7235 lowpool[3]
12014u0_a26        7090  7421 Binder:7090_5
12015u0_a26        7090  7962 Thread-7
12016u0_a26        7090  7963 Thread-8
12017u0_a26        7090  7964 Thread-9
12018u0_a26        7090  7965 Thread-10
12019u0_a26        7090  7966 Thread-11
12020u0_a26        7090  7967 DG
12021u0_a26        7090 10905 Binder:7090_6
12022u0_a26        7090  8433 lowpool[4]
12023u0_a26        7090 12072 peration loader
12024u0_a26        7090 12073 raService] idle
12025u0_a26        7090 12371 netscheduler-qu
12026u0_a26        7090 12374 raService] idle
12027u0_a26        7090 12375 raService] idle
12028u0_a26        7090 12379 raService] idle
12029u0_a26        7090 12412 lowpool[5]
12030u0_a26        7090 12724 lowpool[6]
12031u0_a26        7090 12773 NearbyMessages
12032u0_a26        7090 12782 NearbyDirectMai
12033u0_a26        7090 12836 lowpool[7]
12034u0_a26        7090 12956 lowpool[8]
12035u0_a26        7098  7098 gle.android.gms
12036u0_a26        7098  7109 Jit thread pool
12037u0_a26        7098  7112 Signal Catcher
12038u0_a26        7098  7113 JDWP
12039u0_a26        7098  7115 ReferenceQueueD
12040u0_a26        7098  7116 FinalizerDaemon
12041u0_a26        7098  7117 FinalizerWatchd
12042u0_a26        7098  7118 HeapTaskDaemon
12043u0_a26        7098  7119 Binder:7098_1
12044u0_a26        7098  7120 Binder:7098_2
12045u0_a26        7098  7122 Binder:7098_3
12046u0_a26        7098  7123 Profile Saver
12047u0_a26        7098  7131 GlobalDispatchi
12048u0_a26        7098  7144 GoogleApiHandle
12049u0_a26        7098  7145 FileObserver
12050u0_a26        7098  7158 queued-work-loo
12051u0_a26        7098  7776 lowpool[0]
12052u0_a26        7098  7953 GAC_Executor[0]
12053u0_a26        7098  7956 GAC_Executor[1]
12054u0_a26        7098  8122 GlobalScheduler
12055u0_a26        7098  8594 Binder:7098_4
12056u0_a26        7098  8913 lowpool[1]
12057u0_a26        7098  9406 lowpool[2]
12058u0_a26        7098 10593 lowpool[3]
12059u0_a26        7098 11037 Binder:7098_5
12060u0_a26        7098 17202 Binder:7098_6
12061u0_a26        7098 21793 Binder:7098_7
12062u0_a26        7098 29707 Binder:7098_8
12063u0_a26        7098 10450 Thread-446
12064u0_a26        7098 10451 Thread-447
12065u0_a26        7098 10452 Thread-448
12066u0_a26        7098 10453 Thread-449
12067u0_a26        7098 10454 Thread-450
12068u0_a26        7098 25963 Binder:7098_9
12069u0_a26        7098 15761 highpool[0]
12070u0_a26        7098 12069 peration loader
12071u0_a26        7098 12070 raService] idle
12072u0_a26        7098 12075 raService] idle
12073u0_a26        7098 12513 raService] idle
12074u0_a26        7098 12528 raService] idle
12075u0_a26        7098 12529 raService] idle
12076u0_a26        7098 12542 highpool[1]
12077u0_a26        7098 12547 AdWorker(Defaul
12078u0_a26        7098 12578 highpool[2]
12079u0_a26        7098 12580 lowpool[4]
12080u0_a26        7098 12581 raService] idle
12081u0_a26        7098 12582 raService] idle
12082u0_a26        7098 12584 raService] idle
12083u0_a26        7098 12585 raService] idle
12084u0_a26        7098 12588 lowpool[5]
12085u0_a26        7098 12589 highpool[3]
12086u0_a26        7098 12655 highpool[4]
12087u0_a26        7098 12695 raService] idle
12088u0_a26        7098 12701 ConnectivityThr
12089u0_a26        7098 12726 Measurement Wor
12090u0_a26        7098 12729 DG
12091u0_a26        7098 12839 AsyncTask #1
12092u0_a26        7098 12862 AsyncTask #2
12093u0_a26        7098 13002 grpc-timer-0
12094u0_a26        7098 13003 grpc-default-ex
12095u0_a26        7098 13005 grpc-default-ex
12096u0_a26        7098 13051 lowpool[6]
12097u0_a26        7098 13193 measurement-1
12098root          7580  7580 kworker/7:2
12099root          7655  7655 kworker/0:1
12100root          7755  7755 kworker/2:0
12101u0_a16        8921  8921 oid.documentsui
12102u0_a16        8921  8926 Jit thread pool
12103u0_a16        8921  8927 Signal Catcher
12104u0_a16        8921  8928 JDWP
12105u0_a16        8921  8929 ReferenceQueueD
12106u0_a16        8921  8930 FinalizerDaemon
12107u0_a16        8921  8931 FinalizerWatchd
12108u0_a16        8921  8932 HeapTaskDaemon
12109u0_a16        8921  8933 Binder:8921_1
12110u0_a16        8921  8935 Binder:8921_2
12111u0_a16        8921  8936 Profile Saver
12112u0_a16        8921 12046 AsyncTask #6
12113u0_a16        8921 12082 AsyncTask #7
12114u0_a16        8921 12093 AsyncTask #8
12115u0_a16        8921 12104 AsyncTask #9
12116u0_a38        8947  8947 d.process.media
12117u0_a38        8947  8952 Jit thread pool
12118u0_a38        8947  8953 Signal Catcher
12119u0_a38        8947  8954 JDWP
12120u0_a38        8947  8955 ReferenceQueueD
12121u0_a38        8947  8956 FinalizerDaemon
12122u0_a38        8947  8957 FinalizerWatchd
12123u0_a38        8947  8958 HeapTaskDaemon
12124u0_a38        8947  8959 Binder:8947_1
12125u0_a38        8947  8960 Binder:8947_2
12126u0_a38        8947  8961 Profile Saver
12127u0_a38        8947  8963 thumbs thread
12128u0_a38        8947  8964 sAsyncHandlerTh
12129u0_a38        8947  9852 queued-work-loo
12130root         10171 10171 kworker/0:2
12131root         10578 10578 kworker/u16:6
12132root         10822 10822 kworker/u16:0
12133root         11013 11013 kworker/7:0
12134root         11093 11093 kworker/u16:5
12135root         11198 11198 kworker/1:1
12136root         11204 11204 kworker/3:0
12137root         11314 11314 kworker/5:1
12138root         11385 11385 kworker/6:1
12139root         11468 11468 kworker/u16:2
12140root         11477 11477 kworker/4:2
12141root         11483 11483 kworker/2:4
12142root         11493 11493 kworker/1:3
12143root         11635 11635 kworker/6:0
12144root         11710 11710 kworker/0:3
12145root         11723 11723 kworker/3:1
12146root         11733 11733 kworker/2:2
12147root         11737 11737 kworker/4:1
12148root         11740 11740 kworker/1:0
12149root         11743 11743 kworker/1:4
12150root         11801 11801 kworker/7:1
12151root         11894 11894 kworker/6:2
12152root         11895 11895 kworker/u16:4
12153root         11896 11896 kworker/2:3
12154root         11961 11961 kworker/0:0
12155root         11963 11963 kworker/4:3
12156root         11972 11972 kworker/3:2
12157root         12010 12010 kworker/7:3
12158system       12047 12047 ndroid.keychain
12159system       12047 12054 Jit thread pool
12160system       12047 12055 Signal Catcher
12161system       12047 12056 JDWP
12162system       12047 12058 ReferenceQueueD
12163system       12047 12059 FinalizerDaemon
12164system       12047 12060 FinalizerWatchd
12165system       12047 12061 HeapTaskDaemon
12166system       12047 12062 Binder:12047_1
12167system       12047 12063 Binder:12047_2
12168system       12047 12068 queued-work-loo
12169root         12136 12136 kworker/3:3
12170root         12172 12172 kworker/u16:7
12171root         12173 12173 kworker/u16:9
12172root         12174 12174 kworker/u16:10
12173root         12175 12175 kworker/u16:12
12174root         12176 12176 kworker/u16:13
12175root         12177 12177 kworker/u16:14
12176root         12178 12178 kworker/u16:15
12177u0_a26       12188 12188 e.process.gapps
12178u0_a26       12188 12193 Jit thread pool
12179u0_a26       12188 12194 Signal Catcher
12180u0_a26       12188 12195 JDWP
12181u0_a26       12188 12196 ReferenceQueueD
12182u0_a26       12188 12197 FinalizerDaemon
12183u0_a26       12188 12198 FinalizerWatchd
12184u0_a26       12188 12199 HeapTaskDaemon
12185u0_a26       12188 12200 Binder:12188_1
12186u0_a26       12188 12201 Binder:12188_2
12187u0_a26       12188 12202 Binder:12188_3
12188u0_a26       12188 12203 Profile Saver
12189u0_a26       12188 12219 RefQueueWorker@
12190u0_a26       12188 12406 Binder:12188_4
12191u0_a26       12188 12411 Binder:12188_5
12192u0_a26       12204 12204 ocess.gservices
12193u0_a26       12204 12209 Jit thread pool
12194u0_a26       12204 12210 Signal Catcher
12195u0_a26       12204 12211 JDWP
12196u0_a26       12204 12212 ReferenceQueueD
12197u0_a26       12204 12213 FinalizerDaemon
12198u0_a26       12204 12214 FinalizerWatchd
12199u0_a26       12204 12215 HeapTaskDaemon
12200u0_a26       12204 12216 Binder:12204_1
12201u0_a26       12204 12217 Binder:12204_2
12202u0_a26       12204 12218 Profile Saver
12203u0_a26       12204 12315 Binder:12204_3
12204u0_a26       12204 12316 Binder:12204_4
12205u0_a26       12204 12318 Binder:12204_5
12206u0_a26       12204 12320 Binder:12204_6
12207u0_a26       12204 13185 Binder:12204_7
12208u0_a15       12324 12324 ctivity.metrics
12209u0_a15       12324 12329 Jit thread pool
12210u0_a15       12324 12330 Signal Catcher
12211u0_a15       12324 12331 JDWP
12212u0_a15       12324 12332 ReferenceQueueD
12213u0_a15       12324 12333 FinalizerDaemon
12214u0_a15       12324 12334 FinalizerWatchd
12215u0_a15       12324 12335 HeapTaskDaemon
12216u0_a15       12324 12336 Binder:12324_1
12217u0_a15       12324 12339 Binder:12324_2
12218u0_a15       12324 12342 Profile Saver
12219u0_a15       12324 12343 AsyncTask #1
12220u0_a15       12324 12345 GAC_Executor[0]
12221u0_a15       12324 12364 GAC_Executor[1]
12222u0_a15       12324 13186 AsyncTask #2
12223u0_a22       12381 12381 id.partnersetup
12224u0_a22       12381 12386 Jit thread pool
12225u0_a22       12381 12387 Signal Catcher
12226u0_a22       12381 12388 JDWP
12227u0_a22       12381 12389 ReferenceQueueD
12228u0_a22       12381 12390 FinalizerDaemon
12229u0_a22       12381 12391 FinalizerWatchd
12230u0_a22       12381 12392 HeapTaskDaemon
12231u0_a22       12381 12393 Binder:12381_1
12232u0_a22       12381 12394 Binder:12381_2
12233u0_a22       12381 12395 Profile Saver
12234webview_zygote 12409 12409 main
12235webview_zygote 12409 12458 ReferenceQueueD
12236webview_zygote 12409 12459 FinalizerDaemon
12237webview_zygote 12409 12460 FinalizerWatchd
12238webview_zygote 12409 12461 HeapTaskDaemon
12239radio        12413 12413 elephonymonitor
12240radio        12413 12418 Jit thread pool
12241radio        12413 12419 Signal Catcher
12242radio        12413 12420 JDWP
12243radio        12413 12421 ReferenceQueueD
12244radio        12413 12422 FinalizerDaemon
12245radio        12413 12423 FinalizerWatchd
12246radio        12413 12424 HeapTaskDaemon
12247radio        12413 12425 Binder:12413_1
12248radio        12413 12426 Binder:12413_2
12249radio        12413 12427 Profile Saver
12250u0_a93       12475 12475 id.printspooler
12251u0_a93       12475 12480 Jit thread pool
12252u0_a93       12475 12481 Signal Catcher
12253u0_a93       12475 12482 JDWP
12254u0_a93       12475 12483 ReferenceQueueD
12255u0_a93       12475 12484 FinalizerDaemon
12256u0_a93       12475 12485 FinalizerWatchd
12257u0_a93       12475 12486 HeapTaskDaemon
12258u0_a93       12475 12487 Binder:12475_1
12259u0_a93       12475 12488 Binder:12475_2
12260u0_a93       12475 12489 Profile Saver
12261u0_a93       12475 13065 AsyncTask #1
12262u0_a93       12475 13072 queued-work-loo
12263u0_a25       12601 12601 ndroid.apps.gcs
12264u0_a25       12601 12606 Jit thread pool
12265u0_a25       12601 12607 Signal Catcher
12266u0_a25       12601 12608 JDWP
12267u0_a25       12601 12609 ReferenceQueueD
12268u0_a25       12601 12610 FinalizerDaemon
12269u0_a25       12601 12611 FinalizerWatchd
12270u0_a25       12601 12612 HeapTaskDaemon
12271u0_a25       12601 12613 Binder:12601_1
12272u0_a25       12601 12614 Binder:12601_2
12273u0_a25       12601 12616 Profile Saver
12274u0_a25       12601 12624 queued-work-loo
12275u0_a25       12601 12629 measurement-1
12276u0_a25       12601 12634 GAC_Executor[0]
12277u0_a25       12601 12635 GAC_Executor[1]
12278u0_a25       12601 12636 GoogleApiHandle
12279u0_a25       12601 13183 AsyncTask #1
12280u0_a25       12601 13184 Primes-1
12281u0_a11       12638 12638 d.process.acore
12282u0_a11       12638 12642 Jit thread pool
12283u0_a11       12638 12643 Signal Catcher
12284u0_a11       12638 12644 JDWP
12285u0_a11       12638 12646 ReferenceQueueD
12286u0_a11       12638 12647 FinalizerDaemon
12287u0_a11       12638 12648 FinalizerWatchd
12288u0_a11       12638 12649 HeapTaskDaemon
12289u0_a11       12638 12650 Binder:12638_1
12290u0_a11       12638 12651 Binder:12638_2
12291u0_a11       12638 12653 Binder:12638_3
12292u0_a11       12638 12654 Profile Saver
12293u0_a11       12638 12664 Worker-1
12294u0_a11       12638 12668 Worker-1
12295u0_a11       12638 12669 Worker-1
12296u0_a11       12638 12670 Worker-1
12297u0_a11       12638 12693 Worker-1
12298root         12674 12674 kworker/5:2
12299u0_a26       12730 12730 id.gms.unstable
12300u0_a26       12730 12735 Jit thread pool
12301u0_a26       12730 12736 Signal Catcher
12302u0_a26       12730 12737 JDWP
12303u0_a26       12730 12738 ReferenceQueueD
12304u0_a26       12730 12739 FinalizerDaemon
12305u0_a26       12730 12740 FinalizerWatchd
12306u0_a26       12730 12741 HeapTaskDaemon
12307u0_a26       12730 12742 Binder:12730_1
12308u0_a26       12730 12743 Binder:12730_2
12309u0_a26       12730 12745 Profile Saver
12310u0_a26       12730 12766 GlobalDispatchi
12311u0_a26       12730 12772 GoogleApiHandle
12312u0_a26       12730 12774 FileObserver
12313u0_a26       12730 12777 IntentService[D
12314u0_a26       12730 12784 lowpool[0]
12315u0_a26       12730 12785 highpool[0]
12316u0_a26       12730 12804 Binder:12730_3
12317u0_a26       12730 12830 Binder:12730_4
12318u0_a26       12850 12850 .android.gms.ui
12319u0_a26       12850 12855 Jit thread pool
12320u0_a26       12850 12856 Signal Catcher
12321u0_a26       12850 12857 JDWP
12322u0_a26       12850 12858 ReferenceQueueD
12323u0_a26       12850 12859 FinalizerDaemon
12324u0_a26       12850 12860 FinalizerWatchd
12325u0_a26       12850 12865 HeapTaskDaemon
12326u0_a26       12850 12866 Binder:12850_1
12327u0_a26       12850 12867 Binder:12850_2
12328u0_a26       12850 12870 Profile Saver
12329u0_a26       12850 12890 GlobalDispatchi
12330u0_a26       12850 12906 GoogleApiHandle
12331u0_a26       12850 12912 FileObserver
12332u0_a26       12850 12921 peration loader
12333u0_a26       12850 12922 queued-work-loo
12334u0_a26       12850 12926 raService] idle
12335u0_a84       12984 12984 erprise.dmagent
12336u0_a84       12984 12989 Jit thread pool
12337u0_a84       12984 12990 Signal Catcher
12338u0_a84       12984 12991 JDWP
12339u0_a84       12984 12992 ReferenceQueueD
12340u0_a84       12984 12993 FinalizerDaemon
12341u0_a84       12984 12994 FinalizerWatchd
12342u0_a84       12984 12995 HeapTaskDaemon
12343u0_a84       12984 12996 Binder:12984_1
12344u0_a84       12984 12997 Binder:12984_2
12345u0_a84       12984 12998 Profile Saver
12346u0_a115      13067 13067 ndroid.calendar
12347u0_a115      13067 13073 Jit thread pool
12348u0_a115      13067 13074 Signal Catcher
12349u0_a115      13067 13075 JDWP
12350u0_a115      13067 13076 ReferenceQueueD
12351u0_a115      13067 13077 FinalizerDaemon
12352u0_a115      13067 13078 FinalizerWatchd
12353u0_a115      13067 13079 HeapTaskDaemon
12354u0_a115      13067 13080 Binder:13067_1
12355u0_a115      13067 13081 Binder:13067_2
12356u0_a115      13067 13084 Profile Saver
12357u0_a115      13067 13086 GAThread
12358u0_a115      13067 13087 GoogleApiHandle
12359u0_a115      13067 13091 AsyncQueryWorke
12360u0_a115      13067 13106 GAC_Executor[0]
12361u0_a115      13067 13108 DISK_0
12362u0_a115      13067 13113 process reaper
12363u0_a115      13067 13115 Thread-3
12364u0_a115      13067 13116 Thread-4
12365u0_a115      13067 13117 Thread-5
12366u0_a115      13067 13118 Thread-6
12367u0_a115      13067 13119 Thread-7
12368u0_a115      13067 13120 queued-work-loo
12369u0_a115      13067 13122 NET_0
12370u0_a115      13067 13123 DISK_1
12371u0_a115      13067 13124 Thread-10
12372u0_a115      13067 13126 NET_1
12373u0_a115      13067 13127 GAC_Executor[1]
12374u0_a115      13067 13135 gms-bg-executor
12375u0_a115      13067 13139 thKitJobService
12376u0_a115      13067 13140 pool-2-thread-1
12377u0_a115      13067 13144 NET_2
12378u0_a115      13067 13145 NET_3
12379u0_a115      13067 13146 NET_4
12380u0_a115      13067 13188 gms-bg-executor
12381u0_a115      13067 13190 FirebaseService
12382u0_a115      13067 13191 BACKGROUND_0
12383u0_a115      13067 13196 BACKGROUND_1
12384u0_a13       13092 13092 viders.calendar
12385u0_a13       13092 13097 Jit thread pool
12386u0_a13       13092 13098 Signal Catcher
12387u0_a13       13092 13099 JDWP
12388u0_a13       13092 13100 ReferenceQueueD
12389u0_a13       13092 13101 FinalizerDaemon
12390u0_a13       13092 13102 FinalizerWatchd
12391u0_a13       13092 13103 HeapTaskDaemon
12392u0_a13       13092 13104 Binder:13092_1
12393u0_a13       13092 13105 Binder:13092_2
12394u0_a13       13092 13107 Profile Saver
12395root         13214 13214 sh
12396root         13216 13216 sh
12397root         13218 13218 app_process
12398root         13220 13220 ps
12399u0_a53       22412 22412 e.android.volta
12400u0_a53       22412 22417 Jit thread pool
12401u0_a53       22412 22418 Signal Catcher
12402u0_a53       22412 22419 JDWP
12403u0_a53       22412 22420 ReferenceQueueD
12404u0_a53       22412 22421 FinalizerDaemon
12405u0_a53       22412 22422 FinalizerWatchd
12406u0_a53       22412 22423 HeapTaskDaemon
12407u0_a53       22412 22424 Binder:22412_1
12408u0_a53       22412 22425 Binder:22412_2
12409u0_a53       22412 22426 Profile Saver
12410u0_a53       22412 22431 queued-work-loo
12411u0_a53       22412 23027 Binder:22412_3
12412u0_a42       30672 30672 gle.android.ims
12413u0_a42       30672 30677 Jit thread pool
12414u0_a42       30672 30678 Signal Catcher
12415u0_a42       30672 30679 JDWP
12416u0_a42       30672 30680 ReferenceQueueD
12417u0_a42       30672 30681 FinalizerDaemon
12418u0_a42       30672 30682 FinalizerWatchd
12419u0_a42       30672 30683 HeapTaskDaemon
12420u0_a42       30672 30684 Binder:30672_1
12421u0_a42       30672 30685 Binder:30672_2
12422u0_a42       30672 30688 Profile Saver
12423u0_a42       30672 30700 GoogleApiHandle
12424u0_a42       30672 30704 ConnectivityThr
12425u0_a42       30672 30707 queued-work-loo
12426u0_a42       30672 30710 Timer-0
12427u0_a42       30672 30723 GAC_Executor[0]
12428u0_a42       30672 30724 Primes-1
12429u0_a42       30672 30730 webrtc-thread
12430u0_a42       30672 30731 Timer-1
12431u0_a42       30672 30732 ImsConnectionHa
12432u0_a42       30672 30748 network_thread
12433u0_a42       30672 30749 Thread-4
12434u0_a42       30672 30750 signaling_threa
12435u0_a42       30672 30752 GAC_Executor[1]
12436u0_a42       30672 30785 rtc-low-prio
12437u0_a42       30672 30786 AudioDeviceBuff
12438u0_a42       30672 30790 WebRtcVolumeLev
12439u0_a42       30672 31980 Binder:30672_3
12440u0_a42       30672  2836 Primes-2
12441u0_a42       30672 17359 Binder:30672_4
12442u0_a42       30672 12312 AsyncTask #5
12443u0_a42       30672 12322 AsyncTask #6
12444u0_a42       30672 12323 AsyncTask #7
12445u0_a42       30672 12340 AsyncTask #8
12446USER           PID  PPID     VSZ    RSS WCHAN  PC S NAME                        COMM
12447root             1     0   13628   1840 SyS_epoll_wait 4fea4c S init            init
12448root             2     0       0      0 kthreadd 0 S [kthreadd]                 2
12449root             3     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/0]     3
12450root             5     2       0      0 worker_thread 0 S [kworker/0:0H]        5
12451root             7     2       0      0 rcu_gp_kthread 0 S [rcu_preempt]        7
12452root             8     2       0      0 rcu_gp_kthread 0 S [rcu_sched]          8
12453root             9     2       0      0 rcu_gp_kthread 0 S [rcu_bh]             9
12454root            10     2       0      0 rcu_nocb_kthread 0 S [rcuop/0]          1
12455root            11     2       0      0 rcu_nocb_kthread 0 S [rcuos/0]          1
12456root            12     2       0      0 rcu_nocb_kthread 0 S [rcuob/0]          1
12457root            13     2       0      0 smpboot_thread_fn 0 S [migration/0]     1
12458root            14     2       0      0 smpboot_thread_fn 0 S [watchdog/0]      1
12459root            15     2       0      0 smpboot_thread_fn 0 S [watchdog/1]      1
12460root            16     2       0      0 smpboot_thread_fn 0 S [migration/1]     1
12461root            17     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/1]     1
12462root            19     2       0      0 worker_thread 0 S [kworker/1:0H]        1
12463root            20     2       0      0 rcu_nocb_kthread 0 S [rcuop/1]          2
12464root            21     2       0      0 rcu_nocb_kthread 0 S [rcuos/1]          2
12465root            22     2       0      0 rcu_nocb_kthread 0 S [rcuob/1]          2
12466root            23     2       0      0 smpboot_thread_fn 0 S [watchdog/2]      2
12467root            24     2       0      0 smpboot_thread_fn 0 S [migration/2]     2
12468root            25     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/2]     2
12469root            27     2       0      0 worker_thread 0 S [kworker/2:0H]        2
12470root            28     2       0      0 rcu_nocb_kthread 0 S [rcuop/2]          2
12471root            29     2       0      0 rcu_nocb_kthread 0 S [rcuos/2]          2
12472root            30     2       0      0 rcu_nocb_kthread 0 S [rcuob/2]          3
12473root            31     2       0      0 smpboot_thread_fn 0 S [watchdog/3]      3
12474root            32     2       0      0 smpboot_thread_fn 0 S [migration/3]     3
12475root            33     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/3]     3
12476root            35     2       0      0 worker_thread 0 S [kworker/3:0H]        3
12477root            36     2       0      0 rcu_nocb_kthread 0 S [rcuop/3]          3
12478root            37     2       0      0 rcu_nocb_kthread 0 S [rcuos/3]          3
12479root            38     2       0      0 rcu_nocb_kthread 0 S [rcuob/3]          3
12480root            39     2       0      0 smpboot_thread_fn 0 S [watchdog/4]      3
12481root            40     2       0      0 smpboot_thread_fn 0 S [migration/4]     4
12482root            41     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/4]     4
12483root            43     2       0      0 worker_thread 0 S [kworker/4:0H]        4
12484root            44     2       0      0 rcu_nocb_kthread 0 S [rcuop/4]          4
12485root            45     2       0      0 rcu_nocb_kthread 0 S [rcuos/4]          4
12486root            46     2       0      0 rcu_nocb_kthread 0 S [rcuob/4]          4
12487root            47     2       0      0 smpboot_thread_fn 0 S [watchdog/5]      4
12488root            48     2       0      0 smpboot_thread_fn 0 S [migration/5]     4
12489root            49     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/5]     4
12490root            51     2       0      0 worker_thread 0 S [kworker/5:0H]        5
12491root            52     2       0      0 rcu_nocb_kthread 0 S [rcuop/5]          5
12492root            53     2       0      0 rcu_nocb_kthread 0 S [rcuos/5]          5
12493root            54     2       0      0 rcu_nocb_kthread 0 S [rcuob/5]          5
12494root            55     2       0      0 smpboot_thread_fn 0 S [watchdog/6]      5
12495root            56     2       0      0 smpboot_thread_fn 0 S [migration/6]     5
12496root            57     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/6]     5
12497root            59     2       0      0 worker_thread 0 S [kworker/6:0H]        5
12498root            60     2       0      0 rcu_nocb_kthread 0 S [rcuop/6]          6
12499root            61     2       0      0 rcu_nocb_kthread 0 S [rcuos/6]          6
12500root            62     2       0      0 rcu_nocb_kthread 0 S [rcuob/6]          6
12501root            63     2       0      0 smpboot_thread_fn 0 S [watchdog/7]      6
12502root            64     2       0      0 smpboot_thread_fn 0 S [migration/7]     6
12503root            65     2       0      0 smpboot_thread_fn 0 S [ksoftirqd/7]     6
12504root            67     2       0      0 worker_thread 0 S [kworker/7:0H]        6
12505root            68     2       0      0 rcu_nocb_kthread 0 S [rcuop/7]          6
12506root            69     2       0      0 rcu_nocb_kthread 0 S [rcuos/7]          6
12507root            70     2       0      0 rcu_nocb_kthread 0 S [rcuob/7]          7
12508root            71     2       0      0 rescuer_thread 0 S [netns]              7
12509root            72     2       0      0 rescuer_thread 0 S [perf]               7
12510root            73     2       0      0 rescuer_thread 0 S [smd_channel_clo]    7
12511root            74     2       0      0 kthread_worker_fn 0 S [dsps_smd_trans_] 7
12512root            75     2       0      0 kthread_worker_fn 0 S [lpass_smd_trans] 7
12513root            76     2       0      0 kthread_worker_fn 0 S [mpss_smd_trans_] 7
12514root            77     2       0      0 kthread_worker_fn 0 S [wcnss_smd_trans] 7
12515root            78     2       0      0 kthread_worker_fn 0 S [rpm_smd_trans_g] 7
12516root            79     2       0      0 rescuer_thread 0 S [ipa_usb_wq]         7
12517root            81     2       0      0 kthread_worker_fn 0 S [smem_native_mps] 8
12518root            82     2       0      0 kthread_worker_fn 0 S [mpss_smem_glink] 8
12519root            83     2       0      0 kthread_worker_fn 0 S [smem_native_lpa] 8
12520root            84     2       0      0 kthread_worker_fn 0 S [lpass_smem_glin] 8
12521root            85     2       0      0 kthread_worker_fn 0 S [smem_native_dsp] 8
12522root            86     2       0      0 kthread_worker_fn 0 S [dsps_smem_glink] 8
12523root            87     2       0      0 kthread_worker_fn 0 S [smem_native_rpm] 8
12524root            88     2       0      0 kthread_worker_fn 0 S [rpm_smem_glink_] 8
12525root            89     2       0      0 kthread_worker_fn 0 S [smem_native_sps] 8
12526root            90     2       0      0 kthread_worker_fn 0 S [spss_mailbox_gl] 9
12527root            91     2       0      0 watchdog_kthread 0 S [msm_watchdog]     9
12528root            92     2       0      0 rescuer_thread 0 S [deferwq]            9
12529root            93     2       0      0 msm_mpm_work_fn 0 D [kworker/u16:1]     9
12530root            94     2       0      0 irq_thread 0 S [irq/126-cpr3]           9
12531root            95     2       0      0 rescuer_thread 0 S [mpm]                9
12532root            97     2       0      0 watchdog 0 S [khungtaskd]               9
12533root            98     2       0      0 rescuer_thread 0 S [writeback]          9
12534root            99     2       0      0 kcompactd 0 S [kcompactd0]              9
12535root           100     2       0      0 rescuer_thread 0 S [crypto]             1
12536root           101     2       0      0 rescuer_thread 0 S [bioset]             1
12537root           102     2       0      0 rescuer_thread 0 S [kblockd]            1
12538root           103     2       0      0 rescuer_thread 0 S [md]                 1
12539root           104     2       0      0 rescuer_thread 0 S [edac-poller]        1
12540root           105     2       0      0 ion_heap_deferred_free 0 S [system]     1
12541root           106     2       0      0 ion_heap_deferred_free 0 S [easel_mem]  1
12542root           107     2       0      0 rescuer_thread 0 S [devfreq_wq]         1
12543root           108     2       0      0 rescuer_thread 0 S [governor_msm_ad]    1
12544root           110     2       0      0 rescuer_thread 0 S [cfg80211]           1
12545root           111     2       0      0 irq_thread 0 S [irq/134-arm-smm]        1
12546root           112     2       0      0 rescuer_thread 0 S [ipa_power_mgmt]     1
12547root           113     2       0      0 rescuer_thread 0 S [transport_power]    1
12548root           114     2       0      0 rescuer_thread 0 S [ipa_rm_wq]          1
12549root           115     2       0      0 rescuer_thread 0 S [ipa_interrupt_w]    1
12550root           116     2       0      0 irq_thread 0 S [irq/135-arm-smm]        1
12551root           117     2       0      0 irq_thread 0 S [irq/136-arm-smm]        1
12552root           118     2       0      0 irq_thread 0 S [irq/61-bcl_vbat]        1
12553root           119     2       0      0 irq_thread 0 S [irq/60-bcl_ibat]        1
12554root           145     2       0      0 rescuer_thread 0 S [power_off_alarm]    1
12555root           146     2       0      0 kswapd  0 S [kswapd0]                   1
12556root           147     2       0      0 rescuer_thread 0 S [vmstat]             1
12557root           148     2       0      0 fsnotify_mark_destroy 0 S [fsnotify_mark] 1
12558root           180     2       0      0 rescuer_thread 0 S [ad_calc_wq]         1
12559root           181     2       0      0 dsi_event_thread 0 D [mdss_dsi_event]   1
12560root           182     2       0      0 rescuer_thread 0 S [mdss_dsi_dba]       1
12561root           183     2       0      0 rescuer_thread 0 S [cwb_wq]             1
12562root           184     2       0      0 kthread_worker_fn 0 S [vsync_retire_wo] 1
12563root           185     2       0      0 rescuer_thread 0 S [cwb_wq]             1
12564root           187     2       0      0 rescuer_thread 0 S [glink_ssr_wq]       1
12565root           188     2       0      0 rescuer_thread 0 S [glink_lbsrv]        1
12566root           189     2       0      0 kthread_worker_fn 0 S [spi_wdsp]        1
12567root           190     2       0      0 kthread_worker_fn 0 S [wdsp_spi_glink_] 1
12568root           191     2       0      0 rescuer_thread 0 S [glink_xprt_wq]      1
12569root           192     2       0      0 rescuer_thread 0 S [IPCRTR_mpss_sme]    1
12570root           193     2       0      0 rescuer_thread 0 S [IPCRTR_lpass_sm]    1
12571root           194     2       0      0 rescuer_thread 0 S [IPCRTR_dsps_sme]    1
12572root           195     2       0      0 rescuer_thread 0 S [apr_driver]         1
12573root           196     2       0      0 rescuer_thread 0 S [glink_pkt_wq]       1
12574root           198     2       0      0 rescuer_thread 0 S [mem_share_svc]      1
12575root           199     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
12576root           200     2       0      0 rescuer_thread 0 S [msm_ipc_router]     2
12577root           201     2       0      0 irq_thread 0 S [irq/137-arm-smm]        2
12578root           202     2       0      0 rescuer_thread 0 S [qmi_svc_event_w]    2
12579root           203     2       0      0 rescuer_thread 0 S [servloc_wq]         2
12580root           204     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12581root           205     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12582root           206     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12583root           207     2       0      0 kthread_worker_fn 0 S [tty_worker_thre] 2
12584root           208     2       0      0 rescuer_thread 0 S [k_hsuart]           2
12585root           209     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
12586root           210     2       0      0 kthread_worker_fn 0 S [msm_serial_hs_0] 2
12587root           211     2       0      0 add_hwgenerator_randomness 0 S [hwrng]  2
12588root           213     2       0      0 rescuer_thread 0 S [diag_real_time_]    2
12589root           214     2       0      0 rescuer_thread 0 S [diag_wq]            2
12590root           215     2       0      0 rescuer_thread 0 S [DIAG_USB_diag]      2
12591root           216     2       0      0 rescuer_thread 0 S [diag_cntl_wq]       2
12592root           217     2       0      0 rescuer_thread 0 S [diag_dci_wq]        2
12593root           218     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12594root           219     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12595root           220     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12596root           221     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12597root           222     2       0      0 rescuer_thread 0 S [DIAG_SMD_MODEM_]    2
12598root           223     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12599root           224     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12600root           225     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12601root           226     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12602root           227     2       0      0 rescuer_thread 0 S [DIAG_SMD_LPASS_]    2
12603root           228     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12604root           229     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12605root           230     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12606root           231     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12607root           232     2       0      0 rescuer_thread 0 S [DIAG_SMD_WCNSS_]    2
12608root           233     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12609root           234     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12610root           235     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12611root           236     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12612root           237     2       0      0 rescuer_thread 0 S [DIAG_SMD_SENSOR]    2
12613root           238     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
12614root           239     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12615root           240     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_C]    2
12616root           241     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12617root           242     2       0      0 rescuer_thread 0 S [DIAG_SMD_DIAG_D]    2
12618root           243     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
12619root           244     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12620root           245     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_C]    2
12621root           246     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12622root           247     2       0      0 rescuer_thread 0 S [DIAG_SMD_CDSP_D]    2
12623root           248     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12624root           249     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12625root           250     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12626root           251     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12627root           252     2       0      0 rescuer_thread 0 S [DIAG_SOCKMODEM_]    2
12628root           253     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12629root           254     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12630root           255     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12631root           256     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12632root           257     2       0      0 rescuer_thread 0 S [DIAG_SOCKLPASS_]    2
12633root           258     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12634root           259     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12635root           260     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12636root           261     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12637root           262     2       0      0 rescuer_thread 0 S [DIAG_SOCKWCNSS_]    2
12638root           263     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12639root           264     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12640root           265     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12641root           266     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12642root           267     2       0      0 rescuer_thread 0 S [DIAG_SOCKSENSOR]    2
12643root           268     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
12644root           269     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12645root           270     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_C]    2
12646root           271     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12647root           272     2       0      0 rescuer_thread 0 S [DIAG_SOCKDIAG_D]    2
12648root           273     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
12649root           274     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12650root           275     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_C]    2
12651root           276     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12652root           277     2       0      0 rescuer_thread 0 S [DIAG_SOCKCDSP_D]    2
12653root           278     2       0      0 rescuer_thread 0 S [DIAG_CNTL_SOCKE]    2
12654root           279     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12655root           280     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12656root           281     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12657root           282     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12658root           283     2       0      0 rescuer_thread 0 S [DIAG_GLINK_DIAG]    2
12659root           284     2       0      0 rescuer_thread 0 S [kgsl-workqueue]     2
12660root           285     2       0      0 rescuer_thread 0 S [kgsl-mementry]      2
12661root           286     2       0      0 kthread_worker_fn 0 S [kgsl_worker_thr] 2
12662root           287     2       0      0 rescuer_thread 0 S [kgsl-events]        2
12663root           288     2       0      0 rescuer_thread 0 S [kgsl_devfreq_wq]    2
12664root           289     2       0      0 rescuer_thread 0 S [bioset]             2
12665root           290     2       0      0 rescuer_thread 0 S [bioset]             2
12666root           291     2       0      0 rescuer_thread 0 S [bioset]             2
12667root           292     2       0      0 rescuer_thread 0 S [bioset]             2
12668root           293     2       0      0 rescuer_thread 0 S [bioset]             2
12669root           294     2       0      0 rescuer_thread 0 S [bioset]             2
12670root           295     2       0      0 rescuer_thread 0 S [bioset]             2
12671root           296     2       0      0 rescuer_thread 0 S [bioset]             2
12672root           297     2       0      0 rescuer_thread 0 S [bioset]             2
12673root           298     2       0      0 rescuer_thread 0 S [bioset]             2
12674root           299     2       0      0 rescuer_thread 0 S [bioset]             2
12675root           300     2       0      0 rescuer_thread 0 S [bioset]             3
12676root           301     2       0      0 rescuer_thread 0 S [bioset]             3
12677root           302     2       0      0 rescuer_thread 0 S [bioset]             3
12678root           304     2       0      0 rescuer_thread 0 S [bioset]             3
12679root           305     2       0      0 rescuer_thread 0 S [bioset]             3
12680root           306     2       0      0 rescuer_thread 0 S [bioset]             3
12681root           307     2       0      0 rescuer_thread 0 S [bioset]             3
12682root           308     2       0      0 rescuer_thread 0 S [bioset]             3
12683root           309     2       0      0 rescuer_thread 0 S [bioset]             3
12684root           310     2       0      0 rescuer_thread 0 S [bioset]             3
12685root           311     2       0      0 rescuer_thread 0 S [bioset]             3
12686root           312     2       0      0 rescuer_thread 0 S [bioset]             3
12687root           313     2       0      0 rescuer_thread 0 S [bioset]             3
12688root           314     2       0      0 rescuer_thread 0 S [bioset]             3
12689root           315     2       0      0 irq_thread 0 S [irq/286-soc:fp_]        3
12690root           316     2       0      0 rescuer_thread 0 S [memory_wq]          3
12691root           317     2       0      0 rescuer_thread 0 S [qcrypto_seq_res]    3
12692root           318     2       0      0 scsi_error_handler 0 S [scsi_eh_0]      3
12693root           319     2       0      0 rescuer_thread 0 S [scsi_tmf_0]         3
12694root           320     2       0      0 rescuer_thread 0 S [ufs_pm_qos_0]       3
12695root           321     2       0      0 rescuer_thread 0 S [ufs_clk_ungatin]    3
12696root           322     2       0      0 rescuer_thread 0 S [ufs_clkscaling_]    3
12697root           323     2       0      0 kthread_worker_fn 0 S [spi1]            3
12698root           325     2       0      0 kthread_worker_fn 0 S [spi2]            3
12699root           326     2       0      0 kthread_worker_fn 0 S [spi10]           3
12700root           327     2       0      0 rescuer_thread 0 S [bond0]              3
12701root           329     2       0      0 rescuer_thread 0 S [sharedmem_qmi_w]    3
12702root           330     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    3
12703root           331     2       0      0 diag_socket_read 0 S [kworker/u16:3]    3
12704root           335     2       0      0 rescuer_thread 0 S [uether]             3
12705root           336     2       0      0 rescuer_thread 0 S [k_ipa_usb]          3
12706root           340     2       0      0 worker_thread 0 R [kworker/u17:0]       3
12707root           341     2       0      0 irq_thread 0 S [irq/262-vl53l0_]        3
12708root           342     2       0      0 rescuer_thread 0 S [bioset]             3
12709root           343     2       0      0 rescuer_thread 0 S [bioset]             3
12710root           344     2       0      0 rescuer_thread 0 S [bioset]             3
12711root           345     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
12712root           346     2       0      0 rescuer_thread 0 S [msm_cci_wq]         3
12713root           347     2       0      0 rescuer_thread 0 S [bioset]             3
12714root           348     2       0      0 rescuer_thread 0 S [bioset]             3
12715root           349     2       0      0 rescuer_thread 0 S [bioset]             3
12716root           350     2       0      0 rescuer_thread 0 S [bioset]             3
12717root           351     2       0      0 rescuer_thread 0 S [bioset]             3
12718root           352     2       0      0 rescuer_thread 0 S [bioset]             3
12719root           354     2       0      0 rescuer_thread 0 S [msm_cpp_workque]    3
12720root           357     2       0      0 rescuer_thread 0 S [msm_vidc_worker]    3
12721root           358     2       0      0 rescuer_thread 0 S [pm_workerq_venu]    3
12722root           359     2       0      0 irq_thread 0 S [irq/158-arm-smm]        3
12723root           360     2       0      0 irq_thread 0 S [irq/159-arm-smm]        3
12724root           361     2       0      0 irq_thread 0 S [irq/160-arm-smm]        3
12725root           362     2       0      0 irq_thread 0 S [irq/161-arm-smm]        3
12726root           363     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_0] 3
12727root           364     2       0      0 kthread_worker_fn 0 S [rot_commitq_0_1] 3
12728root           365     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_0]   3
12729root           366     2       0      0 kthread_worker_fn 0 S [rot_doneq_0_1]   3
12730root           368     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 3
12731root           369     2       0      0 irq_thread 0 S [irq/500-chg-err]        3
12732root           370     2       0      0 irq_thread 0 S [irq/501-chg-sta]        3
12733root           371     2       0      0 irq_thread 0 S [irq/502-step-ch]        3
12734root           372     2       0      0 irq_thread 0 S [irq/503-step-ch]        3
12735root           373     2       0      0 irq_thread 0 S [irq/504-step-ch]        3
12736root           374     2       0      0 irq_thread 0 S [irq/505-otg-fai]        3
12737root           375     2       0      0 irq_thread 0 S [irq/506-otg-ove]        3
12738root           376     2       0      0 irq_thread 0 S [irq/507-otg-oc-]        3
12739root           377     2       0      0 irq_thread 0 S [irq/508-testmod]        3
12740root           378     2       0      0 irq_thread 0 S [irq/509-bat-tem]        3
12741root           379     2       0      0 irq_thread 0 S [irq/510-bat-ocp]        3
12742root           380     2       0      0 irq_thread 0 S [irq/511-bat-ov]         3
12743root           381     2       0      0 irq_thread 0 S [irq/512-bat-low]        3
12744root           382     2       0      0 irq_thread 0 S [irq/513-bat-the]        3
12745root           383     2       0      0 irq_thread 0 S [irq/514-bat-ter]        3
12746root           384     2       0      0 irq_thread 0 S [irq/515-usbin-c]        3
12747root           385     2       0      0 irq_thread 0 S [irq/516-usbin-l]        3
12748root           386     2       0      0 irq_thread 0 S [irq/517-usbin-u]        3
12749root           387     2       0      0 irq_thread 0 S [irq/518-usbin-o]        3
12750root           388     2       0      0 irq_thread 0 S [irq/519-usbin-p]        3
12751root           389     2       0      0 irq_thread 0 S [irq/520-usbin-s]        3
12752root           390     2       0      0 irq_thread 0 S [irq/521-usbin-i]        3
12753root           391     2       0      0 irq_thread 0 S [irq/522-type-c-]        3
12754root           392     2       0      0 irq_thread 0 S [irq/523-dcin-co]        3
12755root           393     2       0      0 irq_thread 0 S [irq/524-dcin-lt]        3
12756root           394     2       0      0 irq_thread 0 S [irq/525-dcin-uv]        3
12757root           395     2       0      0 irq_thread 0 S [irq/526-dcin-ov]        3
12758root           396     2       0      0 irq_thread 0 S [irq/527-dcin-pl]        3
12759root           397     2       0      0 irq_thread 0 S [irq/528-div2-en]        3
12760root           398     2       0      0 irq_thread 0 S [irq/529-dcin-ic]        3
12761root           399     2       0      0 irq_thread 0 S [irq/532-aicl-fa]        3
12762root           400     2       0      0 irq_thread 0 S [irq/533-aicl-do]        4
12763root           401     2       0      0 irq_thread 0 S [irq/534-high-du]        4
12764root           402     2       0      0 irq_thread 0 S [irq/535-input-c]        4
12765root           403     2       0      0 irq_thread 0 S [irq/536-tempera]        4
12766root           404     2       0      0 irq_thread 0 S [irq/537-switche]        4
12767root           405     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12768root           406     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12769root           408     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12770root           409     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12771root           410     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12772root           411     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12773root           412     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12774root           413     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12775root           414     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12776root           415     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12777root           416     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12778root           417     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12779root           418     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12780root           419     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12781root           420     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12782root           421     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12783root           422     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12784root           423     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12785root           424     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12786root           425     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12787root           426     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12788root           427     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12789root           428     2       0      0 irq_thread 0 S [irq/59-tsens_in]        4
12790root           429     2       0      0 irq_thread 0 S [irq/62-tsens_cr]        4
12791root           430     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12792root           431     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12793root           432     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12794root           433     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12795root           434     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12796root           435     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12797root           436     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12798root           437     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12799root           438     2       0      0 irq_thread 0 S [irq/63-tsens_in]        4
12800root           439     2       0      0 irq_thread 0 S [irq/64-tsens_cr]        4
12801root           440     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12802root           441     2       0      0 irq_thread 0 S [irq/366-limits_]        4
12803root           442     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12804root           443     2       0      0 irq_thread 0 S [irq/367-limits_]        4
12805root           444     2       0      0 rescuer_thread 0 S [dm_bufio_cache]     4
12806root           445     2       0      0 cpufreq_interactive_speedchange_task 0 S [cfinteractive] 4
12807root           446     2       0      0 irq_thread 0 S [irq/291-bcm1560]        4
12808root           447     2       0      0 irq_thread 0 S [irq/226-bcm1560]        4
12809root           449     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12810root           450     2       0      0 irq_thread 0 S [irq/197-spdm_bw]        4
12811root           451     2       0      0 rescuer_thread 0 S [binder]             4
12812root           452     2       0      0 irq_thread 0 S [irq/144-arm-smm]        4
12813root           453     2       0      0 rescuer_thread 0 S [uaudio_svc]         4
12814root           454     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    4
12815root           455     2       0      0 rescuer_thread 0 S [ipv6_addrconf]      4
12816root           457     2       0      0 irq_thread 0 S [irq/574-adsp]           4
12817root           458     2       0      0 rescuer_thread 0 S [sysmon_wq]          4
12818root           459     2       0      0 irq_thread 0 S [irq/606-slpi]           4
12819root           460     2       0      0 irq_thread 0 S [irq/542-modem]          4
12820root           464     2       0      0 rescuer_thread 0 S [usb_bam_wq]         4
12821root           465     2       0      0 irq_thread 0 S [irq/19-sig-tx]          4
12822root           466     2       0      0 irq_thread 0 S [irq/20-sig-rx]          4
12823root           467     2       0      0 irq_thread 0 S [irq/22-msg-rx]          4
12824root           468     2       0      0 rescuer_thread 0 S [usbpd0]             4
12825root           469     2       0      0 rescuer_thread 0 S [usbpd0]             4
12826root           474     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 4
12827root           475     2       0      0 irq_thread 0 S [irq/734-soc-upd]        4
12828root           476     2       0      0 irq_thread 0 S [irq/735-soc-rea]        4
12829root           477     2       0      0 irq_thread 0 S [irq/736-bsoc-de]        4
12830root           478     2       0      0 irq_thread 0 S [irq/737-msoc-de]        4
12831root           479     2       0      0 irq_thread 0 S [irq/738-msoc-lo]        4
12832root           480     2       0      0 irq_thread 0 S [irq/739-msoc-em]        4
12833root           481     2       0      0 irq_thread 0 S [irq/740-msoc-hi]        4
12834root           482     2       0      0 irq_thread 0 S [irq/741-msoc-fu]        4
12835root           483     2       0      0 irq_thread 0 S [irq/742-vbatt-p]        4
12836root           484     2       0      0 irq_thread 0 S [irq/743-vbatt-l]        4
12837root           485     2       0      0 irq_thread 0 S [irq/744-esr-del]        4
12838root           486     2       0      0 irq_thread 0 S [irq/745-batt-mi]        4
12839root           487     2       0      0 irq_thread 0 S [irq/746-batt-te]        4
12840root           488     2       0      0 irq_thread 0 S [irq/747-ima-rdy]        4
12841root           489     2       0      0 irq_thread 0 S [irq/748-mem-xcp]        4
12842root           490     2       0      0 irq_thread 0 S [irq/749-dma-gra]        4
12843root           492     2       0      0 irq_thread 0 S [irq/54-hs_phy_i]        4
12844root           493     2       0      0 irq_thread 0 S [irq/55-ss_phy_i]        4
12845root           494     2       0      0 irq_thread 0 S [irq/56-msm_dwc3]        4
12846root           496     2       0      0 irq_thread 0 S [irq/36-ARM64 pr]        4
12847root           497     2       0      0 irq_thread 0 S [irq/37-ARM64 se]        4
12848root           498     2       0      0 irq_thread 0 S [irq/39-ARM64 pr]        4
12849root           499     2       0      0 irq_thread 0 S [irq/40-ARM64 se]        4
12850root           500     2       0      0 rescuer_thread 0 S [rq_stats]           5
12851root           501     2       0      0 irq_thread 0 S [irq/145-arm-smm]        5
12852root           502     2       0      0 irq_thread 0 S [irq/146-arm-smm]        5
12853root           503     2       0      0 irq_thread 0 S [irq/147-arm-smm]        5
12854root           504     2       0      0 irq_thread 0 S [irq/148-arm-smm]        5
12855root           505     2       0      0 irq_thread 0 S [irq/149-arm-smm]        5
12856root           506     2       0      0 irq_thread 0 S [irq/150-arm-smm]        5
12857root           507     2       0      0 irq_thread 0 S [irq/151-arm-smm]        5
12858root           508     2       0      0 irq_thread 0 S [irq/152-arm-smm]        5
12859root           509     2       0      0 kthread_worker_fn 0 S [set_state_work]  5
12860root           510     2       0      0 irq_thread 0 S [irq/227-mnh-rea]        5
12861root           512     2       0      0 irq_thread 0 S [irq/751-mnh_pci]        5
12862root           513     2       0      0 irq_thread 0 S [irq/752-mnh_pci]        5
12863root           514     2       0      0 irq_thread 0 S [irq/753-mnh_pci]        5
12864root           515     2       0      0 irq_thread 0 S [irq/754-mnh_pci]        5
12865root           516     2       0      0 irq_thread 0 S [irq/755-mnh_pci]        5
12866root           517     2       0      0 irq_thread 0 S [irq/758-mnh_pci]        5
12867root           518     2       0      0 irq_thread 0 S [irq/759-mnh_pci]        5
12868root           519     2       0      0 irq_thread 0 S [irq/128-arm-smm]        5
12869root           520     2       0      0 rescuer_thread 0 S [sb-1]               5
12870root           521     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread1] 5
12871root           522     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl1]  5
12872root           523     2       0      0 rescuer_thread 0 S [sb-3]               5
12873root           524     2       0      0 ngd_slim_rx_msgq_thread 0 S [ngd_rx_thread3] 5
12874root           525     2       0      0 ngd_notify_partners 0 S [ngd_notify_sl3]  5
12875root           526     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12876root           527     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12877root           528     2       0      0 sensor_sysfs_notify 0 S [therm_core:noti] 5
12878root           529     2       0      0 irq_thread 0 S [irq/66-lmh-inte]        5
12879root           530     2       0      0 irq_thread 0 S [irq/28-qpnp_fla]        5
12880root           531     2       0      0 irq_thread 0 S [irq/27-qpnp_fla]        5
12881root           532     2       0      0 irq_thread 0 S [irq/26-qpnp_fla]        5
12882root           534     2       0      0 rescuer_thread 0 S [kdmflush]           5
12883root           535     2       0      0 rescuer_thread 0 S [bioset]             5
12884root           536     2       0      0 rescuer_thread 0 S [kverityd]           5
12885root           537     2       0      0 rescuer_thread 0 S [bioset]             5
12886root           538     2       0      0 rescuer_thread 0 S [bioset]             5
12887root           539     2       0      0 rescuer_thread 0 S [bioset]             5
12888root           540     2       0      0 worker_thread 0 S [kworker/6:1H]        5
12889root           541     2       0      0 worker_thread 0 S [kworker/5:1H]        5
12890root           542     2       0      0 worker_thread 0 S [kworker/7:1H]        5
12891root           543     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12892root           544     2       0      0 worker_thread 0 S [kworker/0:1H]        5
12893root           546     2       0      0 rescuer_thread 0 S [kdmflush]           5
12894root           547     2       0      0 rescuer_thread 0 S [bioset]             5
12895root           548     2       0      0 rescuer_thread 0 S [kverityd]           5
12896root           549     2       0      0 rescuer_thread 0 S [bioset]             5
12897root           550     2       0      0 rescuer_thread 0 S [bioset]             5
12898root           551     2       0      0 rescuer_thread 0 S [bioset]             5
12899root           552     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12900root           553     2       0      0 kjournald2 0 S [jbd2/sdd3-8]            5
12901root           554     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    5
12902root           555     2       0      0 worker_thread 0 S [kworker/4:1H]        5
12903root           556     1    6076   1100 do_sys_poll 4ebb24 S ueventd            init
12904root           558     2       0      0 worker_thread 0 S [kworker/1:1H]        5
12905root           562     2       0      0 irq_thread 0 S [irq/760-synapti]        5
12906root           563     2       0      0 rescuer_thread 0 S [dsx_rebuild_wor]    5
12907root           564     2       0      0 rescuer_thread 0 S [dsx_exp_workque]    5
12908root           569     2       0      0 rescuer_thread 0 S [batt_timer]         5
12909system         580     1   18208   3880 do_wait 76433335ac S qseecomd           qseecomd
12910root           581     2       0      0 kthread_worker_fn 0 S [sugov:0]         5
12911root           582     2       0      0 kthread_worker_fn 0 S [sugov:4]         5
12912system         584     1   16492   4336 SyS_epoll_wait 7da535046c S hwservicemanager hwservicemanager
12913logd           585     1   28332  12292 SyS_rt_sigsuspend 7cb57f2634 S logd     logd
12914system         586     1   10460   1888 binder_ioctl_write_read 764d1c655c S servicemanager servicemanager
12915system         587     1   11192   1912 binder_ioctl_write_read 7054fb855c S vndservicemanager vndservicemanager
12916root           588     2       0      0 diag_socket_read 0 S [kworker/u16:8]    5
12917root           594     2       0      0 kauditd_thread 0 S [kauditd]            5
12918system         597   580   28240    928 SyS_rt_sigsuspend 7643332634 S qseecomd qseecomd
12919root           606     1   13352   2732 binder_ioctl_write_read 78b565355c S android.hardware.boot@1.0-service android.hardware.boot@1.0-service
12920system         607     1   14464   2828 binder_ioctl_write_read 70106ed55c S android.hardware.gatekeeper@1.0-service-qti android.hardware.gatekeeper@1.0-service-qti
12921system         608     1   14640   3244 binder_ioctl_write_read 79bd92a55c S android.hardware.keyprimary@3.0-service-qti android.hardware.keyprimary@3.0-service-qti
12922system         610     1   72936  20132 SyS_epoll_wait 796c90946c S surfaceflinger surfaceflinger
12923system         612     1   39400   7148 binder_ioctl_write_read 7cbc3fc55c S android.hardware.graphics.composer@2.1-service android.hardware.graphics.composer@2.1-service
12924system         614     1   20296   3156 binder_ioctl_write_read 74c594755c S android.hardware.graphics.allocator@2.0-service android.hardware.graphics.allocator@2.0-service
12925root           631     2       0      0 __mdss_fb_display_thread 0 D [mdss_fb0] 6
12926root           632     2       0      0 kjournald2 0 S [jbd2/sda45-8]           6
12927root           633     2       0      0 rescuer_thread 0 S [ext4-rsv-conver]    6
12928system         637     1   22364   1916 futex_wait_queue_me 7dcac734b0 S time_daemon time_daemon
12929root           638     1   21416   3408 SyS_rt_sigsuspend 732bdba634 S vold     vold
12930root           645     2       0      0 irq_thread 0 S [irq/177-arm-smm]        6
12931root           646     2       0      0 irq_thread 0 S [irq/178-arm-smm]        6
12932root           657     2       0      0 rescuer_thread 0 S [fwu_workqueue]      6
12933root           658     2       0      0 rescuer_thread 0 S [dsps_IPCRTR]        6
12934root           660     2       0      0 rescuer_thread 0 S [lpass_IPCRTR]       6
12935root           688     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12936root           689     1   39260   5096 binder_ioctl_write_read 78c2f7455c S netd netd
12937root           690     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12938root           691     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
12939root           692     2       0      0 kthread_worker_fn 0 S [msm_slim_qmi_cl] 6
12940root           693     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12941root           694     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    6
12942root           717     1 4200712  63048 do_sys_poll 70d91f358c S zygote64       app_process64
12943root           719     1 1543884  55940 do_sys_poll e5d62024 S zygote           app_process32
12944root           720     2       0      0 rescuer_thread 0 S [cds_recovery_wo]    7
12945system         732     1   14152   2892 binder_ioctl_write_read 7e7cef455c S android.hidl.allocator@1.0-service android.hidl.allocator@1.0-service
12946system         733     1   22200   3660 binder_ioctl_write_read 77d30d355c S vr_hwc vr_hwc
12947audioserver    734     1   30784  10336 binder_ioctl_write_read f16a2f8c S android.hardware.audio@2.0-service android.hardware.audio@2.0-service
12948bluetooth      735     1   16372   2692 binder_ioctl_write_read 75f1cf455c S android.hardware.bluetooth@1.0-service android.hardware.bluetooth@1.0-service
12949cameraserver   736     1  145776  47336 binder_ioctl_write_read ec5d4f8c S android.hardware.camera.provider@2.4-service android.hardware.camera.provider@2.4-service
12950media          737     1   12288   2776 binder_ioctl_write_read eed09f8c S android.hardware.cas@1.0-service android.hardware.cas@1.0-service
12951system         738     1   16452   2776 binder_ioctl_write_read 7b4e9ff55c S android.hardware.contexthub@1.0-service android.hardware.contexthub@1.0-service
12952media          739     1   12676   3496 binder_ioctl_write_read ea599f8c S android.hardware.drm@1.0-service android.hardware.drm@1.0-service
12953media          740     1   15696   4868 binder_ioctl_write_read ea5e6f8c S android.hardware.drm@1.0-service.widevine android.hardware.drm@1.0-service.widevine
12954system         741     1   13168   2564 binder_ioctl_write_read 79193c255c S android.hardware.dumpstate@1.0-service.wahoo android.hardware.dumpstate@1.0-service.wahoo
12955gps            742     1   36240   6200 binder_ioctl_write_read 7c70a8355c S android.hardware.gnss@1.0-service-qti android.hardware.gnss@1.0-service-qti
12956system         743     1   13184   2708 binder_ioctl_write_read 7ea308955c S android.hardware.light@2.0-service android.hardware.light@2.0-service
12957root           744     2       0      0 diag_socket_read 0 S [kworker/u16:11]   7
12958system         745     1   13180   2712 binder_ioctl_write_read 758882b55c S android.hardware.memtrack@1.0-service android.hardware.memtrack@1.0-service
12959nfc            746     1   15692   2912 binder_ioctl_write_read 744f77d55c S android.hardware.nfc@1.0-service android.hardware.nfc@1.0-service
12960system         747     1   13196   2612 binder_ioctl_write_read 750442e55c S android.hardware.oemlock@1.0-service android.hardware.oemlock@1.0-service
12961root           750     1   10756   1708 __skb_recv_datagram 73a9d3440c S oemlock-bridge oemlock-bridge
12962system         754     1   15712   3316 binder_ioctl_write_read 76f04fd55c S android.hardware.power@1.1-service.wahoo android.hardware.power@1.1-service.wahoo
12963system         755     1   64300   3860 binder_ioctl_write_read 728bbfe55c S android.hardware.sensors@1.0-service android.hardware.sensors@1.0-service
12964root           756     1   16600   2900 binder_ioctl_write_read 7e0cdf655c S android.hardware.usb@1.1-service.wahoo android.hardware.usb@1.1-service.wahoo
12965system         757     1   13324   2784 binder_ioctl_write_read 75f676f55c S android.hardware.vibrator@1.1-service.wahoo android.hardware.vibrator@1.1-service.wahoo
12966system         758     1   13096   2456 binder_ioctl_write_read 7a530f155c S android.hardware.vr@1.0-service.wahoo android.hardware.vr@1.0-service.wahoo
12967wifi           759     1   16408   2628 binder_ioctl_write_read 792988b55c S android.hardware.wifi.offload@1.0-service android.hardware.wifi.offload@1.0-service
12968wifi           760     1   58948  44448 binder_ioctl_write_read 793bffa55c S android.hardware.wifi@1.0-service android.hardware.wifi@1.0-service
12969root           762     2       0      0 irq_thread 0 S [irq/254-wcd9xxx]        7
12970ese            763     1   13284   2588 binder_ioctl_write_read 7e4437655c S esed esed
12971root           764     1   15524   3108 SyS_epoll_wait 7629f0846c S healthd     healthd
12972root           765     2       0      0 irq_thread 0 S [irq/153-arm-smm]        7
12973root           767     1   10984   1960 do_sys_poll 6fd372a58c S msm_irqbalance msm_irqbalance
12974system         768     1   25016   2044 do_sigtimedwait 7d10dc264c S pm-service pm-service
12975system         770     1   26864   2528 futex_wait_queue_me 7b997ee4b0 S sensors.qcom sensors.qcom
12976nobody         773     1   50092   1936 do_select 709ac2d5a4 S rmt_storage      rmt_storage
12977system         774     1   13300   1864 do_sys_poll 7dd1bc958c S tftp_server    tftp_server
12978system         775     1   15932   1896 hrtimer_nanosleep 740b039e74 S pd-mapper pd-mapper
12979system         776     1   13636   2800 SyS_epoll_wait 7b8efc046c S bufferhubd  bufferhubd
12980root           777     1    9196   1544 SyS_epoll_wait 7ef210e46c S lmkd        lmkd
12981system         778     1   10632   1852 SyS_epoll_wait 7d2100546c S performanced performanced
12982root           779     1   20132   3400 binder_ioctl_write_read 77297b655c S thermalserviced thermalserviced
12983system         780     1   16900   2380 binder_ioctl_write_read 7871b8655c S virtual_touchpad virtual_touchpad
12984root           782     2       0      0 rescuer_thread 0 S [at_usb0]            7
12985root           783     2       0      0 rescuer_thread 0 S [at_usb1]            7
12986root           784     2       0      0 rescuer_thread 0 S [qdss]               7
12987root           798     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    7
12988root           800     2       0      0 rescuer_thread 0 S [modem]              8
12989system         808     1   17804   2112 hrtimer_nanosleep 7011dabe74 S pm-proxy pm-proxy
12990root           810     1   11000   1968 do_sys_poll 7f919fb58c S subsystem_ramdump subsystem_ramdump
12991root           814     1   94820   4500 SyS_rt_sigsuspend 7bdf73b634 S thermal-engine thermal-engine
12992media          815     1   14228   1628 do_sys_poll 7e497ed58c S adsprpcd       adsprpcd
12993system         816     1   15960   2288 do_select 73405495a4 S imsqmidaemon     imsqmidaemon
12994system         817     1   25056   4564 SyS_epoll_wait 75ab20a46c S cnd         cnd
12995radio          818     1  110972   7244 __skb_recv_datagram 7ac974f40c S netmgrd netmgrd
12996radio          819     1   14076   1928 futex_wait_queue_me 757cab44b0 S port-bridge port-bridge
12997root           820     2       0      0 worker_thread 0 S [kworker/2:1H]        8
12998radio          822     1   21748   3864 futex_wait_queue_me 79fbf344b0 S ipacm  ipacm
12999radio          827     1   20848   2604 do_select 7431b535a4 S qti              qti
13000audioserver    828     1   47508   9556 binder_ioctl_write_read f3de5f8c S audioserver audioserver
13001cameraserver   829     1   37240  10160 binder_ioctl_write_read ed44af8c S cameraserver cameraserver
13002drm            830     1   20384   6868 binder_ioctl_write_read ee1a5f8c S drmserver drmserver
13003root           832     1   32256   5000 binder_ioctl_write_read 7f9102a55c S installd installd
13004keystore       833     1   21596   4984 binder_ioctl_write_read 72bd6d255c S keystore keystore
13005media          834     1   16044   4228 binder_ioctl_write_read ef748f8c S mediadrmserver mediadrmserver
13006mediaex        835     1 2164880  11072 binder_ioctl_write_read 78df58a55c S media.extractor mediaextractor
13007media          836     1 2130412   7648 binder_ioctl_write_read 7272b8055c S media.metrics mediametrics
13008media          837     1   51660   9776 binder_ioctl_write_read eb454f8c S mediaserver mediaserver
13009root           838     1   18072   3376 binder_ioctl_write_read 764357d55c S storaged storaged
13010wifi           839     1   17408   4360 SyS_epoll_wait 79b6e4e46c S wificond    wificond
13011mediacodec     843     1  114240  22576 binder_ioctl_write_read f0fcff8c S media.codec android.hardware.media.omx@1.0-service
13012radio          844     1   99412  16860 binder_ioctl_write_read 702e44655c S rild rild
13013root           845     2       0      0 worker_thread 0 S [kworker/1:2]         8
13014system         848     1 2147244  12180 SyS_epoll_wait 7aa58b346c S folio_daemon folio_daemon
13015system         850     1   25140   3636 do_sys_poll 75ce30558c S cnss-daemon    cnss-daemon
13016gps            851     1   14216   2300 SyS_rt_sigsuspend 7983a6a634 S loc_launcher loc_launcher
13017system         852     1   19456   2596 do_sys_poll 7d7b9ae58c S chre           chre
13018system         854     1   17616   4048 binder_ioctl_write_read 791cc4355c S gatekeeperd gatekeeperd
13019tombstoned     856     1    9044   1544 SyS_epoll_wait 6ff06fa46c S tombstoned  tombstoned
13020root           857     1   20460   5376 SyS_epoll_wait 71def5146c S update_engine update_engine
13021system         859     1   18548   2936 binder_ioctl_write_read 7adf17855c S android.hardware.biometrics.fingerprint@2.1-service.wahoo android.hardware.biometrics.fingerprint@2.1-service.wahoo
13022system         860     1   18928   7732 do_sys_poll 7aac38f58c S cnss_diag      cnss_diag
13023system         875     1   26376   4360 do_select 78f35c75a4 S imsdatadaemon    imsdatadaemon
13024root           880     2       0      0 rescuer_thread 0 S [ipawq15]            8
13025root           916     2       0      0 rescuer_thread 0 S [iparepwq15]         9
13026root           965     2       0      0 rescuer_thread 0 S [ipawq48]            9
13027root           969     2       0      0 do_freq_mitigation 0 S [msm_thermal:fre] 9
13028root           971     2       0      0 do_thermal_monitor 0 S [msm_thermal:the] 9
13029root           973     2       0      0 rescuer_thread 0 S [iparepwq48]         9
13030root           974     2       0      0 worker_thread 0 S [kworker/u17:1]       9
13031root           979     2       0      0 rescuer_thread 0 S [ipawq13]            9
13032root           984     2       0      0 rescuer_thread 0 S [iparepwq13]         9
13033root           997     2       0      0 rescuer_thread 0 S [ipa_A7_svc]         9
13034root          1002     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13035root          1004     2       0      0 rescuer_thread 0 S [clnt_req]           1
13036root          1007     2       0      0 rescuer_thread 0 S [clnt_resp]          1
13037root          1012     2       0      0 rescuer_thread 0 S [clnt_req]           1
13038root          1094     2       0      0 irq_thread 0 S [irq/157-arm-smm]        1
13039root          1095     2       0      0 irq_thread 0 S [irq/162-arm-smm]        1
13040root          1118     2       0      0 rescuer_thread 0 S [wdsp_glink_wq]      1
13041system        1136   717 4660232 351520 SyS_epoll_wait 70d91f346c S system_server app_process64
13042root          1209     2       0      0 rescuer_thread 0 S [mpss_IPCRTR]        1
13043root          1210     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13044root          1211     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13045root          1243     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13046u0_a39        1341   717 4428576 112696 SyS_epoll_wait 70d91f346c S com.android.systemui app_process64
13047root          1357     2       0      0 rescuer_thread 0 S [qmi_hndl0000000]    1
13048radio         1362   717 4277484  37176 SyS_epoll_wait 70d91f346c S com.google.modemservice app_process64
13049radio         1438   717 4279272  37180 SyS_epoll_wait 70d91f346c S com.qualcomm.qcrilmsgtunnel app_process64
13050u0_a99        1467   717 4399596 113672 SyS_epoll_wait 70d91f346c S com.breel.wallpapers app_process64
13051gps           1546   851   24252   3864 futex_wait_queue_me 725dff04b0 S lowi-server lowi-server
13052system        1556   717 4286264  41764 SyS_epoll_wait 70d91f346c S .dataservices app_process64
13053gps           1562   851   25096   5932 __skb_recv_datagram 761088140c S xtra-daemon xtra-daemon
13054gps           1563   851       0      0 do_exit 0 Z [loc_launcher]              1
13055gps           1564   851       0      0 do_exit 0 Z [loc_launcher]              1
13056gps           1565   851       0      0 do_exit 0 Z [loc_launcher]              1
13057radio         1576   717 4277872  37248 SyS_epoll_wait 70d91f346c S com.qualcomm.qti.telephonyservice app_process64
13058radio         1585   717 4329964  66532 SyS_epoll_wait 70d91f346c S com.android.phone app_process64
13059root          1644     2       0      0 rescuer_thread 0 S [ipawq14]            1
13060root          1651     2       0      0 rescuer_thread 0 S [iparepwq14]         1
13061root          1659     2       0      0 rescuer_thread 0 S [ipawq49]            1
13062root          1665     2       0      0 rescuer_thread 0 S [iparepwq49]         1
13063root          2193     2       0      0 irq_thread 0 S [irq/35-1008000.]        2
13064root          2203     2       0      0 worker_thread 0 S [kworker/3:1H]        2
13065root          2207     2       0      0 wlan_logging_thread 0 S [wlan_logging_th] 2
13066root          2208     1   20008   2668 futex_wait_queue_me 7a4f0454b0 S perfd  perfd
13067root          2219     2       0      0 cds_mc_thread 0 S [cds_mc_thread]       2
13068root          2220     2       0      0 cds_ol_rx_thread 0 S [cds_ol_rx_threa]  2
13069nfc           2315   717 4298720  53568 SyS_epoll_wait 70d91f346c S com.android.nfc app_process64
13070radio         2330   717 4278968  40012 SyS_epoll_wait 70d91f346c S com.android.ims.rcsservice app_process64
13071system        2337   717 4277764  33104 SyS_epoll_wait 70d91f346c S com.google.SSRestartDetector app_process64
13072u0_a47        2438   717 4390068  99708 SyS_epoll_wait 70d91f346c S com.google.android.apps.nexuslauncher app_process64
13073u0_a29        2452   717 4291516  45632 SyS_epoll_wait 70d91f346c S com.google.intelligence.sense app_process64
13074u0_a32        3721   717 4284276  45200 SyS_epoll_wait 70d91f346c S com.google.android.apps.turbo:aab app_process64
13075root          3724   689    9468   2016 pipe_read 70df7f9f94 S iptables-restore iptables
13076root          3737   689    9484   2092 pipe_read 79ce20ef94 S ip6tables-restore ip6tables
13077root          4292     2       0      0 worker_thread 0 S [kworker/5:0]         4
13078root          4337     2       0      0 worker_thread 0 S [kworker/4:0]         4
13079system        4764   717 4279604  33956 SyS_epoll_wait 70d91f346c S com.qualcomm.telephony app_process64
13080u0_a44        4845   717 4302492  62900 SyS_epoll_wait 70d91f346c S com.verizon.mips.services app_process64
13081u0_a712       4896   717 4424460 145308 SyS_epoll_wait 70d91f346c S com.google.wireless.qa.mobileharness.tool.android.daemon app_process64
13082root          4937     2       0      0 worker_thread 0 S [kworker/2:1]         4
13083root          5027     1   14980   1240 do_sys_poll 4c3aec S adbd               adbd
13084u0_a26        7090   717 4400528 105352 SyS_epoll_wait 70d91f346c S com.google.android.gms.persistent app_process64
13085u0_a26        7098   717 4540460 110152 SyS_epoll_wait 70d91f346c S com.google.android.gms app_process64
13086root          7580     2       0      0 worker_thread 0 S [kworker/7:2]         7
13087root          7655     2       0      0 worker_thread 0 S [kworker/0:1]         7
13088root          7755     2       0      0 worker_thread 0 S [kworker/2:0]         7
13089u0_a38        8947   717 4279080  42508 SyS_epoll_wait 70d91f346c S android.process.media app_process64
13090root         10171     2       0      0 worker_thread 0 S [kworker/0:2]         1
13091root         10578     2       0      0 worker_thread 0 S [kworker/u16:6]       1
13092root         10822     2       0      0 worker_thread 0 S [kworker/u16:0]       1
13093root         11013     2       0      0 worker_thread 0 S [kworker/7:0]         1
13094root         11093     2       0      0 worker_thread 0 S [kworker/u16:5]       1
13095root         11198     2       0      0 worker_thread 0 S [kworker/1:1]         1
13096root         11204     2       0      0 worker_thread 0 S [kworker/3:0]         1
13097root         11314     2       0      0 worker_thread 0 S [kworker/5:1]         1
13098root         11385     2       0      0 worker_thread 0 S [kworker/6:1]         1
13099root         11468     2       0      0 worker_thread 0 S [kworker/u16:2]       1
13100root         11477     2       0      0 worker_thread 0 S [kworker/4:2]         1
13101root         11483     2       0      0 worker_thread 0 S [kworker/2:4]         1
13102root         11635     2       0      0 worker_thread 0 S [kworker/6:0]         1
13103root         11710     2       0      0 worker_thread 0 S [kworker/0:3]         1
13104root         11723     2       0      0 worker_thread 0 S [kworker/3:1]         1
13105root         11733     2       0      0 worker_thread 0 S [kworker/2:2]         1
13106root         11737     2       0      0 worker_thread 0 S [kworker/4:1]         1
13107root         11740     2       0      0 worker_thread 0 S [kworker/1:0]         1
13108root         11801     2       0      0 worker_thread 0 S [kworker/7:1]         1
13109root         11894     2       0      0 worker_thread 0 S [kworker/6:2]         1
13110root         11895     2       0      0 worker_thread 0 S [kworker/u16:4]       1
13111root         11896     2       0      0 worker_thread 0 S [kworker/2:3]         1
13112root         11961     2       0      0 worker_thread 0 S [kworker/0:0]         1
13113root         11963     2       0      0 worker_thread 0 S [kworker/4:3]         1
13114root         11972     2       0      0 worker_thread 0 S [kworker/3:2]         1
13115root         12010     2       0      0 worker_thread 0 S [kworker/7:3]         1
13116root         12136     2       0      0 worker_thread 0 S [kworker/3:3]         1
13117root         12172     2       0      0 worker_thread 0 S [kworker/u16:7]       1
13118root         12173     2       0      0 worker_thread 0 S [kworker/u16:9]       1
13119root         12174     2       0      0 worker_thread 0 S [kworker/u16:10]      1
13120root         12175     2       0      0 worker_thread 0 S [kworker/u16:12]      1
13121root         12176     2       0      0 worker_thread 0 S [kworker/u16:13]      1
13122root         12177     2       0      0 worker_thread 0 S [kworker/u16:14]      1
13123root         12178     2       0      0 worker_thread 0 S [kworker/u16:15]      1
13124u0_a26       12188   717 4281664  39180 SyS_epoll_wait 70d91f346c S com.google.process.gapps app_process64
13125u0_a26       12204   717 4284380  40244 SyS_epoll_wait 70d91f346c S com.google.process.gservices app_process64
13126u0_a15       12324   717 4283136  36156 SyS_epoll_wait 70d91f346c S com.android.connectivity.metrics app_process64
13127u0_a22       12381   717 4275684  35736 SyS_epoll_wait 70d91f346c S com.google.android.partnersetup app_process64
13128webview_zygote 12409   1 1334320  30380 do_sys_poll eb625024 S webview_zygote32 webview_zygote32
13129radio        12413   717 4274568  33784 SyS_epoll_wait 70d91f346c S com.google.telephonymonitor app_process64
13130u0_a93       12475   717 4276176  34220 SyS_epoll_wait 70d91f346c S com.android.printspooler app_process64
13131u0_a25       12601   717 4283292  42808 SyS_epoll_wait 70d91f346c S com.google.android.apps.gcs app_process64
13132u0_a11       12638   717 4287328  46320 SyS_epoll_wait 70d91f346c S android.process.acore app_process64
13133root         12674     2       0      0 worker_thread 0 S [kworker/5:2]         1
13134u0_a26       12730   717 4366688  64800 SyS_epoll_wait 70d91f346c S com.google.android.gms.unstable app_process64
13135u0_a26       12850   717 4333436  53388 SyS_epoll_wait 70d91f346c S com.google.android.gms.ui app_process64
13136u0_a84       12984   717 4280980  36220 SyS_epoll_wait 70d91f346c S com.google.android.apps.enterprise.dmagent app_process64
13137u0_a115      13067   717 4324864  49272 SyS_epoll_wait 70d91f346c S com.google.android.calendar app_process64
13138u0_a13       13092   717 4274940  36536 SyS_epoll_wait 70d91f346c S com.android.providers.calendar app_process64
13139system       13242     1   16424   2936 binder_ioctl_write_read 77aeebe55c S android.hardware.configstore@1.0-service android.hardware.configstore@1.0-service
13140u0_a27       13282   717 4275052  34272 SyS_epoll_wait 70d91f346c S com.android.defcontainer app_process64
13141u0_a3245     13558   717 4276544  33796 SyS_epoll_wait 70d91f346c S com.google.android.apps.common.testing.services app_process64
13142root         13727  5027    8948   1804 SyS_rt_sigsuspend 749fa6d634 S sh       sh
13143root         13729 13727    8948    660 SyS_rt_sigsuspend 749fa6d634 S sh       sh
13144root         13730 13729   10524   1980 0      7380b4ef94 R ps                  toybox
13145u0_a53       22412   717 4284840  42772 SyS_epoll_wait 70d91f346c S com.google.android.volta app_process64
13146u0_a42       30672   717 4314228  58000 SyS_epoll_wait 70d91f346c S com.google.android.ims app_process64
13147USER           PID   TID CMD
13148root             1     1 init
13149root             2     2 kthreadd
13150root             3     3 ksoftirqd/0
13151root             5     5 kworker/0:0H
13152root             7     7 rcu_preempt
13153root             8     8 rcu_sched
13154root             9     9 rcu_bh
13155root            10    10 rcuop/0
13156root            11    11 rcuos/0
13157root            12    12 rcuob/0
13158root            13    13 migration/0
13159root            14    14 watchdog/0
13160root            15    15 watchdog/1
13161root            16    16 migration/1
13162root            17    17 ksoftirqd/1
13163root            19    19 kworker/1:0H
13164root            20    20 rcuop/1
13165root            21    21 rcuos/1
13166root            22    22 rcuob/1
13167root            23    23 watchdog/2
13168root            24    24 migration/2
13169root            25    25 ksoftirqd/2
13170root            27    27 kworker/2:0H
13171root            28    28 rcuop/2
13172root            29    29 rcuos/2
13173root            30    30 rcuob/2
13174root            31    31 watchdog/3
13175root            32    32 migration/3
13176root            33    33 ksoftirqd/3
13177root            35    35 kworker/3:0H
13178root            36    36 rcuop/3
13179root            37    37 rcuos/3
13180root            38    38 rcuob/3
13181root            39    39 watchdog/4
13182root            40    40 migration/4
13183root            41    41 ksoftirqd/4
13184root            43    43 kworker/4:0H
13185root            44    44 rcuop/4
13186root            45    45 rcuos/4
13187root            46    46 rcuob/4
13188root            47    47 watchdog/5
13189root            48    48 migration/5
13190root            49    49 ksoftirqd/5
13191root            51    51 kworker/5:0H
13192root            52    52 rcuop/5
13193root            53    53 rcuos/5
13194root            54    54 rcuob/5
13195root            55    55 watchdog/6
13196root            56    56 migration/6
13197root            57    57 ksoftirqd/6
13198root            59    59 kworker/6:0H
13199root            60    60 rcuop/6
13200root            61    61 rcuos/6
13201root            62    62 rcuob/6
13202root            63    63 watchdog/7
13203root            64    64 migration/7
13204root            65    65 ksoftirqd/7
13205root            67    67 kworker/7:0H
13206root            68    68 rcuop/7
13207root            69    69 rcuos/7
13208root            70    70 rcuob/7
13209root            71    71 netns
13210root            72    72 perf
13211root            73    73 smd_channel_clo
13212root            74    74 dsps_smd_trans_
13213root            75    75 lpass_smd_trans
13214root            76    76 mpss_smd_trans_
13215root            77    77 wcnss_smd_trans
13216root            78    78 rpm_smd_trans_g
13217root            79    79 ipa_usb_wq
13218root            81    81 smem_native_mps
13219root            82    82 mpss_smem_glink
13220root            83    83 smem_native_lpa
13221root            84    84 lpass_smem_glin
13222root            85    85 smem_native_dsp
13223root            86    86 dsps_smem_glink
13224root            87    87 smem_native_rpm
13225root            88    88 rpm_smem_glink_
13226root            89    89 smem_native_sps
13227root            90    90 spss_mailbox_gl
13228root            91    91 msm_watchdog
13229root            92    92 deferwq
13230root            93    93 kworker/u16:1
13231root            94    94 irq/126-cpr3
13232root            95    95 mpm
13233root            97    97 khungtaskd
13234root            98    98 writeback
13235root            99    99 kcompactd0
13236root           100   100 crypto
13237root           101   101 bioset
13238root           102   102 kblockd
13239root           103   103 md
13240root           104   104 edac-poller
13241root           105   105 system
13242root           106   106 easel_mem
13243root           107   107 devfreq_wq
13244root           108   108 governor_msm_ad
13245root           110   110 cfg80211
13246root           111   111 irq/134-arm-smm
13247root           112   112 ipa_power_mgmt
13248root           113   113 transport_power
13249root           114   114 ipa_rm_wq
13250root           115   115 ipa_interrupt_w
13251root           116   116 irq/135-arm-smm
13252root           117   117 irq/136-arm-smm
13253root           118   118 irq/61-bcl_vbat
13254root           119   119 irq/60-bcl_ibat
13255root           145   145 power_off_alarm
13256root           146   146 kswapd0
13257root           147   147 vmstat
13258root           148   148 fsnotify_mark
13259root           180   180 ad_calc_wq
13260root           181   181 mdss_dsi_event
13261root           182   182 mdss_dsi_dba
13262root           183   183 cwb_wq
13263root           184   184 vsync_retire_wo
13264root           185   185 cwb_wq
13265root           187   187 glink_ssr_wq
13266root           188   188 glink_lbsrv
13267root           189   189 spi_wdsp
13268root           190   190 wdsp_spi_glink_
13269root           191   191 glink_xprt_wq
13270root           192   192 IPCRTR_mpss_sme
13271root           193   193 IPCRTR_lpass_sm
13272root           194   194 IPCRTR_dsps_sme
13273root           195   195 apr_driver
13274root           196   196 glink_pkt_wq
13275root           198   198 mem_share_svc
13276root           199   199 qmi_hndl0000000
13277root           200   200 msm_ipc_router
13278root           201   201 irq/137-arm-smm
13279root           202   202 qmi_svc_event_w
13280root           203   203 servloc_wq
13281root           204   204 tty_worker_thre
13282root           205   205 tty_worker_thre
13283root           206   206 tty_worker_thre
13284root           207   207 tty_worker_thre
13285root           208   208 k_hsuart
13286root           209   209 msm_serial_hs_0
13287root           210   210 msm_serial_hs_0
13288root           211   211 hwrng
13289root           213   213 diag_real_time_
13290root           214   214 diag_wq
13291root           215   215 DIAG_USB_diag
13292root           216   216 diag_cntl_wq
13293root           217   217 diag_dci_wq
13294root           218   218 DIAG_SMD_MODEM_
13295root           219   219 DIAG_SMD_MODEM_
13296root           220   220 DIAG_SMD_MODEM_
13297root           221   221 DIAG_SMD_MODEM_
13298root           222   222 DIAG_SMD_MODEM_
13299root           223   223 DIAG_SMD_LPASS_
13300root           224   224 DIAG_SMD_LPASS_
13301root           225   225 DIAG_SMD_LPASS_
13302root           226   226 DIAG_SMD_LPASS_
13303root           227   227 DIAG_SMD_LPASS_
13304root           228   228 DIAG_SMD_WCNSS_
13305root           229   229 DIAG_SMD_WCNSS_
13306root           230   230 DIAG_SMD_WCNSS_
13307root           231   231 DIAG_SMD_WCNSS_
13308root           232   232 DIAG_SMD_WCNSS_
13309root           233   233 DIAG_SMD_SENSOR
13310root           234   234 DIAG_SMD_SENSOR
13311root           235   235 DIAG_SMD_SENSOR
13312root           236   236 DIAG_SMD_SENSOR
13313root           237   237 DIAG_SMD_SENSOR
13314root           238   238 DIAG_SMD_DIAG_C
13315root           239   239 DIAG_SMD_DIAG_D
13316root           240   240 DIAG_SMD_DIAG_C
13317root           241   241 DIAG_SMD_DIAG_D
13318root           242   242 DIAG_SMD_DIAG_D
13319root           243   243 DIAG_SMD_CDSP_C
13320root           244   244 DIAG_SMD_CDSP_D
13321root           245   245 DIAG_SMD_CDSP_C
13322root           246   246 DIAG_SMD_CDSP_D
13323root           247   247 DIAG_SMD_CDSP_D
13324root           248   248 DIAG_SOCKMODEM_
13325root           249   249 DIAG_SOCKMODEM_
13326root           250   250 DIAG_SOCKMODEM_
13327root           251   251 DIAG_SOCKMODEM_
13328root           252   252 DIAG_SOCKMODEM_
13329root           253   253 DIAG_SOCKLPASS_
13330root           254   254 DIAG_SOCKLPASS_
13331root           255   255 DIAG_SOCKLPASS_
13332root           256   256 DIAG_SOCKLPASS_
13333root           257   257 DIAG_SOCKLPASS_
13334root           258   258 DIAG_SOCKWCNSS_
13335root           259   259 DIAG_SOCKWCNSS_
13336root           260   260 DIAG_SOCKWCNSS_
13337root           261   261 DIAG_SOCKWCNSS_
13338root           262   262 DIAG_SOCKWCNSS_
13339root           263   263 DIAG_SOCKSENSOR
13340root           264   264 DIAG_SOCKSENSOR
13341root           265   265 DIAG_SOCKSENSOR
13342root           266   266 DIAG_SOCKSENSOR
13343root           267   267 DIAG_SOCKSENSOR
13344root           268   268 DIAG_SOCKDIAG_C
13345root           269   269 DIAG_SOCKDIAG_D
13346root           270   270 DIAG_SOCKDIAG_C
13347root           271   271 DIAG_SOCKDIAG_D
13348root           272   272 DIAG_SOCKDIAG_D
13349root           273   273 DIAG_SOCKCDSP_C
13350root           274   274 DIAG_SOCKCDSP_D
13351root           275   275 DIAG_SOCKCDSP_C
13352root           276   276 DIAG_SOCKCDSP_D
13353root           277   277 DIAG_SOCKCDSP_D
13354root           278   278 DIAG_CNTL_SOCKE
13355root           279   279 DIAG_GLINK_DIAG
13356root           280   280 DIAG_GLINK_DIAG
13357root           281   281 DIAG_GLINK_DIAG
13358root           282   282 DIAG_GLINK_DIAG
13359root           283   283 DIAG_GLINK_DIAG
13360root           284   284 kgsl-workqueue
13361root           285   285 kgsl-mementry
13362root           286   286 kgsl_worker_thr
13363root           287   287 kgsl-events
13364root           288   288 kgsl_devfreq_wq
13365root           289   289 bioset
13366root           290   290 bioset
13367root           291   291 bioset
13368root           292   292 bioset
13369root           293   293 bioset
13370root           294   294 bioset
13371root           295   295 bioset
13372root           296   296 bioset
13373root           297   297 bioset
13374root           298   298 bioset
13375root           299   299 bioset
13376root           300   300 bioset
13377root           301   301 bioset
13378root           302   302 bioset
13379root           304   304 bioset
13380root           305   305 bioset
13381root           306   306 bioset
13382root           307   307 bioset
13383root           308   308 bioset
13384root           309   309 bioset
13385root           310   310 bioset
13386root           311   311 bioset
13387root           312   312 bioset
13388root           313   313 bioset
13389root           314   314 bioset
13390root           315   315 irq/286-soc:fp_
13391root           316   316 memory_wq
13392root           317   317 qcrypto_seq_res
13393root           318   318 scsi_eh_0
13394root           319   319 scsi_tmf_0
13395root           320   320 ufs_pm_qos_0
13396root           321   321 ufs_clk_ungatin
13397root           322   322 ufs_clkscaling_
13398root           323   323 spi1
13399root           325   325 spi2
13400root           326   326 spi10
13401root           327   327 bond0
13402root           329   329 sharedmem_qmi_w
13403root           330   330 qmi_hndl0000000
13404root           331   331 kworker/u16:3
13405root           335   335 uether
13406root           336   336 k_ipa_usb
13407root           340   340 kworker/u17:0
13408root           341   341 irq/262-vl53l0_
13409root           342   342 bioset
13410root           343   343 bioset
13411root           344   344 bioset
13412root           345   345 msm_cci_wq
13413root           346   346 msm_cci_wq
13414root           347   347 bioset
13415root           348   348 bioset
13416root           349   349 bioset
13417root           350   350 bioset
13418root           351   351 bioset
13419root           352   352 bioset
13420root           354   354 msm_cpp_workque
13421root           357   357 msm_vidc_worker
13422root           358   358 pm_workerq_venu
13423root           359   359 irq/158-arm-smm
13424root           360   360 irq/159-arm-smm
13425root           361   361 irq/160-arm-smm
13426root           362   362 irq/161-arm-smm
13427root           363   363 rot_commitq_0_0
13428root           364   364 rot_commitq_0_1
13429root           365   365 rot_doneq_0_0
13430root           366   366 rot_doneq_0_1
13431root           368   368 therm_core:noti
13432root           369   369 irq/500-chg-err
13433root           370   370 irq/501-chg-sta
13434root           371   371 irq/502-step-ch
13435root           372   372 irq/503-step-ch
13436root           373   373 irq/504-step-ch
13437root           374   374 irq/505-otg-fai
13438root           375   375 irq/506-otg-ove
13439root           376   376 irq/507-otg-oc-
13440root           377   377 irq/508-testmod
13441root           378   378 irq/509-bat-tem
13442root           379   379 irq/510-bat-ocp
13443root           380   380 irq/511-bat-ov
13444root           381   381 irq/512-bat-low
13445root           382   382 irq/513-bat-the
13446root           383   383 irq/514-bat-ter
13447root           384   384 irq/515-usbin-c
13448root           385   385 irq/516-usbin-l
13449root           386   386 irq/517-usbin-u
13450root           387   387 irq/518-usbin-o
13451root           388   388 irq/519-usbin-p
13452root           389   389 irq/520-usbin-s
13453root           390   390 irq/521-usbin-i
13454root           391   391 irq/522-type-c-
13455root           392   392 irq/523-dcin-co
13456root           393   393 irq/524-dcin-lt
13457root           394   394 irq/525-dcin-uv
13458root           395   395 irq/526-dcin-ov
13459root           396   396 irq/527-dcin-pl
13460root           397   397 irq/528-div2-en
13461root           398   398 irq/529-dcin-ic
13462root           399   399 irq/532-aicl-fa
13463root           400   400 irq/533-aicl-do
13464root           401   401 irq/534-high-du
13465root           402   402 irq/535-input-c
13466root           403   403 irq/536-tempera
13467root           404   404 irq/537-switche
13468root           405   405 therm_core:noti
13469root           406   406 therm_core:noti
13470root           408   408 therm_core:noti
13471root           409   409 therm_core:noti
13472root           410   410 therm_core:noti
13473root           411   411 therm_core:noti
13474root           412   412 therm_core:noti
13475root           413   413 therm_core:noti
13476root           414   414 therm_core:noti
13477root           415   415 therm_core:noti
13478root           416   416 therm_core:noti
13479root           417   417 therm_core:noti
13480root           418   418 therm_core:noti
13481root           419   419 therm_core:noti
13482root           420   420 therm_core:noti
13483root           421   421 therm_core:noti
13484root           422   422 therm_core:noti
13485root           423   423 therm_core:noti
13486root           424   424 therm_core:noti
13487root           425   425 therm_core:noti
13488root           426   426 therm_core:noti
13489root           427   427 therm_core:noti
13490root           428   428 irq/59-tsens_in
13491root           429   429 irq/62-tsens_cr
13492root           430   430 therm_core:noti
13493root           431   431 therm_core:noti
13494root           432   432 therm_core:noti
13495root           433   433 therm_core:noti
13496root           434   434 therm_core:noti
13497root           435   435 therm_core:noti
13498root           436   436 therm_core:noti
13499root           437   437 therm_core:noti
13500root           438   438 irq/63-tsens_in
13501root           439   439 irq/64-tsens_cr
13502root           440   440 therm_core:noti
13503root           441   441 irq/366-limits_
13504root           442   442 therm_core:noti
13505root           443   443 irq/367-limits_
13506root           444   444 dm_bufio_cache
13507root           445   445 cfinteractive
13508root           446   446 irq/291-bcm1560
13509root           447   447 irq/226-bcm1560
13510root           449   449 therm_core:noti
13511root           450   450 irq/197-spdm_bw
13512root           451   451 binder
13513root           452   452 irq/144-arm-smm
13514root           453   453 uaudio_svc
13515root           454   454 qmi_hndl0000000
13516root           455   455 ipv6_addrconf
13517root           457   457 irq/574-adsp
13518root           458   458 sysmon_wq
13519root           459   459 irq/606-slpi
13520root           460   460 irq/542-modem
13521root           464   464 usb_bam_wq
13522root           465   465 irq/19-sig-tx
13523root           466   466 irq/20-sig-rx
13524root           467   467 irq/22-msg-rx
13525root           468   468 usbpd0
13526root           469   469 usbpd0
13527root           474   474 therm_core:noti
13528root           475   475 irq/734-soc-upd
13529root           476   476 irq/735-soc-rea
13530root           477   477 irq/736-bsoc-de
13531root           478   478 irq/737-msoc-de
13532root           479   479 irq/738-msoc-lo
13533root           480   480 irq/739-msoc-em
13534root           481   481 irq/740-msoc-hi
13535root           482   482 irq/741-msoc-fu
13536root           483   483 irq/742-vbatt-p
13537root           484   484 irq/743-vbatt-l
13538root           485   485 irq/744-esr-del
13539root           486   486 irq/745-batt-mi
13540root           487   487 irq/746-batt-te
13541root           488   488 irq/747-ima-rdy
13542root           489   489 irq/748-mem-xcp
13543root           490   490 irq/749-dma-gra
13544root           492   492 irq/54-hs_phy_i
13545root           493   493 irq/55-ss_phy_i
13546root           494   494 irq/56-msm_dwc3
13547root           496   496 irq/36-ARM64 pr
13548root           497   497 irq/37-ARM64 se
13549root           498   498 irq/39-ARM64 pr
13550root           499   499 irq/40-ARM64 se
13551root           500   500 rq_stats
13552root           501   501 irq/145-arm-smm
13553root           502   502 irq/146-arm-smm
13554root           503   503 irq/147-arm-smm
13555root           504   504 irq/148-arm-smm
13556root           505   505 irq/149-arm-smm
13557root           506   506 irq/150-arm-smm
13558root           507   507 irq/151-arm-smm
13559root           508   508 irq/152-arm-smm
13560root           509   509 set_state_work
13561root           510   510 irq/227-mnh-rea
13562root           512   512 irq/751-mnh_pci
13563root           513   513 irq/752-mnh_pci
13564root           514   514 irq/753-mnh_pci
13565root           515   515 irq/754-mnh_pci
13566root           516   516 irq/755-mnh_pci
13567root           517   517 irq/758-mnh_pci
13568root           518   518 irq/759-mnh_pci
13569root           519   519 irq/128-arm-smm
13570root           520   520 sb-1
13571root           521   521 ngd_rx_thread1
13572root           522   522 ngd_notify_sl1
13573root           523   523 sb-3
13574root           524   524 ngd_rx_thread3
13575root           525   525 ngd_notify_sl3
13576root           526   526 therm_core:noti
13577root           527   527 therm_core:noti
13578root           528   528 therm_core:noti
13579root           529   529 irq/66-lmh-inte
13580root           530   530 irq/28-qpnp_fla
13581root           531   531 irq/27-qpnp_fla
13582root           532   532 irq/26-qpnp_fla
13583root           534   534 kdmflush
13584root           535   535 bioset
13585root           536   536 kverityd
13586root           537   537 bioset
13587root           538   538 bioset
13588root           539   539 bioset
13589root           540   540 kworker/6:1H
13590root           541   541 kworker/5:1H
13591root           542   542 kworker/7:1H
13592root           543   543 ext4-rsv-conver
13593root           544   544 kworker/0:1H
13594root           546   546 kdmflush
13595root           547   547 bioset
13596root           548   548 kverityd
13597root           549   549 bioset
13598root           550   550 bioset
13599root           551   551 bioset
13600root           552   552 ext4-rsv-conver
13601root           553   553 jbd2/sdd3-8
13602root           554   554 ext4-rsv-conver
13603root           555   555 kworker/4:1H
13604root           556   556 ueventd
13605root           558   558 kworker/1:1H
13606root           562   562 irq/760-synapti
13607root           563   563 dsx_rebuild_wor
13608root           564   564 dsx_exp_workque
13609root           569   569 batt_timer
13610system         580   580 qseecomd
13611root           581   581 sugov:0
13612root           582   582 sugov:4
13613system         584   584 hwservicemanage
13614logd           585   585 logd
13615logd           585   590 logd.daemon
13616logd           585   591 logd.reader
13617logd           585   592 logd.writer
13618logd           585   593 logd.control
13619logd           585   595 logd.klogd
13620logd           585   596 logd.auditd
13621system         586   586 servicemanager
13622system         587   587 vndservicemanag
13623root           588   588 kworker/u16:8
13624root           594   594 kauditd
13625system         597   597 qseecomd
13626system         597   598 qseecomd
13627system         597   599 qseecomd
13628system         597   600 qseecomd
13629system         597   601 qseecomd
13630system         597   602 qseecomd
13631system         597   603 qseecomd
13632system         597   604 qseecomd
13633root           606   606 boot@1.0-servic
13634system         607   607 gatekeeper@1.0-
13635system         608   608 keyprimary@3.0-s
13636system         610   610 surfaceflinger
13637system         610   626 HwBinder:610_1
13638system         610   627 Binder:610_1
13639system         610   628 Binder:610_2
13640system         610   629 DispSync
13641system         610   661 POSIX timer 0
13642system         610   662 EventThread
13643system         610   663 POSIX timer 1
13644system         610   664 EventThread
13645system         610   679 VrEvent
13646system         610   680 VrHwcPost
13647system         610   681 VrDispatch
13648system         610   682 EventControl
13649system         610   978 Binder:610_3
13650system         610   981 Binder:610_1
13651system         610  1720 Binder:610_4
13652system         610  2158 Binder:610_5
13653system         612   612 composer@2.1-se
13654system         612   622 Binder:612_1
13655system         612   623 Binder:612_2
13656system         612   643 SDM_EventThread
13657system         612   665 android.hardwar
13658system         612   666 HWC_UeventThrea
13659system         612   676 HwBinder:612_1
13660system         612   677 HwBinder:612_2
13661system         612   678 composer@2.1-se
13662system         612 11297 HwBinder:612_3
13663system         614   614 allocator@2.0-s
13664system         614   982 HwBinder:614_1
13665system         614   983 HwBinder:614_2
13666system         614 20587 HwBinder:614_3
13667root           631   631 mdss_fb0
13668root           632   632 jbd2/sda45-8
13669root           633   633 ext4-rsv-conver
13670system         637   637 time_daemon
13671system         637   649 time_daemon
13672system         637   650 time_daemon
13673system         637   651 time_daemon
13674system         637   652 time_daemon
13675system         637   653 time_daemon
13676system         637  1271 time_daemon
13677root           638   638 vold
13678root           638   654 vold
13679root           638   655 vold
13680root           638   656 vold
13681root           645   645 irq/177-arm-smm
13682root           646   646 irq/178-arm-smm
13683root           657   657 fwu_workqueue
13684root           658   658 dsps_IPCRTR
13685root           660   660 lpass_IPCRTR
13686root           688   688 qmi_hndl0000000
13687root           689   689 Binder:689_2
13688root           689   707 netd
13689root           689   708 netd
13690root           689   709 netd
13691root           689   710 netd
13692root           689   711 netd
13693root           689   712 netd
13694root           689   713 netd
13695root           689   714 netd
13696root           689   715 Binder:689_1
13697root           689   716 Binder:689_2
13698root           689   718 HwBinder:689_1
13699root           689 15067 Binder:689_3
13700root           689  2971 Binder:689_4
13701root           689  3118 Binder:689_5
13702root           690   690 qmi_hndl0000000
13703root           691   691 msm_slim_qmi_cl
13704root           692   692 msm_slim_qmi_cl
13705root           693   693 qmi_hndl0000000
13706root           694   694 qmi_hndl0000000
13707root           717   717 main
13708root           717 13559 ReferenceQueueD
13709root           717 13560 FinalizerDaemon
13710root           717 13561 FinalizerWatchd
13711root           717 13562 HeapTaskDaemon
13712root           719   719 main
13713root           719  8873 ReferenceQueueD
13714root           719  8874 FinalizerDaemon
13715root           719  8875 FinalizerWatchd
13716root           719  8876 HeapTaskDaemon
13717root           720   720 cds_recovery_wo
13718system         732   732 allocator@1.0-s
13719system         733   733 vr_hwc
13720system         733   751 Binder:733_1
13721system         733   752 HwBinder:733_1
13722system         733   753 Binder:733_2
13723audioserver    734   734 audio@2.0-servi
13724audioserver    734  1117 audio@2.0-servi
13725audioserver    734  1119 audio@2.0-servi
13726audioserver    734  1120 HwBinder:734_1
13727audioserver    734  1169 HwBinder:734_1
13728audioserver    734  1170 HwBinder:734_2
13729audioserver    734  1817 HwBinder:734_3
13730audioserver    734  1818 HwBinder:734_4
13731bluetooth      735   735 bluetooth@1.0-s
13732bluetooth      735 13239 HwBinder:735_1
13733cameraserver   736   736 provider@2.4-se
13734cameraserver   736  1962 CAM_imgTh
13735cameraserver   736  1963 CAM_imgTh
13736cameraserver   736  1964 CAM_imgTh
13737cameraserver   736  1965 CAM_imgTh
13738cameraserver   736  1966 CAM_imgTh
13739cameraserver   736  1967 CAM_imgTh
13740cameraserver   736  1968 CAM_imgTh
13741cameraserver   736  1969 CAM_imgTh
13742cameraserver   736  1970 CAM_imgTh
13743cameraserver   736  1971 CAM_imgTh
13744cameraserver   736  1972 CAM_imgTh
13745cameraserver   736  1973 CAM_imgTh
13746cameraserver   736  1974 CAM_imgTh
13747cameraserver   736  1975 CAM_imgTh
13748cameraserver   736  1976 CAM_imgTh
13749cameraserver   736  1977 CAM_imgTh
13750cameraserver   736  1978 CAM_imgTh
13751cameraserver   736  1979 CAM_imgTh
13752cameraserver   736  1980 CAM_imgTh
13753cameraserver   736  1981 CAM_imgTh
13754cameraserver   736  2001 android.hardwar
13755cameraserver   736  2023 CAM_gyro_sens
13756cameraserver   736  2105 HwBinder:736_1
13757cameraserver   736  2106 HwBinder:736_2
13758cameraserver   736  1735 HwBinder:736_1
13759cameraserver   736  1809 HwBinder:736_3
13760media          737   737 cas@1.0-service
13761media          737 13240 HwBinder:737_1
13762media          737 13241 HwBinder:737_2
13763system         738   738 contexthub@1.0-
13764system         738   761 android.hardwar
13765media          739   739 drm@1.0-service
13766media          739  3562 HwBinder:739_1
13767media          740   740 drm@1.0-service
13768media          740  3563 HwBinder:740_1
13769media          740 12908 HwBinder:740_2
13770system         741   741 dumpstate@1.0-s
13771gps            742   742 gnss@1.0-servic
13772gps            742  1500 Loc_hal
13773gps            742  1515 Loc_hal
13774gps            742  1516 Loc_hal
13775gps            742  1517 Loc_hal
13776gps            742  1521 Loc_hal
13777gps            742  1542 Loc_hal
13778gps            742  1543 Loc_hal
13779gps            742  1544 Loc_hal
13780gps            742  1554 Loc_hal
13781system         743   743 light@2.0-servi
13782root           744   744 kworker/u16:11
13783system         745   745 memtrack@1.0-se
13784nfc            746   746 nfc@1.0-service
13785system         747   747 oemlock@1.0-ser
13786root           750   750 oemlock-bridge
13787system         754   754 power@1.1-servi
13788system         754   781 android.hardwar
13789system         755   755 sensors@1.0-ser
13790system         755   792 android.hardwar
13791system         755   793 android.hardwar
13792system         755   797 android.hardwar
13793system         755   947 android.hardwar
13794system         755   949 android.hardwar
13795system         755   950 android.hardwar
13796system         755   963 android.hardwar
13797system         755   987 android.hardwar
13798system         755   988 android.hardwar
13799system         755   991 android.hardwar
13800system         755   992 android.hardwar
13801system         755   995 android.hardwar
13802system         755   996 android.hardwar
13803system         755  1000 android.hardwar
13804system         755  1001 android.hardwar
13805system         755  1006 android.hardwar
13806system         755  1008 android.hardwar
13807system         755  1013 android.hardwar
13808system         755  1014 android.hardwar
13809system         755  1015 android.hardwar
13810system         755  1016 android.hardwar
13811system         755  1018 android.hardwar
13812system         755  1019 android.hardwar
13813system         755  1024 android.hardwar
13814system         755  1025 android.hardwar
13815system         755  1027 android.hardwar
13816system         755  1028 android.hardwar
13817system         755  1030 android.hardwar
13818system         755  1031 android.hardwar
13819system         755  1032 android.hardwar
13820system         755  1033 android.hardwar
13821system         755  1034 android.hardwar
13822system         755  1035 android.hardwar
13823system         755  1039 android.hardwar
13824system         755  1040 android.hardwar
13825system         755  1041 android.hardwar
13826system         755  1042 android.hardwar
13827system         755  1047 android.hardwar
13828system         755  1048 android.hardwar
13829system         755  1050 android.hardwar
13830system         755  1247 HwBinder:755_1
13831system         755  1276 HwBinder:755_1
13832system         755  1277 HwBinder:755_1
13833system         755  1278 HwBinder:755_1
13834root           756   756 usb@1.1-service
13835root           756  1301 usb@1.1-service
13836system         757   757 vibrator@1.1-se
13837system         758   758 vr@1.0-service.
13838wifi           759   759 offload@1.0-ser
13839wifi           759   769 android.hardwar
13840wifi           760   760 android.hardwar
13841root           762   762 irq/254-wcd9xxx
13842ese            763   763 esed
13843root           764   764 healthd
13844root           765   765 irq/153-arm-smm
13845root           767   767 msm_irqbalance
13846system         768   768 pm-service
13847system         768   787 POSIX timer 0
13848system         768   788 POSIX timer 1
13849system         768   789 POSIX timer 2
13850system         768   794 pm-service
13851system         768   795 Binder:768_1
13852system         768   799 Binder:768_2
13853system         768   946 Binder:768_3
13854system         768   958 Binder:768_4
13855system         770   770 sensors.qcom
13856system         770   786 sensors.qcom
13857system         770   790 sensors.qcom
13858system         770   791 sensors.qcom
13859system         770   801 sensors.qcom
13860system         770   802 sensors.qcom
13861system         770   803 sensors.qcom
13862system         770   804 sensors.qcom
13863system         770   812 sensors.qcom
13864system         770   813 sensors.qcom
13865system         770   951 sensors.qcom
13866system         770   952 sensors.qcom
13867nobody         773   773 rmt_storage
13868nobody         773  1212 rmt_storage
13869nobody         773  1213 rmt_storage
13870nobody         773  1214 rmt_storage
13871nobody         773  1215 rmt_storage
13872system         774   774 tftp_server
13873system         775   775 pd-mapper
13874system         775   796 pd-mapper
13875system         776   776 bufferhubd
13876root           777   777 lmkd
13877system         778   778 performanced
13878root           779   779 thermalserviced
13879root           779   806 HwBinder:779_1
13880root           779   809 HwBinder:779_2
13881system         780   780 Binder:780_2
13882system         780   785 Binder:780_1
13883root           782   782 at_usb0
13884root           783   783 at_usb1
13885root           784   784 qdss
13886root           798   798 qmi_hndl0000000
13887root           800   800 modem
13888system         808   808 pm-proxy
13889system         808   821 Binder:808_1
13890system         808   823 Binder:808_2
13891system         808   824 Binder:808_3
13892root           810   810 subsystem_ramdu
13893root           814   814 thermal-engine
13894root           814   879 HwBinder:814_1
13895root           814   883 thermal-engine
13896root           814   885 thermal-engine
13897root           814   886 thermal-engine
13898root           814   888 thermal-engine
13899root           814   889 thermal-engine
13900root           814   890 thermal-engine
13901root           814   891 thermal-engine
13902root           814   892 thermal-engine
13903root           814   893 thermal-engine
13904root           814   894 thermal-engine
13905root           814   895 thermal-engine
13906root           814   896 thermal-engine
13907root           814   897 thermal-engine
13908root           814   898 thermal-engine
13909root           814   899 thermal-engine
13910root           814   900 thermal-engine
13911root           814   901 thermal-engine
13912root           814   902 thermal-engine
13913root           814   903 thermal-engine
13914root           814   904 thermal-engine
13915root           814   905 thermal-engine
13916root           814   906 thermal-engine
13917root           814   908 thermal-engine
13918root           814   909 thermal-engine
13919root           814   911 thermal-engine
13920root           814   912 thermal-engine
13921root           814   913 thermal-engine
13922root           814   914 thermal-engine
13923root           814   915 thermal-engine
13924root           814   919 thermal-engine
13925root           814   920 thermal-engine
13926root           814   921 thermal-engine
13927root           814   922 thermal-engine
13928root           814   923 thermal-engine
13929root           814   924 thermal-engine
13930root           814   925 thermal-engine
13931root           814   927 thermal-engine
13932root           814   928 thermal-engine
13933root           814   929 thermal-engine
13934root           814   930 thermal-engine
13935root           814   931 thermal-engine
13936root           814   932 thermal-engine
13937root           814   933 thermal-engine
13938root           814   934 thermal-engine
13939root           814   935 thermal-engine
13940root           814   936 thermal-engine
13941root           814   937 thermal-engine
13942root           814   938 thermal-engine
13943root           814   939 thermal-engine
13944root           814   940 thermal-engine
13945root           814   941 thermal-engine
13946root           814   942 thermal-engine
13947root           814   943 thermal-engine
13948root           814   944 thermal-engine
13949root           814   953 thermal-engine
13950root           814   954 thermal-engine
13951root           814   955 thermal-engine
13952root           814   956 thermal-engine
13953root           814   957 thermal-engine
13954root           814   960 thermal-engine
13955root           814   961 thermal-engine
13956root           814   966 thermal-engine
13957root           814  1241 thermal-engine
13958root           814  1242 thermal-engine
13959media          815   815 adsprpcd
13960media          815   849 adsprpcd
13961media          815   855 adsprpcd
13962system         816   816 imsqmidaemon
13963system         816   840 imsqmidaemon
13964system         817   817 cnd
13965system         817   874 cnd
13966system         817   877 HwBinder:817_1
13967system         817   878 cnd
13968system         817  1305 cnd
13969system         817  1323 cnd
13970radio          818   818 netmgrd
13971root           818   869 netmgrd
13972radio          818   876 netmgrd
13973radio          818   907 HwBinder:818_1
13974radio          818  1020 netmgrd
13975radio          818  1021 netmgrd
13976radio          818  1022 netmgrd
13977radio          818  1114 netmgrd
13978radio          818  1115 netmgrd
13979radio          818  1307 netmgrd
13980radio          818  1635 netmgrd
13981radio          818  1637 netmgrd
13982radio          818  1638 netmgrd
13983radio          818  1640 netmgrd
13984radio          818  1770 netmgrd
13985radio          818  1836 netmgrd
13986radio          818  1841 netmgrd
13987radio          818  1844 netmgrd
13988radio          818  1909 netmgrd
13989radio          818  1910 netmgrd
13990radio          818  1911 netmgrd
13991radio          818  1916 netmgrd
13992radio          818  1952 netmgrd
13993radio          818  1953 netmgrd
13994radio          818  1955 netmgrd
13995radio          818  1956 netmgrd
13996radio          818  1957 netmgrd
13997radio          818  1994 netmgrd
13998radio          818  1995 netmgrd
13999radio          818  1996 netmgrd
14000radio          818  1997 netmgrd
14001radio          818  2038 netmgrd
14002radio          818  2039 netmgrd
14003radio          818  2040 netmgrd
14004radio          818  2044 netmgrd
14005radio          818  2058 netmgrd
14006radio          818  2059 netmgrd
14007radio          818  2060 netmgrd
14008radio          818  2061 netmgrd
14009radio          818  2063 netmgrd
14010radio          818  2064 netmgrd
14011radio          818  2065 netmgrd
14012radio          818  2066 netmgrd
14013radio          818  2082 netmgrd
14014radio          818  2088 netmgrd
14015radio          818  2089 netmgrd
14016radio          818  2096 netmgrd
14017radio          818  2107 netmgrd
14018radio          818  2108 netmgrd
14019radio          818  2109 netmgrd
14020radio          818  2110 netmgrd
14021radio          818  2114 netmgrd
14022radio          818  2115 netmgrd
14023radio          818  2116 netmgrd
14024radio          818  2117 netmgrd
14025radio          818  2119 netmgrd
14026radio          818  2120 netmgrd
14027radio          818  2121 netmgrd
14028radio          818  2122 netmgrd
14029radio          818  2124 netmgrd
14030radio          818  2125 netmgrd
14031radio          818  2126 netmgrd
14032radio          818  2127 netmgrd
14033radio          818  2129 netmgrd
14034radio          818  2130 netmgrd
14035radio          818  2131 netmgrd
14036radio          818  2132 netmgrd
14037radio          818  2136 netmgrd
14038radio          818  2137 netmgrd
14039radio          818  2138 netmgrd
14040radio          818  2139 netmgrd
14041radio          818  2143 netmgrd
14042radio          818  2144 netmgrd
14043radio          818  2146 netmgrd
14044radio          818  2147 netmgrd
14045radio          818  2151 netmgrd
14046radio          818  2152 netmgrd
14047radio          818  2153 netmgrd
14048radio          818  2154 netmgrd
14049radio          819   819 port-bridge
14050radio          819   841 port-bridge
14051radio          819   842 port-bridge
14052root           820   820 kworker/2:1H
14053radio          822   822 ipacm
14054radio          822   870 HwBinder:822_1
14055radio          822   871 ipacm
14056radio          822   872 netlink socket
14057radio          822   873 ipa driver ntfy
14058radio          827   827 qti
14059radio          827   861 qti
14060radio          827  2952 qti
14061radio          827  2953 qti
14062radio          827  2954 qti
14063audioserver    828   828 audioserver
14064audioserver    828  1121 HwBinder:828_1
14065audioserver    828  1123 ApmTone
14066audioserver    828  1124 ApmAudio
14067audioserver    828  1125 ApmOutput
14068audioserver    828  1126 Binder:828_1
14069audioserver    828  1127 Binder:828_2
14070audioserver    828  1171 FastMixer
14071audioserver    828  1172 AudioOut_D
14072audioserver    828  1173 FastMixer
14073audioserver    828  1174 AudioOut_15
14074audioserver    828  1175 AudioOut_1D
14075audioserver    828  1176 FastMixer
14076audioserver    828  1177 AudioOut_25
14077audioserver    828  1178 AudioOut_2D
14078audioserver    828  1188 soundTrigger cb
14079audioserver    828 31001 Binder:828_3
14080cameraserver   829   829 cameraserver
14081cameraserver   829  1037 HwBinder:829_1
14082cameraserver   829  1038 HwBinder:829_2
14083cameraserver   829  2104 HwBinder:829_3
14084cameraserver   829  2111 Binder:829_1
14085cameraserver   829  2112 Binder:829_2
14086cameraserver   829  1734 C3Dev-0-ReqQueu
14087cameraserver   829  9343 Binder:829_3
14088cameraserver   829  9344 Binder:829_4
14089cameraserver   829  9586 Binder:829_5
14090cameraserver   829  9587 Binder:829_6
14091drm            830   830 drmserver
14092drm            830   972 Binder:830_1
14093drm            830 15750 Binder:830_2
14094root           832   832 Binder:832_2
14095root           832   858 Binder:832_1
14096root           832  1223 Binder:832_3
14097root           832  1253 Binder:832_4
14098root           832  1257 Binder:832_5
14099root           832  2201 Binder:832_6
14100root           832  2202 Binder:832_7
14101root           832  2205 Binder:832_8
14102root           832  2206 Binder:832_9
14103root           832  2210 Binder:832_A
14104root           832  2211 Binder:832_B
14105root           832  2212 Binder:832_C
14106root           832  2213 Binder:832_D
14107root           832  2227 Binder:832_E
14108root           832  2228 Binder:832_F
14109keystore       833   833 keystore
14110keystore       833   881 HwBinder:833_1
14111media          834   834 mediadrmserver
14112media          834   917 Binder:834_1
14113media          834  3564 Binder:834_2
14114media          834  3565 HwBinder:834_1
14115mediaex        835   835 mediaextractor
14116mediaex        835   999 Binder:835_1
14117mediaex        835  1930 Binder:835_2
14118mediaex        835  3402 Binder:835_3
14119media          836   836 mediametrics
14120media          836   967 Binder:836_1
14121media          836  3641 Binder:836_2
14122media          837   837 mediaserver
14123media          837  1044 Binder:837_1
14124media          837  1378 HwBinder:837_1
14125media          837  1548 Binder:837_2
14126media          837  1550 Binder:837_3
14127root           838   838 storaged
14128root           838   975 storaged
14129root           838   976 Binder:838_1
14130wifi           839   839 wificond
14131mediacodec     843   843 omx@1.0-service
14132mediacodec     843   985 HwBinder:843_1
14133mediacodec     843   989 HwBinder:843_2
14134mediacodec     843  1003 Binder:843_1
14135mediacodec     843  1381 HwBinder:843_3
14136mediacodec     843  1712 HwBinder:843_4
14137mediacodec     843  1789 HwBinder:843_1
14138mediacodec     843  1790 HwBinder:843_1
14139mediacodec     843 10200 HwBinder:843_4
14140mediacodec     843 10499 HwBinder:843_5
14141mediacodec     843 15742 HwBinder:843_6
14142mediacodec     843 15743 HwBinder:843_7
14143mediacodec     843  6330 HwBinder:843_8
14144mediacodec     843 12451 HwBinder:843_9
14145mediacodec     843 21839 HwBinder:843_A
14146mediacodec     843 21842 HwBinder:843_B
14147mediacodec     843 21865 HwBinder:843_C
14148mediacodec     843 21895 HwBinder:843_D
14149mediacodec     843 16373 HwBinder:843_E
14150mediacodec     843 16374 HwBinder:843_F
14151radio          844   844 rild
14152radio          844  1026 rild
14153radio          844  1043 rild
14154radio          844  1217 Binder:844_1
14155radio          844  1219 rild
14156radio          844  1220 Binder:844_2
14157radio          844  1228 rild
14158radio          844  1229 rild
14159radio          844  1230 HwBinder:844_1
14160radio          844  1232 rild
14161radio          844  1233 rild
14162radio          844  1234 rild
14163radio          844  1236 rild
14164radio          844  1237 rild
14165radio          844  1238 rild
14166radio          844  1239 rild
14167radio          844  1457 rild
14168radio          844  1458 rild
14169radio          844  1459 rild
14170radio          844  1460 rild
14171radio          844  1461 rild
14172radio          844  1462 rild
14173radio          844  1464 rild
14174radio          844  1465 rild
14175radio          844  1466 rild
14176radio          844  1474 rild
14177radio          844  1475 rild
14178radio          844  1518 rild
14179radio          844  1520 rild
14180radio          844  1584 rild
14181radio          844  1599 rild
14182radio          844  1605 rild
14183radio          844  1606 rild
14184radio          844  1607 rild
14185radio          844  1616 rild
14186radio          844  1622 rild
14187radio          844  1624 rild
14188radio          844  1626 rild
14189radio          844  1627 rild
14190radio          844  1629 rild
14191radio          844  1631 rild
14192radio          844  1632 rild
14193root           845   845 kworker/1:2
14194system         848   848 folio_daemon
14195system         850   850 cnss-daemon
14196system         850   959 cnss-daemon
14197system         850   962 cnss-daemon
14198system         850  1216 Binder:850_1
14199system         850  1221 cnss-daemon
14200system         850  1222 Binder:850_2
14201system         850  1360 cnss-daemon
14202system         850 13277 cnss-daemon
14203gps            851   851 loc_launcher
14204gps            851   864 loc_launcher
14205system         852   852 chre
14206system         852   863 chre
14207system         852   867 chre
14208system         852   868 chre
14209system         852  1131 chre
14210system         852  1132 chre
14211system         854   854 gatekeeperd
14212tombstoned     856   856 tombstoned
14213root           857   857 update_engine
14214system         859   859 fingerprint@2.1
14215system         859  1101 android.hardwar
14216system         859  1102 android.hardwar
14217system         859  1104 HwBinder:859_1
14218system         860   860 cnss_diag
14219system         860   926 cnss_diag
14220system         875   875 imsdatadaemon
14221system         875   986 imsdatadaemon
14222system         875  1009 imsdatadaemon
14223system         875  1010 imsdatadaemon
14224system         875  1011 imsdatadaemon
14225system         875  1306 imsdatadaemon
14226system         875  1321 imsdatadaemon
14227root           880   880 ipawq15
14228root           916   916 iparepwq15
14229root           965   965 ipawq48
14230root           969   969 msm_thermal:fre
14231root           971   971 msm_thermal:the
14232root           973   973 iparepwq48
14233root           974   974 kworker/u17:1
14234root           979   979 ipawq13
14235root           984   984 iparepwq13
14236root           997   997 ipa_A7_svc
14237root          1002  1002 qmi_hndl0000000
14238root          1004  1004 clnt_req
14239root          1007  1007 clnt_resp
14240root          1012  1012 clnt_req
14241root          1094  1094 irq/157-arm-smm
14242root          1095  1095 irq/162-arm-smm
14243root          1118  1118 wdsp_glink_wq
14244system        1136  1136 system_server
14245system        1136  1141 Signal Catcher
14246system        1136  1142 JDWP
14247system        1136  1143 ReferenceQueueD
14248system        1136  1144 FinalizerDaemon
14249system        1136  1145 FinalizerWatchd
14250system        1136  1146 HeapTaskDaemon
14251system        1136  1152 Binder:1136_1
14252system        1136  1153 Binder:1136_2
14253system        1136  1155 android.bg
14254system        1136  1156 ActivityManager
14255system        1136  1157 android.ui
14256system        1136  1158 ActivityManager
14257system        1136  1159 batterystats-wo
14258system        1136  1160 FileObserver
14259system        1136  1161 android.fg
14260system        1136  1162 android.io
14261system        1136  1163 android.display
14262system        1136  1164 CpuTracker
14263system        1136  1165 PowerManagerSer
14264system        1136  1166 system_server
14265system        1136  1167 BatteryStats_wa
14266system        1136  1168 PackageManager
14267system        1136  1240 PackageInstalle
14268system        1136  1244 android.anim
14269system        1136  1248 SensorEventAckR
14270system        1136  1249 SensorService
14271system        1136  1250 AccountManagerS
14272system        1136  1252 SettingsProvide
14273system        1136  1258 AlarmManager
14274system        1136  1259 UEventObserver
14275system        1136  1266 HwBinder:1136_1
14276system        1136  1267 HwBinder:1136_2
14277system        1136  1269 InputDispatcher
14278system        1136  1270 InputReader
14279system        1136  1272 StorageManagerS
14280system        1136  1273 VoldConnector
14281system        1136  1274 CryptdConnector
14282system        1136  1279 NetdConnector
14283system        1136  1280 NetworkStats
14284system        1136  1281 NetworkPolicy
14285system        1136  1282 tworkPolicy.uid
14286system        1136  1284 WifiService
14287system        1136  1285 WifiStateMachin
14288system        1136  1286 IpManager.wlan0
14289system        1136  1287 WifiScanningSer
14290system        1136  1288 WifiRttService
14291system        1136  1289 WifiP2pService
14292system        1136  1290 ConnectivitySer
14293system        1136  1291 roid.pacmanager
14294system        1136  1292 NsdService
14295system        1136  1293 mDnsConnector
14296system        1136  1294 notification-sq
14297system        1136  1295 ranker
14298system        1136  1296 onProviders.ECP
14299system        1136  1297 DeviceStorageMo
14300system        1136  1298 AudioService
14301system        1136  1300 HwBinder:1136_3
14302system        1136  1302 ConnectivityThr
14303system        1136  1303 GraphicsStats-d
14304system        1136  1304 CameraService_p
14305system        1136  1313 SyncHandler-0
14306system        1136  1314 wifiAwareServic
14307system        1136  1315 EthernetService
14308system        1136  1316 TaskSnapshotPer
14309system        1136  1317 PhotonicModulat
14310system        1136  1318 LazyTaskWriterT
14311system        1136  1332 UsbService host
14312system        1136  1338 Thread-2
14313system        1136  1347 Binder:1136_3
14314system        1136  1353 SoundPool
14315system        1136  1356 SoundPoolThread
14316system        1136  1387 NetworkStatsObs
14317system        1136  1432 watchdog
14318system        1136  1490 EmergencyAfford
14319system        1136  1504 Binder:1136_4
14320system        1136  1509 Binder:1136_5
14321system        1136  1531 NetworkTimeUpda
14322system        1136  1609 Binder:1136_6
14323system        1136  1615 Binder:1136_7
14324system        1136  1630 Binder:1136_8
14325system        1136  1633 Binder:1136_9
14326system        1136  1634 Binder:1136_A
14327system        1136  1742 BluetoothRouteM
14328system        1136  1746 uteStateMachine
14329system        1136  1747 CallAudioModeSt
14330system        1136  1807 queued-work-loo
14331system        1136  2026 hidl_ssvc_poll
14332system        1136  2173 UsbDebuggingMan
14333system        1136  2249 backup
14334system        1136  2329 Binder:1136_B
14335system        1136  2335 Binder:1136_C
14336system        1136  2391 Binder:1136_D
14337system        1136  2434 SyncHandler-1
14338system        1136  2437 Binder:1136_E
14339system        1136  2915 AsyncQueryWorke
14340system        1136  3268 HwBinder:1136_4
14341system        1136  4183 Binder:1136_F
14342system        1136  4278 Binder:1136_10
14343system        1136  4300 Binder:1136_11
14344system        1136  4801 Okio Watchdog
14345system        1136  4939 android.anim
14346system        1136  4959 RenderThread
14347system        1136  7074 Binder:1136_12
14348system        1136 13711 HwBinder:1136_5
14349system        1136 11882 OkHttp Connecti
14350system        1136 12286 pool-2-thread-3
14351system        1136 13719 Instrumentation
14352root          1209  1209 mpss_IPCRTR
14353root          1210  1210 qmi_hndl0000000
14354root          1211  1211 qmi_hndl0000000
14355root          1243  1243 qmi_hndl0000000
14356u0_a39        1341  1341 ndroid.systemui
14357u0_a39        1341  1348 Jit thread pool
14358u0_a39        1341  1349 Signal Catcher
14359u0_a39        1341  1350 JDWP
14360u0_a39        1341  1351 ReferenceQueueD
14361u0_a39        1341  1352 FinalizerDaemon
14362u0_a39        1341  1354 FinalizerWatchd
14363u0_a39        1341  1355 HeapTaskDaemon
14364u0_a39        1341  1358 Binder:1341_1
14365u0_a39        1341  1361 Binder:1341_2
14366u0_a39        1341  1375 Binder:1341_3
14367u0_a39        1341  1522 pool-1-thread-1
14368u0_a39        1341  1523 SoundPool
14369u0_a39        1341  1524 SoundPoolThread
14370u0_a39        1341  1532 Recents-HighRes
14371u0_a39        1341  1533 Recents-TaskRes
14372u0_a39        1341  1540 recents.fg
14373u0_a39        1341  1566 async_sensor
14374u0_a39        1341  1686 VolumeDialogCon
14375u0_a39        1341  1694 SysUiBg
14376u0_a39        1341  1757 queued-work-loo
14377u0_a39        1341  1768 RenderThread
14378u0_a39        1341  1781 ConnectivityThr
14379u0_a39        1341  1797 TimeTick
14380u0_a39        1341  1892 Keyboard
14381u0_a39        1341  1915 pool-2-thread-1
14382u0_a39        1341  1926 HwBinder:1341_1
14383u0_a39        1341  2012 RenderThread
14384u0_a39        1341  2013 hwuiTask1
14385u0_a39        1341  2027 hwuiTask2
14386u0_a39        1341  2035 Thread-2
14387u0_a39        1341 10541 Binder:1341_4
14388u0_a39        1341 10803 FlashlightContr
14389u0_a39        1341 21891 Binder:1341_5
14390u0_a39        1341 13607 AsyncTask #503
14391u0_a39        1341 13608 InflaterThread
14392u0_a39        1341 13609 InflaterThread
14393u0_a39        1341 13610 InflaterThread
14394root          1357  1357 qmi_hndl0000000
14395radio         1362  1362 le.modemservice
14396radio         1362  1367 Jit thread pool
14397radio         1362  1368 Signal Catcher
14398radio         1362  1369 JDWP
14399radio         1362  1370 ReferenceQueueD
14400radio         1362  1371 FinalizerDaemon
14401radio         1362  1372 FinalizerWatchd
14402radio         1362  1373 HeapTaskDaemon
14403radio         1362  1374 Binder:1362_1
14404radio         1362  1376 Binder:1362_2
14405radio         1362  1430 Profile Saver
14406radio         1362  1434 ModemService
14407radio         1362  1452 queued-work-loo
14408radio         1362 23042 Binder:1362_3
14409radio         1438  1438 .qcrilmsgtunnel
14410radio         1438  1443 Jit thread pool
14411radio         1438  1444 Signal Catcher
14412radio         1438  1445 JDWP
14413radio         1438  1446 ReferenceQueueD
14414radio         1438  1447 FinalizerDaemon
14415radio         1438  1448 FinalizerWatchd
14416radio         1438  1449 HeapTaskDaemon
14417radio         1438  1453 Binder:1438_1
14418radio         1438  1454 Binder:1438_2
14419radio         1438  1456 Binder:1438_3
14420radio         1438  1492 Profile Saver
14421radio         1438  1503 HwBinder:1438_1
14422radio         1438  1505 queued-work-loo
14423u0_a99        1467  1467 reel.wallpapers
14424u0_a99        1467  1476 Jit thread pool
14425u0_a99        1467  1477 Signal Catcher
14426u0_a99        1467  1479 JDWP
14427u0_a99        1467  1480 ReferenceQueueD
14428u0_a99        1467  1481 FinalizerDaemon
14429u0_a99        1467  1487 FinalizerWatchd
14430u0_a99        1467  1489 HeapTaskDaemon
14431u0_a99        1467  1491 Binder:1467_1
14432u0_a99        1467  1493 Binder:1467_2
14433u0_a99        1467  1494 Binder:1467_3
14434u0_a99        1467  1506 Profile Saver
14435u0_a99        1467  1793 GLThread 43
14436u0_a99        1467  1795 SoundPool
14437u0_a99        1467  1796 SoundPoolThread
14438u0_a99        1467  1798 AsynchExecutor-
14439u0_a99        1467  1990 GLThread 43
14440gps           1546  1546 lowi-server
14441gps           1546  1596 lowi-server
14442gps           1546  1597 lowi-server
14443gps           1546  1600 lowi-server
14444gps           1546  1601 lowi-server
14445gps           1546  2268 lowi-server
14446gps           1546  2269 lowi-server
14447gps           1546  2271 lowi-server
14448gps           1546 12179 lowi-server
14449system        1556  1556 .dataservices
14450system        1556  1567 Jit thread pool
14451system        1556  1568 Signal Catcher
14452system        1556  1569 JDWP
14453system        1556  1571 ReferenceQueueD
14454system        1556  1572 FinalizerDaemon
14455system        1556  1573 FinalizerWatchd
14456system        1556  1574 HeapTaskDaemon
14457system        1556  1575 Binder:1556_1
14458system        1556  1577 Binder:1556_2
14459system        1556  1677 Profile Saver
14460system        1556  1685 cneservice_thre
14461system        1556  1691 CNEReceiver
14462system        1556  1698 ConnectivityThr
14463system        1556  1701 MainEventThread
14464system        1556  1702 HwBinder:1556_1
14465system        1556  4828 queued-work-loo
14466system        1556 10575 Binder:1556_3
14467system        1556 32603 Binder:1556_4
14468gps           1562  1562 xtra-daemon
14469gps           1562  1589 pcid-lo
14470gps           1562  1603 pcid-lo
14471gps           1562  1604 pcid-lo
14472gps           1562  1608 pcid-lo
14473gps           1562  1610 LocTime
14474gps           1562  1611 LocTime
14475gps           1563  1563 loc_launcher
14476gps           1564  1564 loc_launcher
14477gps           1565  1565 loc_launcher
14478radio         1576  1576 elephonyservice
14479radio         1576  1582 Jit thread pool
14480radio         1576  1583 Signal Catcher
14481radio         1576  1586 JDWP
14482radio         1576  1592 ReferenceQueueD
14483radio         1576  1593 FinalizerDaemon
14484radio         1576  1594 FinalizerWatchd
14485radio         1576  1595 HeapTaskDaemon
14486radio         1576  1598 Binder:1576_1
14487radio         1576  1602 Binder:1576_2
14488radio         1576  1695 Profile Saver
14489radio         1576  2778 HwBinder:1576_1
14490radio         1576  2785 queued-work-loo
14491radio         1585  1585 m.android.phone
14492radio         1585  1612 Jit thread pool
14493radio         1585  1613 Signal Catcher
14494radio         1585  1614 JDWP
14495radio         1585  1617 ReferenceQueueD
14496radio         1585  1618 FinalizerDaemon
14497radio         1585  1619 FinalizerWatchd
14498radio         1585  1620 HeapTaskDaemon
14499radio         1585  1623 Binder:1585_1
14500radio         1585  1625 Binder:1585_2
14501radio         1585  1683 Profile Saver
14502radio         1585  1721 EuiccConnector
14503radio         1585  1724 android.bg
14504radio         1585  1732 HwBinder:1585_1
14505radio         1585  1749 GsmCellBroadcas
14506radio         1585  1755 GsmInboundSmsHa
14507radio         1585  1756 CellBroadcastHa
14508radio         1585  1759 CdmaInboundSmsH
14509radio         1585  1761 CdmaServiceCate
14510radio         1585  1780 DcHandlerThread
14511radio         1585  1784 Binder:1585_3
14512radio         1585  1811 Binder:1585_4
14513radio         1585  1822 ImsServiceContr
14514radio         1585  1829 queued-work-loo
14515radio         1585  1832 org.codeaurora.
14516radio         1585  1833 ImsConfigImplHa
14517radio         1585  1902 Binder:1585_5
14518radio         1585  2916 ervice.Executor
14519radio         1585  2917 ConnectivityThr
14520radio         1585 30697 AudioTrack
14521radio         1585  9825 Binder:1585_6
14522root          1644  1644 ipawq14
14523root          1651  1651 iparepwq14
14524root          1659  1659 ipawq49
14525root          1665  1665 iparepwq49
14526root          2193  2193 irq/35-1008000.
14527root          2203  2203 kworker/3:1H
14528root          2207  2207 wlan_logging_th
14529root          2208  2208 perfd
14530root          2208  2215 perfd
14531root          2208  2218 POSIX timer 0
14532root          2208 21805 POSIX timer 71
14533root          2219  2219 cds_mc_thread
14534root          2220  2220 cds_ol_rx_threa
14535nfc           2315  2315 com.android.nfc
14536nfc           2315  2320 Jit thread pool
14537nfc           2315  2321 Signal Catcher
14538nfc           2315  2322 JDWP
14539nfc           2315  2323 ReferenceQueueD
14540nfc           2315  2324 FinalizerDaemon
14541nfc           2315  2325 FinalizerWatchd
14542nfc           2315  2326 HeapTaskDaemon
14543nfc           2315  2327 Binder:2315_1
14544nfc           2315  2328 Binder:2315_2
14545nfc           2315  2414 Profile Saver
14546nfc           2315  2576 HwBinder:2315_1
14547nfc           2315  5876 queued-work-loo
14548nfc           2315 17107 Binder:2315_3
14549radio         2330  2330 .ims.rcsservice
14550radio         2330  2336 Jit thread pool
14551radio         2330  2342 Signal Catcher
14552radio         2330  2343 JDWP
14553radio         2330  2344 ReferenceQueueD
14554radio         2330  2345 FinalizerDaemon
14555radio         2330  2346 FinalizerWatchd
14556radio         2330  2347 HeapTaskDaemon
14557radio         2330  2352 Binder:2330_1
14558radio         2330  2356 Binder:2330_2
14559radio         2330  2357 Binder:2330_3
14560radio         2330  2375 Profile Saver
14561radio         2330  2471 Listener
14562radio         2330  2482 queued-work-loo
14563radio         2330  2888 EABServiceHandl
14564system        2337  2337 RestartDetector
14565system        2337  2348 Jit thread pool
14566system        2337  2349 Signal Catcher
14567system        2337  2350 JDWP
14568system        2337  2351 ReferenceQueueD
14569system        2337  2353 FinalizerDaemon
14570system        2337  2354 FinalizerWatchd
14571system        2337  2355 HeapTaskDaemon
14572system        2337  2358 Binder:2337_1
14573system        2337  2359 Binder:2337_2
14574system        2337  2430 Profile Saver
14575system        2337  3132 FileObserver
14576system        2337  3133 queued-work-loo
14577u0_a47        2438  2438 s.nexuslauncher
14578u0_a47        2438  2443 Jit thread pool
14579u0_a47        2438  2444 Signal Catcher
14580u0_a47        2438  2445 JDWP
14581u0_a47        2438  2446 ReferenceQueueD
14582u0_a47        2438  2447 FinalizerDaemon
14583u0_a47        2438  2448 FinalizerWatchd
14584u0_a47        2438  2449 HeapTaskDaemon
14585u0_a47        2438  2450 Binder:2438_1
14586u0_a47        2438  2451 Binder:2438_2
14587u0_a47        2438  2470 Profile Saver
14588u0_a47        2438  2477 launcher-loader
14589u0_a47        2438  2483 GAC_Executor[0]
14590u0_a47        2438  2484 GoogleApiHandle
14591u0_a47        2438  2542 pool-1-thread-1
14592u0_a47        2438  2545 qsb-experiments
14593u0_a47        2438  2561 smartspace-load
14594u0_a47        2438  2569 reflection-thre
14595u0_a47        2438  2584 RenderThread
14596u0_a47        2438  2585 GAC_Executor[1]
14597u0_a47        2438  2600 RenderThread
14598u0_a47        2438  2604 hwuiTask1
14599u0_a47        2438  2605 hwuiTask2
14600u0_a47        2438  2613 RenderThread
14601u0_a47        2438  2614 RenderThread
14602u0_a47        2438  2615 RenderThread
14603u0_a47        2438  2616 RenderThread
14604u0_a47        2438  2617 RenderThread
14605u0_a47        2438  2618 RenderThread
14606u0_a47        2438  2619 RenderThread
14607u0_a47        2438  2620 RenderThread
14608u0_a47        2438  2632 Binder:2438_3
14609u0_a47        2438  2721 queued-work-loo
14610u0_a29        2452  2452 elligence.sense
14611u0_a29        2452  2457 Jit thread pool
14612u0_a29        2452  2458 Signal Catcher
14613u0_a29        2452  2462 JDWP
14614u0_a29        2452  2463 ReferenceQueueD
14615u0_a29        2452  2464 FinalizerDaemon
14616u0_a29        2452  2465 FinalizerWatchd
14617u0_a29        2452  2466 HeapTaskDaemon
14618u0_a29        2452  2467 Binder:2452_1
14619u0_a29        2452  2469 Binder:2452_2
14620u0_a29        2452  2481 Profile Saver
14621u0_a29        2452  2553 GoogleApiHandle
14622u0_a29        2452  2580 superpacks-cont
14623u0_a29        2452  2595 Background #0
14624u0_a29        2452  2597 Background #1
14625u0_a29        2452  4747 queued-work-loo
14626u0_a29        2452  5882 Binder:2452_3
14627u0_a29        2452  5884 Primes-1
14628u0_a29        2452  6961 Primes-2
14629u0_a32        3721  3721 .apps.turbo:aab
14630u0_a32        3721  3726 Jit thread pool
14631u0_a32        3721  3727 Signal Catcher
14632u0_a32        3721  3728 JDWP
14633u0_a32        3721  3729 ReferenceQueueD
14634u0_a32        3721  3730 FinalizerDaemon
14635u0_a32        3721  3731 FinalizerWatchd
14636u0_a32        3721  3732 HeapTaskDaemon
14637u0_a32        3721  3733 Binder:3721_1
14638u0_a32        3721  3734 Binder:3721_2
14639u0_a32        3721  3735 Binder:3721_3
14640u0_a32        3721  3736 Profile Saver
14641u0_a32        3721  3741 queued-work-loo
14642u0_a32        3721  3742 GoogleApiHandle
14643u0_a32        3721  5885 Primes-1
14644u0_a32        3721  6962 Primes-2
14645root          3724  3724 iptables-restor
14646root          3737  3737 ip6tables-resto
14647root          4292  4292 kworker/5:0
14648root          4337  4337 kworker/4:0
14649system        4764  4764 lcomm.telephony
14650system        4764  4769 Jit thread pool
14651system        4764  4770 Signal Catcher
14652system        4764  4771 JDWP
14653system        4764  4772 ReferenceQueueD
14654system        4764  4773 FinalizerDaemon
14655system        4764  4774 FinalizerWatchd
14656system        4764  4775 HeapTaskDaemon
14657system        4764  4776 Binder:4764_1
14658system        4764  4777 Binder:4764_2
14659system        4764  4778 Profile Saver
14660system        4764  4779 Thread-2
14661system        4764  4780 CTSA Inject Thr
14662system        4764  4781 HwBinder:4764_1
14663system        4764  4782 queued-work-loo
14664u0_a44        4845  4845 n.mips.services
14665u0_a44        4845  4850 Jit thread pool
14666u0_a44        4845  4851 Signal Catcher
14667u0_a44        4845  4852 JDWP
14668u0_a44        4845  4853 ReferenceQueueD
14669u0_a44        4845  4854 FinalizerDaemon
14670u0_a44        4845  4855 FinalizerWatchd
14671u0_a44        4845  4856 HeapTaskDaemon
14672u0_a44        4845  4857 Binder:4845_1
14673u0_a44        4845  4858 Binder:4845_2
14674u0_a44        4845  4873 Binder:4845_3
14675u0_a44        4845  4875 Profile Saver
14676u0_a44        4845  4881 queued-work-loo
14677u0_a44        4845  5255 ConnectivityThr
14678u0_a44        4845  5830 Okio Watchdog
14679u0_a712       4896  4896 .android.daemon
14680u0_a712       4896  4902 Jit thread pool
14681u0_a712       4896  4903 Signal Catcher
14682u0_a712       4896  4904 JDWP
14683u0_a712       4896  4905 ReferenceQueueD
14684u0_a712       4896  4906 FinalizerDaemon
14685u0_a712       4896  4907 FinalizerWatchd
14686u0_a712       4896  4908 HeapTaskDaemon
14687u0_a712       4896  4909 Binder:4896_1
14688u0_a712       4896  4910 Binder:4896_2
14689u0_a712       4896  4914 Profile Saver
14690u0_a712       4896  4935 queued-work-loo
14691u0_a712       4896  4947 ConnectivityThr
14692u0_a712       4896  4957 RenderThread
14693u0_a712       4896  4962 RenderThread
14694u0_a712       4896  4965 hwuiTask1
14695u0_a712       4896  9617 Binder:4896_3
14696root          4937  4937 kworker/2:1
14697root          5027  5027 adbd
14698root          5027  5028 usb ffs open
14699root          5027  5079 ->transport
14700root          5027  5080 <-transport
14701root          5027 13728 shell svc 13727
14702u0_a26        7090  7090 .gms.persistent
14703u0_a26        7090  7095 Jit thread pool
14704u0_a26        7090  7096 Signal Catcher
14705u0_a26        7090  7097 JDWP
14706u0_a26        7090  7103 ReferenceQueueD
14707u0_a26        7090  7104 FinalizerDaemon
14708u0_a26        7090  7105 FinalizerWatchd
14709u0_a26        7090  7106 HeapTaskDaemon
14710u0_a26        7090  7107 Binder:7090_1
14711u0_a26        7090  7110 Binder:7090_2
14712u0_a26        7090  7121 Profile Saver
14713u0_a26        7090  7125 FileObserver
14714u0_a26        7090  7130 GlobalScheduler
14715u0_a26        7090  7139 GlobalDispatchi
14716u0_a26        7090  7143 GoogleApiHandle
14717u0_a26        7090  7157 queued-work-loo
14718u0_a26        7090  7162 Binder:7090_3
14719u0_a26        7090  7174 GeofencerStateM
14720u0_a26        7090  7176 RealContextHub
14721u0_a26        7090  7177 GAC_Executor[0]
14722u0_a26        7090  7178 ConnectivityThr
14723u0_a26        7090  7179 FlpThread
14724u0_a26        7090  7191 highpool[0]
14725u0_a26        7090  7192 highpool[1]
14726u0_a26        7090  7193 Binder:7090_4
14727u0_a26        7090  7194 highpool[2]
14728u0_a26        7090  7195 highpool[3]
14729u0_a26        7090  7196 GAC_Executor[1]
14730u0_a26        7090  7204 GoogleLocationS
14731u0_a26        7090  7207 lowpool[0]
14732u0_a26        7090  7209 MSMuxTR-0
14733u0_a26        7090  7235 lowpool[3]
14734u0_a26        7090  7421 Binder:7090_5
14735u0_a26        7090  7962 Thread-7
14736u0_a26        7090  7963 Thread-8
14737u0_a26        7090  7964 Thread-9
14738u0_a26        7090  7965 Thread-10
14739u0_a26        7090  7966 Thread-11
14740u0_a26        7090  7967 DG
14741u0_a26        7090 10905 Binder:7090_6
14742u0_a26        7090  8433 lowpool[4]
14743u0_a26        7090 12371 netscheduler-qu
14744u0_a26        7090 12412 lowpool[5]
14745u0_a26        7090 13323 peration loader
14746u0_a26        7090 13397 raService] idle
14747u0_a26        7098  7098 gle.android.gms
14748u0_a26        7098  7109 Jit thread pool
14749u0_a26        7098  7112 Signal Catcher
14750u0_a26        7098  7113 JDWP
14751u0_a26        7098  7115 ReferenceQueueD
14752u0_a26        7098  7116 FinalizerDaemon
14753u0_a26        7098  7117 FinalizerWatchd
14754u0_a26        7098  7118 HeapTaskDaemon
14755u0_a26        7098  7119 Binder:7098_1
14756u0_a26        7098  7120 Binder:7098_2
14757u0_a26        7098  7122 Binder:7098_3
14758u0_a26        7098  7123 Profile Saver
14759u0_a26        7098  7131 GlobalDispatchi
14760u0_a26        7098  7144 GoogleApiHandle
14761u0_a26        7098  7145 FileObserver
14762u0_a26        7098  7158 queued-work-loo
14763u0_a26        7098  7776 lowpool[0]
14764u0_a26        7098  7953 GAC_Executor[0]
14765u0_a26        7098  7956 GAC_Executor[1]
14766u0_a26        7098  8122 GlobalScheduler
14767u0_a26        7098  8594 Binder:7098_4
14768u0_a26        7098 10593 lowpool[3]
14769u0_a26        7098 11037 Binder:7098_5
14770u0_a26        7098 17202 Binder:7098_6
14771u0_a26        7098 21793 Binder:7098_7
14772u0_a26        7098 29707 Binder:7098_8
14773u0_a26        7098 10450 Thread-446
14774u0_a26        7098 10451 Thread-447
14775u0_a26        7098 10452 Thread-448
14776u0_a26        7098 10453 Thread-449
14777u0_a26        7098 10454 Thread-450
14778u0_a26        7098 25963 Binder:7098_9
14779u0_a26        7098 15761 highpool[0]
14780u0_a26        7098 12547 AdWorker(Defaul
14781u0_a26        7098 12578 highpool[2]
14782u0_a26        7098 12588 lowpool[5]
14783u0_a26        7098 12589 highpool[3]
14784u0_a26        7098 12655 highpool[4]
14785u0_a26        7098 12701 ConnectivityThr
14786u0_a26        7098 12729 DG
14787u0_a26        7098 13002 grpc-timer-0
14788u0_a26        7098 13003 grpc-default-ex
14789u0_a26        7098 13005 grpc-default-ex
14790u0_a26        7098 13051 lowpool[6]
14791u0_a26        7098 13193 measurement-1
14792u0_a26        7098 13318 peration loader
14793u0_a26        7098 13337 raService] idle
14794u0_a26        7098 13347 lowpool[7]
14795root          7580  7580 kworker/7:2
14796root          7655  7655 kworker/0:1
14797root          7755  7755 kworker/2:0
14798u0_a38        8947  8947 d.process.media
14799u0_a38        8947  8952 Jit thread pool
14800u0_a38        8947  8953 Signal Catcher
14801u0_a38        8947  8954 JDWP
14802u0_a38        8947  8955 ReferenceQueueD
14803u0_a38        8947  8956 FinalizerDaemon
14804u0_a38        8947  8957 FinalizerWatchd
14805u0_a38        8947  8958 HeapTaskDaemon
14806u0_a38        8947  8959 Binder:8947_1
14807u0_a38        8947  8960 Binder:8947_2
14808u0_a38        8947  8961 Profile Saver
14809u0_a38        8947  8963 thumbs thread
14810u0_a38        8947  8964 sAsyncHandlerTh
14811u0_a38        8947  9852 queued-work-loo
14812root         10171 10171 kworker/0:2
14813root         10578 10578 kworker/u16:6
14814root         10822 10822 kworker/u16:0
14815root         11013 11013 kworker/7:0
14816root         11093 11093 kworker/u16:5
14817root         11198 11198 kworker/1:1
14818root         11204 11204 kworker/3:0
14819root         11314 11314 kworker/5:1
14820root         11385 11385 kworker/6:1
14821root         11468 11468 kworker/u16:2
14822root         11477 11477 kworker/4:2
14823root         11483 11483 kworker/2:4
14824root         11635 11635 kworker/6:0
14825root         11710 11710 kworker/0:3
14826root         11723 11723 kworker/3:1
14827root         11733 11733 kworker/2:2
14828root         11737 11737 kworker/4:1
14829root         11740 11740 kworker/1:0
14830root         11801 11801 kworker/7:1
14831root         11894 11894 kworker/6:2
14832root         11895 11895 kworker/u16:4
14833root         11896 11896 kworker/2:3
14834root         11961 11961 kworker/0:0
14835root         11963 11963 kworker/4:3
14836root         11972 11972 kworker/3:2
14837root         12010 12010 kworker/7:3
14838root         12136 12136 kworker/3:3
14839root         12172 12172 kworker/u16:7
14840root         12173 12173 kworker/u16:9
14841root         12174 12174 kworker/u16:10
14842root         12175 12175 kworker/u16:12
14843root         12176 12176 kworker/u16:13
14844root         12177 12177 kworker/u16:14
14845root         12178 12178 kworker/u16:15
14846u0_a26       12188 12188 e.process.gapps
14847u0_a26       12188 12193 Jit thread pool
14848u0_a26       12188 12194 Signal Catcher
14849u0_a26       12188 12195 JDWP
14850u0_a26       12188 12196 ReferenceQueueD
14851u0_a26       12188 12197 FinalizerDaemon
14852u0_a26       12188 12198 FinalizerWatchd
14853u0_a26       12188 12199 HeapTaskDaemon
14854u0_a26       12188 12200 Binder:12188_1
14855u0_a26       12188 12201 Binder:12188_2
14856u0_a26       12188 12202 Binder:12188_3
14857u0_a26       12188 12203 Profile Saver
14858u0_a26       12188 12219 RefQueueWorker@
14859u0_a26       12188 12406 Binder:12188_4
14860u0_a26       12188 12411 Binder:12188_5
14861u0_a26       12204 12204 ocess.gservices
14862u0_a26       12204 12209 Jit thread pool
14863u0_a26       12204 12210 Signal Catcher
14864u0_a26       12204 12211 JDWP
14865u0_a26       12204 12212 ReferenceQueueD
14866u0_a26       12204 12213 FinalizerDaemon
14867u0_a26       12204 12214 FinalizerWatchd
14868u0_a26       12204 12215 HeapTaskDaemon
14869u0_a26       12204 12216 Binder:12204_1
14870u0_a26       12204 12217 Binder:12204_2
14871u0_a26       12204 12218 Profile Saver
14872u0_a26       12204 12315 Binder:12204_3
14873u0_a26       12204 12316 Binder:12204_4
14874u0_a26       12204 12318 Binder:12204_5
14875u0_a26       12204 12320 Binder:12204_6
14876u0_a26       12204 13185 Binder:12204_7
14877u0_a15       12324 12324 ctivity.metrics
14878u0_a15       12324 12329 Jit thread pool
14879u0_a15       12324 12330 Signal Catcher
14880u0_a15       12324 12331 JDWP
14881u0_a15       12324 12332 ReferenceQueueD
14882u0_a15       12324 12333 FinalizerDaemon
14883u0_a15       12324 12334 FinalizerWatchd
14884u0_a15       12324 12335 HeapTaskDaemon
14885u0_a15       12324 12336 Binder:12324_1
14886u0_a15       12324 12339 Binder:12324_2
14887u0_a15       12324 12342 Profile Saver
14888u0_a15       12324 12345 GAC_Executor[0]
14889u0_a15       12324 12364 GAC_Executor[1]
14890u0_a22       12381 12381 id.partnersetup
14891u0_a22       12381 12386 Jit thread pool
14892u0_a22       12381 12387 Signal Catcher
14893u0_a22       12381 12388 JDWP
14894u0_a22       12381 12389 ReferenceQueueD
14895u0_a22       12381 12390 FinalizerDaemon
14896u0_a22       12381 12391 FinalizerWatchd
14897u0_a22       12381 12392 HeapTaskDaemon
14898u0_a22       12381 12393 Binder:12381_1
14899u0_a22       12381 12394 Binder:12381_2
14900u0_a22       12381 12395 Profile Saver
14901webview_zygote 12409 12409 main
14902webview_zygote 12409 12458 ReferenceQueueD
14903webview_zygote 12409 12459 FinalizerDaemon
14904webview_zygote 12409 12460 FinalizerWatchd
14905webview_zygote 12409 12461 HeapTaskDaemon
14906radio        12413 12413 elephonymonitor
14907radio        12413 12418 Jit thread pool
14908radio        12413 12419 Signal Catcher
14909radio        12413 12420 JDWP
14910radio        12413 12421 ReferenceQueueD
14911radio        12413 12422 FinalizerDaemon
14912radio        12413 12423 FinalizerWatchd
14913radio        12413 12424 HeapTaskDaemon
14914radio        12413 12425 Binder:12413_1
14915radio        12413 12426 Binder:12413_2
14916radio        12413 12427 Profile Saver
14917u0_a93       12475 12475 id.printspooler
14918u0_a93       12475 12480 Jit thread pool
14919u0_a93       12475 12481 Signal Catcher
14920u0_a93       12475 12482 JDWP
14921u0_a93       12475 12483 ReferenceQueueD
14922u0_a93       12475 12484 FinalizerDaemon
14923u0_a93       12475 12485 FinalizerWatchd
14924u0_a93       12475 12486 HeapTaskDaemon
14925u0_a93       12475 12487 Binder:12475_1
14926u0_a93       12475 12488 Binder:12475_2
14927u0_a93       12475 12489 Profile Saver
14928u0_a93       12475 13072 queued-work-loo
14929u0_a25       12601 12601 ndroid.apps.gcs
14930u0_a25       12601 12606 Jit thread pool
14931u0_a25       12601 12607 Signal Catcher
14932u0_a25       12601 12608 JDWP
14933u0_a25       12601 12609 ReferenceQueueD
14934u0_a25       12601 12610 FinalizerDaemon
14935u0_a25       12601 12611 FinalizerWatchd
14936u0_a25       12601 12612 HeapTaskDaemon
14937u0_a25       12601 12613 Binder:12601_1
14938u0_a25       12601 12614 Binder:12601_2
14939u0_a25       12601 12616 Profile Saver
14940u0_a25       12601 12624 queued-work-loo
14941u0_a25       12601 12629 measurement-1
14942u0_a25       12601 12634 GAC_Executor[0]
14943u0_a25       12601 12635 GAC_Executor[1]
14944u0_a25       12601 12636 GoogleApiHandle
14945u0_a25       12601 13184 Primes-1
14946u0_a11       12638 12638 d.process.acore
14947u0_a11       12638 12642 Jit thread pool
14948u0_a11       12638 12643 Signal Catcher
14949u0_a11       12638 12644 JDWP
14950u0_a11       12638 12646 ReferenceQueueD
14951u0_a11       12638 12647 FinalizerDaemon
14952u0_a11       12638 12648 FinalizerWatchd
14953u0_a11       12638 12649 HeapTaskDaemon
14954u0_a11       12638 12650 Binder:12638_1
14955u0_a11       12638 12651 Binder:12638_2
14956u0_a11       12638 12653 Binder:12638_3
14957u0_a11       12638 12654 Profile Saver
14958u0_a11       12638 12664 Worker-1
14959u0_a11       12638 12668 Worker-1
14960u0_a11       12638 12669 Worker-1
14961u0_a11       12638 12670 Worker-1
14962u0_a11       12638 12693 Worker-1
14963root         12674 12674 kworker/5:2
14964u0_a26       12730 12730 id.gms.unstable
14965u0_a26       12730 12735 Jit thread pool
14966u0_a26       12730 12736 Signal Catcher
14967u0_a26       12730 12737 JDWP
14968u0_a26       12730 12738 ReferenceQueueD
14969u0_a26       12730 12739 FinalizerDaemon
14970u0_a26       12730 12740 FinalizerWatchd
14971u0_a26       12730 12741 HeapTaskDaemon
14972u0_a26       12730 12742 Binder:12730_1
14973u0_a26       12730 12743 Binder:12730_2
14974u0_a26       12730 12745 Profile Saver
14975u0_a26       12730 12766 GlobalDispatchi
14976u0_a26       12730 12772 GoogleApiHandle
14977u0_a26       12730 12774 FileObserver
14978u0_a26       12730 12784 lowpool[0]
14979u0_a26       12730 12785 highpool[0]
14980u0_a26       12730 12804 Binder:12730_3
14981u0_a26       12730 12830 Binder:12730_4
14982u0_a26       12730 13272 queued-work-loo
14983u0_a26       12850 12850 .android.gms.ui
14984u0_a26       12850 12855 Jit thread pool
14985u0_a26       12850 12856 Signal Catcher
14986u0_a26       12850 12857 JDWP
14987u0_a26       12850 12858 ReferenceQueueD
14988u0_a26       12850 12859 FinalizerDaemon
14989u0_a26       12850 12860 FinalizerWatchd
14990u0_a26       12850 12865 HeapTaskDaemon
14991u0_a26       12850 12866 Binder:12850_1
14992u0_a26       12850 12867 Binder:12850_2
14993u0_a26       12850 12870 Profile Saver
14994u0_a26       12850 12890 GlobalDispatchi
14995u0_a26       12850 12906 GoogleApiHandle
14996u0_a26       12850 12912 FileObserver
14997u0_a26       12850 12922 queued-work-loo
14998u0_a84       12984 12984 erprise.dmagent
14999u0_a84       12984 12989 Jit thread pool
15000u0_a84       12984 12990 Signal Catcher
15001u0_a84       12984 12991 JDWP
15002u0_a84       12984 12992 ReferenceQueueD
15003u0_a84       12984 12993 FinalizerDaemon
15004u0_a84       12984 12994 FinalizerWatchd
15005u0_a84       12984 12995 HeapTaskDaemon
15006u0_a84       12984 12996 Binder:12984_1
15007u0_a84       12984 12997 Binder:12984_2
15008u0_a84       12984 12998 Profile Saver
15009u0_a115      13067 13067 ndroid.calendar
15010u0_a115      13067 13073 Jit thread pool
15011u0_a115      13067 13074 Signal Catcher
15012u0_a115      13067 13075 JDWP
15013u0_a115      13067 13076 ReferenceQueueD
15014u0_a115      13067 13077 FinalizerDaemon
15015u0_a115      13067 13078 FinalizerWatchd
15016u0_a115      13067 13079 HeapTaskDaemon
15017u0_a115      13067 13080 Binder:13067_1
15018u0_a115      13067 13081 Binder:13067_2
15019u0_a115      13067 13084 Profile Saver
15020u0_a115      13067 13086 GAThread
15021u0_a115      13067 13087 GoogleApiHandle
15022u0_a115      13067 13091 AsyncQueryWorke
15023u0_a115      13067 13106 GAC_Executor[0]
15024u0_a115      13067 13108 DISK_0
15025u0_a115      13067 13113 process reaper
15026u0_a115      13067 13115 Thread-3
15027u0_a115      13067 13116 Thread-4
15028u0_a115      13067 13117 Thread-5
15029u0_a115      13067 13118 Thread-6
15030u0_a115      13067 13119 Thread-7
15031u0_a115      13067 13120 queued-work-loo
15032u0_a115      13067 13122 NET_0
15033u0_a115      13067 13123 DISK_1
15034u0_a115      13067 13124 Thread-10
15035u0_a115      13067 13126 NET_1
15036u0_a115      13067 13127 GAC_Executor[1]
15037u0_a115      13067 13135 gms-bg-executor
15038u0_a115      13067 13139 thKitJobService
15039u0_a115      13067 13140 pool-2-thread-1
15040u0_a115      13067 13144 NET_2
15041u0_a115      13067 13145 NET_3
15042u0_a115      13067 13146 NET_4
15043u0_a115      13067 13188 gms-bg-executor
15044u0_a115      13067 13190 FirebaseService
15045u0_a115      13067 13191 BACKGROUND_0
15046u0_a115      13067 13196 BACKGROUND_1
15047u0_a115      13067 13276 disconnect chec
15048u0_a13       13092 13092 viders.calendar
15049u0_a13       13092 13097 Jit thread pool
15050u0_a13       13092 13098 Signal Catcher
15051u0_a13       13092 13099 JDWP
15052u0_a13       13092 13100 ReferenceQueueD
15053u0_a13       13092 13101 FinalizerDaemon
15054u0_a13       13092 13102 FinalizerWatchd
15055u0_a13       13092 13103 HeapTaskDaemon
15056u0_a13       13092 13104 Binder:13092_1
15057u0_a13       13092 13105 Binder:13092_2
15058u0_a13       13092 13107 Profile Saver
15059system       13242 13242 configstore@1.0
15060system       13242 13554 HwBinder:13242_
15061u0_a27       13282 13282 id.defcontainer
15062u0_a27       13282 13287 Jit thread pool
15063u0_a27       13282 13288 Signal Catcher
15064u0_a27       13282 13289 JDWP
15065u0_a27       13282 13290 ReferenceQueueD
15066u0_a27       13282 13291 FinalizerDaemon
15067u0_a27       13282 13292 FinalizerWatchd
15068u0_a27       13282 13293 HeapTaskDaemon
15069u0_a27       13282 13294 Binder:13282_1
15070u0_a27       13282 13295 Binder:13282_2
15071u0_a27       13282 13296 Profile Saver
15072u0_a27       13282 13297 IntentService[D
15073u0_a3245     13558 13558 esting.services
15074u0_a3245     13558 13563 Jit thread pool
15075u0_a3245     13558 13564 Signal Catcher
15076u0_a3245     13558 13565 JDWP
15077u0_a3245     13558 13566 ReferenceQueueD
15078u0_a3245     13558 13567 FinalizerDaemon
15079u0_a3245     13558 13568 FinalizerWatchd
15080u0_a3245     13558 13569 HeapTaskDaemon
15081u0_a3245     13558 13570 Binder:13558_1
15082u0_a3245     13558 13571 Binder:13558_2
15083u0_a3245     13558 13572 Binder:13558_3
15084u0_a3245     13558 13573 Profile Saver
15085u0_a3245     13558 13574 Binder:13558_4
15086root         13727 13727 sh
15087root         13729 13729 sh
15088root         13731 13731 ps
15089u0_a53       22412 22412 e.android.volta
15090u0_a53       22412 22417 Jit thread pool
15091u0_a53       22412 22418 Signal Catcher
15092u0_a53       22412 22419 JDWP
15093u0_a53       22412 22420 ReferenceQueueD
15094u0_a53       22412 22421 FinalizerDaemon
15095u0_a53       22412 22422 FinalizerWatchd
15096u0_a53       22412 22423 HeapTaskDaemon
15097u0_a53       22412 22424 Binder:22412_1
15098u0_a53       22412 22425 Binder:22412_2
15099u0_a53       22412 22426 Profile Saver
15100u0_a53       22412 22431 queued-work-loo
15101u0_a53       22412 23027 Binder:22412_3
15102u0_a42       30672 30672 gle.android.ims
15103u0_a42       30672 30677 Jit thread pool
15104u0_a42       30672 30678 Signal Catcher
15105u0_a42       30672 30679 JDWP
15106u0_a42       30672 30680 ReferenceQueueD
15107u0_a42       30672 30681 FinalizerDaemon
15108u0_a42       30672 30682 FinalizerWatchd
15109u0_a42       30672 30683 HeapTaskDaemon
15110u0_a42       30672 30684 Binder:30672_1
15111u0_a42       30672 30685 Binder:30672_2
15112u0_a42       30672 30688 Profile Saver
15113u0_a42       30672 30700 GoogleApiHandle
15114u0_a42       30672 30704 ConnectivityThr
15115u0_a42       30672 30707 queued-work-loo
15116u0_a42       30672 30710 Timer-0
15117u0_a42       30672 30723 GAC_Executor[0]
15118u0_a42       30672 30724 Primes-1
15119u0_a42       30672 30730 webrtc-thread
15120u0_a42       30672 30731 Timer-1
15121u0_a42       30672 30732 ImsConnectionHa
15122u0_a42       30672 30748 network_thread
15123u0_a42       30672 30749 Thread-4
15124u0_a42       30672 30750 signaling_threa
15125u0_a42       30672 30752 GAC_Executor[1]
15126u0_a42       30672 30785 rtc-low-prio
15127u0_a42       30672 30786 AudioDeviceBuff
15128u0_a42       30672 30790 WebRtcVolumeLev
15129u0_a42       30672 31980 Binder:30672_3
15130u0_a42       30672  2836 Primes-2
15131u0_a42       30672 17359 Binder:30672_4
15132  </script>
15133  <script class="trace-data" type="application/text">
15134# tracer: nop
15135#
15136# entries-in-buffer/entries-written: 11600/11600   #P:8
15137#
15138#                                      _-----=> irqs-off
15139#                                     / _----=> need-resched
15140#                                    | / _---=> hardirq/softirq
15141#                                    || / _--=> preempt-depth
15142#                                    ||| /     delay
15143#           TASK-PID    TGID   CPU#  ||||    TIMESTAMP  FUNCTION
15144#              | |        |      |   ||||       |         |
15145          atrace-13227 (13227) [005] ...1 157985.923038: tracing_mark_write: trace_event_clock_sync: parent_ts=157985.921875
15146          atrace-13227 (13227) [005] ...1 157985.923043: tracing_mark_write: trace_event_clock_sync: realtime_ts=1535702316549
15147  sensors@1.0-se-755   (  755) [005] ...1 157985.929790: tracing_mark_write: E
15148   SensorService-1249  ( 1136) [001] ...1 157985.930001: tracing_mark_write: E
15149   SensorService-1249  ( 1136) [001] ...1 157985.930288: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15150  sensors@1.0-se-755   (  755) [005] ...1 157985.931688: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15151  sensors@1.0-se-755   (  755) [005] ...1 157985.950160: tracing_mark_write: E
15152   SensorService-1249  ( 1136) [001] ...1 157985.950447: tracing_mark_write: E
15153   SensorService-1249  ( 1136) [001] ...1 157985.950567: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15154  sensors@1.0-se-755   (  755) [005] ...1 157985.950755: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15155  sensors@1.0-se-755   (  755) [005] ...1 157985.970468: tracing_mark_write: E
15156   SensorService-1249  ( 1136) [001] ...1 157985.970941: tracing_mark_write: E
15157   SensorService-1249  ( 1136) [001] ...1 157985.971207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15158  sensors@1.0-se-755   (  755) [005] ...1 157985.972530: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15159  sensors@1.0-se-755   (  755) [005] ...1 157985.990448: tracing_mark_write: E
15160   SensorService-1249  ( 1136) [001] ...1 157985.990962: tracing_mark_write: E
15161   SensorService-1249  ( 1136) [001] ...1 157985.991185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15162  sensors@1.0-se-755   (  755) [005] ...1 157985.991405: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15163  sensors@1.0-se-755   (  755) [005] ...1 157986.010253: tracing_mark_write: E
15164   SensorService-1249  ( 1136) [001] ...1 157986.010682: tracing_mark_write: E
15165   SensorService-1249  ( 1136) [001] ...1 157986.010928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15166  sensors@1.0-se-755   (  755) [005] ...1 157986.012598: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15167  sensors@1.0-se-755   (  755) [005] ...1 157986.030112: tracing_mark_write: E
15168   SensorService-1249  ( 1136) [001] ...1 157986.030337: tracing_mark_write: E
15169   SensorService-1249  ( 1136) [001] ...1 157986.030512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15170  sensors@1.0-se-755   (  755) [005] ...1 157986.031424: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15171  sensors@1.0-se-755   (  755) [005] ...1 157986.050990: tracing_mark_write: E
15172   SensorService-1249  ( 1136) [001] ...1 157986.051224: tracing_mark_write: E
15173   SensorService-1249  ( 1136) [001] ...1 157986.051423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15174  sensors@1.0-se-755   (  755) [005] ...1 157986.052345: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15175  sensors@1.0-se-755   (  755) [005] ...1 157986.071024: tracing_mark_write: E
15176   SensorService-1249  ( 1136) [001] ...1 157986.071250: tracing_mark_write: E
15177   SensorService-1249  ( 1136) [001] ...1 157986.071435: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15178  sensors@1.0-se-755   (  755) [005] ...1 157986.071956: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15179  sensors@1.0-se-755   (  755) [005] ...1 157986.091115: tracing_mark_write: E
15180   SensorService-1249  ( 1136) [001] ...1 157986.091555: tracing_mark_write: E
15181   SensorService-1249  ( 1136) [001] ...1 157986.091741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15182  sensors@1.0-se-755   (  755) [005] ...1 157986.093442: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15183  sensors@1.0-se-755   (  755) [005] ...1 157986.111118: tracing_mark_write: E
15184   SensorService-1249  ( 1136) [001] ...1 157986.111343: tracing_mark_write: E
15185   SensorService-1249  ( 1136) [001] ...1 157986.111477: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15186  sensors@1.0-se-755   (  755) [005] ...1 157986.111665: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15187  sensors@1.0-se-755   (  755) [005] ...1 157986.131084: tracing_mark_write: E
15188   SensorService-1249  ( 1136) [001] ...1 157986.131355: tracing_mark_write: E
15189   SensorService-1249  ( 1136) [001] ...1 157986.131654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15190  sensors@1.0-se-755   (  755) [005] ...1 157986.132345: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15191  sensors@1.0-se-755   (  755) [005] ...1 157986.150680: tracing_mark_write: E
15192   SensorService-1249  ( 1136) [001] ...1 157986.151007: tracing_mark_write: E
15193   SensorService-1249  ( 1136) [001] ...1 157986.151238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15194  sensors@1.0-se-755   (  755) [005] ...1 157986.151850: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15195  sensors@1.0-se-755   (  755) [005] ...1 157986.170589: tracing_mark_write: E
15196   SensorService-1249  ( 1136) [001] ...1 157986.170786: tracing_mark_write: E
15197   SensorService-1249  ( 1136) [001] ...1 157986.171048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15198  sensors@1.0-se-755   (  755) [005] ...1 157986.171534: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15199  sensors@1.0-se-755   (  755) [005] ...1 157986.191375: tracing_mark_write: E
15200   SensorService-1249  ( 1136) [001] ...1 157986.191821: tracing_mark_write: E
15201   SensorService-1249  ( 1136) [001] ...1 157986.192040: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15202  sensors@1.0-se-755   (  755) [005] ...1 157986.192533: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15203  sensors@1.0-se-755   (  755) [005] ...1 157986.211469: tracing_mark_write: E
15204   SensorService-1249  ( 1136) [001] ...1 157986.211958: tracing_mark_write: E
15205   SensorService-1249  ( 1136) [001] ...1 157986.212145: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15206  sensors@1.0-se-755   (  755) [005] ...1 157986.214517: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15207  sensors@1.0-se-755   (  755) [005] ...1 157986.232754: tracing_mark_write: E
15208   SensorService-1249  ( 1136) [001] ...1 157986.234890: tracing_mark_write: E
15209   SensorService-1249  ( 1136) [001] ...1 157986.235161: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15210  sensors@1.0-se-755   (  755) [005] ...1 157986.236843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15211  sensors@1.0-se-755   (  755) [005] ...1 157986.251785: tracing_mark_write: E
15212   SensorService-1249  ( 1136) [001] ...1 157986.252423: tracing_mark_write: E
15213   SensorService-1249  ( 1136) [001] ...1 157986.252655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15214  sensors@1.0-se-755   (  755) [005] ...1 157986.253278: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15215  sensors@1.0-se-755   (  755) [005] ...1 157986.273068: tracing_mark_write: E
15216   SensorService-1249  ( 1136) [001] ...1 157986.274678: tracing_mark_write: E
15217   SensorService-1249  ( 1136) [001] ...1 157986.275159: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15218  sensors@1.0-se-755   (  755) [005] ...1 157986.275839: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15219  sensors@1.0-se-755   (  755) [005] ...1 157986.291397: tracing_mark_write: E
15220   SensorService-1249  ( 1136) [001] ...1 157986.292638: tracing_mark_write: E
15221   SensorService-1249  ( 1136) [001] ...1 157986.293078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15222  sensors@1.0-se-755   (  755) [005] ...1 157986.293689: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15223  sensors@1.0-se-755   (  755) [005] ...1 157986.311338: tracing_mark_write: E
15224   SensorService-1249  ( 1136) [001] ...1 157986.311838: tracing_mark_write: E
15225   SensorService-1249  ( 1136) [001] ...1 157986.312061: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15226  sensors@1.0-se-755   (  755) [005] ...1 157986.312576: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15227  sensors@1.0-se-755   (  755) [005] ...1 157986.331455: tracing_mark_write: E
15228   SensorService-1249  ( 1136) [001] ...1 157986.331828: tracing_mark_write: E
15229   SensorService-1249  ( 1136) [001] ...1 157986.331893: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15230  sensors@1.0-se-755   (  755) [005] ...1 157986.332439: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15231  sensors@1.0-se-755   (  755) [005] ...1 157986.351904: tracing_mark_write: E
15232   SensorService-1249  ( 1136) [001] ...1 157986.352287: tracing_mark_write: E
15233   SensorService-1249  ( 1136) [001] ...1 157986.352521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15234  sensors@1.0-se-755   (  755) [005] ...1 157986.354331: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15235  sensors@1.0-se-755   (  755) [005] ...1 157986.372360: tracing_mark_write: E
15236   SensorService-1249  ( 1136) [001] ...1 157986.373868: tracing_mark_write: E
15237   SensorService-1249  ( 1136) [001] ...1 157986.374136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15238  sensors@1.0-se-755   (  755) [005] ...1 157986.374924: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15239  sensors@1.0-se-755   (  755) [005] ...1 157986.390579: tracing_mark_write: E
15240   SensorService-1249  ( 1136) [001] ...1 157986.391065: tracing_mark_write: E
15241   SensorService-1249  ( 1136) [001] ...1 157986.391269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15242  sensors@1.0-se-755   (  755) [005] ...1 157986.391664: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15243  sensors@1.0-se-755   (  755) [005] ...1 157986.411683: tracing_mark_write: E
15244   SensorService-1249  ( 1136) [001] ...1 157986.412468: tracing_mark_write: E
15245   SensorService-1249  ( 1136) [001] ...1 157986.412999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15246  sensors@1.0-se-755   (  755) [005] ...1 157986.413570: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15247  sensors@1.0-se-755   (  755) [005] ...1 157986.430511: tracing_mark_write: E
15248   SensorService-1249  ( 1136) [001] ...1 157986.431034: tracing_mark_write: E
15249   SensorService-1249  ( 1136) [001] ...1 157986.431283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15250  sensors@1.0-se-755   (  755) [005] ...1 157986.431716: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15251  sensors@1.0-se-755   (  755) [005] ...1 157986.450538: tracing_mark_write: E
15252   SensorService-1249  ( 1136) [001] ...1 157986.451129: tracing_mark_write: E
15253   SensorService-1249  ( 1136) [001] ...1 157986.451389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15254  sensors@1.0-se-755   (  755) [005] ...1 157986.451713: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15255  sensors@1.0-se-755   (  755) [004] ...1 157986.470040: tracing_mark_write: E
15256   SensorService-1249  ( 1136) [001] ...1 157986.470228: tracing_mark_write: E
15257   SensorService-1249  ( 1136) [001] ...1 157986.470478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15258  sensors@1.0-se-755   (  755) [004] ...1 157986.470632: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15259  sensors@1.0-se-755   (  755) [004] ...1 157986.492773: tracing_mark_write: E
15260   SensorService-1249  ( 1136) [001] ...1 157986.493300: tracing_mark_write: E
15261   SensorService-1249  ( 1136) [001] ...1 157986.493483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15262  sensors@1.0-se-755   (  755) [004] ...1 157986.494177: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15263  sensors@1.0-se-755   (  755) [004] ...1 157986.511823: tracing_mark_write: E
15264   SensorService-1249  ( 1136) [001] ...1 157986.512208: tracing_mark_write: E
15265   SensorService-1249  ( 1136) [001] ...1 157986.512356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15266  sensors@1.0-se-755   (  755) [004] ...1 157986.512717: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15267  sensors@1.0-se-755   (  755) [004] ...1 157986.529973: tracing_mark_write: E
15268   SensorService-1249  ( 1136) [001] ...1 157986.530397: tracing_mark_write: E
15269   SensorService-1249  ( 1136) [001] ...1 157986.530595: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15270  sensors@1.0-se-755   (  755) [004] ...1 157986.531156: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15271  sensors@1.0-se-755   (  755) [004] ...1 157986.550274: tracing_mark_write: E
15272   SensorService-1249  ( 1136) [001] ...1 157986.550457: tracing_mark_write: E
15273   SensorService-1249  ( 1136) [001] ...1 157986.550627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15274  sensors@1.0-se-755   (  755) [004] ...1 157986.551220: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15275  sensors@1.0-se-755   (  755) [004] ...1 157986.570652: tracing_mark_write: E
15276   SensorService-1249  ( 1136) [001] ...1 157986.571250: tracing_mark_write: E
15277   SensorService-1249  ( 1136) [001] ...1 157986.571490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15278  sensors@1.0-se-755   (  755) [004] ...1 157986.572100: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15279  sensors@1.0-se-755   (  755) [004] ...1 157986.591316: tracing_mark_write: E
15280   SensorService-1249  ( 1136) [001] ...1 157986.591826: tracing_mark_write: E
15281   SensorService-1249  ( 1136) [001] ...1 157986.592036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15282  sensors@1.0-se-755   (  755) [004] ...1 157986.592620: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15283  sensors@1.0-se-755   (  755) [004] ...1 157986.610945: tracing_mark_write: E
15284   SensorService-1249  ( 1136) [001] ...1 157986.611194: tracing_mark_write: E
15285   SensorService-1249  ( 1136) [001] ...1 157986.611410: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15286  sensors@1.0-se-755   (  755) [004] ...1 157986.612004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15287  sensors@1.0-se-755   (  755) [004] ...1 157986.629969: tracing_mark_write: E
15288   SensorService-1249  ( 1136) [001] ...1 157986.630147: tracing_mark_write: E
15289   SensorService-1249  ( 1136) [001] ...1 157986.630305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15290  sensors@1.0-se-755   (  755) [004] ...1 157986.630771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15291  sensors@1.0-se-755   (  755) [004] ...1 157986.650239: tracing_mark_write: E
15292   SensorService-1249  ( 1136) [001] ...1 157986.650605: tracing_mark_write: E
15293   SensorService-1249  ( 1136) [001] ...1 157986.650763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15294  sensors@1.0-se-755   (  755) [004] ...1 157986.651343: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15295  sensors@1.0-se-755   (  755) [004] ...1 157986.672337: tracing_mark_write: E
15296   SensorService-1249  ( 1136) [001] ...1 157986.673926: tracing_mark_write: E
15297   SensorService-1249  ( 1136) [001] ...1 157986.674333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15298  sensors@1.0-se-755   (  755) [004] ...1 157986.675144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15299  sensors@1.0-se-755   (  755) [004] ...1 157986.691316: tracing_mark_write: E
15300   SensorService-1249  ( 1136) [001] ...1 157986.692001: tracing_mark_write: E
15301   SensorService-1249  ( 1136) [001] ...1 157986.692261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15302  sensors@1.0-se-755   (  755) [004] ...1 157986.692970: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15303  sensors@1.0-se-755   (  755) [004] ...1 157986.711681: tracing_mark_write: E
15304   SensorService-1249  ( 1136) [001] ...1 157986.711924: tracing_mark_write: E
15305   SensorService-1249  ( 1136) [001] ...1 157986.712100: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15306  HwBinder:755_1-1247  (  755) [000] ...1 157986.712554: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15307  HwBinder:755_1-1247  (  755) [001] ...1 157986.730733: tracing_mark_write: E
15308   SensorService-1249  ( 1136) [000] ...1 157986.731015: tracing_mark_write: E
15309   SensorService-1249  ( 1136) [000] ...1 157986.731225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15310  HwBinder:755_1-1247  (  755) [001] ...1 157986.731501: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15311  HwBinder:755_1-1247  (  755) [001] ...1 157986.752441: tracing_mark_write: E
15312   SensorService-1249  ( 1136) [000] ...1 157986.752958: tracing_mark_write: E
15313   SensorService-1249  ( 1136) [000] ...1 157986.753207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15314  HwBinder:755_1-1247  (  755) [001] ...1 157986.753472: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15315  HwBinder:755_1-1247  (  755) [001] ...1 157986.771392: tracing_mark_write: E
15316   SensorService-1249  ( 1136) [000] ...1 157986.771724: tracing_mark_write: E
15317   SensorService-1249  ( 1136) [000] ...1 157986.772083: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15318  HwBinder:755_1-1247  (  755) [001] ...1 157986.772748: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15319  HwBinder:755_1-1247  (  755) [001] ...1 157986.790626: tracing_mark_write: E
15320   SensorService-1249  ( 1136) [000] ...1 157986.790832: tracing_mark_write: E
15321   SensorService-1249  ( 1136) [000] ...1 157986.791099: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15322  HwBinder:755_1-1247  (  755) [001] ...1 157986.791260: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15323  HwBinder:755_1-1247  (  755) [001] ...1 157986.810063: tracing_mark_write: E
15324   SensorService-1249  ( 1136) [000] ...1 157986.810273: tracing_mark_write: E
15325   SensorService-1249  ( 1136) [000] ...1 157986.810461: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15326  HwBinder:755_1-1247  (  755) [001] ...1 157986.810915: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15327  HwBinder:755_1-1247  (  755) [001] ...1 157986.831653: tracing_mark_write: E
15328   SensorService-1249  ( 1136) [000] ...1 157986.832239: tracing_mark_write: E
15329   SensorService-1249  ( 1136) [000] ...1 157986.832533: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15330  HwBinder:755_1-1247  (  755) [001] ...1 157986.833000: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15331  HwBinder:755_1-1247  (  755) [001] ...1 157986.850462: tracing_mark_write: E
15332   SensorService-1249  ( 1136) [000] ...1 157986.850695: tracing_mark_write: E
15333   SensorService-1249  ( 1136) [000] ...1 157986.851009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15334  HwBinder:755_1-1247  (  755) [001] ...1 157986.851582: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15335  HwBinder:755_1-1247  (  755) [001] ...1 157986.872386: tracing_mark_write: E
15336   SensorService-1249  ( 1136) [000] ...1 157986.873102: tracing_mark_write: E
15337   SensorService-1249  ( 1136) [000] ...1 157986.873348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15338  HwBinder:755_1-1247  (  755) [001] ...1 157986.873743: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15339  HwBinder:755_1-1247  (  755) [000] ...1 157986.891610: tracing_mark_write: E
15340   SensorService-1249  ( 1136) [002] ...1 157986.892006: tracing_mark_write: E
15341   SensorService-1249  ( 1136) [002] ...1 157986.892353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15342  HwBinder:755_1-1247  (  755) [000] ...1 157986.892617: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15343  HwBinder:755_1-1247  (  755) [000] ...1 157986.911588: tracing_mark_write: E
15344   SensorService-1249  ( 1136) [002] ...1 157986.911837: tracing_mark_write: E
15345   SensorService-1249  ( 1136) [002] ...1 157986.912104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15346  HwBinder:755_1-1247  (  755) [000] ...1 157986.912748: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15347  HwBinder:755_1-1247  (  755) [001] ...1 157986.930349: tracing_mark_write: E
15348   SensorService-1249  ( 1136) [002] ...1 157986.930783: tracing_mark_write: E
15349   SensorService-1249  ( 1136) [002] ...1 157986.931038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15350  HwBinder:755_1-1247  (  755) [001] ...1 157986.931239: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15351  HwBinder:755_1-1247  (  755) [003] ...1 157986.952603: tracing_mark_write: E
15352   SensorService-1249  ( 1136) [002] ...1 157986.953028: tracing_mark_write: E
15353   SensorService-1249  ( 1136) [002] ...1 157986.953388: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15354  HwBinder:755_1-1247  (  755) [003] ...1 157986.953604: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15355  HwBinder:755_1-1247  (  755) [001] ...1 157986.971035: tracing_mark_write: E
15356   SensorService-1249  ( 1136) [002] ...1 157986.971803: tracing_mark_write: E
15357   SensorService-1249  ( 1136) [002] ...1 157986.972032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15358  HwBinder:755_1-1247  (  755) [001] ...1 157986.972185: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15359  HwBinder:755_1-1247  (  755) [001] ...1 157986.991891: tracing_mark_write: E
15360   SensorService-1249  ( 1136) [002] ...1 157986.992265: tracing_mark_write: E
15361   SensorService-1249  ( 1136) [002] ...1 157986.992618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15362  HwBinder:755_1-1247  (  755) [001] ...1 157986.993175: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15363  HwBinder:755_1-1247  (  755) [001] ...1 157987.013567: tracing_mark_write: E
15364   SensorService-1249  ( 1136) [002] ...1 157987.014479: tracing_mark_write: E
15365   SensorService-1249  ( 1136) [002] ...1 157987.014731: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15366  HwBinder:755_1-1247  (  755) [001] ...1 157987.015115: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15367  HwBinder:755_1-1247  (  755) [002] ...1 157987.031414: tracing_mark_write: E
15368   SensorService-1249  ( 1136) [000] ...1 157987.031571: tracing_mark_write: E
15369   SensorService-1249  ( 1136) [000] ...1 157987.031713: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15370  HwBinder:755_1-1247  (  755) [002] ...1 157987.031814: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15371  HwBinder:755_1-1247  (  755) [002] ...1 157987.052348: tracing_mark_write: E
15372   SensorService-1249  ( 1136) [000] ...1 157987.052554: tracing_mark_write: E
15373   SensorService-1249  ( 1136) [000] ...1 157987.052740: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15374  HwBinder:755_1-1247  (  755) [002] ...1 157987.053025: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15375  HwBinder:755_1-1247  (  755) [001] ...1 157987.073647: tracing_mark_write: E
15376   SensorService-1249  ( 1136) [000] ...1 157987.074424: tracing_mark_write: E
15377   SensorService-1249  ( 1136) [000] ...1 157987.074778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15378  HwBinder:755_1-1247  (  755) [001] ...1 157987.075348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15379  HwBinder:755_1-1247  (  755) [001] ...1 157987.092778: tracing_mark_write: E
15380   SensorService-1249  ( 1136) [000] ...1 157987.093125: tracing_mark_write: E
15381   SensorService-1249  ( 1136) [000] ...1 157987.093332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15382  HwBinder:755_1-1247  (  755) [001] ...1 157987.093759: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15383  HwBinder:755_1-1247  (  755) [001] ...1 157987.115092: tracing_mark_write: E
15384   SensorService-1249  ( 1136) [000] ...1 157987.115316: tracing_mark_write: E
15385   SensorService-1249  ( 1136) [000] ...1 157987.115516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15386  HwBinder:755_1-1247  (  755) [001] ...1 157987.115881: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15387  HwBinder:755_1-1247  (  755) [001] ...1 157987.132298: tracing_mark_write: E
15388   SensorService-1249  ( 1136) [000] ...1 157987.132506: tracing_mark_write: E
15389   SensorService-1249  ( 1136) [000] ...1 157987.132696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15390  HwBinder:755_1-1247  (  755) [001] ...1 157987.133134: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15391  HwBinder:755_1-1247  (  755) [001] ...1 157987.154508: tracing_mark_write: E
15392   SensorService-1249  ( 1136) [000] ...1 157987.155232: tracing_mark_write: E
15393   SensorService-1249  ( 1136) [000] ...1 157987.155628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15394  HwBinder:755_1-1247  (  755) [001] ...1 157987.155852: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15395  HwBinder:755_1-1247  (  755) [001] ...1 157987.172173: tracing_mark_write: E
15396   SensorService-1249  ( 1136) [000] ...1 157987.172379: tracing_mark_write: E
15397   SensorService-1249  ( 1136) [000] ...1 157987.172570: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15398  HwBinder:755_1-1247  (  755) [001] ...1 157987.173072: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15399  HwBinder:755_1-1247  (  755) [001] ...1 157987.196306: tracing_mark_write: E
15400   SensorService-1249  ( 1136) [000] ...1 157987.196667: tracing_mark_write: E
15401   SensorService-1249  ( 1136) [000] ...1 157987.197005: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15402  HwBinder:755_1-1247  (  755) [001] ...1 157987.197683: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15403  HwBinder:755_1-1247  (  755) [003] ...1 157987.211561: tracing_mark_write: E
15404   SensorService-1249  ( 1136) [000] ...1 157987.211725: tracing_mark_write: E
15405   SensorService-1249  ( 1136) [000] ...1 157987.211902: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15406  HwBinder:755_1-1247  (  755) [003] ...1 157987.212348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15407  HwBinder:755_1-1247  (  755) [002] ...1 157987.237740: tracing_mark_write: E
15408   SensorService-1249  ( 1136) [000] ...1 157987.238129: tracing_mark_write: E
15409   SensorService-1249  ( 1136) [000] ...1 157987.238537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15410  HwBinder:755_1-1247  (  755) [002] ...1 157987.239079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15411  HwBinder:755_1-1247  (  755) [001] ...1 157987.252445: tracing_mark_write: E
15412   SensorService-1249  ( 1136) [000] ...1 157987.252628: tracing_mark_write: E
15413   SensorService-1249  ( 1136) [000] ...1 157987.252803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15414  HwBinder:755_1-1247  (  755) [001] ...1 157987.252937: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15415  HwBinder:755_1-1247  (  755) [001] ...1 157987.273186: tracing_mark_write: E
15416   SensorService-1249  ( 1136) [000] ...1 157987.273829: tracing_mark_write: E
15417   SensorService-1249  ( 1136) [000] ...1 157987.274168: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15418  HwBinder:755_1-1247  (  755) [001] ...1 157987.274497: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15419  HwBinder:755_1-1247  (  755) [001] ...1 157987.292216: tracing_mark_write: E
15420   SensorService-1249  ( 1136) [000] ...1 157987.292427: tracing_mark_write: E
15421   SensorService-1249  ( 1136) [000] ...1 157987.292634: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15422  HwBinder:755_1-1247  (  755) [001] ...1 157987.292762: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15423  HwBinder:755_1-1247  (  755) [001] ...1 157987.313204: tracing_mark_write: E
15424   SensorService-1249  ( 1136) [000] ...1 157987.313561: tracing_mark_write: E
15425   SensorService-1249  ( 1136) [000] ...1 157987.313905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15426  HwBinder:755_1-1247  (  755) [001] ...1 157987.314087: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15427  HwBinder:755_1-1247  (  755) [001] ...1 157987.333685: tracing_mark_write: E
15428   SensorService-1249  ( 1136) [000] ...1 157987.334000: tracing_mark_write: E
15429   SensorService-1249  ( 1136) [000] ...1 157987.334378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15430  HwBinder:755_1-1247  (  755) [001] ...1 157987.334754: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15431  HwBinder:755_1-1247  (  755) [001] ...1 157987.353489: tracing_mark_write: E
15432   SensorService-1249  ( 1136) [000] ...1 157987.353848: tracing_mark_write: E
15433   SensorService-1249  ( 1136) [000] ...1 157987.354185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15434  HwBinder:755_1-1247  (  755) [001] ...1 157987.354548: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15435  HwBinder:755_1-1247  (  755) [003] ...1 157987.372867: tracing_mark_write: E
15436   SensorService-1249  ( 1136) [000] ...1 157987.373039: tracing_mark_write: E
15437   SensorService-1249  ( 1136) [000] ...1 157987.373221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15438  HwBinder:755_1-1247  (  755) [003] ...1 157987.373324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15439  HwBinder:755_1-1247  (  755) [001] ...1 157987.391801: tracing_mark_write: E
15440   SensorService-1249  ( 1136) [000] ...1 157987.392113: tracing_mark_write: E
15441   SensorService-1249  ( 1136) [000] ...1 157987.392268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15442  HwBinder:755_1-1247  (  755) [001] ...1 157987.392357: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15443  HwBinder:755_1-1247  (  755) [001] ...1 157987.412613: tracing_mark_write: E
15444   SensorService-1249  ( 1136) [000] ...1 157987.412839: tracing_mark_write: E
15445   SensorService-1249  ( 1136) [000] ...1 157987.413054: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15446  HwBinder:755_1-1247  (  755) [001] ...1 157987.413443: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15447  HwBinder:755_1-1247  (  755) [001] ...1 157987.431839: tracing_mark_write: E
15448   SensorService-1249  ( 1136) [000] ...1 157987.432408: tracing_mark_write: E
15449   SensorService-1249  ( 1136) [000] ...1 157987.432623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15450  HwBinder:755_1-1247  (  755) [001] ...1 157987.432749: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15451  HwBinder:755_1-1247  (  755) [002] ...1 157987.452356: tracing_mark_write: E
15452   SensorService-1249  ( 1136) [000] ...1 157987.452632: tracing_mark_write: E
15453   SensorService-1249  ( 1136) [000] ...1 157987.452847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15454  HwBinder:755_1-1247  (  755) [002] ...1 157987.453637: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15455  HwBinder:755_1-1247  (  755) [002] ...1 157987.471875: tracing_mark_write: E
15456   SensorService-1249  ( 1136) [000] ...1 157987.472385: tracing_mark_write: E
15457   SensorService-1249  ( 1136) [000] ...1 157987.472629: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15458  HwBinder:755_1-1247  (  755) [002] ...1 157987.473036: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15459  HwBinder:755_1-1247  (  755) [001] ...1 157987.490785: tracing_mark_write: E
15460   SensorService-1249  ( 1136) [000] ...1 157987.491039: tracing_mark_write: E
15461   SensorService-1249  ( 1136) [000] ...1 157987.491227: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15462  HwBinder:755_1-1247  (  755) [001] ...1 157987.491415: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15463  HwBinder:755_1-1247  (  755) [001] ...1 157987.513233: tracing_mark_write: E
15464   SensorService-1249  ( 1136) [000] ...1 157987.513705: tracing_mark_write: E
15465   SensorService-1249  ( 1136) [000] ...1 157987.513908: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15466  HwBinder:755_1-1247  (  755) [001] ...1 157987.514006: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15467  HwBinder:755_1-1247  (  755) [001] ...1 157987.531102: tracing_mark_write: E
15468   SensorService-1249  ( 1136) [000] ...1 157987.531484: tracing_mark_write: E
15469   SensorService-1249  ( 1136) [000] ...1 157987.531820: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15470  HwBinder:755_1-1247  (  755) [001] ...1 157987.532063: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15471  HwBinder:755_1-1247  (  755) [002] ...1 157987.550491: tracing_mark_write: E
15472   SensorService-1249  ( 1136) [000] ...1 157987.550654: tracing_mark_write: E
15473   SensorService-1249  ( 1136) [000] ...1 157987.550799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15474  HwBinder:755_1-1247  (  755) [002] ...1 157987.550955: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15475  HwBinder:755_1-1247  (  755) [001] ...1 157987.571697: tracing_mark_write: E
15476   SensorService-1249  ( 1136) [000] ...1 157987.571951: tracing_mark_write: E
15477   SensorService-1249  ( 1136) [000] ...1 157987.572138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15478  HwBinder:755_1-1247  (  755) [001] ...1 157987.572521: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15479  HwBinder:755_1-1247  (  755) [001] ...1 157987.591410: tracing_mark_write: E
15480   SensorService-1249  ( 1136) [000] ...1 157987.591888: tracing_mark_write: E
15481   SensorService-1249  ( 1136) [000] ...1 157987.592116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15482  HwBinder:755_1-1247  (  755) [001] ...1 157987.592226: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15483  HwBinder:755_1-1247  (  755) [001] ...1 157987.610661: tracing_mark_write: E
15484   SensorService-1249  ( 1136) [000] ...1 157987.610842: tracing_mark_write: E
15485   SensorService-1249  ( 1136) [000] ...1 157987.611051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15486  sensors@1.0-se-755   (  755) [004] ...1 157987.611309: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15487  sensors@1.0-se-755   (  755) [004] ...1 157987.631344: tracing_mark_write: E
15488   SensorService-1249  ( 1136) [000] ...1 157987.631607: tracing_mark_write: E
15489   SensorService-1249  ( 1136) [000] ...1 157987.631814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15490  sensors@1.0-se-755   (  755) [004] ...1 157987.632391: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15491  sensors@1.0-se-755   (  755) [004] ...1 157987.650918: tracing_mark_write: E
15492   SensorService-1249  ( 1136) [000] ...1 157987.651132: tracing_mark_write: E
15493   SensorService-1249  ( 1136) [000] ...1 157987.651306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15494  sensors@1.0-se-755   (  755) [004] ...1 157987.651818: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15495  sensors@1.0-se-755   (  755) [004] ...1 157987.672602: tracing_mark_write: E
15496   SensorService-1249  ( 1136) [000] ...1 157987.673148: tracing_mark_write: E
15497   SensorService-1249  ( 1136) [000] ...1 157987.673323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15498  sensors@1.0-se-755   (  755) [004] ...1 157987.675454: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15499  sensors@1.0-se-755   (  755) [004] ...1 157987.691534: tracing_mark_write: E
15500   SensorService-1249  ( 1136) [000] ...1 157987.691756: tracing_mark_write: E
15501   SensorService-1249  ( 1136) [000] ...1 157987.691942: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15502  sensors@1.0-se-755   (  755) [004] ...1 157987.692517: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15503  sensors@1.0-se-755   (  755) [004] ...1 157987.711604: tracing_mark_write: E
15504   SensorService-1249  ( 1136) [000] ...1 157987.711803: tracing_mark_write: E
15505   SensorService-1249  ( 1136) [000] ...1 157987.711997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15506  sensors@1.0-se-755   (  755) [004] ...1 157987.712632: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15507  sensors@1.0-se-755   (  755) [004] ...1 157987.733188: tracing_mark_write: E
15508   SensorService-1249  ( 1136) [000] ...1 157987.733702: tracing_mark_write: E
15509   SensorService-1249  ( 1136) [000] ...1 157987.733939: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15510  sensors@1.0-se-755   (  755) [004] ...1 157987.734139: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15511  sensors@1.0-se-755   (  755) [004] ...1 157987.752268: tracing_mark_write: E
15512   SensorService-1249  ( 1136) [000] ...1 157987.752818: tracing_mark_write: E
15513   SensorService-1249  ( 1136) [000] ...1 157987.753019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15514  sensors@1.0-se-755   (  755) [004] ...1 157987.753235: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15515  sensors@1.0-se-755   (  755) [004] ...1 157987.771550: tracing_mark_write: E
15516   SensorService-1249  ( 1136) [000] ...1 157987.771733: tracing_mark_write: E
15517   SensorService-1249  ( 1136) [000] ...1 157987.771916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15518  sensors@1.0-se-755   (  755) [004] ...1 157987.772110: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15519  sensors@1.0-se-755   (  755) [004] ...1 157987.793097: tracing_mark_write: E
15520   SensorService-1249  ( 1136) [000] ...1 157987.793727: tracing_mark_write: E
15521   SensorService-1249  ( 1136) [000] ...1 157987.794109: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15522  sensors@1.0-se-755   (  755) [004] ...1 157987.796369: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15523  sensors@1.0-se-755   (  755) [004] ...1 157987.812891: tracing_mark_write: E
15524   SensorService-1249  ( 1136) [000] ...1 157987.813168: tracing_mark_write: E
15525   SensorService-1249  ( 1136) [000] ...1 157987.813386: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15526  sensors@1.0-se-755   (  755) [004] ...1 157987.814580: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15527  sensors@1.0-se-755   (  755) [004] ...1 157987.833336: tracing_mark_write: E
15528   SensorService-1249  ( 1136) [000] ...1 157987.833876: tracing_mark_write: E
15529   SensorService-1249  ( 1136) [000] ...1 157987.834067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15530  sensors@1.0-se-755   (  755) [004] ...1 157987.836096: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15531  sensors@1.0-se-755   (  755) [004] ...1 157987.852094: tracing_mark_write: E
15532   SensorService-1249  ( 1136) [000] ...1 157987.852326: tracing_mark_write: E
15533   SensorService-1249  ( 1136) [000] ...1 157987.852516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15534  sensors@1.0-se-755   (  755) [004] ...1 157987.853398: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15535  sensors@1.0-se-755   (  755) [004] ...1 157987.872315: tracing_mark_write: E
15536   SensorService-1249  ( 1136) [000] ...1 157987.872573: tracing_mark_write: E
15537   SensorService-1249  ( 1136) [000] ...1 157987.872756: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15538  sensors@1.0-se-755   (  755) [004] ...1 157987.874118: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15539  sensors@1.0-se-755   (  755) [004] ...1 157987.893434: tracing_mark_write: E
15540   SensorService-1249  ( 1136) [000] ...1 157987.893990: tracing_mark_write: E
15541   SensorService-1249  ( 1136) [000] ...1 157987.894271: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15542  sensors@1.0-se-755   (  755) [004] ...1 157987.896230: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15543  sensors@1.0-se-755   (  755) [004] ...1 157987.913527: tracing_mark_write: E
15544   SensorService-1249  ( 1136) [000] ...1 157987.913789: tracing_mark_write: E
15545   SensorService-1249  ( 1136) [000] ...1 157987.913972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15546  sensors@1.0-se-755   (  755) [004] ...1 157987.915237: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15547  sensors@1.0-se-755   (  755) [004] ...1 157987.933690: tracing_mark_write: E
15548   SensorService-1249  ( 1136) [000] ...1 157987.934092: tracing_mark_write: E
15549   SensorService-1249  ( 1136) [000] ...1 157987.934571: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15550  sensors@1.0-se-755   (  755) [004] ...1 157987.936774: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15551  sensors@1.0-se-755   (  755) [004] ...1 157987.953548: tracing_mark_write: E
15552   SensorService-1249  ( 1136) [000] ...1 157987.954122: tracing_mark_write: E
15553   SensorService-1249  ( 1136) [000] ...1 157987.954363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15554  sensors@1.0-se-755   (  755) [004] ...1 157987.955024: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15555  sensors@1.0-se-755   (  755) [004] ...1 157987.973029: tracing_mark_write: E
15556   SensorService-1249  ( 1136) [000] ...1 157987.973260: tracing_mark_write: E
15557   SensorService-1249  ( 1136) [000] ...1 157987.973427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15558  sensors@1.0-se-755   (  755) [004] ...1 157987.974731: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15559  sensors@1.0-se-755   (  755) [004] ...1 157987.992569: tracing_mark_write: E
15560   SensorService-1249  ( 1136) [000] ...1 157987.993124: tracing_mark_write: E
15561   SensorService-1249  ( 1136) [000] ...1 157987.993316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15562  sensors@1.0-se-755   (  755) [004] ...1 157987.994699: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15563  sensors@1.0-se-755   (  755) [004] ...1 157988.012864: tracing_mark_write: E
15564   SensorService-1249  ( 1136) [000] ...1 157988.013121: tracing_mark_write: E
15565   SensorService-1249  ( 1136) [000] ...1 157988.013301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15566  sensors@1.0-se-755   (  755) [004] ...1 157988.014002: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15567  sensors@1.0-se-755   (  755) [004] ...1 157988.032947: tracing_mark_write: E
15568   SensorService-1249  ( 1136) [000] ...1 157988.033490: tracing_mark_write: E
15569   SensorService-1249  ( 1136) [000] ...1 157988.033684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15570  sensors@1.0-se-755   (  755) [004] ...1 157988.035763: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15571  sensors@1.0-se-755   (  755) [004] ...1 157988.052672: tracing_mark_write: E
15572   SensorService-1249  ( 1136) [000] ...1 157988.052902: tracing_mark_write: E
15573   SensorService-1249  ( 1136) [000] ...1 157988.053058: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15574  sensors@1.0-se-755   (  755) [004] ...1 157988.054086: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15575  sensors@1.0-se-755   (  755) [004] ...1 157988.073039: tracing_mark_write: E
15576   SensorService-1249  ( 1136) [000] ...1 157988.073559: tracing_mark_write: E
15577   SensorService-1249  ( 1136) [000] ...1 157988.073752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15578  sensors@1.0-se-755   (  755) [004] ...1 157988.075148: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15579  sensors@1.0-se-755   (  755) [004] ...1 157988.091349: tracing_mark_write: E
15580   SensorService-1249  ( 1136) [000] ...1 157988.091564: tracing_mark_write: E
15581   SensorService-1249  ( 1136) [000] ...1 157988.091715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15582  sensors@1.0-se-755   (  755) [004] ...1 157988.092302: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15583  sensors@1.0-se-755   (  755) [004] ...1 157988.113346: tracing_mark_write: E
15584   SensorService-1249  ( 1136) [000] ...1 157988.113830: tracing_mark_write: E
15585   SensorService-1249  ( 1136) [000] ...1 157988.114013: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15586  sensors@1.0-se-755   (  755) [004] ...1 157988.114537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15587  sensors@1.0-se-755   (  755) [004] ...1 157988.131299: tracing_mark_write: E
15588   SensorService-1249  ( 1136) [000] ...1 157988.131487: tracing_mark_write: E
15589   SensorService-1249  ( 1136) [000] ...1 157988.131660: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15590  sensors@1.0-se-755   (  755) [004] ...1 157988.132261: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15591  sensors@1.0-se-755   (  755) [004] ...1 157988.152238: tracing_mark_write: E
15592   SensorService-1249  ( 1136) [000] ...1 157988.152454: tracing_mark_write: E
15593   SensorService-1249  ( 1136) [000] ...1 157988.152608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15594  sensors@1.0-se-755   (  755) [004] ...1 157988.153555: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15595  sensors@1.0-se-755   (  755) [004] ...1 157988.173017: tracing_mark_write: E
15596   SensorService-1249  ( 1136) [000] ...1 157988.173792: tracing_mark_write: E
15597   SensorService-1249  ( 1136) [000] ...1 157988.174003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15598  sensors@1.0-se-755   (  755) [004] ...1 157988.176032: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15599  sensors@1.0-se-755   (  755) [004] ...1 157988.192914: tracing_mark_write: E
15600   SensorService-1249  ( 1136) [000] ...1 157988.193510: tracing_mark_write: E
15601   SensorService-1249  ( 1136) [000] ...1 157988.193857: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15602  sensors@1.0-se-755   (  755) [004] ...1 157988.195646: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15603  sensors@1.0-se-755   (  755) [004] ...1 157988.213133: tracing_mark_write: E
15604   SensorService-1249  ( 1136) [000] ...1 157988.213610: tracing_mark_write: E
15605   SensorService-1249  ( 1136) [000] ...1 157988.213812: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15606  sensors@1.0-se-755   (  755) [004] ...1 157988.214875: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15607  sensors@1.0-se-755   (  755) [004] ...1 157988.233797: tracing_mark_write: E
15608   SensorService-1249  ( 1136) [000] ...1 157988.234088: tracing_mark_write: E
15609   SensorService-1249  ( 1136) [000] ...1 157988.234376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15610  sensors@1.0-se-755   (  755) [004] ...1 157988.235512: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15611  sensors@1.0-se-755   (  755) [004] ...1 157988.252590: tracing_mark_write: E
15612   SensorService-1249  ( 1136) [000] ...1 157988.252821: tracing_mark_write: E
15613   SensorService-1249  ( 1136) [000] ...1 157988.253004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15614  sensors@1.0-se-755   (  755) [004] ...1 157988.253895: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15615  sensors@1.0-se-755   (  755) [004] ...1 157988.272339: tracing_mark_write: E
15616   SensorService-1249  ( 1136) [000] ...1 157988.272570: tracing_mark_write: E
15617   SensorService-1249  ( 1136) [000] ...1 157988.272726: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15618  sensors@1.0-se-755   (  755) [004] ...1 157988.273615: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15619  sensors@1.0-se-755   (  755) [004] ...1 157988.292766: tracing_mark_write: E
15620   SensorService-1249  ( 1136) [000] ...1 157988.293150: tracing_mark_write: E
15621   SensorService-1249  ( 1136) [000] ...1 157988.293281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15622  sensors@1.0-se-755   (  755) [004] ...1 157988.293980: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15623  sensors@1.0-se-755   (  755) [004] ...1 157988.311911: tracing_mark_write: E
15624   SensorService-1249  ( 1136) [000] ...1 157988.312339: tracing_mark_write: E
15625   SensorService-1249  ( 1136) [000] ...1 157988.312490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15626  sensors@1.0-se-755   (  755) [004] ...1 157988.312976: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15627  sensors@1.0-se-755   (  755) [004] ...1 157988.333892: tracing_mark_write: E
15628   SensorService-1249  ( 1136) [000] ...1 157988.334364: tracing_mark_write: E
15629   SensorService-1249  ( 1136) [000] ...1 157988.334613: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15630  sensors@1.0-se-755   (  755) [004] ...1 157988.336810: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15631  sensors@1.0-se-755   (  755) [004] ...1 157988.353202: tracing_mark_write: E
15632   SensorService-1249  ( 1136) [000] ...1 157988.353466: tracing_mark_write: E
15633   SensorService-1249  ( 1136) [000] ...1 157988.353694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15634  sensors@1.0-se-755   (  755) [004] ...1 157988.354433: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15635  sensors@1.0-se-755   (  755) [004] ...1 157988.372752: tracing_mark_write: E
15636   SensorService-1249  ( 1136) [000] ...1 157988.373216: tracing_mark_write: E
15637   SensorService-1249  ( 1136) [000] ...1 157988.373415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15638  sensors@1.0-se-755   (  755) [004] ...1 157988.374031: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15639  sensors@1.0-se-755   (  755) [004] ...1 157988.394340: tracing_mark_write: E
15640   SensorService-1249  ( 1136) [000] ...1 157988.394632: tracing_mark_write: E
15641   SensorService-1249  ( 1136) [000] ...1 157988.394895: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15642  sensors@1.0-se-755   (  755) [004] ...1 157988.395545: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15643  sensors@1.0-se-755   (  755) [004] ...1 157988.412799: tracing_mark_write: E
15644   SensorService-1249  ( 1136) [000] ...1 157988.413030: tracing_mark_write: E
15645   SensorService-1249  ( 1136) [000] ...1 157988.413267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15646  sensors@1.0-se-755   (  755) [004] ...1 157988.413931: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15647  sensors@1.0-se-755   (  755) [004] ...1 157988.433369: tracing_mark_write: E
15648   SensorService-1249  ( 1136) [000] ...1 157988.433605: tracing_mark_write: E
15649   SensorService-1249  ( 1136) [000] ...1 157988.433786: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15650  sensors@1.0-se-755   (  755) [004] ...1 157988.434567: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15651  sensors@1.0-se-755   (  755) [006] ...1 157988.460065: tracing_mark_write: E
15652   SensorService-1249  ( 1136) [000] ...1 157988.462118: tracing_mark_write: E
15653   SensorService-1249  ( 1136) [000] ...1 157988.462443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15654  sensors@1.0-se-755   (  755) [006] ...1 157988.464144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15655  sensors@1.0-se-755   (  755) [006] ...1 157988.473451: tracing_mark_write: E
15656   SensorService-1249  ( 1136) [000] ...1 157988.473750: tracing_mark_write: E
15657   SensorService-1249  ( 1136) [000] ...1 157988.473990: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15658  sensors@1.0-se-755   (  755) [006] ...1 157988.474671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15659  sensors@1.0-se-755   (  755) [006] ...1 157988.493328: tracing_mark_write: E
15660   SensorService-1249  ( 1136) [000] ...1 157988.493516: tracing_mark_write: E
15661   SensorService-1249  ( 1136) [000] ...1 157988.493713: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15662  sensors@1.0-se-755   (  755) [006] ...1 157988.494349: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15663  sensors@1.0-se-755   (  755) [004] ...1 157988.513731: tracing_mark_write: E
15664   SensorService-1249  ( 1136) [000] ...1 157988.514336: tracing_mark_write: E
15665   SensorService-1249  ( 1136) [000] ...1 157988.514521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15666  sensors@1.0-se-755   (  755) [004] ...1 157988.516514: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15667  sensors@1.0-se-755   (  755) [004] ...1 157988.532756: tracing_mark_write: E
15668   SensorService-1249  ( 1136) [000] ...1 157988.533230: tracing_mark_write: E
15669   SensorService-1249  ( 1136) [000] ...1 157988.533397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15670  sensors@1.0-se-755   (  755) [004] ...1 157988.535260: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15671  sensors@1.0-se-755   (  755) [004] ...1 157988.553245: tracing_mark_write: E
15672   SensorService-1249  ( 1136) [000] ...1 157988.553800: tracing_mark_write: E
15673   SensorService-1249  ( 1136) [000] ...1 157988.553989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15674  sensors@1.0-se-755   (  755) [004] ...1 157988.555747: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15675  sensors@1.0-se-755   (  755) [004] ...1 157988.573635: tracing_mark_write: E
15676   SensorService-1249  ( 1136) [000] ...1 157988.573876: tracing_mark_write: E
15677   SensorService-1249  ( 1136) [000] ...1 157988.574056: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15678  sensors@1.0-se-755   (  755) [004] ...1 157988.574966: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15679  sensors@1.0-se-755   (  755) [004] ...1 157988.592678: tracing_mark_write: E
15680   SensorService-1249  ( 1136) [000] ...1 157988.592907: tracing_mark_write: E
15681   SensorService-1249  ( 1136) [000] ...1 157988.593114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15682  sensors@1.0-se-755   (  755) [004] ...1 157988.593757: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15683  sensors@1.0-se-755   (  755) [004] ...1 157988.615733: tracing_mark_write: E
15684   SensorService-1249  ( 1136) [000] ...1 157988.617770: tracing_mark_write: E
15685   SensorService-1249  ( 1136) [000] ...1 157988.618038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15686  sensors@1.0-se-755   (  755) [004] ...1 157988.619608: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15687  sensors@1.0-se-755   (  755) [004] ...1 157988.633293: tracing_mark_write: E
15688   SensorService-1249  ( 1136) [000] ...1 157988.633544: tracing_mark_write: E
15689   SensorService-1249  ( 1136) [000] ...1 157988.633699: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15690  sensors@1.0-se-755   (  755) [004] ...1 157988.634182: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15691  sensors@1.0-se-755   (  755) [004] ...1 157988.653182: tracing_mark_write: E
15692   SensorService-1249  ( 1136) [000] ...1 157988.653446: tracing_mark_write: E
15693   SensorService-1249  ( 1136) [000] ...1 157988.653642: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15694  sensors@1.0-se-755   (  755) [004] ...1 157988.655147: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15695  sensors@1.0-se-755   (  755) [004] ...1 157988.675534: tracing_mark_write: E
15696   SensorService-1249  ( 1136) [000] ...1 157988.677367: tracing_mark_write: E
15697   SensorService-1249  ( 1136) [000] ...1 157988.677837: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15698  sensors@1.0-se-755   (  755) [004] ...1 157988.678467: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15699  sensors@1.0-se-755   (  755) [004] ...1 157988.693203: tracing_mark_write: E
15700   SensorService-1249  ( 1136) [000] ...1 157988.693752: tracing_mark_write: E
15701   SensorService-1249  ( 1136) [000] ...1 157988.693962: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15702  sensors@1.0-se-755   (  755) [004] ...1 157988.695977: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15703  sensors@1.0-se-755   (  755) [004] ...1 157988.713256: tracing_mark_write: E
15704   SensorService-1249  ( 1136) [000] ...1 157988.713519: tracing_mark_write: E
15705   SensorService-1249  ( 1136) [000] ...1 157988.713717: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15706  sensors@1.0-se-755   (  755) [004] ...1 157988.714387: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15707  sensors@1.0-se-755   (  755) [004] ...1 157988.733873: tracing_mark_write: E
15708   SensorService-1249  ( 1136) [000] ...1 157988.734145: tracing_mark_write: E
15709   SensorService-1249  ( 1136) [000] ...1 157988.734422: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15710  sensors@1.0-se-755   (  755) [004] ...1 157988.735665: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15711  sensors@1.0-se-755   (  755) [004] ...1 157988.755298: tracing_mark_write: E
15712   SensorService-1249  ( 1136) [000] ...1 157988.757496: tracing_mark_write: E
15713   SensorService-1249  ( 1136) [000] ...1 157988.758370: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15714  sensors@1.0-se-755   (  755) [004] ...1 157988.760239: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15715  sensors@1.0-se-755   (  755) [004] ...1 157988.773516: tracing_mark_write: E
15716   SensorService-1249  ( 1136) [000] ...1 157988.773796: tracing_mark_write: E
15717   SensorService-1249  ( 1136) [000] ...1 157988.773980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15718  HwBinder:755_1-1247  (  755) [001] ...1 157988.774509: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15719  HwBinder:755_1-1247  (  755) [001] ...1 157988.793524: tracing_mark_write: E
15720   SensorService-1249  ( 1136) [000] ...1 157988.794031: tracing_mark_write: E
15721   SensorService-1249  ( 1136) [000] ...1 157988.794340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15722  HwBinder:755_1-1247  (  755) [001] ...1 157988.794718: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15723  HwBinder:755_1-1247  (  755) [001] ...1 157988.814366: tracing_mark_write: E
15724   SensorService-1249  ( 1136) [000] ...1 157988.814817: tracing_mark_write: E
15725   SensorService-1249  ( 1136) [000] ...1 157988.815227: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15726  HwBinder:755_1-1247  (  755) [001] ...1 157988.815876: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15727  HwBinder:755_1-1247  (  755) [001] ...1 157988.832306: tracing_mark_write: E
15728   SensorService-1249  ( 1136) [000] ...1 157988.832507: tracing_mark_write: E
15729   SensorService-1249  ( 1136) [000] ...1 157988.832711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15730  HwBinder:755_1-1247  (  755) [001] ...1 157988.833251: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15731  HwBinder:755_1-1247  (  755) [000] ...1 157988.854428: tracing_mark_write: E
15732   SensorService-1249  ( 1136) [001] ...1 157988.855194: tracing_mark_write: E
15733   SensorService-1249  ( 1136) [001] ...1 157988.855569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15734  HwBinder:755_1-1247  (  755) [000] ...1 157988.856090: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15735  HwBinder:755_1-1247  (  755) [002] ...1 157988.872070: tracing_mark_write: E
15736   SensorService-1249  ( 1136) [001] ...1 157988.872225: tracing_mark_write: E
15737   SensorService-1249  ( 1136) [001] ...1 157988.872403: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15738  HwBinder:755_1-1247  (  755) [002] ...1 157988.872751: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15739  HwBinder:755_1-1247  (  755) [000] ...1 157988.898857: tracing_mark_write: E
15740   SensorService-1249  ( 1136) [001] ...1 157988.899465: tracing_mark_write: E
15741   SensorService-1249  ( 1136) [001] ...1 157988.899679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15742  HwBinder:755_1-1247  (  755) [000] ...1 157988.899954: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15743  HwBinder:755_1-1247  (  755) [001] ...1 157988.912382: tracing_mark_write: E
15744   SensorService-1249  ( 1136) [000] ...1 157988.912841: tracing_mark_write: E
15745   SensorService-1249  ( 1136) [000] ...1 157988.913009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15746  HwBinder:755_1-1247  (  755) [001] ...1 157988.913340: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15747  HwBinder:755_1-1247  (  755) [001] ...1 157988.932924: tracing_mark_write: E
15748   SensorService-1249  ( 1136) [002] ...1 157988.933138: tracing_mark_write: E
15749   SensorService-1249  ( 1136) [002] ...1 157988.933308: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15750  HwBinder:755_1-1247  (  755) [001] ...1 157988.933423: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15751  HwBinder:755_1-1247  (  755) [001] ...1 157988.952514: tracing_mark_write: E
15752   SensorService-1249  ( 1136) [002] ...1 157988.952852: tracing_mark_write: E
15753   SensorService-1249  ( 1136) [002] ...1 157988.953064: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15754  HwBinder:755_1-1247  (  755) [001] ...1 157988.953193: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15755  HwBinder:755_1-1247  (  755) [000] ...1 157988.973284: tracing_mark_write: E
15756   SensorService-1249  ( 1136) [002] ...1 157988.973878: tracing_mark_write: E
15757   SensorService-1249  ( 1136) [002] ...1 157988.974128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15758  HwBinder:755_1-1247  (  755) [000] ...1 157988.974588: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15759  HwBinder:755_1-1247  (  755) [001] ...1 157988.992761: tracing_mark_write: E
15760   SensorService-1249  ( 1136) [002] ...1 157988.993051: tracing_mark_write: E
15761   SensorService-1249  ( 1136) [002] ...1 157988.993328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15762  HwBinder:755_1-1247  (  755) [001] ...1 157988.993483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15763  HwBinder:755_1-1247  (  755) [000] ...1 157989.015901: tracing_mark_write: E
15764   SensorService-1249  ( 1136) [002] ...1 157989.016544: tracing_mark_write: E
15765   SensorService-1249  ( 1136) [002] ...1 157989.016865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15766  HwBinder:755_1-1247  (  755) [000] ...1 157989.017352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15767  HwBinder:755_1-1247  (  755) [001] ...1 157989.033448: tracing_mark_write: E
15768   SensorService-1249  ( 1136) [002] ...1 157989.034002: tracing_mark_write: E
15769   SensorService-1249  ( 1136) [002] ...1 157989.034244: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15770  HwBinder:755_1-1247  (  755) [001] ...1 157989.034386: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15771  HwBinder:755_1-1247  (  755) [000] ...1 157989.053718: tracing_mark_write: E
15772   SensorService-1249  ( 1136) [002] ...1 157989.054399: tracing_mark_write: E
15773   SensorService-1249  ( 1136) [002] ...1 157989.054760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15774  HwBinder:755_1-1247  (  755) [000] ...1 157989.055268: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15775  HwBinder:755_1-1247  (  755) [001] ...1 157989.073340: tracing_mark_write: E
15776   SensorService-1249  ( 1136) [002] ...1 157989.073553: tracing_mark_write: E
15777   SensorService-1249  ( 1136) [002] ...1 157989.073757: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15778  HwBinder:755_1-1247  (  755) [001] ...1 157989.074262: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15779  HwBinder:755_1-1247  (  755) [001] ...1 157989.093732: tracing_mark_write: E
15780   SensorService-1249  ( 1136) [002] ...1 157989.094345: tracing_mark_write: E
15781   SensorService-1249  ( 1136) [002] ...1 157989.094681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15782  HwBinder:755_1-1247  (  755) [001] ...1 157989.094894: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15783  HwBinder:755_1-1247  (  755) [001] ...1 157989.113059: tracing_mark_write: E
15784   SensorService-1249  ( 1136) [002] ...1 157989.113286: tracing_mark_write: E
15785   SensorService-1249  ( 1136) [002] ...1 157989.113483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15786  HwBinder:755_1-1247  (  755) [001] ...1 157989.113865: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15787  HwBinder:755_1-1247  (  755) [001] ...1 157989.132601: tracing_mark_write: E
15788   SensorService-1249  ( 1136) [002] ...1 157989.132778: tracing_mark_write: E
15789   SensorService-1249  ( 1136) [002] ...1 157989.132944: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15790  HwBinder:755_1-1247  (  755) [001] ...1 157989.133050: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15791  HwBinder:755_1-1247  (  755) [000] ...1 157989.155087: tracing_mark_write: E
15792   SensorService-1249  ( 1136) [002] ...1 157989.155260: tracing_mark_write: E
15793   SensorService-1249  ( 1136) [002] ...1 157989.155410: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15794  HwBinder:755_1-1247  (  755) [000] ...1 157989.155630: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15795  HwBinder:755_1-1247  (  755) [000] ...1 157989.172107: tracing_mark_write: E
15796   SensorService-1249  ( 1136) [002] ...1 157989.172228: tracing_mark_write: E
15797   SensorService-1249  ( 1136) [002] ...1 157989.172357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15798  HwBinder:755_1-1247  (  755) [000] ...1 157989.172554: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15799  HwBinder:755_1-1247  (  755) [000] ...1 157989.193685: tracing_mark_write: E
15800   SensorService-1249  ( 1136) [002] ...1 157989.194073: tracing_mark_write: E
15801   SensorService-1249  ( 1136) [002] ...1 157989.194360: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15802  HwBinder:755_1-1247  (  755) [000] ...1 157989.194734: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15803  HwBinder:755_1-1247  (  755) [000] ...1 157989.213525: tracing_mark_write: E
15804   SensorService-1249  ( 1136) [002] ...1 157989.214137: tracing_mark_write: E
15805   SensorService-1249  ( 1136) [002] ...1 157989.214464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15806  HwBinder:755_1-1247  (  755) [000] ...1 157989.214607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15807  HwBinder:755_1-1247  (  755) [002] ...1 157989.233068: tracing_mark_write: E
15808   SensorService-1249  ( 1136) [000] ...1 157989.233281: tracing_mark_write: E
15809   SensorService-1249  ( 1136) [000] ...1 157989.233484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15810  HwBinder:755_1-1247  (  755) [002] ...1 157989.234007: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15811  HwBinder:755_1-1247  (  755) [000] ...1 157989.256807: tracing_mark_write: E
15812   SensorService-1249  ( 1136) [001] ...1 157989.257387: tracing_mark_write: E
15813   SensorService-1249  ( 1136) [001] ...1 157989.257718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15814  HwBinder:755_1-1247  (  755) [000] ...1 157989.258234: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15815  HwBinder:755_1-1247  (  755) [000] ...1 157989.274723: tracing_mark_write: E
15816   SensorService-1249  ( 1136) [001] ...1 157989.275072: tracing_mark_write: E
15817   SensorService-1249  ( 1136) [001] ...1 157989.275270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15818  HwBinder:755_1-1247  (  755) [000] ...1 157989.275713: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15819  HwBinder:755_1-1247  (  755) [000] ...1 157989.299044: tracing_mark_write: E
15820   SensorService-1249  ( 1136) [001] ...1 157989.299288: tracing_mark_write: E
15821   SensorService-1249  ( 1136) [001] ...1 157989.299480: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15822  HwBinder:755_1-1247  (  755) [000] ...1 157989.299956: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15823  HwBinder:755_1-1247  (  755) [000] ...1 157989.314850: tracing_mark_write: E
15824   SensorService-1249  ( 1136) [001] ...1 157989.315043: tracing_mark_write: E
15825   SensorService-1249  ( 1136) [001] ...1 157989.315233: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15826  HwBinder:755_1-1247  (  755) [000] ...1 157989.315626: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15827  HwBinder:755_1-1247  (  755) [000] ...1 157989.339142: tracing_mark_write: E
15828   SensorService-1249  ( 1136) [001] ...1 157989.339713: tracing_mark_write: E
15829   SensorService-1249  ( 1136) [001] ...1 157989.339956: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15830  HwBinder:755_1-1247  (  755) [000] ...1 157989.340389: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15831  HwBinder:755_1-1247  (  755) [001] ...1 157989.354555: tracing_mark_write: E
15832   SensorService-1249  ( 1136) [002] ...1 157989.355152: tracing_mark_write: E
15833   SensorService-1249  ( 1136) [002] ...1 157989.355351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15834  HwBinder:755_1-1247  (  755) [001] ...1 157989.355642: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15835  HwBinder:755_1-1247  (  755) [001] ...1 157989.379625: tracing_mark_write: E
15836   SensorService-1249  ( 1136) [002] ...1 157989.380258: tracing_mark_write: E
15837   SensorService-1249  ( 1136) [002] ...1 157989.380475: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15838  HwBinder:755_1-1247  (  755) [001] ...1 157989.380801: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15839  HwBinder:755_1-1247  (  755) [002] ...1 157989.393629: tracing_mark_write: E
15840   SensorService-1249  ( 1136) [000] ...1 157989.393791: tracing_mark_write: E
15841   SensorService-1249  ( 1136) [000] ...1 157989.393958: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15842  HwBinder:755_1-1247  (  755) [002] ...1 157989.394302: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15843  HwBinder:755_1-1247  (  755) [000] ...1 157989.414624: tracing_mark_write: E
15844   SensorService-1249  ( 1136) [001] ...1 157989.415153: tracing_mark_write: E
15845   SensorService-1249  ( 1136) [001] ...1 157989.415392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15846  HwBinder:755_1-1247  (  755) [000] ...1 157989.415535: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15847  HwBinder:755_1-1247  (  755) [000] ...1 157989.434746: tracing_mark_write: E
15848   SensorService-1249  ( 1136) [001] ...1 157989.435304: tracing_mark_write: E
15849   SensorService-1249  ( 1136) [001] ...1 157989.435499: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15850  HwBinder:755_1-1247  (  755) [000] ...1 157989.435613: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15851  HwBinder:755_1-1247  (  755) [000] ...1 157989.458738: tracing_mark_write: E
15852   SensorService-1249  ( 1136) [001] ...1 157989.459486: tracing_mark_write: E
15853   SensorService-1249  ( 1136) [001] ...1 157989.459868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15854  HwBinder:755_1-1247  (  755) [000] ...1 157989.460403: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15855  HwBinder:755_1-1247  (  755) [000] ...1 157989.474532: tracing_mark_write: E
15856   SensorService-1249  ( 1136) [001] ...1 157989.474918: tracing_mark_write: E
15857   SensorService-1249  ( 1136) [001] ...1 157989.475124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15858  HwBinder:755_1-1247  (  755) [000] ...1 157989.475455: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15859  HwBinder:755_1-1247  (  755) [000] ...1 157989.496849: tracing_mark_write: E
15860   SensorService-1249  ( 1136) [001] ...1 157989.497629: tracing_mark_write: E
15861   SensorService-1249  ( 1136) [001] ...1 157989.497854: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15862  HwBinder:755_1-1247  (  755) [000] ...1 157989.498262: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15863  HwBinder:755_1-1247  (  755) [001] ...1 157989.515870: tracing_mark_write: E
15864   SensorService-1249  ( 1136) [006] ...1 157989.517854: tracing_mark_write: E
15865   SensorService-1249  ( 1136) [006] ...1 157989.518191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15866  HwBinder:755_1-1247  (  755) [001] ...1 157989.518455: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15867  HwBinder:755_1-1247  (  755) [003] ...1 157989.534584: tracing_mark_write: E
15868   SensorService-1249  ( 1136) [006] ...1 157989.535947: tracing_mark_write: E
15869   SensorService-1249  ( 1136) [006] ...1 157989.536218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15870  HwBinder:755_1-1247  (  755) [003] ...1 157989.536448: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15871  HwBinder:755_1-1247  (  755) [001] ...1 157989.555550: tracing_mark_write: E
15872   SensorService-1249  ( 1136) [006] ...1 157989.557463: tracing_mark_write: E
15873   SensorService-1249  ( 1136) [006] ...1 157989.558026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15874  HwBinder:755_1-1247  (  755) [001] ...1 157989.558391: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15875  HwBinder:755_1-1247  (  755) [002] ...1 157989.573411: tracing_mark_write: E
15876   SensorService-1249  ( 1136) [006] ...1 157989.575183: tracing_mark_write: E
15877   SensorService-1249  ( 1136) [006] ...1 157989.575570: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15878  HwBinder:755_1-1247  (  755) [002] ...1 157989.575900: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15879  HwBinder:755_1-1247  (  755) [001] ...1 157989.593436: tracing_mark_write: E
15880   SensorService-1249  ( 1136) [006] ...1 157989.595055: tracing_mark_write: E
15881   SensorService-1249  ( 1136) [006] ...1 157989.595509: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15882  HwBinder:755_1-1247  (  755) [001] ...1 157989.595932: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15883  HwBinder:755_1-1247  (  755) [001] ...1 157989.613530: tracing_mark_write: E
15884   SensorService-1249  ( 1136) [006] ...1 157989.615165: tracing_mark_write: E
15885   SensorService-1249  ( 1136) [006] ...1 157989.615496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15886  HwBinder:755_1-1247  (  755) [001] ...1 157989.615750: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15887  HwBinder:755_1-1247  (  755) [001] ...1 157989.633479: tracing_mark_write: E
15888   SensorService-1249  ( 1136) [006] ...1 157989.635072: tracing_mark_write: E
15889   SensorService-1249  ( 1136) [006] ...1 157989.635490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15890  HwBinder:755_1-1247  (  755) [001] ...1 157989.635970: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15891  HwBinder:755_1-1247  (  755) [001] ...1 157989.653202: tracing_mark_write: E
15892   SensorService-1249  ( 1136) [006] ...1 157989.654734: tracing_mark_write: E
15893   SensorService-1249  ( 1136) [006] ...1 157989.655026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15894  HwBinder:755_1-1247  (  755) [001] ...1 157989.655447: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15895  HwBinder:755_1-1247  (  755) [001] ...1 157989.673324: tracing_mark_write: E
15896   SensorService-1249  ( 1136) [006] ...1 157989.674083: tracing_mark_write: E
15897   SensorService-1249  ( 1136) [006] ...1 157989.674491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15898  HwBinder:755_1-1247  (  755) [001] ...1 157989.676129: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15899  HwBinder:755_1-1247  (  755) [001] ...1 157989.693291: tracing_mark_write: E
15900   SensorService-1249  ( 1136) [006] ...1 157989.693755: tracing_mark_write: E
15901   SensorService-1249  ( 1136) [006] ...1 157989.693932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15902  HwBinder:755_1-1247  (  755) [001] ...1 157989.694349: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15903  HwBinder:755_1-1247  (  755) [001] ...1 157989.714176: tracing_mark_write: E
15904   SensorService-1249  ( 1136) [006] ...1 157989.716379: tracing_mark_write: E
15905   SensorService-1249  ( 1136) [006] ...1 157989.716664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15906  HwBinder:755_1-1247  (  755) [001] ...1 157989.717184: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15907  HwBinder:755_1-1247  (  755) [001] ...1 157989.733801: tracing_mark_write: E
15908   SensorService-1249  ( 1136) [006] ...1 157989.734532: tracing_mark_write: E
15909   SensorService-1249  ( 1136) [006] ...1 157989.734844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15910  HwBinder:755_1-1247  (  755) [001] ...1 157989.735476: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15911  HwBinder:755_1-1247  (  755) [001] ...1 157989.752773: tracing_mark_write: E
15912   SensorService-1249  ( 1136) [006] ...1 157989.753208: tracing_mark_write: E
15913   SensorService-1249  ( 1136) [006] ...1 157989.753377: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15914  HwBinder:755_1-1247  (  755) [001] ...1 157989.753841: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15915  HwBinder:755_1-1247  (  755) [001] ...1 157989.775017: tracing_mark_write: E
15916   SensorService-1249  ( 1136) [006] ...1 157989.776674: tracing_mark_write: E
15917   SensorService-1249  ( 1136) [006] ...1 157989.776945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15918  HwBinder:755_1-1247  (  755) [001] ...1 157989.777615: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15919  HwBinder:755_1-1247  (  755) [001] ...1 157989.794310: tracing_mark_write: E
15920   SensorService-1249  ( 1136) [006] ...1 157989.795435: tracing_mark_write: E
15921   SensorService-1249  ( 1136) [006] ...1 157989.795813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15922  HwBinder:755_1-1247  (  755) [001] ...1 157989.796446: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15923  HwBinder:755_1-1247  (  755) [001] ...1 157989.816075: tracing_mark_write: E
15924   SensorService-1249  ( 1136) [006] ...1 157989.817811: tracing_mark_write: E
15925   SensorService-1249  ( 1136) [006] ...1 157989.818107: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15926  HwBinder:755_1-1247  (  755) [001] ...1 157989.818740: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15927  HwBinder:755_1-1247  (  755) [001] ...1 157989.833412: tracing_mark_write: E
15928   SensorService-1249  ( 1136) [006] ...1 157989.834057: tracing_mark_write: E
15929   SensorService-1249  ( 1136) [006] ...1 157989.834368: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15930  HwBinder:755_1-1247  (  755) [001] ...1 157989.834774: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15931  HwBinder:755_1-1247  (  755) [001] ...1 157989.855266: tracing_mark_write: E
15932   SensorService-1249  ( 1136) [006] ...1 157989.856012: tracing_mark_write: E
15933   SensorService-1249  ( 1136) [006] ...1 157989.856278: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15934  HwBinder:755_1-1247  (  755) [001] ...1 157989.856784: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15935  HwBinder:755_1-1247  (  755) [001] ...1 157989.873383: tracing_mark_write: E
15936   SensorService-1249  ( 1136) [006] ...1 157989.875005: tracing_mark_write: E
15937   SensorService-1249  ( 1136) [006] ...1 157989.875269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15938  HwBinder:755_1-1247  (  755) [001] ...1 157989.875868: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15939  HwBinder:755_1-1247  (  755) [001] ...1 157989.894106: tracing_mark_write: E
15940   SensorService-1249  ( 1136) [006] ...1 157989.896011: tracing_mark_write: E
15941   SensorService-1249  ( 1136) [006] ...1 157989.896402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15942  HwBinder:755_1-1247  (  755) [001] ...1 157989.897123: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15943  HwBinder:755_1-1247  (  755) [001] ...1 157989.914337: tracing_mark_write: E
15944   SensorService-1249  ( 1136) [006] ...1 157989.915970: tracing_mark_write: E
15945   SensorService-1249  ( 1136) [006] ...1 157989.916298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15946  HwBinder:755_1-1247  (  755) [001] ...1 157989.916843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15947  HwBinder:755_1-1247  (  755) [001] ...1 157989.933163: tracing_mark_write: E
15948   SensorService-1249  ( 1136) [006] ...1 157989.933978: tracing_mark_write: E
15949   SensorService-1249  ( 1136) [006] ...1 157989.934292: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15950  HwBinder:755_1-1247  (  755) [001] ...1 157989.934694: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15951  HwBinder:755_1-1247  (  755) [002] ...1 157989.954355: tracing_mark_write: E
15952   SensorService-1249  ( 1136) [006] ...1 157989.956175: tracing_mark_write: E
15953   SensorService-1249  ( 1136) [006] ...1 157989.956481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15954  HwBinder:755_1-1247  (  755) [002] ...1 157989.956711: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15955  HwBinder:755_1-1247  (  755) [002] ...1 157989.973678: tracing_mark_write: E
15956   SensorService-1249  ( 1136) [006] ...1 157989.973895: tracing_mark_write: E
15957   SensorService-1249  ( 1136) [006] ...1 157989.974137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15958  HwBinder:755_1-1247  (  755) [002] ...1 157989.974401: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15959  HwBinder:755_1-1247  (  755) [001] ...1 157989.994023: tracing_mark_write: E
15960   SensorService-1249  ( 1136) [006] ...1 157989.995585: tracing_mark_write: E
15961   SensorService-1249  ( 1136) [006] ...1 157989.995890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15962  HwBinder:755_1-1247  (  755) [001] ...1 157989.996378: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15963  HwBinder:755_1-1247  (  755) [002] ...1 157990.013411: tracing_mark_write: E
15964   SensorService-1249  ( 1136) [006] ...1 157990.015067: tracing_mark_write: E
15965   SensorService-1249  ( 1136) [006] ...1 157990.015396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15966  HwBinder:755_1-1247  (  755) [002] ...1 157990.015652: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15967  HwBinder:755_1-1247  (  755) [001] ...1 157990.033391: tracing_mark_write: E
15968   SensorService-1249  ( 1136) [006] ...1 157990.034936: tracing_mark_write: E
15969   SensorService-1249  ( 1136) [006] ...1 157990.035224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15970  HwBinder:755_1-1247  (  755) [001] ...1 157990.035667: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15971  HwBinder:755_1-1247  (  755) [002] ...1 157990.053984: tracing_mark_write: E
15972   SensorService-1249  ( 1136) [006] ...1 157990.054699: tracing_mark_write: E
15973   SensorService-1249  ( 1136) [006] ...1 157990.055015: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15974  HwBinder:755_1-1247  (  755) [002] ...1 157990.055219: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15975  HwBinder:755_1-1247  (  755) [003] ...1 157990.073980: tracing_mark_write: E
15976   SensorService-1249  ( 1136) [006] ...1 157990.074591: tracing_mark_write: E
15977   SensorService-1249  ( 1136) [006] ...1 157990.074841: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15978  HwBinder:755_1-1247  (  755) [003] ...1 157990.075297: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15979  HwBinder:755_1-1247  (  755) [001] ...1 157990.094362: tracing_mark_write: E
15980   SensorService-1249  ( 1136) [006] ...1 157990.094736: tracing_mark_write: E
15981   SensorService-1249  ( 1136) [006] ...1 157990.095037: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15982  HwBinder:755_1-1247  (  755) [001] ...1 157990.095502: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15983  HwBinder:755_1-1247  (  755) [002] ...1 157990.114026: tracing_mark_write: E
15984   SensorService-1249  ( 1136) [006] ...1 157990.114854: tracing_mark_write: E
15985   SensorService-1249  ( 1136) [006] ...1 157990.115131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15986  HwBinder:755_1-1247  (  755) [002] ...1 157990.115332: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15987  HwBinder:755_1-1247  (  755) [002] ...1 157990.133381: tracing_mark_write: E
15988   SensorService-1249  ( 1136) [006] ...1 157990.135008: tracing_mark_write: E
15989   SensorService-1249  ( 1136) [006] ...1 157990.135242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15990  HwBinder:755_1-1247  (  755) [002] ...1 157990.135679: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15991  HwBinder:755_1-1247  (  755) [003] ...1 157990.153865: tracing_mark_write: E
15992   SensorService-1249  ( 1136) [006] ...1 157990.155101: tracing_mark_write: E
15993   SensorService-1249  ( 1136) [006] ...1 157990.155348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15994  HwBinder:755_1-1247  (  755) [003] ...1 157990.155516: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15995  HwBinder:755_1-1247  (  755) [002] ...1 157990.173363: tracing_mark_write: E
15996   SensorService-1249  ( 1136) [006] ...1 157990.174181: tracing_mark_write: E
15997   SensorService-1249  ( 1136) [006] ...1 157990.174542: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
15998  HwBinder:755_1-1247  (  755) [002] ...1 157990.175053: tracing_mark_write: B|755|HIDL::ISensors::poll::server
15999  HwBinder:755_1-1247  (  755) [000] ...1 157990.194363: tracing_mark_write: E
16000   SensorService-1249  ( 1136) [006] ...1 157990.194645: tracing_mark_write: E
16001   SensorService-1249  ( 1136) [006] ...1 157990.194921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16002  HwBinder:755_1-1247  (  755) [000] ...1 157990.195394: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16003  HwBinder:755_1-1247  (  755) [000] ...1 157990.214647: tracing_mark_write: E
16004   SensorService-1249  ( 1136) [006] ...1 157990.216629: tracing_mark_write: E
16005   SensorService-1249  ( 1136) [006] ...1 157990.217131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16006  HwBinder:755_1-1247  (  755) [000] ...1 157990.218930: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16007  HwBinder:755_1-1247  (  755) [001] ...1 157990.233385: tracing_mark_write: E
16008   SensorService-1249  ( 1136) [006] ...1 157990.234699: tracing_mark_write: E
16009   SensorService-1249  ( 1136) [006] ...1 157990.234964: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16010  HwBinder:755_1-1247  (  755) [001] ...1 157990.235352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16011  HwBinder:755_1-1247  (  755) [001] ...1 157990.254414: tracing_mark_write: E
16012   SensorService-1249  ( 1136) [006] ...1 157990.254774: tracing_mark_write: E
16013   SensorService-1249  ( 1136) [006] ...1 157990.255063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16014  sensors@1.0-se-755   (  755) [004] ...1 157990.255750: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16015  sensors@1.0-se-755   (  755) [004] ...1 157990.274940: tracing_mark_write: E
16016   SensorService-1249  ( 1136) [006] ...1 157990.275238: tracing_mark_write: E
16017   SensorService-1249  ( 1136) [006] ...1 157990.275518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16018  sensors@1.0-se-755   (  755) [004] ...1 157990.276114: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16019  sensors@1.0-se-755   (  755) [004] ...1 157990.294033: tracing_mark_write: E
16020   SensorService-1249  ( 1136) [006] ...1 157990.294421: tracing_mark_write: E
16021   SensorService-1249  ( 1136) [006] ...1 157990.294591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16022  sensors@1.0-se-755   (  755) [004] ...1 157990.295171: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16023  sensors@1.0-se-755   (  755) [004] ...1 157990.314567: tracing_mark_write: E
16024   SensorService-1249  ( 1136) [006] ...1 157990.314726: tracing_mark_write: E
16025   SensorService-1249  ( 1136) [006] ...1 157990.314881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16026  sensors@1.0-se-755   (  755) [004] ...1 157990.315471: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16027  sensors@1.0-se-755   (  755) [004] ...1 157990.334806: tracing_mark_write: E
16028   SensorService-1249  ( 1136) [006] ...1 157990.335069: tracing_mark_write: E
16029   SensorService-1249  ( 1136) [006] ...1 157990.335335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16030  sensors@1.0-se-755   (  755) [004] ...1 157990.335960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16031  sensors@1.0-se-755   (  755) [004] ...1 157990.354837: tracing_mark_write: E
16032   SensorService-1249  ( 1136) [006] ...1 157990.354977: tracing_mark_write: E
16033   SensorService-1249  ( 1136) [006] ...1 157990.355131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16034  sensors@1.0-se-755   (  755) [004] ...1 157990.355731: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16035  sensors@1.0-se-755   (  755) [004] ...1 157990.374665: tracing_mark_write: E
16036   SensorService-1249  ( 1136) [006] ...1 157990.375352: tracing_mark_write: E
16037   SensorService-1249  ( 1136) [006] ...1 157990.375619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16038  sensors@1.0-se-755   (  755) [004] ...1 157990.376245: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16039  sensors@1.0-se-755   (  755) [004] ...1 157990.394652: tracing_mark_write: E
16040   SensorService-1249  ( 1136) [006] ...1 157990.394796: tracing_mark_write: E
16041   SensorService-1249  ( 1136) [006] ...1 157990.394948: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16042  sensors@1.0-se-755   (  755) [004] ...1 157990.395590: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16043  sensors@1.0-se-755   (  755) [004] ...1 157990.415969: tracing_mark_write: E
16044   SensorService-1249  ( 1136) [006] ...1 157990.416943: tracing_mark_write: E
16045   SensorService-1249  ( 1136) [006] ...1 157990.417336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16046  sensors@1.0-se-755   (  755) [004] ...1 157990.417991: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16047  sensors@1.0-se-755   (  755) [004] ...1 157990.434400: tracing_mark_write: E
16048   SensorService-1249  ( 1136) [006] ...1 157990.434692: tracing_mark_write: E
16049   SensorService-1249  ( 1136) [006] ...1 157990.434951: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16050  sensors@1.0-se-755   (  755) [004] ...1 157990.435532: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16051  sensors@1.0-se-755   (  755) [004] ...1 157990.454357: tracing_mark_write: E
16052   SensorService-1249  ( 1136) [006] ...1 157990.454512: tracing_mark_write: E
16053   SensorService-1249  ( 1136) [006] ...1 157990.454665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16054  sensors@1.0-se-755   (  755) [004] ...1 157990.455291: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16055  sensors@1.0-se-755   (  755) [004] ...1 157990.474423: tracing_mark_write: E
16056   SensorService-1249  ( 1136) [006] ...1 157990.474584: tracing_mark_write: E
16057   SensorService-1249  ( 1136) [006] ...1 157990.474718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16058  sensors@1.0-se-755   (  755) [004] ...1 157990.475340: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16059  sensors@1.0-se-755   (  755) [004] ...1 157990.494331: tracing_mark_write: E
16060   SensorService-1249  ( 1136) [006] ...1 157990.494867: tracing_mark_write: E
16061   SensorService-1249  ( 1136) [006] ...1 157990.495022: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16062  sensors@1.0-se-755   (  755) [004] ...1 157990.495601: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16063  sensors@1.0-se-755   (  755) [004] ...1 157990.513916: tracing_mark_write: E
16064   SensorService-1249  ( 1136) [006] ...1 157990.514518: tracing_mark_write: E
16065   SensorService-1249  ( 1136) [006] ...1 157990.514681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16066  sensors@1.0-se-755   (  755) [004] ...1 157990.515138: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16067  sensors@1.0-se-755   (  755) [004] ...1 157990.533988: tracing_mark_write: E
16068   SensorService-1249  ( 1136) [006] ...1 157990.534529: tracing_mark_write: E
16069   SensorService-1249  ( 1136) [006] ...1 157990.534692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16070  sensors@1.0-se-755   (  755) [004] ...1 157990.534846: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16071  sensors@1.0-se-755   (  755) [004] ...1 157990.554830: tracing_mark_write: E
16072   SensorService-1249  ( 1136) [006] ...1 157990.555385: tracing_mark_write: E
16073   SensorService-1249  ( 1136) [006] ...1 157990.555640: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16074  sensors@1.0-se-755   (  755) [004] ...1 157990.556123: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16075  sensors@1.0-se-755   (  755) [004] ...1 157990.575856: tracing_mark_write: E
16076   SensorService-1249  ( 1136) [006] ...1 157990.576886: tracing_mark_write: E
16077   SensorService-1249  ( 1136) [006] ...1 157990.577329: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16078  sensors@1.0-se-755   (  755) [004] ...1 157990.578111: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16079  sensors@1.0-se-755   (  755) [004] ...1 157990.595057: tracing_mark_write: E
16080   SensorService-1249  ( 1136) [006] ...1 157990.595860: tracing_mark_write: E
16081   SensorService-1249  ( 1136) [006] ...1 157990.596221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16082  sensors@1.0-se-755   (  755) [004] ...1 157990.596819: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16083  sensors@1.0-se-755   (  755) [004] ...1 157990.613786: tracing_mark_write: E
16084   SensorService-1249  ( 1136) [006] ...1 157990.614574: tracing_mark_write: E
16085   SensorService-1249  ( 1136) [006] ...1 157990.614851: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16086  sensors@1.0-se-755   (  755) [004] ...1 157990.615779: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16087  sensors@1.0-se-755   (  755) [004] ...1 157990.634837: tracing_mark_write: E
16088   SensorService-1249  ( 1136) [006] ...1 157990.635605: tracing_mark_write: E
16089   SensorService-1249  ( 1136) [006] ...1 157990.635913: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16090  sensors@1.0-se-755   (  755) [004] ...1 157990.636129: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16091  sensors@1.0-se-755   (  755) [004] ...1 157990.656013: tracing_mark_write: E
16092   SensorService-1249  ( 1136) [006] ...1 157990.656636: tracing_mark_write: E
16093   SensorService-1249  ( 1136) [006] ...1 157990.656931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16094  sensors@1.0-se-755   (  755) [004] ...1 157990.657499: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16095  sensors@1.0-se-755   (  755) [004] ...1 157990.675393: tracing_mark_write: E
16096   SensorService-1249  ( 1136) [006] ...1 157990.675924: tracing_mark_write: E
16097   SensorService-1249  ( 1136) [006] ...1 157990.676185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16098  sensors@1.0-se-755   (  755) [004] ...1 157990.676640: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16099  sensors@1.0-se-755   (  755) [004] ...1 157990.693759: tracing_mark_write: E
16100   SensorService-1249  ( 1136) [006] ...1 157990.694080: tracing_mark_write: E
16101   SensorService-1249  ( 1136) [006] ...1 157990.694245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16102  sensors@1.0-se-755   (  755) [004] ...1 157990.694515: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16103  sensors@1.0-se-755   (  755) [004] ...1 157990.717046: tracing_mark_write: E
16104   SensorService-1249  ( 1136) [006] ...1 157990.717623: tracing_mark_write: E
16105   SensorService-1249  ( 1136) [006] ...1 157990.717802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16106  sensors@1.0-se-755   (  755) [004] ...1 157990.717889: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16107  sensors@1.0-se-755   (  755) [004] ...1 157990.734880: tracing_mark_write: E
16108   SensorService-1249  ( 1136) [006] ...1 157990.735710: tracing_mark_write: E
16109   SensorService-1249  ( 1136) [006] ...1 157990.736065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16110  sensors@1.0-se-755   (  755) [004] ...1 157990.736645: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16111  sensors@1.0-se-755   (  755) [004] ...1 157990.756219: tracing_mark_write: E
16112   SensorService-1249  ( 1136) [006] ...1 157990.756936: tracing_mark_write: E
16113   SensorService-1249  ( 1136) [006] ...1 157990.757255: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16114  sensors@1.0-se-755   (  755) [004] ...1 157990.757845: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16115  sensors@1.0-se-755   (  755) [004] ...1 157990.773808: tracing_mark_write: E
16116   SensorService-1249  ( 1136) [006] ...1 157990.773968: tracing_mark_write: E
16117   SensorService-1249  ( 1136) [006] ...1 157990.774114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16118  sensors@1.0-se-755   (  755) [004] ...1 157990.774198: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16119  sensors@1.0-se-755   (  755) [004] ...1 157990.793916: tracing_mark_write: E
16120   SensorService-1249  ( 1136) [006] ...1 157990.793949: tracing_mark_write: E
16121   SensorService-1249  ( 1136) [006] ...1 157990.793977: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16122  sensors@1.0-se-755   (  755) [004] ...1 157990.794464: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16123  sensors@1.0-se-755   (  755) [004] ...1 157990.813898: tracing_mark_write: E
16124   SensorService-1249  ( 1136) [006] ...1 157990.813922: tracing_mark_write: E
16125   SensorService-1249  ( 1136) [006] ...1 157990.813943: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16126  sensors@1.0-se-755   (  755) [004] ...1 157990.813971: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16127  sensors@1.0-se-755   (  755) [004] ...1 157990.833814: tracing_mark_write: E
16128   SensorService-1249  ( 1136) [006] ...1 157990.833835: tracing_mark_write: E
16129   SensorService-1249  ( 1136) [006] ...1 157990.833852: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16130  sensors@1.0-se-755   (  755) [004] ...1 157990.834117: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16131  sensors@1.0-se-755   (  755) [004] ...1 157990.854028: tracing_mark_write: E
16132   SensorService-1249  ( 1136) [006] ...1 157990.854269: tracing_mark_write: E
16133   SensorService-1249  ( 1136) [006] ...1 157990.854304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16134  sensors@1.0-se-755   (  755) [004] ...1 157990.854529: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16135  sensors@1.0-se-755   (  755) [004] ...1 157990.874103: tracing_mark_write: E
16136   SensorService-1249  ( 1136) [006] ...1 157990.874350: tracing_mark_write: E
16137   SensorService-1249  ( 1136) [006] ...1 157990.874396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16138  sensors@1.0-se-755   (  755) [004] ...1 157990.874631: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16139  sensors@1.0-se-755   (  755) [004] ...1 157990.893751: tracing_mark_write: E
16140   SensorService-1249  ( 1136) [006] ...1 157990.893807: tracing_mark_write: E
16141   SensorService-1249  ( 1136) [006] ...1 157990.893859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16142  sensors@1.0-se-755   (  755) [004] ...1 157990.893998: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16143  sensors@1.0-se-755   (  755) [004] ...1 157990.914168: tracing_mark_write: E
16144   SensorService-1249  ( 1136) [006] ...1 157990.914403: tracing_mark_write: E
16145   SensorService-1249  ( 1136) [006] ...1 157990.914514: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16146  sensors@1.0-se-755   (  755) [004] ...1 157990.914749: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16147  sensors@1.0-se-755   (  755) [004] ...1 157990.933935: tracing_mark_write: E
16148   SensorService-1249  ( 1136) [006] ...1 157990.934400: tracing_mark_write: E
16149   SensorService-1249  ( 1136) [006] ...1 157990.934629: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16150  sensors@1.0-se-755   (  755) [004] ...1 157990.934825: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16151  sensors@1.0-se-755   (  755) [004] ...1 157990.954344: tracing_mark_write: E
16152   SensorService-1249  ( 1136) [006] ...1 157990.954690: tracing_mark_write: E
16153   SensorService-1249  ( 1136) [006] ...1 157990.954869: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16154  sensors@1.0-se-755   (  755) [004] ...1 157990.955070: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16155  sensors@1.0-se-755   (  755) [004] ...1 157990.975268: tracing_mark_write: E
16156   SensorService-1249  ( 1136) [006] ...1 157990.975619: tracing_mark_write: E
16157   SensorService-1249  ( 1136) [006] ...1 157990.975784: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16158  sensors@1.0-se-755   (  755) [004] ...1 157990.975938: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16159  sensors@1.0-se-755   (  755) [004] ...1 157990.994771: tracing_mark_write: E
16160   SensorService-1249  ( 1136) [006] ...1 157990.995293: tracing_mark_write: E
16161   SensorService-1249  ( 1136) [006] ...1 157990.995456: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16162  sensors@1.0-se-755   (  755) [004] ...1 157990.995755: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16163  sensors@1.0-se-755   (  755) [004] ...1 157991.019049: tracing_mark_write: E
16164   SensorService-1249  ( 1136) [006] ...1 157991.019808: tracing_mark_write: E
16165   SensorService-1249  ( 1136) [006] ...1 157991.020137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16166  sensors@1.0-se-755   (  755) [004] ...1 157991.021070: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16167  sensors@1.0-se-755   (  755) [004] ...1 157991.035464: tracing_mark_write: E
16168   SensorService-1249  ( 1136) [006] ...1 157991.036107: tracing_mark_write: E
16169   SensorService-1249  ( 1136) [006] ...1 157991.036402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16170  sensors@1.0-se-755   (  755) [004] ...1 157991.036597: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16171  sensors@1.0-se-755   (  755) [004] ...1 157991.054374: tracing_mark_write: E
16172   SensorService-1249  ( 1136) [006] ...1 157991.054932: tracing_mark_write: E
16173   SensorService-1249  ( 1136) [006] ...1 157991.055228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16174  sensors@1.0-se-755   (  755) [004] ...1 157991.055933: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16175  sensors@1.0-se-755   (  755) [004] ...1 157991.076702: tracing_mark_write: E
16176   SensorService-1249  ( 1136) [006] ...1 157991.077456: tracing_mark_write: E
16177   SensorService-1249  ( 1136) [006] ...1 157991.077935: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16178  sensors@1.0-se-755   (  755) [004] ...1 157991.078552: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16179  sensors@1.0-se-755   (  755) [004] ...1 157991.095755: tracing_mark_write: E
16180   SensorService-1249  ( 1136) [006] ...1 157991.096479: tracing_mark_write: E
16181   SensorService-1249  ( 1136) [006] ...1 157991.096775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16182  sensors@1.0-se-755   (  755) [004] ...1 157991.097377: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16183  sensors@1.0-se-755   (  755) [004] ...1 157991.115468: tracing_mark_write: E
16184   SensorService-1249  ( 1136) [006] ...1 157991.116009: tracing_mark_write: E
16185   SensorService-1249  ( 1136) [006] ...1 157991.116170: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16186  sensors@1.0-se-755   (  755) [004] ...1 157991.116734: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16187  sensors@1.0-se-755   (  755) [004] ...1 157991.135861: tracing_mark_write: E
16188   SensorService-1249  ( 1136) [006] ...1 157991.136426: tracing_mark_write: E
16189   SensorService-1249  ( 1136) [006] ...1 157991.136701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16190  sensors@1.0-se-755   (  755) [004] ...1 157991.137212: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16191  sensors@1.0-se-755   (  755) [004] ...1 157991.154580: tracing_mark_write: E
16192   SensorService-1249  ( 1136) [006] ...1 157991.154706: tracing_mark_write: E
16193   SensorService-1249  ( 1136) [006] ...1 157991.154833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16194  sensors@1.0-se-755   (  755) [004] ...1 157991.155659: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16195  sensors@1.0-se-755   (  755) [004] ...1 157991.174727: tracing_mark_write: E
16196   SensorService-1249  ( 1136) [006] ...1 157991.174816: tracing_mark_write: E
16197   SensorService-1249  ( 1136) [006] ...1 157991.174917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16198  sensors@1.0-se-755   (  755) [004] ...1 157991.175486: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16199  sensors@1.0-se-755   (  755) [004] ...1 157991.196616: tracing_mark_write: E
16200   SensorService-1249  ( 1136) [006] ...1 157991.197347: tracing_mark_write: E
16201   SensorService-1249  ( 1136) [006] ...1 157991.197794: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16202  sensors@1.0-se-755   (  755) [004] ...1 157991.198033: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16203  sensors@1.0-se-755   (  755) [004] ...1 157991.215499: tracing_mark_write: E
16204   SensorService-1249  ( 1136) [006] ...1 157991.216210: tracing_mark_write: E
16205   SensorService-1249  ( 1136) [006] ...1 157991.216512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16206  sensors@1.0-se-755   (  755) [004] ...1 157991.216723: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16207  sensors@1.0-se-755   (  755) [004] ...1 157991.237010: tracing_mark_write: E
16208   SensorService-1249  ( 1136) [006] ...1 157991.237749: tracing_mark_write: E
16209   SensorService-1249  ( 1136) [006] ...1 157991.238062: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16210  sensors@1.0-se-755   (  755) [004] ...1 157991.238654: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16211  sensors@1.0-se-755   (  755) [004] ...1 157991.255527: tracing_mark_write: E
16212   SensorService-1249  ( 1136) [006] ...1 157991.256340: tracing_mark_write: E
16213   SensorService-1249  ( 1136) [006] ...1 157991.256661: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16214  sensors@1.0-se-755   (  755) [004] ...1 157991.257254: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16215  sensors@1.0-se-755   (  755) [004] ...1 157991.276457: tracing_mark_write: E
16216   SensorService-1249  ( 1136) [006] ...1 157991.277024: tracing_mark_write: E
16217   SensorService-1249  ( 1136) [006] ...1 157991.277242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16218  sensors@1.0-se-755   (  755) [004] ...1 157991.277732: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16219  sensors@1.0-se-755   (  755) [004] ...1 157991.295428: tracing_mark_write: E
16220   SensorService-1249  ( 1136) [006] ...1 157991.296312: tracing_mark_write: E
16221   SensorService-1249  ( 1136) [006] ...1 157991.296623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16222  sensors@1.0-se-755   (  755) [004] ...1 157991.297371: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16223  sensors@1.0-se-755   (  755) [004] ...1 157991.316159: tracing_mark_write: E
16224   SensorService-1249  ( 1136) [006] ...1 157991.317081: tracing_mark_write: E
16225   SensorService-1249  ( 1136) [006] ...1 157991.317658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16226  sensors@1.0-se-755   (  755) [004] ...1 157991.318356: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16227  sensors@1.0-se-755   (  755) [004] ...1 157991.335873: tracing_mark_write: E
16228   SensorService-1249  ( 1136) [006] ...1 157991.336774: tracing_mark_write: E
16229   SensorService-1249  ( 1136) [006] ...1 157991.337210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16230  sensors@1.0-se-755   (  755) [004] ...1 157991.337919: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16231  sensors@1.0-se-755   (  755) [004] ...1 157991.355517: tracing_mark_write: E
16232   SensorService-1249  ( 1136) [006] ...1 157991.356224: tracing_mark_write: E
16233   SensorService-1249  ( 1136) [006] ...1 157991.356527: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16234  sensors@1.0-se-755   (  755) [004] ...1 157991.357191: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16235  sensors@1.0-se-755   (  755) [004] ...1 157991.375208: tracing_mark_write: E
16236   SensorService-1249  ( 1136) [006] ...1 157991.376072: tracing_mark_write: E
16237   SensorService-1249  ( 1136) [006] ...1 157991.376252: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16238  sensors@1.0-se-755   (  755) [004] ...1 157991.376981: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16239  sensors@1.0-se-755   (  755) [004] ...1 157991.395981: tracing_mark_write: E
16240   SensorService-1249  ( 1136) [006] ...1 157991.396506: tracing_mark_write: E
16241   SensorService-1249  ( 1136) [006] ...1 157991.396669: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16242  sensors@1.0-se-755   (  755) [004] ...1 157991.397368: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16243  sensors@1.0-se-755   (  755) [004] ...1 157991.414998: tracing_mark_write: E
16244   SensorService-1249  ( 1136) [006] ...1 157991.415531: tracing_mark_write: E
16245   SensorService-1249  ( 1136) [006] ...1 157991.415710: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16246  sensors@1.0-se-755   (  755) [004] ...1 157991.416277: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16247  sensors@1.0-se-755   (  755) [004] ...1 157991.438066: tracing_mark_write: E
16248   SensorService-1249  ( 1136) [006] ...1 157991.438813: tracing_mark_write: E
16249   SensorService-1249  ( 1136) [006] ...1 157991.439128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16250  sensors@1.0-se-755   (  755) [004] ...1 157991.439772: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16251  sensors@1.0-se-755   (  755) [004] ...1 157991.457913: tracing_mark_write: E
16252   SensorService-1249  ( 1136) [006] ...1 157991.458670: tracing_mark_write: E
16253   SensorService-1249  ( 1136) [006] ...1 157991.458966: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16254  sensors@1.0-se-755   (  755) [004] ...1 157991.459390: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16255  sensors@1.0-se-755   (  755) [004] ...1 157991.477830: tracing_mark_write: E
16256   SensorService-1249  ( 1136) [006] ...1 157991.478591: tracing_mark_write: E
16257   SensorService-1249  ( 1136) [006] ...1 157991.478921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16258  sensors@1.0-se-755   (  755) [004] ...1 157991.479514: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16259  sensors@1.0-se-755   (  755) [004] ...1 157991.495373: tracing_mark_write: E
16260   SensorService-1249  ( 1136) [006] ...1 157991.496085: tracing_mark_write: E
16261   SensorService-1249  ( 1136) [006] ...1 157991.496392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16262  sensors@1.0-se-755   (  755) [004] ...1 157991.496606: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16263  sensors@1.0-se-755   (  755) [004] ...1 157991.515963: tracing_mark_write: E
16264   SensorService-1249  ( 1136) [006] ...1 157991.516542: tracing_mark_write: E
16265   SensorService-1249  ( 1136) [006] ...1 157991.516724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16266  sensors@1.0-se-755   (  755) [004] ...1 157991.517294: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16267  sensors@1.0-se-755   (  755) [004] ...1 157991.535536: tracing_mark_write: E
16268   SensorService-1249  ( 1136) [006] ...1 157991.536319: tracing_mark_write: E
16269   SensorService-1249  ( 1136) [006] ...1 157991.536616: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16270  sensors@1.0-se-755   (  755) [004] ...1 157991.537189: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16271  sensors@1.0-se-755   (  755) [004] ...1 157991.554149: tracing_mark_write: E
16272   SensorService-1249  ( 1136) [006] ...1 157991.554571: tracing_mark_write: E
16273   SensorService-1249  ( 1136) [006] ...1 157991.554754: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16274  sensors@1.0-se-755   (  755) [004] ...1 157991.554883: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16275  sensors@1.0-se-755   (  755) [004] ...1 157991.575373: tracing_mark_write: E
16276   SensorService-1249  ( 1136) [006] ...1 157991.575852: tracing_mark_write: E
16277   SensorService-1249  ( 1136) [006] ...1 157991.576101: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16278  sensors@1.0-se-755   (  755) [004] ...1 157991.576277: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16279  sensors@1.0-se-755   (  755) [004] ...1 157991.597124: tracing_mark_write: E
16280   SensorService-1249  ( 1136) [006] ...1 157991.597795: tracing_mark_write: E
16281   SensorService-1249  ( 1136) [006] ...1 157991.598021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16282  sensors@1.0-se-755   (  755) [004] ...1 157991.598565: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16283  sensors@1.0-se-755   (  755) [004] ...1 157991.616327: tracing_mark_write: E
16284   SensorService-1249  ( 1136) [006] ...1 157991.617080: tracing_mark_write: E
16285   SensorService-1249  ( 1136) [006] ...1 157991.617393: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16286  sensors@1.0-se-755   (  755) [004] ...1 157991.618070: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16287  sensors@1.0-se-755   (  755) [004] ...1 157991.638537: tracing_mark_write: E
16288   SensorService-1249  ( 1136) [006] ...1 157991.639283: tracing_mark_write: E
16289   SensorService-1249  ( 1136) [006] ...1 157991.639612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16290  sensors@1.0-se-755   (  755) [004] ...1 157991.640569: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16291  sensors@1.0-se-755   (  755) [004] ...1 157991.656800: tracing_mark_write: E
16292   SensorService-1249  ( 1136) [006] ...1 157991.657529: tracing_mark_write: E
16293   SensorService-1249  ( 1136) [006] ...1 157991.657947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16294  sensors@1.0-se-755   (  755) [004] ...1 157991.658539: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16295  sensors@1.0-se-755   (  755) [004] ...1 157991.676468: tracing_mark_write: E
16296   SensorService-1249  ( 1136) [006] ...1 157991.677166: tracing_mark_write: E
16297   SensorService-1249  ( 1136) [006] ...1 157991.677483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16298  sensors@1.0-se-755   (  755) [004] ...1 157991.678176: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16299  sensors@1.0-se-755   (  755) [004] ...1 157991.697308: tracing_mark_write: E
16300   SensorService-1249  ( 1136) [006] ...1 157991.698003: tracing_mark_write: E
16301   SensorService-1249  ( 1136) [006] ...1 157991.698331: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16302  sensors@1.0-se-755   (  755) [004] ...1 157991.699144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16303  sensors@1.0-se-755   (  755) [004] ...1 157991.716846: tracing_mark_write: E
16304   SensorService-1249  ( 1136) [006] ...1 157991.717749: tracing_mark_write: E
16305   SensorService-1249  ( 1136) [006] ...1 157991.718085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16306  sensors@1.0-se-755   (  755) [004] ...1 157991.718744: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16307  sensors@1.0-se-755   (  755) [004] ...1 157991.736433: tracing_mark_write: E
16308   SensorService-1249  ( 1136) [006] ...1 157991.737154: tracing_mark_write: E
16309   SensorService-1249  ( 1136) [006] ...1 157991.737452: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16310  sensors@1.0-se-755   (  755) [004] ...1 157991.738277: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16311  sensors@1.0-se-755   (  755) [004] ...1 157991.756056: tracing_mark_write: E
16312   SensorService-1249  ( 1136) [006] ...1 157991.756616: tracing_mark_write: E
16313   SensorService-1249  ( 1136) [006] ...1 157991.756906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16314  sensors@1.0-se-755   (  755) [004] ...1 157991.757390: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16315  sensors@1.0-se-755   (  755) [004] ...1 157991.777666: tracing_mark_write: E
16316   SensorService-1249  ( 1136) [006] ...1 157991.778399: tracing_mark_write: E
16317   SensorService-1249  ( 1136) [006] ...1 157991.778715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16318  sensors@1.0-se-755   (  755) [004] ...1 157991.779472: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16319  sensors@1.0-se-755   (  755) [004] ...1 157991.796882: tracing_mark_write: E
16320   SensorService-1249  ( 1136) [006] ...1 157991.797757: tracing_mark_write: E
16321   SensorService-1249  ( 1136) [006] ...1 157991.798088: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16322  sensors@1.0-se-755   (  755) [004] ...1 157991.798740: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16323  sensors@1.0-se-755   (  755) [004] ...1 157991.816595: tracing_mark_write: E
16324   SensorService-1249  ( 1136) [006] ...1 157991.817325: tracing_mark_write: E
16325   SensorService-1249  ( 1136) [006] ...1 157991.817711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16326  sensors@1.0-se-755   (  755) [004] ...1 157991.818336: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16327  sensors@1.0-se-755   (  755) [004] ...1 157991.836476: tracing_mark_write: E
16328   SensorService-1249  ( 1136) [006] ...1 157991.837199: tracing_mark_write: E
16329   SensorService-1249  ( 1136) [006] ...1 157991.837512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16330  sensors@1.0-se-755   (  755) [004] ...1 157991.838285: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16331  sensors@1.0-se-755   (  755) [004] ...1 157991.856942: tracing_mark_write: E
16332   SensorService-1249  ( 1136) [006] ...1 157991.857740: tracing_mark_write: E
16333   SensorService-1249  ( 1136) [006] ...1 157991.858050: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16334  sensors@1.0-se-755   (  755) [004] ...1 157991.858807: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16335  sensors@1.0-se-755   (  755) [004] ...1 157991.876451: tracing_mark_write: E
16336   SensorService-1249  ( 1136) [006] ...1 157991.877168: tracing_mark_write: E
16337   SensorService-1249  ( 1136) [006] ...1 157991.877485: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16338  sensors@1.0-se-755   (  755) [004] ...1 157991.878259: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16339  sensors@1.0-se-755   (  755) [004] ...1 157991.896852: tracing_mark_write: E
16340   SensorService-1249  ( 1136) [006] ...1 157991.897631: tracing_mark_write: E
16341   SensorService-1249  ( 1136) [006] ...1 157991.897947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16342  sensors@1.0-se-755   (  755) [004] ...1 157991.898565: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16343  sensors@1.0-se-755   (  755) [004] ...1 157991.916520: tracing_mark_write: E
16344   SensorService-1249  ( 1136) [006] ...1 157991.917230: tracing_mark_write: E
16345   SensorService-1249  ( 1136) [006] ...1 157991.917682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16346  sensors@1.0-se-755   (  755) [004] ...1 157991.918279: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16347  sensors@1.0-se-755   (  755) [004] ...1 157991.935808: tracing_mark_write: E
16348   SensorService-1249  ( 1136) [006] ...1 157991.936363: tracing_mark_write: E
16349   SensorService-1249  ( 1136) [006] ...1 157991.936633: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16350  sensors@1.0-se-755   (  755) [004] ...1 157991.937160: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16351  sensors@1.0-se-755   (  755) [004] ...1 157991.956779: tracing_mark_write: E
16352   SensorService-1249  ( 1136) [006] ...1 157991.957329: tracing_mark_write: E
16353   SensorService-1249  ( 1136) [006] ...1 157991.957652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16354  sensors@1.0-se-755   (  755) [004] ...1 157991.958203: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16355    Binder:834_2-3564  (  834) [003] ...1 157991.963295: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client
16356  HwBinder:740_2-12908 (  740) [007] ...1 157991.963564: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server
16357  HwBinder:740_2-12908 (  740) [007] ...1 157991.963692: tracing_mark_write: E
16358    Binder:834_2-3564  (  834) [003] ...1 157991.964454: tracing_mark_write: E
16359    Binder:834_2-3564  (  834) [003] ...1 157991.964494: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client
16360  HwBinder:740_2-12908 (  740) [007] ...1 157991.964866: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server
16361  HwBinder:740_2-12908 (  740) [007] ...1 157991.964890: tracing_mark_write: E
16362    Binder:834_2-3564  (  834) [003] ...1 157991.966492: tracing_mark_write: E
16363    Binder:834_2-3564  (  834) [003] ...1 157991.966548: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyByteArray::client
16364  HwBinder:740_2-12908 (  740) [007] ...1 157991.966901: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyByteArray::server
16365  HwBinder:740_2-12908 (  740) [007] ...1 157991.966964: tracing_mark_write: E
16366    Binder:834_2-3564  (  834) [003] ...1 157991.967022: tracing_mark_write: E
16367    Binder:834_2-3564  (  834) [006] ...1 157991.968384: tracing_mark_write: B|834|HIDL::IDrmPlugin::setListener::client
16368  HwBinder:740_2-12908 (  740) [007] ...1 157991.968517: tracing_mark_write: B|740|HIDL::IDrmPlugin::setListener::server
16369  HwBinder:740_2-12908 (  740) [007] ...1 157991.968609: tracing_mark_write: E
16370    Binder:834_2-3564  (  834) [006] ...1 157991.969056: tracing_mark_write: E
16371    Binder:834_2-3564  (  834) [002] ...1 157991.971960: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client
16372  drm@1.0-servic-740   (  740) [006] ...1 157991.972290: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server
16373  drm@1.0-servic-740   (  740) [006] ...1 157991.972317: tracing_mark_write: E
16374    Binder:834_2-3564  (  834) [002] ...1 157991.972576: tracing_mark_write: E
16375    Binder:834_2-3564  (  834) [002] ...1 157991.972590: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyString::client
16376  drm@1.0-servic-740   (  740) [007] ...1 157991.972687: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyString::server
16377  drm@1.0-servic-740   (  740) [007] ...1 157991.972711: tracing_mark_write: E
16378    Binder:834_2-3564  (  834) [002] ...1 157991.973067: tracing_mark_write: E
16379    Binder:834_2-3564  (  834) [002] ...1 157991.973081: tracing_mark_write: B|834|HIDL::IDrmPlugin::getPropertyByteArray::client
16380  drm@1.0-servic-740   (  740) [006] ...1 157991.973578: tracing_mark_write: B|740|HIDL::IDrmPlugin::getPropertyByteArray::server
16381  drm@1.0-servic-740   (  740) [006] ...1 157991.973606: tracing_mark_write: E
16382    Binder:834_2-3564  (  834) [002] ...1 157991.975015: tracing_mark_write: E
16383    Binder:834_2-3564  (  834) [002] ...1 157991.976138: tracing_mark_write: B|834|HIDL::IDrmPlugin::setListener::client
16384  sensors@1.0-se-755   (  755) [004] ...1 157991.976437: tracing_mark_write: E
16385  drm@1.0-servic-740   (  740) [007] ...1 157991.976523: tracing_mark_write: B|740|HIDL::IDrmPlugin::setListener::server
16386  drm@1.0-servic-740   (  740) [007] ...1 157991.976579: tracing_mark_write: E
16387   SensorService-1249  ( 1136) [006] ...1 157991.976798: tracing_mark_write: E
16388   SensorService-1249  ( 1136) [006] ...1 157991.976945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16389  sensors@1.0-se-755   (  755) [004] ...1 157991.977312: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16390    Binder:834_2-3564  (  834) [002] ...1 157991.978101: tracing_mark_write: E
16391  sensors@1.0-se-755   (  755) [004] ...1 157991.998756: tracing_mark_write: E
16392   SensorService-1249  ( 1136) [006] ...1 157991.998953: tracing_mark_write: E
16393   SensorService-1249  ( 1136) [006] ...1 157991.999141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16394  sensors@1.0-se-755   (  755) [004] ...1 157991.999626: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16395  sensors@1.0-se-755   (  755) [004] ...1 157992.016921: tracing_mark_write: E
16396   SensorService-1249  ( 1136) [006] ...1 157992.017661: tracing_mark_write: E
16397   SensorService-1249  ( 1136) [006] ...1 157992.017930: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16398  sensors@1.0-se-755   (  755) [004] ...1 157992.018149: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16399  sensors@1.0-se-755   (  755) [004] ...1 157992.037770: tracing_mark_write: E
16400   SensorService-1249  ( 1136) [006] ...1 157992.038609: tracing_mark_write: E
16401   SensorService-1249  ( 1136) [006] ...1 157992.038877: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16402  sensors@1.0-se-755   (  755) [004] ...1 157992.039103: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16403  sensors@1.0-se-755   (  755) [004] ...1 157992.055862: tracing_mark_write: E
16404   SensorService-1249  ( 1136) [006] ...1 157992.056413: tracing_mark_write: E
16405   SensorService-1249  ( 1136) [006] ...1 157992.056628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16406  sensors@1.0-se-755   (  755) [004] ...1 157992.057163: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16407  sensors@1.0-se-755   (  755) [004] ...1 157992.076430: tracing_mark_write: E
16408   SensorService-1249  ( 1136) [006] ...1 157992.077239: tracing_mark_write: E
16409   SensorService-1249  ( 1136) [006] ...1 157992.077534: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16410  sensors@1.0-se-755   (  755) [004] ...1 157992.077911: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16411  sensors@1.0-se-755   (  755) [004] ...1 157992.096331: tracing_mark_write: E
16412   SensorService-1249  ( 1136) [006] ...1 157992.097016: tracing_mark_write: E
16413   SensorService-1249  ( 1136) [006] ...1 157992.097302: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16414  sensors@1.0-se-755   (  755) [004] ...1 157992.097515: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16415  sensors@1.0-se-755   (  755) [004] ...1 157992.116348: tracing_mark_write: E
16416   SensorService-1249  ( 1136) [006] ...1 157992.117075: tracing_mark_write: E
16417   SensorService-1249  ( 1136) [006] ...1 157992.117374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16418  sensors@1.0-se-755   (  755) [004] ...1 157992.117956: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16419  sensors@1.0-se-755   (  755) [004] ...1 157992.136399: tracing_mark_write: E
16420   SensorService-1249  ( 1136) [006] ...1 157992.137232: tracing_mark_write: E
16421   SensorService-1249  ( 1136) [006] ...1 157992.137522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16422  sensors@1.0-se-755   (  755) [004] ...1 157992.138219: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16423  sensors@1.0-se-755   (  755) [004] ...1 157992.159404: tracing_mark_write: E
16424   SensorService-1249  ( 1136) [006] ...1 157992.160355: tracing_mark_write: E
16425   SensorService-1249  ( 1136) [006] ...1 157992.160637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16426  sensors@1.0-se-755   (  755) [004] ...1 157992.161256: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16427  sensors@1.0-se-755   (  755) [004] ...1 157992.176411: tracing_mark_write: E
16428   SensorService-1249  ( 1136) [006] ...1 157992.176836: tracing_mark_write: E
16429   SensorService-1249  ( 1136) [006] ...1 157992.177139: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16430  sensors@1.0-se-755   (  755) [004] ...1 157992.177808: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16431  sensors@1.0-se-755   (  755) [004] ...1 157992.197183: tracing_mark_write: E
16432   SensorService-1249  ( 1136) [006] ...1 157992.197466: tracing_mark_write: E
16433   SensorService-1249  ( 1136) [006] ...1 157992.197802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16434  sensors@1.0-se-755   (  755) [004] ...1 157992.198309: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16435  sensors@1.0-se-755   (  755) [004] ...1 157992.221047: tracing_mark_write: E
16436   SensorService-1249  ( 1136) [006] ...1 157992.221845: tracing_mark_write: E
16437   SensorService-1249  ( 1136) [006] ...1 157992.222131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16438  sensors@1.0-se-755   (  755) [004] ...1 157992.222773: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16439  sensors@1.0-se-755   (  755) [004] ...1 157992.236593: tracing_mark_write: E
16440   SensorService-1249  ( 1136) [006] ...1 157992.237386: tracing_mark_write: E
16441   SensorService-1249  ( 1136) [006] ...1 157992.237750: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16442  sensors@1.0-se-755   (  755) [004] ...1 157992.238352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16443  sensors@1.0-se-755   (  755) [004] ...1 157992.262074: tracing_mark_write: E
16444   SensorService-1249  ( 1136) [006] ...1 157992.262926: tracing_mark_write: E
16445   SensorService-1249  ( 1136) [006] ...1 157992.263213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16446  sensors@1.0-se-755   (  755) [004] ...1 157992.263953: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16447  sensors@1.0-se-755   (  755) [004] ...1 157992.278864: tracing_mark_write: E
16448   SensorService-1249  ( 1136) [006] ...1 157992.279579: tracing_mark_write: E
16449   SensorService-1249  ( 1136) [006] ...1 157992.279878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16450  sensors@1.0-se-755   (  755) [004] ...1 157992.280492: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16451  sensors@1.0-se-755   (  755) [004] ...1 157992.296984: tracing_mark_write: E
16452   SensorService-1249  ( 1136) [006] ...1 157992.297768: tracing_mark_write: E
16453   SensorService-1249  ( 1136) [006] ...1 157992.298056: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16454  sensors@1.0-se-755   (  755) [004] ...1 157992.298670: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16455  sensors@1.0-se-755   (  755) [004] ...1 157992.318561: tracing_mark_write: E
16456   SensorService-1249  ( 1136) [006] ...1 157992.319467: tracing_mark_write: E
16457   SensorService-1249  ( 1136) [006] ...1 157992.319845: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16458  sensors@1.0-se-755   (  755) [004] ...1 157992.320507: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16459  sensors@1.0-se-755   (  755) [004] ...1 157992.337074: tracing_mark_write: E
16460   SensorService-1249  ( 1136) [006] ...1 157992.338069: tracing_mark_write: E
16461   SensorService-1249  ( 1136) [006] ...1 157992.338476: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16462  sensors@1.0-se-755   (  755) [004] ...1 157992.339141: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16463  sensors@1.0-se-755   (  755) [004] ...1 157992.358880: tracing_mark_write: E
16464   SensorService-1249  ( 1136) [006] ...1 157992.359754: tracing_mark_write: E
16465   SensorService-1249  ( 1136) [006] ...1 157992.360104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16466  sensors@1.0-se-755   (  755) [004] ...1 157992.360816: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16467  sensors@1.0-se-755   (  755) [004] ...1 157992.377819: tracing_mark_write: E
16468   SensorService-1249  ( 1136) [006] ...1 157992.378517: tracing_mark_write: E
16469   SensorService-1249  ( 1136) [006] ...1 157992.378793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16470  sensors@1.0-se-755   (  755) [004] ...1 157992.379404: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16471  sensors@1.0-se-755   (  755) [004] ...1 157992.396376: tracing_mark_write: E
16472   SensorService-1249  ( 1136) [006] ...1 157992.397271: tracing_mark_write: E
16473   SensorService-1249  ( 1136) [006] ...1 157992.397803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16474  sensors@1.0-se-755   (  755) [004] ...1 157992.398542: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16475  sensors@1.0-se-755   (  755) [004] ...1 157992.418903: tracing_mark_write: E
16476   SensorService-1249  ( 1136) [006] ...1 157992.419818: tracing_mark_write: E
16477   SensorService-1249  ( 1136) [006] ...1 157992.420106: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16478  sensors@1.0-se-755   (  755) [004] ...1 157992.420734: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16479  sensors@1.0-se-755   (  755) [004] ...1 157992.436690: tracing_mark_write: E
16480   SensorService-1249  ( 1136) [006] ...1 157992.437690: tracing_mark_write: E
16481   SensorService-1249  ( 1136) [006] ...1 157992.438113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16482  sensors@1.0-se-755   (  755) [004] ...1 157992.438773: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16483  sensors@1.0-se-755   (  755) [004] ...1 157992.461880: tracing_mark_write: E
16484   SensorService-1249  ( 1136) [006] ...1 157992.462630: tracing_mark_write: E
16485   SensorService-1249  ( 1136) [006] ...1 157992.462978: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16486  sensors@1.0-se-755   (  755) [004] ...1 157992.463573: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16487  sensors@1.0-se-755   (  755) [004] ...1 157992.477435: tracing_mark_write: E
16488   SensorService-1249  ( 1136) [006] ...1 157992.478301: tracing_mark_write: E
16489   SensorService-1249  ( 1136) [006] ...1 157992.478580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16490  sensors@1.0-se-755   (  755) [004] ...1 157992.479227: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16491  sensors@1.0-se-755   (  755) [004] ...1 157992.498063: tracing_mark_write: E
16492   SensorService-1249  ( 1136) [006] ...1 157992.499058: tracing_mark_write: E
16493   SensorService-1249  ( 1136) [006] ...1 157992.499342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16494  sensors@1.0-se-755   (  755) [004] ...1 157992.499969: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16495  sensors@1.0-se-755   (  755) [004] ...1 157992.516332: tracing_mark_write: E
16496   SensorService-1249  ( 1136) [006] ...1 157992.517038: tracing_mark_write: E
16497   SensorService-1249  ( 1136) [006] ...1 157992.517339: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16498  sensors@1.0-se-755   (  755) [004] ...1 157992.518003: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16499  sensors@1.0-se-755   (  755) [004] ...1 157992.535986: tracing_mark_write: E
16500   SensorService-1249  ( 1136) [006] ...1 157992.536420: tracing_mark_write: E
16501   SensorService-1249  ( 1136) [006] ...1 157992.536592: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16502  sensors@1.0-se-755   (  755) [004] ...1 157992.537038: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16503  sensors@1.0-se-755   (  755) [004] ...1 157992.556288: tracing_mark_write: E
16504   SensorService-1249  ( 1136) [006] ...1 157992.556707: tracing_mark_write: E
16505   SensorService-1249  ( 1136) [006] ...1 157992.556879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16506  sensors@1.0-se-755   (  755) [004] ...1 157992.557324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16507  sensors@1.0-se-755   (  755) [004] ...1 157992.576586: tracing_mark_write: E
16508   SensorService-1249  ( 1136) [006] ...1 157992.577115: tracing_mark_write: E
16509   SensorService-1249  ( 1136) [006] ...1 157992.577273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16510  sensors@1.0-se-755   (  755) [004] ...1 157992.577845: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16511  sensors@1.0-se-755   (  755) [004] ...1 157992.598190: tracing_mark_write: E
16512   SensorService-1249  ( 1136) [006] ...1 157992.599084: tracing_mark_write: E
16513   SensorService-1249  ( 1136) [006] ...1 157992.599479: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16514  sensors@1.0-se-755   (  755) [004] ...1 157992.600179: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16515  sensors@1.0-se-755   (  755) [004] ...1 157992.617185: tracing_mark_write: E
16516   SensorService-1249  ( 1136) [006] ...1 157992.617879: tracing_mark_write: E
16517   SensorService-1249  ( 1136) [006] ...1 157992.618154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16518  sensors@1.0-se-755   (  755) [004] ...1 157992.618369: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16519  sensors@1.0-se-755   (  755) [004] ...1 157992.637468: tracing_mark_write: E
16520   SensorService-1249  ( 1136) [006] ...1 157992.638475: tracing_mark_write: E
16521   SensorService-1249  ( 1136) [006] ...1 157992.638876: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16522  sensors@1.0-se-755   (  755) [004] ...1 157992.639544: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16523  sensors@1.0-se-755   (  755) [004] ...1 157992.657085: tracing_mark_write: E
16524   SensorService-1249  ( 1136) [006] ...1 157992.657831: tracing_mark_write: E
16525   SensorService-1249  ( 1136) [006] ...1 157992.658152: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16526  sensors@1.0-se-755   (  755) [004] ...1 157992.658424: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16527  sensors@1.0-se-755   (  755) [004] ...1 157992.679115: tracing_mark_write: E
16528   SensorService-1249  ( 1136) [006] ...1 157992.680033: tracing_mark_write: E
16529   SensorService-1249  ( 1136) [006] ...1 157992.680427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16530  sensors@1.0-se-755   (  755) [004] ...1 157992.681162: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16531  sensors@1.0-se-755   (  755) [004] ...1 157992.696625: tracing_mark_write: E
16532   SensorService-1249  ( 1136) [006] ...1 157992.697328: tracing_mark_write: E
16533   SensorService-1249  ( 1136) [006] ...1 157992.697681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16534  sensors@1.0-se-755   (  755) [004] ...1 157992.698529: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16535  sensors@1.0-se-755   (  755) [004] ...1 157992.716923: tracing_mark_write: E
16536   SensorService-1249  ( 1136) [006] ...1 157992.717494: tracing_mark_write: E
16537   SensorService-1249  ( 1136) [006] ...1 157992.717724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16538  sensors@1.0-se-755   (  755) [004] ...1 157992.717972: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16539  sensors@1.0-se-755   (  755) [004] ...1 157992.736737: tracing_mark_write: E
16540   SensorService-1249  ( 1136) [006] ...1 157992.737263: tracing_mark_write: E
16541   SensorService-1249  ( 1136) [006] ...1 157992.737401: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16542  sensors@1.0-se-755   (  755) [004] ...1 157992.737843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16543  sensors@1.0-se-755   (  755) [004] ...1 157992.756937: tracing_mark_write: E
16544   SensorService-1249  ( 1136) [006] ...1 157992.757804: tracing_mark_write: E
16545   SensorService-1249  ( 1136) [006] ...1 157992.758089: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16546  sensors@1.0-se-755   (  755) [004] ...1 157992.758672: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16547  sensors@1.0-se-755   (  755) [004] ...1 157992.777367: tracing_mark_write: E
16548   SensorService-1249  ( 1136) [006] ...1 157992.778160: tracing_mark_write: E
16549   SensorService-1249  ( 1136) [006] ...1 157992.778474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16550  sensors@1.0-se-755   (  755) [004] ...1 157992.779090: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16551  sensors@1.0-se-755   (  755) [004] ...1 157992.797986: tracing_mark_write: E
16552   SensorService-1249  ( 1136) [006] ...1 157992.798727: tracing_mark_write: E
16553   SensorService-1249  ( 1136) [006] ...1 157992.799035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16554  sensors@1.0-se-755   (  755) [004] ...1 157992.799621: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16555  sensors@1.0-se-755   (  755) [004] ...1 157992.817983: tracing_mark_write: E
16556   SensorService-1249  ( 1136) [006] ...1 157992.818681: tracing_mark_write: E
16557   SensorService-1249  ( 1136) [006] ...1 157992.818993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16558  sensors@1.0-se-755   (  755) [004] ...1 157992.819215: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16559  sensors@1.0-se-755   (  755) [004] ...1 157992.837055: tracing_mark_write: E
16560   SensorService-1249  ( 1136) [006] ...1 157992.837794: tracing_mark_write: E
16561   SensorService-1249  ( 1136) [006] ...1 157992.838110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16562  sensors@1.0-se-755   (  755) [004] ...1 157992.838333: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16563  sensors@1.0-se-755   (  755) [004] ...1 157992.856838: tracing_mark_write: E
16564   SensorService-1249  ( 1136) [006] ...1 157992.857351: tracing_mark_write: E
16565   SensorService-1249  ( 1136) [006] ...1 157992.857493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16566  sensors@1.0-se-755   (  755) [004] ...1 157992.858160: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16567  sensors@1.0-se-755   (  755) [004] ...1 157992.877889: tracing_mark_write: E
16568   SensorService-1249  ( 1136) [006] ...1 157992.878616: tracing_mark_write: E
16569   SensorService-1249  ( 1136) [006] ...1 157992.878932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16570  sensors@1.0-se-755   (  755) [004] ...1 157992.879531: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16571  sensors@1.0-se-755   (  755) [004] ...1 157992.897833: tracing_mark_write: E
16572   SensorService-1249  ( 1136) [006] ...1 157992.898746: tracing_mark_write: E
16573   SensorService-1249  ( 1136) [006] ...1 157992.899052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16574  sensors@1.0-se-755   (  755) [004] ...1 157992.899789: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16575  sensors@1.0-se-755   (  755) [004] ...1 157992.917123: tracing_mark_write: E
16576   SensorService-1249  ( 1136) [006] ...1 157992.917925: tracing_mark_write: E
16577   SensorService-1249  ( 1136) [006] ...1 157992.918232: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16578  sensors@1.0-se-755   (  755) [004] ...1 157992.918749: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16579  sensors@1.0-se-755   (  755) [004] ...1 157992.941128: tracing_mark_write: E
16580   SensorService-1249  ( 1136) [006] ...1 157992.942104: tracing_mark_write: E
16581   SensorService-1249  ( 1136) [006] ...1 157992.942523: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16582  sensors@1.0-se-755   (  755) [004] ...1 157992.943187: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16583  sensors@1.0-se-755   (  755) [004] ...1 157992.957709: tracing_mark_write: E
16584   SensorService-1249  ( 1136) [006] ...1 157992.958477: tracing_mark_write: E
16585   SensorService-1249  ( 1136) [006] ...1 157992.958776: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16586  sensors@1.0-se-755   (  755) [004] ...1 157992.959439: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16587  sensors@1.0-se-755   (  755) [004] ...1 157992.979195: tracing_mark_write: E
16588   SensorService-1249  ( 1136) [006] ...1 157992.979925: tracing_mark_write: E
16589   SensorService-1249  ( 1136) [006] ...1 157992.980191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16590  sensors@1.0-se-755   (  755) [004] ...1 157992.980800: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16591  sensors@1.0-se-755   (  755) [004] ...1 157992.996794: tracing_mark_write: E
16592   SensorService-1249  ( 1136) [006] ...1 157992.997355: tracing_mark_write: E
16593   SensorService-1249  ( 1136) [006] ...1 157992.997679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16594  sensors@1.0-se-755   (  755) [004] ...1 157992.998159: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16595  sensors@1.0-se-755   (  755) [004] ...1 157993.018179: tracing_mark_write: E
16596   SensorService-1249  ( 1136) [006] ...1 157993.018926: tracing_mark_write: E
16597   SensorService-1249  ( 1136) [006] ...1 157993.019184: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16598  sensors@1.0-se-755   (  755) [004] ...1 157993.019825: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16599  sensors@1.0-se-755   (  755) [004] ...1 157993.038111: tracing_mark_write: E
16600   SensorService-1249  ( 1136) [006] ...1 157993.038986: tracing_mark_write: E
16601   SensorService-1249  ( 1136) [006] ...1 157993.039444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16602  sensors@1.0-se-755   (  755) [004] ...1 157993.040125: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16603  sensors@1.0-se-755   (  755) [004] ...1 157993.058414: tracing_mark_write: E
16604   SensorService-1249  ( 1136) [006] ...1 157993.059152: tracing_mark_write: E
16605   SensorService-1249  ( 1136) [006] ...1 157993.059459: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16606  sensors@1.0-se-755   (  755) [004] ...1 157993.060168: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16607  sensors@1.0-se-755   (  755) [004] ...1 157993.077864: tracing_mark_write: E
16608   SensorService-1249  ( 1136) [006] ...1 157993.078753: tracing_mark_write: E
16609   SensorService-1249  ( 1136) [006] ...1 157993.079012: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16610  sensors@1.0-se-755   (  755) [004] ...1 157993.079607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16611  sensors@1.0-se-755   (  755) [004] ...1 157993.097740: tracing_mark_write: E
16612   SensorService-1249  ( 1136) [006] ...1 157993.098606: tracing_mark_write: E
16613   SensorService-1249  ( 1136) [006] ...1 157993.098891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16614  sensors@1.0-se-755   (  755) [004] ...1 157993.099519: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16615  sensors@1.0-se-755   (  755) [004] ...1 157993.121226: tracing_mark_write: E
16616   SensorService-1249  ( 1136) [006] ...1 157993.122018: tracing_mark_write: E
16617   SensorService-1249  ( 1136) [006] ...1 157993.122280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16618  sensors@1.0-se-755   (  755) [004] ...1 157993.122893: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16619  sensors@1.0-se-755   (  755) [004] ...1 157993.137733: tracing_mark_write: E
16620   SensorService-1249  ( 1136) [006] ...1 157993.138517: tracing_mark_write: E
16621   SensorService-1249  ( 1136) [006] ...1 157993.138778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16622  sensors@1.0-se-755   (  755) [004] ...1 157993.139366: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16623  sensors@1.0-se-755   (  755) [004] ...1 157993.158610: tracing_mark_write: E
16624   SensorService-1249  ( 1136) [006] ...1 157993.159052: tracing_mark_write: E
16625   SensorService-1249  ( 1136) [006] ...1 157993.159518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16626  sensors@1.0-se-755   (  755) [005] ...1 157993.160644: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16627  sensors@1.0-se-755   (  755) [004] ...1 157993.178088: tracing_mark_write: E
16628   SensorService-1249  ( 1136) [006] ...1 157993.178856: tracing_mark_write: E
16629   SensorService-1249  ( 1136) [006] ...1 157993.179185: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16630  sensors@1.0-se-755   (  755) [004] ...1 157993.179744: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16631  sensors@1.0-se-755   (  755) [004] ...1 157993.199862: tracing_mark_write: E
16632   SensorService-1249  ( 1136) [006] ...1 157993.200739: tracing_mark_write: E
16633   SensorService-1249  ( 1136) [006] ...1 157993.201267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16634  sensors@1.0-se-755   (  755) [004] ...1 157993.202017: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16635  sensors@1.0-se-755   (  755) [004] ...1 157993.219076: tracing_mark_write: E
16636   SensorService-1249  ( 1136) [006] ...1 157993.220294: tracing_mark_write: E
16637   SensorService-1249  ( 1136) [006] ...1 157993.220733: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16638  sensors@1.0-se-755   (  755) [004] ...1 157993.221419: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16639  sensors@1.0-se-755   (  755) [004] ...1 157993.239957: tracing_mark_write: E
16640   SensorService-1249  ( 1136) [006] ...1 157993.240835: tracing_mark_write: E
16641   SensorService-1249  ( 1136) [006] ...1 157993.241271: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16642  sensors@1.0-se-755   (  755) [004] ...1 157993.241848: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16643  sensors@1.0-se-755   (  755) [004] ...1 157993.258110: tracing_mark_write: E
16644   SensorService-1249  ( 1136) [006] ...1 157993.259015: tracing_mark_write: E
16645   SensorService-1249  ( 1136) [006] ...1 157993.259425: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16646  sensors@1.0-se-755   (  755) [004] ...1 157993.260085: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16647  sensors@1.0-se-755   (  755) [004] ...1 157993.281614: tracing_mark_write: E
16648   SensorService-1249  ( 1136) [006] ...1 157993.282788: tracing_mark_write: E
16649   SensorService-1249  ( 1136) [006] ...1 157993.283238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16650  sensors@1.0-se-755   (  755) [004] ...1 157993.284175: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16651  sensors@1.0-se-755   (  755) [004] ...1 157993.297813: tracing_mark_write: E
16652   SensorService-1249  ( 1136) [006] ...1 157993.298547: tracing_mark_write: E
16653   SensorService-1249  ( 1136) [006] ...1 157993.298807: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16654  sensors@1.0-se-755   (  755) [004] ...1 157993.299424: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16655  sensors@1.0-se-755   (  755) [004] ...1 157993.317311: tracing_mark_write: E
16656   SensorService-1249  ( 1136) [006] ...1 157993.318178: tracing_mark_write: E
16657   SensorService-1249  ( 1136) [006] ...1 157993.318606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16658  sensors@1.0-se-755   (  755) [004] ...1 157993.319265: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16659  sensors@1.0-se-755   (  755) [004] ...1 157993.337697: tracing_mark_write: E
16660   SensorService-1249  ( 1136) [006] ...1 157993.338426: tracing_mark_write: E
16661   SensorService-1249  ( 1136) [006] ...1 157993.338685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16662  sensors@1.0-se-755   (  755) [004] ...1 157993.339281: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16663  sensors@1.0-se-755   (  755) [004] ...1 157993.357884: tracing_mark_write: E
16664   SensorService-1249  ( 1136) [006] ...1 157993.358612: tracing_mark_write: E
16665   SensorService-1249  ( 1136) [006] ...1 157993.358873: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16666  sensors@1.0-se-755   (  755) [004] ...1 157993.359475: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16667  sensors@1.0-se-755   (  755) [004] ...1 157993.380830: tracing_mark_write: E
16668   SensorService-1249  ( 1136) [006] ...1 157993.382024: tracing_mark_write: E
16669   SensorService-1249  ( 1136) [006] ...1 157993.382411: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16670  sensors@1.0-se-755   (  755) [004] ...1 157993.383101: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16671  sensors@1.0-se-755   (  755) [004] ...1 157993.397799: tracing_mark_write: E
16672   SensorService-1249  ( 1136) [006] ...1 157993.398592: tracing_mark_write: E
16673   SensorService-1249  ( 1136) [006] ...1 157993.398849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16674  sensors@1.0-se-755   (  755) [004] ...1 157993.399449: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16675  sensors@1.0-se-755   (  755) [004] ...1 157993.420325: tracing_mark_write: E
16676   SensorService-1249  ( 1136) [006] ...1 157993.421419: tracing_mark_write: E
16677   SensorService-1249  ( 1136) [006] ...1 157993.421830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16678  sensors@1.0-se-755   (  755) [004] ...1 157993.422488: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16679  sensors@1.0-se-755   (  755) [004] ...1 157993.437961: tracing_mark_write: E
16680   SensorService-1249  ( 1136) [006] ...1 157993.438664: tracing_mark_write: E
16681   SensorService-1249  ( 1136) [006] ...1 157993.438952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16682  sensors@1.0-se-755   (  755) [004] ...1 157993.439557: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16683  sensors@1.0-se-755   (  755) [004] ...1 157993.458105: tracing_mark_write: E
16684   SensorService-1249  ( 1136) [006] ...1 157993.459001: tracing_mark_write: E
16685   SensorService-1249  ( 1136) [006] ...1 157993.459415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16686  sensors@1.0-se-755   (  755) [004] ...1 157993.460078: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16687  sensors@1.0-se-755   (  755) [004] ...1 157993.478046: tracing_mark_write: E
16688   SensorService-1249  ( 1136) [006] ...1 157993.478738: tracing_mark_write: E
16689   SensorService-1249  ( 1136) [006] ...1 157993.478977: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16690  sensors@1.0-se-755   (  755) [004] ...1 157993.479463: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16691  sensors@1.0-se-755   (  755) [004] ...1 157993.501274: tracing_mark_write: E
16692   SensorService-1249  ( 1136) [006] ...1 157993.502182: tracing_mark_write: E
16693   SensorService-1249  ( 1136) [006] ...1 157993.502593: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16694  sensors@1.0-se-755   (  755) [004] ...1 157993.503280: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16695  sensors@1.0-se-755   (  755) [004] ...1 157993.517481: tracing_mark_write: E
16696   SensorService-1249  ( 1136) [006] ...1 157993.518132: tracing_mark_write: E
16697   SensorService-1249  ( 1136) [006] ...1 157993.518385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16698  sensors@1.0-se-755   (  755) [004] ...1 157993.519000: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16699  sensors@1.0-se-755   (  755) [004] ...1 157993.539074: tracing_mark_write: E
16700   SensorService-1249  ( 1136) [006] ...1 157993.539972: tracing_mark_write: E
16701   SensorService-1249  ( 1136) [006] ...1 157993.540361: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16702  sensors@1.0-se-755   (  755) [004] ...1 157993.541080: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16703  sensors@1.0-se-755   (  755) [004] ...1 157993.558812: tracing_mark_write: E
16704   SensorService-1249  ( 1136) [006] ...1 157993.559800: tracing_mark_write: E
16705   SensorService-1249  ( 1136) [006] ...1 157993.560334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16706  sensors@1.0-se-755   (  755) [004] ...1 157993.561124: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16707  sensors@1.0-se-755   (  755) [004] ...1 157993.578103: tracing_mark_write: E
16708   SensorService-1249  ( 1136) [006] ...1 157993.578978: tracing_mark_write: E
16709   SensorService-1249  ( 1136) [006] ...1 157993.579409: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16710  sensors@1.0-se-755   (  755) [004] ...1 157993.580075: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16711  sensors@1.0-se-755   (  755) [004] ...1 157993.601185: tracing_mark_write: E
16712   SensorService-1249  ( 1136) [006] ...1 157993.602630: tracing_mark_write: E
16713   SensorService-1249  ( 1136) [006] ...1 157993.602897: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16714  sensors@1.0-se-755   (  755) [004] ...1 157993.603455: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16715  sensors@1.0-se-755   (  755) [004] ...1 157993.617464: tracing_mark_write: E
16716   SensorService-1249  ( 1136) [006] ...1 157993.618266: tracing_mark_write: E
16717   SensorService-1249  ( 1136) [006] ...1 157993.618475: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16718  sensors@1.0-se-755   (  755) [004] ...1 157993.618708: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16719  sensors@1.0-se-755   (  755) [004] ...1 157993.637027: tracing_mark_write: E
16720   SensorService-1249  ( 1136) [006] ...1 157993.637483: tracing_mark_write: E
16721   SensorService-1249  ( 1136) [006] ...1 157993.637737: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16722  sensors@1.0-se-755   (  755) [004] ...1 157993.637884: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16723  sensors@1.0-se-755   (  755) [004] ...1 157993.657717: tracing_mark_write: E
16724   SensorService-1249  ( 1136) [006] ...1 157993.658106: tracing_mark_write: E
16725   SensorService-1249  ( 1136) [006] ...1 157993.658276: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16726  sensors@1.0-se-755   (  755) [004] ...1 157993.658833: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16727  sensors@1.0-se-755   (  755) [004] ...1 157993.680820: tracing_mark_write: E
16728   SensorService-1249  ( 1136) [006] ...1 157993.681607: tracing_mark_write: E
16729   SensorService-1249  ( 1136) [006] ...1 157993.681920: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16730  sensors@1.0-se-755   (  755) [004] ...1 157993.682520: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16731  sensors@1.0-se-755   (  755) [004] ...1 157993.697804: tracing_mark_write: E
16732   SensorService-1249  ( 1136) [006] ...1 157993.698096: tracing_mark_write: E
16733   SensorService-1249  ( 1136) [006] ...1 157993.698359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16734  sensors@1.0-se-755   (  755) [004] ...1 157993.698949: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16735  sensors@1.0-se-755   (  755) [004] ...1 157993.718770: tracing_mark_write: E
16736   SensorService-1249  ( 1136) [006] ...1 157993.719709: tracing_mark_write: E
16737   SensorService-1249  ( 1136) [006] ...1 157993.720021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16738  sensors@1.0-se-755   (  755) [004] ...1 157993.720666: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16739  sensors@1.0-se-755   (  755) [004] ...1 157993.741398: tracing_mark_write: E
16740   SensorService-1249  ( 1136) [006] ...1 157993.742326: tracing_mark_write: E
16741   SensorService-1249  ( 1136) [006] ...1 157993.742769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16742  sensors@1.0-se-755   (  755) [004] ...1 157993.743397: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16743  sensors@1.0-se-755   (  755) [004] ...1 157993.757831: tracing_mark_write: E
16744   SensorService-1249  ( 1136) [006] ...1 157993.758537: tracing_mark_write: E
16745   SensorService-1249  ( 1136) [006] ...1 157993.758849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16746  sensors@1.0-se-755   (  755) [004] ...1 157993.759462: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16747  sensors@1.0-se-755   (  755) [004] ...1 157993.782945: tracing_mark_write: E
16748   SensorService-1249  ( 1136) [006] ...1 157993.783831: tracing_mark_write: E
16749   SensorService-1249  ( 1136) [006] ...1 157993.784353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16750  sensors@1.0-se-755   (  755) [004] ...1 157993.785006: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16751  sensors@1.0-se-755   (  755) [004] ...1 157993.797877: tracing_mark_write: E
16752   SensorService-1249  ( 1136) [006] ...1 157993.798467: tracing_mark_write: E
16753   SensorService-1249  ( 1136) [006] ...1 157993.798790: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16754  sensors@1.0-se-755   (  755) [004] ...1 157993.799375: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16755  sensors@1.0-se-755   (  755) [004] ...1 157993.822468: tracing_mark_write: E
16756   SensorService-1249  ( 1136) [006] ...1 157993.823577: tracing_mark_write: E
16757   SensorService-1249  ( 1136) [006] ...1 157993.824048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16758  sensors@1.0-se-755   (  755) [004] ...1 157993.824749: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16759  sensors@1.0-se-755   (  755) [004] ...1 157993.838595: tracing_mark_write: E
16760   SensorService-1249  ( 1136) [006] ...1 157993.839302: tracing_mark_write: E
16761   SensorService-1249  ( 1136) [006] ...1 157993.839621: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16762  sensors@1.0-se-755   (  755) [004] ...1 157993.840205: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16763  sensors@1.0-se-755   (  755) [004] ...1 157993.859684: tracing_mark_write: E
16764   SensorService-1249  ( 1136) [006] ...1 157993.860636: tracing_mark_write: E
16765   SensorService-1249  ( 1136) [006] ...1 157993.861259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16766  sensors@1.0-se-755   (  755) [004] ...1 157993.861915: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16767  sensors@1.0-se-755   (  755) [004] ...1 157993.878579: tracing_mark_write: E
16768   SensorService-1249  ( 1136) [006] ...1 157993.879285: tracing_mark_write: E
16769   SensorService-1249  ( 1136) [006] ...1 157993.879607: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16770  sensors@1.0-se-755   (  755) [004] ...1 157993.880187: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16771  sensors@1.0-se-755   (  755) [004] ...1 157993.898831: tracing_mark_write: E
16772   SensorService-1249  ( 1136) [006] ...1 157993.899577: tracing_mark_write: E
16773   SensorService-1249  ( 1136) [006] ...1 157993.899891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16774  sensors@1.0-se-755   (  755) [004] ...1 157993.900470: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16775  sensors@1.0-se-755   (  755) [004] ...1 157993.918140: tracing_mark_write: E
16776   SensorService-1249  ( 1136) [006] ...1 157993.918853: tracing_mark_write: E
16777   SensorService-1249  ( 1136) [006] ...1 157993.919173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16778  sensors@1.0-se-755   (  755) [004] ...1 157993.919786: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16779  sensors@1.0-se-755   (  755) [004] ...1 157993.941048: tracing_mark_write: E
16780   SensorService-1249  ( 1136) [006] ...1 157993.941964: tracing_mark_write: E
16781   SensorService-1249  ( 1136) [006] ...1 157993.942384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16782  sensors@1.0-se-755   (  755) [004] ...1 157993.943078: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16783  sensors@1.0-se-755   (  755) [004] ...1 157993.958466: tracing_mark_write: E
16784   SensorService-1249  ( 1136) [006] ...1 157993.959267: tracing_mark_write: E
16785   SensorService-1249  ( 1136) [006] ...1 157993.959703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16786  sensors@1.0-se-755   (  755) [004] ...1 157993.960483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16787  sensors@1.0-se-755   (  755) [004] ...1 157993.978834: tracing_mark_write: E
16788   SensorService-1249  ( 1136) [006] ...1 157993.979577: tracing_mark_write: E
16789   SensorService-1249  ( 1136) [006] ...1 157993.979874: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16790  sensors@1.0-se-755   (  755) [004] ...1 157993.980806: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16791  sensors@1.0-se-755   (  755) [004] ...1 157993.998754: tracing_mark_write: E
16792   SensorService-1249  ( 1136) [006] ...1 157993.999664: tracing_mark_write: E
16793   SensorService-1249  ( 1136) [006] ...1 157994.000108: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16794  sensors@1.0-se-755   (  755) [004] ...1 157994.000777: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16795  sensors@1.0-se-755   (  755) [004] ...1 157994.019198: tracing_mark_write: E
16796   SensorService-1249  ( 1136) [006] ...1 157994.020135: tracing_mark_write: E
16797   SensorService-1249  ( 1136) [006] ...1 157994.020528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16798  sensors@1.0-se-755   (  755) [004] ...1 157994.021225: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16799  sensors@1.0-se-755   (  755) [004] ...1 157994.039500: tracing_mark_write: E
16800   SensorService-1249  ( 1136) [006] ...1 157994.040247: tracing_mark_write: E
16801   SensorService-1249  ( 1136) [006] ...1 157994.040558: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16802  sensors@1.0-se-755   (  755) [004] ...1 157994.041140: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16803  sensors@1.0-se-755   (  755) [004] ...1 157994.058321: tracing_mark_write: E
16804   SensorService-1249  ( 1136) [006] ...1 157994.059035: tracing_mark_write: E
16805   SensorService-1249  ( 1136) [006] ...1 157994.059355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16806  sensors@1.0-se-755   (  755) [004] ...1 157994.060100: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16807  sensors@1.0-se-755   (  755) [004] ...1 157994.079226: tracing_mark_write: E
16808   SensorService-1249  ( 1136) [006] ...1 157994.080121: tracing_mark_write: E
16809   SensorService-1249  ( 1136) [006] ...1 157994.080557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16810  sensors@1.0-se-755   (  755) [004] ...1 157994.081231: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16811  sensors@1.0-se-755   (  755) [004] ...1 157994.099150: tracing_mark_write: E
16812   SensorService-1249  ( 1136) [006] ...1 157994.099853: tracing_mark_write: E
16813   SensorService-1249  ( 1136) [006] ...1 157994.100173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16814  sensors@1.0-se-755   (  755) [004] ...1 157994.100784: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16815  sensors@1.0-se-755   (  755) [004] ...1 157994.119602: tracing_mark_write: E
16816   SensorService-1249  ( 1136) [006] ...1 157994.120487: tracing_mark_write: E
16817   SensorService-1249  ( 1136) [006] ...1 157994.121028: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16818  sensors@1.0-se-755   (  755) [004] ...1 157994.121708: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16819  sensors@1.0-se-755   (  755) [004] ...1 157994.139254: tracing_mark_write: E
16820   SensorService-1249  ( 1136) [006] ...1 157994.139955: tracing_mark_write: E
16821   SensorService-1249  ( 1136) [006] ...1 157994.140270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16822  sensors@1.0-se-755   (  755) [004] ...1 157994.140853: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16823  sensors@1.0-se-755   (  755) [004] ...1 157994.160209: tracing_mark_write: E
16824   SensorService-1249  ( 1136) [006] ...1 157994.161201: tracing_mark_write: E
16825   SensorService-1249  ( 1136) [006] ...1 157994.161676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16826  sensors@1.0-se-755   (  755) [004] ...1 157994.162333: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16827  sensors@1.0-se-755   (  755) [004] ...1 157994.178810: tracing_mark_write: E
16828   SensorService-1249  ( 1136) [006] ...1 157994.179636: tracing_mark_write: E
16829   SensorService-1249  ( 1136) [006] ...1 157994.179952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16830  sensors@1.0-se-755   (  755) [004] ...1 157994.180650: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16831  sensors@1.0-se-755   (  755) [004] ...1 157994.200460: tracing_mark_write: E
16832   SensorService-1249  ( 1136) [006] ...1 157994.201383: tracing_mark_write: E
16833   SensorService-1249  ( 1136) [006] ...1 157994.201788: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16834  sensors@1.0-se-755   (  755) [004] ...1 157994.202374: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16835  sensors@1.0-se-755   (  755) [004] ...1 157994.218592: tracing_mark_write: E
16836   SensorService-1249  ( 1136) [006] ...1 157994.219133: tracing_mark_write: E
16837   SensorService-1249  ( 1136) [006] ...1 157994.219405: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16838  sensors@1.0-se-755   (  755) [004] ...1 157994.219894: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16839  sensors@1.0-se-755   (  755) [004] ...1 157994.238970: tracing_mark_write: E
16840   SensorService-1249  ( 1136) [006] ...1 157994.239679: tracing_mark_write: E
16841   SensorService-1249  ( 1136) [006] ...1 157994.240013: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16842  sensors@1.0-se-755   (  755) [004] ...1 157994.240618: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16843  sensors@1.0-se-755   (  755) [004] ...1 157994.258747: tracing_mark_write: E
16844   SensorService-1249  ( 1136) [006] ...1 157994.259513: tracing_mark_write: E
16845   SensorService-1249  ( 1136) [006] ...1 157994.259825: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16846  sensors@1.0-se-755   (  755) [004] ...1 157994.260439: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16847  sensors@1.0-se-755   (  755) [004] ...1 157994.280151: tracing_mark_write: E
16848   SensorService-1249  ( 1136) [006] ...1 157994.281131: tracing_mark_write: E
16849   SensorService-1249  ( 1136) [006] ...1 157994.281427: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16850  sensors@1.0-se-755   (  755) [004] ...1 157994.282053: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16851  sensors@1.0-se-755   (  755) [004] ...1 157994.299777: tracing_mark_write: E
16852   SensorService-1249  ( 1136) [006] ...1 157994.300522: tracing_mark_write: E
16853   SensorService-1249  ( 1136) [006] ...1 157994.300832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16854  sensors@1.0-se-755   (  755) [004] ...1 157994.301509: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16855  sensors@1.0-se-755   (  755) [004] ...1 157994.321136: tracing_mark_write: E
16856   SensorService-1249  ( 1136) [006] ...1 157994.321884: tracing_mark_write: E
16857   SensorService-1249  ( 1136) [006] ...1 157994.322201: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16858  sensors@1.0-se-755   (  755) [004] ...1 157994.322783: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16859  sensors@1.0-se-755   (  755) [004] ...1 157994.339615: tracing_mark_write: E
16860   SensorService-1249  ( 1136) [006] ...1 157994.340330: tracing_mark_write: E
16861   SensorService-1249  ( 1136) [006] ...1 157994.340647: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16862  sensors@1.0-se-755   (  755) [004] ...1 157994.341242: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16863  sensors@1.0-se-755   (  755) [004] ...1 157994.360257: tracing_mark_write: E
16864   SensorService-1249  ( 1136) [006] ...1 157994.361215: tracing_mark_write: E
16865   SensorService-1249  ( 1136) [006] ...1 157994.361506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16866  sensors@1.0-se-755   (  755) [004] ...1 157994.362468: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16867  sensors@1.0-se-755   (  755) [004] ...1 157994.378751: tracing_mark_write: E
16868   SensorService-1249  ( 1136) [006] ...1 157994.379574: tracing_mark_write: E
16869   SensorService-1249  ( 1136) [006] ...1 157994.379888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16870  sensors@1.0-se-755   (  755) [004] ...1 157994.380611: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16871  sensors@1.0-se-755   (  755) [004] ...1 157994.399703: tracing_mark_write: E
16872   SensorService-1249  ( 1136) [006] ...1 157994.400586: tracing_mark_write: E
16873   SensorService-1249  ( 1136) [006] ...1 157994.401306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16874  sensors@1.0-se-755   (  755) [004] ...1 157994.401979: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16875  sensors@1.0-se-755   (  755) [004] ...1 157994.419023: tracing_mark_write: E
16876   SensorService-1249  ( 1136) [006] ...1 157994.419755: tracing_mark_write: E
16877   SensorService-1249  ( 1136) [006] ...1 157994.420069: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16878  sensors@1.0-se-755   (  755) [004] ...1 157994.420688: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16879  sensors@1.0-se-755   (  755) [004] ...1 157994.439094: tracing_mark_write: E
16880   SensorService-1249  ( 1136) [006] ...1 157994.440035: tracing_mark_write: E
16881   SensorService-1249  ( 1136) [006] ...1 157994.440468: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16882  sensors@1.0-se-755   (  755) [004] ...1 157994.441135: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16883  sensors@1.0-se-755   (  755) [004] ...1 157994.459226: tracing_mark_write: E
16884   SensorService-1249  ( 1136) [006] ...1 157994.460139: tracing_mark_write: E
16885   SensorService-1249  ( 1136) [006] ...1 157994.460506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16886  sensors@1.0-se-755   (  755) [004] ...1 157994.461168: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16887  sensors@1.0-se-755   (  755) [004] ...1 157994.479249: tracing_mark_write: E
16888   SensorService-1249  ( 1136) [006] ...1 157994.479979: tracing_mark_write: E
16889   SensorService-1249  ( 1136) [006] ...1 157994.480242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16890  sensors@1.0-se-755   (  755) [004] ...1 157994.480834: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16891  sensors@1.0-se-755   (  755) [004] ...1 157994.502674: tracing_mark_write: E
16892   SensorService-1249  ( 1136) [006] ...1 157994.503626: tracing_mark_write: E
16893   SensorService-1249  ( 1136) [006] ...1 157994.503980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16894  sensors@1.0-se-755   (  755) [004] ...1 157994.504647: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16895  sensors@1.0-se-755   (  755) [004] ...1 157994.519488: tracing_mark_write: E
16896   SensorService-1249  ( 1136) [006] ...1 157994.520193: tracing_mark_write: E
16897   SensorService-1249  ( 1136) [006] ...1 157994.520449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16898  sensors@1.0-se-755   (  755) [004] ...1 157994.520653: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16899  sensors@1.0-se-755   (  755) [004] ...1 157994.539382: tracing_mark_write: E
16900   SensorService-1249  ( 1136) [006] ...1 157994.540090: tracing_mark_write: E
16901   SensorService-1249  ( 1136) [006] ...1 157994.540396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16902  sensors@1.0-se-755   (  755) [004] ...1 157994.541002: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16903  sensors@1.0-se-755   (  755) [004] ...1 157994.559559: tracing_mark_write: E
16904   SensorService-1249  ( 1136) [006] ...1 157994.559821: tracing_mark_write: E
16905   SensorService-1249  ( 1136) [006] ...1 157994.560044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16906  sensors@1.0-se-755   (  755) [004] ...1 157994.560528: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16907  sensors@1.0-se-755   (  755) [004] ...1 157994.582494: tracing_mark_write: E
16908   SensorService-1249  ( 1136) [006] ...1 157994.583246: tracing_mark_write: E
16909   SensorService-1249  ( 1136) [006] ...1 157994.583612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16910  sensors@1.0-se-755   (  755) [004] ...1 157994.584197: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16911  sensors@1.0-se-755   (  755) [004] ...1 157994.600353: tracing_mark_write: E
16912   SensorService-1249  ( 1136) [006] ...1 157994.601090: tracing_mark_write: E
16913   SensorService-1249  ( 1136) [006] ...1 157994.601389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16914  sensors@1.0-se-755   (  755) [004] ...1 157994.602004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16915  sensors@1.0-se-755   (  755) [004] ...1 157994.619269: tracing_mark_write: E
16916   SensorService-1249  ( 1136) [006] ...1 157994.620023: tracing_mark_write: E
16917   SensorService-1249  ( 1136) [006] ...1 157994.620326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16918  sensors@1.0-se-755   (  755) [004] ...1 157994.621002: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16919  sensors@1.0-se-755   (  755) [004] ...1 157994.638459: tracing_mark_write: E
16920   SensorService-1249  ( 1136) [006] ...1 157994.639016: tracing_mark_write: E
16921   SensorService-1249  ( 1136) [006] ...1 157994.639265: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16922  sensors@1.0-se-755   (  755) [004] ...1 157994.639743: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16923  sensors@1.0-se-755   (  755) [004] ...1 157994.659989: tracing_mark_write: E
16924   SensorService-1249  ( 1136) [006] ...1 157994.660977: tracing_mark_write: E
16925   SensorService-1249  ( 1136) [006] ...1 157994.661408: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16926  sensors@1.0-se-755   (  755) [004] ...1 157994.662099: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16927  sensors@1.0-se-755   (  755) [004] ...1 157994.681367: tracing_mark_write: E
16928   SensorService-1249  ( 1136) [006] ...1 157994.682267: tracing_mark_write: E
16929   SensorService-1249  ( 1136) [006] ...1 157994.682675: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16930  sensors@1.0-se-755   (  755) [004] ...1 157994.683335: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16931  sensors@1.0-se-755   (  755) [004] ...1 157994.699124: tracing_mark_write: E
16932   SensorService-1249  ( 1136) [006] ...1 157994.699867: tracing_mark_write: E
16933   SensorService-1249  ( 1136) [006] ...1 157994.700183: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16934  sensors@1.0-se-755   (  755) [004] ...1 157994.700771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16935  sensors@1.0-se-755   (  755) [004] ...1 157994.720164: tracing_mark_write: E
16936   SensorService-1249  ( 1136) [006] ...1 157994.721033: tracing_mark_write: E
16937   SensorService-1249  ( 1136) [006] ...1 157994.721340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16938  sensors@1.0-se-755   (  755) [004] ...1 157994.721922: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16939  sensors@1.0-se-755   (  755) [004] ...1 157994.739283: tracing_mark_write: E
16940   SensorService-1249  ( 1136) [006] ...1 157994.740043: tracing_mark_write: E
16941   SensorService-1249  ( 1136) [006] ...1 157994.740361: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16942  sensors@1.0-se-755   (  755) [004] ...1 157994.741046: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16943  sensors@1.0-se-755   (  755) [004] ...1 157994.759810: tracing_mark_write: E
16944   SensorService-1249  ( 1136) [006] ...1 157994.760571: tracing_mark_write: E
16945   SensorService-1249  ( 1136) [006] ...1 157994.760999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16946  sensors@1.0-se-755   (  755) [004] ...1 157994.761587: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16947  sensors@1.0-se-755   (  755) [004] ...1 157994.778957: tracing_mark_write: E
16948   SensorService-1249  ( 1136) [006] ...1 157994.779657: tracing_mark_write: E
16949   SensorService-1249  ( 1136) [006] ...1 157994.779964: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16950  sensors@1.0-se-755   (  755) [004] ...1 157994.780549: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16951  sensors@1.0-se-755   (  755) [004] ...1 157994.800525: tracing_mark_write: E
16952   SensorService-1249  ( 1136) [006] ...1 157994.801473: tracing_mark_write: E
16953   SensorService-1249  ( 1136) [006] ...1 157994.801921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16954  sensors@1.0-se-755   (  755) [004] ...1 157994.802639: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16955  sensors@1.0-se-755   (  755) [004] ...1 157994.819642: tracing_mark_write: E
16956   SensorService-1249  ( 1136) [006] ...1 157994.820336: tracing_mark_write: E
16957   SensorService-1249  ( 1136) [006] ...1 157994.820583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16958  sensors@1.0-se-755   (  755) [004] ...1 157994.821169: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16959  sensors@1.0-se-755   (  755) [004] ...1 157994.839917: tracing_mark_write: E
16960   SensorService-1249  ( 1136) [006] ...1 157994.841056: tracing_mark_write: E
16961   SensorService-1249  ( 1136) [006] ...1 157994.841500: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16962  sensors@1.0-se-755   (  755) [004] ...1 157994.842174: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16963  sensors@1.0-se-755   (  755) [004] ...1 157994.859392: tracing_mark_write: E
16964   SensorService-1249  ( 1136) [006] ...1 157994.859699: tracing_mark_write: E
16965   SensorService-1249  ( 1136) [006] ...1 157994.860020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16966  sensors@1.0-se-755   (  755) [004] ...1 157994.861277: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16967  sensors@1.0-se-755   (  755) [004] ...1 157994.879284: tracing_mark_write: E
16968   SensorService-1249  ( 1136) [006] ...1 157994.880051: tracing_mark_write: E
16969   SensorService-1249  ( 1136) [006] ...1 157994.880287: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16970  sensors@1.0-se-755   (  755) [004] ...1 157994.880755: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16971  sensors@1.0-se-755   (  755) [004] ...1 157994.902597: tracing_mark_write: E
16972   SensorService-1249  ( 1136) [006] ...1 157994.903329: tracing_mark_write: E
16973   SensorService-1249  ( 1136) [006] ...1 157994.903639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16974  sensors@1.0-se-755   (  755) [004] ...1 157994.904320: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16975  sensors@1.0-se-755   (  755) [004] ...1 157994.919755: tracing_mark_write: E
16976   SensorService-1249  ( 1136) [006] ...1 157994.920503: tracing_mark_write: E
16977   SensorService-1249  ( 1136) [006] ...1 157994.920819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16978  sensors@1.0-se-755   (  755) [004] ...1 157994.921507: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16979  sensors@1.0-se-755   (  755) [004] ...1 157994.940195: tracing_mark_write: E
16980   SensorService-1249  ( 1136) [006] ...1 157994.941310: tracing_mark_write: E
16981   SensorService-1249  ( 1136) [006] ...1 157994.941718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16982  sensors@1.0-se-755   (  755) [004] ...1 157994.942388: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16983  sensors@1.0-se-755   (  755) [004] ...1 157994.960110: tracing_mark_write: E
16984   SensorService-1249  ( 1136) [006] ...1 157994.960984: tracing_mark_write: E
16985   SensorService-1249  ( 1136) [006] ...1 157994.961294: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16986  sensors@1.0-se-755   (  755) [004] ...1 157994.961930: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16987  sensors@1.0-se-755   (  755) [004] ...1 157994.979892: tracing_mark_write: E
16988   SensorService-1249  ( 1136) [006] ...1 157994.980828: tracing_mark_write: E
16989   SensorService-1249  ( 1136) [006] ...1 157994.981342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16990  sensors@1.0-se-755   (  755) [004] ...1 157994.982000: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16991  sensors@1.0-se-755   (  755) [004] ...1 157994.999634: tracing_mark_write: E
16992   SensorService-1249  ( 1136) [006] ...1 157995.000508: tracing_mark_write: E
16993   SensorService-1249  ( 1136) [006] ...1 157995.001035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16994  sensors@1.0-se-755   (  755) [004] ...1 157995.001736: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16995  sensors@1.0-se-755   (  755) [004] ...1 157995.019771: tracing_mark_write: E
16996   SensorService-1249  ( 1136) [006] ...1 157995.020663: tracing_mark_write: E
16997   SensorService-1249  ( 1136) [006] ...1 157995.021186: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
16998  sensors@1.0-se-755   (  755) [004] ...1 157995.022030: tracing_mark_write: B|755|HIDL::ISensors::poll::server
16999  sensors@1.0-se-755   (  755) [004] ...1 157995.041467: tracing_mark_write: E
17000   SensorService-1249  ( 1136) [006] ...1 157995.042374: tracing_mark_write: E
17001   SensorService-1249  ( 1136) [006] ...1 157995.042815: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17002  sensors@1.0-se-755   (  755) [004] ...1 157995.043488: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17003  sensors@1.0-se-755   (  755) [004] ...1 157995.059665: tracing_mark_write: E
17004   SensorService-1249  ( 1136) [006] ...1 157995.060584: tracing_mark_write: E
17005   SensorService-1249  ( 1136) [006] ...1 157995.061112: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17006  sensors@1.0-se-755   (  755) [004] ...1 157995.061786: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17007  sensors@1.0-se-755   (  755) [004] ...1 157995.080117: tracing_mark_write: E
17008   SensorService-1249  ( 1136) [006] ...1 157995.081183: tracing_mark_write: E
17009   SensorService-1249  ( 1136) [006] ...1 157995.081597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17010  sensors@1.0-se-755   (  755) [004] ...1 157995.082398: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17011  sensors@1.0-se-755   (  755) [004] ...1 157995.099768: tracing_mark_write: E
17012   SensorService-1249  ( 1136) [006] ...1 157995.100534: tracing_mark_write: E
17013   SensorService-1249  ( 1136) [006] ...1 157995.100845: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17014  sensors@1.0-se-755   (  755) [004] ...1 157995.101561: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17015  sensors@1.0-se-755   (  755) [004] ...1 157995.120644: tracing_mark_write: E
17016   SensorService-1249  ( 1136) [006] ...1 157995.121533: tracing_mark_write: E
17017   SensorService-1249  ( 1136) [006] ...1 157995.121979: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17018  sensors@1.0-se-755   (  755) [004] ...1 157995.122686: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17019  sensors@1.0-se-755   (  755) [004] ...1 157995.140312: tracing_mark_write: E
17020   SensorService-1249  ( 1136) [006] ...1 157995.141242: tracing_mark_write: E
17021   SensorService-1249  ( 1136) [006] ...1 157995.141634: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17022  sensors@1.0-se-755   (  755) [004] ...1 157995.142319: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17023  sensors@1.0-se-755   (  755) [004] ...1 157995.159579: tracing_mark_write: E
17024   SensorService-1249  ( 1136) [006] ...1 157995.160157: tracing_mark_write: E
17025   SensorService-1249  ( 1136) [006] ...1 157995.160391: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17026  sensors@1.0-se-755   (  755) [004] ...1 157995.160962: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17027  sensors@1.0-se-755   (  755) [004] ...1 157995.179705: tracing_mark_write: E
17028   SensorService-1249  ( 1136) [006] ...1 157995.180427: tracing_mark_write: E
17029   SensorService-1249  ( 1136) [006] ...1 157995.180709: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17030  sensors@1.0-se-755   (  755) [004] ...1 157995.181029: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17031  sensors@1.0-se-755   (  755) [004] ...1 157995.198328: tracing_mark_write: E
17032   SensorService-1249  ( 1136) [006] ...1 157995.198898: tracing_mark_write: E
17033   SensorService-1249  ( 1136) [006] ...1 157995.199062: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17034  sensors@1.0-se-755   (  755) [004] ...1 157995.199215: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17035  sensors@1.0-se-755   (  755) [004] ...1 157995.219866: tracing_mark_write: E
17036   SensorService-1249  ( 1136) [006] ...1 157995.220449: tracing_mark_write: E
17037   SensorService-1249  ( 1136) [006] ...1 157995.220613: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17038  sensors@1.0-se-755   (  755) [004] ...1 157995.221147: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17039  sensors@1.0-se-755   (  755) [004] ...1 157995.238448: tracing_mark_write: E
17040   SensorService-1249  ( 1136) [006] ...1 157995.238972: tracing_mark_write: E
17041   SensorService-1249  ( 1136) [006] ...1 157995.239130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17042  sensors@1.0-se-755   (  755) [004] ...1 157995.239281: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17043  sensors@1.0-se-755   (  755) [004] ...1 157995.258165: tracing_mark_write: E
17044   SensorService-1249  ( 1136) [006] ...1 157995.258705: tracing_mark_write: E
17045   SensorService-1249  ( 1136) [006] ...1 157995.258868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17046  sensors@1.0-se-755   (  755) [004] ...1 157995.259017: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17047  sensors@1.0-se-755   (  755) [004] ...1 157995.279822: tracing_mark_write: E
17048   SensorService-1249  ( 1136) [006] ...1 157995.280579: tracing_mark_write: E
17049   SensorService-1249  ( 1136) [006] ...1 157995.280984: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17050  sensors@1.0-se-755   (  755) [004] ...1 157995.281205: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17051  sensors@1.0-se-755   (  755) [004] ...1 157995.298816: tracing_mark_write: E
17052   SensorService-1249  ( 1136) [006] ...1 157995.299563: tracing_mark_write: E
17053   SensorService-1249  ( 1136) [006] ...1 157995.299856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17054  sensors@1.0-se-755   (  755) [004] ...1 157995.300077: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17055  sensors@1.0-se-755   (  755) [004] ...1 157995.321694: tracing_mark_write: E
17056   SensorService-1249  ( 1136) [006] ...1 157995.322567: tracing_mark_write: E
17057   SensorService-1249  ( 1136) [006] ...1 157995.322978: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17058  sensors@1.0-se-755   (  755) [004] ...1 157995.323232: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17059  sensors@1.0-se-755   (  755) [004] ...1 157995.339794: tracing_mark_write: E
17060   SensorService-1249  ( 1136) [006] ...1 157995.340660: tracing_mark_write: E
17061   SensorService-1249  ( 1136) [006] ...1 157995.341031: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17062  sensors@1.0-se-755   (  755) [004] ...1 157995.341624: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17063  sensors@1.0-se-755   (  755) [004] ...1 157995.363065: tracing_mark_write: E
17064   SensorService-1249  ( 1136) [006] ...1 157995.364021: tracing_mark_write: E
17065   SensorService-1249  ( 1136) [006] ...1 157995.364516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17066  sensors@1.0-se-755   (  755) [004] ...1 157995.365172: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17067  sensors@1.0-se-755   (  755) [004] ...1 157995.379461: tracing_mark_write: E
17068   SensorService-1249  ( 1136) [006] ...1 157995.380205: tracing_mark_write: E
17069   SensorService-1249  ( 1136) [006] ...1 157995.380501: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17070  sensors@1.0-se-755   (  755) [004] ...1 157995.381269: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17071  sensors@1.0-se-755   (  755) [004] ...1 157995.399826: tracing_mark_write: E
17072   SensorService-1249  ( 1136) [006] ...1 157995.400523: tracing_mark_write: E
17073   SensorService-1249  ( 1136) [006] ...1 157995.400811: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17074  sensors@1.0-se-755   (  755) [004] ...1 157995.401693: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17075  sensors@1.0-se-755   (  755) [004] ...1 157995.423751: tracing_mark_write: E
17076   SensorService-1249  ( 1136) [006] ...1 157995.424660: tracing_mark_write: E
17077   SensorService-1249  ( 1136) [006] ...1 157995.425086: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17078  sensors@1.0-se-755   (  755) [004] ...1 157995.425737: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17079  sensors@1.0-se-755   (  755) [004] ...1 157995.439494: tracing_mark_write: E
17080   SensorService-1249  ( 1136) [006] ...1 157995.440384: tracing_mark_write: E
17081   SensorService-1249  ( 1136) [006] ...1 157995.440671: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17082  sensors@1.0-se-755   (  755) [004] ...1 157995.441310: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17083  sensors@1.0-se-755   (  755) [004] ...1 157995.463157: tracing_mark_write: E
17084   SensorService-1249  ( 1136) [006] ...1 157995.463978: tracing_mark_write: E
17085   SensorService-1249  ( 1136) [006] ...1 157995.464342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17086  sensors@1.0-se-755   (  755) [004] ...1 157995.464983: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17087  sensors@1.0-se-755   (  755) [004] ...1 157995.479047: tracing_mark_write: E
17088   SensorService-1249  ( 1136) [006] ...1 157995.479598: tracing_mark_write: E
17089   SensorService-1249  ( 1136) [006] ...1 157995.479896: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17090  sensors@1.0-se-755   (  755) [004] ...1 157995.480390: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17091  sensors@1.0-se-755   (  755) [004] ...1 157995.500986: tracing_mark_write: E
17092   SensorService-1249  ( 1136) [006] ...1 157995.501913: tracing_mark_write: E
17093   SensorService-1249  ( 1136) [006] ...1 157995.502301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17094  sensors@1.0-se-755   (  755) [004] ...1 157995.503004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17095  sensors@1.0-se-755   (  755) [004] ...1 157995.520602: tracing_mark_write: E
17096   SensorService-1249  ( 1136) [006] ...1 157995.521487: tracing_mark_write: E
17097   SensorService-1249  ( 1136) [006] ...1 157995.521889: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17098  sensors@1.0-se-755   (  755) [004] ...1 157995.522606: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17099  sensors@1.0-se-755   (  755) [004] ...1 157995.541177: tracing_mark_write: E
17100   SensorService-1249  ( 1136) [006] ...1 157995.542329: tracing_mark_write: E
17101   SensorService-1249  ( 1136) [006] ...1 157995.542732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17102  sensors@1.0-se-755   (  755) [004] ...1 157995.543388: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17103  sensors@1.0-se-755   (  755) [004] ...1 157995.560257: tracing_mark_write: E
17104   SensorService-1249  ( 1136) [006] ...1 157995.561167: tracing_mark_write: E
17105   SensorService-1249  ( 1136) [006] ...1 157995.561560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17106  sensors@1.0-se-755   (  755) [004] ...1 157995.562221: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17107  sensors@1.0-se-755   (  755) [004] ...1 157995.583841: tracing_mark_write: E
17108   SensorService-1249  ( 1136) [006] ...1 157995.584807: tracing_mark_write: E
17109   SensorService-1249  ( 1136) [006] ...1 157995.585334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17110  sensors@1.0-se-755   (  755) [004] ...1 157995.585988: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17111  sensors@1.0-se-755   (  755) [004] ...1 157995.599801: tracing_mark_write: E
17112   SensorService-1249  ( 1136) [006] ...1 157995.600567: tracing_mark_write: E
17113   SensorService-1249  ( 1136) [006] ...1 157995.601018: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17114  sensors@1.0-se-755   (  755) [004] ...1 157995.601614: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17115  sensors@1.0-se-755   (  755) [004] ...1 157995.619569: tracing_mark_write: E
17116   SensorService-1249  ( 1136) [006] ...1 157995.619876: tracing_mark_write: E
17117   SensorService-1249  ( 1136) [006] ...1 157995.620193: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17118  sensors@1.0-se-755   (  755) [004] ...1 157995.620782: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17119  sensors@1.0-se-755   (  755) [004] ...1 157995.640002: tracing_mark_write: E
17120   SensorService-1249  ( 1136) [006] ...1 157995.640725: tracing_mark_write: E
17121   SensorService-1249  ( 1136) [006] ...1 157995.641176: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17122  sensors@1.0-se-755   (  755) [004] ...1 157995.641772: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17123  sensors@1.0-se-755   (  755) [004] ...1 157995.659583: tracing_mark_write: E
17124   SensorService-1249  ( 1136) [006] ...1 157995.660331: tracing_mark_write: E
17125   SensorService-1249  ( 1136) [006] ...1 157995.660650: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17126  sensors@1.0-se-755   (  755) [004] ...1 157995.661244: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17127  sensors@1.0-se-755   (  755) [004] ...1 157995.681185: tracing_mark_write: E
17128   SensorService-1249  ( 1136) [006] ...1 157995.681998: tracing_mark_write: E
17129   SensorService-1249  ( 1136) [006] ...1 157995.682273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17130  sensors@1.0-se-755   (  755) [004] ...1 157995.682861: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17131  sensors@1.0-se-755   (  755) [004] ...1 157995.700108: tracing_mark_write: E
17132   SensorService-1249  ( 1136) [006] ...1 157995.701035: tracing_mark_write: E
17133   SensorService-1249  ( 1136) [006] ...1 157995.701332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17134  sensors@1.0-se-755   (  755) [004] ...1 157995.701962: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17135  sensors@1.0-se-755   (  755) [004] ...1 157995.719450: tracing_mark_write: E
17136   SensorService-1249  ( 1136) [006] ...1 157995.719998: tracing_mark_write: E
17137   SensorService-1249  ( 1136) [006] ...1 157995.720286: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17138  sensors@1.0-se-755   (  755) [004] ...1 157995.720753: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17139  sensors@1.0-se-755   (  755) [004] ...1 157995.739104: tracing_mark_write: E
17140   SensorService-1249  ( 1136) [006] ...1 157995.739278: tracing_mark_write: E
17141   SensorService-1249  ( 1136) [006] ...1 157995.739436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17142  sensors@1.0-se-755   (  755) [004] ...1 157995.739537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17143  sensors@1.0-se-755   (  755) [004] ...1 157995.758263: tracing_mark_write: E
17144   SensorService-1249  ( 1136) [006] ...1 157995.758322: tracing_mark_write: E
17145   SensorService-1249  ( 1136) [006] ...1 157995.758392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17146  sensors@1.0-se-755   (  755) [004] ...1 157995.758448: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17147  sensors@1.0-se-755   (  755) [004] ...1 157995.778240: tracing_mark_write: E
17148   SensorService-1249  ( 1136) [006] ...1 157995.778293: tracing_mark_write: E
17149   SensorService-1249  ( 1136) [006] ...1 157995.778363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17150  sensors@1.0-se-755   (  755) [004] ...1 157995.778416: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17151  sensors@1.0-se-755   (  755) [004] ...1 157995.798275: tracing_mark_write: E
17152   SensorService-1249  ( 1136) [006] ...1 157995.798315: tracing_mark_write: E
17153   SensorService-1249  ( 1136) [006] ...1 157995.798367: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17154  sensors@1.0-se-755   (  755) [004] ...1 157995.798407: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17155  sensors@1.0-se-755   (  755) [004] ...1 157995.818369: tracing_mark_write: E
17156   SensorService-1249  ( 1136) [006] ...1 157995.818403: tracing_mark_write: E
17157   SensorService-1249  ( 1136) [006] ...1 157995.818442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17158  sensors@1.0-se-755   (  755) [004] ...1 157995.818473: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17159  sensors@1.0-se-755   (  755) [004] ...1 157995.838408: tracing_mark_write: E
17160   SensorService-1249  ( 1136) [006] ...1 157995.838434: tracing_mark_write: E
17161   SensorService-1249  ( 1136) [006] ...1 157995.838458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17162  sensors@1.0-se-755   (  755) [004] ...1 157995.838483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17163  sensors@1.0-se-755   (  755) [004] ...1 157995.858503: tracing_mark_write: E
17164   SensorService-1249  ( 1136) [006] ...1 157995.858524: tracing_mark_write: E
17165   SensorService-1249  ( 1136) [006] ...1 157995.858551: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17166  sensors@1.0-se-755   (  755) [004] ...1 157995.858571: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17167  sensors@1.0-se-755   (  755) [004] ...1 157995.878221: tracing_mark_write: E
17168   SensorService-1249  ( 1136) [006] ...1 157995.878239: tracing_mark_write: E
17169   SensorService-1249  ( 1136) [006] ...1 157995.878261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17170  sensors@1.0-se-755   (  755) [004] ...1 157995.878280: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17171  sensors@1.0-se-755   (  755) [006] ...1 157995.898522: tracing_mark_write: E
17172   SensorService-1249  ( 1136) [000] ...1 157995.898690: tracing_mark_write: E
17173   SensorService-1249  ( 1136) [000] ...1 157995.898922: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17174  sensors@1.0-se-755   (  755) [006] ...1 157995.899064: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17175  sensors@1.0-se-755   (  755) [006] ...1 157995.919512: tracing_mark_write: E
17176   SensorService-1249  ( 1136) [000] ...1 157995.919666: tracing_mark_write: E
17177   SensorService-1249  ( 1136) [000] ...1 157995.919879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17178  sensors@1.0-se-755   (  755) [006] ...1 157995.920019: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17179  sensors@1.0-se-755   (  755) [007] ...1 157995.938482: tracing_mark_write: E
17180   SensorService-1249  ( 1136) [000] ...1 157995.938651: tracing_mark_write: E
17181   SensorService-1249  ( 1136) [000] ...1 157995.938892: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17182  sensors@1.0-se-755   (  755) [007] ...1 157995.939045: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17183  sensors@1.0-se-755   (  755) [007] ...1 157995.958204: tracing_mark_write: E
17184   SensorService-1249  ( 1136) [000] ...1 157995.958301: tracing_mark_write: E
17185   SensorService-1249  ( 1136) [000] ...1 157995.958414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17186  sensors@1.0-se-755   (  755) [007] ...1 157995.958493: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17187  sensors@1.0-se-755   (  755) [007] ...1 157995.978702: tracing_mark_write: E
17188   SensorService-1249  ( 1136) [000] ...1 157995.978801: tracing_mark_write: E
17189   SensorService-1249  ( 1136) [000] ...1 157995.978916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17190  sensors@1.0-se-755   (  755) [007] ...1 157995.979008: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17191  sensors@1.0-se-755   (  755) [007] ...1 157995.998532: tracing_mark_write: E
17192   SensorService-1249  ( 1136) [000] ...1 157995.998674: tracing_mark_write: E
17193   SensorService-1249  ( 1136) [000] ...1 157995.998802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17194  sensors@1.0-se-755   (  755) [007] ...1 157995.998961: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17195  sensors@1.0-se-755   (  755) [007] ...1 157996.019038: tracing_mark_write: E
17196   SensorService-1249  ( 1136) [000] ...1 157996.019165: tracing_mark_write: E
17197   SensorService-1249  ( 1136) [000] ...1 157996.019273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17198  sensors@1.0-se-755   (  755) [007] ...1 157996.019420: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17199  sensors@1.0-se-755   (  755) [007] ...1 157996.039229: tracing_mark_write: E
17200   SensorService-1249  ( 1136) [000] ...1 157996.039429: tracing_mark_write: E
17201   SensorService-1249  ( 1136) [000] ...1 157996.039538: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17202  sensors@1.0-se-755   (  755) [007] ...1 157996.040296: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17203  sensors@1.0-se-755   (  755) [007] ...1 157996.059376: tracing_mark_write: E
17204   SensorService-1249  ( 1136) [000] ...1 157996.059540: tracing_mark_write: E
17205   SensorService-1249  ( 1136) [000] ...1 157996.059664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17206  sensors@1.0-se-755   (  755) [007] ...1 157996.060174: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17207  sensors@1.0-se-755   (  755) [007] ...1 157996.079689: tracing_mark_write: E
17208   SensorService-1249  ( 1136) [000] ...1 157996.079887: tracing_mark_write: E
17209   SensorService-1249  ( 1136) [000] ...1 157996.080034: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17210  sensors@1.0-se-755   (  755) [007] ...1 157996.081075: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17211  sensors@1.0-se-755   (  755) [007] ...1 157996.100953: tracing_mark_write: E
17212   SensorService-1249  ( 1136) [000] ...1 157996.101199: tracing_mark_write: E
17213   SensorService-1249  ( 1136) [000] ...1 157996.101382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17214  sensors@1.0-se-755   (  755) [007] ...1 157996.102014: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17215  sensors@1.0-se-755   (  755) [007] ...1 157996.120066: tracing_mark_write: E
17216   SensorService-1249  ( 1136) [000] ...1 157996.120704: tracing_mark_write: E
17217   SensorService-1249  ( 1136) [000] ...1 157996.120975: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17218  sensors@1.0-se-755   (  755) [007] ...1 157996.123048: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17219  sensors@1.0-se-755   (  755) [007] ...1 157996.139719: tracing_mark_write: E
17220   SensorService-1249  ( 1136) [000] ...1 157996.140181: tracing_mark_write: E
17221   SensorService-1249  ( 1136) [000] ...1 157996.140337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17222  sensors@1.0-se-755   (  755) [007] ...1 157996.140822: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17223  sensors@1.0-se-755   (  755) [004] ...1 157996.160389: tracing_mark_write: E
17224   SensorService-1249  ( 1136) [000] ...1 157996.160688: tracing_mark_write: E
17225   SensorService-1249  ( 1136) [000] ...1 157996.161078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17226  sensors@1.0-se-755   (  755) [004] ...1 157996.161686: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17227  sensors@1.0-se-755   (  755) [004] ...1 157996.180130: tracing_mark_write: E
17228   SensorService-1249  ( 1136) [000] ...1 157996.180639: tracing_mark_write: E
17229   SensorService-1249  ( 1136) [000] ...1 157996.180817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17230  sensors@1.0-se-755   (  755) [004] ...1 157996.181038: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17231  sensors@1.0-se-755   (  755) [004] ...1 157996.201081: tracing_mark_write: E
17232   SensorService-1249  ( 1136) [000] ...1 157996.201716: tracing_mark_write: E
17233   SensorService-1249  ( 1136) [000] ...1 157996.201923: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17234  sensors@1.0-se-755   (  755) [004] ...1 157996.204029: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17235  sensors@1.0-se-755   (  755) [004] ...1 157996.222599: tracing_mark_write: E
17236   SensorService-1249  ( 1136) [000] ...1 157996.223124: tracing_mark_write: E
17237   SensorService-1249  ( 1136) [000] ...1 157996.223337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17238  sensors@1.0-se-755   (  755) [004] ...1 157996.225517: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17239  sensors@1.0-se-755   (  755) [004] ...1 157996.240965: tracing_mark_write: E
17240   SensorService-1249  ( 1136) [000] ...1 157996.241188: tracing_mark_write: E
17241   SensorService-1249  ( 1136) [000] ...1 157996.241352: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17242  sensors@1.0-se-755   (  755) [004] ...1 157996.242324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17243  sensors@1.0-se-755   (  755) [004] ...1 157996.262731: tracing_mark_write: E
17244   SensorService-1249  ( 1136) [000] ...1 157996.263309: tracing_mark_write: E
17245   SensorService-1249  ( 1136) [000] ...1 157996.263665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17246  sensors@1.0-se-755   (  755) [004] ...1 157996.265761: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17247  sensors@1.0-se-755   (  755) [004] ...1 157996.281353: tracing_mark_write: E
17248   SensorService-1249  ( 1136) [000] ...1 157996.281758: tracing_mark_write: E
17249   SensorService-1249  ( 1136) [000] ...1 157996.282078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17250  sensors@1.0-se-755   (  755) [004] ...1 157996.284525: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17251  sensors@1.0-se-755   (  755) [004] ...1 157996.300170: tracing_mark_write: E
17252   SensorService-1249  ( 1136) [000] ...1 157996.300648: tracing_mark_write: E
17253   SensorService-1249  ( 1136) [000] ...1 157996.300836: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17254  sensors@1.0-se-755   (  755) [004] ...1 157996.301593: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17255  sensors@1.0-se-755   (  755) [004] ...1 157996.319281: tracing_mark_write: E
17256   SensorService-1249  ( 1136) [000] ...1 157996.319476: tracing_mark_write: E
17257   SensorService-1249  ( 1136) [000] ...1 157996.319670: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17258  sensors@1.0-se-755   (  755) [004] ...1 157996.320064: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17259  sensors@1.0-se-755   (  755) [004] ...1 157996.340854: tracing_mark_write: E
17260   SensorService-1249  ( 1136) [000] ...1 157996.341574: tracing_mark_write: E
17261   SensorService-1249  ( 1136) [000] ...1 157996.341797: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17262  sensors@1.0-se-755   (  755) [004] ...1 157996.343876: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17263  sensors@1.0-se-755   (  755) [004] ...1 157996.359550: tracing_mark_write: E
17264   SensorService-1249  ( 1136) [000] ...1 157996.359827: tracing_mark_write: E
17265   SensorService-1249  ( 1136) [000] ...1 157996.360041: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17266  sensors@1.0-se-755   (  755) [004] ...1 157996.360689: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17267  sensors@1.0-se-755   (  755) [004] ...1 157996.379577: tracing_mark_write: E
17268   SensorService-1249  ( 1136) [000] ...1 157996.379772: tracing_mark_write: E
17269   SensorService-1249  ( 1136) [000] ...1 157996.379972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17270  sensors@1.0-se-755   (  755) [004] ...1 157996.380176: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17271  sensors@1.0-se-755   (  755) [004] ...1 157996.400450: tracing_mark_write: E
17272   SensorService-1249  ( 1136) [000] ...1 157996.401071: tracing_mark_write: E
17273   SensorService-1249  ( 1136) [000] ...1 157996.401316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17274  sensors@1.0-se-755   (  755) [004] ...1 157996.402463: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17275  sensors@1.0-se-755   (  755) [004] ...1 157996.420073: tracing_mark_write: E
17276   SensorService-1249  ( 1136) [000] ...1 157996.420353: tracing_mark_write: E
17277   SensorService-1249  ( 1136) [000] ...1 157996.420624: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17278  sensors@1.0-se-755   (  755) [004] ...1 157996.420947: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17279  sensors@1.0-se-755   (  755) [004] ...1 157996.441391: tracing_mark_write: E
17280   SensorService-1249  ( 1136) [000] ...1 157996.441965: tracing_mark_write: E
17281   SensorService-1249  ( 1136) [000] ...1 157996.442197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17282  sensors@1.0-se-755   (  755) [004] ...1 157996.444662: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17283  sensors@1.0-se-755   (  755) [004] ...1 157996.461128: tracing_mark_write: E
17284   SensorService-1249  ( 1136) [000] ...1 157996.461383: tracing_mark_write: E
17285   SensorService-1249  ( 1136) [000] ...1 157996.461579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17286  sensors@1.0-se-755   (  755) [004] ...1 157996.462872: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17287  sensors@1.0-se-755   (  755) [004] ...1 157996.481292: tracing_mark_write: E
17288   SensorService-1249  ( 1136) [000] ...1 157996.483478: tracing_mark_write: E
17289   SensorService-1249  ( 1136) [000] ...1 157996.483748: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17290  sensors@1.0-se-755   (  755) [004] ...1 157996.485355: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17291  sensors@1.0-se-755   (  755) [004] ...1 157996.500011: tracing_mark_write: E
17292   SensorService-1249  ( 1136) [000] ...1 157996.500496: tracing_mark_write: E
17293   SensorService-1249  ( 1136) [000] ...1 157996.500652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17294  sensors@1.0-se-755   (  755) [004] ...1 157996.502483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17295  sensors@1.0-se-755   (  755) [004] ...1 157996.521275: tracing_mark_write: E
17296   SensorService-1249  ( 1136) [000] ...1 157996.521954: tracing_mark_write: E
17297   SensorService-1249  ( 1136) [000] ...1 157996.522301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17298  sensors@1.0-se-755   (  755) [004] ...1 157996.523006: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17299  sensors@1.0-se-755   (  755) [004] ...1 157996.541545: tracing_mark_write: E
17300   SensorService-1249  ( 1136) [000] ...1 157996.542024: tracing_mark_write: E
17301   SensorService-1249  ( 1136) [000] ...1 157996.542358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17302  sensors@1.0-se-755   (  755) [004] ...1 157996.543682: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17303  sensors@1.0-se-755   (  755) [004] ...1 157996.560834: tracing_mark_write: E
17304   SensorService-1249  ( 1136) [000] ...1 157996.561471: tracing_mark_write: E
17305   SensorService-1249  ( 1136) [000] ...1 157996.561687: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17306  sensors@1.0-se-755   (  755) [004] ...1 157996.563686: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17307  sensors@1.0-se-755   (  755) [004] ...1 157996.582847: tracing_mark_write: E
17308   SensorService-1249  ( 1136) [000] ...1 157996.583134: tracing_mark_write: E
17309   SensorService-1249  ( 1136) [000] ...1 157996.583358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17310  sensors@1.0-se-755   (  755) [004] ...1 157996.584582: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17311  sensors@1.0-se-755   (  755) [004] ...1 157996.600652: tracing_mark_write: E
17312   SensorService-1249  ( 1136) [000] ...1 157996.600974: tracing_mark_write: E
17313   SensorService-1249  ( 1136) [000] ...1 157996.601165: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17314  sensors@1.0-se-755   (  755) [004] ...1 157996.601386: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17315  sensors@1.0-se-755   (  755) [004] ...1 157996.620252: tracing_mark_write: E
17316   SensorService-1249  ( 1136) [000] ...1 157996.620433: tracing_mark_write: E
17317   SensorService-1249  ( 1136) [000] ...1 157996.620609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17318  sensors@1.0-se-755   (  755) [004] ...1 157996.621324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17319  sensors@1.0-se-755   (  755) [004] ...1 157996.641081: tracing_mark_write: E
17320   SensorService-1249  ( 1136) [000] ...1 157996.641705: tracing_mark_write: E
17321   SensorService-1249  ( 1136) [000] ...1 157996.641896: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17322  sensors@1.0-se-755   (  755) [004] ...1 157996.643912: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17323  sensors@1.0-se-755   (  755) [004] ...1 157996.660533: tracing_mark_write: E
17324   SensorService-1249  ( 1136) [000] ...1 157996.660793: tracing_mark_write: E
17325   SensorService-1249  ( 1136) [000] ...1 157996.661020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17326  sensors@1.0-se-755   (  755) [004] ...1 157996.662296: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17327  sensors@1.0-se-755   (  755) [004] ...1 157996.681080: tracing_mark_write: E
17328   SensorService-1249  ( 1136) [000] ...1 157996.681654: tracing_mark_write: E
17329   SensorService-1249  ( 1136) [000] ...1 157996.681863: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17330  sensors@1.0-se-755   (  755) [004] ...1 157996.683004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17331  sensors@1.0-se-755   (  755) [004] ...1 157996.702203: tracing_mark_write: E
17332   SensorService-1249  ( 1136) [000] ...1 157996.702488: tracing_mark_write: E
17333   SensorService-1249  ( 1136) [000] ...1 157996.702763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17334  sensors@1.0-se-755   (  755) [004] ...1 157996.703387: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17335  sensors@1.0-se-755   (  755) [004] ...1 157996.720628: tracing_mark_write: E
17336   SensorService-1249  ( 1136) [000] ...1 157996.721077: tracing_mark_write: E
17337   SensorService-1249  ( 1136) [000] ...1 157996.721264: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17338  sensors@1.0-se-755   (  755) [004] ...1 157996.721824: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17339  sensors@1.0-se-755   (  755) [004] ...1 157996.741159: tracing_mark_write: E
17340   SensorService-1249  ( 1136) [000] ...1 157996.741403: tracing_mark_write: E
17341   SensorService-1249  ( 1136) [000] ...1 157996.741686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17342  sensors@1.0-se-755   (  755) [004] ...1 157996.742263: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17343  sensors@1.0-se-755   (  755) [004] ...1 157996.760224: tracing_mark_write: E
17344   SensorService-1249  ( 1136) [000] ...1 157996.760431: tracing_mark_write: E
17345   SensorService-1249  ( 1136) [000] ...1 157996.760608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17346  sensors@1.0-se-755   (  755) [004] ...1 157996.761356: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17347  sensors@1.0-se-755   (  755) [004] ...1 157996.783722: tracing_mark_write: E
17348   SensorService-1249  ( 1136) [000] ...1 157996.785707: tracing_mark_write: E
17349   SensorService-1249  ( 1136) [000] ...1 157996.786173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17350  sensors@1.0-se-755   (  755) [004] ...1 157996.788260: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17351  sensors@1.0-se-755   (  755) [004] ...1 157996.801114: tracing_mark_write: E
17352   SensorService-1249  ( 1136) [000] ...1 157996.801362: tracing_mark_write: E
17353   SensorService-1249  ( 1136) [000] ...1 157996.801581: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17354  sensors@1.0-se-755   (  755) [004] ...1 157996.802241: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17355  sensors@1.0-se-755   (  755) [004] ...1 157996.823507: tracing_mark_write: E
17356   SensorService-1249  ( 1136) [000] ...1 157996.825431: tracing_mark_write: E
17357   SensorService-1249  ( 1136) [000] ...1 157996.825781: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17358  sensors@1.0-se-755   (  755) [004] ...1 157996.827482: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17359  sensors@1.0-se-755   (  755) [004] ...1 157996.842109: tracing_mark_write: E
17360   SensorService-1249  ( 1136) [000] ...1 157996.842491: tracing_mark_write: E
17361   SensorService-1249  ( 1136) [000] ...1 157996.842699: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17362  sensors@1.0-se-755   (  755) [004] ...1 157996.843315: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17363  sensors@1.0-se-755   (  755) [004] ...1 157996.860331: tracing_mark_write: E
17364   SensorService-1249  ( 1136) [000] ...1 157996.861075: tracing_mark_write: E
17365   SensorService-1249  ( 1136) [000] ...1 157996.861290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17366  sensors@1.0-se-755   (  755) [004] ...1 157996.861911: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17367  sensors@1.0-se-755   (  755) [004] ...1 157996.880959: tracing_mark_write: E
17368   SensorService-1249  ( 1136) [000] ...1 157996.881640: tracing_mark_write: E
17369   SensorService-1249  ( 1136) [000] ...1 157996.881838: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17370  sensors@1.0-se-755   (  755) [004] ...1 157996.883995: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17371  sensors@1.0-se-755   (  755) [004] ...1 157996.906213: tracing_mark_write: E
17372   SensorService-1249  ( 1136) [000] ...1 157996.908161: tracing_mark_write: E
17373   SensorService-1249  ( 1136) [000] ...1 157996.908562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17374  sensors@1.0-se-755   (  755) [004] ...1 157996.910199: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17375  sensors@1.0-se-755   (  755) [004] ...1 157996.921757: tracing_mark_write: E
17376   SensorService-1249  ( 1136) [000] ...1 157996.921997: tracing_mark_write: E
17377   SensorService-1249  ( 1136) [000] ...1 157996.922141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17378  sensors@1.0-se-755   (  755) [004] ...1 157996.922645: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17379  sensors@1.0-se-755   (  755) [006] ...1 157996.942114: tracing_mark_write: E
17380   SensorService-1249  ( 1136) [000] ...1 157996.942668: tracing_mark_write: E
17381   SensorService-1249  ( 1136) [000] ...1 157996.943026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17382  sensors@1.0-se-755   (  755) [006] ...1 157996.945385: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17383  sensors@1.0-se-755   (  755) [004] ...1 157996.961078: tracing_mark_write: E
17384   SensorService-1249  ( 1136) [000] ...1 157996.961341: tracing_mark_write: E
17385   SensorService-1249  ( 1136) [000] ...1 157996.961526: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17386  sensors@1.0-se-755   (  755) [004] ...1 157996.962658: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17387  sensors@1.0-se-755   (  755) [004] ...1 157996.983038: tracing_mark_write: E
17388   SensorService-1249  ( 1136) [000] ...1 157996.985169: tracing_mark_write: E
17389   SensorService-1249  ( 1136) [000] ...1 157996.985436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17390  sensors@1.0-se-755   (  755) [004] ...1 157996.987050: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17391  sensors@1.0-se-755   (  755) [004] ...1 157997.001686: tracing_mark_write: E
17392   SensorService-1249  ( 1136) [000] ...1 157997.001954: tracing_mark_write: E
17393   SensorService-1249  ( 1136) [000] ...1 157997.002140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17394  sensors@1.0-se-755   (  755) [004] ...1 157997.002739: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17395  sensors@1.0-se-755   (  755) [004] ...1 157997.025124: tracing_mark_write: E
17396   SensorService-1249  ( 1136) [000] ...1 157997.025390: tracing_mark_write: E
17397   SensorService-1249  ( 1136) [000] ...1 157997.025610: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17398  sensors@1.0-se-755   (  755) [004] ...1 157997.026820: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17399  sensors@1.0-se-755   (  755) [004] ...1 157997.043690: tracing_mark_write: E
17400   SensorService-1249  ( 1136) [001] ...1 157997.044063: tracing_mark_write: E
17401   SensorService-1249  ( 1136) [001] ...1 157997.044494: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17402  sensors@1.0-se-755   (  755) [004] ...1 157997.046813: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17403  sensors@1.0-se-755   (  755) [004] ...1 157997.061024: tracing_mark_write: E
17404   SensorService-1249  ( 1136) [001] ...1 157997.061217: tracing_mark_write: E
17405   SensorService-1249  ( 1136) [001] ...1 157997.061353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17406  sensors@1.0-se-755   (  755) [004] ...1 157997.061781: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17407  sensors@1.0-se-755   (  755) [004] ...1 157997.080491: tracing_mark_write: E
17408   SensorService-1249  ( 1136) [001] ...1 157997.080686: tracing_mark_write: E
17409   SensorService-1249  ( 1136) [001] ...1 157997.080827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17410  sensors@1.0-se-755   (  755) [004] ...1 157997.081634: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17411  sensors@1.0-se-755   (  755) [004] ...1 157997.100293: tracing_mark_write: E
17412   SensorService-1249  ( 1136) [001] ...1 157997.100475: tracing_mark_write: E
17413   SensorService-1249  ( 1136) [001] ...1 157997.100605: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17414  sensors@1.0-se-755   (  755) [004] ...1 157997.101309: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17415  sensors@1.0-se-755   (  755) [004] ...1 157997.122735: tracing_mark_write: E
17416   SensorService-1249  ( 1136) [001] ...1 157997.123185: tracing_mark_write: E
17417   SensorService-1249  ( 1136) [001] ...1 157997.123563: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17418  sensors@1.0-se-755   (  755) [004] ...1 157997.125812: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17419  sensors@1.0-se-755   (  755) [004] ...1 157997.141398: tracing_mark_write: E
17420   SensorService-1249  ( 1136) [001] ...1 157997.142032: tracing_mark_write: E
17421   SensorService-1249  ( 1136) [001] ...1 157997.142253: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17422  sensors@1.0-se-755   (  755) [004] ...1 157997.143291: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17423  sensors@1.0-se-755   (  755) [004] ...1 157997.161028: tracing_mark_write: E
17424   SensorService-1249  ( 1136) [001] ...1 157997.161567: tracing_mark_write: E
17425   SensorService-1249  ( 1136) [001] ...1 157997.161769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17426  sensors@1.0-se-755   (  755) [004] ...1 157997.162373: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17427  sensors@1.0-se-755   (  755) [004] ...1 157997.180453: tracing_mark_write: E
17428   SensorService-1249  ( 1136) [001] ...1 157997.180817: tracing_mark_write: E
17429   SensorService-1249  ( 1136) [001] ...1 157997.181074: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17430  sensors@1.0-se-755   (  755) [004] ...1 157997.181668: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17431  sensors@1.0-se-755   (  755) [004] ...1 157997.200350: tracing_mark_write: E
17432   SensorService-1249  ( 1136) [001] ...1 157997.200536: tracing_mark_write: E
17433   SensorService-1249  ( 1136) [001] ...1 157997.200706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17434  sensors@1.0-se-755   (  755) [004] ...1 157997.201272: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17435  sensors@1.0-se-755   (  755) [004] ...1 157997.221387: tracing_mark_write: E
17436   SensorService-1249  ( 1136) [001] ...1 157997.221851: tracing_mark_write: E
17437   SensorService-1249  ( 1136) [001] ...1 157997.222039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17438  sensors@1.0-se-755   (  755) [004] ...1 157997.222395: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17439  sensors@1.0-se-755   (  755) [004] ...1 157997.240366: tracing_mark_write: E
17440   SensorService-1249  ( 1136) [001] ...1 157997.240865: tracing_mark_write: E
17441   SensorService-1249  ( 1136) [001] ...1 157997.241095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17442  sensors@1.0-se-755   (  755) [004] ...1 157997.241677: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17443  sensors@1.0-se-755   (  755) [004] ...1 157997.261056: tracing_mark_write: E
17444   SensorService-1249  ( 1136) [001] ...1 157997.261592: tracing_mark_write: E
17445   SensorService-1249  ( 1136) [001] ...1 157997.261792: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17446  sensors@1.0-se-755   (  755) [004] ...1 157997.262011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17447  sensors@1.0-se-755   (  755) [004] ...1 157997.281354: tracing_mark_write: E
17448   SensorService-1249  ( 1136) [001] ...1 157997.282001: tracing_mark_write: E
17449   SensorService-1249  ( 1136) [001] ...1 157997.282327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17450  sensors@1.0-se-755   (  755) [004] ...1 157997.282947: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17451  sensors@1.0-se-755   (  755) [004] ...1 157997.301466: tracing_mark_write: E
17452   SensorService-1249  ( 1136) [001] ...1 157997.301808: tracing_mark_write: E
17453   SensorService-1249  ( 1136) [001] ...1 157997.302021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17454  sensors@1.0-se-755   (  755) [004] ...1 157997.303146: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17455  sensors@1.0-se-755   (  755) [004] ...1 157997.321826: tracing_mark_write: E
17456   SensorService-1249  ( 1136) [001] ...1 157997.322549: tracing_mark_write: E
17457   SensorService-1249  ( 1136) [001] ...1 157997.322934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17458  sensors@1.0-se-755   (  755) [004] ...1 157997.325049: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17459  sensors@1.0-se-755   (  755) [004] ...1 157997.341837: tracing_mark_write: E
17460   SensorService-1249  ( 1136) [001] ...1 157997.342058: tracing_mark_write: E
17461   SensorService-1249  ( 1136) [001] ...1 157997.342215: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17462  sensors@1.0-se-755   (  755) [004] ...1 157997.343134: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17463  sensors@1.0-se-755   (  755) [004] ...1 157997.362501: tracing_mark_write: E
17464   SensorService-1249  ( 1136) [001] ...1 157997.362766: tracing_mark_write: E
17465   SensorService-1249  ( 1136) [001] ...1 157997.362950: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17466  sensors@1.0-se-755   (  755) [004] ...1 157997.364415: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17467  sensors@1.0-se-755   (  755) [004] ...1 157997.382110: tracing_mark_write: E
17468   SensorService-1249  ( 1136) [001] ...1 157997.382627: tracing_mark_write: E
17469   SensorService-1249  ( 1136) [001] ...1 157997.382846: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17470  sensors@1.0-se-755   (  755) [004] ...1 157997.384019: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17471  sensors@1.0-se-755   (  755) [004] ...1 157997.401397: tracing_mark_write: E
17472   SensorService-1249  ( 1136) [001] ...1 157997.401670: tracing_mark_write: E
17473   SensorService-1249  ( 1136) [001] ...1 157997.401861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17474  sensors@1.0-se-755   (  755) [004] ...1 157997.403196: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17475  sensors@1.0-se-755   (  755) [004] ...1 157997.424063: tracing_mark_write: E
17476   SensorService-1249  ( 1136) [001] ...1 157997.424725: tracing_mark_write: E
17477   SensorService-1249  ( 1136) [001] ...1 157997.425077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17478  sensors@1.0-se-755   (  755) [004] ...1 157997.427389: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17479  sensors@1.0-se-755   (  755) [004] ...1 157997.441975: tracing_mark_write: E
17480   SensorService-1249  ( 1136) [001] ...1 157997.442425: tracing_mark_write: E
17481   SensorService-1249  ( 1136) [001] ...1 157997.442738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17482  sensors@1.0-se-755   (  755) [004] ...1 157997.444093: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17483  sensors@1.0-se-755   (  755) [004] ...1 157997.463154: tracing_mark_write: E
17484   SensorService-1249  ( 1136) [001] ...1 157997.463566: tracing_mark_write: E
17485   SensorService-1249  ( 1136) [001] ...1 157997.463873: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17486  sensors@1.0-se-755   (  755) [004] ...1 157997.465190: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17487  sensors@1.0-se-755   (  755) [004] ...1 157997.481519: tracing_mark_write: E
17488   SensorService-1249  ( 1136) [001] ...1 157997.482121: tracing_mark_write: E
17489   SensorService-1249  ( 1136) [001] ...1 157997.482376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17490  sensors@1.0-se-755   (  755) [004] ...1 157997.484543: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17491  sensors@1.0-se-755   (  755) [004] ...1 157997.502567: tracing_mark_write: E
17492   SensorService-1249  ( 1136) [001] ...1 157997.502989: tracing_mark_write: E
17493   SensorService-1249  ( 1136) [001] ...1 157997.503323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17494  sensors@1.0-se-755   (  755) [004] ...1 157997.504730: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17495  sensors@1.0-se-755   (  755) [004] ...1 157997.522248: tracing_mark_write: E
17496   SensorService-1249  ( 1136) [001] ...1 157997.522806: tracing_mark_write: E
17497   SensorService-1249  ( 1136) [001] ...1 157997.523016: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17498  sensors@1.0-se-755   (  755) [004] ...1 157997.525067: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17499  sensors@1.0-se-755   (  755) [004] ...1 157997.542038: tracing_mark_write: E
17500   SensorService-1249  ( 1136) [001] ...1 157997.542323: tracing_mark_write: E
17501   SensorService-1249  ( 1136) [001] ...1 157997.542562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17502  sensors@1.0-se-755   (  755) [004] ...1 157997.543843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17503  sensors@1.0-se-755   (  755) [004] ...1 157997.562769: tracing_mark_write: E
17504   SensorService-1249  ( 1136) [001] ...1 157997.563553: tracing_mark_write: E
17505   SensorService-1249  ( 1136) [001] ...1 157997.563906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17506  sensors@1.0-se-755   (  755) [004] ...1 157997.565763: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17507  sensors@1.0-se-755   (  755) [004] ...1 157997.582033: tracing_mark_write: E
17508   SensorService-1249  ( 1136) [001] ...1 157997.584200: tracing_mark_write: E
17509   SensorService-1249  ( 1136) [001] ...1 157997.584859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17510  sensors@1.0-se-755   (  755) [004] ...1 157997.586771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17511  sensors@1.0-se-755   (  755) [004] ...1 157997.601562: tracing_mark_write: E
17512   SensorService-1249  ( 1136) [001] ...1 157997.601966: tracing_mark_write: E
17513   SensorService-1249  ( 1136) [001] ...1 157997.602132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17514  sensors@1.0-se-755   (  755) [004] ...1 157997.602620: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17515  sensors@1.0-se-755   (  755) [004] ...1 157997.622407: tracing_mark_write: E
17516   SensorService-1249  ( 1136) [001] ...1 157997.622590: tracing_mark_write: E
17517   SensorService-1249  ( 1136) [001] ...1 157997.622782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17518  sensors@1.0-se-755   (  755) [004] ...1 157997.622936: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17519  sensors@1.0-se-755   (  755) [004] ...1 157997.641617: tracing_mark_write: E
17520   SensorService-1249  ( 1136) [001] ...1 157997.641860: tracing_mark_write: E
17521   SensorService-1249  ( 1136) [001] ...1 157997.642079: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17522  sensors@1.0-se-755   (  755) [004] ...1 157997.642328: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17523  sensors@1.0-se-755   (  755) [004] ...1 157997.661794: tracing_mark_write: E
17524   SensorService-1249  ( 1136) [001] ...1 157997.662184: tracing_mark_write: E
17525   SensorService-1249  ( 1136) [001] ...1 157997.662376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17526  sensors@1.0-se-755   (  755) [004] ...1 157997.662999: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17527  sensors@1.0-se-755   (  755) [004] ...1 157997.680785: tracing_mark_write: E
17528   SensorService-1249  ( 1136) [001] ...1 157997.681153: tracing_mark_write: E
17529   SensorService-1249  ( 1136) [001] ...1 157997.681312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17530  sensors@1.0-se-755   (  755) [004] ...1 157997.681500: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17531  sensors@1.0-se-755   (  755) [004] ...1 157997.701512: tracing_mark_write: E
17532   SensorService-1249  ( 1136) [001] ...1 157997.701714: tracing_mark_write: E
17533   SensorService-1249  ( 1136) [001] ...1 157997.701864: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17534  sensors@1.0-se-755   (  755) [004] ...1 157997.703047: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17535  sensors@1.0-se-755   (  755) [004] ...1 157997.721572: tracing_mark_write: E
17536   SensorService-1249  ( 1136) [001] ...1 157997.721808: tracing_mark_write: E
17537   SensorService-1249  ( 1136) [001] ...1 157997.722008: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17538  sensors@1.0-se-755   (  755) [004] ...1 157997.722963: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17539  sensors@1.0-se-755   (  755) [004] ...1 157997.741163: tracing_mark_write: E
17540   SensorService-1249  ( 1136) [001] ...1 157997.741574: tracing_mark_write: E
17541   SensorService-1249  ( 1136) [001] ...1 157997.741774: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17542  sensors@1.0-se-755   (  755) [004] ...1 157997.742845: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17543  sensors@1.0-se-755   (  755) [004] ...1 157997.762570: tracing_mark_write: E
17544   SensorService-1249  ( 1136) [001] ...1 157997.763245: tracing_mark_write: E
17545   SensorService-1249  ( 1136) [001] ...1 157997.763424: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17546  sensors@1.0-se-755   (  755) [004] ...1 157997.765271: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17547  sensors@1.0-se-755   (  755) [004] ...1 157997.781868: tracing_mark_write: E
17548   SensorService-1249  ( 1136) [001] ...1 157997.782513: tracing_mark_write: E
17549   SensorService-1249  ( 1136) [001] ...1 157997.782733: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17550  sensors@1.0-se-755   (  755) [004] ...1 157997.784786: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17551  sensors@1.0-se-755   (  755) [004] ...1 157997.802492: tracing_mark_write: E
17552   SensorService-1249  ( 1136) [001] ...1 157997.803344: tracing_mark_write: E
17553   SensorService-1249  ( 1136) [001] ...1 157997.803677: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17554  sensors@1.0-se-755   (  755) [004] ...1 157997.806034: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17555  sensors@1.0-se-755   (  755) [004] ...1 157997.821952: tracing_mark_write: E
17556   SensorService-1249  ( 1136) [001] ...1 157997.822227: tracing_mark_write: E
17557   SensorService-1249  ( 1136) [001] ...1 157997.822428: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17558  sensors@1.0-se-755   (  755) [004] ...1 157997.823655: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17559  sensors@1.0-se-755   (  755) [004] ...1 157997.843144: tracing_mark_write: E
17560   SensorService-1249  ( 1136) [001] ...1 157997.843866: tracing_mark_write: E
17561   SensorService-1249  ( 1136) [001] ...1 157997.844181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17562  sensors@1.0-se-755   (  755) [004] ...1 157997.846615: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17563  sensors@1.0-se-755   (  755) [004] ...1 157997.862507: tracing_mark_write: E
17564   SensorService-1249  ( 1136) [001] ...1 157997.862775: tracing_mark_write: E
17565   SensorService-1249  ( 1136) [001] ...1 157997.862963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17566  sensors@1.0-se-755   (  755) [004] ...1 157997.864199: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17567  sensors@1.0-se-755   (  755) [004] ...1 157997.884478: tracing_mark_write: E
17568   SensorService-1249  ( 1136) [001] ...1 157997.885548: tracing_mark_write: E
17569   SensorService-1249  ( 1136) [001] ...1 157997.885916: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17570  sensors@1.0-se-755   (  755) [004] ...1 157997.887979: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17571  sensors@1.0-se-755   (  755) [004] ...1 157997.902052: tracing_mark_write: E
17572   SensorService-1249  ( 1136) [001] ...1 157997.902433: tracing_mark_write: E
17573   SensorService-1249  ( 1136) [001] ...1 157997.902758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17574  sensors@1.0-se-755   (  755) [004] ...1 157997.905144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17575  sensors@1.0-se-755   (  755) [004] ...1 157997.928442: tracing_mark_write: E
17576   SensorService-1249  ( 1136) [001] ...1 157997.928882: tracing_mark_write: E
17577   SensorService-1249  ( 1136) [001] ...1 157997.929262: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17578  sensors@1.0-se-755   (  755) [004] ...1 157997.931600: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17579  sensors@1.0-se-755   (  755) [004] ...1 157997.941561: tracing_mark_write: E
17580   SensorService-1249  ( 1136) [001] ...1 157997.941950: tracing_mark_write: E
17581   SensorService-1249  ( 1136) [001] ...1 157997.942290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17582  sensors@1.0-se-755   (  755) [004] ...1 157997.944685: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17583  sensors@1.0-se-755   (  755) [004] ...1 157997.964922: tracing_mark_write: E
17584   SensorService-1249  ( 1136) [001] ...1 157997.965120: tracing_mark_write: E
17585   SensorService-1249  ( 1136) [001] ...1 157997.965269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17586  sensors@1.0-se-755   (  755) [004] ...1 157997.966252: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17587  sensors@1.0-se-755   (  755) [004] ...1 157997.982216: tracing_mark_write: E
17588   SensorService-1249  ( 1136) [001] ...1 157997.982474: tracing_mark_write: E
17589   SensorService-1249  ( 1136) [001] ...1 157997.982655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17590  sensors@1.0-se-755   (  755) [004] ...1 157997.983897: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17591  sensors@1.0-se-755   (  755) [004] ...1 157998.004703: tracing_mark_write: E
17592   SensorService-1249  ( 1136) [001] ...1 157998.007407: tracing_mark_write: E
17593   SensorService-1249  ( 1136) [001] ...1 157998.007816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17594  sensors@1.0-se-755   (  755) [004] ...1 157998.008663: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17595  sensors@1.0-se-755   (  755) [004] ...1 157998.024651: tracing_mark_write: E
17596   SensorService-1249  ( 1136) [001] ...1 157998.025186: tracing_mark_write: E
17597   SensorService-1249  ( 1136) [001] ...1 157998.025392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17598  sensors@1.0-se-755   (  755) [004] ...1 157998.027499: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17599  sensors@1.0-se-755   (  755) [004] ...1 157998.041959: tracing_mark_write: E
17600   SensorService-1249  ( 1136) [001] ...1 157998.042498: tracing_mark_write: E
17601   SensorService-1249  ( 1136) [001] ...1 157998.042693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17602  sensors@1.0-se-755   (  755) [004] ...1 157998.043335: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17603  sensors@1.0-se-755   (  755) [004] ...1 157998.063758: tracing_mark_write: E
17604   SensorService-1249  ( 1136) [001] ...1 157998.064388: tracing_mark_write: E
17605   SensorService-1249  ( 1136) [001] ...1 157998.064595: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17606  sensors@1.0-se-755   (  755) [004] ...1 157998.065295: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17607  sensors@1.0-se-755   (  755) [004] ...1 157998.083858: tracing_mark_write: E
17608   SensorService-1249  ( 1136) [001] ...1 157998.084505: tracing_mark_write: E
17609   SensorService-1249  ( 1136) [001] ...1 157998.084890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17610  sensors@1.0-se-755   (  755) [004] ...1 157998.087091: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17611  sensors@1.0-se-755   (  755) [004] ...1 157998.105992: tracing_mark_write: E
17612   SensorService-1249  ( 1136) [001] ...1 157998.106788: tracing_mark_write: E
17613   SensorService-1249  ( 1136) [001] ...1 157998.107143: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17614  sensors@1.0-se-755   (  755) [004] ...1 157998.109223: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17615  sensors@1.0-se-755   (  755) [004] ...1 157998.123368: tracing_mark_write: E
17616   SensorService-1249  ( 1136) [001] ...1 157998.124172: tracing_mark_write: E
17617   SensorService-1249  ( 1136) [001] ...1 157998.124585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17618  sensors@1.0-se-755   (  755) [004] ...1 157998.126562: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17619  sensors@1.0-se-755   (  755) [004] ...1 157998.142469: tracing_mark_write: E
17620   SensorService-1249  ( 1136) [001] ...1 157998.143217: tracing_mark_write: E
17621   SensorService-1249  ( 1136) [001] ...1 157998.143581: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17622  sensors@1.0-se-755   (  755) [004] ...1 157998.145718: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17623  sensors@1.0-se-755   (  755) [004] ...1 157998.164517: tracing_mark_write: E
17624   SensorService-1249  ( 1136) [001] ...1 157998.165158: tracing_mark_write: E
17625   SensorService-1249  ( 1136) [001] ...1 157998.165566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17626  sensors@1.0-se-755   (  755) [004] ...1 157998.167837: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17627  sensors@1.0-se-755   (  755) [004] ...1 157998.182432: tracing_mark_write: E
17628   SensorService-1249  ( 1136) [001] ...1 157998.183176: tracing_mark_write: E
17629   SensorService-1249  ( 1136) [001] ...1 157998.183516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17630  sensors@1.0-se-755   (  755) [004] ...1 157998.185602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17631  sensors@1.0-se-755   (  755) [004] ...1 157998.203682: tracing_mark_write: E
17632   SensorService-1249  ( 1136) [001] ...1 157998.204468: tracing_mark_write: E
17633   SensorService-1249  ( 1136) [001] ...1 157998.204872: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17634  sensors@1.0-se-755   (  755) [004] ...1 157998.206871: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17635  sensors@1.0-se-755   (  755) [004] ...1 157998.222066: tracing_mark_write: E
17636   SensorService-1249  ( 1136) [001] ...1 157998.222822: tracing_mark_write: E
17637   SensorService-1249  ( 1136) [001] ...1 157998.223158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17638  sensors@1.0-se-755   (  755) [004] ...1 157998.225334: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17639  sensors@1.0-se-755   (  755) [004] ...1 157998.242795: tracing_mark_write: E
17640   SensorService-1249  ( 1136) [001] ...1 157998.243421: tracing_mark_write: E
17641   SensorService-1249  ( 1136) [001] ...1 157998.243615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17642  sensors@1.0-se-755   (  755) [004] ...1 157998.245676: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17643  sensors@1.0-se-755   (  755) [004] ...1 157998.263440: tracing_mark_write: E
17644   SensorService-1249  ( 1136) [001] ...1 157998.263962: tracing_mark_write: E
17645   SensorService-1249  ( 1136) [001] ...1 157998.264464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17646  sensors@1.0-se-755   (  755) [004] ...1 157998.266784: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17647  sensors@1.0-se-755   (  755) [004] ...1 157998.285288: tracing_mark_write: E
17648   SensorService-1249  ( 1136) [001] ...1 157998.286074: tracing_mark_write: E
17649   SensorService-1249  ( 1136) [001] ...1 157998.286432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17650  sensors@1.0-se-755   (  755) [004] ...1 157998.288380: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17651  sensors@1.0-se-755   (  755) [004] ...1 157998.301963: tracing_mark_write: E
17652   SensorService-1249  ( 1136) [001] ...1 157998.302609: tracing_mark_write: E
17653   SensorService-1249  ( 1136) [001] ...1 157998.302867: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17654  sensors@1.0-se-755   (  755) [004] ...1 157998.304726: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17655  sensors@1.0-se-755   (  755) [004] ...1 157998.322038: tracing_mark_write: E
17656   SensorService-1249  ( 1136) [001] ...1 157998.322455: tracing_mark_write: E
17657   SensorService-1249  ( 1136) [001] ...1 157998.322649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17658  sensors@1.0-se-755   (  755) [004] ...1 157998.322867: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17659  sensors@1.0-se-755   (  755) [004] ...1 157998.344680: tracing_mark_write: E
17660   SensorService-1249  ( 1136) [001] ...1 157998.345445: tracing_mark_write: E
17661   SensorService-1249  ( 1136) [001] ...1 157998.345839: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17662  sensors@1.0-se-755   (  755) [004] ...1 157998.347709: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17663  sensors@1.0-se-755   (  755) [004] ...1 157998.362596: tracing_mark_write: E
17664   SensorService-1249  ( 1136) [001] ...1 157998.363219: tracing_mark_write: E
17665   SensorService-1249  ( 1136) [001] ...1 157998.363478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17666  sensors@1.0-se-755   (  755) [004] ...1 157998.364017: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17667  sensors@1.0-se-755   (  755) [004] ...1 157998.382927: tracing_mark_write: E
17668   SensorService-1249  ( 1136) [001] ...1 157998.383244: tracing_mark_write: E
17669   SensorService-1249  ( 1136) [001] ...1 157998.383539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17670  sensors@1.0-se-755   (  755) [004] ...1 157998.385846: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17671  sensors@1.0-se-755   (  755) [004] ...1 157998.403677: tracing_mark_write: E
17672   SensorService-1249  ( 1136) [001] ...1 157998.403977: tracing_mark_write: E
17673   SensorService-1249  ( 1136) [001] ...1 157998.404243: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17674  sensors@1.0-se-755   (  755) [004] ...1 157998.405398: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17675  sensors@1.0-se-755   (  755) [004] ...1 157998.422604: tracing_mark_write: E
17676   SensorService-1249  ( 1136) [001] ...1 157998.423306: tracing_mark_write: E
17677   SensorService-1249  ( 1136) [001] ...1 157998.423593: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17678  sensors@1.0-se-755   (  755) [004] ...1 157998.424376: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17679  sensors@1.0-se-755   (  755) [004] ...1 157998.441316: tracing_mark_write: E
17680   SensorService-1249  ( 1136) [001] ...1 157998.441522: tracing_mark_write: E
17681   SensorService-1249  ( 1136) [001] ...1 157998.441728: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17682  sensors@1.0-se-755   (  755) [004] ...1 157998.442341: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17683  sensors@1.0-se-755   (  755) [004] ...1 157998.463591: tracing_mark_write: E
17684   SensorService-1249  ( 1136) [001] ...1 157998.464097: tracing_mark_write: E
17685   SensorService-1249  ( 1136) [001] ...1 157998.464437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17686  sensors@1.0-se-755   (  755) [004] ...1 157998.466369: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17687  sensors@1.0-se-755   (  755) [004] ...1 157998.482917: tracing_mark_write: E
17688   SensorService-1249  ( 1136) [001] ...1 157998.483496: tracing_mark_write: E
17689   SensorService-1249  ( 1136) [001] ...1 157998.483701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17690  sensors@1.0-se-755   (  755) [004] ...1 157998.485712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17691  sensors@1.0-se-755   (  755) [004] ...1 157998.503697: tracing_mark_write: E
17692   SensorService-1249  ( 1136) [001] ...1 157998.504393: tracing_mark_write: E
17693   SensorService-1249  ( 1136) [001] ...1 157998.504639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17694  sensors@1.0-se-755   (  755) [004] ...1 157998.506760: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17695  sensors@1.0-se-755   (  755) [004] ...1 157998.523755: tracing_mark_write: E
17696   SensorService-1249  ( 1136) [001] ...1 157998.524379: tracing_mark_write: E
17697   SensorService-1249  ( 1136) [001] ...1 157998.524623: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17698  sensors@1.0-se-755   (  755) [004] ...1 157998.526605: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17699  sensors@1.0-se-755   (  755) [004] ...1 157998.543325: tracing_mark_write: E
17700   SensorService-1249  ( 1136) [001] ...1 157998.543581: tracing_mark_write: E
17701   SensorService-1249  ( 1136) [001] ...1 157998.543795: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17702  sensors@1.0-se-755   (  755) [004] ...1 157998.545022: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17703  sensors@1.0-se-755   (  755) [004] ...1 157998.563409: tracing_mark_write: E
17704   SensorService-1249  ( 1136) [001] ...1 157998.563673: tracing_mark_write: E
17705   SensorService-1249  ( 1136) [001] ...1 157998.563890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17706  sensors@1.0-se-755   (  755) [004] ...1 157998.565141: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17707  sensors@1.0-se-755   (  755) [004] ...1 157998.582228: tracing_mark_write: E
17708   SensorService-1249  ( 1136) [001] ...1 157998.582862: tracing_mark_write: E
17709   SensorService-1249  ( 1136) [001] ...1 157998.583124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17710  sensors@1.0-se-755   (  755) [004] ...1 157998.583397: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17711  sensors@1.0-se-755   (  755) [004] ...1 157998.601585: tracing_mark_write: E
17712   SensorService-1249  ( 1136) [001] ...1 157998.602118: tracing_mark_write: E
17713   SensorService-1249  ( 1136) [001] ...1 157998.602332: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17714  sensors@1.0-se-755   (  755) [004] ...1 157998.602537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17715  sensors@1.0-se-755   (  755) [004] ...1 157998.622896: tracing_mark_write: E
17716   SensorService-1249  ( 1136) [001] ...1 157998.623422: tracing_mark_write: E
17717   SensorService-1249  ( 1136) [001] ...1 157998.623628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17718  sensors@1.0-se-755   (  755) [004] ...1 157998.625659: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17719  sensors@1.0-se-755   (  755) [004] ...1 157998.642993: tracing_mark_write: E
17720   SensorService-1249  ( 1136) [001] ...1 157998.643566: tracing_mark_write: E
17721   SensorService-1249  ( 1136) [001] ...1 157998.643767: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17722  sensors@1.0-se-755   (  755) [004] ...1 157998.644855: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17723  sensors@1.0-se-755   (  755) [004] ...1 157998.662666: tracing_mark_write: E
17724   SensorService-1249  ( 1136) [001] ...1 157998.663213: tracing_mark_write: E
17725   SensorService-1249  ( 1136) [001] ...1 157998.663439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17726  sensors@1.0-se-755   (  755) [004] ...1 157998.664112: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17727  sensors@1.0-se-755   (  755) [004] ...1 157998.682764: tracing_mark_write: E
17728   SensorService-1249  ( 1136) [001] ...1 157998.683043: tracing_mark_write: E
17729   SensorService-1249  ( 1136) [001] ...1 157998.683261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17730  sensors@1.0-se-755   (  755) [004] ...1 157998.684028: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17731  sensors@1.0-se-755   (  755) [004] ...1 157998.702918: tracing_mark_write: E
17732   SensorService-1249  ( 1136) [001] ...1 157998.703191: tracing_mark_write: E
17733   SensorService-1249  ( 1136) [001] ...1 157998.703412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17734  sensors@1.0-se-755   (  755) [004] ...1 157998.704669: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17735  sensors@1.0-se-755   (  755) [004] ...1 157998.723772: tracing_mark_write: E
17736   SensorService-1249  ( 1136) [001] ...1 157998.724574: tracing_mark_write: E
17737   SensorService-1249  ( 1136) [001] ...1 157998.724987: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17738  sensors@1.0-se-755   (  755) [004] ...1 157998.726058: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17739  sensors@1.0-se-755   (  755) [004] ...1 157998.742264: tracing_mark_write: E
17740   SensorService-1249  ( 1136) [001] ...1 157998.742828: tracing_mark_write: E
17741   SensorService-1249  ( 1136) [001] ...1 157998.743063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17742  sensors@1.0-se-755   (  755) [004] ...1 157998.743354: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17743  sensors@1.0-se-755   (  755) [004] ...1 157998.762269: tracing_mark_write: E
17744   SensorService-1249  ( 1136) [001] ...1 157998.762804: tracing_mark_write: E
17745   SensorService-1249  ( 1136) [001] ...1 157998.763024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17746  sensors@1.0-se-755   (  755) [004] ...1 157998.763221: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17747  sensors@1.0-se-755   (  755) [004] ...1 157998.782209: tracing_mark_write: E
17748   SensorService-1249  ( 1136) [001] ...1 157998.782477: tracing_mark_write: E
17749   SensorService-1249  ( 1136) [001] ...1 157998.782691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17750  sensors@1.0-se-755   (  755) [004] ...1 157998.782932: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17751  sensors@1.0-se-755   (  755) [004] ...1 157998.802618: tracing_mark_write: E
17752   SensorService-1249  ( 1136) [001] ...1 157998.803165: tracing_mark_write: E
17753   SensorService-1249  ( 1136) [001] ...1 157998.803560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17754  sensors@1.0-se-755   (  755) [004] ...1 157998.804431: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17755  sensors@1.0-se-755   (  755) [004] ...1 157998.823098: tracing_mark_write: E
17756   SensorService-1249  ( 1136) [001] ...1 157998.823453: tracing_mark_write: E
17757   SensorService-1249  ( 1136) [001] ...1 157998.823662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17758  sensors@1.0-se-755   (  755) [004] ...1 157998.824840: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17759  sensors@1.0-se-755   (  755) [004] ...1 157998.842294: tracing_mark_write: E
17760   SensorService-1249  ( 1136) [001] ...1 157998.842524: tracing_mark_write: E
17761   SensorService-1249  ( 1136) [001] ...1 157998.842702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17762  sensors@1.0-se-755   (  755) [004] ...1 157998.843599: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17763  sensors@1.0-se-755   (  755) [004] ...1 157998.862826: tracing_mark_write: E
17764   SensorService-1249  ( 1136) [001] ...1 157998.863353: tracing_mark_write: E
17765   SensorService-1249  ( 1136) [001] ...1 157998.863561: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17766  sensors@1.0-se-755   (  755) [004] ...1 157998.864199: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17767  sensors@1.0-se-755   (  755) [004] ...1 157998.881648: tracing_mark_write: E
17768   SensorService-1249  ( 1136) [001] ...1 157998.881991: tracing_mark_write: E
17769   SensorService-1249  ( 1136) [001] ...1 157998.882151: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17770  sensors@1.0-se-755   (  755) [004] ...1 157998.882330: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17771  sensors@1.0-se-755   (  755) [004] ...1 157998.902476: tracing_mark_write: E
17772   SensorService-1249  ( 1136) [001] ...1 157998.902968: tracing_mark_write: E
17773   SensorService-1249  ( 1136) [001] ...1 157998.903173: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17774  sensors@1.0-se-755   (  755) [004] ...1 157998.903758: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17775  sensors@1.0-se-755   (  755) [004] ...1 157998.922183: tracing_mark_write: E
17776   SensorService-1249  ( 1136) [001] ...1 157998.922784: tracing_mark_write: E
17777   SensorService-1249  ( 1136) [001] ...1 157998.922996: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17778  sensors@1.0-se-755   (  755) [004] ...1 157998.923378: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17779  sensors@1.0-se-755   (  755) [004] ...1 157998.943594: tracing_mark_write: E
17780   SensorService-1249  ( 1136) [001] ...1 157998.944147: tracing_mark_write: E
17781   SensorService-1249  ( 1136) [001] ...1 157998.944398: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17782  sensors@1.0-se-755   (  755) [004] ...1 157998.946371: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17783  sensors@1.0-se-755   (  755) [004] ...1 157998.963604: tracing_mark_write: E
17784   SensorService-1249  ( 1136) [001] ...1 157998.964094: tracing_mark_write: E
17785   SensorService-1249  ( 1136) [001] ...1 157998.964347: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17786  sensors@1.0-se-755   (  755) [004] ...1 157998.966452: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17787  sensors@1.0-se-755   (  755) [004] ...1 157998.982142: tracing_mark_write: E
17788   SensorService-1249  ( 1136) [001] ...1 157998.982570: tracing_mark_write: E
17789   SensorService-1249  ( 1136) [001] ...1 157998.982764: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17790  sensors@1.0-se-755   (  755) [004] ...1 157998.984068: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17791  sensors@1.0-se-755   (  755) [004] ...1 157999.005522: tracing_mark_write: E
17792   SensorService-1249  ( 1136) [001] ...1 157999.005924: tracing_mark_write: E
17793   SensorService-1249  ( 1136) [001] ...1 157999.006278: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17794  sensors@1.0-se-755   (  755) [004] ...1 157999.008541: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17795  sensors@1.0-se-755   (  755) [004] ...1 157999.023116: tracing_mark_write: E
17796   SensorService-1249  ( 1136) [001] ...1 157999.023690: tracing_mark_write: E
17797   SensorService-1249  ( 1136) [001] ...1 157999.023886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17798  sensors@1.0-se-755   (  755) [004] ...1 157999.025897: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17799  sensors@1.0-se-755   (  755) [004] ...1 157999.043654: tracing_mark_write: E
17800   SensorService-1249  ( 1136) [001] ...1 157999.044064: tracing_mark_write: E
17801   SensorService-1249  ( 1136) [001] ...1 157999.044503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17802  sensors@1.0-se-755   (  755) [004] ...1 157999.046786: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17803  sensors@1.0-se-755   (  755) [004] ...1 157999.064062: tracing_mark_write: E
17804   SensorService-1249  ( 1136) [001] ...1 157999.064574: tracing_mark_write: E
17805   SensorService-1249  ( 1136) [001] ...1 157999.064910: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17806  sensors@1.0-se-755   (  755) [004] ...1 157999.067303: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17807  sensors@1.0-se-755   (  755) [004] ...1 157999.083748: tracing_mark_write: E
17808   SensorService-1249  ( 1136) [001] ...1 157999.084473: tracing_mark_write: E
17809   SensorService-1249  ( 1136) [001] ...1 157999.084805: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17810  sensors@1.0-se-755   (  755) [004] ...1 157999.086996: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17811  sensors@1.0-se-755   (  755) [004] ...1 157999.106845: tracing_mark_write: E
17812   SensorService-1249  ( 1136) [001] ...1 157999.107817: tracing_mark_write: E
17813   SensorService-1249  ( 1136) [001] ...1 157999.108217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17814  sensors@1.0-se-755   (  755) [004] ...1 157999.110236: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17815  sensors@1.0-se-755   (  755) [004] ...1 157999.124414: tracing_mark_write: E
17816   SensorService-1249  ( 1136) [001] ...1 157999.125031: tracing_mark_write: E
17817   SensorService-1249  ( 1136) [001] ...1 157999.125385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17818  sensors@1.0-se-755   (  755) [004] ...1 157999.127413: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17819  sensors@1.0-se-755   (  755) [004] ...1 157999.145341: tracing_mark_write: E
17820   SensorService-1249  ( 1136) [001] ...1 157999.146264: tracing_mark_write: E
17821   SensorService-1249  ( 1136) [001] ...1 157999.146696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17822  sensors@1.0-se-755   (  755) [004] ...1 157999.148671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17823  sensors@1.0-se-755   (  755) [004] ...1 157999.164416: tracing_mark_write: E
17824   SensorService-1249  ( 1136) [001] ...1 157999.165148: tracing_mark_write: E
17825   SensorService-1249  ( 1136) [001] ...1 157999.165531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17826  sensors@1.0-se-755   (  755) [004] ...1 157999.167878: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17827  sensors@1.0-se-755   (  755) [004] ...1 157999.187874: tracing_mark_write: E
17828   SensorService-1249  ( 1136) [001] ...1 157999.190192: tracing_mark_write: E
17829   SensorService-1249  ( 1136) [001] ...1 157999.191172: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17830  sensors@1.0-se-755   (  755) [004] ...1 157999.193220: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17831  sensors@1.0-se-755   (  755) [004] ...1 157999.203372: tracing_mark_write: E
17832   SensorService-1249  ( 1136) [001] ...1 157999.203640: tracing_mark_write: E
17833   SensorService-1249  ( 1136) [001] ...1 157999.203833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17834  sensors@1.0-se-755   (  755) [004] ...1 157999.205079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17835  sensors@1.0-se-755   (  755) [004] ...1 157999.224082: tracing_mark_write: E
17836   SensorService-1249  ( 1136) [001] ...1 157999.224588: tracing_mark_write: E
17837   SensorService-1249  ( 1136) [001] ...1 157999.224888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17838  sensors@1.0-se-755   (  755) [004] ...1 157999.226079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17839  sensors@1.0-se-755   (  755) [004] ...1 157999.246219: tracing_mark_write: E
17840   SensorService-1249  ( 1136) [001] ...1 157999.246675: tracing_mark_write: E
17841   SensorService-1249  ( 1136) [001] ...1 157999.247045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17842  sensors@1.0-se-755   (  755) [004] ...1 157999.249372: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17843  sensors@1.0-se-755   (  755) [004] ...1 157999.263863: tracing_mark_write: E
17844   SensorService-1249  ( 1136) [001] ...1 157999.264128: tracing_mark_write: E
17845   SensorService-1249  ( 1136) [001] ...1 157999.264417: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17846  sensors@1.0-se-755   (  755) [004] ...1 157999.265838: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17847  sensors@1.0-se-755   (  755) [004] ...1 157999.283407: tracing_mark_write: E
17848   SensorService-1249  ( 1136) [001] ...1 157999.285637: tracing_mark_write: E
17849   SensorService-1249  ( 1136) [001] ...1 157999.286011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17850  sensors@1.0-se-755   (  755) [004] ...1 157999.287841: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17851  sensors@1.0-se-755   (  755) [004] ...1 157999.304081: tracing_mark_write: E
17852   SensorService-1249  ( 1136) [001] ...1 157999.304668: tracing_mark_write: E
17853   SensorService-1249  ( 1136) [001] ...1 157999.304865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17854  sensors@1.0-se-755   (  755) [004] ...1 157999.306894: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17855  sensors@1.0-se-755   (  755) [004] ...1 157999.326666: tracing_mark_write: E
17856   SensorService-1249  ( 1136) [001] ...1 157999.327232: tracing_mark_write: E
17857   SensorService-1249  ( 1136) [001] ...1 157999.327448: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17858  sensors@1.0-se-755   (  755) [004] ...1 157999.329551: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17859  sensors@1.0-se-755   (  755) [004] ...1 157999.342877: tracing_mark_write: E
17860   SensorService-1249  ( 1136) [001] ...1 157999.343278: tracing_mark_write: E
17861   SensorService-1249  ( 1136) [001] ...1 157999.343434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17862  sensors@1.0-se-755   (  755) [004] ...1 157999.345558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17863  sensors@1.0-se-755   (  755) [004] ...1 157999.365545: tracing_mark_write: E
17864   SensorService-1249  ( 1136) [001] ...1 157999.365947: tracing_mark_write: E
17865   SensorService-1249  ( 1136) [001] ...1 157999.366284: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17866  sensors@1.0-se-755   (  755) [004] ...1 157999.368729: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17867  sensors@1.0-se-755   (  755) [004] ...1 157999.384590: tracing_mark_write: E
17868   SensorService-1249  ( 1136) [001] ...1 157999.387380: tracing_mark_write: E
17869   SensorService-1249  ( 1136) [001] ...1 157999.388091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17870  sensors@1.0-se-755   (  755) [004] ...1 157999.389147: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17871  sensors@1.0-se-755   (  755) [004] ...1 157999.403923: tracing_mark_write: E
17872   SensorService-1249  ( 1136) [001] ...1 157999.404497: tracing_mark_write: E
17873   SensorService-1249  ( 1136) [001] ...1 157999.404738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17874  sensors@1.0-se-755   (  755) [004] ...1 157999.405234: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17875  sensors@1.0-se-755   (  755) [004] ...1 157999.422964: tracing_mark_write: E
17876   SensorService-1249  ( 1136) [001] ...1 157999.423591: tracing_mark_write: E
17877   SensorService-1249  ( 1136) [001] ...1 157999.423809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17878  sensors@1.0-se-755   (  755) [004] ...1 157999.424424: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17879  sensors@1.0-se-755   (  755) [004] ...1 157999.442692: tracing_mark_write: E
17880   SensorService-1249  ( 1136) [001] ...1 157999.443358: tracing_mark_write: E
17881   SensorService-1249  ( 1136) [001] ...1 157999.443696: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17882  sensors@1.0-se-755   (  755) [004] ...1 157999.444392: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17883  sensors@1.0-se-755   (  755) [004] ...1 157999.462500: tracing_mark_write: E
17884   SensorService-1249  ( 1136) [001] ...1 157999.463170: tracing_mark_write: E
17885   SensorService-1249  ( 1136) [001] ...1 157999.463369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17886  sensors@1.0-se-755   (  755) [004] ...1 157999.465259: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17887  sensors@1.0-se-755   (  755) [004] ...1 157999.483718: tracing_mark_write: E
17888   SensorService-1249  ( 1136) [001] ...1 157999.483981: tracing_mark_write: E
17889   SensorService-1249  ( 1136) [001] ...1 157999.484273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17890  sensors@1.0-se-755   (  755) [004] ...1 157999.485508: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17891  sensors@1.0-se-755   (  755) [004] ...1 157999.503272: tracing_mark_write: E
17892   SensorService-1249  ( 1136) [001] ...1 157999.504337: tracing_mark_write: E
17893   SensorService-1249  ( 1136) [001] ...1 157999.504555: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17894  sensors@1.0-se-755   (  755) [004] ...1 157999.506228: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17895  sensors@1.0-se-755   (  755) [004] ...1 157999.524645: tracing_mark_write: E
17896   SensorService-1249  ( 1136) [001] ...1 157999.526759: tracing_mark_write: E
17897   SensorService-1249  ( 1136) [001] ...1 157999.527159: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17898  sensors@1.0-se-755   (  755) [004] ...1 157999.528854: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17899  sensors@1.0-se-755   (  755) [004] ...1 157999.543990: tracing_mark_write: E
17900   SensorService-1249  ( 1136) [001] ...1 157999.544529: tracing_mark_write: E
17901   SensorService-1249  ( 1136) [001] ...1 157999.544736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17902  sensors@1.0-se-755   (  755) [004] ...1 157999.545847: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17903  sensors@1.0-se-755   (  755) [004] ...1 157999.564467: tracing_mark_write: E
17904   SensorService-1249  ( 1136) [001] ...1 157999.564931: tracing_mark_write: E
17905   SensorService-1249  ( 1136) [001] ...1 157999.565129: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17906  sensors@1.0-se-755   (  755) [004] ...1 157999.567524: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17907  sensors@1.0-se-755   (  755) [004] ...1 157999.584139: tracing_mark_write: E
17908   SensorService-1249  ( 1136) [001] ...1 157999.585058: tracing_mark_write: E
17909   SensorService-1249  ( 1136) [001] ...1 157999.585444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17910  sensors@1.0-se-755   (  755) [004] ...1 157999.587421: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17911  sensors@1.0-se-755   (  755) [004] ...1 157999.603483: tracing_mark_write: E
17912   SensorService-1249  ( 1136) [001] ...1 157999.603761: tracing_mark_write: E
17913   SensorService-1249  ( 1136) [001] ...1 157999.603965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17914  sensors@1.0-se-755   (  755) [004] ...1 157999.604765: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17915  sensors@1.0-se-755   (  755) [004] ...1 157999.624090: tracing_mark_write: E
17916   SensorService-1249  ( 1136) [001] ...1 157999.624808: tracing_mark_write: E
17917   SensorService-1249  ( 1136) [001] ...1 157999.625065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17918  sensors@1.0-se-755   (  755) [004] ...1 157999.625345: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17919  sensors@1.0-se-755   (  755) [004] ...1 157999.643283: tracing_mark_write: E
17920   SensorService-1249  ( 1136) [001] ...1 157999.643473: tracing_mark_write: E
17921   SensorService-1249  ( 1136) [001] ...1 157999.643693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17922  HwBinder:755_1-1247  (  755) [002] ...1 157999.644341: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17923  HwBinder:755_1-1247  (  755) [001] ...1 157999.663856: tracing_mark_write: E
17924   SensorService-1249  ( 1136) [000] ...1 157999.664427: tracing_mark_write: E
17925   SensorService-1249  ( 1136) [000] ...1 157999.664692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17926  HwBinder:755_1-1247  (  755) [001] ...1 157999.664925: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17927  HwBinder:755_1-1247  (  755) [001] ...1 157999.683789: tracing_mark_write: E
17928   SensorService-1249  ( 1136) [000] ...1 157999.684112: tracing_mark_write: E
17929   SensorService-1249  ( 1136) [000] ...1 157999.684553: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17930  HwBinder:755_1-1247  (  755) [001] ...1 157999.684869: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17931  HwBinder:755_1-1247  (  755) [001] ...1 157999.703129: tracing_mark_write: E
17932   SensorService-1249  ( 1136) [000] ...1 157999.703398: tracing_mark_write: E
17933   SensorService-1249  ( 1136) [000] ...1 157999.703676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17934  HwBinder:755_1-1247  (  755) [001] ...1 157999.704106: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17935  HwBinder:755_1-1247  (  755) [001] ...1 157999.722572: tracing_mark_write: E
17936   SensorService-1249  ( 1136) [000] ...1 157999.722833: tracing_mark_write: E
17937   SensorService-1249  ( 1136) [000] ...1 157999.723097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17938  HwBinder:755_1-1247  (  755) [001] ...1 157999.723431: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17939  HwBinder:755_1-1247  (  755) [001] ...1 157999.744136: tracing_mark_write: E
17940   SensorService-1249  ( 1136) [000] ...1 157999.744749: tracing_mark_write: E
17941   SensorService-1249  ( 1136) [000] ...1 157999.745026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17942  HwBinder:755_1-1247  (  755) [001] ...1 157999.745323: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17943  HwBinder:755_1-1247  (  755) [001] ...1 157999.762605: tracing_mark_write: E
17944   SensorService-1249  ( 1136) [000] ...1 157999.762878: tracing_mark_write: E
17945   SensorService-1249  ( 1136) [000] ...1 157999.763231: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17946  HwBinder:755_1-1247  (  755) [001] ...1 157999.764108: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17947  HwBinder:755_1-1247  (  755) [001] ...1 157999.783532: tracing_mark_write: E
17948   SensorService-1249  ( 1136) [000] ...1 157999.784191: tracing_mark_write: E
17949   SensorService-1249  ( 1136) [000] ...1 157999.784681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17950  HwBinder:755_1-1247  (  755) [001] ...1 157999.784889: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17951  HwBinder:755_1-1247  (  755) [000] ...1 157999.803346: tracing_mark_write: E
17952   SensorService-1249  ( 1136) [006] ...1 157999.805213: tracing_mark_write: E
17953   SensorService-1249  ( 1136) [006] ...1 157999.805483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17954  HwBinder:755_1-1247  (  755) [000] ...1 157999.805730: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17955  HwBinder:755_1-1247  (  755) [004] ...1 157999.824808: tracing_mark_write: E
17956   SensorService-1249  ( 1136) [006] ...1 157999.825567: tracing_mark_write: E
17957   SensorService-1249  ( 1136) [006] ...1 157999.825823: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17958  HwBinder:755_1-1247  (  755) [004] ...1 157999.826443: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17959  HwBinder:755_1-1247  (  755) [000] ...1 157999.847000: tracing_mark_write: E
17960   SensorService-1249  ( 1136) [006] ...1 157999.848923: tracing_mark_write: E
17961   SensorService-1249  ( 1136) [006] ...1 157999.849355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17962  sensors@1.0-se-755   (  755) [004] ...1 157999.850222: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17963  sensors@1.0-se-755   (  755) [004] ...1 157999.863492: tracing_mark_write: E
17964   SensorService-1249  ( 1136) [006] ...1 157999.864050: tracing_mark_write: E
17965   SensorService-1249  ( 1136) [006] ...1 157999.864411: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17966  sensors@1.0-se-755   (  755) [004] ...1 157999.865174: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17967  sensors@1.0-se-755   (  755) [004] ...1 157999.883046: tracing_mark_write: E
17968   SensorService-1249  ( 1136) [006] ...1 157999.883860: tracing_mark_write: E
17969   SensorService-1249  ( 1136) [006] ...1 157999.884200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17970  sensors@1.0-se-755   (  755) [004] ...1 157999.884903: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17971  sensors@1.0-se-755   (  755) [004] ...1 157999.905206: tracing_mark_write: E
17972   SensorService-1249  ( 1136) [006] ...1 157999.905959: tracing_mark_write: E
17973   SensorService-1249  ( 1136) [006] ...1 157999.906320: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17974  sensors@1.0-se-755   (  755) [004] ...1 157999.906967: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17975  sensors@1.0-se-755   (  755) [004] ...1 157999.923792: tracing_mark_write: E
17976   SensorService-1249  ( 1136) [006] ...1 157999.924370: tracing_mark_write: E
17977   SensorService-1249  ( 1136) [006] ...1 157999.924657: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17978  sensors@1.0-se-755   (  755) [004] ...1 157999.925132: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17979  sensors@1.0-se-755   (  755) [004] ...1 157999.943334: tracing_mark_write: E
17980   SensorService-1249  ( 1136) [006] ...1 157999.943856: tracing_mark_write: E
17981   SensorService-1249  ( 1136) [006] ...1 157999.943997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17982  sensors@1.0-se-755   (  755) [004] ...1 157999.944537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17983  sensors@1.0-se-755   (  755) [004] ...1 157999.962366: tracing_mark_write: E
17984   SensorService-1249  ( 1136) [006] ...1 157999.963128: tracing_mark_write: E
17985   SensorService-1249  ( 1136) [006] ...1 157999.963439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17986  sensors@1.0-se-755   (  755) [004] ...1 157999.964197: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17987  sensors@1.0-se-755   (  755) [004] ...1 157999.982373: tracing_mark_write: E
17988   SensorService-1249  ( 1136) [006] ...1 157999.982894: tracing_mark_write: E
17989   SensorService-1249  ( 1136) [006] ...1 157999.983074: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17990  sensors@1.0-se-755   (  755) [004] ...1 157999.983286: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17991  sensors@1.0-se-755   (  755) [004] ...1 158000.002631: tracing_mark_write: E
17992   SensorService-1249  ( 1136) [006] ...1 158000.003365: tracing_mark_write: E
17993   SensorService-1249  ( 1136) [006] ...1 158000.003672: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17994  sensors@1.0-se-755   (  755) [004] ...1 158000.003873: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17995  sensors@1.0-se-755   (  755) [004] ...1 158000.024458: tracing_mark_write: E
17996   SensorService-1249  ( 1136) [006] ...1 158000.025183: tracing_mark_write: E
17997   SensorService-1249  ( 1136) [006] ...1 158000.025496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
17998  sensors@1.0-se-755   (  755) [004] ...1 158000.026126: tracing_mark_write: B|755|HIDL::ISensors::poll::server
17999  sensors@1.0-se-755   (  755) [004] ...1 158000.044099: tracing_mark_write: E
18000   SensorService-1249  ( 1136) [006] ...1 158000.044883: tracing_mark_write: E
18001   SensorService-1249  ( 1136) [006] ...1 158000.045200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18002  sensors@1.0-se-755   (  755) [004] ...1 158000.045810: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18003  sensors@1.0-se-755   (  755) [004] ...1 158000.065085: tracing_mark_write: E
18004   SensorService-1249  ( 1136) [006] ...1 158000.065994: tracing_mark_write: E
18005   SensorService-1249  ( 1136) [006] ...1 158000.066421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18006  sensors@1.0-se-755   (  755) [004] ...1 158000.067191: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18007  sensors@1.0-se-755   (  755) [004] ...1 158000.084143: tracing_mark_write: E
18008   SensorService-1249  ( 1136) [006] ...1 158000.084988: tracing_mark_write: E
18009   SensorService-1249  ( 1136) [006] ...1 158000.085261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18010  sensors@1.0-se-755   (  755) [004] ...1 158000.085847: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18011  sensors@1.0-se-755   (  755) [004] ...1 158000.104064: tracing_mark_write: E
18012   SensorService-1249  ( 1136) [006] ...1 158000.104409: tracing_mark_write: E
18013   SensorService-1249  ( 1136) [006] ...1 158000.104717: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18014  sensors@1.0-se-755   (  755) [004] ...1 158000.105334: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18015  sensors@1.0-se-755   (  755) [004] ...1 158000.125091: tracing_mark_write: E
18016   SensorService-1249  ( 1136) [006] ...1 158000.125813: tracing_mark_write: E
18017   SensorService-1249  ( 1136) [006] ...1 158000.126131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18018  sensors@1.0-se-755   (  755) [004] ...1 158000.126726: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18019  sensors@1.0-se-755   (  755) [004] ...1 158000.145280: tracing_mark_write: E
18020   SensorService-1249  ( 1136) [006] ...1 158000.146174: tracing_mark_write: E
18021   SensorService-1249  ( 1136) [006] ...1 158000.146576: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18022  sensors@1.0-se-755   (  755) [004] ...1 158000.147235: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18023  sensors@1.0-se-755   (  755) [004] ...1 158000.164547: tracing_mark_write: E
18024   SensorService-1249  ( 1136) [006] ...1 158000.164806: tracing_mark_write: E
18025   SensorService-1249  ( 1136) [006] ...1 158000.165069: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18026  sensors@1.0-se-755   (  755) [004] ...1 158000.165592: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18027  sensors@1.0-se-755   (  755) [004] ...1 158000.184513: tracing_mark_write: E
18028   SensorService-1249  ( 1136) [006] ...1 158000.185213: tracing_mark_write: E
18029   SensorService-1249  ( 1136) [006] ...1 158000.185522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18030  sensors@1.0-se-755   (  755) [004] ...1 158000.186111: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18031  sensors@1.0-se-755   (  755) [004] ...1 158000.204394: tracing_mark_write: E
18032   SensorService-1249  ( 1136) [006] ...1 158000.205129: tracing_mark_write: E
18033   SensorService-1249  ( 1136) [006] ...1 158000.205444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18034  sensors@1.0-se-755   (  755) [004] ...1 158000.206034: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18035  sensors@1.0-se-755   (  755) [004] ...1 158000.228002: tracing_mark_write: E
18036   SensorService-1249  ( 1136) [006] ...1 158000.228904: tracing_mark_write: E
18037   SensorService-1249  ( 1136) [006] ...1 158000.229336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18038  sensors@1.0-se-755   (  755) [004] ...1 158000.230007: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18039  sensors@1.0-se-755   (  755) [004] ...1 158000.244092: tracing_mark_write: E
18040   SensorService-1249  ( 1136) [006] ...1 158000.244656: tracing_mark_write: E
18041   SensorService-1249  ( 1136) [006] ...1 158000.245001: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18042  sensors@1.0-se-755   (  755) [004] ...1 158000.245620: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18043  sensors@1.0-se-755   (  755) [004] ...1 158000.268923: tracing_mark_write: E
18044   SensorService-1249  ( 1136) [006] ...1 158000.269907: tracing_mark_write: E
18045   SensorService-1249  ( 1136) [006] ...1 158000.270358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18046  sensors@1.0-se-755   (  755) [004] ...1 158000.271007: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18047  sensors@1.0-se-755   (  755) [004] ...1 158000.284738: tracing_mark_write: E
18048   SensorService-1249  ( 1136) [006] ...1 158000.285612: tracing_mark_write: E
18049   SensorService-1249  ( 1136) [006] ...1 158000.285928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18050  sensors@1.0-se-755   (  755) [004] ...1 158000.286559: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18051  sensors@1.0-se-755   (  755) [004] ...1 158000.304914: tracing_mark_write: E
18052   SensorService-1249  ( 1136) [006] ...1 158000.305907: tracing_mark_write: E
18053   SensorService-1249  ( 1136) [006] ...1 158000.306335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18054  sensors@1.0-se-755   (  755) [004] ...1 158000.307011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18055  sensors@1.0-se-755   (  755) [004] ...1 158000.325057: tracing_mark_write: E
18056   SensorService-1249  ( 1136) [006] ...1 158000.326011: tracing_mark_write: E
18057   SensorService-1249  ( 1136) [006] ...1 158000.326326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18058  sensors@1.0-se-755   (  755) [004] ...1 158000.327016: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18059  sensors@1.0-se-755   (  755) [004] ...1 158000.343415: tracing_mark_write: E
18060   SensorService-1249  ( 1136) [006] ...1 158000.343901: tracing_mark_write: E
18061   SensorService-1249  ( 1136) [006] ...1 158000.344187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18062  sensors@1.0-se-755   (  755) [004] ...1 158000.344718: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18063  sensors@1.0-se-755   (  755) [004] ...1 158000.368253: tracing_mark_write: E
18064   SensorService-1249  ( 1136) [006] ...1 158000.369209: tracing_mark_write: E
18065   SensorService-1249  ( 1136) [006] ...1 158000.369619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18066  sensors@1.0-se-755   (  755) [004] ...1 158000.370299: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18067  sensors@1.0-se-755   (  755) [004] ...1 158000.384989: tracing_mark_write: E
18068   SensorService-1249  ( 1136) [006] ...1 158000.385900: tracing_mark_write: E
18069   SensorService-1249  ( 1136) [006] ...1 158000.386339: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18070  sensors@1.0-se-755   (  755) [004] ...1 158000.387017: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18071  sensors@1.0-se-755   (  755) [004] ...1 158000.404956: tracing_mark_write: E
18072   SensorService-1249  ( 1136) [006] ...1 158000.405798: tracing_mark_write: E
18073   SensorService-1249  ( 1136) [006] ...1 158000.406089: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18074  sensors@1.0-se-755   (  755) [004] ...1 158000.406712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18075  sensors@1.0-se-755   (  755) [004] ...1 158000.425234: tracing_mark_write: E
18076   SensorService-1249  ( 1136) [006] ...1 158000.426120: tracing_mark_write: E
18077   SensorService-1249  ( 1136) [006] ...1 158000.426439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18078  sensors@1.0-se-755   (  755) [004] ...1 158000.427048: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18079  sensors@1.0-se-755   (  755) [004] ...1 158000.445229: tracing_mark_write: E
18080   SensorService-1249  ( 1136) [006] ...1 158000.445994: tracing_mark_write: E
18081   SensorService-1249  ( 1136) [006] ...1 158000.446303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18082  sensors@1.0-se-755   (  755) [004] ...1 158000.446888: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18083  sensors@1.0-se-755   (  755) [004] ...1 158000.468997: tracing_mark_write: E
18084   SensorService-1249  ( 1136) [006] ...1 158000.469847: tracing_mark_write: E
18085   SensorService-1249  ( 1136) [006] ...1 158000.470166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18086  sensors@1.0-se-755   (  755) [004] ...1 158000.471001: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18087  sensors@1.0-se-755   (  755) [004] ...1 158000.484982: tracing_mark_write: E
18088   SensorService-1249  ( 1136) [006] ...1 158000.485899: tracing_mark_write: E
18089   SensorService-1249  ( 1136) [006] ...1 158000.486336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18090  sensors@1.0-se-755   (  755) [004] ...1 158000.487063: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18091  sensors@1.0-se-755   (  755) [004] ...1 158000.505786: tracing_mark_write: E
18092   SensorService-1249  ( 1136) [006] ...1 158000.506767: tracing_mark_write: E
18093   SensorService-1249  ( 1136) [006] ...1 158000.507228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18094  sensors@1.0-se-755   (  755) [004] ...1 158000.507888: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18095  sensors@1.0-se-755   (  755) [004] ...1 158000.526531: tracing_mark_write: E
18096   SensorService-1249  ( 1136) [006] ...1 158000.527229: tracing_mark_write: E
18097   SensorService-1249  ( 1136) [006] ...1 158000.527470: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18098  sensors@1.0-se-755   (  755) [004] ...1 158000.528004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18099  sensors@1.0-se-755   (  755) [004] ...1 158000.545990: tracing_mark_write: E
18100   SensorService-1249  ( 1136) [006] ...1 158000.546911: tracing_mark_write: E
18101   SensorService-1249  ( 1136) [006] ...1 158000.547340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18102  sensors@1.0-se-755   (  755) [004] ...1 158000.548065: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18103  sensors@1.0-se-755   (  755) [004] ...1 158000.569328: tracing_mark_write: E
18104   SensorService-1249  ( 1136) [006] ...1 158000.570071: tracing_mark_write: E
18105   SensorService-1249  ( 1136) [006] ...1 158000.570378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18106  sensors@1.0-se-755   (  755) [004] ...1 158000.571000: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18107  sensors@1.0-se-755   (  755) [004] ...1 158000.584990: tracing_mark_write: E
18108   SensorService-1249  ( 1136) [006] ...1 158000.585885: tracing_mark_write: E
18109   SensorService-1249  ( 1136) [006] ...1 158000.586203: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18110  sensors@1.0-se-755   (  755) [004] ...1 158000.586821: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18111  sensors@1.0-se-755   (  755) [004] ...1 158000.611630: tracing_mark_write: E
18112   SensorService-1249  ( 1136) [006] ...1 158000.612616: tracing_mark_write: E
18113   SensorService-1249  ( 1136) [006] ...1 158000.612921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18114  sensors@1.0-se-755   (  755) [004] ...1 158000.613624: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18115  sensors@1.0-se-755   (  755) [004] ...1 158000.624325: tracing_mark_write: E
18116   SensorService-1249  ( 1136) [006] ...1 158000.624902: tracing_mark_write: E
18117   SensorService-1249  ( 1136) [006] ...1 158000.625217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18118  sensors@1.0-se-755   (  755) [004] ...1 158000.625829: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18119  sensors@1.0-se-755   (  755) [004] ...1 158000.644645: tracing_mark_write: E
18120   SensorService-1249  ( 1136) [006] ...1 158000.645524: tracing_mark_write: E
18121   SensorService-1249  ( 1136) [006] ...1 158000.645928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18122  sensors@1.0-se-755   (  755) [004] ...1 158000.646607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18123  sensors@1.0-se-755   (  755) [004] ...1 158000.664076: tracing_mark_write: E
18124   SensorService-1249  ( 1136) [006] ...1 158000.664621: tracing_mark_write: E
18125   SensorService-1249  ( 1136) [006] ...1 158000.664907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18126  sensors@1.0-se-755   (  755) [004] ...1 158000.665602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18127  sensors@1.0-se-755   (  755) [004] ...1 158000.688045: tracing_mark_write: E
18128   SensorService-1249  ( 1136) [006] ...1 158000.689130: tracing_mark_write: E
18129   SensorService-1249  ( 1136) [006] ...1 158000.689575: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18130  sensors@1.0-se-755   (  755) [004] ...1 158000.690416: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18131  sensors@1.0-se-755   (  755) [004] ...1 158000.705757: tracing_mark_write: E
18132   SensorService-1249  ( 1136) [006] ...1 158000.706044: tracing_mark_write: E
18133   SensorService-1249  ( 1136) [006] ...1 158000.706306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18134  sensors@1.0-se-755   (  755) [004] ...1 158000.706891: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18135  sensors@1.0-se-755   (  755) [004] ...1 158000.723827: tracing_mark_write: E
18136   SensorService-1249  ( 1136) [006] ...1 158000.724524: tracing_mark_write: E
18137   SensorService-1249  ( 1136) [006] ...1 158000.724827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18138  sensors@1.0-se-755   (  755) [004] ...1 158000.725426: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18139  sensors@1.0-se-755   (  755) [004] ...1 158000.743829: tracing_mark_write: E
18140   SensorService-1249  ( 1136) [006] ...1 158000.744330: tracing_mark_write: E
18141   SensorService-1249  ( 1136) [006] ...1 158000.744501: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18142  sensors@1.0-se-755   (  755) [004] ...1 158000.744944: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18143  sensors@1.0-se-755   (  755) [004] ...1 158000.763154: tracing_mark_write: E
18144   SensorService-1249  ( 1136) [006] ...1 158000.763309: tracing_mark_write: E
18145   SensorService-1249  ( 1136) [006] ...1 158000.763473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18146  sensors@1.0-se-755   (  755) [004] ...1 158000.763843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18147  sensors@1.0-se-755   (  755) [004] ...1 158000.783003: tracing_mark_write: E
18148   SensorService-1249  ( 1136) [006] ...1 158000.783114: tracing_mark_write: E
18149   SensorService-1249  ( 1136) [006] ...1 158000.783246: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18150  sensors@1.0-se-755   (  755) [004] ...1 158000.783348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18151  sensors@1.0-se-755   (  755) [004] ...1 158000.804042: tracing_mark_write: E
18152   SensorService-1249  ( 1136) [006] ...1 158000.804438: tracing_mark_write: E
18153   SensorService-1249  ( 1136) [006] ...1 158000.804682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18154  sensors@1.0-se-755   (  755) [004] ...1 158000.805009: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18155  sensors@1.0-se-755   (  755) [004] ...1 158000.823944: tracing_mark_write: E
18156   SensorService-1249  ( 1136) [006] ...1 158000.824369: tracing_mark_write: E
18157   SensorService-1249  ( 1136) [006] ...1 158000.824586: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18158  sensors@1.0-se-755   (  755) [004] ...1 158000.824977: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18159  sensors@1.0-se-755   (  755) [004] ...1 158000.843879: tracing_mark_write: E
18160   SensorService-1249  ( 1136) [006] ...1 158000.844385: tracing_mark_write: E
18161   SensorService-1249  ( 1136) [006] ...1 158000.844597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18162  sensors@1.0-se-755   (  755) [004] ...1 158000.844988: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18163  sensors@1.0-se-755   (  755) [004] ...1 158000.863872: tracing_mark_write: E
18164   SensorService-1249  ( 1136) [006] ...1 158000.864395: tracing_mark_write: E
18165   SensorService-1249  ( 1136) [006] ...1 158000.864602: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18166  sensors@1.0-se-755   (  755) [004] ...1 158000.865001: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18167  sensors@1.0-se-755   (  755) [004] ...1 158000.883335: tracing_mark_write: E
18168   SensorService-1249  ( 1136) [006] ...1 158000.883827: tracing_mark_write: E
18169   SensorService-1249  ( 1136) [006] ...1 158000.884039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18170  sensors@1.0-se-755   (  755) [004] ...1 158000.884429: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18171  sensors@1.0-se-755   (  755) [004] ...1 158000.904004: tracing_mark_write: E
18172   SensorService-1249  ( 1136) [006] ...1 158000.904436: tracing_mark_write: E
18173   SensorService-1249  ( 1136) [006] ...1 158000.904648: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18174  sensors@1.0-se-755   (  755) [004] ...1 158000.905035: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18175  sensors@1.0-se-755   (  755) [004] ...1 158000.924122: tracing_mark_write: E
18176   SensorService-1249  ( 1136) [006] ...1 158000.924636: tracing_mark_write: E
18177   SensorService-1249  ( 1136) [006] ...1 158000.924889: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18178  sensors@1.0-se-755   (  755) [004] ...1 158000.925277: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18179  sensors@1.0-se-755   (  755) [004] ...1 158000.944026: tracing_mark_write: E
18180   SensorService-1249  ( 1136) [006] ...1 158000.944460: tracing_mark_write: E
18181   SensorService-1249  ( 1136) [006] ...1 158000.944679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18182  sensors@1.0-se-755   (  755) [004] ...1 158000.945071: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18183  sensors@1.0-se-755   (  755) [004] ...1 158000.964475: tracing_mark_write: E
18184   SensorService-1249  ( 1136) [006] ...1 158000.964902: tracing_mark_write: E
18185   SensorService-1249  ( 1136) [006] ...1 158000.965150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18186  sensors@1.0-se-755   (  755) [004] ...1 158000.965537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18187  sensors@1.0-se-755   (  755) [004] ...1 158000.984187: tracing_mark_write: E
18188   SensorService-1249  ( 1136) [006] ...1 158000.984688: tracing_mark_write: E
18189   SensorService-1249  ( 1136) [006] ...1 158000.984940: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18190  sensors@1.0-se-755   (  755) [004] ...1 158000.985327: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18191  sensors@1.0-se-755   (  755) [004] ...1 158001.005465: tracing_mark_write: E
18192   SensorService-1249  ( 1136) [006] ...1 158001.006168: tracing_mark_write: E
18193   SensorService-1249  ( 1136) [006] ...1 158001.006465: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18194  sensors@1.0-se-755   (  755) [004] ...1 158001.007072: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18195  sensors@1.0-se-755   (  755) [004] ...1 158001.025788: tracing_mark_write: E
18196   SensorService-1249  ( 1136) [006] ...1 158001.026519: tracing_mark_write: E
18197   SensorService-1249  ( 1136) [006] ...1 158001.026835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18198  sensors@1.0-se-755   (  755) [004] ...1 158001.027392: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18199  sensors@1.0-se-755   (  755) [004] ...1 158001.045483: tracing_mark_write: E
18200   SensorService-1249  ( 1136) [006] ...1 158001.046170: tracing_mark_write: E
18201   SensorService-1249  ( 1136) [006] ...1 158001.046437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18202  sensors@1.0-se-755   (  755) [004] ...1 158001.046631: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18203  sensors@1.0-se-755   (  755) [004] ...1 158001.063759: tracing_mark_write: E
18204   SensorService-1249  ( 1136) [006] ...1 158001.064466: tracing_mark_write: E
18205   SensorService-1249  ( 1136) [006] ...1 158001.064718: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18206  sensors@1.0-se-755   (  755) [004] ...1 158001.065120: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18207  sensors@1.0-se-755   (  755) [004] ...1 158001.084338: tracing_mark_write: E
18208   SensorService-1249  ( 1136) [006] ...1 158001.084855: tracing_mark_write: E
18209   SensorService-1249  ( 1136) [006] ...1 158001.085044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18210  sensors@1.0-se-755   (  755) [004] ...1 158001.085573: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18211  sensors@1.0-se-755   (  755) [004] ...1 158001.103585: tracing_mark_write: E
18212   SensorService-1249  ( 1136) [006] ...1 158001.104099: tracing_mark_write: E
18213   SensorService-1249  ( 1136) [006] ...1 158001.104357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18214  sensors@1.0-se-755   (  755) [004] ...1 158001.104920: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18215  sensors@1.0-se-755   (  755) [004] ...1 158001.125656: tracing_mark_write: E
18216   SensorService-1249  ( 1136) [006] ...1 158001.126558: tracing_mark_write: E
18217   SensorService-1249  ( 1136) [006] ...1 158001.126960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18218  sensors@1.0-se-755   (  755) [004] ...1 158001.127729: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18219  sensors@1.0-se-755   (  755) [004] ...1 158001.145148: tracing_mark_write: E
18220   SensorService-1249  ( 1136) [006] ...1 158001.145852: tracing_mark_write: E
18221   SensorService-1249  ( 1136) [006] ...1 158001.146162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18222  sensors@1.0-se-755   (  755) [004] ...1 158001.146751: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18223  sensors@1.0-se-755   (  755) [004] ...1 158001.169082: tracing_mark_write: E
18224   SensorService-1249  ( 1136) [006] ...1 158001.169993: tracing_mark_write: E
18225   SensorService-1249  ( 1136) [006] ...1 158001.170441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18226  sensors@1.0-se-755   (  755) [004] ...1 158001.171093: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18227  sensors@1.0-se-755   (  755) [004] ...1 158001.185339: tracing_mark_write: E
18228   SensorService-1249  ( 1136) [006] ...1 158001.186057: tracing_mark_write: E
18229   SensorService-1249  ( 1136) [006] ...1 158001.186277: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18230  sensors@1.0-se-755   (  755) [004] ...1 158001.186951: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18231  sensors@1.0-se-755   (  755) [004] ...1 158001.206508: tracing_mark_write: E
18232   SensorService-1249  ( 1136) [006] ...1 158001.207213: tracing_mark_write: E
18233   SensorService-1249  ( 1136) [006] ...1 158001.207523: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18234  sensors@1.0-se-755   (  755) [004] ...1 158001.208313: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18235  sensors@1.0-se-755   (  755) [004] ...1 158001.226264: tracing_mark_write: E
18236   SensorService-1249  ( 1136) [006] ...1 158001.227003: tracing_mark_write: E
18237   SensorService-1249  ( 1136) [006] ...1 158001.227323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18238  sensors@1.0-se-755   (  755) [004] ...1 158001.227913: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18239  sensors@1.0-se-755   (  755) [004] ...1 158001.245625: tracing_mark_write: E
18240   SensorService-1249  ( 1136) [006] ...1 158001.246554: tracing_mark_write: E
18241   SensorService-1249  ( 1136) [006] ...1 158001.246973: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18242  sensors@1.0-se-755   (  755) [004] ...1 158001.247727: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18243  sensors@1.0-se-755   (  755) [004] ...1 158001.266199: tracing_mark_write: E
18244   SensorService-1249  ( 1136) [006] ...1 158001.266964: tracing_mark_write: E
18245   SensorService-1249  ( 1136) [006] ...1 158001.267285: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18246  sensors@1.0-se-755   (  755) [004] ...1 158001.267887: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18247  sensors@1.0-se-755   (  755) [004] ...1 158001.285741: tracing_mark_write: E
18248   SensorService-1249  ( 1136) [006] ...1 158001.286800: tracing_mark_write: E
18249   SensorService-1249  ( 1136) [006] ...1 158001.287240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18250  sensors@1.0-se-755   (  755) [004] ...1 158001.287903: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18251  sensors@1.0-se-755   (  755) [004] ...1 158001.306494: tracing_mark_write: E
18252   SensorService-1249  ( 1136) [006] ...1 158001.307247: tracing_mark_write: E
18253   SensorService-1249  ( 1136) [006] ...1 158001.307673: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18254  sensors@1.0-se-755   (  755) [004] ...1 158001.308260: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18255  sensors@1.0-se-755   (  755) [004] ...1 158001.325196: tracing_mark_write: E
18256   SensorService-1249  ( 1136) [006] ...1 158001.325951: tracing_mark_write: E
18257   SensorService-1249  ( 1136) [006] ...1 158001.326266: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18258  sensors@1.0-se-755   (  755) [004] ...1 158001.326890: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18259  sensors@1.0-se-755   (  755) [004] ...1 158001.346509: tracing_mark_write: E
18260   SensorService-1249  ( 1136) [006] ...1 158001.347491: tracing_mark_write: E
18261   SensorService-1249  ( 1136) [006] ...1 158001.348116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18262  sensors@1.0-se-755   (  755) [004] ...1 158001.348781: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18263  sensors@1.0-se-755   (  755) [004] ...1 158001.365145: tracing_mark_write: E
18264   SensorService-1249  ( 1136) [006] ...1 158001.365898: tracing_mark_write: E
18265   SensorService-1249  ( 1136) [006] ...1 158001.366213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18266  sensors@1.0-se-755   (  755) [004] ...1 158001.366804: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18267  sensors@1.0-se-755   (  755) [004] ...1 158001.388715: tracing_mark_write: E
18268   SensorService-1249  ( 1136) [006] ...1 158001.389633: tracing_mark_write: E
18269   SensorService-1249  ( 1136) [006] ...1 158001.390100: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18270  sensors@1.0-se-755   (  755) [004] ...1 158001.390752: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18271  sensors@1.0-se-755   (  755) [004] ...1 158001.404716: tracing_mark_write: E
18272   SensorService-1249  ( 1136) [006] ...1 158001.405428: tracing_mark_write: E
18273   SensorService-1249  ( 1136) [006] ...1 158001.405746: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18274  sensors@1.0-se-755   (  755) [004] ...1 158001.406330: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18275  sensors@1.0-se-755   (  755) [004] ...1 158001.431590: tracing_mark_write: E
18276   SensorService-1249  ( 1136) [006] ...1 158001.432509: tracing_mark_write: E
18277   SensorService-1249  ( 1136) [006] ...1 158001.432924: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18278  sensors@1.0-se-755   (  755) [004] ...1 158001.433580: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18279  sensors@1.0-se-755   (  755) [004] ...1 158001.444833: tracing_mark_write: E
18280   SensorService-1249  ( 1136) [006] ...1 158001.445585: tracing_mark_write: E
18281   SensorService-1249  ( 1136) [006] ...1 158001.445863: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18282  sensors@1.0-se-755   (  755) [004] ...1 158001.446078: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18283  sensors@1.0-se-755   (  755) [004] ...1 158001.464951: tracing_mark_write: E
18284   SensorService-1249  ( 1136) [006] ...1 158001.465528: tracing_mark_write: E
18285   SensorService-1249  ( 1136) [006] ...1 158001.465732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18286  sensors@1.0-se-755   (  755) [004] ...1 158001.465877: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18287  sensors@1.0-se-755   (  755) [004] ...1 158001.485641: tracing_mark_write: E
18288   SensorService-1249  ( 1136) [006] ...1 158001.486123: tracing_mark_write: E
18289   SensorService-1249  ( 1136) [006] ...1 158001.486344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18290  sensors@1.0-se-755   (  755) [004] ...1 158001.486769: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18291  sensors@1.0-se-755   (  755) [004] ...1 158001.504603: tracing_mark_write: E
18292   SensorService-1249  ( 1136) [006] ...1 158001.505336: tracing_mark_write: E
18293   SensorService-1249  ( 1136) [006] ...1 158001.505615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18294  sensors@1.0-se-755   (  755) [004] ...1 158001.505833: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18295  sensors@1.0-se-755   (  755) [004] ...1 158001.524740: tracing_mark_write: E
18296   SensorService-1249  ( 1136) [006] ...1 158001.525252: tracing_mark_write: E
18297   SensorService-1249  ( 1136) [006] ...1 158001.525397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18298  sensors@1.0-se-755   (  755) [004] ...1 158001.525807: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18299  sensors@1.0-se-755   (  755) [004] ...1 158001.547331: tracing_mark_write: E
18300   SensorService-1249  ( 1136) [006] ...1 158001.548053: tracing_mark_write: E
18301   SensorService-1249  ( 1136) [006] ...1 158001.548384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18302  sensors@1.0-se-755   (  755) [004] ...1 158001.548642: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18303  sensors@1.0-se-755   (  755) [004] ...1 158001.565169: tracing_mark_write: E
18304   SensorService-1249  ( 1136) [006] ...1 158001.565495: tracing_mark_write: E
18305   SensorService-1249  ( 1136) [006] ...1 158001.565783: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18306  sensors@1.0-se-755   (  755) [004] ...1 158001.566440: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18307  sensors@1.0-se-755   (  755) [004] ...1 158001.587696: tracing_mark_write: E
18308   SensorService-1249  ( 1136) [006] ...1 158001.588416: tracing_mark_write: E
18309   SensorService-1249  ( 1136) [006] ...1 158001.588704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18310  sensors@1.0-se-755   (  755) [004] ...1 158001.589292: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18311  sensors@1.0-se-755   (  755) [004] ...1 158001.606658: tracing_mark_write: E
18312   SensorService-1249  ( 1136) [006] ...1 158001.607520: tracing_mark_write: E
18313   SensorService-1249  ( 1136) [006] ...1 158001.607917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18314  sensors@1.0-se-755   (  755) [004] ...1 158001.608597: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18315  sensors@1.0-se-755   (  755) [004] ...1 158001.626426: tracing_mark_write: E
18316   SensorService-1249  ( 1136) [006] ...1 158001.627327: tracing_mark_write: E
18317   SensorService-1249  ( 1136) [006] ...1 158001.627881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18318  sensors@1.0-se-755   (  755) [004] ...1 158001.628574: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18319  sensors@1.0-se-755   (  755) [004] ...1 158001.646278: tracing_mark_write: E
18320   SensorService-1249  ( 1136) [006] ...1 158001.647028: tracing_mark_write: E
18321   SensorService-1249  ( 1136) [006] ...1 158001.647350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18322  sensors@1.0-se-755   (  755) [004] ...1 158001.648038: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18323  sensors@1.0-se-755   (  755) [004] ...1 158001.666155: tracing_mark_write: E
18324   SensorService-1249  ( 1136) [006] ...1 158001.667070: tracing_mark_write: E
18325   SensorService-1249  ( 1136) [006] ...1 158001.667498: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18326  sensors@1.0-se-755   (  755) [004] ...1 158001.668300: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18327  sensors@1.0-se-755   (  755) [004] ...1 158001.687761: tracing_mark_write: E
18328   SensorService-1249  ( 1136) [006] ...1 158001.688766: tracing_mark_write: E
18329   SensorService-1249  ( 1136) [006] ...1 158001.689178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18330  sensors@1.0-se-755   (  755) [004] ...1 158001.689858: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18331  sensors@1.0-se-755   (  755) [004] ...1 158001.705955: tracing_mark_write: E
18332   SensorService-1249  ( 1136) [006] ...1 158001.706833: tracing_mark_write: E
18333   SensorService-1249  ( 1136) [006] ...1 158001.707236: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18334  sensors@1.0-se-755   (  755) [004] ...1 158001.707926: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18335  sensors@1.0-se-755   (  755) [004] ...1 158001.725778: tracing_mark_write: E
18336   SensorService-1249  ( 1136) [006] ...1 158001.726726: tracing_mark_write: E
18337   SensorService-1249  ( 1136) [006] ...1 158001.727234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18338  sensors@1.0-se-755   (  755) [004] ...1 158001.727940: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18339  sensors@1.0-se-755   (  755) [004] ...1 158001.746560: tracing_mark_write: E
18340   SensorService-1249  ( 1136) [006] ...1 158001.747278: tracing_mark_write: E
18341   SensorService-1249  ( 1136) [006] ...1 158001.747633: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18342  sensors@1.0-se-755   (  755) [004] ...1 158001.747875: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18343  sensors@1.0-se-755   (  755) [004] ...1 158001.764561: tracing_mark_write: E
18344   SensorService-1249  ( 1136) [006] ...1 158001.765261: tracing_mark_write: E
18345   SensorService-1249  ( 1136) [006] ...1 158001.765537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18346  sensors@1.0-se-755   (  755) [004] ...1 158001.765750: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18347  sensors@1.0-se-755   (  755) [004] ...1 158001.786502: tracing_mark_write: E
18348   SensorService-1249  ( 1136) [006] ...1 158001.787291: tracing_mark_write: E
18349   SensorService-1249  ( 1136) [006] ...1 158001.787693: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18350  sensors@1.0-se-755   (  755) [004] ...1 158001.788299: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18351  sensors@1.0-se-755   (  755) [004] ...1 158001.807392: tracing_mark_write: E
18352   SensorService-1249  ( 1136) [006] ...1 158001.808122: tracing_mark_write: E
18353   SensorService-1249  ( 1136) [006] ...1 158001.808404: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18354  sensors@1.0-se-755   (  755) [004] ...1 158001.809271: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18355  sensors@1.0-se-755   (  755) [004] ...1 158001.826119: tracing_mark_write: E
18356   SensorService-1249  ( 1136) [006] ...1 158001.827037: tracing_mark_write: E
18357   SensorService-1249  ( 1136) [006] ...1 158001.827443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18358  sensors@1.0-se-755   (  755) [004] ...1 158001.828208: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18359  sensors@1.0-se-755   (  755) [004] ...1 158001.850026: tracing_mark_write: E
18360   SensorService-1249  ( 1136) [006] ...1 158001.850723: tracing_mark_write: E
18361   SensorService-1249  ( 1136) [006] ...1 158001.850999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18362  sensors@1.0-se-755   (  755) [004] ...1 158001.851610: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18363  sensors@1.0-se-755   (  755) [004] ...1 158001.866526: tracing_mark_write: E
18364   SensorService-1249  ( 1136) [006] ...1 158001.867395: tracing_mark_write: E
18365   SensorService-1249  ( 1136) [006] ...1 158001.867906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18366  sensors@1.0-se-755   (  755) [004] ...1 158001.868592: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18367  sensors@1.0-se-755   (  755) [004] ...1 158001.888845: tracing_mark_write: E
18368   SensorService-1249  ( 1136) [006] ...1 158001.889650: tracing_mark_write: E
18369   SensorService-1249  ( 1136) [006] ...1 158001.889931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18370  sensors@1.0-se-755   (  755) [004] ...1 158001.890526: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18371  sensors@1.0-se-755   (  755) [004] ...1 158001.905172: tracing_mark_write: E
18372   SensorService-1249  ( 1136) [006] ...1 158001.905724: tracing_mark_write: E
18373   SensorService-1249  ( 1136) [006] ...1 158001.905959: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18374  sensors@1.0-se-755   (  755) [004] ...1 158001.906440: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18375  sensors@1.0-se-755   (  755) [004] ...1 158001.929432: tracing_mark_write: E
18376   SensorService-1249  ( 1136) [006] ...1 158001.930161: tracing_mark_write: E
18377   SensorService-1249  ( 1136) [006] ...1 158001.930412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18378  sensors@1.0-se-755   (  755) [004] ...1 158001.931014: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18379  sensors@1.0-se-755   (  755) [004] ...1 158001.945514: tracing_mark_write: E
18380   SensorService-1249  ( 1136) [006] ...1 158001.946419: tracing_mark_write: E
18381   SensorService-1249  ( 1136) [006] ...1 158001.946880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18382  sensors@1.0-se-755   (  755) [004] ...1 158001.947642: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18383  sensors@1.0-se-755   (  755) [004] ...1 158001.966157: tracing_mark_write: E
18384   SensorService-1249  ( 1136) [006] ...1 158001.966920: tracing_mark_write: E
18385   SensorService-1249  ( 1136) [006] ...1 158001.967225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18386  sensors@1.0-se-755   (  755) [004] ...1 158001.968189: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18387  sensors@1.0-se-755   (  755) [004] ...1 158001.985223: tracing_mark_write: E
18388   SensorService-1249  ( 1136) [006] ...1 158001.985792: tracing_mark_write: E
18389   SensorService-1249  ( 1136) [006] ...1 158001.986080: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18390  sensors@1.0-se-755   (  755) [004] ...1 158001.986288: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18391  sensors@1.0-se-755   (  755) [004] ...1 158002.004382: tracing_mark_write: E
18392   SensorService-1249  ( 1136) [006] ...1 158002.004902: tracing_mark_write: E
18393   SensorService-1249  ( 1136) [006] ...1 158002.005077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18394  sensors@1.0-se-755   (  755) [004] ...1 158002.005565: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18395  sensors@1.0-se-755   (  755) [004] ...1 158002.025201: tracing_mark_write: E
18396   SensorService-1249  ( 1136) [006] ...1 158002.025778: tracing_mark_write: E
18397   SensorService-1249  ( 1136) [006] ...1 158002.025933: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18398  sensors@1.0-se-755   (  755) [004] ...1 158002.026084: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18399  sensors@1.0-se-755   (  755) [004] ...1 158002.045098: tracing_mark_write: E
18400   SensorService-1249  ( 1136) [006] ...1 158002.045641: tracing_mark_write: E
18401   SensorService-1249  ( 1136) [006] ...1 158002.045785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18402  sensors@1.0-se-755   (  755) [004] ...1 158002.045933: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18403  sensors@1.0-se-755   (  755) [004] ...1 158002.066272: tracing_mark_write: E
18404   SensorService-1249  ( 1136) [006] ...1 158002.066706: tracing_mark_write: E
18405   SensorService-1249  ( 1136) [006] ...1 158002.066905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18406  sensors@1.0-se-755   (  755) [004] ...1 158002.067111: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18407  sensors@1.0-se-755   (  755) [004] ...1 158002.084443: tracing_mark_write: E
18408   SensorService-1249  ( 1136) [006] ...1 158002.084872: tracing_mark_write: E
18409   SensorService-1249  ( 1136) [006] ...1 158002.085065: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18410  sensors@1.0-se-755   (  755) [004] ...1 158002.085237: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18411  sensors@1.0-se-755   (  755) [004] ...1 158002.106114: tracing_mark_write: E
18412   SensorService-1249  ( 1136) [006] ...1 158002.106827: tracing_mark_write: E
18413   SensorService-1249  ( 1136) [006] ...1 158002.107091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18414  sensors@1.0-se-755   (  755) [004] ...1 158002.107690: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18415  sensors@1.0-se-755   (  755) [004] ...1 158002.126113: tracing_mark_write: E
18416   SensorService-1249  ( 1136) [006] ...1 158002.126838: tracing_mark_write: E
18417   SensorService-1249  ( 1136) [006] ...1 158002.127102: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18418  sensors@1.0-se-755   (  755) [004] ...1 158002.127724: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18419  sensors@1.0-se-755   (  755) [004] ...1 158002.147185: tracing_mark_write: E
18420   SensorService-1249  ( 1136) [006] ...1 158002.147908: tracing_mark_write: E
18421   SensorService-1249  ( 1136) [006] ...1 158002.148187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18422  sensors@1.0-se-755   (  755) [004] ...1 158002.148815: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18423  sensors@1.0-se-755   (  755) [004] ...1 158002.165759: tracing_mark_write: E
18424   SensorService-1249  ( 1136) [006] ...1 158002.166645: tracing_mark_write: E
18425   SensorService-1249  ( 1136) [006] ...1 158002.166905: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18426  sensors@1.0-se-755   (  755) [004] ...1 158002.167518: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18427  sensors@1.0-se-755   (  755) [004] ...1 158002.190029: tracing_mark_write: E
18428   SensorService-1249  ( 1136) [006] ...1 158002.190784: tracing_mark_write: E
18429   SensorService-1249  ( 1136) [006] ...1 158002.191238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18430  sensors@1.0-se-755   (  755) [004] ...1 158002.191840: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18431  sensors@1.0-se-755   (  755) [004] ...1 158002.205754: tracing_mark_write: E
18432   SensorService-1249  ( 1136) [006] ...1 158002.206048: tracing_mark_write: E
18433   SensorService-1249  ( 1136) [006] ...1 158002.206321: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18434  sensors@1.0-se-755   (  755) [004] ...1 158002.206924: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18435  sensors@1.0-se-755   (  755) [004] ...1 158002.225163: tracing_mark_write: E
18436   SensorService-1249  ( 1136) [006] ...1 158002.225674: tracing_mark_write: E
18437   SensorService-1249  ( 1136) [006] ...1 158002.225838: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18438  sensors@1.0-se-755   (  755) [004] ...1 158002.226183: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18439  sensors@1.0-se-755   (  755) [004] ...1 158002.247447: tracing_mark_write: E
18440   SensorService-1249  ( 1136) [006] ...1 158002.248362: tracing_mark_write: E
18441   SensorService-1249  ( 1136) [006] ...1 158002.248647: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18442  sensors@1.0-se-755   (  755) [004] ...1 158002.249263: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18443  sensors@1.0-se-755   (  755) [004] ...1 158002.265656: tracing_mark_write: E
18444   SensorService-1249  ( 1136) [006] ...1 158002.266387: tracing_mark_write: E
18445   SensorService-1249  ( 1136) [006] ...1 158002.266678: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18446  sensors@1.0-se-755   (  755) [004] ...1 158002.266870: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18447  sensors@1.0-se-755   (  755) [004] ...1 158002.285398: tracing_mark_write: E
18448   SensorService-1249  ( 1136) [006] ...1 158002.285917: tracing_mark_write: E
18449   SensorService-1249  ( 1136) [006] ...1 158002.286094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18450  sensors@1.0-se-755   (  755) [004] ...1 158002.286256: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18451  sensors@1.0-se-755   (  755) [004] ...1 158002.304621: tracing_mark_write: E
18452   SensorService-1249  ( 1136) [006] ...1 158002.305359: tracing_mark_write: E
18453   SensorService-1249  ( 1136) [006] ...1 158002.305646: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18454  sensors@1.0-se-755   (  755) [004] ...1 158002.305951: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18455  sensors@1.0-se-755   (  755) [004] ...1 158002.324748: tracing_mark_write: E
18456   SensorService-1249  ( 1136) [006] ...1 158002.325399: tracing_mark_write: E
18457   SensorService-1249  ( 1136) [006] ...1 158002.325565: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18458  sensors@1.0-se-755   (  755) [004] ...1 158002.325712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18459  sensors@1.0-se-755   (  755) [004] ...1 158002.346014: tracing_mark_write: E
18460   SensorService-1249  ( 1136) [006] ...1 158002.346711: tracing_mark_write: E
18461   SensorService-1249  ( 1136) [006] ...1 158002.346992: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18462  sensors@1.0-se-755   (  755) [004] ...1 158002.347200: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18463  sensors@1.0-se-755   (  755) [004] ...1 158002.365645: tracing_mark_write: E
18464   SensorService-1249  ( 1136) [006] ...1 158002.366187: tracing_mark_write: E
18465   SensorService-1249  ( 1136) [006] ...1 158002.366344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18466  sensors@1.0-se-755   (  755) [004] ...1 158002.366506: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18467  sensors@1.0-se-755   (  755) [004] ...1 158002.385146: tracing_mark_write: E
18468   SensorService-1249  ( 1136) [006] ...1 158002.385744: tracing_mark_write: E
18469   SensorService-1249  ( 1136) [006] ...1 158002.385930: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18470  sensors@1.0-se-755   (  755) [004] ...1 158002.386411: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18471  sensors@1.0-se-755   (  755) [004] ...1 158002.406999: tracing_mark_write: E
18472   SensorService-1249  ( 1136) [006] ...1 158002.407765: tracing_mark_write: E
18473   SensorService-1249  ( 1136) [006] ...1 158002.408058: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18474  sensors@1.0-se-755   (  755) [004] ...1 158002.408292: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18475  sensors@1.0-se-755   (  755) [004] ...1 158002.426050: tracing_mark_write: E
18476   SensorService-1249  ( 1136) [006] ...1 158002.426785: tracing_mark_write: E
18477   SensorService-1249  ( 1136) [006] ...1 158002.427084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18478  sensors@1.0-se-755   (  755) [004] ...1 158002.427689: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18479  sensors@1.0-se-755   (  755) [004] ...1 158002.445930: tracing_mark_write: E
18480   SensorService-1249  ( 1136) [006] ...1 158002.446657: tracing_mark_write: E
18481   SensorService-1249  ( 1136) [006] ...1 158002.446943: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18482  sensors@1.0-se-755   (  755) [004] ...1 158002.447173: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18483  sensors@1.0-se-755   (  755) [004] ...1 158002.465719: tracing_mark_write: E
18484   SensorService-1249  ( 1136) [006] ...1 158002.466262: tracing_mark_write: E
18485   SensorService-1249  ( 1136) [006] ...1 158002.466400: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18486  sensors@1.0-se-755   (  755) [004] ...1 158002.466890: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18487  sensors@1.0-se-755   (  755) [004] ...1 158002.487459: tracing_mark_write: E
18488   SensorService-1249  ( 1136) [006] ...1 158002.488375: tracing_mark_write: E
18489   SensorService-1249  ( 1136) [006] ...1 158002.488685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18490  sensors@1.0-se-755   (  755) [004] ...1 158002.489035: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18491  sensors@1.0-se-755   (  755) [004] ...1 158002.505721: tracing_mark_write: E
18492   SensorService-1249  ( 1136) [006] ...1 158002.505996: tracing_mark_write: E
18493   SensorService-1249  ( 1136) [006] ...1 158002.506285: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18494  sensors@1.0-se-755   (  755) [004] ...1 158002.506815: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18495  sensors@1.0-se-755   (  755) [004] ...1 158002.526975: tracing_mark_write: E
18496   SensorService-1249  ( 1136) [006] ...1 158002.527866: tracing_mark_write: E
18497   SensorService-1249  ( 1136) [006] ...1 158002.528156: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18498  sensors@1.0-se-755   (  755) [004] ...1 158002.528358: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18499  sensors@1.0-se-755   (  755) [004] ...1 158002.546673: tracing_mark_write: E
18500   SensorService-1249  ( 1136) [006] ...1 158002.547388: tracing_mark_write: E
18501   SensorService-1249  ( 1136) [006] ...1 158002.547775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18502  sensors@1.0-se-755   (  755) [004] ...1 158002.548394: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18503  sensors@1.0-se-755   (  755) [004] ...1 158002.566774: tracing_mark_write: E
18504   SensorService-1249  ( 1136) [006] ...1 158002.567482: tracing_mark_write: E
18505   SensorService-1249  ( 1136) [006] ...1 158002.567835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18506      android.bg-1155  ( 1136) [000] ...1 158002.568087: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
18507  memtrack@1.0-s-745   (  745) [000] ...1 158002.568373: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
18508  memtrack@1.0-s-745   (  745) [000] ...1 158002.568421: tracing_mark_write: E
18509  sensors@1.0-se-755   (  755) [004] ...1 158002.568490: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18510      android.bg-1155  ( 1136) [000] ...1 158002.568560: tracing_mark_write: E
18511      android.bg-1155  ( 1136) [000] ...1 158002.568581: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
18512  memtrack@1.0-s-745   (  745) [000] ...1 158002.568631: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
18513  memtrack@1.0-s-745   (  745) [000] ...1 158002.568794: tracing_mark_write: E
18514      android.bg-1155  ( 1136) [000] ...1 158002.568846: tracing_mark_write: E
18515      android.bg-1155  ( 1136) [000] ...1 158002.568857: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
18516  memtrack@1.0-s-745   (  745) [000] ...1 158002.568899: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
18517  memtrack@1.0-s-745   (  745) [000] ...1 158002.568935: tracing_mark_write: E
18518      android.bg-1155  ( 1136) [000] ...1 158002.569000: tracing_mark_write: E
18519      android.bg-1155  ( 1136) [000] ...1 158002.569021: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
18520  memtrack@1.0-s-745   (  745) [000] ...1 158002.569062: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
18521  memtrack@1.0-s-745   (  745) [000] ...1 158002.569070: tracing_mark_write: E
18522      android.bg-1155  ( 1136) [000] ...1 158002.569121: tracing_mark_write: E
18523      android.bg-1155  ( 1136) [000] ...1 158002.569131: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
18524  memtrack@1.0-s-745   (  745) [000] ...1 158002.569171: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
18525  memtrack@1.0-s-745   (  745) [000] ...1 158002.569180: tracing_mark_write: E
18526      android.bg-1155  ( 1136) [000] ...1 158002.569238: tracing_mark_write: E
18527  sensors@1.0-se-755   (  755) [004] ...1 158002.586577: tracing_mark_write: E
18528   SensorService-1249  ( 1136) [006] ...1 158002.587145: tracing_mark_write: E
18529   SensorService-1249  ( 1136) [006] ...1 158002.587426: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18530  sensors@1.0-se-755   (  755) [004] ...1 158002.587926: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18531  sensors@1.0-se-755   (  755) [004] ...1 158002.606964: tracing_mark_write: E
18532   SensorService-1249  ( 1136) [006] ...1 158002.607643: tracing_mark_write: E
18533   SensorService-1249  ( 1136) [006] ...1 158002.607846: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18534  sensors@1.0-se-755   (  755) [004] ...1 158002.608680: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18535  sensors@1.0-se-755   (  755) [004] ...1 158002.627147: tracing_mark_write: E
18536   SensorService-1249  ( 1136) [006] ...1 158002.627876: tracing_mark_write: E
18537   SensorService-1249  ( 1136) [006] ...1 158002.628174: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18538  sensors@1.0-se-755   (  755) [004] ...1 158002.628762: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18539  sensors@1.0-se-755   (  755) [004] ...1 158002.646896: tracing_mark_write: E
18540   SensorService-1249  ( 1136) [006] ...1 158002.647882: tracing_mark_write: E
18541   SensorService-1249  ( 1136) [006] ...1 158002.648143: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18542  sensors@1.0-se-755   (  755) [004] ...1 158002.648735: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18543  sensors@1.0-se-755   (  755) [004] ...1 158002.667941: tracing_mark_write: E
18544   SensorService-1249  ( 1136) [006] ...1 158002.668762: tracing_mark_write: E
18545   SensorService-1249  ( 1136) [006] ...1 158002.669094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18546  sensors@1.0-se-755   (  755) [004] ...1 158002.669717: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18547  sensors@1.0-se-755   (  755) [004] ...1 158002.687370: tracing_mark_write: E
18548   SensorService-1249  ( 1136) [006] ...1 158002.688252: tracing_mark_write: E
18549   SensorService-1249  ( 1136) [006] ...1 158002.688557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18550  sensors@1.0-se-755   (  755) [004] ...1 158002.689166: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18551  sensors@1.0-se-755   (  755) [004] ...1 158002.709645: tracing_mark_write: E
18552   SensorService-1249  ( 1136) [006] ...1 158002.710564: tracing_mark_write: E
18553   SensorService-1249  ( 1136) [006] ...1 158002.711104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18554  sensors@1.0-se-755   (  755) [004] ...1 158002.711782: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18555  sensors@1.0-se-755   (  755) [004] ...1 158002.728596: tracing_mark_write: E
18556   SensorService-1249  ( 1136) [006] ...1 158002.729313: tracing_mark_write: E
18557   SensorService-1249  ( 1136) [006] ...1 158002.729582: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18558  sensors@1.0-se-755   (  755) [004] ...1 158002.730064: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18559  sensors@1.0-se-755   (  755) [004] ...1 158002.747510: tracing_mark_write: E
18560   SensorService-1249  ( 1136) [006] ...1 158002.748434: tracing_mark_write: E
18561   SensorService-1249  ( 1136) [006] ...1 158002.748758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18562  sensors@1.0-se-755   (  755) [004] ...1 158002.749341: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18563  sensors@1.0-se-755   (  755) [004] ...1 158002.768708: tracing_mark_write: E
18564   SensorService-1249  ( 1136) [006] ...1 158002.769461: tracing_mark_write: E
18565   SensorService-1249  ( 1136) [006] ...1 158002.769775: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18566  sensors@1.0-se-755   (  755) [004] ...1 158002.770383: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18567  sensors@1.0-se-755   (  755) [004] ...1 158002.786793: tracing_mark_write: E
18568   SensorService-1249  ( 1136) [006] ...1 158002.787756: tracing_mark_write: E
18569   SensorService-1249  ( 1136) [006] ...1 158002.788043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18570  sensors@1.0-se-755   (  755) [004] ...1 158002.788287: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18571  sensors@1.0-se-755   (  755) [004] ...1 158002.808861: tracing_mark_write: E
18572   SensorService-1249  ( 1136) [006] ...1 158002.809693: tracing_mark_write: E
18573   SensorService-1249  ( 1136) [006] ...1 158002.810004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18574  sensors@1.0-se-755   (  755) [004] ...1 158002.810619: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18575  sensors@1.0-se-755   (  755) [004] ...1 158002.826375: tracing_mark_write: E
18576   SensorService-1249  ( 1136) [006] ...1 158002.827109: tracing_mark_write: E
18577   SensorService-1249  ( 1136) [006] ...1 158002.827421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18578  sensors@1.0-se-755   (  755) [004] ...1 158002.828178: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18579  sensors@1.0-se-755   (  755) [004] ...1 158002.848989: tracing_mark_write: E
18580   SensorService-1249  ( 1136) [006] ...1 158002.849702: tracing_mark_write: E
18581   SensorService-1249  ( 1136) [006] ...1 158002.850025: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18582  sensors@1.0-se-755   (  755) [004] ...1 158002.850646: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18583  sensors@1.0-se-755   (  755) [004] ...1 158002.867140: tracing_mark_write: E
18584   SensorService-1249  ( 1136) [006] ...1 158002.868000: tracing_mark_write: E
18585   SensorService-1249  ( 1136) [006] ...1 158002.868259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18586  sensors@1.0-se-755   (  755) [004] ...1 158002.868859: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18587  sensors@1.0-se-755   (  755) [004] ...1 158002.886932: tracing_mark_write: E
18588   SensorService-1249  ( 1136) [006] ...1 158002.887895: tracing_mark_write: E
18589   SensorService-1249  ( 1136) [006] ...1 158002.888208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18590  sensors@1.0-se-755   (  755) [004] ...1 158002.889132: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18591  sensors@1.0-se-755   (  755) [004] ...1 158002.906923: tracing_mark_write: E
18592   SensorService-1249  ( 1136) [006] ...1 158002.907746: tracing_mark_write: E
18593   SensorService-1249  ( 1136) [006] ...1 158002.908003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18594  sensors@1.0-se-755   (  755) [004] ...1 158002.908624: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18595  sensors@1.0-se-755   (  755) [004] ...1 158002.927241: tracing_mark_write: E
18596   SensorService-1249  ( 1136) [006] ...1 158002.927973: tracing_mark_write: E
18597   SensorService-1249  ( 1136) [006] ...1 158002.928257: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18598  sensors@1.0-se-755   (  755) [004] ...1 158002.928871: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18599  sensors@1.0-se-755   (  755) [004] ...1 158002.947328: tracing_mark_write: E
18600   SensorService-1249  ( 1136) [006] ...1 158002.948116: tracing_mark_write: E
18601   SensorService-1249  ( 1136) [006] ...1 158002.948441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18602  sensors@1.0-se-755   (  755) [004] ...1 158002.949034: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18603  sensors@1.0-se-755   (  755) [004] ...1 158002.968424: tracing_mark_write: E
18604   SensorService-1249  ( 1136) [006] ...1 158002.969168: tracing_mark_write: E
18605   SensorService-1249  ( 1136) [006] ...1 158002.969491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18606  sensors@1.0-se-755   (  755) [004] ...1 158002.970464: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18607  sensors@1.0-se-755   (  755) [004] ...1 158002.987832: tracing_mark_write: E
18608   SensorService-1249  ( 1136) [006] ...1 158002.988588: tracing_mark_write: E
18609   SensorService-1249  ( 1136) [006] ...1 158002.988876: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18610  sensors@1.0-se-755   (  755) [004] ...1 158002.989570: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18611  sensors@1.0-se-755   (  755) [004] ...1 158003.006867: tracing_mark_write: E
18612   SensorService-1249  ( 1136) [006] ...1 158003.007739: tracing_mark_write: E
18613   SensorService-1249  ( 1136) [006] ...1 158003.008049: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18614  sensors@1.0-se-755   (  755) [004] ...1 158003.008773: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18615  sensors@1.0-se-755   (  755) [004] ...1 158003.033351: tracing_mark_write: E
18616   SensorService-1249  ( 1136) [006] ...1 158003.034359: tracing_mark_write: E
18617   SensorService-1249  ( 1136) [006] ...1 158003.034752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18618  sensors@1.0-se-755   (  755) [004] ...1 158003.035460: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18619  sensors@1.0-se-755   (  755) [004] ...1 158003.047039: tracing_mark_write: E
18620   SensorService-1249  ( 1136) [006] ...1 158003.047768: tracing_mark_write: E
18621   SensorService-1249  ( 1136) [006] ...1 158003.048059: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18622  sensors@1.0-se-755   (  755) [004] ...1 158003.048709: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18623  sensors@1.0-se-755   (  755) [004] ...1 158003.067702: tracing_mark_write: E
18624   SensorService-1249  ( 1136) [006] ...1 158003.068764: tracing_mark_write: E
18625   SensorService-1249  ( 1136) [006] ...1 158003.069166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18626  sensors@1.0-se-755   (  755) [004] ...1 158003.069839: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18627  sensors@1.0-se-755   (  755) [004] ...1 158003.087810: tracing_mark_write: E
18628   SensorService-1249  ( 1136) [006] ...1 158003.088736: tracing_mark_write: E
18629   SensorService-1249  ( 1136) [006] ...1 158003.089136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18630  sensors@1.0-se-755   (  755) [004] ...1 158003.090084: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18631  sensors@1.0-se-755   (  755) [004] ...1 158003.107450: tracing_mark_write: E
18632   SensorService-1249  ( 1136) [006] ...1 158003.108450: tracing_mark_write: E
18633   SensorService-1249  ( 1136) [006] ...1 158003.108880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18634  sensors@1.0-se-755   (  755) [004] ...1 158003.109562: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18635  sensors@1.0-se-755   (  755) [004] ...1 158003.126953: tracing_mark_write: E
18636   SensorService-1249  ( 1136) [006] ...1 158003.127773: tracing_mark_write: E
18637   SensorService-1249  ( 1136) [006] ...1 158003.128076: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18638  sensors@1.0-se-755   (  755) [004] ...1 158003.128673: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18639  sensors@1.0-se-755   (  755) [004] ...1 158003.147064: tracing_mark_write: E
18640   SensorService-1249  ( 1136) [006] ...1 158003.147719: tracing_mark_write: E
18641   SensorService-1249  ( 1136) [006] ...1 158003.147980: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18642  sensors@1.0-se-755   (  755) [004] ...1 158003.148456: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18643  sensors@1.0-se-755   (  755) [004] ...1 158003.170419: tracing_mark_write: E
18644   SensorService-1249  ( 1136) [006] ...1 158003.171339: tracing_mark_write: E
18645   SensorService-1249  ( 1136) [006] ...1 158003.171732: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18646  sensors@1.0-se-755   (  755) [004] ...1 158003.172431: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18647  sensors@1.0-se-755   (  755) [004] ...1 158003.187119: tracing_mark_write: E
18648   SensorService-1249  ( 1136) [006] ...1 158003.187852: tracing_mark_write: E
18649   SensorService-1249  ( 1136) [006] ...1 158003.188136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18650  sensors@1.0-se-755   (  755) [004] ...1 158003.188742: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18651  sensors@1.0-se-755   (  755) [004] ...1 158003.212269: tracing_mark_write: E
18652   SensorService-1249  ( 1136) [006] ...1 158003.213169: tracing_mark_write: E
18653   SensorService-1249  ( 1136) [006] ...1 158003.213572: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18654  sensors@1.0-se-755   (  755) [004] ...1 158003.214395: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18655  sensors@1.0-se-755   (  755) [004] ...1 158003.226988: tracing_mark_write: E
18656   SensorService-1249  ( 1136) [006] ...1 158003.227614: tracing_mark_write: E
18657   SensorService-1249  ( 1136) [006] ...1 158003.227866: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18658  sensors@1.0-se-755   (  755) [004] ...1 158003.228409: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18659  sensors@1.0-se-755   (  755) [004] ...1 158003.249847: tracing_mark_write: E
18660   SensorService-1249  ( 1136) [006] ...1 158003.250598: tracing_mark_write: E
18661   SensorService-1249  ( 1136) [006] ...1 158003.250945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18662  sensors@1.0-se-755   (  755) [004] ...1 158003.251139: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18663  sensors@1.0-se-755   (  755) [004] ...1 158003.268094: tracing_mark_write: E
18664   SensorService-1249  ( 1136) [006] ...1 158003.269012: tracing_mark_write: E
18665   SensorService-1249  ( 1136) [006] ...1 158003.269421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18666  sensors@1.0-se-755   (  755) [004] ...1 158003.269671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18667  sensors@1.0-se-755   (  755) [004] ...1 158003.286575: tracing_mark_write: E
18668   SensorService-1249  ( 1136) [006] ...1 158003.287306: tracing_mark_write: E
18669   SensorService-1249  ( 1136) [006] ...1 158003.287695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18670  sensors@1.0-se-755   (  755) [004] ...1 158003.287897: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18671  sensors@1.0-se-755   (  755) [004] ...1 158003.306397: tracing_mark_write: E
18672   SensorService-1249  ( 1136) [006] ...1 158003.307128: tracing_mark_write: E
18673   SensorService-1249  ( 1136) [006] ...1 158003.307384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18674  sensors@1.0-se-755   (  755) [004] ...1 158003.307644: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18675  sensors@1.0-se-755   (  755) [004] ...1 158003.327794: tracing_mark_write: E
18676   SensorService-1249  ( 1136) [006] ...1 158003.328523: tracing_mark_write: E
18677   SensorService-1249  ( 1136) [006] ...1 158003.328810: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18678  sensors@1.0-se-755   (  755) [004] ...1 158003.329427: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18679  sensors@1.0-se-755   (  755) [004] ...1 158003.348131: tracing_mark_write: E
18680   SensorService-1249  ( 1136) [006] ...1 158003.349047: tracing_mark_write: E
18681   SensorService-1249  ( 1136) [006] ...1 158003.349423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18682  sensors@1.0-se-755   (  755) [004] ...1 158003.350087: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18683  sensors@1.0-se-755   (  755) [004] ...1 158003.368359: tracing_mark_write: E
18684   SensorService-1249  ( 1136) [006] ...1 158003.369369: tracing_mark_write: E
18685   SensorService-1249  ( 1136) [006] ...1 158003.369785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18686  sensors@1.0-se-755   (  755) [004] ...1 158003.370474: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18687  sensors@1.0-se-755   (  755) [004] ...1 158003.387461: tracing_mark_write: E
18688   SensorService-1249  ( 1136) [006] ...1 158003.388487: tracing_mark_write: E
18689   SensorService-1249  ( 1136) [006] ...1 158003.388888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18690  sensors@1.0-se-755   (  755) [004] ...1 158003.389602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18691  sensors@1.0-se-755   (  755) [004] ...1 158003.410216: tracing_mark_write: E
18692   SensorService-1249  ( 1136) [006] ...1 158003.411216: tracing_mark_write: E
18693   SensorService-1249  ( 1136) [006] ...1 158003.411652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18694  sensors@1.0-se-755   (  755) [004] ...1 158003.411907: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18695  sensors@1.0-se-755   (  755) [004] ...1 158003.426382: tracing_mark_write: E
18696   SensorService-1249  ( 1136) [006] ...1 158003.427076: tracing_mark_write: E
18697   SensorService-1249  ( 1136) [006] ...1 158003.427350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18698  sensors@1.0-se-755   (  755) [004] ...1 158003.427607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18699  sensors@1.0-se-755   (  755) [004] ...1 158003.447624: tracing_mark_write: E
18700   SensorService-1249  ( 1136) [006] ...1 158003.448407: tracing_mark_write: E
18701   SensorService-1249  ( 1136) [006] ...1 158003.448684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18702  sensors@1.0-se-755   (  755) [004] ...1 158003.449011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18703  sensors@1.0-se-755   (  755) [004] ...1 158003.468101: tracing_mark_write: E
18704   SensorService-1249  ( 1136) [006] ...1 158003.468830: tracing_mark_write: E
18705   SensorService-1249  ( 1136) [006] ...1 158003.469141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18706  sensors@1.0-se-755   (  755) [004] ...1 158003.469741: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18707  sensors@1.0-se-755   (  755) [004] ...1 158003.487896: tracing_mark_write: E
18708   SensorService-1249  ( 1136) [006] ...1 158003.488783: tracing_mark_write: E
18709   SensorService-1249  ( 1136) [006] ...1 158003.489200: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18710  sensors@1.0-se-755   (  755) [004] ...1 158003.489867: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18711  sensors@1.0-se-755   (  755) [004] ...1 158003.507982: tracing_mark_write: E
18712   SensorService-1249  ( 1136) [006] ...1 158003.508877: tracing_mark_write: E
18713   SensorService-1249  ( 1136) [006] ...1 158003.509277: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18714  sensors@1.0-se-755   (  755) [004] ...1 158003.509939: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18715  sensors@1.0-se-755   (  755) [004] ...1 158003.527980: tracing_mark_write: E
18716   SensorService-1249  ( 1136) [006] ...1 158003.528899: tracing_mark_write: E
18717   SensorService-1249  ( 1136) [006] ...1 158003.529331: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18718  sensors@1.0-se-755   (  755) [004] ...1 158003.529607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18719  sensors@1.0-se-755   (  755) [004] ...1 158003.546749: tracing_mark_write: E
18720   SensorService-1249  ( 1136) [006] ...1 158003.547303: tracing_mark_write: E
18721   SensorService-1249  ( 1136) [006] ...1 158003.547644: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18722  sensors@1.0-se-755   (  755) [004] ...1 158003.548120: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18723  sensors@1.0-se-755   (  755) [004] ...1 158003.568027: tracing_mark_write: E
18724   SensorService-1249  ( 1136) [006] ...1 158003.568726: tracing_mark_write: E
18725   SensorService-1249  ( 1136) [006] ...1 158003.568988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18726  sensors@1.0-se-755   (  755) [004] ...1 158003.569587: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18727  sensors@1.0-se-755   (  755) [004] ...1 158003.587216: tracing_mark_write: E
18728   SensorService-1249  ( 1136) [006] ...1 158003.587954: tracing_mark_write: E
18729   SensorService-1249  ( 1136) [006] ...1 158003.588259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18730  sensors@1.0-se-755   (  755) [004] ...1 158003.588883: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18731  sensors@1.0-se-755   (  755) [004] ...1 158003.607273: tracing_mark_write: E
18732   SensorService-1249  ( 1136) [006] ...1 158003.608013: tracing_mark_write: E
18733   SensorService-1249  ( 1136) [006] ...1 158003.608301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18734  sensors@1.0-se-755   (  755) [004] ...1 158003.608936: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18735  sensors@1.0-se-755   (  755) [004] ...1 158003.626465: tracing_mark_write: E
18736   SensorService-1249  ( 1136) [006] ...1 158003.626816: tracing_mark_write: E
18737   SensorService-1249  ( 1136) [006] ...1 158003.627121: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18738  sensors@1.0-se-755   (  755) [004] ...1 158003.627758: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18739  sensors@1.0-se-755   (  755) [004] ...1 158003.647356: tracing_mark_write: E
18740   SensorService-1249  ( 1136) [006] ...1 158003.647797: tracing_mark_write: E
18741   SensorService-1249  ( 1136) [006] ...1 158003.648090: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18742  sensors@1.0-se-755   (  755) [004] ...1 158003.648688: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18743  sensors@1.0-se-755   (  755) [004] ...1 158003.666405: tracing_mark_write: E
18744   SensorService-1249  ( 1136) [006] ...1 158003.667056: tracing_mark_write: E
18745   SensorService-1249  ( 1136) [006] ...1 158003.667309: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18746  sensors@1.0-se-755   (  755) [004] ...1 158003.667940: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18747  sensors@1.0-se-755   (  755) [004] ...1 158003.686931: tracing_mark_write: E
18748   SensorService-1249  ( 1136) [006] ...1 158003.687091: tracing_mark_write: E
18749   SensorService-1249  ( 1136) [006] ...1 158003.687226: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18750  sensors@1.0-se-755   (  755) [004] ...1 158003.687841: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18751  sensors@1.0-se-755   (  755) [004] ...1 158003.707839: tracing_mark_write: E
18752   SensorService-1249  ( 1136) [006] ...1 158003.708549: tracing_mark_write: E
18753   SensorService-1249  ( 1136) [006] ...1 158003.708851: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18754  sensors@1.0-se-755   (  755) [004] ...1 158003.709451: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18755  sensors@1.0-se-755   (  755) [004] ...1 158003.728176: tracing_mark_write: E
18756   SensorService-1249  ( 1136) [006] ...1 158003.729155: tracing_mark_write: E
18757   SensorService-1249  ( 1136) [006] ...1 158003.729546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18758  sensors@1.0-se-755   (  755) [004] ...1 158003.730221: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18759  sensors@1.0-se-755   (  755) [004] ...1 158003.747498: tracing_mark_write: E
18760   SensorService-1249  ( 1136) [006] ...1 158003.748332: tracing_mark_write: E
18761   SensorService-1249  ( 1136) [006] ...1 158003.748621: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18762  sensors@1.0-se-755   (  755) [004] ...1 158003.749228: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18763  sensors@1.0-se-755   (  755) [004] ...1 158003.767738: tracing_mark_write: E
18764   SensorService-1249  ( 1136) [006] ...1 158003.768463: tracing_mark_write: E
18765   SensorService-1249  ( 1136) [006] ...1 158003.768726: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18766  sensors@1.0-se-755   (  755) [004] ...1 158003.769324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18767  sensors@1.0-se-755   (  755) [004] ...1 158003.787083: tracing_mark_write: E
18768   SensorService-1249  ( 1136) [006] ...1 158003.787380: tracing_mark_write: E
18769   SensorService-1249  ( 1136) [006] ...1 158003.787720: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18770  sensors@1.0-se-755   (  755) [004] ...1 158003.788352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18771  sensors@1.0-se-755   (  755) [004] ...1 158003.807839: tracing_mark_write: E
18772   SensorService-1249  ( 1136) [006] ...1 158003.808572: tracing_mark_write: E
18773   SensorService-1249  ( 1136) [006] ...1 158003.808840: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18774  sensors@1.0-se-755   (  755) [004] ...1 158003.809437: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18775  sensors@1.0-se-755   (  755) [004] ...1 158003.827874: tracing_mark_write: E
18776   SensorService-1249  ( 1136) [006] ...1 158003.828611: tracing_mark_write: E
18777   SensorService-1249  ( 1136) [006] ...1 158003.828908: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18778  sensors@1.0-se-755   (  755) [004] ...1 158003.829500: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18779  sensors@1.0-se-755   (  755) [004] ...1 158003.847360: tracing_mark_write: E
18780   SensorService-1249  ( 1136) [006] ...1 158003.848077: tracing_mark_write: E
18781   SensorService-1249  ( 1136) [006] ...1 158003.848333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18782  sensors@1.0-se-755   (  755) [004] ...1 158003.849044: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18783  sensors@1.0-se-755   (  755) [004] ...1 158003.867508: tracing_mark_write: E
18784   SensorService-1249  ( 1136) [006] ...1 158003.868335: tracing_mark_write: E
18785   SensorService-1249  ( 1136) [006] ...1 158003.868637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18786  sensors@1.0-se-755   (  755) [004] ...1 158003.868862: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18787  sensors@1.0-se-755   (  755) [004] ...1 158003.886102: tracing_mark_write: E
18788   SensorService-1249  ( 1136) [006] ...1 158003.886922: tracing_mark_write: E
18789   SensorService-1249  ( 1136) [006] ...1 158003.887201: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18790  sensors@1.0-se-755   (  755) [004] ...1 158003.887865: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18791  sensors@1.0-se-755   (  755) [004] ...1 158003.906863: tracing_mark_write: E
18792   SensorService-1249  ( 1136) [006] ...1 158003.907425: tracing_mark_write: E
18793   SensorService-1249  ( 1136) [006] ...1 158003.907773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18794  sensors@1.0-se-755   (  755) [004] ...1 158003.907957: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18795  sensors@1.0-se-755   (  755) [004] ...1 158003.926712: tracing_mark_write: E
18796   SensorService-1249  ( 1136) [006] ...1 158003.927431: tracing_mark_write: E
18797   SensorService-1249  ( 1136) [006] ...1 158003.927813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18798  sensors@1.0-se-755   (  755) [004] ...1 158003.928002: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18799  sensors@1.0-se-755   (  755) [004] ...1 158003.946178: tracing_mark_write: E
18800   SensorService-1249  ( 1136) [006] ...1 158003.946699: tracing_mark_write: E
18801   SensorService-1249  ( 1136) [006] ...1 158003.946870: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18802  sensors@1.0-se-755   (  755) [004] ...1 158003.947103: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18803  sensors@1.0-se-755   (  755) [004] ...1 158003.966359: tracing_mark_write: E
18804   SensorService-1249  ( 1136) [006] ...1 158003.966888: tracing_mark_write: E
18805   SensorService-1249  ( 1136) [006] ...1 158003.967043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18806  sensors@1.0-se-755   (  755) [004] ...1 158003.967196: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18807  sensors@1.0-se-755   (  755) [004] ...1 158003.987849: tracing_mark_write: E
18808   SensorService-1249  ( 1136) [006] ...1 158003.988626: tracing_mark_write: E
18809   SensorService-1249  ( 1136) [006] ...1 158003.988917: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18810  sensors@1.0-se-755   (  755) [004] ...1 158003.989660: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18811  sensors@1.0-se-755   (  755) [004] ...1 158004.007971: tracing_mark_write: E
18812   SensorService-1249  ( 1136) [006] ...1 158004.008947: tracing_mark_write: E
18813   SensorService-1249  ( 1136) [006] ...1 158004.009334: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18814  sensors@1.0-se-755   (  755) [004] ...1 158004.009946: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18815  sensors@1.0-se-755   (  755) [004] ...1 158004.030191: tracing_mark_write: E
18816   SensorService-1249  ( 1136) [006] ...1 158004.030982: tracing_mark_write: E
18817   SensorService-1249  ( 1136) [006] ...1 158004.031275: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18818  sensors@1.0-se-755   (  755) [004] ...1 158004.031950: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18819  sensors@1.0-se-755   (  755) [004] ...1 158004.047787: tracing_mark_write: E
18820   SensorService-1249  ( 1136) [006] ...1 158004.048522: tracing_mark_write: E
18821   SensorService-1249  ( 1136) [006] ...1 158004.048834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18822  sensors@1.0-se-755   (  755) [004] ...1 158004.049429: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18823  sensors@1.0-se-755   (  755) [004] ...1 158004.067936: tracing_mark_write: E
18824   SensorService-1249  ( 1136) [006] ...1 158004.068635: tracing_mark_write: E
18825   SensorService-1249  ( 1136) [006] ...1 158004.068903: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18826  sensors@1.0-se-755   (  755) [004] ...1 158004.069392: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18827  sensors@1.0-se-755   (  755) [004] ...1 158004.088060: tracing_mark_write: E
18828   SensorService-1249  ( 1136) [006] ...1 158004.088801: tracing_mark_write: E
18829   SensorService-1249  ( 1136) [006] ...1 158004.089113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18830  sensors@1.0-se-755   (  755) [004] ...1 158004.089776: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18831  sensors@1.0-se-755   (  755) [004] ...1 158004.108136: tracing_mark_write: E
18832   SensorService-1249  ( 1136) [006] ...1 158004.108421: tracing_mark_write: E
18833   SensorService-1249  ( 1136) [006] ...1 158004.108656: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18834  sensors@1.0-se-755   (  755) [004] ...1 158004.109206: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18835  sensors@1.0-se-755   (  755) [004] ...1 158004.127792: tracing_mark_write: E
18836   SensorService-1249  ( 1136) [006] ...1 158004.128083: tracing_mark_write: E
18837   SensorService-1249  ( 1136) [006] ...1 158004.128376: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18838  sensors@1.0-se-755   (  755) [004] ...1 158004.128971: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18839  sensors@1.0-se-755   (  755) [004] ...1 158004.151535: tracing_mark_write: E
18840   SensorService-1249  ( 1136) [006] ...1 158004.152490: tracing_mark_write: E
18841   SensorService-1249  ( 1136) [006] ...1 158004.152994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18842  sensors@1.0-se-755   (  755) [004] ...1 158004.153673: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18843  sensors@1.0-se-755   (  755) [004] ...1 158004.168573: tracing_mark_write: E
18844   SensorService-1249  ( 1136) [006] ...1 158004.169345: tracing_mark_write: E
18845   SensorService-1249  ( 1136) [006] ...1 158004.169639: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18846  sensors@1.0-se-755   (  755) [004] ...1 158004.170228: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18847  sensors@1.0-se-755   (  755) [004] ...1 158004.187428: tracing_mark_write: E
18848   SensorService-1249  ( 1136) [006] ...1 158004.188304: tracing_mark_write: E
18849   SensorService-1249  ( 1136) [006] ...1 158004.188585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18850  sensors@1.0-se-755   (  755) [004] ...1 158004.189175: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18851  sensors@1.0-se-755   (  755) [004] ...1 158004.212515: tracing_mark_write: E
18852   SensorService-1249  ( 1136) [006] ...1 158004.213437: tracing_mark_write: E
18853   SensorService-1249  ( 1136) [006] ...1 158004.213835: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18854  sensors@1.0-se-755   (  755) [004] ...1 158004.214512: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18855  sensors@1.0-se-755   (  755) [004] ...1 158004.228835: tracing_mark_write: E
18856   SensorService-1249  ( 1136) [006] ...1 158004.229573: tracing_mark_write: E
18857   SensorService-1249  ( 1136) [006] ...1 158004.229866: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18858  sensors@1.0-se-755   (  755) [004] ...1 158004.230462: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18859  sensors@1.0-se-755   (  755) [004] ...1 158004.249357: tracing_mark_write: E
18860   SensorService-1249  ( 1136) [006] ...1 158004.250264: tracing_mark_write: E
18861   SensorService-1249  ( 1136) [006] ...1 158004.250682: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18862  sensors@1.0-se-755   (  755) [004] ...1 158004.251474: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18863  sensors@1.0-se-755   (  755) [004] ...1 158004.268321: tracing_mark_write: E
18864   SensorService-1249  ( 1136) [006] ...1 158004.269027: tracing_mark_write: E
18865   SensorService-1249  ( 1136) [006] ...1 158004.269312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18866  sensors@1.0-se-755   (  755) [004] ...1 158004.269922: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18867  sensors@1.0-se-755   (  755) [004] ...1 158004.288321: tracing_mark_write: E
18868   SensorService-1249  ( 1136) [006] ...1 158004.289278: tracing_mark_write: E
18869   SensorService-1249  ( 1136) [006] ...1 158004.289651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18870  sensors@1.0-se-755   (  755) [004] ...1 158004.290323: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18871  sensors@1.0-se-755   (  755) [004] ...1 158004.309686: tracing_mark_write: E
18872   SensorService-1249  ( 1136) [006] ...1 158004.310594: tracing_mark_write: E
18873   SensorService-1249  ( 1136) [006] ...1 158004.310966: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18874  sensors@1.0-se-755   (  755) [004] ...1 158004.311563: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18875  sensors@1.0-se-755   (  755) [004] ...1 158004.328034: tracing_mark_write: E
18876   SensorService-1249  ( 1136) [006] ...1 158004.328768: tracing_mark_write: E
18877   SensorService-1249  ( 1136) [006] ...1 158004.329031: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18878  sensors@1.0-se-755   (  755) [004] ...1 158004.329627: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18879  sensors@1.0-se-755   (  755) [004] ...1 158004.351175: tracing_mark_write: E
18880   SensorService-1249  ( 1136) [006] ...1 158004.352144: tracing_mark_write: E
18881   SensorService-1249  ( 1136) [006] ...1 158004.352591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18882  sensors@1.0-se-755   (  755) [004] ...1 158004.353253: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18883  sensors@1.0-se-755   (  755) [004] ...1 158004.367775: tracing_mark_write: E
18884   SensorService-1249  ( 1136) [006] ...1 158004.368359: tracing_mark_write: E
18885   SensorService-1249  ( 1136) [006] ...1 158004.368679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18886  sensors@1.0-se-755   (  755) [004] ...1 158004.368951: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18887  sensors@1.0-se-755   (  755) [004] ...1 158004.387144: tracing_mark_write: E
18888   SensorService-1249  ( 1136) [006] ...1 158004.387866: tracing_mark_write: E
18889   SensorService-1249  ( 1136) [006] ...1 158004.388140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18890  sensors@1.0-se-755   (  755) [004] ...1 158004.388340: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18891  sensors@1.0-se-755   (  755) [004] ...1 158004.409974: tracing_mark_write: E
18892   SensorService-1249  ( 1136) [006] ...1 158004.410718: tracing_mark_write: E
18893   SensorService-1249  ( 1136) [006] ...1 158004.411131: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18894  sensors@1.0-se-755   (  755) [004] ...1 158004.411736: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18895  sensors@1.0-se-755   (  755) [004] ...1 158004.428639: tracing_mark_write: E
18896   SensorService-1249  ( 1136) [006] ...1 158004.429562: tracing_mark_write: E
18897   SensorService-1249  ( 1136) [006] ...1 158004.429931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18898  sensors@1.0-se-755   (  755) [004] ...1 158004.430719: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18899  sensors@1.0-se-755   (  755) [004] ...1 158004.448591: tracing_mark_write: E
18900   SensorService-1249  ( 1136) [006] ...1 158004.449304: tracing_mark_write: E
18901   SensorService-1249  ( 1136) [006] ...1 158004.449579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18902  sensors@1.0-se-755   (  755) [004] ...1 158004.450173: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18903  sensors@1.0-se-755   (  755) [004] ...1 158004.467722: tracing_mark_write: E
18904   SensorService-1249  ( 1136) [006] ...1 158004.468462: tracing_mark_write: E
18905   SensorService-1249  ( 1136) [006] ...1 158004.468712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18906  sensors@1.0-se-755   (  755) [004] ...1 158004.468989: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18907  sensors@1.0-se-755   (  755) [004] ...1 158004.488689: tracing_mark_write: E
18908   SensorService-1249  ( 1136) [006] ...1 158004.489452: tracing_mark_write: E
18909   SensorService-1249  ( 1136) [006] ...1 158004.489709: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18910  sensors@1.0-se-755   (  755) [004] ...1 158004.490322: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18911  sensors@1.0-se-755   (  755) [004] ...1 158004.508164: tracing_mark_write: E
18912   SensorService-1249  ( 1136) [006] ...1 158004.508917: tracing_mark_write: E
18913   SensorService-1249  ( 1136) [006] ...1 158004.509180: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18914  sensors@1.0-se-755   (  755) [004] ...1 158004.509783: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18915  sensors@1.0-se-755   (  755) [004] ...1 158004.529738: tracing_mark_write: E
18916   SensorService-1249  ( 1136) [006] ...1 158004.530459: tracing_mark_write: E
18917   SensorService-1249  ( 1136) [006] ...1 158004.530744: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18918  sensors@1.0-se-755   (  755) [004] ...1 158004.531454: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18919  sensors@1.0-se-755   (  755) [004] ...1 158004.548469: tracing_mark_write: E
18920   SensorService-1249  ( 1136) [006] ...1 158004.549191: tracing_mark_write: E
18921   SensorService-1249  ( 1136) [006] ...1 158004.549460: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18922  sensors@1.0-se-755   (  755) [004] ...1 158004.550045: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18923  sensors@1.0-se-755   (  755) [004] ...1 158004.571346: tracing_mark_write: E
18924   SensorService-1249  ( 1136) [006] ...1 158004.572058: tracing_mark_write: E
18925   SensorService-1249  ( 1136) [006] ...1 158004.572317: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18926  sensors@1.0-se-755   (  755) [004] ...1 158004.572906: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18927  sensors@1.0-se-755   (  755) [004] ...1 158004.587954: tracing_mark_write: E
18928   SensorService-1249  ( 1136) [006] ...1 158004.588519: tracing_mark_write: E
18929   SensorService-1249  ( 1136) [006] ...1 158004.588779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18930  sensors@1.0-se-755   (  755) [004] ...1 158004.589374: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18931  sensors@1.0-se-755   (  755) [004] ...1 158004.610346: tracing_mark_write: E
18932   SensorService-1249  ( 1136) [006] ...1 158004.611260: tracing_mark_write: E
18933   SensorService-1249  ( 1136) [006] ...1 158004.611624: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18934  sensors@1.0-se-755   (  755) [004] ...1 158004.612246: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18935  sensors@1.0-se-755   (  755) [004] ...1 158004.627772: tracing_mark_write: E
18936   SensorService-1249  ( 1136) [006] ...1 158004.628319: tracing_mark_write: E
18937   SensorService-1249  ( 1136) [006] ...1 158004.628551: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18938  sensors@1.0-se-755   (  755) [004] ...1 158004.629028: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18939  sensors@1.0-se-755   (  755) [004] ...1 158004.649675: tracing_mark_write: E
18940   SensorService-1249  ( 1136) [006] ...1 158004.650510: tracing_mark_write: E
18941   SensorService-1249  ( 1136) [006] ...1 158004.650761: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18942  sensors@1.0-se-755   (  755) [004] ...1 158004.651379: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18943  sensors@1.0-se-755   (  755) [004] ...1 158004.668024: tracing_mark_write: E
18944   SensorService-1249  ( 1136) [006] ...1 158004.668844: tracing_mark_write: E
18945   SensorService-1249  ( 1136) [006] ...1 158004.669256: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18946  sensors@1.0-se-755   (  755) [004] ...1 158004.669922: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18947  sensors@1.0-se-755   (  755) [004] ...1 158004.689441: tracing_mark_write: E
18948   SensorService-1249  ( 1136) [006] ...1 158004.690166: tracing_mark_write: E
18949   SensorService-1249  ( 1136) [006] ...1 158004.690425: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18950  sensors@1.0-se-755   (  755) [004] ...1 158004.691016: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18951  sensors@1.0-se-755   (  755) [004] ...1 158004.712931: tracing_mark_write: E
18952   SensorService-1249  ( 1136) [006] ...1 158004.713640: tracing_mark_write: E
18953   SensorService-1249  ( 1136) [006] ...1 158004.713922: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18954  sensors@1.0-se-755   (  755) [004] ...1 158004.714558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18955  sensors@1.0-se-755   (  755) [004] ...1 158004.727996: tracing_mark_write: E
18956   SensorService-1249  ( 1136) [006] ...1 158004.728832: tracing_mark_write: E
18957   SensorService-1249  ( 1136) [006] ...1 158004.729237: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18958  sensors@1.0-se-755   (  755) [004] ...1 158004.729929: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18959  sensors@1.0-se-755   (  755) [004] ...1 158004.750084: tracing_mark_write: E
18960   SensorService-1249  ( 1136) [006] ...1 158004.750790: tracing_mark_write: E
18961   SensorService-1249  ( 1136) [006] ...1 158004.751168: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18962  sensors@1.0-se-755   (  755) [004] ...1 158004.751771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18963  sensors@1.0-se-755   (  755) [004] ...1 158004.769347: tracing_mark_write: E
18964   SensorService-1249  ( 1136) [006] ...1 158004.770351: tracing_mark_write: E
18965   SensorService-1249  ( 1136) [006] ...1 158004.770856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18966  sensors@1.0-se-755   (  755) [004] ...1 158004.771468: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18967  sensors@1.0-se-755   (  755) [004] ...1 158004.790665: tracing_mark_write: E
18968   SensorService-1249  ( 1136) [006] ...1 158004.791387: tracing_mark_write: E
18969   SensorService-1249  ( 1136) [006] ...1 158004.791661: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18970  HwBinder:755_1-1247  (  755) [000] ...1 158004.792326: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18971  HwBinder:755_1-1247  (  755) [001] ...1 158004.807722: tracing_mark_write: E
18972   SensorService-1249  ( 1136) [006] ...1 158004.808454: tracing_mark_write: E
18973   SensorService-1249  ( 1136) [006] ...1 158004.808736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18974  HwBinder:755_1-1247  (  755) [001] ...1 158004.809085: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18975  HwBinder:755_1-1247  (  755) [001] ...1 158004.828245: tracing_mark_write: E
18976   SensorService-1249  ( 1136) [006] ...1 158004.829543: tracing_mark_write: E
18977   SensorService-1249  ( 1136) [006] ...1 158004.829856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18978  HwBinder:755_1-1247  (  755) [001] ...1 158004.830231: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18979  HwBinder:755_1-1247  (  755) [001] ...1 158004.847651: tracing_mark_write: E
18980   SensorService-1249  ( 1136) [006] ...1 158004.848686: tracing_mark_write: E
18981   SensorService-1249  ( 1136) [006] ...1 158004.849106: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18982  HwBinder:755_1-1247  (  755) [001] ...1 158004.849450: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18983  HwBinder:755_1-1247  (  755) [001] ...1 158004.876167: tracing_mark_write: E
18984   SensorService-1249  ( 1136) [006] ...1 158004.878140: tracing_mark_write: E
18985   SensorService-1249  ( 1136) [006] ...1 158004.878528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18986  HwBinder:755_1-1247  (  755) [001] ...1 158004.878857: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18987  HwBinder:755_1-1247  (  755) [001] ...1 158004.887336: tracing_mark_write: E
18988   SensorService-1249  ( 1136) [006] ...1 158004.887521: tracing_mark_write: E
18989   SensorService-1249  ( 1136) [006] ...1 158004.887785: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18990  HwBinder:755_1-1247  (  755) [001] ...1 158004.888138: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18991  HwBinder:755_1-1247  (  755) [002] ...1 158004.908941: tracing_mark_write: E
18992   SensorService-1249  ( 1136) [006] ...1 158004.910687: tracing_mark_write: E
18993   SensorService-1249  ( 1136) [006] ...1 158004.911146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18994  HwBinder:755_1-1247  (  755) [002] ...1 158004.911409: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18995  HwBinder:755_1-1247  (  755) [001] ...1 158004.928850: tracing_mark_write: E
18996   SensorService-1249  ( 1136) [006] ...1 158004.930290: tracing_mark_write: E
18997   SensorService-1249  ( 1136) [006] ...1 158004.930759: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
18998  HwBinder:755_1-1247  (  755) [001] ...1 158004.931181: tracing_mark_write: B|755|HIDL::ISensors::poll::server
18999  HwBinder:755_1-1247  (  755) [001] ...1 158004.952642: tracing_mark_write: E
19000   SensorService-1249  ( 1136) [006] ...1 158004.954350: tracing_mark_write: E
19001   SensorService-1249  ( 1136) [006] ...1 158004.954660: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19002  HwBinder:755_1-1247  (  755) [001] ...1 158004.955313: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19003  HwBinder:755_1-1247  (  755) [001] ...1 158004.967370: tracing_mark_write: E
19004   SensorService-1249  ( 1136) [006] ...1 158004.968655: tracing_mark_write: E
19005   SensorService-1249  ( 1136) [006] ...1 158004.968891: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19006  HwBinder:755_1-1247  (  755) [001] ...1 158004.969269: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19007  HwBinder:755_1-1247  (  755) [001] ...1 158004.989154: tracing_mark_write: E
19008   SensorService-1249  ( 1136) [006] ...1 158004.991300: tracing_mark_write: E
19009   SensorService-1249  ( 1136) [006] ...1 158004.991701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19010  HwBinder:755_1-1247  (  755) [001] ...1 158004.992364: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19011  HwBinder:755_1-1247  (  755) [001] ...1 158005.007385: tracing_mark_write: E
19012   SensorService-1249  ( 1136) [006] ...1 158005.008680: tracing_mark_write: E
19013   SensorService-1249  ( 1136) [006] ...1 158005.008921: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19014  HwBinder:755_1-1247  (  755) [001] ...1 158005.009313: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19015  HwBinder:755_1-1247  (  755) [001] ...1 158005.029220: tracing_mark_write: E
19016   SensorService-1249  ( 1136) [006] ...1 158005.029537: tracing_mark_write: E
19017   SensorService-1249  ( 1136) [006] ...1 158005.029818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19018  HwBinder:755_1-1247  (  755) [001] ...1 158005.030024: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19019  HwBinder:755_1-1247  (  755) [001] ...1 158005.047244: tracing_mark_write: E
19020   SensorService-1249  ( 1136) [006] ...1 158005.047419: tracing_mark_write: E
19021   SensorService-1249  ( 1136) [006] ...1 158005.047620: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19022  HwBinder:755_1-1247  (  755) [001] ...1 158005.048165: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19023  HwBinder:755_1-1247  (  755) [001] ...1 158005.067899: tracing_mark_write: E
19024   SensorService-1249  ( 1136) [006] ...1 158005.068082: tracing_mark_write: E
19025   SensorService-1249  ( 1136) [006] ...1 158005.068214: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19026  HwBinder:755_1-1247  (  755) [001] ...1 158005.068671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19027  HwBinder:755_1-1247  (  755) [002] ...1 158005.087287: tracing_mark_write: E
19028   SensorService-1249  ( 1136) [006] ...1 158005.087499: tracing_mark_write: E
19029   SensorService-1249  ( 1136) [006] ...1 158005.087774: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19030  HwBinder:755_1-1247  (  755) [002] ...1 158005.088132: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19031  HwBinder:755_1-1247  (  755) [001] ...1 158005.108403: tracing_mark_write: E
19032   SensorService-1249  ( 1136) [006] ...1 158005.110007: tracing_mark_write: E
19033   SensorService-1249  ( 1136) [006] ...1 158005.110294: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19034  HwBinder:755_1-1247  (  755) [001] ...1 158005.110928: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19035  HwBinder:755_1-1247  (  755) [002] ...1 158005.127429: tracing_mark_write: E
19036   SensorService-1249  ( 1136) [006] ...1 158005.127957: tracing_mark_write: E
19037   SensorService-1249  ( 1136) [006] ...1 158005.128191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19038  HwBinder:755_1-1247  (  755) [002] ...1 158005.128580: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19039  HwBinder:755_1-1247  (  755) [002] ...1 158005.147808: tracing_mark_write: E
19040   SensorService-1249  ( 1136) [006] ...1 158005.149413: tracing_mark_write: E
19041   SensorService-1249  ( 1136) [006] ...1 158005.149736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19042  sensors@1.0-se-755   (  755) [004] ...1 158005.150564: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19043  sensors@1.0-se-755   (  755) [004] ...1 158005.168670: tracing_mark_write: E
19044   SensorService-1249  ( 1136) [006] ...1 158005.169245: tracing_mark_write: E
19045   SensorService-1249  ( 1136) [006] ...1 158005.169518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19046  sensors@1.0-se-755   (  755) [004] ...1 158005.170001: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19047  sensors@1.0-se-755   (  755) [004] ...1 158005.189134: tracing_mark_write: E
19048   SensorService-1249  ( 1136) [006] ...1 158005.189975: tracing_mark_write: E
19049   SensorService-1249  ( 1136) [006] ...1 158005.190237: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19050  sensors@1.0-se-755   (  755) [004] ...1 158005.191000: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19051  sensors@1.0-se-755   (  755) [004] ...1 158005.210022: tracing_mark_write: E
19052   SensorService-1249  ( 1136) [006] ...1 158005.211018: tracing_mark_write: E
19053   SensorService-1249  ( 1136) [006] ...1 158005.211412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19054  sensors@1.0-se-755   (  755) [004] ...1 158005.212176: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19055  sensors@1.0-se-755   (  755) [004] ...1 158005.228942: tracing_mark_write: E
19056   SensorService-1249  ( 1136) [006] ...1 158005.229500: tracing_mark_write: E
19057   SensorService-1249  ( 1136) [006] ...1 158005.229799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19058  sensors@1.0-se-755   (  755) [004] ...1 158005.230274: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19059  sensors@1.0-se-755   (  755) [004] ...1 158005.249525: tracing_mark_write: E
19060   SensorService-1249  ( 1136) [006] ...1 158005.250231: tracing_mark_write: E
19061   SensorService-1249  ( 1136) [006] ...1 158005.250552: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19062  sensors@1.0-se-755   (  755) [004] ...1 158005.251132: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19063  sensors@1.0-se-755   (  755) [004] ...1 158005.270128: tracing_mark_write: E
19064   SensorService-1249  ( 1136) [006] ...1 158005.271149: tracing_mark_write: E
19065   SensorService-1249  ( 1136) [006] ...1 158005.271554: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19066  sensors@1.0-se-755   (  755) [004] ...1 158005.272348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19067  sensors@1.0-se-755   (  755) [004] ...1 158005.289959: tracing_mark_write: E
19068   SensorService-1249  ( 1136) [006] ...1 158005.291309: tracing_mark_write: E
19069   SensorService-1249  ( 1136) [006] ...1 158005.291724: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19070  sensors@1.0-se-755   (  755) [004] ...1 158005.292466: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19071  sensors@1.0-se-755   (  755) [004] ...1 158005.310127: tracing_mark_write: E
19072   SensorService-1249  ( 1136) [006] ...1 158005.311112: tracing_mark_write: E
19073   SensorService-1249  ( 1136) [006] ...1 158005.311511: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19074  sensors@1.0-se-755   (  755) [004] ...1 158005.312177: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19075  sensors@1.0-se-755   (  755) [004] ...1 158005.329856: tracing_mark_write: E
19076   SensorService-1249  ( 1136) [006] ...1 158005.330765: tracing_mark_write: E
19077   SensorService-1249  ( 1136) [006] ...1 158005.331323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19078  sensors@1.0-se-755   (  755) [004] ...1 158005.332027: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19079  sensors@1.0-se-755   (  755) [004] ...1 158005.348792: tracing_mark_write: E
19080   SensorService-1249  ( 1136) [006] ...1 158005.349735: tracing_mark_write: E
19081   SensorService-1249  ( 1136) [006] ...1 158005.350163: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19082  sensors@1.0-se-755   (  755) [004] ...1 158005.350422: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19083  sensors@1.0-se-755   (  755) [004] ...1 158005.368991: tracing_mark_write: E
19084   SensorService-1249  ( 1136) [006] ...1 158005.369514: tracing_mark_write: E
19085   SensorService-1249  ( 1136) [006] ...1 158005.369695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19086  sensors@1.0-se-755   (  755) [004] ...1 158005.369863: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19087  sensors@1.0-se-755   (  755) [004] ...1 158005.391235: tracing_mark_write: E
19088   SensorService-1249  ( 1136) [006] ...1 158005.391982: tracing_mark_write: E
19089   SensorService-1249  ( 1136) [006] ...1 158005.392312: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19090  sensors@1.0-se-755   (  755) [004] ...1 158005.392977: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19091  sensors@1.0-se-755   (  755) [004] ...1 158005.409499: tracing_mark_write: E
19092   SensorService-1249  ( 1136) [006] ...1 158005.410424: tracing_mark_write: E
19093   SensorService-1249  ( 1136) [006] ...1 158005.410862: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19094  sensors@1.0-se-755   (  755) [004] ...1 158005.411656: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19095  sensors@1.0-se-755   (  755) [004] ...1 158005.431727: tracing_mark_write: E
19096   SensorService-1249  ( 1136) [006] ...1 158005.432539: tracing_mark_write: E
19097   SensorService-1249  ( 1136) [006] ...1 158005.432850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19098  sensors@1.0-se-755   (  755) [004] ...1 158005.433429: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19099  sensors@1.0-se-755   (  755) [004] ...1 158005.449630: tracing_mark_write: E
19100   SensorService-1249  ( 1136) [006] ...1 158005.450564: tracing_mark_write: E
19101   SensorService-1249  ( 1136) [006] ...1 158005.451091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19102  sensors@1.0-se-755   (  755) [004] ...1 158005.451768: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19103  sensors@1.0-se-755   (  755) [004] ...1 158005.469176: tracing_mark_write: E
19104   SensorService-1249  ( 1136) [006] ...1 158005.470134: tracing_mark_write: E
19105   SensorService-1249  ( 1136) [006] ...1 158005.470517: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19106  sensors@1.0-se-755   (  755) [004] ...1 158005.471194: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19107  sensors@1.0-se-755   (  755) [004] ...1 158005.491274: tracing_mark_write: E
19108   SensorService-1249  ( 1136) [006] ...1 158005.492267: tracing_mark_write: E
19109   SensorService-1249  ( 1136) [006] ...1 158005.492715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19110  sensors@1.0-se-755   (  755) [004] ...1 158005.493383: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19111  sensors@1.0-se-755   (  755) [004] ...1 158005.509237: tracing_mark_write: E
19112   SensorService-1249  ( 1136) [006] ...1 158005.509789: tracing_mark_write: E
19113   SensorService-1249  ( 1136) [006] ...1 158005.510052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19114  sensors@1.0-se-755   (  755) [004] ...1 158005.510555: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19115  sensors@1.0-se-755   (  755) [004] ...1 158005.533234: tracing_mark_write: E
19116   SensorService-1249  ( 1136) [006] ...1 158005.534399: tracing_mark_write: E
19117   SensorService-1249  ( 1136) [006] ...1 158005.534817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19118  sensors@1.0-se-755   (  755) [004] ...1 158005.535483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19119  sensors@1.0-se-755   (  755) [004] ...1 158005.550733: tracing_mark_write: E
19120   SensorService-1249  ( 1136) [006] ...1 158005.551744: tracing_mark_write: E
19121   SensorService-1249  ( 1136) [006] ...1 158005.552125: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19122  sensors@1.0-se-755   (  755) [004] ...1 158005.552366: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19123  sensors@1.0-se-755   (  755) [004] ...1 158005.568815: tracing_mark_write: E
19124   SensorService-1249  ( 1136) [006] ...1 158005.569539: tracing_mark_write: E
19125   SensorService-1249  ( 1136) [006] ...1 158005.569815: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19126  sensors@1.0-se-755   (  755) [004] ...1 158005.570739: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19127  sensors@1.0-se-755   (  755) [004] ...1 158005.591335: tracing_mark_write: E
19128   SensorService-1249  ( 1136) [006] ...1 158005.592303: tracing_mark_write: E
19129   SensorService-1249  ( 1136) [006] ...1 158005.592683: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19130  sensors@1.0-se-755   (  755) [004] ...1 158005.593353: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19131  sensors@1.0-se-755   (  755) [004] ...1 158005.610002: tracing_mark_write: E
19132   SensorService-1249  ( 1136) [006] ...1 158005.611016: tracing_mark_write: E
19133   SensorService-1249  ( 1136) [006] ...1 158005.611387: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19134  sensors@1.0-se-755   (  755) [004] ...1 158005.612096: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19135  sensors@1.0-se-755   (  755) [004] ...1 158005.629723: tracing_mark_write: E
19136   SensorService-1249  ( 1136) [006] ...1 158005.630624: tracing_mark_write: E
19137   SensorService-1249  ( 1136) [006] ...1 158005.631167: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19138  sensors@1.0-se-755   (  755) [004] ...1 158005.631829: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19139  sensors@1.0-se-755   (  755) [004] ...1 158005.649435: tracing_mark_write: E
19140   SensorService-1249  ( 1136) [006] ...1 158005.650165: tracing_mark_write: E
19141   SensorService-1249  ( 1136) [006] ...1 158005.650478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19142  sensors@1.0-se-755   (  755) [004] ...1 158005.651139: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19143  sensors@1.0-se-755   (  755) [004] ...1 158005.679343: tracing_mark_write: E
19144   SensorService-1249  ( 1136) [006] ...1 158005.680227: tracing_mark_write: E
19145   SensorService-1249  ( 1136) [006] ...1 158005.680664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19146  sensors@1.0-se-755   (  755) [004] ...1 158005.681387: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19147  sensors@1.0-se-755   (  755) [004] ...1 158005.689995: tracing_mark_write: E
19148   SensorService-1249  ( 1136) [006] ...1 158005.690792: tracing_mark_write: E
19149   SensorService-1249  ( 1136) [006] ...1 158005.691178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19150  sensors@1.0-se-755   (  755) [004] ...1 158005.691832: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19151  sensors@1.0-se-755   (  755) [004] ...1 158005.710083: tracing_mark_write: E
19152   SensorService-1249  ( 1136) [006] ...1 158005.711092: tracing_mark_write: E
19153   SensorService-1249  ( 1136) [006] ...1 158005.711492: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19154  sensors@1.0-se-755   (  755) [004] ...1 158005.712156: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19155  sensors@1.0-se-755   (  755) [004] ...1 158005.730481: tracing_mark_write: E
19156   SensorService-1249  ( 1136) [006] ...1 158005.731211: tracing_mark_write: E
19157   SensorService-1249  ( 1136) [006] ...1 158005.731555: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19158  sensors@1.0-se-755   (  755) [004] ...1 158005.732145: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19159  sensors@1.0-se-755   (  755) [004] ...1 158005.750009: tracing_mark_write: E
19160   SensorService-1249  ( 1136) [006] ...1 158005.750731: tracing_mark_write: E
19161   SensorService-1249  ( 1136) [006] ...1 158005.751126: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19162  sensors@1.0-se-755   (  755) [004] ...1 158005.751832: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19163  sensors@1.0-se-755   (  755) [004] ...1 158005.771597: tracing_mark_write: E
19164   SensorService-1249  ( 1136) [006] ...1 158005.771908: tracing_mark_write: E
19165   SensorService-1249  ( 1136) [006] ...1 158005.772208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19166  sensors@1.0-se-755   (  755) [004] ...1 158005.772801: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19167  sensors@1.0-se-755   (  755) [004] ...1 158005.788830: tracing_mark_write: E
19168   SensorService-1249  ( 1136) [006] ...1 158005.789517: tracing_mark_write: E
19169   SensorService-1249  ( 1136) [006] ...1 158005.789777: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19170  sensors@1.0-se-755   (  755) [004] ...1 158005.790363: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19171  sensors@1.0-se-755   (  755) [004] ...1 158005.808345: tracing_mark_write: E
19172   SensorService-1249  ( 1136) [006] ...1 158005.808565: tracing_mark_write: E
19173   SensorService-1249  ( 1136) [006] ...1 158005.808822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19174  sensors@1.0-se-755   (  755) [004] ...1 158005.809309: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19175  sensors@1.0-se-755   (  755) [004] ...1 158005.827951: tracing_mark_write: E
19176   SensorService-1249  ( 1136) [006] ...1 158005.828368: tracing_mark_write: E
19177   SensorService-1249  ( 1136) [006] ...1 158005.828548: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19178  sensors@1.0-se-755   (  755) [004] ...1 158005.828982: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19179  sensors@1.0-se-755   (  755) [004] ...1 158005.848792: tracing_mark_write: E
19180   SensorService-1249  ( 1136) [006] ...1 158005.849566: tracing_mark_write: E
19181   SensorService-1249  ( 1136) [006] ...1 158005.849878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19182  sensors@1.0-se-755   (  755) [004] ...1 158005.850452: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19183  sensors@1.0-se-755   (  755) [004] ...1 158005.869791: tracing_mark_write: E
19184   SensorService-1249  ( 1136) [006] ...1 158005.870509: tracing_mark_write: E
19185   SensorService-1249  ( 1136) [006] ...1 158005.870832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19186  sensors@1.0-se-755   (  755) [004] ...1 158005.871498: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19187  sensors@1.0-se-755   (  755) [004] ...1 158005.888248: tracing_mark_write: E
19188   SensorService-1249  ( 1136) [006] ...1 158005.888417: tracing_mark_write: E
19189   SensorService-1249  ( 1136) [006] ...1 158005.888574: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19190  sensors@1.0-se-755   (  755) [004] ...1 158005.888930: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19191  sensors@1.0-se-755   (  755) [004] ...1 158005.908165: tracing_mark_write: E
19192   SensorService-1249  ( 1136) [006] ...1 158005.908189: tracing_mark_write: E
19193   SensorService-1249  ( 1136) [006] ...1 158005.908211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19194  sensors@1.0-se-755   (  755) [004] ...1 158005.908609: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19195  sensors@1.0-se-755   (  755) [004] ...1 158005.928100: tracing_mark_write: E
19196   SensorService-1249  ( 1136) [006] ...1 158005.928119: tracing_mark_write: E
19197   SensorService-1249  ( 1136) [006] ...1 158005.928135: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19198  sensors@1.0-se-755   (  755) [004] ...1 158005.928399: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19199  sensors@1.0-se-755   (  755) [004] ...1 158005.947752: tracing_mark_write: E
19200   SensorService-1249  ( 1136) [006] ...1 158005.947793: tracing_mark_write: E
19201   SensorService-1249  ( 1136) [006] ...1 158005.947818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19202  sensors@1.0-se-755   (  755) [004] ...1 158005.947841: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19203  sensors@1.0-se-755   (  755) [004] ...1 158005.968414: tracing_mark_write: E
19204   SensorService-1249  ( 1136) [006] ...1 158005.968654: tracing_mark_write: E
19205   SensorService-1249  ( 1136) [006] ...1 158005.968690: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19206  sensors@1.0-se-755   (  755) [004] ...1 158005.968957: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19207  sensors@1.0-se-755   (  755) [004] ...1 158005.988396: tracing_mark_write: E
19208   SensorService-1249  ( 1136) [006] ...1 158005.988634: tracing_mark_write: E
19209   SensorService-1249  ( 1136) [006] ...1 158005.988681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19210  sensors@1.0-se-755   (  755) [004] ...1 158005.988715: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19211  sensors@1.0-se-755   (  755) [004] ...1 158006.008423: tracing_mark_write: E
19212   SensorService-1249  ( 1136) [006] ...1 158006.008685: tracing_mark_write: E
19213   SensorService-1249  ( 1136) [006] ...1 158006.008753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19214  sensors@1.0-se-755   (  755) [004] ...1 158006.009038: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19215  sensors@1.0-se-755   (  755) [006] ...1 158006.028147: tracing_mark_write: E
19216   SensorService-1249  ( 1136) [000] ...1 158006.028295: tracing_mark_write: E
19217   SensorService-1249  ( 1136) [000] ...1 158006.028491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19218  sensors@1.0-se-755   (  755) [006] ...1 158006.028922: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19219  sensors@1.0-se-755   (  755) [007] ...1 158006.047883: tracing_mark_write: E
19220   SensorService-1249  ( 1136) [000] ...1 158006.047996: tracing_mark_write: E
19221   SensorService-1249  ( 1136) [000] ...1 158006.048130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19222  sensors@1.0-se-755   (  755) [007] ...1 158006.048385: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19223  sensors@1.0-se-755   (  755) [007] ...1 158006.068886: tracing_mark_write: E
19224   SensorService-1249  ( 1136) [000] ...1 158006.068990: tracing_mark_write: E
19225   SensorService-1249  ( 1136) [000] ...1 158006.069118: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19226  sensors@1.0-se-755   (  755) [007] ...1 158006.070733: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19227  sensors@1.0-se-755   (  755) [007] ...1 158006.088091: tracing_mark_write: E
19228   SensorService-1249  ( 1136) [000] ...1 158006.088195: tracing_mark_write: E
19229   SensorService-1249  ( 1136) [000] ...1 158006.088306: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19230  sensors@1.0-se-755   (  755) [007] ...1 158006.088413: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19231  sensors@1.0-se-755   (  755) [004] ...1 158006.108436: tracing_mark_write: E
19232   SensorService-1249  ( 1136) [000] ...1 158006.108553: tracing_mark_write: E
19233   SensorService-1249  ( 1136) [000] ...1 158006.108658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19234  sensors@1.0-se-755   (  755) [004] ...1 158006.108931: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19235  sensors@1.0-se-755   (  755) [004] ...1 158006.128261: tracing_mark_write: E
19236   SensorService-1249  ( 1136) [000] ...1 158006.128407: tracing_mark_write: E
19237   SensorService-1249  ( 1136) [000] ...1 158006.128528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19238  sensors@1.0-se-755   (  755) [004] ...1 158006.128940: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19239  sensors@1.0-se-755   (  755) [004] ...1 158006.148501: tracing_mark_write: E
19240   SensorService-1249  ( 1136) [000] ...1 158006.148686: tracing_mark_write: E
19241   SensorService-1249  ( 1136) [000] ...1 158006.148847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19242  sensors@1.0-se-755   (  755) [004] ...1 158006.149238: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19243  sensors@1.0-se-755   (  755) [004] ...1 158006.168668: tracing_mark_write: E
19244   SensorService-1249  ( 1136) [000] ...1 158006.168840: tracing_mark_write: E
19245   SensorService-1249  ( 1136) [000] ...1 158006.168971: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19246  sensors@1.0-se-755   (  755) [004] ...1 158006.169548: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19247  sensors@1.0-se-755   (  755) [004] ...1 158006.190982: tracing_mark_write: E
19248   SensorService-1249  ( 1136) [000] ...1 158006.191779: tracing_mark_write: E
19249   SensorService-1249  ( 1136) [000] ...1 158006.192128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19250  sensors@1.0-se-755   (  755) [004] ...1 158006.194150: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19251  sensors@1.0-se-755   (  755) [004] ...1 158006.210171: tracing_mark_write: E
19252   SensorService-1249  ( 1136) [000] ...1 158006.210468: tracing_mark_write: E
19253   SensorService-1249  ( 1136) [000] ...1 158006.210772: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19254  sensors@1.0-se-755   (  755) [004] ...1 158006.211519: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19255  sensors@1.0-se-755   (  755) [004] ...1 158006.229411: tracing_mark_write: E
19256   SensorService-1249  ( 1136) [000] ...1 158006.229991: tracing_mark_write: E
19257   SensorService-1249  ( 1136) [000] ...1 158006.230207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19258  sensors@1.0-se-755   (  755) [004] ...1 158006.232287: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19259  sensors@1.0-se-755   (  755) [004] ...1 158006.250171: tracing_mark_write: E
19260   SensorService-1249  ( 1136) [000] ...1 158006.250584: tracing_mark_write: E
19261   SensorService-1249  ( 1136) [000] ...1 158006.251053: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19262  sensors@1.0-se-755   (  755) [004] ...1 158006.252179: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19263  sensors@1.0-se-755   (  755) [004] ...1 158006.270604: tracing_mark_write: E
19264   SensorService-1249  ( 1136) [000] ...1 158006.271263: tracing_mark_write: E
19265   SensorService-1249  ( 1136) [000] ...1 158006.271471: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19266  sensors@1.0-se-755   (  755) [004] ...1 158006.272657: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19267  sensors@1.0-se-755   (  755) [004] ...1 158006.291840: tracing_mark_write: E
19268   SensorService-1249  ( 1136) [000] ...1 158006.292145: tracing_mark_write: E
19269   SensorService-1249  ( 1136) [000] ...1 158006.292418: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19270  sensors@1.0-se-755   (  755) [004] ...1 158006.293649: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19271  sensors@1.0-se-755   (  755) [004] ...1 158006.311382: tracing_mark_write: E
19272   SensorService-1249  ( 1136) [000] ...1 158006.311795: tracing_mark_write: E
19273   SensorService-1249  ( 1136) [000] ...1 158006.312166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19274  sensors@1.0-se-755   (  755) [004] ...1 158006.313546: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19275  sensors@1.0-se-755   (  755) [004] ...1 158006.335119: tracing_mark_write: E
19276   SensorService-1249  ( 1136) [000] ...1 158006.335387: tracing_mark_write: E
19277   SensorService-1249  ( 1136) [000] ...1 158006.335617: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19278  sensors@1.0-se-755   (  755) [004] ...1 158006.336799: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19279  sensors@1.0-se-755   (  755) [004] ...1 158006.349820: tracing_mark_write: E
19280   SensorService-1249  ( 1136) [000] ...1 158006.350094: tracing_mark_write: E
19281   SensorService-1249  ( 1136) [000] ...1 158006.350319: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19282  sensors@1.0-se-755   (  755) [004] ...1 158006.351683: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19283  sensors@1.0-se-755   (  755) [004] ...1 158006.374443: tracing_mark_write: E
19284   SensorService-1249  ( 1136) [000] ...1 158006.375315: tracing_mark_write: E
19285   SensorService-1249  ( 1136) [000] ...1 158006.375742: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19286  sensors@1.0-se-755   (  755) [004] ...1 158006.376558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19287  sensors@1.0-se-755   (  755) [004] ...1 158006.391063: tracing_mark_write: E
19288   SensorService-1249  ( 1136) [000] ...1 158006.391311: tracing_mark_write: E
19289   SensorService-1249  ( 1136) [000] ...1 158006.391550: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19290  sensors@1.0-se-755   (  755) [004] ...1 158006.392790: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19291  sensors@1.0-se-755   (  755) [004] ...1 158006.412313: tracing_mark_write: E
19292   SensorService-1249  ( 1136) [000] ...1 158006.414643: tracing_mark_write: E
19293   SensorService-1249  ( 1136) [000] ...1 158006.415141: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19294  sensors@1.0-se-755   (  755) [004] ...1 158006.417290: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19295  sensors@1.0-se-755   (  755) [004] ...1 158006.431154: tracing_mark_write: E
19296   SensorService-1249  ( 1136) [000] ...1 158006.431594: tracing_mark_write: E
19297   SensorService-1249  ( 1136) [000] ...1 158006.431824: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19298  sensors@1.0-se-755   (  755) [004] ...1 158006.433936: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19299  sensors@1.0-se-755   (  755) [004] ...1 158006.450621: tracing_mark_write: E
19300   SensorService-1249  ( 1136) [000] ...1 158006.450932: tracing_mark_write: E
19301   SensorService-1249  ( 1136) [000] ...1 158006.451119: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19302  sensors@1.0-se-755   (  755) [004] ...1 158006.452403: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19303  sensors@1.0-se-755   (  755) [004] ...1 158006.474559: tracing_mark_write: E
19304   SensorService-1249  ( 1136) [000] ...1 158006.475167: tracing_mark_write: E
19305   SensorService-1249  ( 1136) [000] ...1 158006.475536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19306  sensors@1.0-se-755   (  755) [004] ...1 158006.477807: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19307  sensors@1.0-se-755   (  755) [004] ...1 158006.490147: tracing_mark_write: E
19308   SensorService-1249  ( 1136) [000] ...1 158006.490827: tracing_mark_write: E
19309   SensorService-1249  ( 1136) [000] ...1 158006.491084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19310  sensors@1.0-se-755   (  755) [004] ...1 158006.493006: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19311  sensors@1.0-se-755   (  755) [004] ...1 158006.511354: tracing_mark_write: E
19312   SensorService-1249  ( 1136) [000] ...1 158006.511754: tracing_mark_write: E
19313   SensorService-1249  ( 1136) [000] ...1 158006.512032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19314  sensors@1.0-se-755   (  755) [004] ...1 158006.513527: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19315  sensors@1.0-se-755   (  755) [004] ...1 158006.531621: tracing_mark_write: E
19316   SensorService-1249  ( 1136) [000] ...1 158006.532046: tracing_mark_write: E
19317   SensorService-1249  ( 1136) [000] ...1 158006.532363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19318  sensors@1.0-se-755   (  755) [004] ...1 158006.534614: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19319  sensors@1.0-se-755   (  755) [004] ...1 158006.550557: tracing_mark_write: E
19320   SensorService-1249  ( 1136) [000] ...1 158006.551094: tracing_mark_write: E
19321   SensorService-1249  ( 1136) [000] ...1 158006.551307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19322  sensors@1.0-se-755   (  755) [004] ...1 158006.553408: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19323  sensors@1.0-se-755   (  755) [004] ...1 158006.575839: tracing_mark_write: E
19324   SensorService-1249  ( 1136) [000] ...1 158006.576314: tracing_mark_write: E
19325   SensorService-1249  ( 1136) [000] ...1 158006.576698: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19326  sensors@1.0-se-755   (  755) [004] ...1 158006.579050: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19327  sensors@1.0-se-755   (  755) [004] ...1 158006.589857: tracing_mark_write: E
19328   SensorService-1249  ( 1136) [000] ...1 158006.590079: tracing_mark_write: E
19329   SensorService-1249  ( 1136) [000] ...1 158006.590234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19330  sensors@1.0-se-755   (  755) [004] ...1 158006.591203: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19331  sensors@1.0-se-755   (  755) [004] ...1 158006.611815: tracing_mark_write: E
19332   SensorService-1249  ( 1136) [000] ...1 158006.613799: tracing_mark_write: E
19333   SensorService-1249  ( 1136) [000] ...1 158006.614104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19334  sensors@1.0-se-755   (  755) [004] ...1 158006.616129: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19335  sensors@1.0-se-755   (  755) [004] ...1 158006.630324: tracing_mark_write: E
19336   SensorService-1249  ( 1136) [000] ...1 158006.630593: tracing_mark_write: E
19337   SensorService-1249  ( 1136) [000] ...1 158006.630799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19338  sensors@1.0-se-755   (  755) [004] ...1 158006.632073: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19339  sensors@1.0-se-755   (  755) [004] ...1 158006.650804: tracing_mark_write: E
19340   SensorService-1249  ( 1136) [000] ...1 158006.651212: tracing_mark_write: E
19341   SensorService-1249  ( 1136) [000] ...1 158006.651439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19342  sensors@1.0-se-755   (  755) [004] ...1 158006.652637: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19343  sensors@1.0-se-755   (  755) [004] ...1 158006.675294: tracing_mark_write: E
19344   SensorService-1249  ( 1136) [000] ...1 158006.675818: tracing_mark_write: E
19345   SensorService-1249  ( 1136) [000] ...1 158006.676324: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19346  sensors@1.0-se-755   (  755) [004] ...1 158006.678428: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19347  sensors@1.0-se-755   (  755) [004] ...1 158006.691165: tracing_mark_write: E
19348   SensorService-1249  ( 1136) [000] ...1 158006.691435: tracing_mark_write: E
19349   SensorService-1249  ( 1136) [000] ...1 158006.691655: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19350  sensors@1.0-se-755   (  755) [004] ...1 158006.692903: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19351  sensors@1.0-se-755   (  755) [004] ...1 158006.713554: tracing_mark_write: E
19352   SensorService-1249  ( 1136) [000] ...1 158006.714594: tracing_mark_write: E
19353   SensorService-1249  ( 1136) [000] ...1 158006.715110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19354  sensors@1.0-se-755   (  755) [004] ...1 158006.717092: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19355  sensors@1.0-se-755   (  755) [004] ...1 158006.730529: tracing_mark_write: E
19356   SensorService-1249  ( 1136) [000] ...1 158006.730786: tracing_mark_write: E
19357   SensorService-1249  ( 1136) [000] ...1 158006.731030: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19358  sensors@1.0-se-755   (  755) [004] ...1 158006.732407: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19359  sensors@1.0-se-755   (  755) [004] ...1 158006.750563: tracing_mark_write: E
19360   SensorService-1249  ( 1136) [000] ...1 158006.750799: tracing_mark_write: E
19361   SensorService-1249  ( 1136) [000] ...1 158006.751060: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19362  sensors@1.0-se-755   (  755) [004] ...1 158006.752100: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19363  sensors@1.0-se-755   (  755) [004] ...1 158006.770679: tracing_mark_write: E
19364   SensorService-1249  ( 1136) [000] ...1 158006.771161: tracing_mark_write: E
19365   SensorService-1249  ( 1136) [000] ...1 158006.771529: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19366  sensors@1.0-se-755   (  755) [004] ...1 158006.774060: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19367  sensors@1.0-se-755   (  755) [004] ...1 158006.791104: tracing_mark_write: E
19368   SensorService-1249  ( 1136) [000] ...1 158006.791847: tracing_mark_write: E
19369   SensorService-1249  ( 1136) [000] ...1 158006.792181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19370  sensors@1.0-se-755   (  755) [004] ...1 158006.794482: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19371  sensors@1.0-se-755   (  755) [004] ...1 158006.811069: tracing_mark_write: E
19372   SensorService-1249  ( 1136) [000] ...1 158006.811445: tracing_mark_write: E
19373   SensorService-1249  ( 1136) [000] ...1 158006.811672: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19374  sensors@1.0-se-755   (  755) [004] ...1 158006.812759: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19375  sensors@1.0-se-755   (  755) [004] ...1 158006.831189: tracing_mark_write: E
19376   SensorService-1249  ( 1136) [000] ...1 158006.831859: tracing_mark_write: E
19377   SensorService-1249  ( 1136) [000] ...1 158006.832187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19378  sensors@1.0-se-755   (  755) [004] ...1 158006.834808: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19379  sensors@1.0-se-755   (  755) [004] ...1 158006.849939: tracing_mark_write: E
19380   SensorService-1249  ( 1136) [000] ...1 158006.850128: tracing_mark_write: E
19381   SensorService-1249  ( 1136) [000] ...1 158006.850246: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19382  sensors@1.0-se-755   (  755) [004] ...1 158006.851217: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19383  sensors@1.0-se-755   (  755) [004] ...1 158006.871137: tracing_mark_write: E
19384   SensorService-1249  ( 1136) [000] ...1 158006.871403: tracing_mark_write: E
19385   SensorService-1249  ( 1136) [000] ...1 158006.871611: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19386  sensors@1.0-se-755   (  755) [004] ...1 158006.873111: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19387  sensors@1.0-se-755   (  755) [004] ...1 158006.894180: tracing_mark_write: E
19388   SensorService-1249  ( 1136) [000] ...1 158006.896493: tracing_mark_write: E
19389   SensorService-1249  ( 1136) [000] ...1 158006.897042: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19390  sensors@1.0-se-755   (  755) [004] ...1 158006.898873: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19391  sensors@1.0-se-755   (  755) [004] ...1 158006.910097: tracing_mark_write: E
19392   SensorService-1249  ( 1136) [000] ...1 158006.910313: tracing_mark_write: E
19393   SensorService-1249  ( 1136) [000] ...1 158006.910458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19394  sensors@1.0-se-755   (  755) [004] ...1 158006.911405: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19395  sensors@1.0-se-755   (  755) [004] ...1 158006.934723: tracing_mark_write: E
19396   SensorService-1249  ( 1136) [000] ...1 158006.935467: tracing_mark_write: E
19397   SensorService-1249  ( 1136) [000] ...1 158006.935810: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19398  sensors@1.0-se-755   (  755) [004] ...1 158006.937901: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19399  sensors@1.0-se-755   (  755) [004] ...1 158006.950516: tracing_mark_write: E
19400   SensorService-1249  ( 1136) [000] ...1 158006.950772: tracing_mark_write: E
19401   SensorService-1249  ( 1136) [000] ...1 158006.951003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19402  sensors@1.0-se-755   (  755) [004] ...1 158006.952336: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19403  sensors@1.0-se-755   (  755) [004] ...1 158006.972826: tracing_mark_write: E
19404   SensorService-1249  ( 1136) [000] ...1 158006.973559: tracing_mark_write: E
19405   SensorService-1249  ( 1136) [000] ...1 158006.973792: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19406  sensors@1.0-se-755   (  755) [004] ...1 158006.975648: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19407  sensors@1.0-se-755   (  755) [004] ...1 158006.990326: tracing_mark_write: E
19408   SensorService-1249  ( 1136) [000] ...1 158006.990716: tracing_mark_write: E
19409   SensorService-1249  ( 1136) [000] ...1 158006.991137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19410  sensors@1.0-se-755   (  755) [004] ...1 158006.993417: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19411  sensors@1.0-se-755   (  755) [004] ...1 158007.012925: tracing_mark_write: E
19412   SensorService-1249  ( 1136) [000] ...1 158007.013494: tracing_mark_write: E
19413   SensorService-1249  ( 1136) [000] ...1 158007.013728: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19414  sensors@1.0-se-755   (  755) [004] ...1 158007.015795: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19415  sensors@1.0-se-755   (  755) [004] ...1 158007.032157: tracing_mark_write: E
19416   SensorService-1249  ( 1136) [000] ...1 158007.033622: tracing_mark_write: E
19417   SensorService-1249  ( 1136) [000] ...1 158007.034085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19418  sensors@1.0-se-755   (  755) [004] ...1 158007.036378: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19419  sensors@1.0-se-755   (  755) [004] ...1 158007.050994: tracing_mark_write: E
19420   SensorService-1249  ( 1136) [000] ...1 158007.051321: tracing_mark_write: E
19421   SensorService-1249  ( 1136) [000] ...1 158007.051525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19422  sensors@1.0-se-755   (  755) [004] ...1 158007.052614: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19423  sensors@1.0-se-755   (  755) [004] ...1 158007.069956: tracing_mark_write: E
19424   SensorService-1249  ( 1136) [000] ...1 158007.070143: tracing_mark_write: E
19425   SensorService-1249  ( 1136) [000] ...1 158007.070251: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19426  sensors@1.0-se-755   (  755) [004] ...1 158007.071079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19427  sensors@1.0-se-755   (  755) [004] ...1 158007.089587: tracing_mark_write: E
19428   SensorService-1249  ( 1136) [000] ...1 158007.089771: tracing_mark_write: E
19429   SensorService-1249  ( 1136) [000] ...1 158007.089879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19430  sensors@1.0-se-755   (  755) [004] ...1 158007.090397: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19431  sensors@1.0-se-755   (  755) [004] ...1 158007.109502: tracing_mark_write: E
19432   SensorService-1249  ( 1136) [000] ...1 158007.109702: tracing_mark_write: E
19433   SensorService-1249  ( 1136) [000] ...1 158007.109910: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19434  sensors@1.0-se-755   (  755) [004] ...1 158007.110510: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19435  sensors@1.0-se-755   (  755) [004] ...1 158007.129613: tracing_mark_write: E
19436   SensorService-1249  ( 1136) [000] ...1 158007.129780: tracing_mark_write: E
19437   SensorService-1249  ( 1136) [000] ...1 158007.129941: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19438  sensors@1.0-se-755   (  755) [005] ...1 158007.130427: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19439  sensors@1.0-se-755   (  755) [004] ...1 158007.151085: tracing_mark_write: E
19440   SensorService-1249  ( 1136) [000] ...1 158007.152857: tracing_mark_write: E
19441   SensorService-1249  ( 1136) [000] ...1 158007.153145: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19442  sensors@1.0-se-755   (  755) [004] ...1 158007.155067: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19443  sensors@1.0-se-755   (  755) [004] ...1 158007.170866: tracing_mark_write: E
19444   SensorService-1249  ( 1136) [000] ...1 158007.171677: tracing_mark_write: E
19445   SensorService-1249  ( 1136) [000] ...1 158007.171970: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19446  sensors@1.0-se-755   (  755) [004] ...1 158007.173911: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19447  sensors@1.0-se-755   (  755) [004] ...1 158007.193942: tracing_mark_write: E
19448   SensorService-1249  ( 1136) [002] ...1 158007.195123: tracing_mark_write: E
19449   SensorService-1249  ( 1136) [002] ...1 158007.195380: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19450  sensors@1.0-se-755   (  755) [004] ...1 158007.197154: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19451  sensors@1.0-se-755   (  755) [004] ...1 158007.211140: tracing_mark_write: E
19452   SensorService-1249  ( 1136) [002] ...1 158007.211648: tracing_mark_write: E
19453   SensorService-1249  ( 1136) [002] ...1 158007.211832: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19454  sensors@1.0-se-755   (  755) [004] ...1 158007.213939: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19455  sensors@1.0-se-755   (  755) [004] ...1 158007.232930: tracing_mark_write: E
19456   SensorService-1249  ( 1136) [002] ...1 158007.233691: tracing_mark_write: E
19457   SensorService-1249  ( 1136) [002] ...1 158007.234057: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19458  sensors@1.0-se-755   (  755) [004] ...1 158007.236047: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19459  sensors@1.0-se-755   (  755) [004] ...1 158007.250603: tracing_mark_write: E
19460   SensorService-1249  ( 1136) [002] ...1 158007.251026: tracing_mark_write: E
19461   SensorService-1249  ( 1136) [002] ...1 158007.251197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19462  sensors@1.0-se-755   (  755) [004] ...1 158007.252311: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19463  sensors@1.0-se-755   (  755) [004] ...1 158007.271231: tracing_mark_write: E
19464   SensorService-1249  ( 1136) [002] ...1 158007.271803: tracing_mark_write: E
19465   SensorService-1249  ( 1136) [002] ...1 158007.272028: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19466  sensors@1.0-se-755   (  755) [004] ...1 158007.274074: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19467  sensors@1.0-se-755   (  755) [004] ...1 158007.290729: tracing_mark_write: E
19468   SensorService-1249  ( 1136) [002] ...1 158007.291370: tracing_mark_write: E
19469   SensorService-1249  ( 1136) [002] ...1 158007.291588: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19470  sensors@1.0-se-755   (  755) [004] ...1 158007.293809: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19471  sensors@1.0-se-755   (  755) [004] ...1 158007.312441: tracing_mark_write: E
19472   SensorService-1249  ( 1136) [002] ...1 158007.313209: tracing_mark_write: E
19473   SensorService-1249  ( 1136) [002] ...1 158007.313444: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19474  sensors@1.0-se-755   (  755) [004] ...1 158007.315104: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19475  sensors@1.0-se-755   (  755) [004] ...1 158007.331854: tracing_mark_write: E
19476   SensorService-1249  ( 1136) [002] ...1 158007.332639: tracing_mark_write: E
19477   SensorService-1249  ( 1136) [002] ...1 158007.332957: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19478  sensors@1.0-se-755   (  755) [004] ...1 158007.333249: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19479  sensors@1.0-se-755   (  755) [004] ...1 158007.352517: tracing_mark_write: E
19480   SensorService-1249  ( 1136) [002] ...1 158007.353086: tracing_mark_write: E
19481   SensorService-1249  ( 1136) [002] ...1 158007.353310: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19482  sensors@1.0-se-755   (  755) [004] ...1 158007.355357: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19483  sensors@1.0-se-755   (  755) [004] ...1 158007.373025: tracing_mark_write: E
19484   SensorService-1249  ( 1136) [002] ...1 158007.373823: tracing_mark_write: E
19485   SensorService-1249  ( 1136) [002] ...1 158007.374197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19486  sensors@1.0-se-755   (  755) [004] ...1 158007.374660: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19487  sensors@1.0-se-755   (  755) [004] ...1 158007.390474: tracing_mark_write: E
19488   SensorService-1249  ( 1136) [002] ...1 158007.391038: tracing_mark_write: E
19489   SensorService-1249  ( 1136) [002] ...1 158007.391270: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19490  sensors@1.0-se-755   (  755) [004] ...1 158007.391923: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19491  sensors@1.0-se-755   (  755) [004] ...1 158007.411067: tracing_mark_write: E
19492   SensorService-1249  ( 1136) [002] ...1 158007.411626: tracing_mark_write: E
19493   SensorService-1249  ( 1136) [002] ...1 158007.411885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19494  sensors@1.0-se-755   (  755) [004] ...1 158007.412109: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19495  sensors@1.0-se-755   (  755) [004] ...1 158007.429791: tracing_mark_write: E
19496   SensorService-1249  ( 1136) [002] ...1 158007.430281: tracing_mark_write: E
19497   SensorService-1249  ( 1136) [002] ...1 158007.430486: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19498  sensors@1.0-se-755   (  755) [004] ...1 158007.432506: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19499  sensors@1.0-se-755   (  755) [004] ...1 158007.451308: tracing_mark_write: E
19500   SensorService-1249  ( 1136) [002] ...1 158007.451899: tracing_mark_write: E
19501   SensorService-1249  ( 1136) [002] ...1 158007.452128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19502  sensors@1.0-se-755   (  755) [004] ...1 158007.454138: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19503  sensors@1.0-se-755   (  755) [004] ...1 158007.472130: tracing_mark_write: E
19504   SensorService-1249  ( 1136) [002] ...1 158007.472933: tracing_mark_write: E
19505   SensorService-1249  ( 1136) [002] ...1 158007.473255: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19506  sensors@1.0-se-755   (  755) [005] ...1 158007.474132: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19507  sensors@1.0-se-755   (  755) [004] ...1 158007.491241: tracing_mark_write: E
19508   SensorService-1249  ( 1136) [002] ...1 158007.491583: tracing_mark_write: E
19509   SensorService-1249  ( 1136) [002] ...1 158007.491887: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19510  sensors@1.0-se-755   (  755) [004] ...1 158007.493886: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19511  sensors@1.0-se-755   (  755) [004] ...1 158007.511352: tracing_mark_write: E
19512   SensorService-1249  ( 1136) [002] ...1 158007.511758: tracing_mark_write: E
19513   SensorService-1249  ( 1136) [002] ...1 158007.512101: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19514  sensors@1.0-se-755   (  755) [004] ...1 158007.513578: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19515  sensors@1.0-se-755   (  755) [004] ...1 158007.531137: tracing_mark_write: E
19516   SensorService-1249  ( 1136) [002] ...1 158007.531398: tracing_mark_write: E
19517   SensorService-1249  ( 1136) [002] ...1 158007.531600: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19518  sensors@1.0-se-755   (  755) [004] ...1 158007.532840: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19519  sensors@1.0-se-755   (  755) [004] ...1 158007.551787: tracing_mark_write: E
19520   SensorService-1249  ( 1136) [002] ...1 158007.552501: tracing_mark_write: E
19521   SensorService-1249  ( 1136) [002] ...1 158007.552837: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19522  sensors@1.0-se-755   (  755) [004] ...1 158007.555210: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19523  sensors@1.0-se-755   (  755) [004] ...1 158007.571288: tracing_mark_write: E
19524   SensorService-1249  ( 1136) [002] ...1 158007.571812: tracing_mark_write: E
19525   SensorService-1249  ( 1136) [002] ...1 158007.572011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19526  sensors@1.0-se-755   (  755) [004] ...1 158007.574093: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19527  sensors@1.0-se-755   (  755) [004] ...1 158007.590736: tracing_mark_write: E
19528   SensorService-1249  ( 1136) [002] ...1 158007.591145: tracing_mark_write: E
19529   SensorService-1249  ( 1136) [002] ...1 158007.591305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19530  sensors@1.0-se-755   (  755) [004] ...1 158007.592101: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19531  sensors@1.0-se-755   (  755) [004] ...1 158007.609917: tracing_mark_write: E
19532   SensorService-1249  ( 1136) [002] ...1 158007.610107: tracing_mark_write: E
19533   SensorService-1249  ( 1136) [002] ...1 158007.610248: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19534  sensors@1.0-se-755   (  755) [004] ...1 158007.610395: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19535  sensors@1.0-se-755   (  755) [004] ...1 158007.629790: tracing_mark_write: E
19536   SensorService-1249  ( 1136) [002] ...1 158007.630192: tracing_mark_write: E
19537   SensorService-1249  ( 1136) [002] ...1 158007.630372: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19538  sensors@1.0-se-755   (  755) [004] ...1 158007.630573: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19539  sensors@1.0-se-755   (  755) [004] ...1 158007.650438: tracing_mark_write: E
19540   SensorService-1249  ( 1136) [002] ...1 158007.651012: tracing_mark_write: E
19541   SensorService-1249  ( 1136) [002] ...1 158007.651211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19542  sensors@1.0-se-755   (  755) [004] ...1 158007.652227: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19543  sensors@1.0-se-755   (  755) [004] ...1 158007.670547: tracing_mark_write: E
19544   SensorService-1249  ( 1136) [002] ...1 158007.671155: tracing_mark_write: E
19545   SensorService-1249  ( 1136) [002] ...1 158007.671341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19546  sensors@1.0-se-755   (  755) [004] ...1 158007.671551: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19547  sensors@1.0-se-755   (  755) [004] ...1 158007.691837: tracing_mark_write: E
19548   SensorService-1249  ( 1136) [002] ...1 158007.692508: tracing_mark_write: E
19549   SensorService-1249  ( 1136) [002] ...1 158007.692850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19550  sensors@1.0-se-755   (  755) [004] ...1 158007.694650: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19551  sensors@1.0-se-755   (  755) [004] ...1 158007.710824: tracing_mark_write: E
19552   SensorService-1249  ( 1136) [002] ...1 158007.711299: tracing_mark_write: E
19553   SensorService-1249  ( 1136) [002] ...1 158007.711455: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19554  sensors@1.0-se-755   (  755) [004] ...1 158007.713237: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19555  sensors@1.0-se-755   (  755) [004] ...1 158007.732344: tracing_mark_write: E
19556   SensorService-1249  ( 1136) [002] ...1 158007.733045: tracing_mark_write: E
19557   SensorService-1249  ( 1136) [002] ...1 158007.733358: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19558  sensors@1.0-se-755   (  755) [004] ...1 158007.735438: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19559  sensors@1.0-se-755   (  755) [004] ...1 158007.751886: tracing_mark_write: E
19560   SensorService-1249  ( 1136) [002] ...1 158007.752661: tracing_mark_write: E
19561   SensorService-1249  ( 1136) [002] ...1 158007.752994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19562  sensors@1.0-se-755   (  755) [004] ...1 158007.754607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19563  sensors@1.0-se-755   (  755) [004] ...1 158007.772396: tracing_mark_write: E
19564   SensorService-1249  ( 1136) [002] ...1 158007.772801: tracing_mark_write: E
19565   SensorService-1249  ( 1136) [002] ...1 158007.773140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19566  sensors@1.0-se-755   (  755) [004] ...1 158007.774562: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19567  sensors@1.0-se-755   (  755) [004] ...1 158007.792586: tracing_mark_write: E
19568   SensorService-1249  ( 1136) [002] ...1 158007.793460: tracing_mark_write: E
19569   SensorService-1249  ( 1136) [002] ...1 158007.793843: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19570  HwBinder:755_1-1247  (  755) [001] ...1 158007.794436: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19571  HwBinder:755_1-1247  (  755) [002] ...1 158007.810569: tracing_mark_write: E
19572   SensorService-1249  ( 1136) [001] ...1 158007.810729: tracing_mark_write: E
19573   SensorService-1249  ( 1136) [001] ...1 158007.810933: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19574  HwBinder:755_1-1247  (  755) [002] ...1 158007.811241: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19575  HwBinder:755_1-1247  (  755) [000] ...1 158007.831666: tracing_mark_write: E
19576   SensorService-1249  ( 1136) [001] ...1 158007.831862: tracing_mark_write: E
19577   SensorService-1249  ( 1136) [001] ...1 158007.832054: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19578  HwBinder:755_1-1247  (  755) [000] ...1 158007.832438: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19579  HwBinder:755_1-1247  (  755) [000] ...1 158007.850835: tracing_mark_write: E
19580   SensorService-1249  ( 1136) [001] ...1 158007.851298: tracing_mark_write: E
19581   SensorService-1249  ( 1136) [001] ...1 158007.851446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19582  HwBinder:755_1-1247  (  755) [000] ...1 158007.851558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19583  HwBinder:755_1-1247  (  755) [002] ...1 158007.872986: tracing_mark_write: E
19584   SensorService-1249  ( 1136) [001] ...1 158007.873322: tracing_mark_write: E
19585   SensorService-1249  ( 1136) [001] ...1 158007.873662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19586  HwBinder:755_1-1247  (  755) [002] ...1 158007.873861: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19587  HwBinder:755_1-1247  (  755) [000] ...1 158007.890289: tracing_mark_write: E
19588   SensorService-1249  ( 1136) [001] ...1 158007.890724: tracing_mark_write: E
19589   SensorService-1249  ( 1136) [001] ...1 158007.890953: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19590  HwBinder:755_1-1247  (  755) [000] ...1 158007.891170: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19591  HwBinder:755_1-1247  (  755) [002] ...1 158007.910806: tracing_mark_write: E
19592   SensorService-1249  ( 1136) [001] ...1 158007.911328: tracing_mark_write: E
19593   SensorService-1249  ( 1136) [001] ...1 158007.911609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19594  HwBinder:755_1-1247  (  755) [002] ...1 158007.912214: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19595  HwBinder:755_1-1247  (  755) [002] ...1 158007.931578: tracing_mark_write: E
19596   SensorService-1249  ( 1136) [001] ...1 158007.931952: tracing_mark_write: E
19597   SensorService-1249  ( 1136) [001] ...1 158007.932283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19598  HwBinder:755_1-1247  (  755) [002] ...1 158007.932554: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19599  HwBinder:755_1-1247  (  755) [000] ...1 158007.953821: tracing_mark_write: E
19600   SensorService-1249  ( 1136) [001] ...1 158007.954465: tracing_mark_write: E
19601   SensorService-1249  ( 1136) [001] ...1 158007.954780: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19602  HwBinder:755_1-1247  (  755) [000] ...1 158007.955165: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19603  HwBinder:755_1-1247  (  755) [003] ...1 158007.970661: tracing_mark_write: E
19604   SensorService-1249  ( 1136) [001] ...1 158007.970863: tracing_mark_write: E
19605   SensorService-1249  ( 1136) [001] ...1 158007.971111: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19606  HwBinder:755_1-1247  (  755) [003] ...1 158007.971739: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19607  HwBinder:755_1-1247  (  755) [000] ...1 158007.992676: tracing_mark_write: E
19608   SensorService-1249  ( 1136) [001] ...1 158007.993386: tracing_mark_write: E
19609   SensorService-1249  ( 1136) [001] ...1 158007.993809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19610  HwBinder:755_1-1247  (  755) [000] ...1 158007.994276: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19611  HwBinder:755_1-1247  (  755) [003] ...1 158008.010539: tracing_mark_write: E
19612   SensorService-1249  ( 1136) [001] ...1 158008.010736: tracing_mark_write: E
19613   SensorService-1249  ( 1136) [001] ...1 158008.010951: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19614  HwBinder:755_1-1247  (  755) [003] ...1 158008.011350: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19615  HwBinder:755_1-1247  (  755) [000] ...1 158008.031321: tracing_mark_write: E
19616   SensorService-1249  ( 1136) [001] ...1 158008.031662: tracing_mark_write: E
19617   SensorService-1249  ( 1136) [001] ...1 158008.031993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19618  HwBinder:755_1-1247  (  755) [000] ...1 158008.032531: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19619  HwBinder:755_1-1247  (  755) [003] ...1 158008.051151: tracing_mark_write: E
19620   SensorService-1249  ( 1136) [001] ...1 158008.051741: tracing_mark_write: E
19621   SensorService-1249  ( 1136) [001] ...1 158008.052077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19622  HwBinder:755_1-1247  (  755) [003] ...1 158008.052672: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19623  HwBinder:755_1-1247  (  755) [003] ...1 158008.071349: tracing_mark_write: E
19624   SensorService-1249  ( 1136) [001] ...1 158008.071666: tracing_mark_write: E
19625   SensorService-1249  ( 1136) [001] ...1 158008.071982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19626  HwBinder:755_1-1247  (  755) [003] ...1 158008.072627: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19627  HwBinder:755_1-1247  (  755) [003] ...1 158008.091175: tracing_mark_write: E
19628   SensorService-1249  ( 1136) [001] ...1 158008.091817: tracing_mark_write: E
19629   SensorService-1249  ( 1136) [001] ...1 158008.092035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19630  HwBinder:755_1-1247  (  755) [003] ...1 158008.092561: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19631  HwBinder:755_1-1247  (  755) [000] ...1 158008.111040: tracing_mark_write: E
19632   SensorService-1249  ( 1136) [001] ...1 158008.111249: tracing_mark_write: E
19633   SensorService-1249  ( 1136) [001] ...1 158008.111476: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19634  HwBinder:755_1-1247  (  755) [000] ...1 158008.111608: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19635  HwBinder:755_1-1247  (  755) [003] ...1 158008.132291: tracing_mark_write: E
19636   SensorService-1249  ( 1136) [001] ...1 158008.132970: tracing_mark_write: E
19637   SensorService-1249  ( 1136) [001] ...1 158008.133217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19638  HwBinder:755_1-1247  (  755) [003] ...1 158008.133721: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19639  HwBinder:755_1-1247  (  755) [000] ...1 158008.151474: tracing_mark_write: E
19640   SensorService-1249  ( 1136) [001] ...1 158008.151926: tracing_mark_write: E
19641   SensorService-1249  ( 1136) [001] ...1 158008.152094: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19642  HwBinder:755_1-1247  (  755) [000] ...1 158008.152209: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19643  HwBinder:755_1-1247  (  755) [000] ...1 158008.170664: tracing_mark_write: E
19644   SensorService-1249  ( 1136) [001] ...1 158008.171076: tracing_mark_write: E
19645   SensorService-1249  ( 1136) [001] ...1 158008.171412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19646  HwBinder:755_1-1247  (  755) [000] ...1 158008.171658: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19647  HwBinder:755_1-1247  (  755) [000] ...1 158008.190399: tracing_mark_write: E
19648   SensorService-1249  ( 1136) [001] ...1 158008.190595: tracing_mark_write: E
19649   SensorService-1249  ( 1136) [001] ...1 158008.190787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19650  HwBinder:755_1-1247  (  755) [000] ...1 158008.190962: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19651  HwBinder:755_1-1247  (  755) [003] ...1 158008.212077: tracing_mark_write: E
19652   SensorService-1249  ( 1136) [001] ...1 158008.212381: tracing_mark_write: E
19653   SensorService-1249  ( 1136) [001] ...1 158008.212665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19654  HwBinder:755_1-1247  (  755) [003] ...1 158008.213152: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19655  HwBinder:755_1-1247  (  755) [002] ...1 158008.230438: tracing_mark_write: E
19656   SensorService-1249  ( 1136) [001] ...1 158008.231025: tracing_mark_write: E
19657   SensorService-1249  ( 1136) [001] ...1 158008.231225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19658  HwBinder:755_1-1247  (  755) [002] ...1 158008.231411: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19659  HwBinder:755_1-1247  (  755) [002] ...1 158008.253062: tracing_mark_write: E
19660   SensorService-1249  ( 1136) [001] ...1 158008.253493: tracing_mark_write: E
19661   SensorService-1249  ( 1136) [001] ...1 158008.253914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19662  HwBinder:755_1-1247  (  755) [002] ...1 158008.254401: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19663  HwBinder:755_1-1247  (  755) [001] ...1 158008.270511: tracing_mark_write: E
19664   SensorService-1249  ( 1136) [003] ...1 158008.271045: tracing_mark_write: E
19665   SensorService-1249  ( 1136) [003] ...1 158008.271304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19666  HwBinder:755_1-1247  (  755) [001] ...1 158008.271486: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19667  HwBinder:755_1-1247  (  755) [001] ...1 158008.292325: tracing_mark_write: E
19668   SensorService-1249  ( 1136) [003] ...1 158008.292923: tracing_mark_write: E
19669   SensorService-1249  ( 1136) [003] ...1 158008.293204: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19670  HwBinder:755_1-1247  (  755) [001] ...1 158008.293469: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19671  HwBinder:755_1-1247  (  755) [001] ...1 158008.310806: tracing_mark_write: E
19672   SensorService-1249  ( 1136) [003] ...1 158008.311453: tracing_mark_write: E
19673   SensorService-1249  ( 1136) [003] ...1 158008.311816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19674  HwBinder:755_1-1247  (  755) [001] ...1 158008.312460: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19675  HwBinder:755_1-1247  (  755) [001] ...1 158008.332351: tracing_mark_write: E
19676   SensorService-1249  ( 1136) [003] ...1 158008.332793: tracing_mark_write: E
19677   SensorService-1249  ( 1136) [003] ...1 158008.333024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19678  HwBinder:755_1-1247  (  755) [001] ...1 158008.333526: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19679  HwBinder:755_1-1247  (  755) [001] ...1 158008.351578: tracing_mark_write: E
19680   SensorService-1249  ( 1136) [003] ...1 158008.352274: tracing_mark_write: E
19681   SensorService-1249  ( 1136) [003] ...1 158008.352528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19682  HwBinder:755_1-1247  (  755) [001] ...1 158008.352717: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19683  HwBinder:755_1-1247  (  755) [001] ...1 158008.370297: tracing_mark_write: E
19684   SensorService-1249  ( 1136) [003] ...1 158008.370827: tracing_mark_write: E
19685   SensorService-1249  ( 1136) [003] ...1 158008.371124: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19686  HwBinder:755_1-1247  (  755) [001] ...1 158008.371264: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19687  HwBinder:755_1-1247  (  755) [002] ...1 158008.394188: tracing_mark_write: E
19688   SensorService-1249  ( 1136) [003] ...1 158008.395124: tracing_mark_write: E
19689   SensorService-1249  ( 1136) [003] ...1 158008.395511: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19690  HwBinder:755_1-1247  (  755) [002] ...1 158008.396181: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19691  HwBinder:755_1-1247  (  755) [001] ...1 158008.410992: tracing_mark_write: E
19692   SensorService-1249  ( 1136) [003] ...1 158008.411595: tracing_mark_write: E
19693   SensorService-1249  ( 1136) [003] ...1 158008.411934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19694  HwBinder:755_1-1247  (  755) [001] ...1 158008.412177: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19695  HwBinder:755_1-1247  (  755) [001] ...1 158008.432490: tracing_mark_write: E
19696   SensorService-1249  ( 1136) [003] ...1 158008.433072: tracing_mark_write: E
19697   SensorService-1249  ( 1136) [003] ...1 158008.433313: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19698  HwBinder:755_1-1247  (  755) [001] ...1 158008.433671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19699  HwBinder:755_1-1247  (  755) [001] ...1 158008.451041: tracing_mark_write: E
19700   SensorService-1249  ( 1136) [003] ...1 158008.451669: tracing_mark_write: E
19701   SensorService-1249  ( 1136) [003] ...1 158008.452021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19702  HwBinder:755_1-1247  (  755) [001] ...1 158008.452676: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19703  HwBinder:755_1-1247  (  755) [001] ...1 158008.472244: tracing_mark_write: E
19704   SensorService-1249  ( 1136) [003] ...1 158008.472646: tracing_mark_write: E
19705   SensorService-1249  ( 1136) [003] ...1 158008.473040: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19706  HwBinder:755_1-1247  (  755) [001] ...1 158008.473226: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19707  HwBinder:755_1-1247  (  755) [000] ...1 158008.495978: tracing_mark_write: E
19708   SensorService-1249  ( 1136) [003] ...1 158008.496167: tracing_mark_write: E
19709   SensorService-1249  ( 1136) [003] ...1 158008.496394: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19710  HwBinder:755_1-1247  (  755) [000] ...1 158008.496515: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19711  HwBinder:755_1-1247  (  755) [000] ...1 158008.512534: tracing_mark_write: E
19712   SensorService-1249  ( 1136) [003] ...1 158008.513026: tracing_mark_write: E
19713   SensorService-1249  ( 1136) [003] ...1 158008.513215: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19714  HwBinder:755_1-1247  (  755) [000] ...1 158008.513337: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19715  HwBinder:755_1-1247  (  755) [000] ...1 158008.533177: tracing_mark_write: E
19716   SensorService-1249  ( 1136) [003] ...1 158008.533402: tracing_mark_write: E
19717   SensorService-1249  ( 1136) [003] ...1 158008.533606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19718  HwBinder:755_1-1247  (  755) [000] ...1 158008.533751: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19719  HwBinder:755_1-1247  (  755) [001] ...1 158008.552122: tracing_mark_write: E
19720   SensorService-1249  ( 1136) [003] ...1 158008.552622: tracing_mark_write: E
19721   SensorService-1249  ( 1136) [003] ...1 158008.552834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19722  HwBinder:755_1-1247  (  755) [001] ...1 158008.553283: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19723  HwBinder:755_1-1247  (  755) [001] ...1 158008.572216: tracing_mark_write: E
19724   SensorService-1249  ( 1136) [003] ...1 158008.572813: tracing_mark_write: E
19725   SensorService-1249  ( 1136) [003] ...1 158008.573019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19726  HwBinder:755_1-1247  (  755) [001] ...1 158008.573425: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19727  HwBinder:755_1-1247  (  755) [001] ...1 158008.591879: tracing_mark_write: E
19728   SensorService-1249  ( 1136) [003] ...1 158008.592369: tracing_mark_write: E
19729   SensorService-1249  ( 1136) [003] ...1 158008.592580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19730  HwBinder:755_1-1247  (  755) [001] ...1 158008.593197: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19731  HwBinder:755_1-1247  (  755) [000] ...1 158008.611699: tracing_mark_write: E
19732   SensorService-1249  ( 1136) [003] ...1 158008.612510: tracing_mark_write: E
19733   SensorService-1249  ( 1136) [003] ...1 158008.612928: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19734  HwBinder:755_1-1247  (  755) [000] ...1 158008.613174: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19735  HwBinder:755_1-1247  (  755) [003] ...1 158008.632014: tracing_mark_write: E
19736   SensorService-1249  ( 1136) [006] ...1 158008.633904: tracing_mark_write: E
19737   SensorService-1249  ( 1136) [006] ...1 158008.634533: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19738  HwBinder:755_1-1247  (  755) [003] ...1 158008.635284: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19739  HwBinder:755_1-1247  (  755) [002] ...1 158008.650686: tracing_mark_write: E
19740   SensorService-1249  ( 1136) [006] ...1 158008.652042: tracing_mark_write: E
19741   SensorService-1249  ( 1136) [006] ...1 158008.652281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19742  HwBinder:755_1-1247  (  755) [002] ...1 158008.652485: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19743  HwBinder:755_1-1247  (  755) [002] ...1 158008.672222: tracing_mark_write: E
19744   SensorService-1249  ( 1136) [006] ...1 158008.674081: tracing_mark_write: E
19745   SensorService-1249  ( 1136) [006] ...1 158008.674649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19746  HwBinder:755_1-1247  (  755) [002] ...1 158008.674970: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19747  HwBinder:755_1-1247  (  755) [001] ...1 158008.692995: tracing_mark_write: E
19748   SensorService-1249  ( 1136) [006] ...1 158008.694972: tracing_mark_write: E
19749   SensorService-1249  ( 1136) [006] ...1 158008.695346: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19750  HwBinder:755_1-1247  (  755) [001] ...1 158008.697029: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19751  HwBinder:755_1-1247  (  755) [001] ...1 158008.711431: tracing_mark_write: E
19752   SensorService-1249  ( 1136) [006] ...1 158008.711866: tracing_mark_write: E
19753   SensorService-1249  ( 1136) [006] ...1 158008.712104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19754  HwBinder:755_1-1247  (  755) [001] ...1 158008.712430: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19755  HwBinder:755_1-1247  (  755) [000] ...1 158008.731911: tracing_mark_write: E
19756   SensorService-1249  ( 1136) [006] ...1 158008.732225: tracing_mark_write: E
19757   SensorService-1249  ( 1136) [006] ...1 158008.732496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19758  HwBinder:755_1-1247  (  755) [000] ...1 158008.732968: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19759  HwBinder:755_1-1247  (  755) [000] ...1 158008.751537: tracing_mark_write: E
19760   SensorService-1249  ( 1136) [006] ...1 158008.753142: tracing_mark_write: E
19761   SensorService-1249  ( 1136) [006] ...1 158008.753436: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19762  HwBinder:755_1-1247  (  755) [000] ...1 158008.753690: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19763  HwBinder:755_1-1247  (  755) [000] ...1 158008.771951: tracing_mark_write: E
19764   SensorService-1249  ( 1136) [006] ...1 158008.772225: tracing_mark_write: E
19765   SensorService-1249  ( 1136) [006] ...1 158008.772495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19766  HwBinder:755_1-1247  (  755) [000] ...1 158008.772709: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19767  HwBinder:755_1-1247  (  755) [000] ...1 158008.791875: tracing_mark_write: E
19768   SensorService-1249  ( 1136) [006] ...1 158008.792059: tracing_mark_write: E
19769   SensorService-1249  ( 1136) [006] ...1 158008.792196: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19770  HwBinder:755_1-1247  (  755) [000] ...1 158008.792610: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19771  HwBinder:755_1-1247  (  755) [001] ...1 158008.811616: tracing_mark_write: E
19772   SensorService-1249  ( 1136) [006] ...1 158008.811897: tracing_mark_write: E
19773   SensorService-1249  ( 1136) [006] ...1 158008.812163: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19774  HwBinder:755_1-1247  (  755) [001] ...1 158008.812624: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19775  HwBinder:755_1-1247  (  755) [000] ...1 158008.832764: tracing_mark_write: E
19776   SensorService-1249  ( 1136) [006] ...1 158008.832941: tracing_mark_write: E
19777   SensorService-1249  ( 1136) [006] ...1 158008.833113: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19778  HwBinder:755_1-1247  (  755) [000] ...1 158008.833542: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19779  HwBinder:755_1-1247  (  755) [001] ...1 158008.851343: tracing_mark_write: E
19780   SensorService-1249  ( 1136) [006] ...1 158008.851992: tracing_mark_write: E
19781   SensorService-1249  ( 1136) [006] ...1 158008.852269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19782  HwBinder:755_1-1247  (  755) [001] ...1 158008.852742: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19783  HwBinder:755_1-1247  (  755) [001] ...1 158008.871565: tracing_mark_write: E
19784   SensorService-1249  ( 1136) [006] ...1 158008.871744: tracing_mark_write: E
19785   SensorService-1249  ( 1136) [006] ...1 158008.871879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19786  HwBinder:755_1-1247  (  755) [001] ...1 158008.872382: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19787  HwBinder:755_1-1247  (  755) [001] ...1 158008.892308: tracing_mark_write: E
19788   SensorService-1249  ( 1136) [006] ...1 158008.894155: tracing_mark_write: E
19789   SensorService-1249  ( 1136) [006] ...1 158008.894548: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19790  HwBinder:755_1-1247  (  755) [001] ...1 158008.895060: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19791  HwBinder:755_1-1247  (  755) [003] ...1 158008.911738: tracing_mark_write: E
19792   SensorService-1249  ( 1136) [006] ...1 158008.912006: tracing_mark_write: E
19793   SensorService-1249  ( 1136) [006] ...1 158008.912268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19794  HwBinder:755_1-1247  (  755) [003] ...1 158008.912741: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19795  HwBinder:755_1-1247  (  755) [001] ...1 158008.932367: tracing_mark_write: E
19796   SensorService-1249  ( 1136) [006] ...1 158008.932960: tracing_mark_write: E
19797   SensorService-1249  ( 1136) [006] ...1 158008.933097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19798  HwBinder:755_1-1247  (  755) [001] ...1 158008.933541: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19799  HwBinder:755_1-1247  (  755) [001] ...1 158008.951431: tracing_mark_write: E
19800   SensorService-1249  ( 1136) [006] ...1 158008.951970: tracing_mark_write: E
19801   SensorService-1249  ( 1136) [006] ...1 158008.952213: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19802  HwBinder:755_1-1247  (  755) [001] ...1 158008.952585: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19803  HwBinder:755_1-1247  (  755) [000] ...1 158008.972807: tracing_mark_write: E
19804   SensorService-1249  ( 1136) [006] ...1 158008.973005: tracing_mark_write: E
19805   SensorService-1249  ( 1136) [006] ...1 158008.973178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19806  HwBinder:755_1-1247  (  755) [000] ...1 158008.973352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19807  HwBinder:755_1-1247  (  755) [001] ...1 158008.991851: tracing_mark_write: E
19808   SensorService-1249  ( 1136) [006] ...1 158008.992149: tracing_mark_write: E
19809   SensorService-1249  ( 1136) [006] ...1 158008.992445: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19810  HwBinder:755_1-1247  (  755) [001] ...1 158008.992993: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19811  HwBinder:755_1-1247  (  755) [001] ...1 158009.011191: tracing_mark_write: E
19812   SensorService-1249  ( 1136) [006] ...1 158009.011720: tracing_mark_write: E
19813   SensorService-1249  ( 1136) [006] ...1 158009.011993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19814  HwBinder:755_1-1247  (  755) [001] ...1 158009.012625: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19815  HwBinder:755_1-1247  (  755) [001] ...1 158009.032431: tracing_mark_write: E
19816   SensorService-1249  ( 1136) [006] ...1 158009.033912: tracing_mark_write: E
19817   SensorService-1249  ( 1136) [006] ...1 158009.034303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19818  HwBinder:755_1-1247  (  755) [001] ...1 158009.034811: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19819  HwBinder:755_1-1247  (  755) [003] ...1 158009.052014: tracing_mark_write: E
19820   SensorService-1249  ( 1136) [006] ...1 158009.052701: tracing_mark_write: E
19821   SensorService-1249  ( 1136) [006] ...1 158009.053010: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19822  HwBinder:755_1-1247  (  755) [003] ...1 158009.053501: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19823  HwBinder:755_1-1247  (  755) [000] ...1 158009.073559: tracing_mark_write: E
19824   SensorService-1249  ( 1136) [006] ...1 158009.075196: tracing_mark_write: E
19825   SensorService-1249  ( 1136) [006] ...1 158009.075531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19826  HwBinder:755_1-1247  (  755) [000] ...1 158009.075787: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19827  HwBinder:755_1-1247  (  755) [001] ...1 158009.092211: tracing_mark_write: E
19828   SensorService-1249  ( 1136) [006] ...1 158009.092491: tracing_mark_write: E
19829   SensorService-1249  ( 1136) [006] ...1 158009.092806: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19830  HwBinder:755_1-1247  (  755) [001] ...1 158009.093011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19831  HwBinder:755_1-1247  (  755) [001] ...1 158009.112696: tracing_mark_write: E
19832   SensorService-1249  ( 1136) [006] ...1 158009.113134: tracing_mark_write: E
19833   SensorService-1249  ( 1136) [006] ...1 158009.113272: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19834  HwBinder:755_1-1247  (  755) [001] ...1 158009.113785: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19835  HwBinder:755_1-1247  (  755) [003] ...1 158009.133545: tracing_mark_write: E
19836   SensorService-1249  ( 1136) [006] ...1 158009.135299: tracing_mark_write: E
19837   SensorService-1249  ( 1136) [006] ...1 158009.135619: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19838  HwBinder:755_1-1247  (  755) [003] ...1 158009.136262: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19839  HwBinder:755_1-1247  (  755) [000] ...1 158009.151859: tracing_mark_write: E
19840   SensorService-1249  ( 1136) [006] ...1 158009.153727: tracing_mark_write: E
19841   SensorService-1249  ( 1136) [006] ...1 158009.154105: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19842  HwBinder:755_1-1247  (  755) [000] ...1 158009.154521: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19843  HwBinder:755_1-1247  (  755) [001] ...1 158009.171577: tracing_mark_write: E
19844   SensorService-1249  ( 1136) [006] ...1 158009.172887: tracing_mark_write: E
19845   SensorService-1249  ( 1136) [006] ...1 158009.173123: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19846  HwBinder:755_1-1247  (  755) [001] ...1 158009.173496: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19847  HwBinder:755_1-1247  (  755) [000] ...1 158009.194745: tracing_mark_write: E
19848   SensorService-1249  ( 1136) [006] ...1 158009.196565: tracing_mark_write: E
19849   SensorService-1249  ( 1136) [006] ...1 158009.196827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19850  HwBinder:755_1-1247  (  755) [000] ...1 158009.197066: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19851  HwBinder:755_1-1247  (  755) [001] ...1 158009.211491: tracing_mark_write: E
19852   SensorService-1249  ( 1136) [006] ...1 158009.212789: tracing_mark_write: E
19853   SensorService-1249  ( 1136) [006] ...1 158009.213025: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19854  HwBinder:755_1-1247  (  755) [001] ...1 158009.213217: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19855  HwBinder:755_1-1247  (  755) [001] ...1 158009.233728: tracing_mark_write: E
19856   SensorService-1249  ( 1136) [006] ...1 158009.235386: tracing_mark_write: E
19857   SensorService-1249  ( 1136) [006] ...1 158009.235654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19858  HwBinder:755_1-1247  (  755) [001] ...1 158009.236244: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19859  HwBinder:755_1-1247  (  755) [000] ...1 158009.252598: tracing_mark_write: E
19860   SensorService-1249  ( 1136) [006] ...1 158009.254587: tracing_mark_write: E
19861   SensorService-1249  ( 1136) [006] ...1 158009.255014: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19862  HwBinder:755_1-1247  (  755) [000] ...1 158009.255398: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19863  HwBinder:755_1-1247  (  755) [001] ...1 158009.272685: tracing_mark_write: E
19864   SensorService-1249  ( 1136) [006] ...1 158009.274519: tracing_mark_write: E
19865   SensorService-1249  ( 1136) [006] ...1 158009.274909: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19866  HwBinder:755_1-1247  (  755) [001] ...1 158009.275620: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19867  HwBinder:755_1-1247  (  755) [000] ...1 158009.292482: tracing_mark_write: E
19868   SensorService-1249  ( 1136) [006] ...1 158009.294426: tracing_mark_write: E
19869   SensorService-1249  ( 1136) [006] ...1 158009.294861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19870  HwBinder:755_1-1247  (  755) [000] ...1 158009.295178: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19871  HwBinder:755_1-1247  (  755) [001] ...1 158009.312623: tracing_mark_write: E
19872   SensorService-1249  ( 1136) [006] ...1 158009.314335: tracing_mark_write: E
19873   SensorService-1249  ( 1136) [006] ...1 158009.314637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19874  HwBinder:755_1-1247  (  755) [001] ...1 158009.315184: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19875  HwBinder:755_1-1247  (  755) [000] ...1 158009.332263: tracing_mark_write: E
19876   SensorService-1249  ( 1136) [006] ...1 158009.334802: tracing_mark_write: E
19877   SensorService-1249  ( 1136) [006] ...1 158009.335341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19878  HwBinder:755_1-1247  (  755) [000] ...1 158009.336315: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19879  HwBinder:755_1-1247  (  755) [001] ...1 158009.351749: tracing_mark_write: E
19880   SensorService-1249  ( 1136) [006] ...1 158009.353420: tracing_mark_write: E
19881   SensorService-1249  ( 1136) [006] ...1 158009.353760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19882  HwBinder:755_1-1247  (  755) [001] ...1 158009.354151: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19883  HwBinder:755_1-1247  (  755) [001] ...1 158009.372439: tracing_mark_write: E
19884   SensorService-1249  ( 1136) [006] ...1 158009.374387: tracing_mark_write: E
19885   SensorService-1249  ( 1136) [006] ...1 158009.374825: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19886  HwBinder:755_1-1247  (  755) [001] ...1 158009.375448: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19887  HwBinder:755_1-1247  (  755) [001] ...1 158009.397489: tracing_mark_write: E
19888      android.bg-1155  ( 1136) [000] ...1 158009.398133: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19889  memtrack@1.0-s-745   (  745) [000] ...1 158009.398359: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19890  memtrack@1.0-s-745   (  745) [000] ...1 158009.398408: tracing_mark_write: E
19891      android.bg-1155  ( 1136) [000] ...1 158009.398512: tracing_mark_write: E
19892      android.bg-1155  ( 1136) [000] ...1 158009.398531: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19893  memtrack@1.0-s-745   (  745) [000] ...1 158009.398584: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19894   SensorService-1249  ( 1136) [006] ...1 158009.398670: tracing_mark_write: E
19895  memtrack@1.0-s-745   (  745) [000] ...1 158009.398671: tracing_mark_write: E
19896      android.bg-1155  ( 1136) [000] ...1 158009.398734: tracing_mark_write: E
19897      android.bg-1155  ( 1136) [000] ...1 158009.398750: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19898  memtrack@1.0-s-745   (  745) [000] ...1 158009.398798: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19899  memtrack@1.0-s-745   (  745) [000] ...1 158009.398839: tracing_mark_write: E
19900      android.bg-1155  ( 1136) [000] ...1 158009.398895: tracing_mark_write: E
19901   SensorService-1249  ( 1136) [006] ...1 158009.398911: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19902      android.bg-1155  ( 1136) [000] ...1 158009.398919: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19903  memtrack@1.0-s-745   (  745) [000] ...1 158009.398970: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19904  memtrack@1.0-s-745   (  745) [000] ...1 158009.398980: tracing_mark_write: E
19905      android.bg-1155  ( 1136) [000] ...1 158009.399059: tracing_mark_write: E
19906      android.bg-1155  ( 1136) [000] ...1 158009.399072: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19907  memtrack@1.0-s-745   (  745) [000] ...1 158009.399125: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19908  memtrack@1.0-s-745   (  745) [000] ...1 158009.399134: tracing_mark_write: E
19909  HwBinder:755_1-1247  (  755) [001] ...1 158009.399157: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19910      android.bg-1155  ( 1136) [000] ...1 158009.399189: tracing_mark_write: E
19911    Binder:610_5-2158  (  610) [001] ...1 158009.405310: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
19912  HwBinder:612_3-11297 (  612) [004] ...1 158009.411051: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
19913  HwBinder:612_3-11297 (  612) [004] ...1 158009.411145: tracing_mark_write: E
19914  HwBinder:755_1-1247  (  755) [002] ...1 158009.411229: tracing_mark_write: E
19915   SensorService-1249  ( 1136) [006] ...1 158009.411422: tracing_mark_write: E
19916    Binder:610_5-2158  (  610) [004] ...1 158009.411436: tracing_mark_write: E
19917    EventControl-682   (  610) [003] ...1 158009.411605: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
19918   SensorService-1249  ( 1136) [006] ...1 158009.411651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19919  HwBinder:612_3-11297 (  612) [003] ...1 158009.411799: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
19920  HwBinder:755_1-1247  (  755) [002] ...1 158009.411807: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19921  HwBinder:612_3-11297 (  612) [003] ...1 158009.411817: tracing_mark_write: C|612|SetVsyncState |1
19922  HwBinder:612_3-11297 (  612) [003] ...1 158009.411857: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
19923   Binder:1136_7-1615  ( 1136) [007] ...1 158009.412432: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
19924   Binder:1136_7-1615  ( 1136) [007] ...1 158009.412666: tracing_mark_write: E
19925  power@1.1-serv-754   (  754) [002] ...1 158009.413001: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
19926  power@1.1-serv-754   (  754) [002] ...1 158009.413585: tracing_mark_write: E
19927  HwBinder:612_3-11297 (  612) [003] ...1 158009.414528: tracing_mark_write: E
19928  HwBinder:612_3-11297 (  612) [003] ...1 158009.414562: tracing_mark_write: E
19929    EventControl-682   (  610) [003] ...1 158009.414671: tracing_mark_write: E
19930  SDM_EventThrea-643   (  612) [003] ...1 158009.421173: tracing_mark_write: B|612|HWCCallbacks::Vsync::
19931  SDM_EventThrea-643   (  612) [003] ...1 158009.421195: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
19932  SDM_EventThrea-643   (  612) [003] ...1 158009.421386: tracing_mark_write: E
19933  SDM_EventThrea-643   (  612) [003] ...1 158009.421404: tracing_mark_write: E
19934  HwBinder:610_1-626   (  610) [002] ...1 158009.421852: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
19935  HwBinder:610_1-626   (  610) [002] ...1 158009.421908: tracing_mark_write: E
19936      android.bg-1155  ( 1136) [000] ...1 158009.428427: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19937  memtrack@1.0-s-745   (  745) [000] ...1 158009.428592: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19938  memtrack@1.0-s-745   (  745) [000] ...1 158009.428624: tracing_mark_write: E
19939      android.bg-1155  ( 1136) [000] ...1 158009.428848: tracing_mark_write: E
19940      android.bg-1155  ( 1136) [000] ...1 158009.428865: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19941  memtrack@1.0-s-745   (  745) [000] ...1 158009.428910: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19942  memtrack@1.0-s-745   (  745) [000] ...1 158009.428989: tracing_mark_write: E
19943      android.bg-1155  ( 1136) [000] ...1 158009.429030: tracing_mark_write: E
19944      android.bg-1155  ( 1136) [000] ...1 158009.429039: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19945  memtrack@1.0-s-745   (  745) [000] ...1 158009.429067: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19946  memtrack@1.0-s-745   (  745) [000] ...1 158009.429090: tracing_mark_write: E
19947      android.bg-1155  ( 1136) [000] ...1 158009.429119: tracing_mark_write: E
19948      android.bg-1155  ( 1136) [000] ...1 158009.429127: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19949  memtrack@1.0-s-745   (  745) [000] ...1 158009.429152: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19950  memtrack@1.0-s-745   (  745) [000] ...1 158009.429157: tracing_mark_write: E
19951      android.bg-1155  ( 1136) [000] ...1 158009.429185: tracing_mark_write: E
19952      android.bg-1155  ( 1136) [000] ...1 158009.429192: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19953  memtrack@1.0-s-745   (  745) [000] ...1 158009.429216: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19954  memtrack@1.0-s-745   (  745) [000] ...1 158009.429221: tracing_mark_write: E
19955      android.bg-1155  ( 1136) [000] ...1 158009.429249: tracing_mark_write: E
19956  HwBinder:755_1-1247  (  755) [001] ...1 158009.431561: tracing_mark_write: E
19957   SensorService-1249  ( 1136) [006] ...1 158009.431737: tracing_mark_write: E
19958   SensorService-1249  ( 1136) [006] ...1 158009.431904: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
19959  HwBinder:755_1-1247  (  755) [001] ...1 158009.432035: tracing_mark_write: B|755|HIDL::ISensors::poll::server
19960   Binder:1136_1-1152  ( 1136) [006] ...1 158009.434272: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
19961   Binder:1136_1-1152  ( 1136) [006] ...1 158009.434365: tracing_mark_write: E
19962  power@1.1-serv-754   (  754) [002] ...1 158009.434440: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
19963  power@1.1-serv-754   (  754) [002] ...1 158009.434614: tracing_mark_write: E
19964  SDM_EventThrea-643   (  612) [003] ...1 158009.437796: tracing_mark_write: B|612|HWCCallbacks::Vsync::
19965  SDM_EventThrea-643   (  612) [003] ...1 158009.437810: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
19966  SDM_EventThrea-643   (  612) [003] ...1 158009.437880: tracing_mark_write: E
19967  SDM_EventThrea-643   (  612) [003] ...1 158009.437890: tracing_mark_write: E
19968  HwBinder:610_1-626   (  610) [001] ...1 158009.437919: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
19969  HwBinder:610_1-626   (  610) [001] ...1 158009.437936: tracing_mark_write: E
19970      android.bg-1155  ( 1136) [001] ...1 158009.443980: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19971  memtrack@1.0-s-745   (  745) [004] ...1 158009.444113: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19972  memtrack@1.0-s-745   (  745) [004] ...1 158009.444138: tracing_mark_write: E
19973      android.bg-1155  ( 1136) [006] .n.1 158009.444267: tracing_mark_write: E
19974      android.bg-1155  ( 1136) [001] ...1 158009.446071: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19975  memtrack@1.0-s-745   (  745) [004] ...1 158009.446197: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19976  memtrack@1.0-s-745   (  745) [004] ...1 158009.446331: tracing_mark_write: E
19977      android.bg-1155  ( 1136) [000] ...1 158009.446484: tracing_mark_write: E
19978      android.bg-1155  ( 1136) [000] ...1 158009.446495: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19979  memtrack@1.0-s-745   (  745) [004] ...1 158009.446602: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19980  memtrack@1.0-s-745   (  745) [004] ...1 158009.446631: tracing_mark_write: E
19981      android.bg-1155  ( 1136) [003] ...1 158009.446799: tracing_mark_write: E
19982      android.bg-1155  ( 1136) [003] ...1 158009.446810: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
19983  memtrack@1.0-s-745   (  745) [004] ...1 158009.446881: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
19984  memtrack@1.0-s-745   (  745) [004] ...1 158009.446918: tracing_mark_write: E
19985  surfaceflinger-610   (  610) [000] ...1 158009.447171: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
19986  HwBinder:612_3-11297 (  612) [003] ...1 158009.447359: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
19987  HwBinder:612_3-11297 (  612) [003] ...1 158009.447441: tracing_mark_write: B|612|HWCSession::PresentDisplay::
19988  HwBinder:612_3-11297 (  612) [003] ...1 158009.447451: tracing_mark_write: E
19989  HwBinder:612_3-11297 (  612) [003] ...1 158009.447457: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
19990  HwBinder:612_3-11297 (  612) [003] ...1 158009.447827: tracing_mark_write: B|612|HWDevice::Validate::
19991  HwBinder:612_3-11297 (  612) [003] ...1 158009.447899: tracing_mark_write: E
19992  HwBinder:612_3-11297 (  612) [003] ...1 158009.447917: tracing_mark_write: E
19993  HwBinder:612_3-11297 (  612) [003] ...1 158009.447943: tracing_mark_write: E
19994  surfaceflinger-610   (  610) [000] ...1 158009.448016: tracing_mark_write: E
19995  surfaceflinger-610   (  610) [000] ...1 158009.448130: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
19996  HwBinder:612_3-11297 (  612) [003] ...1 158009.448184: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
19997  HwBinder:612_3-11297 (  612) [003] ...1 158009.448197: tracing_mark_write: B|612|HWCSession::PresentDisplay::
19998  HwBinder:612_3-11297 (  612) [003] ...1 158009.448212: tracing_mark_write: B|612|HWDevice::Commit::
19999  HwBinder:612_3-11297 (  612) [003] ...1 158009.448291: tracing_mark_write: E
20000  HwBinder:612_3-11297 (  612) [003] ...1 158009.448310: tracing_mark_write: E
20001  HwBinder:612_3-11297 (  612) [003] ...1 158009.448345: tracing_mark_write: E
20002  surfaceflinger-610   (  610) [000] ...1 158009.448389: tracing_mark_write: E
20003      android.bg-1155  ( 1136) [007] ...1 158009.448627: tracing_mark_write: E
20004      android.bg-1155  ( 1136) [007] ...1 158009.448647: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20005  memtrack@1.0-s-745   (  745) [004] ...1 158009.448704: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20006  memtrack@1.0-s-745   (  745) [004] ...1 158009.448713: tracing_mark_write: E
20007      android.bg-1155  ( 1136) [007] ...1 158009.448747: tracing_mark_write: E
20008  HwBinder:755_1-1247  (  755) [003] ...1 158009.450996: tracing_mark_write: E
20009   SensorService-1249  ( 1136) [006] ...1 158009.451065: tracing_mark_write: E
20010   SensorService-1249  ( 1136) [006] ...1 158009.451128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20011  HwBinder:755_1-1247  (  755) [003] ...1 158009.451191: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20012      android.bg-1155  ( 1136) [001] ...1 158009.452596: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20013  memtrack@1.0-s-745   (  745) [005] ...1 158009.452677: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20014  memtrack@1.0-s-745   (  745) [005] ...1 158009.452689: tracing_mark_write: E
20015  SDM_EventThrea-643   (  612) [001] ...1 158009.454496: tracing_mark_write: B|612|HWCCallbacks::Vsync::
20016  SDM_EventThrea-643   (  612) [001] ...1 158009.454505: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
20017  SDM_EventThrea-643   (  612) [001] ...1 158009.454548: tracing_mark_write: E
20018  SDM_EventThrea-643   (  612) [001] ...1 158009.454555: tracing_mark_write: E
20019  HwBinder:610_1-626   (  610) [002] ...1 158009.454578: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
20020  HwBinder:610_1-626   (  610) [002] ...1 158009.454592: tracing_mark_write: E
20021      android.bg-1155  ( 1136) [007] ...1 158009.456750: tracing_mark_write: E
20022      android.bg-1155  ( 1136) [007] ...1 158009.456765: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20023  memtrack@1.0-s-745   (  745) [004] ...1 158009.456816: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20024  memtrack@1.0-s-745   (  745) [004] ...1 158009.456865: tracing_mark_write: E
20025      android.bg-1155  ( 1136) [007] ...1 158009.456899: tracing_mark_write: E
20026      android.bg-1155  ( 1136) [007] ...1 158009.456906: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20027  memtrack@1.0-s-745   (  745) [004] ...1 158009.456938: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20028  memtrack@1.0-s-745   (  745) [004] ...1 158009.456964: tracing_mark_write: E
20029      android.bg-1155  ( 1136) [007] ...1 158009.456992: tracing_mark_write: E
20030      android.bg-1155  ( 1136) [007] ...1 158009.456998: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20031  memtrack@1.0-s-745   (  745) [004] ...1 158009.457026: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20032  memtrack@1.0-s-745   (  745) [004] ...1 158009.457031: tracing_mark_write: E
20033      android.bg-1155  ( 1136) [007] ...1 158009.457055: tracing_mark_write: E
20034      android.bg-1155  ( 1136) [007] ...1 158009.457061: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20035  memtrack@1.0-s-745   (  745) [004] ...1 158009.457087: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20036  memtrack@1.0-s-745   (  745) [004] ...1 158009.457091: tracing_mark_write: E
20037      android.bg-1155  ( 1136) [007] ...1 158009.457115: tracing_mark_write: E
20038      android.bg-1155  ( 1136) [007] ...1 158009.459306: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20039  memtrack@1.0-s-745   (  745) [004] ...1 158009.459378: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20040  memtrack@1.0-s-745   (  745) [004] ...1 158009.459391: tracing_mark_write: E
20041      android.bg-1155  ( 1136) [006] ...1 158009.459441: tracing_mark_write: E
20042      android.bg-1155  ( 1136) [006] ...1 158009.459455: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20043  memtrack@1.0-s-745   (  745) [007] ...1 158009.459509: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20044  memtrack@1.0-s-745   (  745) [007] ...1 158009.459552: tracing_mark_write: E
20045      android.bg-1155  ( 1136) [006] ...1 158009.459584: tracing_mark_write: E
20046      android.bg-1155  ( 1136) [006] ...1 158009.459591: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20047  memtrack@1.0-s-745   (  745) [007] ...1 158009.459625: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20048  memtrack@1.0-s-745   (  745) [007] ...1 158009.459646: tracing_mark_write: E
20049      android.bg-1155  ( 1136) [006] ...1 158009.459672: tracing_mark_write: E
20050      android.bg-1155  ( 1136) [006] ...1 158009.459678: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20051  memtrack@1.0-s-745   (  745) [007] ...1 158009.459707: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20052  memtrack@1.0-s-745   (  745) [007] ...1 158009.459712: tracing_mark_write: E
20053      android.bg-1155  ( 1136) [006] ...1 158009.459736: tracing_mark_write: E
20054      android.bg-1155  ( 1136) [006] ...1 158009.459741: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20055  memtrack@1.0-s-745   (  745) [007] ...1 158009.459769: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20056  memtrack@1.0-s-745   (  745) [007] ...1 158009.459773: tracing_mark_write: E
20057      android.bg-1155  ( 1136) [006] ...1 158009.459796: tracing_mark_write: E
20058  surfaceflinger-610   (  610) [000] ...1 158009.460664: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
20059  HwBinder:612_3-11297 (  612) [001] ...1 158009.460781: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
20060  HwBinder:612_3-11297 (  612) [001] ...1 158009.460846: tracing_mark_write: B|612|HWCSession::PresentDisplay::
20061  HwBinder:612_3-11297 (  612) [001] ...1 158009.460866: tracing_mark_write: B|612|HWDevice::Commit::
20062  HwBinder:612_3-11297 (  612) [001] ...1 158009.460985: tracing_mark_write: E
20063  HwBinder:612_3-11297 (  612) [001] ...1 158009.461012: tracing_mark_write: E
20064  HwBinder:612_3-11297 (  612) [001] ...1 158009.461044: tracing_mark_write: E
20065  surfaceflinger-610   (  610) [000] ...1 158009.461105: tracing_mark_write: E
20066      android.bg-1155  ( 1136) [006] ...1 158009.463238: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20067  memtrack@1.0-s-745   (  745) [007] ...1 158009.463319: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20068  memtrack@1.0-s-745   (  745) [007] ...1 158009.463334: tracing_mark_write: E
20069      android.bg-1155  ( 1136) [006] ...1 158009.463375: tracing_mark_write: E
20070      android.bg-1155  ( 1136) [006] ...1 158009.463383: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20071  memtrack@1.0-s-745   (  745) [007] ...1 158009.463417: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20072  memtrack@1.0-s-745   (  745) [007] ...1 158009.464051: tracing_mark_write: E
20073      android.bg-1155  ( 1136) [006] ...1 158009.464091: tracing_mark_write: E
20074      android.bg-1155  ( 1136) [006] ...1 158009.464097: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20075  memtrack@1.0-s-745   (  745) [007] ...1 158009.464131: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20076  memtrack@1.0-s-745   (  745) [007] ...1 158009.464698: tracing_mark_write: E
20077      android.bg-1155  ( 1136) [006] ...1 158009.464729: tracing_mark_write: E
20078      android.bg-1155  ( 1136) [006] ...1 158009.464735: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20079  memtrack@1.0-s-745   (  745) [007] ...1 158009.464767: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20080  memtrack@1.0-s-745   (  745) [007] ...1 158009.464771: tracing_mark_write: E
20081      android.bg-1155  ( 1136) [006] ...1 158009.464797: tracing_mark_write: E
20082      android.bg-1155  ( 1136) [006] ...1 158009.464803: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20083  memtrack@1.0-s-745   (  745) [004] ...1 158009.464879: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20084  memtrack@1.0-s-745   (  745) [004] ...1 158009.464886: tracing_mark_write: E
20085      android.bg-1155  ( 1136) [006] ...1 158009.464922: tracing_mark_write: E
20086  HwBinder:755_1-1247  (  755) [001] ...1 158009.471160: tracing_mark_write: E
20087   SensorService-1249  ( 1136) [006] ...1 158009.471256: tracing_mark_write: E
20088  SDM_EventThrea-643   (  612) [001] ...1 158009.471291: tracing_mark_write: B|612|HWCCallbacks::Vsync::
20089  SDM_EventThrea-643   (  612) [001] ...1 158009.471303: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
20090   SensorService-1249  ( 1136) [006] ...1 158009.471324: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20091  SDM_EventThrea-643   (  612) [001] ...1 158009.471370: tracing_mark_write: E
20092  SDM_EventThrea-643   (  612) [001] ...1 158009.471381: tracing_mark_write: E
20093  sensors@1.0-se-755   (  755) [004] ...1 158009.471404: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20094  HwBinder:610_1-626   (  610) [000] ...1 158009.471408: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
20095  HwBinder:610_1-626   (  610) [000] ...1 158009.471427: tracing_mark_write: E
20096  surfaceflinger-610   (  610) [003] ...1 158009.477336: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
20097  HwBinder:612_3-11297 (  612) [001] ...1 158009.477448: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
20098  HwBinder:612_3-11297 (  612) [001] ...1 158009.477526: tracing_mark_write: B|612|HWCSession::PresentDisplay::
20099  HwBinder:612_3-11297 (  612) [001] ...1 158009.477576: tracing_mark_write: B|612|HWDevice::Commit::
20100  HwBinder:612_3-11297 (  612) [001] ...1 158009.477665: tracing_mark_write: E
20101  HwBinder:612_3-11297 (  612) [001] ...1 158009.477691: tracing_mark_write: E
20102  HwBinder:612_3-11297 (  612) [001] ...1 158009.477721: tracing_mark_write: E
20103  surfaceflinger-610   (  610) [003] ...1 158009.477786: tracing_mark_write: E
20104  Binder:1136_12-7074  ( 1136) [001] ...1 158009.483738: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
20105  Binder:1136_12-7074  ( 1136) [001] ...1 158009.483796: tracing_mark_write: E
20106  power@1.1-serv-754   (  754) [001] ...1 158009.483875: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
20107  power@1.1-serv-754   (  754) [001] ...1 158009.483976: tracing_mark_write: E
20108  SDM_EventThrea-643   (  612) [001] ...1 158009.487964: tracing_mark_write: B|612|HWCCallbacks::Vsync::
20109  SDM_EventThrea-643   (  612) [001] ...1 158009.487973: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
20110  SDM_EventThrea-643   (  612) [001] ...1 158009.488014: tracing_mark_write: E
20111  SDM_EventThrea-643   (  612) [001] ...1 158009.488021: tracing_mark_write: E
20112  HwBinder:610_1-626   (  610) [000] ...1 158009.488038: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
20113  HwBinder:610_1-626   (  610) [000] ...1 158009.488052: tracing_mark_write: E
20114  sensors@1.0-se-755   (  755) [004] ...1 158009.491133: tracing_mark_write: E
20115   SensorService-1249  ( 1136) [006] ...1 158009.491286: tracing_mark_write: E
20116   SensorService-1249  ( 1136) [006] ...1 158009.491432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20117  sensors@1.0-se-755   (  755) [004] ...1 158009.491577: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20118  Binder:1136_12-7074  ( 1136) [001] ...1 158009.500843: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
20119  Binder:1136_12-7074  ( 1136) [001] ...1 158009.501063: tracing_mark_write: E
20120  power@1.1-serv-754   (  754) [001] ...1 158009.501296: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
20121  power@1.1-serv-754   (  754) [001] ...1 158009.501552: tracing_mark_write: E
20122  SDM_EventThrea-643   (  612) [001] ...1 158009.504893: tracing_mark_write: B|612|HWCCallbacks::Vsync::
20123  SDM_EventThrea-643   (  612) [001] ...1 158009.504919: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
20124  SDM_EventThrea-643   (  612) [001] ...1 158009.505043: tracing_mark_write: E
20125  SDM_EventThrea-643   (  612) [001] ...1 158009.505064: tracing_mark_write: E
20126  HwBinder:610_1-626   (  610) [000] ...1 158009.505110: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
20127  HwBinder:610_1-626   (  610) [000] ...1 158009.505260: tracing_mark_write: E
20128    EventControl-682   (  610) [002] ...1 158009.505326: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
20129  HwBinder:612_3-11297 (  612) [002] ...1 158009.505598: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
20130  HwBinder:612_3-11297 (  612) [002] ...1 158009.505631: tracing_mark_write: C|612|SetVsyncState |0
20131  HwBinder:612_3-11297 (  612) [002] ...1 158009.505671: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
20132  HwBinder:612_3-11297 (  612) [002] ...1 158009.507097: tracing_mark_write: E
20133  HwBinder:612_3-11297 (  612) [002] ...1 158009.507129: tracing_mark_write: E
20134    EventControl-682   (  610) [002] ...1 158009.507257: tracing_mark_write: E
20135  sensors@1.0-se-755   (  755) [004] ...1 158009.511566: tracing_mark_write: E
20136   SensorService-1249  ( 1136) [006] ...1 158009.511643: tracing_mark_write: E
20137   SensorService-1249  ( 1136) [006] ...1 158009.511738: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20138  sensors@1.0-se-755   (  755) [004] ...1 158009.511820: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20139  sensors@1.0-se-755   (  755) [004] ...1 158009.531582: tracing_mark_write: E
20140   SensorService-1249  ( 1136) [006] ...1 158009.531634: tracing_mark_write: E
20141   SensorService-1249  ( 1136) [006] ...1 158009.531700: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20142  sensors@1.0-se-755   (  755) [004] ...1 158009.531761: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20143  sensors@1.0-se-755   (  755) [004] ...1 158009.551547: tracing_mark_write: E
20144   SensorService-1249  ( 1136) [006] ...1 158009.551589: tracing_mark_write: E
20145   SensorService-1249  ( 1136) [006] ...1 158009.551643: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20146  sensors@1.0-se-755   (  755) [004] ...1 158009.551692: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20147  sensors@1.0-se-755   (  755) [004] ...1 158009.571547: tracing_mark_write: E
20148   SensorService-1249  ( 1136) [006] ...1 158009.571578: tracing_mark_write: E
20149   SensorService-1249  ( 1136) [006] ...1 158009.571618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20150  sensors@1.0-se-755   (  755) [004] ...1 158009.571658: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20151  sensors@1.0-se-755   (  755) [004] ...1 158009.591575: tracing_mark_write: E
20152   SensorService-1249  ( 1136) [006] ...1 158009.591598: tracing_mark_write: E
20153   SensorService-1249  ( 1136) [006] ...1 158009.591628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20154  sensors@1.0-se-755   (  755) [004] ...1 158009.591656: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20155  sensors@1.0-se-755   (  755) [004] ...1 158009.611612: tracing_mark_write: E
20156   SensorService-1249  ( 1136) [006] ...1 158009.611631: tracing_mark_write: E
20157   SensorService-1249  ( 1136) [006] ...1 158009.611654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20158  sensors@1.0-se-755   (  755) [004] ...1 158009.611677: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20159  sensors@1.0-se-755   (  755) [004] ...1 158009.631760: tracing_mark_write: E
20160   SensorService-1249  ( 1136) [006] ...1 158009.631775: tracing_mark_write: E
20161   SensorService-1249  ( 1136) [006] ...1 158009.631795: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20162  sensors@1.0-se-755   (  755) [004] ...1 158009.631813: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20163  sensors@1.0-se-755   (  755) [004] ...1 158009.651409: tracing_mark_write: E
20164   SensorService-1249  ( 1136) [006] ...1 158009.651424: tracing_mark_write: E
20165   SensorService-1249  ( 1136) [006] ...1 158009.651441: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20166  sensors@1.0-se-755   (  755) [004] ...1 158009.651458: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20167  sensors@1.0-se-755   (  755) [004] ...1 158009.671382: tracing_mark_write: E
20168   SensorService-1249  ( 1136) [006] ...1 158009.671400: tracing_mark_write: E
20169   SensorService-1249  ( 1136) [006] ...1 158009.671415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20170  sensors@1.0-se-755   (  755) [004] ...1 158009.671432: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20171  sensors@1.0-se-755   (  755) [004] ...1 158009.691509: tracing_mark_write: E
20172   SensorService-1249  ( 1136) [006] ...1 158009.691637: tracing_mark_write: E
20173   SensorService-1249  ( 1136) [006] ...1 158009.691695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20174  sensors@1.0-se-755   (  755) [004] ...1 158009.691714: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20175  sensors@1.0-se-755   (  755) [004] ...1 158009.711626: tracing_mark_write: E
20176   SensorService-1249  ( 1136) [006] ...1 158009.711797: tracing_mark_write: E
20177   SensorService-1249  ( 1136) [006] ...1 158009.711820: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20178  sensors@1.0-se-755   (  755) [004] ...1 158009.712056: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20179  sensors@1.0-se-755   (  755) [004] ...1 158009.734461: tracing_mark_write: E
20180   SensorService-1249  ( 1136) [006] ...1 158009.734556: tracing_mark_write: E
20181   SensorService-1249  ( 1136) [006] ...1 158009.734638: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20182  sensors@1.0-se-755   (  755) [004] ...1 158009.734680: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20183  sensors@1.0-se-755   (  755) [004] ...1 158009.754952: tracing_mark_write: E
20184   SensorService-1249  ( 1136) [006] ...1 158009.755163: tracing_mark_write: E
20185   SensorService-1249  ( 1136) [006] ...1 158009.755259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20186  sensors@1.0-se-755   (  755) [004] ...1 158009.755412: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20187  sensors@1.0-se-755   (  755) [004] ...1 158009.772632: tracing_mark_write: E
20188   SensorService-1249  ( 1136) [006] ...1 158009.772990: tracing_mark_write: E
20189   SensorService-1249  ( 1136) [006] ...1 158009.773153: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20190  sensors@1.0-se-755   (  755) [004] ...1 158009.773458: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20191  sensors@1.0-se-755   (  755) [004] ...1 158009.794381: tracing_mark_write: E
20192   SensorService-1249  ( 1136) [006] ...1 158009.794834: tracing_mark_write: E
20193   SensorService-1249  ( 1136) [006] ...1 158009.795036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20194  sensors@1.0-se-755   (  755) [004] ...1 158009.795427: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20195  sensors@1.0-se-755   (  755) [004] ...1 158009.812961: tracing_mark_write: E
20196   SensorService-1249  ( 1136) [006] ...1 158009.813523: tracing_mark_write: E
20197   SensorService-1249  ( 1136) [006] ...1 158009.813969: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20198  sensors@1.0-se-755   (  755) [004] ...1 158009.814464: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20199  sensors@1.0-se-755   (  755) [004] ...1 158009.834884: tracing_mark_write: E
20200   SensorService-1249  ( 1136) [006] ...1 158009.835427: tracing_mark_write: E
20201   SensorService-1249  ( 1136) [006] ...1 158009.835859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20202  sensors@1.0-se-755   (  755) [004] ...1 158009.836326: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20203  sensors@1.0-se-755   (  755) [005] ...1 158009.853379: tracing_mark_write: E
20204   SensorService-1249  ( 1136) [006] ...1 158009.853911: tracing_mark_write: E
20205   SensorService-1249  ( 1136) [006] ...1 158009.854178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20206  sensors@1.0-se-755   (  755) [005] ...1 158009.854712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20207  sensors@1.0-se-755   (  755) [005] ...1 158009.875039: tracing_mark_write: E
20208   SensorService-1249  ( 1136) [006] ...1 158009.875344: tracing_mark_write: E
20209   SensorService-1249  ( 1136) [006] ...1 158009.875460: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20210  sensors@1.0-se-755   (  755) [005] ...1 158009.875950: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20211  sensors@1.0-se-755   (  755) [005] ...1 158009.892995: tracing_mark_write: E
20212   SensorService-1249  ( 1136) [006] ...1 158009.893266: tracing_mark_write: E
20213   SensorService-1249  ( 1136) [006] ...1 158009.893359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20214  sensors@1.0-se-755   (  755) [005] ...1 158009.893642: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20215  sensors@1.0-se-755   (  755) [005] ...1 158009.913382: tracing_mark_write: E
20216   SensorService-1249  ( 1136) [006] ...1 158009.913575: tracing_mark_write: E
20217   SensorService-1249  ( 1136) [006] ...1 158009.913652: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20218  sensors@1.0-se-755   (  755) [005] ...1 158009.913842: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20219  sensors@1.0-se-755   (  755) [005] ...1 158009.932885: tracing_mark_write: E
20220   SensorService-1249  ( 1136) [006] ...1 158009.933065: tracing_mark_write: E
20221   SensorService-1249  ( 1136) [006] ...1 158009.933130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20222  sensors@1.0-se-755   (  755) [005] ...1 158009.933281: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20223  sensors@1.0-se-755   (  755) [005] ...1 158009.953310: tracing_mark_write: E
20224   SensorService-1249  ( 1136) [006] ...1 158009.953493: tracing_mark_write: E
20225   SensorService-1249  ( 1136) [006] ...1 158009.953557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20226  sensors@1.0-se-755   (  755) [005] ...1 158009.953698: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20227  sensors@1.0-se-755   (  755) [005] ...1 158009.973200: tracing_mark_write: E
20228   SensorService-1249  ( 1136) [006] ...1 158009.973377: tracing_mark_write: E
20229   SensorService-1249  ( 1136) [006] ...1 158009.973442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20230  sensors@1.0-se-755   (  755) [005] ...1 158009.973507: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20231  sensors@1.0-se-755   (  755) [005] ...1 158009.993201: tracing_mark_write: E
20232   SensorService-1249  ( 1136) [006] ...1 158009.993383: tracing_mark_write: E
20233   SensorService-1249  ( 1136) [006] ...1 158009.993446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20234  sensors@1.0-se-755   (  755) [005] ...1 158009.993599: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20235  sensors@1.0-se-755   (  755) [005] ...1 158010.013109: tracing_mark_write: E
20236   SensorService-1249  ( 1136) [006] ...1 158010.013300: tracing_mark_write: E
20237   SensorService-1249  ( 1136) [006] ...1 158010.013493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20238  sensors@1.0-se-755   (  755) [005] ...1 158010.013670: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20239  sensors@1.0-se-755   (  755) [005] ...1 158010.033566: tracing_mark_write: E
20240   SensorService-1249  ( 1136) [006] ...1 158010.033856: tracing_mark_write: E
20241   SensorService-1249  ( 1136) [006] ...1 158010.033960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20242  sensors@1.0-se-755   (  755) [005] ...1 158010.034176: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20243  sensors@1.0-se-755   (  755) [005] ...1 158010.053131: tracing_mark_write: E
20244   SensorService-1249  ( 1136) [006] ...1 158010.053419: tracing_mark_write: E
20245   SensorService-1249  ( 1136) [006] ...1 158010.053518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20246  sensors@1.0-se-755   (  755) [005] ...1 158010.053570: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20247  sensors@1.0-se-755   (  755) [004] ...1 158010.072051: tracing_mark_write: E
20248   SensorService-1249  ( 1136) [006] ...1 158010.072118: tracing_mark_write: E
20249   SensorService-1249  ( 1136) [006] ...1 158010.072195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20250  sensors@1.0-se-755   (  755) [004] ...1 158010.072234: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20251  sensors@1.0-se-755   (  755) [004] ...1 158010.093595: tracing_mark_write: E
20252   SensorService-1249  ( 1136) [006] ...1 158010.094027: tracing_mark_write: E
20253   SensorService-1249  ( 1136) [006] ...1 158010.094348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20254  sensors@1.0-se-755   (  755) [004] ...1 158010.094753: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20255  sensors@1.0-se-755   (  755) [004] ...1 158010.119054: tracing_mark_write: E
20256   SensorService-1249  ( 1136) [006] ...1 158010.119499: tracing_mark_write: E
20257   SensorService-1249  ( 1136) [006] ...1 158010.119760: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20258  sensors@1.0-se-755   (  755) [004] ...1 158010.119982: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20259  sensors@1.0-se-755   (  755) [004] ...1 158010.132714: tracing_mark_write: E
20260   SensorService-1249  ( 1136) [006] ...1 158010.133380: tracing_mark_write: E
20261   SensorService-1249  ( 1136) [006] ...1 158010.133662: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20262  sensors@1.0-se-755   (  755) [004] ...1 158010.134142: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20263  sensors@1.0-se-755   (  755) [004] ...1 158010.153519: tracing_mark_write: E
20264   SensorService-1249  ( 1136) [006] ...1 158010.154002: tracing_mark_write: E
20265   SensorService-1249  ( 1136) [006] ...1 158010.154314: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20266  sensors@1.0-se-755   (  755) [004] ...1 158010.154738: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20267  sensors@1.0-se-755   (  755) [004] ...1 158010.174470: tracing_mark_write: E
20268   SensorService-1249  ( 1136) [006] ...1 158010.174891: tracing_mark_write: E
20269   SensorService-1249  ( 1136) [006] ...1 158010.175138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20270  sensors@1.0-se-755   (  755) [004] ...1 158010.175520: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20271  sensors@1.0-se-755   (  755) [004] ...1 158010.192601: tracing_mark_write: E
20272   SensorService-1249  ( 1136) [006] ...1 158010.193066: tracing_mark_write: E
20273   SensorService-1249  ( 1136) [006] ...1 158010.193315: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20274  sensors@1.0-se-755   (  755) [004] ...1 158010.193699: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20275  sensors@1.0-se-755   (  755) [004] ...1 158010.213188: tracing_mark_write: E
20276   SensorService-1249  ( 1136) [006] ...1 158010.213894: tracing_mark_write: E
20277   SensorService-1249  ( 1136) [006] ...1 158010.214274: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20278  sensors@1.0-se-755   (  755) [004] ...1 158010.214864: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20279  sensors@1.0-se-755   (  755) [004] ...1 158010.234691: tracing_mark_write: E
20280   SensorService-1249  ( 1136) [006] ...1 158010.235090: tracing_mark_write: E
20281   SensorService-1249  ( 1136) [006] ...1 158010.235154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20282  sensors@1.0-se-755   (  755) [004] ...1 158010.235523: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20283  sensors@1.0-se-755   (  755) [004] ...1 158010.255902: tracing_mark_write: E
20284   SensorService-1249  ( 1136) [006] ...1 158010.256450: tracing_mark_write: E
20285   SensorService-1249  ( 1136) [006] ...1 158010.256615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20286  sensors@1.0-se-755   (  755) [004] ...1 158010.257127: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20287  sensors@1.0-se-755   (  755) [004] ...1 158010.275104: tracing_mark_write: E
20288   SensorService-1249  ( 1136) [006] ...1 158010.275755: tracing_mark_write: E
20289   SensorService-1249  ( 1136) [006] ...1 158010.276064: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20290  sensors@1.0-se-755   (  755) [004] ...1 158010.276640: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20291  sensors@1.0-se-755   (  755) [004] ...1 158010.294423: tracing_mark_write: E
20292   SensorService-1249  ( 1136) [006] ...1 158010.295145: tracing_mark_write: E
20293   SensorService-1249  ( 1136) [006] ...1 158010.295474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20294  sensors@1.0-se-755   (  755) [004] ...1 158010.296054: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20295  sensors@1.0-se-755   (  755) [004] ...1 158010.313949: tracing_mark_write: E
20296   SensorService-1249  ( 1136) [006] ...1 158010.314512: tracing_mark_write: E
20297   SensorService-1249  ( 1136) [006] ...1 158010.314813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20298  sensors@1.0-se-755   (  755) [004] ...1 158010.315289: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20299  sensors@1.0-se-755   (  755) [004] ...1 158010.334358: tracing_mark_write: E
20300   SensorService-1249  ( 1136) [006] ...1 158010.334960: tracing_mark_write: E
20301   SensorService-1249  ( 1136) [006] ...1 158010.335231: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20302  sensors@1.0-se-755   (  755) [004] ...1 158010.335698: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20303  sensors@1.0-se-755   (  755) [004] ...1 158010.353845: tracing_mark_write: E
20304   SensorService-1249  ( 1136) [006] ...1 158010.354399: tracing_mark_write: E
20305   SensorService-1249  ( 1136) [006] ...1 158010.354691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20306  sensors@1.0-se-755   (  755) [004] ...1 158010.355170: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20307  sensors@1.0-se-755   (  755) [004] ...1 158010.376336: tracing_mark_write: E
20308   SensorService-1249  ( 1136) [006] ...1 158010.377065: tracing_mark_write: E
20309   SensorService-1249  ( 1136) [006] ...1 158010.377395: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20310  sensors@1.0-se-755   (  755) [004] ...1 158010.378015: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20311  sensors@1.0-se-755   (  755) [004] ...1 158010.394690: tracing_mark_write: E
20312   SensorService-1249  ( 1136) [006] ...1 158010.395130: tracing_mark_write: E
20313   SensorService-1249  ( 1136) [006] ...1 158010.395219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20314  sensors@1.0-se-755   (  755) [004] ...1 158010.395598: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20315  sensors@1.0-se-755   (  755) [004] ...1 158010.414483: tracing_mark_write: E
20316   SensorService-1249  ( 1136) [006] ...1 158010.415037: tracing_mark_write: E
20317   SensorService-1249  ( 1136) [006] ...1 158010.415194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20318  sensors@1.0-se-755   (  755) [004] ...1 158010.415588: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20319  sensors@1.0-se-755   (  755) [004] ...1 158010.434838: tracing_mark_write: E
20320   SensorService-1249  ( 1136) [006] ...1 158010.435132: tracing_mark_write: E
20321   SensorService-1249  ( 1136) [006] ...1 158010.435222: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20322  sensors@1.0-se-755   (  755) [004] ...1 158010.435274: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20323  sensors@1.0-se-755   (  755) [004] ...1 158010.453028: tracing_mark_write: E
20324   SensorService-1249  ( 1136) [006] ...1 158010.453579: tracing_mark_write: E
20325   SensorService-1249  ( 1136) [006] ...1 158010.453741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20326  sensors@1.0-se-755   (  755) [004] ...1 158010.454090: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20327  sensors@1.0-se-755   (  755) [004] ...1 158010.475513: tracing_mark_write: E
20328   SensorService-1249  ( 1136) [006] ...1 158010.476073: tracing_mark_write: E
20329   SensorService-1249  ( 1136) [006] ...1 158010.476268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20330  sensors@1.0-se-755   (  755) [004] ...1 158010.476692: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20331  sensors@1.0-se-755   (  755) [004] ...1 158010.492814: tracing_mark_write: E
20332   SensorService-1249  ( 1136) [006] ...1 158010.493076: tracing_mark_write: E
20333   SensorService-1249  ( 1136) [006] ...1 158010.493169: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20334  sensors@1.0-se-755   (  755) [004] ...1 158010.493474: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20335  sensors@1.0-se-755   (  755) [004] ...1 158010.513156: tracing_mark_write: E
20336   SensorService-1249  ( 1136) [006] ...1 158010.513227: tracing_mark_write: E
20337   SensorService-1249  ( 1136) [006] ...1 158010.513433: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20338  sensors@1.0-se-755   (  755) [004] ...1 158010.513624: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20339  sensors@1.0-se-755   (  755) [004] ...1 158010.533540: tracing_mark_write: E
20340   SensorService-1249  ( 1136) [006] ...1 158010.533658: tracing_mark_write: E
20341   SensorService-1249  ( 1136) [006] ...1 158010.533800: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20342  sensors@1.0-se-755   (  755) [004] ...1 158010.533931: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20343  sensors@1.0-se-755   (  755) [004] ...1 158010.553583: tracing_mark_write: E
20344   SensorService-1249  ( 1136) [006] ...1 158010.553689: tracing_mark_write: E
20345   SensorService-1249  ( 1136) [006] ...1 158010.553842: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20346  sensors@1.0-se-755   (  755) [004] ...1 158010.553965: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20347  sensors@1.0-se-755   (  755) [004] ...1 158010.573300: tracing_mark_write: E
20348   SensorService-1249  ( 1136) [006] ...1 158010.573394: tracing_mark_write: E
20349   SensorService-1249  ( 1136) [006] ...1 158010.573531: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20350  sensors@1.0-se-755   (  755) [004] ...1 158010.573656: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20351  sensors@1.0-se-755   (  755) [004] ...1 158010.592743: tracing_mark_write: E
20352   SensorService-1249  ( 1136) [006] ...1 158010.592836: tracing_mark_write: E
20353   SensorService-1249  ( 1136) [006] ...1 158010.592942: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20354  sensors@1.0-se-755   (  755) [004] ...1 158010.593053: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20355  sensors@1.0-se-755   (  755) [004] ...1 158010.615838: tracing_mark_write: E
20356   SensorService-1249  ( 1136) [006] ...1 158010.616013: tracing_mark_write: E
20357   SensorService-1249  ( 1136) [006] ...1 158010.616193: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20358  sensors@1.0-se-755   (  755) [004] ...1 158010.616566: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20359  sensors@1.0-se-755   (  755) [004] ...1 158010.634594: tracing_mark_write: E
20360   SensorService-1249  ( 1136) [006] ...1 158010.634700: tracing_mark_write: E
20361   SensorService-1249  ( 1136) [006] ...1 158010.634822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20362  sensors@1.0-se-755   (  755) [004] ...1 158010.634938: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20363  sensors@1.0-se-755   (  755) [004] ...1 158010.653957: tracing_mark_write: E
20364   SensorService-1249  ( 1136) [006] ...1 158010.654060: tracing_mark_write: E
20365   SensorService-1249  ( 1136) [006] ...1 158010.654169: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20366  sensors@1.0-se-755   (  755) [004] ...1 158010.654705: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20367  sensors@1.0-se-755   (  755) [004] ...1 158010.675205: tracing_mark_write: E
20368   SensorService-1249  ( 1136) [006] ...1 158010.675283: tracing_mark_write: E
20369   SensorService-1249  ( 1136) [006] ...1 158010.675383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20370  sensors@1.0-se-755   (  755) [004] ...1 158010.675470: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20371  sensors@1.0-se-755   (  755) [004] ...1 158010.692910: tracing_mark_write: E
20372   SensorService-1249  ( 1136) [006] ...1 158010.692990: tracing_mark_write: E
20373   SensorService-1249  ( 1136) [006] ...1 158010.693080: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20374  sensors@1.0-se-755   (  755) [004] ...1 158010.693157: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20375  sensors@1.0-se-755   (  755) [004] ...1 158010.712718: tracing_mark_write: E
20376   SensorService-1249  ( 1136) [006] ...1 158010.712843: tracing_mark_write: E
20377   SensorService-1249  ( 1136) [006] ...1 158010.712973: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20378  sensors@1.0-se-755   (  755) [004] ...1 158010.713209: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20379  sensors@1.0-se-755   (  755) [004] ...1 158010.734715: tracing_mark_write: E
20380   SensorService-1249  ( 1136) [006] ...1 158010.734853: tracing_mark_write: E
20381   SensorService-1249  ( 1136) [006] ...1 158010.734988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20382  sensors@1.0-se-755   (  755) [004] ...1 158010.735219: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20383  sensors@1.0-se-755   (  755) [004] ...1 158010.753623: tracing_mark_write: E
20384   SensorService-1249  ( 1136) [006] ...1 158010.753757: tracing_mark_write: E
20385   SensorService-1249  ( 1136) [006] ...1 158010.753879: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20386  sensors@1.0-se-755   (  755) [004] ...1 158010.754083: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20387  sensors@1.0-se-755   (  755) [004] ...1 158010.773824: tracing_mark_write: E
20388   SensorService-1249  ( 1136) [006] ...1 158010.773965: tracing_mark_write: E
20389   SensorService-1249  ( 1136) [006] ...1 158010.774095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20390  sensors@1.0-se-755   (  755) [004] ...1 158010.774360: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20391  sensors@1.0-se-755   (  755) [004] ...1 158010.793600: tracing_mark_write: E
20392   SensorService-1249  ( 1136) [006] ...1 158010.793720: tracing_mark_write: E
20393   SensorService-1249  ( 1136) [006] ...1 158010.793833: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20394  sensors@1.0-se-755   (  755) [004] ...1 158010.794084: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20395  sensors@1.0-se-755   (  755) [004] ...1 158010.813853: tracing_mark_write: E
20396   SensorService-1249  ( 1136) [006] ...1 158010.813926: tracing_mark_write: E
20397   SensorService-1249  ( 1136) [006] ...1 158010.813987: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20398  sensors@1.0-se-755   (  755) [004] ...1 158010.814285: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20399  sensors@1.0-se-755   (  755) [004] ...1 158010.833922: tracing_mark_write: E
20400   SensorService-1249  ( 1136) [006] ...1 158010.834019: tracing_mark_write: E
20401   SensorService-1249  ( 1136) [006] ...1 158010.834110: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20402  sensors@1.0-se-755   (  755) [004] ...1 158010.834334: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20403  sensors@1.0-se-755   (  755) [004] ...1 158010.852677: tracing_mark_write: E
20404   SensorService-1249  ( 1136) [006] ...1 158010.852720: tracing_mark_write: E
20405   SensorService-1249  ( 1136) [006] ...1 158010.852764: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20406  sensors@1.0-se-755   (  755) [004] ...1 158010.852897: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20407  sensors@1.0-se-755   (  755) [004] ...1 158010.874325: tracing_mark_write: E
20408   SensorService-1249  ( 1136) [006] ...1 158010.874352: tracing_mark_write: E
20409   SensorService-1249  ( 1136) [006] ...1 158010.874378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20410  sensors@1.0-se-755   (  755) [004] ...1 158010.874558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20411  sensors@1.0-se-755   (  755) [004] ...1 158010.895703: tracing_mark_write: E
20412   SensorService-1249  ( 1136) [006] ...1 158010.895790: tracing_mark_write: E
20413   SensorService-1249  ( 1136) [006] ...1 158010.895855: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20414  sensors@1.0-se-755   (  755) [004] ...1 158010.896258: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20415  sensors@1.0-se-755   (  755) [004] ...1 158010.914398: tracing_mark_write: E
20416   SensorService-1249  ( 1136) [006] ...1 158010.914769: tracing_mark_write: E
20417   SensorService-1249  ( 1136) [006] ...1 158010.914878: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20418  sensors@1.0-se-755   (  755) [004] ...1 158010.914930: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20419  sensors@1.0-se-755   (  755) [004] ...1 158010.934449: tracing_mark_write: E
20420   SensorService-1249  ( 1136) [006] ...1 158010.934725: tracing_mark_write: E
20421   SensorService-1249  ( 1136) [006] ...1 158010.934791: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20422  sensors@1.0-se-755   (  755) [004] ...1 158010.934831: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20423  sensors@1.0-se-755   (  755) [004] ...1 158010.953717: tracing_mark_write: E
20424   SensorService-1249  ( 1136) [006] ...1 158010.953818: tracing_mark_write: E
20425   SensorService-1249  ( 1136) [006] ...1 158010.953915: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20426  sensors@1.0-se-755   (  755) [004] ...1 158010.953967: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20427  sensors@1.0-se-755   (  755) [004] ...1 158010.973886: tracing_mark_write: E
20428   SensorService-1249  ( 1136) [006] ...1 158010.974115: tracing_mark_write: E
20429   SensorService-1249  ( 1136) [006] ...1 158010.974225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20430  HwBinder:755_1-1247  (  755) [001] ...1 158010.974647: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20431  HwBinder:755_1-1247  (  755) [000] ...1 158010.996531: tracing_mark_write: E
20432   SensorService-1249  ( 1136) [006] ...1 158010.997123: tracing_mark_write: E
20433   SensorService-1249  ( 1136) [006] ...1 158010.997290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20434  HwBinder:755_1-1247  (  755) [000] ...1 158010.999230: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20435  HwBinder:755_1-1247  (  755) [000] ...1 158011.015449: tracing_mark_write: E
20436   SensorService-1249  ( 1136) [006] ...1 158011.015868: tracing_mark_write: E
20437   SensorService-1249  ( 1136) [006] ...1 158011.015982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20438  HwBinder:755_1-1247  (  755) [000] ...1 158011.016165: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20439  HwBinder:755_1-1247  (  755) [000] ...1 158011.033486: tracing_mark_write: E
20440   SensorService-1249  ( 1136) [006] ...1 158011.033591: tracing_mark_write: E
20441   SensorService-1249  ( 1136) [006] ...1 158011.033703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20442  HwBinder:755_1-1247  (  755) [000] ...1 158011.033960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20443  HwBinder:755_1-1247  (  755) [000] ...1 158011.053505: tracing_mark_write: E
20444   SensorService-1249  ( 1136) [006] ...1 158011.053623: tracing_mark_write: E
20445   SensorService-1249  ( 1136) [006] ...1 158011.053723: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20446  HwBinder:755_1-1247  (  755) [000] ...1 158011.054091: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20447  HwBinder:755_1-1247  (  755) [002] ...1 158011.072753: tracing_mark_write: E
20448   SensorService-1249  ( 1136) [006] ...1 158011.072837: tracing_mark_write: E
20449   SensorService-1249  ( 1136) [006] ...1 158011.072902: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20450  HwBinder:755_1-1247  (  755) [002] ...1 158011.072960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20451  HwBinder:755_1-1247  (  755) [000] ...1 158011.093918: tracing_mark_write: E
20452   SensorService-1249  ( 1136) [006] ...1 158011.094084: tracing_mark_write: E
20453   SensorService-1249  ( 1136) [006] ...1 158011.094154: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20454  HwBinder:755_1-1247  (  755) [000] ...1 158011.094411: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20455  HwBinder:755_1-1247  (  755) [000] ...1 158011.113581: tracing_mark_write: E
20456   SensorService-1249  ( 1136) [006] ...1 158011.113689: tracing_mark_write: E
20457   SensorService-1249  ( 1136) [006] ...1 158011.113791: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20458  HwBinder:755_1-1247  (  755) [000] ...1 158011.113865: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20459  HwBinder:755_1-1247  (  755) [000] ...1 158011.134041: tracing_mark_write: E
20460   SensorService-1249  ( 1136) [006] ...1 158011.134192: tracing_mark_write: E
20461   SensorService-1249  ( 1136) [006] ...1 158011.134268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20462  sensors@1.0-se-755   (  755) [004] ...1 158011.134339: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20463  sensors@1.0-se-755   (  755) [004] ...1 158011.153528: tracing_mark_write: E
20464   SensorService-1249  ( 1136) [006] ...1 158011.153649: tracing_mark_write: E
20465   SensorService-1249  ( 1136) [006] ...1 158011.153751: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20466  sensors@1.0-se-755   (  755) [004] ...1 158011.153805: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20467  sensors@1.0-se-755   (  755) [004] ...1 158011.173077: tracing_mark_write: E
20468   SensorService-1249  ( 1136) [006] ...1 158011.173182: tracing_mark_write: E
20469   SensorService-1249  ( 1136) [006] ...1 158011.173281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20470  sensors@1.0-se-755   (  755) [004] ...1 158011.173336: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20471  sensors@1.0-se-755   (  755) [004] ...1 158011.193508: tracing_mark_write: E
20472   SensorService-1249  ( 1136) [006] ...1 158011.193623: tracing_mark_write: E
20473   SensorService-1249  ( 1136) [006] ...1 158011.193723: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20474  sensors@1.0-se-755   (  755) [004] ...1 158011.193776: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20475  sensors@1.0-se-755   (  755) [004] ...1 158011.213029: tracing_mark_write: E
20476   SensorService-1249  ( 1136) [006] ...1 158011.213137: tracing_mark_write: E
20477   SensorService-1249  ( 1136) [006] ...1 158011.213238: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20478  sensors@1.0-se-755   (  755) [004] ...1 158011.213290: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20479  sensors@1.0-se-755   (  755) [004] ...1 158011.233061: tracing_mark_write: E
20480   SensorService-1249  ( 1136) [006] ...1 158011.233179: tracing_mark_write: E
20481   SensorService-1249  ( 1136) [006] ...1 158011.233283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20482  sensors@1.0-se-755   (  755) [004] ...1 158011.233339: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20483  sensors@1.0-se-755   (  755) [004] ...1 158011.254923: tracing_mark_write: E
20484   SensorService-1249  ( 1136) [006] ...1 158011.255046: tracing_mark_write: E
20485   SensorService-1249  ( 1136) [006] ...1 158011.255153: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20486  sensors@1.0-se-755   (  755) [004] ...1 158011.255206: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20487  sensors@1.0-se-755   (  755) [004] ...1 158011.274004: tracing_mark_write: E
20488   SensorService-1249  ( 1136) [006] ...1 158011.274102: tracing_mark_write: E
20489   SensorService-1249  ( 1136) [006] ...1 158011.274195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20490  sensors@1.0-se-755   (  755) [004] ...1 158011.274260: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20491  sensors@1.0-se-755   (  755) [004] ...1 158011.293180: tracing_mark_write: E
20492   SensorService-1249  ( 1136) [006] ...1 158011.293253: tracing_mark_write: E
20493   SensorService-1249  ( 1136) [006] ...1 158011.293326: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20494  HwBinder:755_1-1247  (  755) [000] ...1 158011.293623: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20495  HwBinder:755_1-1247  (  755) [001] ...1 158011.313091: tracing_mark_write: E
20496   SensorService-1249  ( 1136) [006] ...1 158011.313397: tracing_mark_write: E
20497   SensorService-1249  ( 1136) [006] ...1 158011.313464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20498  HwBinder:755_1-1247  (  755) [001] ...1 158011.313724: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20499  HwBinder:755_1-1247  (  755) [000] ...1 158011.332976: tracing_mark_write: E
20500   SensorService-1249  ( 1136) [006] ...1 158011.333060: tracing_mark_write: E
20501   SensorService-1249  ( 1136) [006] ...1 158011.333122: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20502  HwBinder:755_1-1247  (  755) [000] ...1 158011.333275: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20503  HwBinder:755_1-1247  (  755) [000] ...1 158011.353464: tracing_mark_write: E
20504   SensorService-1249  ( 1136) [006] ...1 158011.353585: tracing_mark_write: E
20505   SensorService-1249  ( 1136) [006] ...1 158011.353681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20506  HwBinder:755_1-1247  (  755) [000] ...1 158011.353850: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20507  HwBinder:755_1-1247  (  755) [000] ...1 158011.373325: tracing_mark_write: E
20508   SensorService-1249  ( 1136) [006] ...1 158011.373453: tracing_mark_write: E
20509   SensorService-1249  ( 1136) [006] ...1 158011.373544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20510  HwBinder:755_1-1247  (  755) [000] ...1 158011.373747: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20511  HwBinder:755_1-1247  (  755) [000] ...1 158011.393575: tracing_mark_write: E
20512   SensorService-1249  ( 1136) [006] ...1 158011.393711: tracing_mark_write: E
20513   SensorService-1249  ( 1136) [006] ...1 158011.393818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20514  HwBinder:755_1-1247  (  755) [000] ...1 158011.393902: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20515  HwBinder:755_1-1247  (  755) [001] ...1 158011.414845: tracing_mark_write: E
20516   SensorService-1249  ( 1136) [006] ...1 158011.415429: tracing_mark_write: E
20517   SensorService-1249  ( 1136) [006] ...1 158011.415524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20518  HwBinder:755_1-1247  (  755) [001] ...1 158011.415703: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20519  HwBinder:755_1-1247  (  755) [000] ...1 158011.434012: tracing_mark_write: E
20520   SensorService-1249  ( 1136) [006] ...1 158011.434123: tracing_mark_write: E
20521   SensorService-1249  ( 1136) [006] ...1 158011.434221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20522  HwBinder:755_1-1247  (  755) [000] ...1 158011.434441: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20523  HwBinder:755_1-1247  (  755) [000] ...1 158011.454270: tracing_mark_write: E
20524   SensorService-1249  ( 1136) [006] ...1 158011.454427: tracing_mark_write: E
20525   SensorService-1249  ( 1136) [006] ...1 158011.454505: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20526  HwBinder:755_1-1247  (  755) [000] ...1 158011.454667: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20527  HwBinder:755_1-1247  (  755) [000] ...1 158011.474461: tracing_mark_write: E
20528   SensorService-1249  ( 1136) [006] ...1 158011.474562: tracing_mark_write: E
20529   SensorService-1249  ( 1136) [006] ...1 158011.474585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20530  sensors@1.0-se-755   (  755) [004] ...1 158011.474660: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20531  sensors@1.0-se-755   (  755) [004] ...1 158011.494450: tracing_mark_write: E
20532   SensorService-1249  ( 1136) [006] ...1 158011.494522: tracing_mark_write: E
20533   SensorService-1249  ( 1136) [006] ...1 158011.494591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20534  sensors@1.0-se-755   (  755) [004] ...1 158011.494654: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20535  sensors@1.0-se-755   (  755) [004] ...1 158011.513850: tracing_mark_write: E
20536   SensorService-1249  ( 1136) [006] ...1 158011.513966: tracing_mark_write: E
20537   SensorService-1249  ( 1136) [006] ...1 158011.514098: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20538  sensors@1.0-se-755   (  755) [004] ...1 158011.514282: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20539  sensors@1.0-se-755   (  755) [005] ...1 158011.533702: tracing_mark_write: E
20540   SensorService-1249  ( 1136) [006] ...1 158011.534077: tracing_mark_write: E
20541   SensorService-1249  ( 1136) [006] ...1 158011.534316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20542  sensors@1.0-se-755   (  755) [005] ...1 158011.534503: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20543  sensors@1.0-se-755   (  755) [005] ...1 158011.554485: tracing_mark_write: E
20544   SensorService-1249  ( 1136) [006] ...1 158011.554780: tracing_mark_write: E
20545   SensorService-1249  ( 1136) [006] ...1 158011.554923: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20546  sensors@1.0-se-755   (  755) [005] ...1 158011.555041: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20547  sensors@1.0-se-755   (  755) [005] ...1 158011.574838: tracing_mark_write: E
20548   SensorService-1249  ( 1136) [006] ...1 158011.575090: tracing_mark_write: E
20549   SensorService-1249  ( 1136) [006] ...1 158011.575210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20550  sensors@1.0-se-755   (  755) [005] ...1 158011.575303: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20551  sensors@1.0-se-755   (  755) [005] ...1 158011.596342: tracing_mark_write: E
20552   SensorService-1249  ( 1136) [006] ...1 158011.597013: tracing_mark_write: E
20553   SensorService-1249  ( 1136) [006] ...1 158011.597280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20554  sensors@1.0-se-755   (  755) [005] ...1 158011.597421: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20555  sensors@1.0-se-755   (  755) [005] ...1 158011.615423: tracing_mark_write: E
20556   SensorService-1249  ( 1136) [006] ...1 158011.615884: tracing_mark_write: E
20557   SensorService-1249  ( 1136) [006] ...1 158011.616036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20558  sensors@1.0-se-755   (  755) [005] ...1 158011.616122: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20559  sensors@1.0-se-755   (  755) [004] ...1 158011.635101: tracing_mark_write: E
20560   SensorService-1249  ( 1136) [006] ...1 158011.635408: tracing_mark_write: E
20561   SensorService-1249  ( 1136) [006] ...1 158011.635565: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20562  sensors@1.0-se-755   (  755) [004] ...1 158011.635782: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20563  sensors@1.0-se-755   (  755) [004] ...1 158011.653705: tracing_mark_write: E
20564   SensorService-1249  ( 1136) [006] ...1 158011.653945: tracing_mark_write: E
20565   SensorService-1249  ( 1136) [006] ...1 158011.654045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20566  sensors@1.0-se-755   (  755) [004] ...1 158011.654286: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20567  sensors@1.0-se-755   (  755) [004] ...1 158011.673736: tracing_mark_write: E
20568   SensorService-1249  ( 1136) [006] ...1 158011.674036: tracing_mark_write: E
20569   SensorService-1249  ( 1136) [006] ...1 158011.674191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20570  sensors@1.0-se-755   (  755) [004] ...1 158011.674493: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20571  sensors@1.0-se-755   (  755) [004] ...1 158011.694411: tracing_mark_write: E
20572   SensorService-1249  ( 1136) [006] ...1 158011.694689: tracing_mark_write: E
20573   SensorService-1249  ( 1136) [006] ...1 158011.694826: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20574  sensors@1.0-se-755   (  755) [004] ...1 158011.695057: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20575  sensors@1.0-se-755   (  755) [004] ...1 158011.715880: tracing_mark_write: E
20576   SensorService-1249  ( 1136) [006] ...1 158011.716166: tracing_mark_write: E
20577   SensorService-1249  ( 1136) [006] ...1 158011.716289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20578  sensors@1.0-se-755   (  755) [004] ...1 158011.716655: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20579  sensors@1.0-se-755   (  755) [004] ...1 158011.735015: tracing_mark_write: E
20580   SensorService-1249  ( 1136) [006] ...1 158011.735401: tracing_mark_write: E
20581   SensorService-1249  ( 1136) [006] ...1 158011.735549: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20582  sensors@1.0-se-755   (  755) [004] ...1 158011.735853: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20583  sensors@1.0-se-755   (  755) [004] ...1 158011.754958: tracing_mark_write: E
20584   SensorService-1249  ( 1136) [006] ...1 158011.755306: tracing_mark_write: E
20585   SensorService-1249  ( 1136) [006] ...1 158011.755423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20586  sensors@1.0-se-755   (  755) [004] ...1 158011.755694: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20587  sensors@1.0-se-755   (  755) [004] ...1 158011.774381: tracing_mark_write: E
20588   SensorService-1249  ( 1136) [006] ...1 158011.774486: tracing_mark_write: E
20589   SensorService-1249  ( 1136) [006] ...1 158011.774585: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20590  sensors@1.0-se-755   (  755) [004] ...1 158011.774772: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20591  sensors@1.0-se-755   (  755) [004] ...1 158011.796151: tracing_mark_write: E
20592   SensorService-1249  ( 1136) [006] ...1 158011.796500: tracing_mark_write: E
20593   SensorService-1249  ( 1136) [006] ...1 158011.796753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20594  sensors@1.0-se-755   (  755) [004] ...1 158011.797137: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20595  sensors@1.0-se-755   (  755) [004] ...1 158011.814957: tracing_mark_write: E
20596   SensorService-1249  ( 1136) [006] ...1 158011.815394: tracing_mark_write: E
20597   SensorService-1249  ( 1136) [006] ...1 158011.815649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20598  sensors@1.0-se-755   (  755) [004] ...1 158011.816036: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20599  sensors@1.0-se-755   (  755) [004] ...1 158011.834677: tracing_mark_write: E
20600   SensorService-1249  ( 1136) [006] ...1 158011.835115: tracing_mark_write: E
20601   SensorService-1249  ( 1136) [006] ...1 158011.835378: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20602  sensors@1.0-se-755   (  755) [004] ...1 158011.835766: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20603  sensors@1.0-se-755   (  755) [004] ...1 158011.855503: tracing_mark_write: E
20604   SensorService-1249  ( 1136) [006] ...1 158011.856210: tracing_mark_write: E
20605   SensorService-1249  ( 1136) [006] ...1 158011.856542: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20606  sensors@1.0-se-755   (  755) [004] ...1 158011.857136: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20607  sensors@1.0-se-755   (  755) [004] ...1 158011.875447: tracing_mark_write: E
20608   SensorService-1249  ( 1136) [006] ...1 158011.876219: tracing_mark_write: E
20609   SensorService-1249  ( 1136) [006] ...1 158011.876599: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20610  sensors@1.0-se-755   (  755) [004] ...1 158011.877216: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20611  sensors@1.0-se-755   (  755) [004] ...1 158011.895495: tracing_mark_write: E
20612   SensorService-1249  ( 1136) [006] ...1 158011.896254: tracing_mark_write: E
20613   SensorService-1249  ( 1136) [006] ...1 158011.896617: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20614  sensors@1.0-se-755   (  755) [004] ...1 158011.897269: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20615  sensors@1.0-se-755   (  755) [004] ...1 158011.914345: tracing_mark_write: E
20616   SensorService-1249  ( 1136) [006] ...1 158011.914773: tracing_mark_write: E
20617   SensorService-1249  ( 1136) [006] ...1 158011.915024: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20618  sensors@1.0-se-755   (  755) [004] ...1 158011.915409: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20619  sensors@1.0-se-755   (  755) [004] ...1 158011.934495: tracing_mark_write: E
20620   SensorService-1249  ( 1136) [006] ...1 158011.934936: tracing_mark_write: E
20621   SensorService-1249  ( 1136) [006] ...1 158011.935191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20622  sensors@1.0-se-755   (  755) [004] ...1 158011.935579: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20623  sensors@1.0-se-755   (  755) [004] ...1 158011.954766: tracing_mark_write: E
20624   SensorService-1249  ( 1136) [006] ...1 158011.955201: tracing_mark_write: E
20625   SensorService-1249  ( 1136) [006] ...1 158011.955414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20626  sensors@1.0-se-755   (  755) [004] ...1 158011.955802: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20627  sensors@1.0-se-755   (  755) [004] ...1 158011.976381: tracing_mark_write: E
20628   SensorService-1249  ( 1136) [006] ...1 158011.976500: tracing_mark_write: E
20629   SensorService-1249  ( 1136) [006] ...1 158011.976611: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20630  sensors@1.0-se-755   (  755) [004] ...1 158011.976667: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20631  sensors@1.0-se-755   (  755) [004] ...1 158011.994241: tracing_mark_write: E
20632   SensorService-1249  ( 1136) [006] ...1 158011.994287: tracing_mark_write: E
20633   SensorService-1249  ( 1136) [006] ...1 158011.994340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20634  sensors@1.0-se-755   (  755) [004] ...1 158011.994524: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20635  sensors@1.0-se-755   (  755) [004] ...1 158012.014034: tracing_mark_write: E
20636   SensorService-1249  ( 1136) [006] ...1 158012.014115: tracing_mark_write: E
20637   SensorService-1249  ( 1136) [006] ...1 158012.014222: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20638  sensors@1.0-se-755   (  755) [004] ...1 158012.014273: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20639  sensors@1.0-se-755   (  755) [004] ...1 158012.034281: tracing_mark_write: E
20640   SensorService-1249  ( 1136) [006] ...1 158012.034389: tracing_mark_write: E
20641   SensorService-1249  ( 1136) [006] ...1 158012.034525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20642  sensors@1.0-se-755   (  755) [004] ...1 158012.034818: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20643      android.bg-1155  ( 1136) [007] ...1 158012.041735: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20644  memtrack@1.0-s-745   (  745) [007] ...1 158012.041863: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20645  memtrack@1.0-s-745   (  745) [007] ...1 158012.041885: tracing_mark_write: E
20646      android.bg-1155  ( 1136) [007] ...1 158012.041965: tracing_mark_write: E
20647      android.bg-1155  ( 1136) [007] ...1 158012.041981: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20648  memtrack@1.0-s-745   (  745) [007] ...1 158012.042028: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20649  memtrack@1.0-s-745   (  745) [007] ...1 158012.042174: tracing_mark_write: E
20650      android.bg-1155  ( 1136) [007] ...1 158012.042231: tracing_mark_write: E
20651      android.bg-1155  ( 1136) [007] ...1 158012.042244: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20652  memtrack@1.0-s-745   (  745) [007] ...1 158012.042290: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20653  memtrack@1.0-s-745   (  745) [007] ...1 158012.042326: tracing_mark_write: E
20654      android.bg-1155  ( 1136) [007] ...1 158012.042381: tracing_mark_write: E
20655      android.bg-1155  ( 1136) [007] ...1 158012.042394: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20656  memtrack@1.0-s-745   (  745) [007] ...1 158012.042439: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20657  memtrack@1.0-s-745   (  745) [007] ...1 158012.042447: tracing_mark_write: E
20658      android.bg-1155  ( 1136) [007] ...1 158012.042496: tracing_mark_write: E
20659      android.bg-1155  ( 1136) [007] ...1 158012.042508: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20660  memtrack@1.0-s-745   (  745) [007] ...1 158012.042550: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20661  memtrack@1.0-s-745   (  745) [007] ...1 158012.042560: tracing_mark_write: E
20662      android.bg-1155  ( 1136) [007] ...1 158012.042607: tracing_mark_write: E
20663  sensors@1.0-se-755   (  755) [004] ...1 158012.054252: tracing_mark_write: E
20664   SensorService-1249  ( 1136) [006] ...1 158012.054470: tracing_mark_write: E
20665   SensorService-1249  ( 1136) [006] ...1 158012.054558: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20666  sensors@1.0-se-755   (  755) [004] ...1 158012.054799: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20667  sensors@1.0-se-755   (  755) [004] ...1 158012.073527: tracing_mark_write: E
20668   SensorService-1249  ( 1136) [006] ...1 158012.073595: tracing_mark_write: E
20669   SensorService-1249  ( 1136) [006] ...1 158012.073665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20670  sensors@1.0-se-755   (  755) [004] ...1 158012.073712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20671  sensors@1.0-se-755   (  755) [005] ...1 158012.093438: tracing_mark_write: E
20672   SensorService-1249  ( 1136) [006] ...1 158012.093494: tracing_mark_write: E
20673   SensorService-1249  ( 1136) [006] ...1 158012.093546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20674  sensors@1.0-se-755   (  755) [005] ...1 158012.093582: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20675  sensors@1.0-se-755   (  755) [005] ...1 158012.113682: tracing_mark_write: E
20676   SensorService-1249  ( 1136) [006] ...1 158012.113738: tracing_mark_write: E
20677   SensorService-1249  ( 1136) [006] ...1 158012.113793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20678  sensors@1.0-se-755   (  755) [005] ...1 158012.113849: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20679  sensors@1.0-se-755   (  755) [004] ...1 158012.133635: tracing_mark_write: E
20680   SensorService-1249  ( 1136) [006] ...1 158012.133701: tracing_mark_write: E
20681   SensorService-1249  ( 1136) [006] ...1 158012.133753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20682  sensors@1.0-se-755   (  755) [004] ...1 158012.133788: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20683  sensors@1.0-se-755   (  755) [005] ...1 158012.153618: tracing_mark_write: E
20684   SensorService-1249  ( 1136) [006] ...1 158012.153678: tracing_mark_write: E
20685   SensorService-1249  ( 1136) [006] ...1 158012.153735: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20686  sensors@1.0-se-755   (  755) [005] ...1 158012.153772: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20687  sensors@1.0-se-755   (  755) [004] ...1 158012.173473: tracing_mark_write: E
20688   SensorService-1249  ( 1136) [006] ...1 158012.173538: tracing_mark_write: E
20689   SensorService-1249  ( 1136) [006] ...1 158012.173598: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20690  sensors@1.0-se-755   (  755) [004] ...1 158012.173633: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20691  sensors@1.0-se-755   (  755) [005] ...1 158012.193485: tracing_mark_write: E
20692   SensorService-1249  ( 1136) [006] ...1 158012.193542: tracing_mark_write: E
20693   SensorService-1249  ( 1136) [006] ...1 158012.193592: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20694  sensors@1.0-se-755   (  755) [005] ...1 158012.193628: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20695  sensors@1.0-se-755   (  755) [006] ...1 158012.213792: tracing_mark_write: E
20696   SensorService-1249  ( 1136) [001] ...1 158012.213876: tracing_mark_write: E
20697   SensorService-1249  ( 1136) [001] ...1 158012.213956: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20698  sensors@1.0-se-755   (  755) [006] ...1 158012.214013: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20699  sensors@1.0-se-755   (  755) [004] ...1 158012.233597: tracing_mark_write: E
20700   SensorService-1249  ( 1136) [001] ...1 158012.233666: tracing_mark_write: E
20701   SensorService-1249  ( 1136) [001] ...1 158012.233745: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20702  sensors@1.0-se-755   (  755) [004] ...1 158012.233896: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20703  sensors@1.0-se-755   (  755) [005] ...1 158012.254134: tracing_mark_write: E
20704   SensorService-1249  ( 1136) [001] ...1 158012.254297: tracing_mark_write: E
20705   SensorService-1249  ( 1136) [001] ...1 158012.254367: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20706  sensors@1.0-se-755   (  755) [005] ...1 158012.254421: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20707  sensors@1.0-se-755   (  755) [005] ...1 158012.273602: tracing_mark_write: E
20708   SensorService-1249  ( 1136) [001] ...1 158012.273675: tracing_mark_write: E
20709   SensorService-1249  ( 1136) [001] ...1 158012.273752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20710  sensors@1.0-se-755   (  755) [005] ...1 158012.273807: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20711  sensors@1.0-se-755   (  755) [005] ...1 158012.293650: tracing_mark_write: E
20712   SensorService-1249  ( 1136) [001] ...1 158012.293718: tracing_mark_write: E
20713   SensorService-1249  ( 1136) [001] ...1 158012.293790: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20714  sensors@1.0-se-755   (  755) [005] ...1 158012.293843: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20715  sensors@1.0-se-755   (  755) [006] ...1 158012.313616: tracing_mark_write: E
20716   SensorService-1249  ( 1136) [001] ...1 158012.313693: tracing_mark_write: E
20717   SensorService-1249  ( 1136) [001] ...1 158012.313779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20718  sensors@1.0-se-755   (  755) [006] ...1 158012.313834: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20719  sensors@1.0-se-755   (  755) [005] ...1 158012.333986: tracing_mark_write: E
20720   SensorService-1249  ( 1136) [001] ...1 158012.334199: tracing_mark_write: E
20721   SensorService-1249  ( 1136) [001] ...1 158012.334301: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20722  sensors@1.0-se-755   (  755) [005] ...1 158012.334391: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20723  sensors@1.0-se-755   (  755) [004] ...1 158012.353933: tracing_mark_write: E
20724   SensorService-1249  ( 1136) [001] ...1 158012.354004: tracing_mark_write: E
20725   SensorService-1249  ( 1136) [001] ...1 158012.354079: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20726  sensors@1.0-se-755   (  755) [004] ...1 158012.354232: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20727      android.bg-1155  ( 1136) [003] ...1 158012.357246: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20728  memtrack@1.0-s-745   (  745) [000] ...1 158012.357777: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20729  memtrack@1.0-s-745   (  745) [000] ...1 158012.357828: tracing_mark_write: E
20730      android.bg-1155  ( 1136) [001] ...1 158012.358213: tracing_mark_write: E
20731      android.bg-1155  ( 1136) [001] ...1 158012.358265: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20732  memtrack@1.0-s-745   (  745) [003] ...1 158012.358661: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20733  memtrack@1.0-s-745   (  745) [003] ...1 158012.358820: tracing_mark_write: E
20734      android.bg-1155  ( 1136) [000] ...1 158012.359184: tracing_mark_write: E
20735      android.bg-1155  ( 1136) [000] ...1 158012.359234: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20736  memtrack@1.0-s-745   (  745) [003] ...1 158012.359417: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20737  memtrack@1.0-s-745   (  745) [003] ...1 158012.359539: tracing_mark_write: E
20738      android.bg-1155  ( 1136) [000] ...1 158012.359688: tracing_mark_write: E
20739      android.bg-1155  ( 1136) [000] ...1 158012.359730: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20740  memtrack@1.0-s-745   (  745) [003] ...1 158012.359910: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20741  memtrack@1.0-s-745   (  745) [003] ...1 158012.359940: tracing_mark_write: E
20742      android.bg-1155  ( 1136) [000] ...1 158012.360081: tracing_mark_write: E
20743      android.bg-1155  ( 1136) [000] ...1 158012.360119: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
20744  memtrack@1.0-s-745   (  745) [003] ...1 158012.360287: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
20745  memtrack@1.0-s-745   (  745) [003] ...1 158012.360317: tracing_mark_write: E
20746      android.bg-1155  ( 1136) [000] ...1 158012.360457: tracing_mark_write: E
20747  sensors@1.0-se-755   (  755) [004] ...1 158012.373966: tracing_mark_write: E
20748   SensorService-1249  ( 1136) [001] ...1 158012.374303: tracing_mark_write: E
20749   SensorService-1249  ( 1136) [001] ...1 158012.374434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20750  sensors@1.0-se-755   (  755) [004] ...1 158012.374512: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20751  sensors@1.0-se-755   (  755) [004] ...1 158012.393655: tracing_mark_write: E
20752   SensorService-1249  ( 1136) [001] ...1 158012.393736: tracing_mark_write: E
20753   SensorService-1249  ( 1136) [001] ...1 158012.393834: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20754  sensors@1.0-se-755   (  755) [004] ...1 158012.393899: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20755  sensors@1.0-se-755   (  755) [006] ...1 158012.414484: tracing_mark_write: E
20756   SensorService-1249  ( 1136) [001] ...1 158012.414858: tracing_mark_write: E
20757   SensorService-1249  ( 1136) [001] ...1 158012.415104: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20758  sensors@1.0-se-755   (  755) [006] ...1 158012.415345: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20759  sensors@1.0-se-755   (  755) [006] ...1 158012.435081: tracing_mark_write: E
20760   SensorService-1249  ( 1136) [001] ...1 158012.436107: tracing_mark_write: E
20761   SensorService-1249  ( 1136) [001] ...1 158012.436431: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20762  sensors@1.0-se-755   (  755) [006] ...1 158012.436681: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20763  sensors@1.0-se-755   (  755) [006] ...1 158012.454576: tracing_mark_write: E
20764   SensorService-1249  ( 1136) [001] ...1 158012.454966: tracing_mark_write: E
20765   SensorService-1249  ( 1136) [001] ...1 158012.455214: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20766  sensors@1.0-se-755   (  755) [006] ...1 158012.455464: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20767  sensors@1.0-se-755   (  755) [006] ...1 158012.474703: tracing_mark_write: E
20768   SensorService-1249  ( 1136) [001] ...1 158012.475110: tracing_mark_write: E
20769   SensorService-1249  ( 1136) [001] ...1 158012.475338: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20770  sensors@1.0-se-755   (  755) [006] ...1 158012.475479: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20771  sensors@1.0-se-755   (  755) [006] ...1 158012.494632: tracing_mark_write: E
20772   SensorService-1249  ( 1136) [001] ...1 158012.495006: tracing_mark_write: E
20773   SensorService-1249  ( 1136) [001] ...1 158012.495228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20774  sensors@1.0-se-755   (  755) [006] ...1 158012.495483: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20775  sensors@1.0-se-755   (  755) [006] ...1 158012.514676: tracing_mark_write: E
20776   SensorService-1249  ( 1136) [001] ...1 158012.515035: tracing_mark_write: E
20777   SensorService-1249  ( 1136) [001] ...1 158012.515243: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20778  sensors@1.0-se-755   (  755) [006] ...1 158012.515375: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20779  sensors@1.0-se-755   (  755) [006] ...1 158012.535047: tracing_mark_write: E
20780   SensorService-1249  ( 1136) [001] ...1 158012.535604: tracing_mark_write: E
20781   SensorService-1249  ( 1136) [001] ...1 158012.535907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20782  sensors@1.0-se-755   (  755) [006] ...1 158012.536305: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20783  sensors@1.0-se-755   (  755) [006] ...1 158012.555319: tracing_mark_write: E
20784   SensorService-1249  ( 1136) [001] ...1 158012.555838: tracing_mark_write: E
20785   SensorService-1249  ( 1136) [001] ...1 158012.556210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20786  sensors@1.0-se-755   (  755) [006] ...1 158012.556724: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20787  sensors@1.0-se-755   (  755) [006] ...1 158012.576464: tracing_mark_write: E
20788   SensorService-1249  ( 1136) [001] ...1 158012.577015: tracing_mark_write: E
20789   SensorService-1249  ( 1136) [001] ...1 158012.577356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20790  sensors@1.0-se-755   (  755) [006] ...1 158012.577766: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20791  sensors@1.0-se-755   (  755) [006] ...1 158012.595077: tracing_mark_write: E
20792   SensorService-1249  ( 1136) [001] ...1 158012.595602: tracing_mark_write: E
20793   SensorService-1249  ( 1136) [001] ...1 158012.595936: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20794  sensors@1.0-se-755   (  755) [006] ...1 158012.596377: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20795  sensors@1.0-se-755   (  755) [006] ...1 158012.615835: tracing_mark_write: E
20796   SensorService-1249  ( 1136) [001] ...1 158012.617153: tracing_mark_write: E
20797   SensorService-1249  ( 1136) [001] ...1 158012.617508: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20798  sensors@1.0-se-755   (  755) [006] ...1 158012.617825: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20799  sensors@1.0-se-755   (  755) [006] ...1 158012.635254: tracing_mark_write: E
20800   SensorService-1249  ( 1136) [001] ...1 158012.635691: tracing_mark_write: E
20801   SensorService-1249  ( 1136) [001] ...1 158012.636032: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20802  sensors@1.0-se-755   (  755) [006] ...1 158012.636420: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20803  sensors@1.0-se-755   (  755) [006] ...1 158012.656608: tracing_mark_write: E
20804   SensorService-1249  ( 1136) [001] ...1 158012.658320: tracing_mark_write: E
20805   SensorService-1249  ( 1136) [001] ...1 158012.658816: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20806  sensors@1.0-se-755   (  755) [006] ...1 158012.659076: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20807  sensors@1.0-se-755   (  755) [006] ...1 158012.676563: tracing_mark_write: E
20808   SensorService-1249  ( 1136) [001] ...1 158012.678095: tracing_mark_write: E
20809   SensorService-1249  ( 1136) [001] ...1 158012.678526: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20810  sensors@1.0-se-755   (  755) [006] ...1 158012.678741: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20811  sensors@1.0-se-755   (  755) [006] ...1 158012.696564: tracing_mark_write: E
20812   SensorService-1249  ( 1136) [001] ...1 158012.698475: tracing_mark_write: E
20813   SensorService-1249  ( 1136) [001] ...1 158012.699081: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20814  sensors@1.0-se-755   (  755) [006] ...1 158012.699707: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20815  sensors@1.0-se-755   (  755) [006] ...1 158012.715594: tracing_mark_write: E
20816   SensorService-1249  ( 1136) [001] ...1 158012.716857: tracing_mark_write: E
20817   SensorService-1249  ( 1136) [001] ...1 158012.717219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20818  sensors@1.0-se-755   (  755) [006] ...1 158012.717570: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20819  sensors@1.0-se-755   (  755) [007] ...1 158012.736053: tracing_mark_write: E
20820   SensorService-1249  ( 1136) [001] ...1 158012.736955: tracing_mark_write: E
20821   SensorService-1249  ( 1136) [001] ...1 158012.737261: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20822  sensors@1.0-se-755   (  755) [007] ...1 158012.737438: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20823  sensors@1.0-se-755   (  755) [004] ...1 158012.756012: tracing_mark_write: E
20824   SensorService-1249  ( 1136) [001] ...1 158012.757236: tracing_mark_write: E
20825   SensorService-1249  ( 1136) [001] ...1 158012.757673: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20826  sensors@1.0-se-755   (  755) [004] ...1 158012.758040: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20827  sensors@1.0-se-755   (  755) [004] ...1 158012.775930: tracing_mark_write: E
20828   SensorService-1249  ( 1136) [001] ...1 158012.777117: tracing_mark_write: E
20829   SensorService-1249  ( 1136) [001] ...1 158012.777434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20830  sensors@1.0-se-755   (  755) [004] ...1 158012.777860: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20831  sensors@1.0-se-755   (  755) [004] ...1 158012.795987: tracing_mark_write: E
20832   SensorService-1249  ( 1136) [001] ...1 158012.797207: tracing_mark_write: E
20833   SensorService-1249  ( 1136) [001] ...1 158012.797514: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20834  sensors@1.0-se-755   (  755) [004] ...1 158012.797952: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20835  sensors@1.0-se-755   (  755) [004] ...1 158012.815428: tracing_mark_write: E
20836   SensorService-1249  ( 1136) [001] ...1 158012.816014: tracing_mark_write: E
20837   SensorService-1249  ( 1136) [001] ...1 158012.816469: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20838  sensors@1.0-se-755   (  755) [004] ...1 158012.816879: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20839  sensors@1.0-se-755   (  755) [004] ...1 158012.835389: tracing_mark_write: E
20840   SensorService-1249  ( 1136) [001] ...1 158012.835929: tracing_mark_write: E
20841   SensorService-1249  ( 1136) [001] ...1 158012.836196: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20842  sensors@1.0-se-755   (  755) [004] ...1 158012.836537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20843  sensors@1.0-se-755   (  755) [004] ...1 158012.854923: tracing_mark_write: E
20844   SensorService-1249  ( 1136) [001] ...1 158012.855323: tracing_mark_write: E
20845   SensorService-1249  ( 1136) [001] ...1 158012.855569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20846  sensors@1.0-se-755   (  755) [004] ...1 158012.855824: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20847  sensors@1.0-se-755   (  755) [004] ...1 158012.874595: tracing_mark_write: E
20848   SensorService-1249  ( 1136) [001] ...1 158012.874878: tracing_mark_write: E
20849   SensorService-1249  ( 1136) [001] ...1 158012.875066: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20850  sensors@1.0-se-755   (  755) [004] ...1 158012.875193: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20851  sensors@1.0-se-755   (  755) [004] ...1 158012.895398: tracing_mark_write: E
20852   SensorService-1249  ( 1136) [001] ...1 158012.895802: tracing_mark_write: E
20853   SensorService-1249  ( 1136) [001] ...1 158012.896048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20854  sensors@1.0-se-755   (  755) [004] ...1 158012.896193: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20855  sensors@1.0-se-755   (  755) [006] ...1 158012.914815: tracing_mark_write: E
20856   SensorService-1249  ( 1136) [001] ...1 158012.915229: tracing_mark_write: E
20857   SensorService-1249  ( 1136) [001] ...1 158012.915612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20858  sensors@1.0-se-755   (  755) [006] ...1 158012.915840: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20859  sensors@1.0-se-755   (  755) [006] ...1 158012.935963: tracing_mark_write: E
20860   SensorService-1249  ( 1136) [001] ...1 158012.936292: tracing_mark_write: E
20861   SensorService-1249  ( 1136) [001] ...1 158012.936627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20862  sensors@1.0-se-755   (  755) [006] ...1 158012.937041: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20863  sensors@1.0-se-755   (  755) [006] ...1 158012.955431: tracing_mark_write: E
20864   SensorService-1249  ( 1136) [001] ...1 158012.956714: tracing_mark_write: E
20865   SensorService-1249  ( 1136) [001] ...1 158012.957092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20866  sensors@1.0-se-755   (  755) [006] ...1 158012.957584: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20867  sensors@1.0-se-755   (  755) [006] ...1 158012.976141: tracing_mark_write: E
20868   SensorService-1249  ( 1136) [001] ...1 158012.976807: tracing_mark_write: E
20869   SensorService-1249  ( 1136) [001] ...1 158012.977236: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20870  sensors@1.0-se-755   (  755) [006] ...1 158012.978989: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20871  sensors@1.0-se-755   (  755) [004] ...1 158012.995956: tracing_mark_write: E
20872   SensorService-1249  ( 1136) [001] ...1 158012.996351: tracing_mark_write: E
20873   SensorService-1249  ( 1136) [001] ...1 158012.996725: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20874  sensors@1.0-se-755   (  755) [004] ...1 158012.997450: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20875  sensors@1.0-se-755   (  755) [004] ...1 158013.016704: tracing_mark_write: E
20876   SensorService-1249  ( 1136) [001] ...1 158013.017024: tracing_mark_write: E
20877   SensorService-1249  ( 1136) [001] ...1 158013.017335: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20878  sensors@1.0-se-755   (  755) [004] ...1 158013.019460: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20879  sensors@1.0-se-755   (  755) [004] ...1 158013.036623: tracing_mark_write: E
20880   SensorService-1249  ( 1136) [001] ...1 158013.036930: tracing_mark_write: E
20881   SensorService-1249  ( 1136) [001] ...1 158013.037234: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20882  sensors@1.0-se-755   (  755) [004] ...1 158013.038348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20883  sensors@1.0-se-755   (  755) [004] ...1 158013.055961: tracing_mark_write: E
20884   SensorService-1249  ( 1136) [001] ...1 158013.056205: tracing_mark_write: E
20885   SensorService-1249  ( 1136) [001] ...1 158013.056394: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20886  sensors@1.0-se-755   (  755) [004] ...1 158013.057251: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20887  sensors@1.0-se-755   (  755) [004] ...1 158013.075903: tracing_mark_write: E
20888   SensorService-1249  ( 1136) [001] ...1 158013.076430: tracing_mark_write: E
20889   SensorService-1249  ( 1136) [001] ...1 158013.076631: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20890  HwBinder:755_1-1247  (  755) [000] ...1 158013.078782: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20891  HwBinder:755_1-1247  (  755) [000] ...1 158013.096774: tracing_mark_write: E
20892   SensorService-1249  ( 1136) [001] ...1 158013.097119: tracing_mark_write: E
20893   SensorService-1249  ( 1136) [001] ...1 158013.097496: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20894  HwBinder:755_1-1247  (  755) [000] ...1 158013.098186: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20895  HwBinder:755_1-1247  (  755) [000] ...1 158013.117672: tracing_mark_write: E
20896   SensorService-1249  ( 1136) [001] ...1 158013.118353: tracing_mark_write: E
20897   SensorService-1249  ( 1136) [001] ...1 158013.118714: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20898  HwBinder:755_1-1247  (  755) [000] ...1 158013.119302: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20899  HwBinder:755_1-1247  (  755) [000] ...1 158013.136992: tracing_mark_write: E
20900   SensorService-1249  ( 1136) [001] ...1 158013.137195: tracing_mark_write: E
20901   SensorService-1249  ( 1136) [001] ...1 158013.137405: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20902  HwBinder:755_1-1247  (  755) [000] ...1 158013.137957: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20903  HwBinder:755_1-1247  (  755) [000] ...1 158013.157203: tracing_mark_write: E
20904   SensorService-1249  ( 1136) [001] ...1 158013.157912: tracing_mark_write: E
20905   SensorService-1249  ( 1136) [001] ...1 158013.158268: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20906  HwBinder:755_1-1247  (  755) [000] ...1 158013.158520: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20907  HwBinder:755_1-1247  (  755) [000] ...1 158013.175410: tracing_mark_write: E
20908   SensorService-1249  ( 1136) [001] ...1 158013.175561: tracing_mark_write: E
20909   SensorService-1249  ( 1136) [001] ...1 158013.175702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20910  HwBinder:755_1-1247  (  755) [000] ...1 158013.175960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20911  HwBinder:755_1-1247  (  755) [000] ...1 158013.197442: tracing_mark_write: E
20912   SensorService-1249  ( 1136) [001] ...1 158013.198081: tracing_mark_write: E
20913   SensorService-1249  ( 1136) [001] ...1 158013.198396: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20914  HwBinder:755_1-1247  (  755) [000] ...1 158013.198918: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20915  HwBinder:755_1-1247  (  755) [000] ...1 158013.216611: tracing_mark_write: E
20916   SensorService-1249  ( 1136) [001] ...1 158013.217002: tracing_mark_write: E
20917   SensorService-1249  ( 1136) [001] ...1 158013.217211: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20918  HwBinder:755_1-1247  (  755) [000] ...1 158013.217602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20919  HwBinder:755_1-1247  (  755) [000] ...1 158013.237309: tracing_mark_write: E
20920   SensorService-1249  ( 1136) [001] ...1 158013.237995: tracing_mark_write: E
20921   SensorService-1249  ( 1136) [001] ...1 158013.238398: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20922  HwBinder:755_1-1247  (  755) [000] ...1 158013.238912: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20923  HwBinder:755_1-1247  (  755) [003] ...1 158013.255493: tracing_mark_write: E
20924   SensorService-1249  ( 1136) [001] ...1 158013.255794: tracing_mark_write: E
20925   SensorService-1249  ( 1136) [001] ...1 158013.255932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20926  HwBinder:755_1-1247  (  755) [003] ...1 158013.256172: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20927  HwBinder:755_1-1247  (  755) [000] ...1 158013.276653: tracing_mark_write: E
20928   SensorService-1249  ( 1136) [001] ...1 158013.277107: tracing_mark_write: E
20929   SensorService-1249  ( 1136) [001] ...1 158013.277303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20930  HwBinder:755_1-1247  (  755) [000] ...1 158013.277853: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20931  HwBinder:755_1-1247  (  755) [000] ...1 158013.296816: tracing_mark_write: E
20932   SensorService-1249  ( 1136) [001] ...1 158013.297034: tracing_mark_write: E
20933   SensorService-1249  ( 1136) [001] ...1 158013.297232: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20934  HwBinder:755_1-1247  (  755) [000] ...1 158013.297591: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20935  HwBinder:755_1-1247  (  755) [000] ...1 158013.317272: tracing_mark_write: E
20936   SensorService-1249  ( 1136) [001] ...1 158013.317714: tracing_mark_write: E
20937   SensorService-1249  ( 1136) [001] ...1 158013.318095: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20938  HwBinder:755_1-1247  (  755) [000] ...1 158013.318678: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20939  HwBinder:755_1-1247  (  755) [003] ...1 158013.336275: tracing_mark_write: E
20940   SensorService-1249  ( 1136) [001] ...1 158013.336626: tracing_mark_write: E
20941   SensorService-1249  ( 1136) [001] ...1 158013.337026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20942  HwBinder:755_1-1247  (  755) [003] ...1 158013.337739: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20943  HwBinder:755_1-1247  (  755) [002] ...1 158013.355321: tracing_mark_write: E
20944   SensorService-1249  ( 1136) [001] ...1 158013.355465: tracing_mark_write: E
20945   SensorService-1249  ( 1136) [001] ...1 158013.355649: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20946  HwBinder:755_1-1247  (  755) [002] ...1 158013.355827: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20947  HwBinder:755_1-1247  (  755) [004] ...1 158013.374687: tracing_mark_write: E
20948   SensorService-1249  ( 1136) [001] ...1 158013.374787: tracing_mark_write: E
20949   SensorService-1249  ( 1136) [001] ...1 158013.374906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20950  HwBinder:755_1-1247  (  755) [004] ...1 158013.374984: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20951  HwBinder:755_1-1247  (  755) [002] ...1 158013.395285: tracing_mark_write: E
20952   SensorService-1249  ( 1136) [001] ...1 158013.395369: tracing_mark_write: E
20953   SensorService-1249  ( 1136) [001] ...1 158013.395458: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20954  HwBinder:755_1-1247  (  755) [002] ...1 158013.395607: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20955  HwBinder:755_1-1247  (  755) [002] ...1 158013.414973: tracing_mark_write: E
20956   SensorService-1249  ( 1136) [001] ...1 158013.415068: tracing_mark_write: E
20957   SensorService-1249  ( 1136) [001] ...1 158013.415162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20958  HwBinder:755_1-1247  (  755) [002] ...1 158013.415324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20959  HwBinder:755_1-1247  (  755) [000] ...1 158013.436917: tracing_mark_write: E
20960   SensorService-1249  ( 1136) [001] ...1 158013.437191: tracing_mark_write: E
20961   SensorService-1249  ( 1136) [001] ...1 158013.437307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20962  HwBinder:755_1-1247  (  755) [000] ...1 158013.437869: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20963  HwBinder:755_1-1247  (  755) [003] ...1 158013.459420: tracing_mark_write: E
20964   SensorService-1249  ( 1136) [001] ...1 158013.459544: tracing_mark_write: E
20965   SensorService-1249  ( 1136) [001] ...1 158013.459671: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20966  HwBinder:755_1-1247  (  755) [003] ...1 158013.460019: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20967  HwBinder:755_1-1247  (  755) [000] ...1 158013.475762: tracing_mark_write: E
20968   SensorService-1249  ( 1136) [001] ...1 158013.475881: tracing_mark_write: E
20969   SensorService-1249  ( 1136) [001] ...1 158013.476020: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20970  HwBinder:755_1-1247  (  755) [000] ...1 158013.476101: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20971  HwBinder:755_1-1247  (  755) [000] ...1 158013.496151: tracing_mark_write: E
20972   SensorService-1249  ( 1136) [001] ...1 158013.496327: tracing_mark_write: E
20973   SensorService-1249  ( 1136) [001] ...1 158013.496539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20974  HwBinder:755_1-1247  (  755) [000] ...1 158013.496641: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20975  HwBinder:755_1-1247  (  755) [002] ...1 158013.516180: tracing_mark_write: E
20976   SensorService-1249  ( 1136) [001] ...1 158013.516562: tracing_mark_write: E
20977   SensorService-1249  ( 1136) [001] ...1 158013.516787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20978  HwBinder:755_1-1247  (  755) [002] ...1 158013.516924: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20979  HwBinder:755_1-1247  (  755) [003] ...1 158013.536552: tracing_mark_write: E
20980   SensorService-1249  ( 1136) [001] ...1 158013.536957: tracing_mark_write: E
20981   SensorService-1249  ( 1136) [001] ...1 158013.537172: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20982  HwBinder:755_1-1247  (  755) [003] ...1 158013.537627: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20983  HwBinder:755_1-1247  (  755) [000] ...1 158013.555769: tracing_mark_write: E
20984   SensorService-1249  ( 1136) [001] ...1 158013.555922: tracing_mark_write: E
20985   SensorService-1249  ( 1136) [001] ...1 158013.556078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20986  HwBinder:755_1-1247  (  755) [000] ...1 158013.556171: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20987  HwBinder:755_1-1247  (  755) [000] ...1 158013.576448: tracing_mark_write: E
20988   SensorService-1249  ( 1136) [001] ...1 158013.576598: tracing_mark_write: E
20989   SensorService-1249  ( 1136) [001] ...1 158013.576762: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20990  HwBinder:755_1-1247  (  755) [000] ...1 158013.576876: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20991  HwBinder:755_1-1247  (  755) [001] ...1 158013.596897: tracing_mark_write: E
20992   SensorService-1249  ( 1136) [002] ...1 158013.597453: tracing_mark_write: E
20993   SensorService-1249  ( 1136) [002] ...1 158013.597704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20994  HwBinder:755_1-1247  (  755) [001] ...1 158013.597819: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20995  HwBinder:755_1-1247  (  755) [000] ...1 158013.617675: tracing_mark_write: E
20996   SensorService-1249  ( 1136) [002] ...1 158013.618171: tracing_mark_write: E
20997   SensorService-1249  ( 1136) [002] ...1 158013.618374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
20998  HwBinder:755_1-1247  (  755) [000] ...1 158013.618519: tracing_mark_write: B|755|HIDL::ISensors::poll::server
20999  HwBinder:755_1-1247  (  755) [000] ...1 158013.635864: tracing_mark_write: E
21000   SensorService-1249  ( 1136) [002] ...1 158013.636019: tracing_mark_write: E
21001   SensorService-1249  ( 1136) [002] ...1 158013.636188: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21002  HwBinder:755_1-1247  (  755) [000] ...1 158013.636290: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21003  HwBinder:755_1-1247  (  755) [000] ...1 158013.655501: tracing_mark_write: E
21004   SensorService-1249  ( 1136) [002] ...1 158013.656174: tracing_mark_write: E
21005   SensorService-1249  ( 1136) [002] ...1 158013.656346: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21006  HwBinder:755_1-1247  (  755) [000] ...1 158013.656618: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21007  HwBinder:755_1-1247  (  755) [000] ...1 158013.676544: tracing_mark_write: E
21008   SensorService-1249  ( 1136) [002] ...1 158013.676999: tracing_mark_write: E
21009   SensorService-1249  ( 1136) [002] ...1 158013.677206: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21010  HwBinder:755_1-1247  (  755) [000] ...1 158013.677329: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21011  HwBinder:755_1-1247  (  755) [001] ...1 158013.695576: tracing_mark_write: E
21012   SensorService-1249  ( 1136) [002] ...1 158013.695987: tracing_mark_write: E
21013   SensorService-1249  ( 1136) [002] ...1 158013.696151: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21014  HwBinder:755_1-1247  (  755) [001] ...1 158013.696252: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21015  HwBinder:755_1-1247  (  755) [001] ...1 158013.715761: tracing_mark_write: E
21016   SensorService-1249  ( 1136) [002] ...1 158013.715914: tracing_mark_write: E
21017   SensorService-1249  ( 1136) [002] ...1 158013.716107: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21018  HwBinder:755_1-1247  (  755) [001] ...1 158013.716876: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21019  HwBinder:755_1-1247  (  755) [001] ...1 158013.735996: tracing_mark_write: E
21020   SensorService-1249  ( 1136) [002] ...1 158013.736160: tracing_mark_write: E
21021   SensorService-1249  ( 1136) [002] ...1 158013.736340: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21022  HwBinder:755_1-1247  (  755) [001] ...1 158013.736685: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21023  HwBinder:755_1-1247  (  755) [001] ...1 158013.755984: tracing_mark_write: E
21024   SensorService-1249  ( 1136) [002] ...1 158013.756344: tracing_mark_write: E
21025   SensorService-1249  ( 1136) [002] ...1 158013.756520: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21026  HwBinder:755_1-1247  (  755) [001] ...1 158013.756636: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21027  HwBinder:755_1-1247  (  755) [001] ...1 158013.776872: tracing_mark_write: E
21028   SensorService-1249  ( 1136) [002] ...1 158013.777300: tracing_mark_write: E
21029   SensorService-1249  ( 1136) [002] ...1 158013.777493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21030  HwBinder:755_1-1247  (  755) [001] ...1 158013.777643: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21031  HwBinder:755_1-1247  (  755) [001] ...1 158013.796541: tracing_mark_write: E
21032   SensorService-1249  ( 1136) [002] ...1 158013.796727: tracing_mark_write: E
21033   SensorService-1249  ( 1136) [002] ...1 158013.796936: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21034  HwBinder:755_1-1247  (  755) [001] ...1 158013.797434: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21035  HwBinder:755_1-1247  (  755) [000] ...1 158013.817332: tracing_mark_write: E
21036   SensorService-1249  ( 1136) [002] ...1 158013.817627: tracing_mark_write: E
21037   SensorService-1249  ( 1136) [002] ...1 158013.817827: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21038  HwBinder:755_1-1247  (  755) [000] ...1 158013.818224: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21039  HwBinder:755_1-1247  (  755) [001] ...1 158013.839718: tracing_mark_write: E
21040   SensorService-1249  ( 1136) [002] ...1 158013.839954: tracing_mark_write: E
21041   SensorService-1249  ( 1136) [002] ...1 158013.840191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21042  HwBinder:755_1-1247  (  755) [001] ...1 158013.840671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21043  HwBinder:755_1-1247  (  755) [001] ...1 158013.856409: tracing_mark_write: E
21044   SensorService-1249  ( 1136) [002] ...1 158013.856976: tracing_mark_write: E
21045   SensorService-1249  ( 1136) [002] ...1 158013.857179: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21046  HwBinder:755_1-1247  (  755) [001] ...1 158013.857648: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21047  HwBinder:755_1-1247  (  755) [001] ...1 158013.876224: tracing_mark_write: E
21048   SensorService-1249  ( 1136) [002] ...1 158013.876373: tracing_mark_write: E
21049   SensorService-1249  ( 1136) [002] ...1 158013.876529: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21050  HwBinder:755_1-1247  (  755) [001] ...1 158013.876635: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21051  HwBinder:755_1-1247  (  755) [000] ...1 158013.895339: tracing_mark_write: E
21052   SensorService-1249  ( 1136) [002] ...1 158013.895457: tracing_mark_write: E
21053   SensorService-1249  ( 1136) [002] ...1 158013.895582: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21054  HwBinder:755_1-1247  (  755) [000] ...1 158013.895657: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21055  HwBinder:755_1-1247  (  755) [001] ...1 158013.915853: tracing_mark_write: E
21056   SensorService-1249  ( 1136) [002] ...1 158013.915976: tracing_mark_write: E
21057   SensorService-1249  ( 1136) [002] ...1 158013.916108: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21058  HwBinder:755_1-1247  (  755) [001] ...1 158013.916233: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21059  HwBinder:755_1-1247  (  755) [001] ...1 158013.935986: tracing_mark_write: E
21060   SensorService-1249  ( 1136) [002] ...1 158013.936171: tracing_mark_write: E
21061   SensorService-1249  ( 1136) [002] ...1 158013.936354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21062  HwBinder:755_1-1247  (  755) [001] ...1 158013.936715: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21063  HwBinder:755_1-1247  (  755) [001] ...1 158013.955689: tracing_mark_write: E
21064   SensorService-1249  ( 1136) [002] ...1 158013.955963: tracing_mark_write: E
21065   SensorService-1249  ( 1136) [002] ...1 158013.956137: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21066  HwBinder:755_1-1247  (  755) [001] ...1 158013.956385: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21067  HwBinder:755_1-1247  (  755) [002] ...1 158013.975893: tracing_mark_write: E
21068   SensorService-1249  ( 1136) [000] ...1 158013.976082: tracing_mark_write: E
21069   SensorService-1249  ( 1136) [000] ...1 158013.976289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21070  HwBinder:755_1-1247  (  755) [002] ...1 158013.976393: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21071  HwBinder:755_1-1247  (  755) [002] ...1 158013.996889: tracing_mark_write: E
21072   SensorService-1249  ( 1136) [000] ...1 158013.997609: tracing_mark_write: E
21073   SensorService-1249  ( 1136) [000] ...1 158013.997993: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21074  HwBinder:755_1-1247  (  755) [002] ...1 158013.998505: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21075  HwBinder:755_1-1247  (  755) [001] ...1 158014.017761: tracing_mark_write: E
21076   SensorService-1249  ( 1136) [000] ...1 158014.018359: tracing_mark_write: E
21077   SensorService-1249  ( 1136) [000] ...1 158014.018575: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21078  HwBinder:755_1-1247  (  755) [001] ...1 158014.018821: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21079  HwBinder:755_1-1247  (  755) [001] ...1 158014.038291: tracing_mark_write: E
21080   SensorService-1249  ( 1136) [000] ...1 158014.038923: tracing_mark_write: E
21081   SensorService-1249  ( 1136) [000] ...1 158014.039311: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21082  HwBinder:755_1-1247  (  755) [001] ...1 158014.039757: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21083  HwBinder:755_1-1247  (  755) [000] ...1 158014.057496: tracing_mark_write: E
21084   SensorService-1249  ( 1136) [002] ...1 158014.058116: tracing_mark_write: E
21085   SensorService-1249  ( 1136) [002] ...1 158014.058438: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21086  HwBinder:755_1-1247  (  755) [000] ...1 158014.058613: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21087  HwBinder:755_1-1247  (  755) [000] ...1 158014.075374: tracing_mark_write: E
21088   SensorService-1249  ( 1136) [002] ...1 158014.075459: tracing_mark_write: E
21089   SensorService-1249  ( 1136) [002] ...1 158014.075556: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21090  HwBinder:755_1-1247  (  755) [000] ...1 158014.075613: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21091  HwBinder:755_1-1247  (  755) [000] ...1 158014.097564: tracing_mark_write: E
21092   SensorService-1249  ( 1136) [002] ...1 158014.097779: tracing_mark_write: E
21093   SensorService-1249  ( 1136) [002] ...1 158014.097890: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21094  HwBinder:755_1-1247  (  755) [000] ...1 158014.098060: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21095  HwBinder:755_1-1247  (  755) [000] ...1 158014.118571: tracing_mark_write: E
21096   SensorService-1249  ( 1136) [002] ...1 158014.119019: tracing_mark_write: E
21097   SensorService-1249  ( 1136) [002] ...1 158014.119336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21098  HwBinder:755_1-1247  (  755) [000] ...1 158014.119581: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21099  HwBinder:755_1-1247  (  755) [000] ...1 158014.138593: tracing_mark_write: E
21100   SensorService-1249  ( 1136) [002] ...1 158014.139176: tracing_mark_write: E
21101   SensorService-1249  ( 1136) [002] ...1 158014.139459: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21102  HwBinder:755_1-1247  (  755) [000] ...1 158014.139948: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21103  HwBinder:755_1-1247  (  755) [001] ...1 158014.157202: tracing_mark_write: E
21104   SensorService-1249  ( 1136) [002] ...1 158014.157762: tracing_mark_write: E
21105   SensorService-1249  ( 1136) [002] ...1 158014.157971: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21106  HwBinder:755_1-1247  (  755) [001] ...1 158014.158447: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21107  HwBinder:755_1-1247  (  755) [001] ...1 158014.177460: tracing_mark_write: E
21108   SensorService-1249  ( 1136) [002] ...1 158014.178069: tracing_mark_write: E
21109   SensorService-1249  ( 1136) [002] ...1 158014.178354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21110  HwBinder:755_1-1247  (  755) [001] ...1 158014.178842: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21111  HwBinder:755_1-1247  (  755) [001] ...1 158014.199383: tracing_mark_write: E
21112   SensorService-1249  ( 1136) [002] ...1 158014.199890: tracing_mark_write: E
21113   SensorService-1249  ( 1136) [002] ...1 158014.200138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21114  HwBinder:755_1-1247  (  755) [001] ...1 158014.200266: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21115  HwBinder:755_1-1247  (  755) [001] ...1 158014.218075: tracing_mark_write: E
21116   SensorService-1249  ( 1136) [002] ...1 158014.218574: tracing_mark_write: E
21117   SensorService-1249  ( 1136) [002] ...1 158014.218796: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21118  HwBinder:755_1-1247  (  755) [001] ...1 158014.219176: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21119  HwBinder:755_1-1247  (  755) [000] ...1 158014.238096: tracing_mark_write: E
21120   SensorService-1249  ( 1136) [002] ...1 158014.238277: tracing_mark_write: E
21121   SensorService-1249  ( 1136) [002] ...1 158014.238434: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21122  HwBinder:755_1-1247  (  755) [000] ...1 158014.238672: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21123  HwBinder:755_1-1247  (  755) [000] ...1 158014.259260: tracing_mark_write: E
21124   SensorService-1249  ( 1136) [002] ...1 158014.259776: tracing_mark_write: E
21125   SensorService-1249  ( 1136) [002] ...1 158014.260033: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21126  HwBinder:755_1-1247  (  755) [000] ...1 158014.260144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21127  HwBinder:755_1-1247  (  755) [000] ...1 158014.277517: tracing_mark_write: E
21128   SensorService-1249  ( 1136) [002] ...1 158014.277858: tracing_mark_write: E
21129   SensorService-1249  ( 1136) [002] ...1 158014.278126: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21130  HwBinder:755_1-1247  (  755) [000] ...1 158014.278540: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21131  HwBinder:755_1-1247  (  755) [000] ...1 158014.297079: tracing_mark_write: E
21132   SensorService-1249  ( 1136) [002] ...1 158014.297280: tracing_mark_write: E
21133   SensorService-1249  ( 1136) [002] ...1 158014.297506: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21134  HwBinder:755_1-1247  (  755) [000] ...1 158014.297817: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21135  HwBinder:755_1-1247  (  755) [000] ...1 158014.317046: tracing_mark_write: E
21136   SensorService-1249  ( 1136) [002] ...1 158014.317323: tracing_mark_write: E
21137   SensorService-1249  ( 1136) [002] ...1 158014.317663: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21138  HwBinder:755_1-1247  (  755) [000] ...1 158014.318092: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21139  HwBinder:755_1-1247  (  755) [000] ...1 158014.338321: tracing_mark_write: E
21140   SensorService-1249  ( 1136) [002] ...1 158014.338788: tracing_mark_write: E
21141   SensorService-1249  ( 1136) [002] ...1 158014.339072: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21142  HwBinder:755_1-1247  (  755) [000] ...1 158014.339497: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21143  HwBinder:755_1-1247  (  755) [000] ...1 158014.357059: tracing_mark_write: E
21144   SensorService-1249  ( 1136) [002] ...1 158014.357644: tracing_mark_write: E
21145   SensorService-1249  ( 1136) [002] ...1 158014.357819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21146  HwBinder:755_1-1247  (  755) [000] ...1 158014.358281: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21147  HwBinder:755_1-1247  (  755) [000] ...1 158014.376982: tracing_mark_write: E
21148   SensorService-1249  ( 1136) [002] ...1 158014.377177: tracing_mark_write: E
21149   SensorService-1249  ( 1136) [002] ...1 158014.377382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21150  HwBinder:755_1-1247  (  755) [000] ...1 158014.377794: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21151  HwBinder:755_1-1247  (  755) [000] ...1 158014.397041: tracing_mark_write: E
21152   SensorService-1249  ( 1136) [002] ...1 158014.397406: tracing_mark_write: E
21153   SensorService-1249  ( 1136) [002] ...1 158014.397666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21154  HwBinder:755_1-1247  (  755) [000] ...1 158014.398057: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21155  HwBinder:755_1-1247  (  755) [000] ...1 158014.417015: tracing_mark_write: E
21156   SensorService-1249  ( 1136) [002] ...1 158014.417229: tracing_mark_write: E
21157   SensorService-1249  ( 1136) [002] ...1 158014.417472: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21158  HwBinder:755_1-1247  (  755) [000] ...1 158014.417922: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21159  HwBinder:755_1-1247  (  755) [000] ...1 158014.436252: tracing_mark_write: E
21160   SensorService-1249  ( 1136) [002] ...1 158014.436447: tracing_mark_write: E
21161   SensorService-1249  ( 1136) [002] ...1 158014.436532: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21162  HwBinder:755_1-1247  (  755) [000] ...1 158014.436703: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21163  HwBinder:755_1-1247  (  755) [000] ...1 158014.457262: tracing_mark_write: E
21164   SensorService-1249  ( 1136) [002] ...1 158014.457518: tracing_mark_write: E
21165   SensorService-1249  ( 1136) [002] ...1 158014.457862: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21166  HwBinder:755_1-1247  (  755) [000] ...1 158014.458110: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21167  HwBinder:755_1-1247  (  755) [001] ...1 158014.476171: tracing_mark_write: E
21168   SensorService-1249  ( 1136) [002] ...1 158014.476260: tracing_mark_write: E
21169   SensorService-1249  ( 1136) [002] ...1 158014.476348: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21170  HwBinder:755_1-1247  (  755) [001] ...1 158014.476557: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21171  HwBinder:755_1-1247  (  755) [000] ...1 158014.495789: tracing_mark_write: E
21172   SensorService-1249  ( 1136) [002] ...1 158014.495906: tracing_mark_write: E
21173   SensorService-1249  ( 1136) [002] ...1 158014.496010: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21174  HwBinder:755_1-1247  (  755) [000] ...1 158014.496069: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21175  HwBinder:755_1-1247  (  755) [000] ...1 158014.516355: tracing_mark_write: E
21176   SensorService-1249  ( 1136) [002] ...1 158014.516499: tracing_mark_write: E
21177   SensorService-1249  ( 1136) [002] ...1 158014.516694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21178  HwBinder:755_1-1247  (  755) [000] ...1 158014.516857: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21179  HwBinder:755_1-1247  (  755) [000] ...1 158014.539353: tracing_mark_write: E
21180   SensorService-1249  ( 1136) [002] ...1 158014.539634: tracing_mark_write: E
21181   SensorService-1249  ( 1136) [002] ...1 158014.539946: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21182  HwBinder:755_1-1247  (  755) [000] ...1 158014.540171: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21183  HwBinder:755_1-1247  (  755) [000] ...1 158014.556683: tracing_mark_write: E
21184   SensorService-1249  ( 1136) [002] ...1 158014.557067: tracing_mark_write: E
21185   SensorService-1249  ( 1136) [002] ...1 158014.557300: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21186  HwBinder:755_1-1247  (  755) [000] ...1 158014.557709: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21187  HwBinder:755_1-1247  (  755) [000] ...1 158014.576313: tracing_mark_write: E
21188   SensorService-1249  ( 1136) [002] ...1 158014.576597: tracing_mark_write: E
21189   SensorService-1249  ( 1136) [002] ...1 158014.577041: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21190  HwBinder:755_1-1247  (  755) [000] ...1 158014.577273: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21191  HwBinder:755_1-1247  (  755) [000] ...1 158014.597725: tracing_mark_write: E
21192   SensorService-1249  ( 1136) [002] ...1 158014.598196: tracing_mark_write: E
21193   SensorService-1249  ( 1136) [002] ...1 158014.598467: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21194  HwBinder:755_1-1247  (  755) [000] ...1 158014.598888: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21195  HwBinder:755_1-1247  (  755) [000] ...1 158014.617274: tracing_mark_write: E
21196   SensorService-1249  ( 1136) [002] ...1 158014.617871: tracing_mark_write: E
21197   SensorService-1249  ( 1136) [002] ...1 158014.618187: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21198  HwBinder:755_1-1247  (  755) [000] ...1 158014.618612: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21199  HwBinder:755_1-1247  (  755) [000] ...1 158014.636879: tracing_mark_write: E
21200   SensorService-1249  ( 1136) [002] ...1 158014.637323: tracing_mark_write: E
21201   SensorService-1249  ( 1136) [002] ...1 158014.637686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21202  HwBinder:755_1-1247  (  755) [000] ...1 158014.637893: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21203  HwBinder:755_1-1247  (  755) [000] ...1 158014.657702: tracing_mark_write: E
21204   SensorService-1249  ( 1136) [002] ...1 158014.658608: tracing_mark_write: E
21205   SensorService-1249  ( 1136) [002] ...1 158014.659197: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21206  HwBinder:755_1-1247  (  755) [000] ...1 158014.659882: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21207  HwBinder:755_1-1247  (  755) [000] ...1 158014.676802: tracing_mark_write: E
21208   SensorService-1249  ( 1136) [002] ...1 158014.677089: tracing_mark_write: E
21209   SensorService-1249  ( 1136) [002] ...1 158014.677384: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21210  HwBinder:755_1-1247  (  755) [000] ...1 158014.677844: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21211  HwBinder:755_1-1247  (  755) [000] ...1 158014.696757: tracing_mark_write: E
21212   SensorService-1249  ( 1136) [002] ...1 158014.696950: tracing_mark_write: E
21213   SensorService-1249  ( 1136) [002] ...1 158014.697210: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21214  HwBinder:755_1-1247  (  755) [000] ...1 158014.697413: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21215  HwBinder:755_1-1247  (  755) [000] ...1 158014.717259: tracing_mark_write: E
21216   SensorService-1249  ( 1136) [002] ...1 158014.717781: tracing_mark_write: E
21217   SensorService-1249  ( 1136) [002] ...1 158014.718138: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21218  HwBinder:755_1-1247  (  755) [000] ...1 158014.718560: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21219  HwBinder:755_1-1247  (  755) [000] ...1 158014.737755: tracing_mark_write: E
21220   SensorService-1249  ( 1136) [002] ...1 158014.738231: tracing_mark_write: E
21221   SensorService-1249  ( 1136) [002] ...1 158014.738550: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21222  HwBinder:755_1-1247  (  755) [000] ...1 158014.738965: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21223  HwBinder:755_1-1247  (  755) [000] ...1 158014.756530: tracing_mark_write: E
21224   SensorService-1249  ( 1136) [002] ...1 158014.756876: tracing_mark_write: E
21225   SensorService-1249  ( 1136) [002] ...1 158014.757148: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21226  HwBinder:755_1-1247  (  755) [000] ...1 158014.757385: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21227  HwBinder:755_1-1247  (  755) [000] ...1 158014.777286: tracing_mark_write: E
21228   SensorService-1249  ( 1136) [002] ...1 158014.777715: tracing_mark_write: E
21229   SensorService-1249  ( 1136) [002] ...1 158014.778003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21230  HwBinder:755_1-1247  (  755) [000] ...1 158014.778419: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21231  HwBinder:755_1-1247  (  755) [000] ...1 158014.797051: tracing_mark_write: E
21232   SensorService-1249  ( 1136) [002] ...1 158014.797482: tracing_mark_write: E
21233   SensorService-1249  ( 1136) [002] ...1 158014.797859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21234  HwBinder:755_1-1247  (  755) [000] ...1 158014.798275: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21235  HwBinder:755_1-1247  (  755) [000] ...1 158014.816918: tracing_mark_write: E
21236   SensorService-1249  ( 1136) [002] ...1 158014.817353: tracing_mark_write: E
21237   SensorService-1249  ( 1136) [002] ...1 158014.817753: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21238  HwBinder:755_1-1247  (  755) [000] ...1 158014.818203: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21239  HwBinder:755_1-1247  (  755) [000] ...1 158014.837351: tracing_mark_write: E
21240   SensorService-1249  ( 1136) [002] ...1 158014.837731: tracing_mark_write: E
21241   SensorService-1249  ( 1136) [002] ...1 158014.838007: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21242  HwBinder:755_1-1247  (  755) [000] ...1 158014.838442: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21243  HwBinder:755_1-1247  (  755) [000] ...1 158014.856549: tracing_mark_write: E
21244   SensorService-1249  ( 1136) [002] ...1 158014.856745: tracing_mark_write: E
21245   SensorService-1249  ( 1136) [002] ...1 158014.856999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21246  HwBinder:755_1-1247  (  755) [000] ...1 158014.857200: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21247  HwBinder:755_1-1247  (  755) [000] ...1 158014.877206: tracing_mark_write: E
21248   SensorService-1249  ( 1136) [002] ...1 158014.877395: tracing_mark_write: E
21249   SensorService-1249  ( 1136) [002] ...1 158014.877715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21250  HwBinder:755_1-1247  (  755) [000] ...1 158014.878117: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21251  HwBinder:755_1-1247  (  755) [001] ...1 158014.897398: tracing_mark_write: E
21252   SensorService-1249  ( 1136) [002] ...1 158014.897522: tracing_mark_write: E
21253   SensorService-1249  ( 1136) [002] ...1 158014.897676: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21254  HwBinder:755_1-1247  (  755) [001] ...1 158014.897758: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21255      android.bg-1155  ( 1136) [006] ...1 158014.918406: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21256  memtrack@1.0-s-745   (  745) [006] ...1 158014.918620: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21257  memtrack@1.0-s-745   (  745) [006] ...1 158014.918662: tracing_mark_write: E
21258      android.bg-1155  ( 1136) [006] ...1 158014.918985: tracing_mark_write: E
21259      android.bg-1155  ( 1136) [006] ...1 158014.919016: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21260  memtrack@1.0-s-745   (  745) [006] ...1 158014.919117: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21261  memtrack@1.0-s-745   (  745) [006] ...1 158014.919231: tracing_mark_write: E
21262      android.bg-1155  ( 1136) [006] ...1 158014.919379: tracing_mark_write: E
21263      android.bg-1155  ( 1136) [006] ...1 158014.919406: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21264  HwBinder:755_1-1247  (  755) [005] ...1 158014.919457: tracing_mark_write: E
21265  memtrack@1.0-s-745   (  745) [006] ...1 158014.919498: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21266  memtrack@1.0-s-745   (  745) [006] ...1 158014.919569: tracing_mark_write: E
21267   SensorService-1249  ( 1136) [002] ...1 158014.919593: tracing_mark_write: E
21268      android.bg-1155  ( 1136) [006] ...1 158014.919675: tracing_mark_write: E
21269      android.bg-1155  ( 1136) [006] ...1 158014.919698: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21270   SensorService-1249  ( 1136) [002] ...1 158014.919708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21271  memtrack@1.0-s-745   (  745) [006] ...1 158014.919787: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21272  memtrack@1.0-s-745   (  745) [006] ...1 158014.919802: tracing_mark_write: E
21273  HwBinder:755_1-1247  (  755) [005] ...1 158014.919846: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21274      android.bg-1155  ( 1136) [006] ...1 158014.921039: tracing_mark_write: E
21275      android.bg-1155  ( 1136) [006] ...1 158014.921068: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21276  memtrack@1.0-s-745   (  745) [006] ...1 158014.921183: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21277  memtrack@1.0-s-745   (  745) [006] ...1 158014.921205: tracing_mark_write: E
21278      android.bg-1155  ( 1136) [006] ...1 158014.921324: tracing_mark_write: E
21279  HwBinder:755_1-1247  (  755) [000] ...1 158014.936946: tracing_mark_write: E
21280   SensorService-1249  ( 1136) [002] ...1 158014.937189: tracing_mark_write: E
21281   SensorService-1249  ( 1136) [002] ...1 158014.937316: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21282  HwBinder:755_1-1247  (  755) [000] ...1 158014.937497: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21283      android.bg-1155  ( 1136) [006] ...1 158014.946269: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21284  memtrack@1.0-s-745   (  745) [006] ...1 158014.946361: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21285  memtrack@1.0-s-745   (  745) [006] ...1 158014.946378: tracing_mark_write: E
21286      android.bg-1155  ( 1136) [006] ...1 158014.946430: tracing_mark_write: E
21287      android.bg-1155  ( 1136) [006] ...1 158014.946440: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21288  memtrack@1.0-s-745   (  745) [006] ...1 158014.946468: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21289  memtrack@1.0-s-745   (  745) [006] ...1 158014.946512: tracing_mark_write: E
21290      android.bg-1155  ( 1136) [006] ...1 158014.946542: tracing_mark_write: E
21291      android.bg-1155  ( 1136) [006] ...1 158014.946548: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21292  memtrack@1.0-s-745   (  745) [006] ...1 158014.946572: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21293  memtrack@1.0-s-745   (  745) [006] ...1 158014.946591: tracing_mark_write: E
21294      android.bg-1155  ( 1136) [006] ...1 158014.946618: tracing_mark_write: E
21295      android.bg-1155  ( 1136) [006] ...1 158014.946624: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21296  memtrack@1.0-s-745   (  745) [006] ...1 158014.946648: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21297  memtrack@1.0-s-745   (  745) [006] ...1 158014.946651: tracing_mark_write: E
21298      android.bg-1155  ( 1136) [006] ...1 158014.946677: tracing_mark_write: E
21299      android.bg-1155  ( 1136) [006] ...1 158014.946682: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21300  memtrack@1.0-s-745   (  745) [006] ...1 158014.946704: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21301  memtrack@1.0-s-745   (  745) [006] ...1 158014.946708: tracing_mark_write: E
21302      android.bg-1155  ( 1136) [006] ...1 158014.946731: tracing_mark_write: E
21303      android.bg-1155  ( 1136) [006] ...1 158014.950142: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21304  memtrack@1.0-s-745   (  745) [006] ...1 158014.950218: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21305  memtrack@1.0-s-745   (  745) [006] ...1 158014.950232: tracing_mark_write: E
21306      android.bg-1155  ( 1136) [006] ...1 158014.950523: tracing_mark_write: E
21307      android.bg-1155  ( 1136) [006] ...1 158014.950533: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21308  memtrack@1.0-s-745   (  745) [006] ...1 158014.950564: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21309  memtrack@1.0-s-745   (  745) [006] ...1 158014.950601: tracing_mark_write: E
21310      android.bg-1155  ( 1136) [006] ...1 158014.950630: tracing_mark_write: E
21311      android.bg-1155  ( 1136) [006] ...1 158014.950638: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21312  memtrack@1.0-s-745   (  745) [006] ...1 158014.950661: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21313  memtrack@1.0-s-745   (  745) [006] ...1 158014.950679: tracing_mark_write: E
21314      android.bg-1155  ( 1136) [006] ...1 158014.950705: tracing_mark_write: E
21315      android.bg-1155  ( 1136) [006] ...1 158014.950711: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21316  memtrack@1.0-s-745   (  745) [006] ...1 158014.950733: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21317  memtrack@1.0-s-745   (  745) [006] ...1 158014.950737: tracing_mark_write: E
21318      android.bg-1155  ( 1136) [006] ...1 158014.950977: tracing_mark_write: E
21319      android.bg-1155  ( 1136) [006] ...1 158014.950985: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21320  memtrack@1.0-s-745   (  745) [006] ...1 158014.951015: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21321  memtrack@1.0-s-745   (  745) [006] ...1 158014.951021: tracing_mark_write: E
21322      android.bg-1155  ( 1136) [006] ...1 158014.951049: tracing_mark_write: E
21323      android.bg-1155  ( 1136) [006] ...1 158014.954166: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21324  memtrack@1.0-s-745   (  745) [006] ...1 158014.954265: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21325  memtrack@1.0-s-745   (  745) [006] ...1 158014.954279: tracing_mark_write: E
21326      android.bg-1155  ( 1136) [006] ...1 158014.954322: tracing_mark_write: E
21327      android.bg-1155  ( 1136) [006] ...1 158014.954331: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21328  memtrack@1.0-s-745   (  745) [006] ...1 158014.954355: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21329  memtrack@1.0-s-745   (  745) [006] ...1 158014.954394: tracing_mark_write: E
21330      android.bg-1155  ( 1136) [006] ...1 158014.954423: tracing_mark_write: E
21331      android.bg-1155  ( 1136) [006] ...1 158014.954430: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21332  memtrack@1.0-s-745   (  745) [006] ...1 158014.954453: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21333  memtrack@1.0-s-745   (  745) [006] ...1 158014.954472: tracing_mark_write: E
21334      android.bg-1155  ( 1136) [006] ...1 158014.954499: tracing_mark_write: E
21335      android.bg-1155  ( 1136) [006] ...1 158014.954505: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21336  memtrack@1.0-s-745   (  745) [006] ...1 158014.954526: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21337  memtrack@1.0-s-745   (  745) [006] ...1 158014.954530: tracing_mark_write: E
21338      android.bg-1155  ( 1136) [006] ...1 158014.954552: tracing_mark_write: E
21339      android.bg-1155  ( 1136) [006] ...1 158014.954558: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21340  memtrack@1.0-s-745   (  745) [006] ...1 158014.954578: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21341  memtrack@1.0-s-745   (  745) [006] ...1 158014.954582: tracing_mark_write: E
21342      android.bg-1155  ( 1136) [006] ...1 158014.954604: tracing_mark_write: E
21343  HwBinder:755_1-1247  (  755) [005] ...1 158014.956546: tracing_mark_write: E
21344   SensorService-1249  ( 1136) [002] ...1 158014.956626: tracing_mark_write: E
21345      android.bg-1155  ( 1136) [006] ...1 158014.956679: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21346   SensorService-1249  ( 1136) [002] ...1 158014.956708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21347  memtrack@1.0-s-745   (  745) [006] ...1 158014.956730: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21348  memtrack@1.0-s-745   (  745) [006] ...1 158014.956738: tracing_mark_write: E
21349      android.bg-1155  ( 1136) [006] ...1 158014.956783: tracing_mark_write: E
21350      android.bg-1155  ( 1136) [006] ...1 158014.956792: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21351  memtrack@1.0-s-745   (  745) [006] ...1 158014.956824: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21352  memtrack@1.0-s-745   (  745) [006] ...1 158014.956860: tracing_mark_write: E
21353  HwBinder:755_1-1247  (  755) [005] ...1 158014.956875: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21354      android.bg-1155  ( 1136) [006] ...1 158014.956887: tracing_mark_write: E
21355      android.bg-1155  ( 1136) [006] ...1 158014.956894: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21356  memtrack@1.0-s-745   (  745) [006] ...1 158014.956915: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21357  memtrack@1.0-s-745   (  745) [006] ...1 158014.956933: tracing_mark_write: E
21358      android.bg-1155  ( 1136) [006] ...1 158014.956958: tracing_mark_write: E
21359      android.bg-1155  ( 1136) [006] ...1 158014.956964: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21360  memtrack@1.0-s-745   (  745) [006] ...1 158014.956988: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21361  memtrack@1.0-s-745   (  745) [006] ...1 158014.956992: tracing_mark_write: E
21362      android.bg-1155  ( 1136) [006] ...1 158014.957016: tracing_mark_write: E
21363      android.bg-1155  ( 1136) [006] ...1 158014.957021: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21364  memtrack@1.0-s-745   (  745) [006] ...1 158014.957042: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21365  memtrack@1.0-s-745   (  745) [006] ...1 158014.957045: tracing_mark_write: E
21366      android.bg-1155  ( 1136) [006] ...1 158014.957068: tracing_mark_write: E
21367  HwBinder:755_1-1247  (  755) [007] ...1 158014.976203: tracing_mark_write: E
21368   SensorService-1249  ( 1136) [002] ...1 158014.976293: tracing_mark_write: E
21369   SensorService-1249  ( 1136) [002] ...1 158014.976374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21370  sensors@1.0-se-755   (  755) [004] ...1 158014.976444: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21371  sensors@1.0-se-755   (  755) [005] ...1 158014.996155: tracing_mark_write: E
21372   SensorService-1249  ( 1136) [002] ...1 158014.996220: tracing_mark_write: E
21373   SensorService-1249  ( 1136) [002] ...1 158014.996289: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21374  sensors@1.0-se-755   (  755) [005] ...1 158014.996343: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21375  sensors@1.0-se-755   (  755) [004] ...1 158015.016460: tracing_mark_write: E
21376   SensorService-1249  ( 1136) [002] ...1 158015.016529: tracing_mark_write: E
21377   SensorService-1249  ( 1136) [002] ...1 158015.016604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21378  sensors@1.0-se-755   (  755) [004] ...1 158015.016663: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21379  sensors@1.0-se-755   (  755) [003] ...1 158015.037025: tracing_mark_write: E
21380   SensorService-1249  ( 1136) [002] ...1 158015.037107: tracing_mark_write: E
21381   SensorService-1249  ( 1136) [002] ...1 158015.037195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21382  sensors@1.0-se-755   (  755) [003] ...1 158015.037361: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21383  sensors@1.0-se-755   (  755) [002] ...1 158015.056713: tracing_mark_write: E
21384   SensorService-1249  ( 1136) [000] ...1 158015.056905: tracing_mark_write: E
21385   SensorService-1249  ( 1136) [000] ...1 158015.056979: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21386  sensors@1.0-se-755   (  755) [002] ...1 158015.057028: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21387  sensors@1.0-se-755   (  755) [000] ...1 158015.077513: tracing_mark_write: E
21388   SensorService-1249  ( 1136) [001] ...1 158015.077953: tracing_mark_write: E
21389   SensorService-1249  ( 1136) [001] ...1 158015.078179: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21390  sensors@1.0-se-755   (  755) [000] ...1 158015.078395: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21391  sensors@1.0-se-755   (  755) [000] ...1 158015.096659: tracing_mark_write: E
21392   SensorService-1249  ( 1136) [001] ...1 158015.096845: tracing_mark_write: E
21393   SensorService-1249  ( 1136) [001] ...1 158015.097049: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21394  sensors@1.0-se-755   (  755) [000] ...1 158015.097255: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21395  sensors@1.0-se-755   (  755) [000] ...1 158015.116884: tracing_mark_write: E
21396   SensorService-1249  ( 1136) [001] ...1 158015.117121: tracing_mark_write: E
21397   SensorService-1249  ( 1136) [001] ...1 158015.117354: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21398  sensors@1.0-se-755   (  755) [000] ...1 158015.117688: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21399  sensors@1.0-se-755   (  755) [000] ...1 158015.137018: tracing_mark_write: E
21400   SensorService-1249  ( 1136) [001] ...1 158015.137115: tracing_mark_write: E
21401   SensorService-1249  ( 1136) [001] ...1 158015.137228: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21402  sensors@1.0-se-755   (  755) [000] ...1 158015.137309: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21403  sensors@1.0-se-755   (  755) [000] ...1 158015.156491: tracing_mark_write: E
21404   SensorService-1249  ( 1136) [001] ...1 158015.156597: tracing_mark_write: E
21405   SensorService-1249  ( 1136) [001] ...1 158015.156706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21406  sensors@1.0-se-755   (  755) [000] ...1 158015.156782: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21407  sensors@1.0-se-755   (  755) [000] ...1 158015.177045: tracing_mark_write: E
21408   SensorService-1249  ( 1136) [001] ...1 158015.177168: tracing_mark_write: E
21409   SensorService-1249  ( 1136) [001] ...1 158015.177303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21410  sensors@1.0-se-755   (  755) [000] ...1 158015.177645: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21411  sensors@1.0-se-755   (  755) [000] ...1 158015.197108: tracing_mark_write: E
21412   SensorService-1249  ( 1136) [001] ...1 158015.197294: tracing_mark_write: E
21413   SensorService-1249  ( 1136) [001] ...1 158015.197483: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21414  sensors@1.0-se-755   (  755) [000] ...1 158015.197649: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21415  sensors@1.0-se-755   (  755) [000] ...1 158015.217599: tracing_mark_write: E
21416   SensorService-1249  ( 1136) [001] ...1 158015.217837: tracing_mark_write: E
21417   SensorService-1249  ( 1136) [001] ...1 158015.217989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21418  sensors@1.0-se-755   (  755) [000] ...1 158015.218079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21419  sensors@1.0-se-755   (  755) [000] ...1 158015.237775: tracing_mark_write: E
21420   SensorService-1249  ( 1136) [001] ...1 158015.237963: tracing_mark_write: E
21421   SensorService-1249  ( 1136) [001] ...1 158015.238140: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21422  sensors@1.0-se-755   (  755) [000] ...1 158015.238545: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21423  sensors@1.0-se-755   (  755) [002] ...1 158015.258418: tracing_mark_write: E
21424   SensorService-1249  ( 1136) [001] ...1 158015.258655: tracing_mark_write: E
21425   SensorService-1249  ( 1136) [001] ...1 158015.258909: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21426  sensors@1.0-se-755   (  755) [002] ...1 158015.259262: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21427  sensors@1.0-se-755   (  755) [000] ...1 158015.279482: tracing_mark_write: E
21428   SensorService-1249  ( 1136) [001] ...1 158015.279869: tracing_mark_write: E
21429   SensorService-1249  ( 1136) [001] ...1 158015.280059: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21430  sensors@1.0-se-755   (  755) [000] ...1 158015.280445: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21431  sensors@1.0-se-755   (  755) [000] ...1 158015.297474: tracing_mark_write: E
21432   SensorService-1249  ( 1136) [001] ...1 158015.298144: tracing_mark_write: E
21433   SensorService-1249  ( 1136) [001] ...1 158015.298356: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21434  sensors@1.0-se-755   (  755) [000] ...1 158015.298505: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21435  sensors@1.0-se-755   (  755) [000] ...1 158015.318622: tracing_mark_write: E
21436   SensorService-1249  ( 1136) [001] ...1 158015.319109: tracing_mark_write: E
21437   SensorService-1249  ( 1136) [001] ...1 158015.319299: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21438  sensors@1.0-se-755   (  755) [000] ...1 158015.319433: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21439  sensors@1.0-se-755   (  755) [000] ...1 158015.338475: tracing_mark_write: E
21440   SensorService-1249  ( 1136) [001] ...1 158015.338650: tracing_mark_write: E
21441   SensorService-1249  ( 1136) [001] ...1 158015.338847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21442  sensors@1.0-se-755   (  755) [000] ...1 158015.339303: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21443  sensors@1.0-se-755   (  755) [000] ...1 158015.357908: tracing_mark_write: E
21444   SensorService-1249  ( 1136) [001] ...1 158015.358067: tracing_mark_write: E
21445   SensorService-1249  ( 1136) [001] ...1 158015.358240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21446  sensors@1.0-se-755   (  755) [000] ...1 158015.358348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21447  sensors@1.0-se-755   (  755) [000] ...1 158015.377654: tracing_mark_write: E
21448   SensorService-1249  ( 1136) [001] ...1 158015.378133: tracing_mark_write: E
21449   SensorService-1249  ( 1136) [001] ...1 158015.378322: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21450  sensors@1.0-se-755   (  755) [000] ...1 158015.378447: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21451  sensors@1.0-se-755   (  755) [002] ...1 158015.397062: tracing_mark_write: E
21452   SensorService-1249  ( 1136) [001] ...1 158015.397406: tracing_mark_write: E
21453   SensorService-1249  ( 1136) [001] ...1 158015.397605: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21454  sensors@1.0-se-755   (  755) [002] ...1 158015.397728: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21455  sensors@1.0-se-755   (  755) [002] ...1 158015.417470: tracing_mark_write: E
21456   SensorService-1249  ( 1136) [001] ...1 158015.417987: tracing_mark_write: E
21457   SensorService-1249  ( 1136) [001] ...1 158015.418161: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21458  sensors@1.0-se-755   (  755) [002] ...1 158015.418450: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21459  sensors@1.0-se-755   (  755) [002] ...1 158015.437663: tracing_mark_write: E
21460   SensorService-1249  ( 1136) [001] ...1 158015.437896: tracing_mark_write: E
21461   SensorService-1249  ( 1136) [001] ...1 158015.438084: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21462  sensors@1.0-se-755   (  755) [002] ...1 158015.438543: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21463  sensors@1.0-se-755   (  755) [002] ...1 158015.457254: tracing_mark_write: E
21464   SensorService-1249  ( 1136) [001] ...1 158015.457405: tracing_mark_write: E
21465   SensorService-1249  ( 1136) [001] ...1 158015.457603: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21466  sensors@1.0-se-755   (  755) [002] ...1 158015.457946: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21467  sensors@1.0-se-755   (  755) [002] ...1 158015.477401: tracing_mark_write: E
21468   SensorService-1249  ( 1136) [001] ...1 158015.477631: tracing_mark_write: E
21469   SensorService-1249  ( 1136) [001] ...1 158015.477819: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21470  sensors@1.0-se-755   (  755) [002] ...1 158015.477931: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21471  sensors@1.0-se-755   (  755) [002] ...1 158015.497878: tracing_mark_write: E
21472   SensorService-1249  ( 1136) [001] ...1 158015.498323: tracing_mark_write: E
21473   SensorService-1249  ( 1136) [001] ...1 158015.498513: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21474  sensors@1.0-se-755   (  755) [002] ...1 158015.498638: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21475  sensors@1.0-se-755   (  755) [001] ...1 158015.517461: tracing_mark_write: E
21476   SensorService-1249  ( 1136) [000] ...1 158015.517719: tracing_mark_write: E
21477   SensorService-1249  ( 1136) [000] ...1 158015.517914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21478  sensors@1.0-se-755   (  755) [001] ...1 158015.518040: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21479  sensors@1.0-se-755   (  755) [001] ...1 158015.537521: tracing_mark_write: E
21480   SensorService-1249  ( 1136) [000] ...1 158015.537882: tracing_mark_write: E
21481   SensorService-1249  ( 1136) [000] ...1 158015.538066: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21482  sensors@1.0-se-755   (  755) [001] ...1 158015.538319: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21483  sensors@1.0-se-755   (  755) [001] ...1 158015.557080: tracing_mark_write: E
21484   SensorService-1249  ( 1136) [000] ...1 158015.557622: tracing_mark_write: E
21485   SensorService-1249  ( 1136) [000] ...1 158015.557801: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21486  sensors@1.0-se-755   (  755) [001] ...1 158015.558164: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21487  sensors@1.0-se-755   (  755) [001] ...1 158015.577482: tracing_mark_write: E
21488   SensorService-1249  ( 1136) [000] ...1 158015.577969: tracing_mark_write: E
21489   SensorService-1249  ( 1136) [000] ...1 158015.578186: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21490  sensors@1.0-se-755   (  755) [001] ...1 158015.578500: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21491  sensors@1.0-se-755   (  755) [001] ...1 158015.598448: tracing_mark_write: E
21492   SensorService-1249  ( 1136) [000] ...1 158015.598661: tracing_mark_write: E
21493   SensorService-1249  ( 1136) [000] ...1 158015.598883: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21494  sensors@1.0-se-755   (  755) [001] ...1 158015.599013: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21495  sensors@1.0-se-755   (  755) [001] ...1 158015.618337: tracing_mark_write: E
21496   SensorService-1249  ( 1136) [000] ...1 158015.618634: tracing_mark_write: E
21497   SensorService-1249  ( 1136) [000] ...1 158015.618960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21498  sensors@1.0-se-755   (  755) [001] ...1 158015.619141: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21499  sensors@1.0-se-755   (  755) [001] ...1 158015.638019: tracing_mark_write: E
21500   SensorService-1249  ( 1136) [000] ...1 158015.638425: tracing_mark_write: E
21501   SensorService-1249  ( 1136) [000] ...1 158015.638779: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21502  sensors@1.0-se-755   (  755) [001] ...1 158015.639045: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21503  sensors@1.0-se-755   (  755) [001] ...1 158015.657163: tracing_mark_write: E
21504   SensorService-1249  ( 1136) [000] ...1 158015.657336: tracing_mark_write: E
21505   SensorService-1249  ( 1136) [000] ...1 158015.657594: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21506  sensors@1.0-se-755   (  755) [001] ...1 158015.657781: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21507  sensors@1.0-se-755   (  755) [001] ...1 158015.679746: tracing_mark_write: E
21508   SensorService-1249  ( 1136) [000] ...1 158015.680241: tracing_mark_write: E
21509   SensorService-1249  ( 1136) [000] ...1 158015.680442: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21510  sensors@1.0-se-755   (  755) [001] ...1 158015.680854: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21511  sensors@1.0-se-755   (  755) [001] ...1 158015.698857: tracing_mark_write: E
21512   SensorService-1249  ( 1136) [000] ...1 158015.699293: tracing_mark_write: E
21513   SensorService-1249  ( 1136) [000] ...1 158015.699477: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21514  sensors@1.0-se-755   (  755) [001] ...1 158015.699836: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21515  sensors@1.0-se-755   (  755) [001] ...1 158015.717999: tracing_mark_write: E
21516   SensorService-1249  ( 1136) [000] ...1 158015.718160: tracing_mark_write: E
21517   SensorService-1249  ( 1136) [000] ...1 158015.718351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21518  sensors@1.0-se-755   (  755) [001] ...1 158015.718950: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21519  sensors@1.0-se-755   (  755) [001] ...1 158015.741161: tracing_mark_write: E
21520   SensorService-1249  ( 1136) [000] ...1 158015.741675: tracing_mark_write: E
21521   SensorService-1249  ( 1136) [000] ...1 158015.741955: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21522  sensors@1.0-se-755   (  755) [002] ...1 158015.742407: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21523  sensors@1.0-se-755   (  755) [001] ...1 158015.757798: tracing_mark_write: E
21524   SensorService-1249  ( 1136) [000] ...1 158015.758188: tracing_mark_write: E
21525   SensorService-1249  ( 1136) [000] ...1 158015.758524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21526  sensors@1.0-se-755   (  755) [001] ...1 158015.758724: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21527  sensors@1.0-se-755   (  755) [001] ...1 158015.778052: tracing_mark_write: E
21528   SensorService-1249  ( 1136) [000] ...1 158015.778554: tracing_mark_write: E
21529   SensorService-1249  ( 1136) [000] ...1 158015.778797: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21530  sensors@1.0-se-755   (  755) [001] ...1 158015.779200: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21531  sensors@1.0-se-755   (  755) [001] ...1 158015.797946: tracing_mark_write: E
21532   SensorService-1249  ( 1136) [000] ...1 158015.798244: tracing_mark_write: E
21533   SensorService-1249  ( 1136) [000] ...1 158015.798545: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21534  sensors@1.0-se-755   (  755) [001] ...1 158015.798713: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21535  sensors@1.0-se-755   (  755) [001] ...1 158015.820379: tracing_mark_write: E
21536   SensorService-1249  ( 1136) [000] ...1 158015.821012: tracing_mark_write: E
21537   SensorService-1249  ( 1136) [000] ...1 158015.821249: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21538  sensors@1.0-se-755   (  755) [001] ...1 158015.821617: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21539  sensors@1.0-se-755   (  755) [001] ...1 158015.838219: tracing_mark_write: E
21540   SensorService-1249  ( 1136) [000] ...1 158015.838583: tracing_mark_write: E
21541   SensorService-1249  ( 1136) [000] ...1 158015.838763: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21542  sensors@1.0-se-755   (  755) [001] ...1 158015.839112: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21543  sensors@1.0-se-755   (  755) [001] ...1 158015.857935: tracing_mark_write: E
21544   SensorService-1249  ( 1136) [000] ...1 158015.858282: tracing_mark_write: E
21545   SensorService-1249  ( 1136) [000] ...1 158015.858557: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21546  sensors@1.0-se-755   (  755) [001] ...1 158015.858836: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21547  sensors@1.0-se-755   (  755) [001] ...1 158015.877270: tracing_mark_write: E
21548   SensorService-1249  ( 1136) [000] ...1 158015.877379: tracing_mark_write: E
21549   SensorService-1249  ( 1136) [000] ...1 158015.877497: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21550  sensors@1.0-se-755   (  755) [001] ...1 158015.877640: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21551  sensors@1.0-se-755   (  755) [001] ...1 158015.897230: tracing_mark_write: E
21552   SensorService-1249  ( 1136) [000] ...1 158015.897335: tracing_mark_write: E
21553   SensorService-1249  ( 1136) [000] ...1 158015.897446: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21554  sensors@1.0-se-755   (  755) [001] ...1 158015.897532: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21555  sensors@1.0-se-755   (  755) [001] ...1 158015.919381: tracing_mark_write: E
21556   SensorService-1249  ( 1136) [000] ...1 158015.919926: tracing_mark_write: E
21557   SensorService-1249  ( 1136) [000] ...1 158015.920273: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21558  HwBinder:755_1-1247  (  755) [002] ...1 158015.920581: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21559  HwBinder:755_1-1247  (  755) [001] ...1 158015.937649: tracing_mark_write: E
21560   SensorService-1249  ( 1136) [000] ...1 158015.937843: tracing_mark_write: E
21561   SensorService-1249  ( 1136) [000] ...1 158015.937982: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21562  HwBinder:755_1-1247  (  755) [001] ...1 158015.938081: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21563  HwBinder:755_1-1247  (  755) [003] ...1 158015.959017: tracing_mark_write: E
21564   SensorService-1249  ( 1136) [000] ...1 158015.959503: tracing_mark_write: E
21565   SensorService-1249  ( 1136) [000] ...1 158015.959701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21566  HwBinder:755_1-1247  (  755) [003] ...1 158015.960087: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21567  HwBinder:755_1-1247  (  755) [001] ...1 158015.979544: tracing_mark_write: E
21568   SensorService-1249  ( 1136) [000] ...1 158015.980167: tracing_mark_write: E
21569   SensorService-1249  ( 1136) [000] ...1 158015.980495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21570  HwBinder:755_1-1247  (  755) [001] ...1 158015.980680: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21571  HwBinder:755_1-1247  (  755) [001] ...1 158015.998742: tracing_mark_write: E
21572   SensorService-1249  ( 1136) [003] ...1 158015.999224: tracing_mark_write: E
21573   SensorService-1249  ( 1136) [003] ...1 158015.999520: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21574  HwBinder:755_1-1247  (  755) [001] ...1 158015.999733: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21575  HwBinder:755_1-1247  (  755) [002] ...1 158016.019721: tracing_mark_write: E
21576   SensorService-1249  ( 1136) [003] ...1 158016.020393: tracing_mark_write: E
21577   SensorService-1249  ( 1136) [003] ...1 158016.020737: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21578  HwBinder:755_1-1247  (  755) [002] ...1 158016.021244: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21579  HwBinder:755_1-1247  (  755) [001] ...1 158016.038893: tracing_mark_write: E
21580   SensorService-1249  ( 1136) [003] ...1 158016.039239: tracing_mark_write: E
21581   SensorService-1249  ( 1136) [003] ...1 158016.039546: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21582  HwBinder:755_1-1247  (  755) [001] ...1 158016.040068: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21583  HwBinder:755_1-1247  (  755) [001] ...1 158016.058051: tracing_mark_write: E
21584   SensorService-1249  ( 1136) [003] ...1 158016.058187: tracing_mark_write: E
21585   SensorService-1249  ( 1136) [003] ...1 158016.058325: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21586  HwBinder:755_1-1247  (  755) [001] ...1 158016.058639: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21587  HwBinder:755_1-1247  (  755) [001] ...1 158016.079040: tracing_mark_write: E
21588   SensorService-1249  ( 1136) [003] ...1 158016.079933: tracing_mark_write: E
21589   SensorService-1249  ( 1136) [003] ...1 158016.080144: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21590  HwBinder:755_1-1247  (  755) [001] ...1 158016.080643: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21591  HwBinder:755_1-1247  (  755) [001] ...1 158016.098429: tracing_mark_write: E
21592   SensorService-1249  ( 1136) [003] ...1 158016.098803: tracing_mark_write: E
21593   SensorService-1249  ( 1136) [003] ...1 158016.098991: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21594  HwBinder:755_1-1247  (  755) [001] ...1 158016.099378: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21595  HwBinder:755_1-1247  (  755) [000] ...1 158016.117799: tracing_mark_write: E
21596   SensorService-1249  ( 1136) [003] ...1 158016.118105: tracing_mark_write: E
21597   SensorService-1249  ( 1136) [003] ...1 158016.118298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21598  HwBinder:755_1-1247  (  755) [000] ...1 158016.118406: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21599  HwBinder:755_1-1247  (  755) [000] ...1 158016.138546: tracing_mark_write: E
21600   SensorService-1249  ( 1136) [003] ...1 158016.138705: tracing_mark_write: E
21601   SensorService-1249  ( 1136) [003] ...1 158016.138865: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21602  HwBinder:755_1-1247  (  755) [000] ...1 158016.138961: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21603  HwBinder:755_1-1247  (  755) [002] ...1 158016.159237: tracing_mark_write: E
21604   SensorService-1249  ( 1136) [003] ...1 158016.159441: tracing_mark_write: E
21605   SensorService-1249  ( 1136) [003] ...1 158016.159642: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21606  HwBinder:755_1-1247  (  755) [002] ...1 158016.159941: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21607  HwBinder:755_1-1247  (  755) [001] ...1 158016.182021: tracing_mark_write: E
21608   SensorService-1249  ( 1136) [003] ...1 158016.182465: tracing_mark_write: E
21609   SensorService-1249  ( 1136) [003] ...1 158016.182712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21610  HwBinder:755_1-1247  (  755) [001] ...1 158016.182904: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21611  HwBinder:755_1-1247  (  755) [002] ...1 158016.198509: tracing_mark_write: E
21612   SensorService-1249  ( 1136) [003] ...1 158016.198686: tracing_mark_write: E
21613   SensorService-1249  ( 1136) [003] ...1 158016.198881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21614  HwBinder:755_1-1247  (  755) [002] ...1 158016.199518: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21615  HwBinder:755_1-1247  (  755) [001] ...1 158016.218221: tracing_mark_write: E
21616   SensorService-1249  ( 1136) [003] ...1 158016.218419: tracing_mark_write: E
21617   SensorService-1249  ( 1136) [003] ...1 158016.218604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21618  HwBinder:755_1-1247  (  755) [001] ...1 158016.219032: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21619  HwBinder:755_1-1247  (  755) [001] ...1 158016.239345: tracing_mark_write: E
21620   SensorService-1249  ( 1136) [003] ...1 158016.239660: tracing_mark_write: E
21621   SensorService-1249  ( 1136) [003] ...1 158016.240021: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21622  HwBinder:755_1-1247  (  755) [001] ...1 158016.240231: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21623  HwBinder:755_1-1247  (  755) [001] ...1 158016.260370: tracing_mark_write: E
21624   SensorService-1249  ( 1136) [003] ...1 158016.260939: tracing_mark_write: E
21625   SensorService-1249  ( 1136) [003] ...1 158016.261198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21626  HwBinder:755_1-1247  (  755) [001] ...1 158016.261583: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21627  HwBinder:755_1-1247  (  755) [001] ...1 158016.278455: tracing_mark_write: E
21628   SensorService-1249  ( 1136) [003] ...1 158016.278663: tracing_mark_write: E
21629   SensorService-1249  ( 1136) [003] ...1 158016.278885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21630  HwBinder:755_1-1247  (  755) [001] ...1 158016.279015: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21631  HwBinder:755_1-1247  (  755) [001] ...1 158016.299331: tracing_mark_write: E
21632   SensorService-1249  ( 1136) [003] ...1 158016.299846: tracing_mark_write: E
21633   SensorService-1249  ( 1136) [003] ...1 158016.300085: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21634  HwBinder:755_1-1247  (  755) [001] ...1 158016.300465: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21635  HwBinder:755_1-1247  (  755) [002] ...1 158016.318614: tracing_mark_write: E
21636   SensorService-1249  ( 1136) [003] ...1 158016.319192: tracing_mark_write: E
21637   SensorService-1249  ( 1136) [003] ...1 158016.319401: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21638  HwBinder:755_1-1247  (  755) [002] ...1 158016.319817: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21639  HwBinder:755_1-1247  (  755) [001] ...1 158016.340767: tracing_mark_write: E
21640   SensorService-1249  ( 1136) [003] ...1 158016.341368: tracing_mark_write: E
21641   SensorService-1249  ( 1136) [003] ...1 158016.341618: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21642  HwBinder:755_1-1247  (  755) [001] ...1 158016.342015: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21643  HwBinder:755_1-1247  (  755) [003] ...1 158016.359626: tracing_mark_write: E
21644   SensorService-1249  ( 1136) [002] ...1 158016.359991: tracing_mark_write: E
21645   SensorService-1249  ( 1136) [002] ...1 158016.360158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21646  HwBinder:755_1-1247  (  755) [003] ...1 158016.360475: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21647  HwBinder:755_1-1247  (  755) [001] ...1 158016.379947: tracing_mark_write: E
21648   SensorService-1249  ( 1136) [002] ...1 158016.380508: tracing_mark_write: E
21649   SensorService-1249  ( 1136) [002] ...1 158016.380752: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21650  HwBinder:755_1-1247  (  755) [001] ...1 158016.381160: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21651  HwBinder:755_1-1247  (  755) [001] ...1 158016.398769: tracing_mark_write: E
21652   SensorService-1249  ( 1136) [002] ...1 158016.399135: tracing_mark_write: E
21653   SensorService-1249  ( 1136) [002] ...1 158016.399290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21654  HwBinder:755_1-1247  (  755) [001] ...1 158016.399397: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21655  HwBinder:755_1-1247  (  755) [000] ...1 158016.421235: tracing_mark_write: E
21656   SensorService-1249  ( 1136) [002] ...1 158016.422052: tracing_mark_write: E
21657   SensorService-1249  ( 1136) [002] ...1 158016.422491: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21658  HwBinder:755_1-1247  (  755) [000] ...1 158016.422989: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21659  HwBinder:755_1-1247  (  755) [000] ...1 158016.438919: tracing_mark_write: E
21660   SensorService-1249  ( 1136) [002] ...1 158016.439245: tracing_mark_write: E
21661   SensorService-1249  ( 1136) [002] ...1 158016.439406: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21662  HwBinder:755_1-1247  (  755) [000] ...1 158016.439505: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21663  HwBinder:755_1-1247  (  755) [001] ...1 158016.460343: tracing_mark_write: E
21664   SensorService-1249  ( 1136) [002] ...1 158016.461101: tracing_mark_write: E
21665   SensorService-1249  ( 1136) [002] ...1 158016.461450: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21666  HwBinder:755_1-1247  (  755) [001] ...1 158016.461959: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21667  HwBinder:755_1-1247  (  755) [001] ...1 158016.477723: tracing_mark_write: E
21668   SensorService-1249  ( 1136) [002] ...1 158016.477849: tracing_mark_write: E
21669   SensorService-1249  ( 1136) [002] ...1 158016.477972: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21670  HwBinder:755_1-1247  (  755) [001] ...1 158016.478039: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21671  HwBinder:755_1-1247  (  755) [000] ...1 158016.497979: tracing_mark_write: E
21672   SensorService-1249  ( 1136) [002] ...1 158016.498102: tracing_mark_write: E
21673   SensorService-1249  ( 1136) [002] ...1 158016.498233: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21674  HwBinder:755_1-1247  (  755) [000] ...1 158016.498322: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21675  HwBinder:755_1-1247  (  755) [000] ...1 158016.517690: tracing_mark_write: E
21676   SensorService-1249  ( 1136) [002] ...1 158016.517758: tracing_mark_write: E
21677   SensorService-1249  ( 1136) [002] ...1 158016.517848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21678  HwBinder:755_1-1247  (  755) [000] ...1 158016.517910: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21679  HwBinder:755_1-1247  (  755) [001] ...1 158016.539034: tracing_mark_write: E
21680   SensorService-1249  ( 1136) [002] ...1 158016.539393: tracing_mark_write: E
21681   SensorService-1249  ( 1136) [002] ...1 158016.539596: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21682  HwBinder:755_1-1247  (  755) [001] ...1 158016.539924: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21683  HwBinder:755_1-1247  (  755) [001] ...1 158016.558418: tracing_mark_write: E
21684   SensorService-1249  ( 1136) [002] ...1 158016.558752: tracing_mark_write: E
21685   SensorService-1249  ( 1136) [002] ...1 158016.558947: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21686  HwBinder:755_1-1247  (  755) [001] ...1 158016.559080: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21687  HwBinder:755_1-1247  (  755) [001] ...1 158016.578686: tracing_mark_write: E
21688   SensorService-1249  ( 1136) [002] ...1 158016.578953: tracing_mark_write: E
21689   SensorService-1249  ( 1136) [002] ...1 158016.579183: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21690  HwBinder:755_1-1247  (  755) [001] ...1 158016.579479: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21691  HwBinder:755_1-1247  (  755) [002] ...1 158016.598516: tracing_mark_write: E
21692   SensorService-1249  ( 1136) [000] ...1 158016.598675: tracing_mark_write: E
21693   SensorService-1249  ( 1136) [000] ...1 158016.598843: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21694  HwBinder:755_1-1247  (  755) [002] ...1 158016.599082: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21695  HwBinder:755_1-1247  (  755) [002] ...1 158016.618147: tracing_mark_write: E
21696   SensorService-1249  ( 1136) [000] ...1 158016.618251: tracing_mark_write: E
21697   SensorService-1249  ( 1136) [000] ...1 158016.618377: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21698  HwBinder:755_1-1247  (  755) [002] ...1 158016.618454: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21699  HwBinder:755_1-1247  (  755) [002] ...1 158016.638413: tracing_mark_write: E
21700   SensorService-1249  ( 1136) [000] ...1 158016.638625: tracing_mark_write: E
21701   SensorService-1249  ( 1136) [000] ...1 158016.638734: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21702  HwBinder:755_1-1247  (  755) [002] ...1 158016.638901: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21703  HwBinder:755_1-1247  (  755) [001] ...1 158016.660721: tracing_mark_write: E
21704   SensorService-1249  ( 1136) [000] ...1 158016.661258: tracing_mark_write: E
21705   SensorService-1249  ( 1136) [000] ...1 158016.661467: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21706  HwBinder:755_1-1247  (  755) [001] ...1 158016.662058: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21707  HwBinder:755_1-1247  (  755) [001] ...1 158016.679651: tracing_mark_write: E
21708   SensorService-1249  ( 1136) [000] ...1 158016.680101: tracing_mark_write: E
21709   SensorService-1249  ( 1136) [000] ...1 158016.680355: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21710  HwBinder:755_1-1247  (  755) [001] ...1 158016.680815: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21711  HwBinder:755_1-1247  (  755) [001] ...1 158016.699353: tracing_mark_write: E
21712   SensorService-1249  ( 1136) [000] ...1 158016.699577: tracing_mark_write: E
21713   SensorService-1249  ( 1136) [000] ...1 158016.699803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21714  HwBinder:755_1-1247  (  755) [001] ...1 158016.700207: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21715  HwBinder:755_1-1247  (  755) [001] ...1 158016.720279: tracing_mark_write: E
21716   SensorService-1249  ( 1136) [000] ...1 158016.720695: tracing_mark_write: E
21717   SensorService-1249  ( 1136) [000] ...1 158016.721162: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21718  HwBinder:755_1-1247  (  755) [001] ...1 158016.721679: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21719  HwBinder:755_1-1247  (  755) [001] ...1 158016.740060: tracing_mark_write: E
21720   SensorService-1249  ( 1136) [000] ...1 158016.740448: tracing_mark_write: E
21721   SensorService-1249  ( 1136) [000] ...1 158016.740831: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21722  HwBinder:755_1-1247  (  755) [001] ...1 158016.741054: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21723  HwBinder:755_1-1247  (  755) [000] ...1 158016.758647: tracing_mark_write: E
21724   SensorService-1249  ( 1136) [001] ...1 158016.758945: tracing_mark_write: E
21725   SensorService-1249  ( 1136) [001] ...1 158016.759067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21726  HwBinder:755_1-1247  (  755) [000] ...1 158016.759286: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21727  HwBinder:755_1-1247  (  755) [000] ...1 158016.779461: tracing_mark_write: E
21728   SensorService-1249  ( 1136) [001] ...1 158016.779877: tracing_mark_write: E
21729   SensorService-1249  ( 1136) [001] ...1 158016.780008: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21730  HwBinder:755_1-1247  (  755) [000] ...1 158016.780363: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21731  HwBinder:755_1-1247  (  755) [000] ...1 158016.800765: tracing_mark_write: E
21732   SensorService-1249  ( 1136) [001] ...1 158016.801286: tracing_mark_write: E
21733   SensorService-1249  ( 1136) [001] ...1 158016.801583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21734  HwBinder:755_1-1247  (  755) [000] ...1 158016.802056: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21735  HwBinder:755_1-1247  (  755) [000] ...1 158016.820200: tracing_mark_write: E
21736   SensorService-1249  ( 1136) [001] ...1 158016.820563: tracing_mark_write: E
21737   SensorService-1249  ( 1136) [001] ...1 158016.820976: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21738  HwBinder:755_1-1247  (  755) [000] ...1 158016.821226: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21739  HwBinder:755_1-1247  (  755) [000] ...1 158016.839897: tracing_mark_write: E
21740   SensorService-1249  ( 1136) [001] ...1 158016.840141: tracing_mark_write: E
21741   SensorService-1249  ( 1136) [001] ...1 158016.840451: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21742  HwBinder:755_1-1247  (  755) [000] ...1 158016.840677: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21743  HwBinder:755_1-1247  (  755) [001] ...1 158016.859056: tracing_mark_write: E
21744   SensorService-1249  ( 1136) [003] ...1 158016.859423: tracing_mark_write: E
21745   SensorService-1249  ( 1136) [003] ...1 158016.859771: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21746  HwBinder:755_1-1247  (  755) [001] ...1 158016.860029: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21747  HwBinder:755_1-1247  (  755) [001] ...1 158016.879380: tracing_mark_write: E
21748   SensorService-1249  ( 1136) [003] ...1 158016.879812: tracing_mark_write: E
21749   SensorService-1249  ( 1136) [003] ...1 158016.880067: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21750  HwBinder:755_1-1247  (  755) [001] ...1 158016.880440: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21751  HwBinder:755_1-1247  (  755) [001] ...1 158016.899580: tracing_mark_write: E
21752   SensorService-1249  ( 1136) [003] ...1 158016.900064: tracing_mark_write: E
21753   SensorService-1249  ( 1136) [003] ...1 158016.900305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21754  HwBinder:755_1-1247  (  755) [001] ...1 158016.900440: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21755  HwBinder:755_1-1247  (  755) [001] ...1 158016.918964: tracing_mark_write: E
21756   SensorService-1249  ( 1136) [003] ...1 158016.919304: tracing_mark_write: E
21757   SensorService-1249  ( 1136) [003] ...1 158016.919484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21758  HwBinder:755_1-1247  (  755) [001] ...1 158016.919760: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21759  HwBinder:755_1-1247  (  755) [001] ...1 158016.939871: tracing_mark_write: E
21760   SensorService-1249  ( 1136) [003] ...1 158016.940152: tracing_mark_write: E
21761   SensorService-1249  ( 1136) [003] ...1 158016.940414: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21762  HwBinder:755_1-1247  (  755) [001] ...1 158016.940542: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21763  HwBinder:755_1-1247  (  755) [001] ...1 158016.959386: tracing_mark_write: E
21764   SensorService-1249  ( 1136) [003] ...1 158016.959511: tracing_mark_write: E
21765   SensorService-1249  ( 1136) [003] ...1 158016.959641: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21766  HwBinder:755_1-1247  (  755) [001] ...1 158016.959712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21767  HwBinder:755_1-1247  (  755) [000] ...1 158016.978261: tracing_mark_write: E
21768   SensorService-1249  ( 1136) [003] ...1 158016.978370: tracing_mark_write: E
21769   SensorService-1249  ( 1136) [003] ...1 158016.978525: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21770  HwBinder:755_1-1247  (  755) [000] ...1 158016.978602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21771  HwBinder:755_1-1247  (  755) [000] ...1 158017.000607: tracing_mark_write: E
21772   SensorService-1249  ( 1136) [003] ...1 158017.001266: tracing_mark_write: E
21773   SensorService-1249  ( 1136) [003] ...1 158017.001651: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21774  HwBinder:755_1-1247  (  755) [000] ...1 158017.002469: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21775  HwBinder:755_1-1247  (  755) [000] ...1 158017.020564: tracing_mark_write: E
21776   SensorService-1249  ( 1136) [003] ...1 158017.021185: tracing_mark_write: E
21777   SensorService-1249  ( 1136) [003] ...1 158017.021481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21778  HwBinder:755_1-1247  (  755) [000] ...1 158017.021745: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21779  HwBinder:755_1-1247  (  755) [000] ...1 158017.041004: tracing_mark_write: E
21780   SensorService-1249  ( 1136) [003] ...1 158017.041470: tracing_mark_write: E
21781   SensorService-1249  ( 1136) [003] ...1 158017.041799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21782  HwBinder:755_1-1247  (  755) [000] ...1 158017.042228: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21783  HwBinder:755_1-1247  (  755) [000] ...1 158017.061133: tracing_mark_write: E
21784   SensorService-1249  ( 1136) [003] ...1 158017.061641: tracing_mark_write: E
21785   SensorService-1249  ( 1136) [003] ...1 158017.061959: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21786  HwBinder:755_1-1247  (  755) [000] ...1 158017.062415: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21787  HwBinder:755_1-1247  (  755) [000] ...1 158017.080110: tracing_mark_write: E
21788   SensorService-1249  ( 1136) [003] ...1 158017.080494: tracing_mark_write: E
21789   SensorService-1249  ( 1136) [003] ...1 158017.080757: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21790  HwBinder:755_1-1247  (  755) [000] ...1 158017.081178: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21791  HwBinder:755_1-1247  (  755) [001] ...1 158017.099253: tracing_mark_write: E
21792   SensorService-1249  ( 1136) [003] ...1 158017.099509: tracing_mark_write: E
21793   SensorService-1249  ( 1136) [003] ...1 158017.099821: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21794  HwBinder:755_1-1247  (  755) [001] ...1 158017.100054: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21795  HwBinder:755_1-1247  (  755) [001] ...1 158017.119891: tracing_mark_write: E
21796   SensorService-1249  ( 1136) [003] ...1 158017.120289: tracing_mark_write: E
21797   SensorService-1249  ( 1136) [003] ...1 158017.120566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21798  HwBinder:755_1-1247  (  755) [001] ...1 158017.120806: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21799  HwBinder:755_1-1247  (  755) [000] ...1 158017.140534: tracing_mark_write: E
21800   SensorService-1249  ( 1136) [003] ...1 158017.140820: tracing_mark_write: E
21801   SensorService-1249  ( 1136) [003] ...1 158017.141224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21802  HwBinder:755_1-1247  (  755) [000] ...1 158017.141676: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21803  HwBinder:755_1-1247  (  755) [001] ...1 158017.159113: tracing_mark_write: E
21804   SensorService-1249  ( 1136) [003] ...1 158017.159372: tracing_mark_write: E
21805   SensorService-1249  ( 1136) [003] ...1 158017.159692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21806  HwBinder:755_1-1247  (  755) [001] ...1 158017.159923: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21807  HwBinder:755_1-1247  (  755) [001] ...1 158017.179143: tracing_mark_write: E
21808   SensorService-1249  ( 1136) [003] ...1 158017.179421: tracing_mark_write: E
21809   SensorService-1249  ( 1136) [003] ...1 158017.179722: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21810  HwBinder:755_1-1247  (  755) [001] ...1 158017.179957: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21811  HwBinder:755_1-1247  (  755) [002] ...1 158017.198678: tracing_mark_write: E
21812   SensorService-1249  ( 1136) [003] ...1 158017.198880: tracing_mark_write: E
21813   SensorService-1249  ( 1136) [003] ...1 158017.198965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21814  HwBinder:755_1-1247  (  755) [002] ...1 158017.199151: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21815  HwBinder:755_1-1247  (  755) [001] ...1 158017.218425: tracing_mark_write: E
21816   SensorService-1249  ( 1136) [003] ...1 158017.218509: tracing_mark_write: E
21817   SensorService-1249  ( 1136) [003] ...1 158017.218606: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21818  HwBinder:755_1-1247  (  755) [001] ...1 158017.218664: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21819      android.bg-1155  ( 1136) [003] ...1 158017.236268: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21820  memtrack@1.0-s-745   (  745) [003] ...1 158017.236378: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21821  memtrack@1.0-s-745   (  745) [003] ...1 158017.236396: tracing_mark_write: E
21822      android.bg-1155  ( 1136) [003] ...1 158017.236450: tracing_mark_write: E
21823      android.bg-1155  ( 1136) [003] ...1 158017.236460: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21824  memtrack@1.0-s-745   (  745) [003] ...1 158017.236489: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21825  memtrack@1.0-s-745   (  745) [003] ...1 158017.236533: tracing_mark_write: E
21826      android.bg-1155  ( 1136) [003] ...1 158017.236565: tracing_mark_write: E
21827      android.bg-1155  ( 1136) [003] ...1 158017.236573: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21828  memtrack@1.0-s-745   (  745) [003] ...1 158017.236599: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21829  memtrack@1.0-s-745   (  745) [003] ...1 158017.236621: tracing_mark_write: E
21830      android.bg-1155  ( 1136) [003] ...1 158017.236651: tracing_mark_write: E
21831      android.bg-1155  ( 1136) [003] ...1 158017.236658: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21832  memtrack@1.0-s-745   (  745) [002] ...1 158017.236695: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21833  memtrack@1.0-s-745   (  745) [002] ...1 158017.236702: tracing_mark_write: E
21834      android.bg-1155  ( 1136) [003] ...1 158017.236732: tracing_mark_write: E
21835      android.bg-1155  ( 1136) [003] ...1 158017.236739: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21836  memtrack@1.0-s-745   (  745) [003] ...1 158017.236768: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21837  memtrack@1.0-s-745   (  745) [003] ...1 158017.236773: tracing_mark_write: E
21838      android.bg-1155  ( 1136) [003] ...1 158017.236802: tracing_mark_write: E
21839  HwBinder:755_1-1247  (  755) [002] ...1 158017.238649: tracing_mark_write: E
21840   SensorService-1249  ( 1136) [003] ...1 158017.238740: tracing_mark_write: E
21841   SensorService-1249  ( 1136) [003] ...1 158017.238818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21842  HwBinder:755_1-1247  (  755) [002] ...1 158017.238989: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21843  HwBinder:755_1-1247  (  755) [000] ...1 158017.259084: tracing_mark_write: E
21844   SensorService-1249  ( 1136) [003] ...1 158017.259294: tracing_mark_write: E
21845   SensorService-1249  ( 1136) [003] ...1 158017.259415: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21846  HwBinder:755_1-1247  (  755) [000] ...1 158017.259532: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21847  HwBinder:755_1-1247  (  755) [004] ...1 158017.278694: tracing_mark_write: E
21848   SensorService-1249  ( 1136) [003] ...1 158017.278772: tracing_mark_write: E
21849   SensorService-1249  ( 1136) [003] ...1 158017.278848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21850  HwBinder:755_1-1247  (  755) [004] ...1 158017.278904: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21851      android.bg-1155  ( 1136) [006] ...1 158017.279070: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21852  memtrack@1.0-s-745   (  745) [003] ...1 158017.279143: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21853  memtrack@1.0-s-745   (  745) [003] ...1 158017.279160: tracing_mark_write: E
21854      android.bg-1155  ( 1136) [003] ...1 158017.279218: tracing_mark_write: E
21855      android.bg-1155  ( 1136) [003] ...1 158017.279230: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21856  memtrack@1.0-s-745   (  745) [000] ...1 158017.279270: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21857  memtrack@1.0-s-745   (  745) [000] ...1 158017.279314: tracing_mark_write: E
21858      android.bg-1155  ( 1136) [000] ...1 158017.279356: tracing_mark_write: E
21859      android.bg-1155  ( 1136) [000] ...1 158017.279365: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21860  memtrack@1.0-s-745   (  745) [000] ...1 158017.279393: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21861  memtrack@1.0-s-745   (  745) [000] ...1 158017.279416: tracing_mark_write: E
21862      android.bg-1155  ( 1136) [000] ...1 158017.279447: tracing_mark_write: E
21863      android.bg-1155  ( 1136) [000] ...1 158017.279454: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21864  memtrack@1.0-s-745   (  745) [000] ...1 158017.279481: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21865  memtrack@1.0-s-745   (  745) [000] ...1 158017.279486: tracing_mark_write: E
21866      android.bg-1155  ( 1136) [000] ...1 158017.279515: tracing_mark_write: E
21867      android.bg-1155  ( 1136) [000] ...1 158017.279522: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
21868  memtrack@1.0-s-745   (  745) [000] ...1 158017.279547: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
21869  memtrack@1.0-s-745   (  745) [000] ...1 158017.279552: tracing_mark_write: E
21870      android.bg-1155  ( 1136) [000] ...1 158017.279580: tracing_mark_write: E
21871  HwBinder:755_1-1247  (  755) [004] ...1 158017.298784: tracing_mark_write: E
21872   SensorService-1249  ( 1136) [003] ...1 158017.298857: tracing_mark_write: E
21873   SensorService-1249  ( 1136) [003] ...1 158017.298925: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21874  HwBinder:755_1-1247  (  755) [004] ...1 158017.299075: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21875  HwBinder:755_1-1247  (  755) [000] ...1 158017.318639: tracing_mark_write: E
21876   SensorService-1249  ( 1136) [003] ...1 158017.318716: tracing_mark_write: E
21877   SensorService-1249  ( 1136) [003] ...1 158017.318803: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21878  HwBinder:755_1-1247  (  755) [000] ...1 158017.318864: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21879  HwBinder:755_1-1247  (  755) [002] ...1 158017.338605: tracing_mark_write: E
21880   SensorService-1249  ( 1136) [003] ...1 158017.338725: tracing_mark_write: E
21881   SensorService-1249  ( 1136) [003] ...1 158017.338849: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21882  HwBinder:755_1-1247  (  755) [002] ...1 158017.338925: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21883  HwBinder:755_1-1247  (  755) [000] ...1 158017.359491: tracing_mark_write: E
21884   SensorService-1249  ( 1136) [003] ...1 158017.359697: tracing_mark_write: E
21885   SensorService-1249  ( 1136) [003] ...1 158017.359847: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21886  HwBinder:755_1-1247  (  755) [000] ...1 158017.360098: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21887  HwBinder:755_1-1247  (  755) [000] ...1 158017.379258: tracing_mark_write: E
21888   SensorService-1249  ( 1136) [003] ...1 158017.379539: tracing_mark_write: E
21889   SensorService-1249  ( 1136) [003] ...1 158017.379680: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21890  HwBinder:755_1-1247  (  755) [000] ...1 158017.379953: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21891  HwBinder:755_1-1247  (  755) [000] ...1 158017.400267: tracing_mark_write: E
21892   SensorService-1249  ( 1136) [003] ...1 158017.400381: tracing_mark_write: E
21893   SensorService-1249  ( 1136) [003] ...1 158017.400488: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21894  HwBinder:755_1-1247  (  755) [000] ...1 158017.400695: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21895  HwBinder:755_1-1247  (  755) [000] ...1 158017.420427: tracing_mark_write: E
21896   SensorService-1249  ( 1136) [003] ...1 158017.420529: tracing_mark_write: E
21897   SensorService-1249  ( 1136) [003] ...1 158017.420637: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21898  HwBinder:755_1-1247  (  755) [000] ...1 158017.420822: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21899  HwBinder:755_1-1247  (  755) [000] ...1 158017.440315: tracing_mark_write: E
21900   SensorService-1249  ( 1136) [003] ...1 158017.440413: tracing_mark_write: E
21901   SensorService-1249  ( 1136) [003] ...1 158017.440516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21902  HwBinder:755_1-1247  (  755) [000] ...1 158017.440674: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21903  HwBinder:755_1-1247  (  755) [000] ...1 158017.459770: tracing_mark_write: E
21904   SensorService-1249  ( 1136) [003] ...1 158017.460179: tracing_mark_write: E
21905   SensorService-1249  ( 1136) [003] ...1 158017.460449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21906  HwBinder:755_1-1247  (  755) [000] ...1 158017.460941: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21907  HwBinder:755_1-1247  (  755) [000] ...1 158017.481091: tracing_mark_write: E
21908   SensorService-1249  ( 1136) [003] ...1 158017.481765: tracing_mark_write: E
21909   SensorService-1249  ( 1136) [003] ...1 158017.482146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21910  HwBinder:755_1-1247  (  755) [000] ...1 158017.482397: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21911  HwBinder:755_1-1247  (  755) [001] ...1 158017.499035: tracing_mark_write: E
21912   SensorService-1249  ( 1136) [003] ...1 158017.499250: tracing_mark_write: E
21913   SensorService-1249  ( 1136) [003] ...1 158017.499536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21914  HwBinder:755_1-1247  (  755) [001] ...1 158017.499744: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21915  HwBinder:755_1-1247  (  755) [004] ...1 158017.520936: tracing_mark_write: E
21916   SensorService-1249  ( 1136) [003] ...1 158017.521086: tracing_mark_write: E
21917   SensorService-1249  ( 1136) [003] ...1 158017.521267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21918  HwBinder:755_1-1247  (  755) [004] ...1 158017.521735: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21919  HwBinder:755_1-1247  (  755) [001] ...1 158017.539254: tracing_mark_write: E
21920   SensorService-1249  ( 1136) [003] ...1 158017.539454: tracing_mark_write: E
21921   SensorService-1249  ( 1136) [003] ...1 158017.539666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21922  HwBinder:755_1-1247  (  755) [001] ...1 158017.539796: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21923  HwBinder:755_1-1247  (  755) [000] ...1 158017.559354: tracing_mark_write: E
21924   SensorService-1249  ( 1136) [003] ...1 158017.559518: tracing_mark_write: E
21925   SensorService-1249  ( 1136) [003] ...1 158017.559773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21926  HwBinder:755_1-1247  (  755) [000] ...1 158017.559870: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21927  HwBinder:755_1-1247  (  755) [000] ...1 158017.579751: tracing_mark_write: E
21928   SensorService-1249  ( 1136) [003] ...1 158017.580130: tracing_mark_write: E
21929   SensorService-1249  ( 1136) [003] ...1 158017.580327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21930  HwBinder:755_1-1247  (  755) [000] ...1 158017.580623: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21931  HwBinder:755_1-1247  (  755) [000] ...1 158017.601150: tracing_mark_write: E
21932   SensorService-1249  ( 1136) [003] ...1 158017.601598: tracing_mark_write: E
21933   SensorService-1249  ( 1136) [003] ...1 158017.601787: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21934  HwBinder:755_1-1247  (  755) [000] ...1 158017.601888: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21935  HwBinder:755_1-1247  (  755) [000] ...1 158017.620668: tracing_mark_write: E
21936   SensorService-1249  ( 1136) [003] ...1 158017.621135: tracing_mark_write: E
21937   SensorService-1249  ( 1136) [003] ...1 158017.621323: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21938  HwBinder:755_1-1247  (  755) [000] ...1 158017.621663: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21939  HwBinder:755_1-1247  (  755) [000] ...1 158017.641768: tracing_mark_write: E
21940   SensorService-1249  ( 1136) [003] ...1 158017.642484: tracing_mark_write: E
21941   SensorService-1249  ( 1136) [003] ...1 158017.642854: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21942  HwBinder:755_1-1247  (  755) [000] ...1 158017.643142: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21943  HwBinder:755_1-1247  (  755) [000] ...1 158017.662730: tracing_mark_write: E
21944   SensorService-1249  ( 1136) [003] ...1 158017.663407: tracing_mark_write: E
21945   SensorService-1249  ( 1136) [003] ...1 158017.663755: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21946  HwBinder:755_1-1247  (  755) [000] ...1 158017.664375: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21947  HwBinder:755_1-1247  (  755) [000] ...1 158017.681540: tracing_mark_write: E
21948   SensorService-1249  ( 1136) [003] ...1 158017.681813: tracing_mark_write: E
21949   SensorService-1249  ( 1136) [003] ...1 158017.682369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21950  HwBinder:755_1-1247  (  755) [000] ...1 158017.682622: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21951  HwBinder:755_1-1247  (  755) [000] ...1 158017.700930: tracing_mark_write: E
21952   SensorService-1249  ( 1136) [003] ...1 158017.701206: tracing_mark_write: E
21953   SensorService-1249  ( 1136) [003] ...1 158017.701493: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21954  HwBinder:755_1-1247  (  755) [000] ...1 158017.702004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21955  HwBinder:755_1-1247  (  755) [000] ...1 158017.720167: tracing_mark_write: E
21956   SensorService-1249  ( 1136) [003] ...1 158017.720666: tracing_mark_write: E
21957   SensorService-1249  ( 1136) [003] ...1 158017.720955: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21958  HwBinder:755_1-1247  (  755) [000] ...1 158017.721391: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21959  HwBinder:755_1-1247  (  755) [000] ...1 158017.740756: tracing_mark_write: E
21960   SensorService-1249  ( 1136) [003] ...1 158017.741604: tracing_mark_write: E
21961   SensorService-1249  ( 1136) [003] ...1 158017.741963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21962  HwBinder:755_1-1247  (  755) [000] ...1 158017.742579: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21963  HwBinder:755_1-1247  (  755) [000] ...1 158017.760133: tracing_mark_write: E
21964   SensorService-1249  ( 1136) [003] ...1 158017.760633: tracing_mark_write: E
21965   SensorService-1249  ( 1136) [003] ...1 158017.760841: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21966  HwBinder:755_1-1247  (  755) [000] ...1 158017.761008: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21967  HwBinder:755_1-1247  (  755) [000] ...1 158017.779821: tracing_mark_write: E
21968   SensorService-1249  ( 1136) [003] ...1 158017.779944: tracing_mark_write: E
21969   SensorService-1249  ( 1136) [003] ...1 158017.780070: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21970  HwBinder:755_1-1247  (  755) [000] ...1 158017.780284: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21971  HwBinder:755_1-1247  (  755) [000] ...1 158017.801926: tracing_mark_write: E
21972   SensorService-1249  ( 1136) [003] ...1 158017.802436: tracing_mark_write: E
21973   SensorService-1249  ( 1136) [003] ...1 158017.802706: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21974  HwBinder:755_1-1247  (  755) [000] ...1 158017.803172: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21975  HwBinder:755_1-1247  (  755) [000] ...1 158017.820158: tracing_mark_write: E
21976   SensorService-1249  ( 1136) [003] ...1 158017.820568: tracing_mark_write: E
21977   SensorService-1249  ( 1136) [003] ...1 158017.820782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21978  HwBinder:755_1-1247  (  755) [000] ...1 158017.821274: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21979  HwBinder:755_1-1247  (  755) [000] ...1 158017.841020: tracing_mark_write: E
21980   SensorService-1249  ( 1136) [003] ...1 158017.841406: tracing_mark_write: E
21981   SensorService-1249  ( 1136) [003] ...1 158017.841800: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21982  HwBinder:755_1-1247  (  755) [000] ...1 158017.842056: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21983  HwBinder:755_1-1247  (  755) [000] ...1 158017.859670: tracing_mark_write: E
21984   SensorService-1249  ( 1136) [003] ...1 158017.859859: tracing_mark_write: E
21985   SensorService-1249  ( 1136) [003] ...1 158017.860075: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21986  HwBinder:755_1-1247  (  755) [000] ...1 158017.860268: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21987  HwBinder:755_1-1247  (  755) [000] ...1 158017.882011: tracing_mark_write: E
21988   SensorService-1249  ( 1136) [003] ...1 158017.882924: tracing_mark_write: E
21989   SensorService-1249  ( 1136) [003] ...1 158017.883473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21990  HwBinder:755_1-1247  (  755) [000] ...1 158017.884149: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21991  HwBinder:755_1-1247  (  755) [000] ...1 158017.903191: tracing_mark_write: E
21992   SensorService-1249  ( 1136) [003] ...1 158017.904485: tracing_mark_write: E
21993   SensorService-1249  ( 1136) [003] ...1 158017.905002: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21994  HwBinder:755_1-1247  (  755) [000] ...1 158017.905319: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21995  HwBinder:755_1-1247  (  755) [000] ...1 158017.920184: tracing_mark_write: E
21996   SensorService-1249  ( 1136) [003] ...1 158017.920421: tracing_mark_write: E
21997   SensorService-1249  ( 1136) [003] ...1 158017.920685: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
21998  HwBinder:755_1-1247  (  755) [000] ...1 158017.921017: tracing_mark_write: B|755|HIDL::ISensors::poll::server
21999  HwBinder:755_1-1247  (  755) [000] ...1 158017.943149: tracing_mark_write: E
22000   SensorService-1249  ( 1136) [003] ...1 158017.943649: tracing_mark_write: E
22001   SensorService-1249  ( 1136) [003] ...1 158017.944050: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22002  HwBinder:755_1-1247  (  755) [000] ...1 158017.944659: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22003  HwBinder:755_1-1247  (  755) [000] ...1 158017.961800: tracing_mark_write: E
22004   SensorService-1249  ( 1136) [003] ...1 158017.962677: tracing_mark_write: E
22005   SensorService-1249  ( 1136) [003] ...1 158017.963224: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22006  HwBinder:755_1-1247  (  755) [000] ...1 158017.964047: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22007  HwBinder:755_1-1247  (  755) [000] ...1 158017.980645: tracing_mark_write: E
22008   SensorService-1249  ( 1136) [003] ...1 158017.981206: tracing_mark_write: E
22009   SensorService-1249  ( 1136) [003] ...1 158017.981494: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22010  HwBinder:755_1-1247  (  755) [000] ...1 158017.981966: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22011  HwBinder:755_1-1247  (  755) [000] ...1 158018.000084: tracing_mark_write: E
22012   SensorService-1249  ( 1136) [003] ...1 158018.000494: tracing_mark_write: E
22013   SensorService-1249  ( 1136) [003] ...1 158018.000739: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22014  HwBinder:755_1-1247  (  755) [000] ...1 158018.001182: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22015  HwBinder:755_1-1247  (  755) [000] ...1 158018.020229: tracing_mark_write: E
22016   SensorService-1249  ( 1136) [003] ...1 158018.020828: tracing_mark_write: E
22017   SensorService-1249  ( 1136) [003] ...1 158018.021116: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22018  HwBinder:755_1-1247  (  755) [000] ...1 158018.021656: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22019  HwBinder:755_1-1247  (  755) [000] ...1 158018.040365: tracing_mark_write: E
22020   SensorService-1249  ( 1136) [003] ...1 158018.041098: tracing_mark_write: E
22021   SensorService-1249  ( 1136) [003] ...1 158018.041469: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22022  HwBinder:755_1-1247  (  755) [000] ...1 158018.041970: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22023  HwBinder:755_1-1247  (  755) [000] ...1 158018.060778: tracing_mark_write: E
22024   SensorService-1249  ( 1136) [003] ...1 158018.060938: tracing_mark_write: E
22025   SensorService-1249  ( 1136) [003] ...1 158018.061097: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22026  HwBinder:755_1-1247  (  755) [000] ...1 158018.061180: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22027  HwBinder:755_1-1247  (  755) [000] ...1 158018.079811: tracing_mark_write: E
22028   SensorService-1249  ( 1136) [003] ...1 158018.080053: tracing_mark_write: E
22029   SensorService-1249  ( 1136) [003] ...1 158018.080366: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22030  HwBinder:755_1-1247  (  755) [000] ...1 158018.080592: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22031  HwBinder:755_1-1247  (  755) [000] ...1 158018.100342: tracing_mark_write: E
22032   SensorService-1249  ( 1136) [003] ...1 158018.100658: tracing_mark_write: E
22033   SensorService-1249  ( 1136) [003] ...1 158018.101221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22034  HwBinder:755_1-1247  (  755) [000] ...1 158018.101497: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22035  HwBinder:755_1-1247  (  755) [000] ...1 158018.119810: tracing_mark_write: E
22036   SensorService-1249  ( 1136) [003] ...1 158018.120130: tracing_mark_write: E
22037   SensorService-1249  ( 1136) [003] ...1 158018.120328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22038  HwBinder:755_1-1247  (  755) [000] ...1 158018.120621: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22039  HwBinder:755_1-1247  (  755) [000] ...1 158018.139776: tracing_mark_write: E
22040   SensorService-1249  ( 1136) [003] ...1 158018.140068: tracing_mark_write: E
22041   SensorService-1249  ( 1136) [003] ...1 158018.140245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22042  HwBinder:755_1-1247  (  755) [000] ...1 158018.140358: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22043  HwBinder:755_1-1247  (  755) [000] ...1 158018.159334: tracing_mark_write: E
22044   SensorService-1249  ( 1136) [003] ...1 158018.159463: tracing_mark_write: E
22045   SensorService-1249  ( 1136) [003] ...1 158018.159591: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22046  HwBinder:755_1-1247  (  755) [000] ...1 158018.159674: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22047  HwBinder:755_1-1247  (  755) [000] ...1 158018.179526: tracing_mark_write: E
22048   SensorService-1249  ( 1136) [003] ...1 158018.179763: tracing_mark_write: E
22049   SensorService-1249  ( 1136) [003] ...1 158018.179893: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22050  HwBinder:755_1-1247  (  755) [000] ...1 158018.179973: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22051  HwBinder:755_1-1247  (  755) [002] ...1 158018.200140: tracing_mark_write: E
22052   SensorService-1249  ( 1136) [003] ...1 158018.200351: tracing_mark_write: E
22053   SensorService-1249  ( 1136) [003] ...1 158018.200466: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22054  HwBinder:755_1-1247  (  755) [002] ...1 158018.200532: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22055  HwBinder:755_1-1247  (  755) [001] ...1 158018.220150: tracing_mark_write: E
22056   SensorService-1249  ( 1136) [003] ...1 158018.220404: tracing_mark_write: E
22057   SensorService-1249  ( 1136) [003] ...1 158018.220716: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22058  HwBinder:755_1-1247  (  755) [001] ...1 158018.220993: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22059  HwBinder:755_1-1247  (  755) [001] ...1 158018.240268: tracing_mark_write: E
22060   SensorService-1249  ( 1136) [003] ...1 158018.240534: tracing_mark_write: E
22061   SensorService-1249  ( 1136) [003] ...1 158018.240799: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22062  HwBinder:755_1-1247  (  755) [001] ...1 158018.241109: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22063  HwBinder:755_1-1247  (  755) [001] ...1 158018.259414: tracing_mark_write: E
22064   SensorService-1249  ( 1136) [003] ...1 158018.259555: tracing_mark_write: E
22065   SensorService-1249  ( 1136) [003] ...1 158018.259666: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22066  HwBinder:755_1-1247  (  755) [001] ...1 158018.259788: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22067  HwBinder:755_1-1247  (  755) [000] ...1 158018.280193: tracing_mark_write: E
22068   SensorService-1249  ( 1136) [003] ...1 158018.280303: tracing_mark_write: E
22069   SensorService-1249  ( 1136) [003] ...1 158018.280402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22070  HwBinder:755_1-1247  (  755) [000] ...1 158018.280463: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22071  HwBinder:755_1-1247  (  755) [000] ...1 158018.302393: tracing_mark_write: E
22072   SensorService-1249  ( 1136) [003] ...1 158018.302492: tracing_mark_write: E
22073   SensorService-1249  ( 1136) [003] ...1 158018.302604: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22074  HwBinder:755_1-1247  (  755) [000] ...1 158018.302712: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22075  HwBinder:755_1-1247  (  755) [004] ...1 158018.319471: tracing_mark_write: E
22076   SensorService-1249  ( 1136) [003] ...1 158018.319563: tracing_mark_write: E
22077   SensorService-1249  ( 1136) [003] ...1 158018.319665: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22078  HwBinder:755_1-1247  (  755) [004] ...1 158018.319738: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22079  HwBinder:755_1-1247  (  755) [006] ...1 158018.339709: tracing_mark_write: E
22080   SensorService-1249  ( 1136) [003] ...1 158018.339785: tracing_mark_write: E
22081   SensorService-1249  ( 1136) [003] ...1 158018.339868: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22082  sensors@1.0-se-755   (  755) [001] ...1 158018.339947: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22083  sensors@1.0-se-755   (  755) [000] ...1 158018.359385: tracing_mark_write: E
22084   SensorService-1249  ( 1136) [003] ...1 158018.359464: tracing_mark_write: E
22085   SensorService-1249  ( 1136) [003] ...1 158018.359537: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22086  sensors@1.0-se-755   (  755) [000] ...1 158018.359601: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22087  sensors@1.0-se-755   (  755) [000] ...1 158018.379533: tracing_mark_write: E
22088   SensorService-1249  ( 1136) [003] ...1 158018.379607: tracing_mark_write: E
22089   SensorService-1249  ( 1136) [003] ...1 158018.379692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22090  sensors@1.0-se-755   (  755) [000] ...1 158018.379749: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22091  sensors@1.0-se-755   (  755) [001] ...1 158018.399912: tracing_mark_write: E
22092   SensorService-1249  ( 1136) [003] ...1 158018.399985: tracing_mark_write: E
22093   SensorService-1249  ( 1136) [003] ...1 158018.400063: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22094  sensors@1.0-se-755   (  755) [001] ...1 158018.400118: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22095  sensors@1.0-se-755   (  755) [001] ...1 158018.421095: tracing_mark_write: E
22096   SensorService-1249  ( 1136) [003] ...1 158018.421382: tracing_mark_write: E
22097   SensorService-1249  ( 1136) [003] ...1 158018.421522: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22098  sensors@1.0-se-755   (  755) [001] ...1 158018.421771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22099  sensors@1.0-se-755   (  755) [001] ...1 158018.440204: tracing_mark_write: E
22100   SensorService-1249  ( 1136) [003] ...1 158018.440422: tracing_mark_write: E
22101   SensorService-1249  ( 1136) [003] ...1 158018.440503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22102  sensors@1.0-se-755   (  755) [001] ...1 158018.440667: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22103  sensors@1.0-se-755   (  755) [001] ...1 158018.460972: tracing_mark_write: E
22104   SensorService-1249  ( 1136) [003] ...1 158018.461328: tracing_mark_write: E
22105   SensorService-1249  ( 1136) [003] ...1 158018.461524: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22106  sensors@1.0-se-755   (  755) [001] ...1 158018.461681: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22107  sensors@1.0-se-755   (  755) [001] ...1 158018.479742: tracing_mark_write: E
22108   SensorService-1249  ( 1136) [003] ...1 158018.479911: tracing_mark_write: E
22109   SensorService-1249  ( 1136) [003] ...1 158018.480092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22110  sensors@1.0-se-755   (  755) [001] ...1 158018.480254: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22111  sensors@1.0-se-755   (  755) [004] ...1 158018.499740: tracing_mark_write: E
22112   SensorService-1249  ( 1136) [003] ...1 158018.499840: tracing_mark_write: E
22113   SensorService-1249  ( 1136) [003] ...1 158018.499963: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22114  sensors@1.0-se-755   (  755) [004] ...1 158018.500144: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22115  sensors@1.0-se-755   (  755) [004] ...1 158018.520286: tracing_mark_write: E
22116   SensorService-1249  ( 1136) [003] ...1 158018.520390: tracing_mark_write: E
22117   SensorService-1249  ( 1136) [003] ...1 158018.520536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22118  sensors@1.0-se-755   (  755) [004] ...1 158018.520905: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22119  sensors@1.0-se-755   (  755) [004] ...1 158018.540894: tracing_mark_write: E
22120   SensorService-1249  ( 1136) [003] ...1 158018.540995: tracing_mark_write: E
22121   SensorService-1249  ( 1136) [003] ...1 158018.541128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22122  sensors@1.0-se-755   (  755) [004] ...1 158018.542639: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22123  sensors@1.0-se-755   (  755) [004] ...1 158018.561787: tracing_mark_write: E
22124   SensorService-1249  ( 1136) [003] ...1 158018.562077: tracing_mark_write: E
22125   SensorService-1249  ( 1136) [003] ...1 158018.562191: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22126  sensors@1.0-se-755   (  755) [004] ...1 158018.562591: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22127  sensors@1.0-se-755   (  755) [005] ...1 158018.580471: tracing_mark_write: E
22128   SensorService-1249  ( 1136) [003] ...1 158018.580679: tracing_mark_write: E
22129   SensorService-1249  ( 1136) [003] ...1 158018.581029: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22130  sensors@1.0-se-755   (  755) [005] ...1 158018.581141: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22131  sensors@1.0-se-755   (  755) [005] ...1 158018.603012: tracing_mark_write: E
22132   SensorService-1249  ( 1136) [003] ...1 158018.603719: tracing_mark_write: E
22133   SensorService-1249  ( 1136) [003] ...1 158018.604092: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22134  sensors@1.0-se-755   (  755) [005] ...1 158018.605824: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22135  sensors@1.0-se-755   (  755) [005] ...1 158018.621936: tracing_mark_write: E
22136   SensorService-1249  ( 1136) [003] ...1 158018.622433: tracing_mark_write: E
22137   SensorService-1249  ( 1136) [003] ...1 158018.622638: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22138  sensors@1.0-se-755   (  755) [005] ...1 158018.624319: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22139  sensors@1.0-se-755   (  755) [005] ...1 158018.641883: tracing_mark_write: E
22140   SensorService-1249  ( 1136) [003] ...1 158018.642423: tracing_mark_write: E
22141   SensorService-1249  ( 1136) [003] ...1 158018.642670: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22142  sensors@1.0-se-755   (  755) [005] ...1 158018.644577: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22143  sensors@1.0-se-755   (  755) [005] ...1 158018.661999: tracing_mark_write: E
22144   SensorService-1249  ( 1136) [003] ...1 158018.662532: tracing_mark_write: E
22145   SensorService-1249  ( 1136) [003] ...1 158018.662766: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22146  sensors@1.0-se-755   (  755) [005] ...1 158018.664726: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22147  sensors@1.0-se-755   (  755) [005] ...1 158018.681678: tracing_mark_write: E
22148   SensorService-1249  ( 1136) [003] ...1 158018.682355: tracing_mark_write: E
22149   SensorService-1249  ( 1136) [003] ...1 158018.682664: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22150  sensors@1.0-se-755   (  755) [005] ...1 158018.682849: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22151  sensors@1.0-se-755   (  755) [005] ...1 158018.701221: tracing_mark_write: E
22152   SensorService-1249  ( 1136) [003] ...1 158018.701861: tracing_mark_write: E
22153   SensorService-1249  ( 1136) [003] ...1 158018.702254: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22154  sensors@1.0-se-755   (  755) [005] ...1 158018.702468: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22155  sensors@1.0-se-755   (  755) [005] ...1 158018.723192: tracing_mark_write: E
22156   SensorService-1249  ( 1136) [003] ...1 158018.725082: tracing_mark_write: E
22157   SensorService-1249  ( 1136) [003] ...1 158018.725421: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22158  sensors@1.0-se-755   (  755) [005] ...1 158018.726324: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22159  sensors@1.0-se-755   (  755) [005] ...1 158018.740745: tracing_mark_write: E
22160   SensorService-1249  ( 1136) [003] ...1 158018.741021: tracing_mark_write: E
22161   SensorService-1249  ( 1136) [003] ...1 158018.741245: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22162  sensors@1.0-se-755   (  755) [005] ...1 158018.741530: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22163  sensors@1.0-se-755   (  755) [004] ...1 158018.761918: tracing_mark_write: E
22164   SensorService-1249  ( 1136) [003] ...1 158018.762127: tracing_mark_write: E
22165   SensorService-1249  ( 1136) [003] ...1 158018.762539: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22166  sensors@1.0-se-755   (  755) [004] ...1 158018.763055: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22167  sensors@1.0-se-755   (  755) [004] ...1 158018.780512: tracing_mark_write: E
22168   SensorService-1249  ( 1136) [003] ...1 158018.780806: tracing_mark_write: E
22169   SensorService-1249  ( 1136) [003] ...1 158018.781274: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22170  sensors@1.0-se-755   (  755) [004] ...1 158018.781500: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22171  sensors@1.0-se-755   (  755) [004] ...1 158018.802765: tracing_mark_write: E
22172   SensorService-1249  ( 1136) [003] ...1 158018.803253: tracing_mark_write: E
22173   SensorService-1249  ( 1136) [003] ...1 158018.803784: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22174  sensors@1.0-se-755   (  755) [004] ...1 158018.804544: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22175  sensors@1.0-se-755   (  755) [004] ...1 158018.822423: tracing_mark_write: E
22176   SensorService-1249  ( 1136) [003] ...1 158018.823128: tracing_mark_write: E
22177   SensorService-1249  ( 1136) [003] ...1 158018.823521: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22178  sensors@1.0-se-755   (  755) [004] ...1 158018.823825: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22179  sensors@1.0-se-755   (  755) [004] ...1 158018.842361: tracing_mark_write: E
22180   SensorService-1249  ( 1136) [003] ...1 158018.843181: tracing_mark_write: E
22181   SensorService-1249  ( 1136) [003] ...1 158018.843536: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22182  sensors@1.0-se-755   (  755) [004] ...1 158018.843841: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22183  sensors@1.0-se-755   (  755) [004] ...1 158018.864656: tracing_mark_write: E
22184   SensorService-1249  ( 1136) [003] ...1 158018.864908: tracing_mark_write: E
22185   SensorService-1249  ( 1136) [003] ...1 158018.865195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22186  sensors@1.0-se-755   (  755) [004] ...1 158018.865373: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22187  sensors@1.0-se-755   (  755) [004] ...1 158018.882008: tracing_mark_write: E
22188   SensorService-1249  ( 1136) [003] ...1 158018.882513: tracing_mark_write: E
22189   SensorService-1249  ( 1136) [003] ...1 158018.882814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22190  sensors@1.0-se-755   (  755) [004] ...1 158018.883332: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22191  sensors@1.0-se-755   (  755) [004] ...1 158018.900570: tracing_mark_write: E
22192   SensorService-1249  ( 1136) [003] ...1 158018.900779: tracing_mark_write: E
22193   SensorService-1249  ( 1136) [003] ...1 158018.901149: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22194  sensors@1.0-se-755   (  755) [004] ...1 158018.901332: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22195  sensors@1.0-se-755   (  755) [004] ...1 158018.922206: tracing_mark_write: E
22196   SensorService-1249  ( 1136) [003] ...1 158018.922536: tracing_mark_write: E
22197   SensorService-1249  ( 1136) [003] ...1 158018.922844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22198  sensors@1.0-se-755   (  755) [004] ...1 158018.923701: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22199  sensors@1.0-se-755   (  755) [004] ...1 158018.942787: tracing_mark_write: E
22200   SensorService-1249  ( 1136) [003] ...1 158018.943482: tracing_mark_write: E
22201   SensorService-1249  ( 1136) [003] ...1 158018.943881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22202  sensors@1.0-se-755   (  755) [004] ...1 158018.945537: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22203  sensors@1.0-se-755   (  755) [004] ...1 158018.962514: tracing_mark_write: E
22204   SensorService-1249  ( 1136) [003] ...1 158018.963115: tracing_mark_write: E
22205   SensorService-1249  ( 1136) [003] ...1 158018.963400: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22206  sensors@1.0-se-755   (  755) [004] ...1 158018.965305: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22207  sensors@1.0-se-755   (  755) [004] ...1 158018.982464: tracing_mark_write: E
22208   SensorService-1249  ( 1136) [003] ...1 158018.983038: tracing_mark_write: E
22209   SensorService-1249  ( 1136) [003] ...1 158018.983280: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22210  sensors@1.0-se-755   (  755) [004] ...1 158018.985357: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22211  sensors@1.0-se-755   (  755) [004] ...1 158019.002531: tracing_mark_write: E
22212   SensorService-1249  ( 1136) [003] ...1 158019.003097: tracing_mark_write: E
22213   SensorService-1249  ( 1136) [003] ...1 158019.003319: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22214  sensors@1.0-se-755   (  755) [004] ...1 158019.005400: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22215  sensors@1.0-se-755   (  755) [004] ...1 158019.021668: tracing_mark_write: E
22216   SensorService-1249  ( 1136) [003] ...1 158019.021938: tracing_mark_write: E
22217   SensorService-1249  ( 1136) [003] ...1 158019.022146: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22218  sensors@1.0-se-755   (  755) [004] ...1 158019.023350: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22219  sensors@1.0-se-755   (  755) [004] ...1 158019.041978: tracing_mark_write: E
22220   SensorService-1249  ( 1136) [003] ...1 158019.042213: tracing_mark_write: E
22221   SensorService-1249  ( 1136) [003] ...1 158019.042385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22222  sensors@1.0-se-755   (  755) [004] ...1 158019.043815: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22223  sensors@1.0-se-755   (  755) [004] ...1 158019.063312: tracing_mark_write: E
22224   SensorService-1249  ( 1136) [003] ...1 158019.063749: tracing_mark_write: E
22225   SensorService-1249  ( 1136) [003] ...1 158019.064125: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22226  sensors@1.0-se-755   (  755) [004] ...1 158019.066439: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22227  sensors@1.0-se-755   (  755) [004] ...1 158019.081138: tracing_mark_write: E
22228   SensorService-1249  ( 1136) [003] ...1 158019.081324: tracing_mark_write: E
22229   SensorService-1249  ( 1136) [003] ...1 158019.081445: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22230  sensors@1.0-se-755   (  755) [004] ...1 158019.082203: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22231  sensors@1.0-se-755   (  755) [004] ...1 158019.101486: tracing_mark_write: E
22232   SensorService-1249  ( 1136) [003] ...1 158019.101762: tracing_mark_write: E
22233   SensorService-1249  ( 1136) [003] ...1 158019.101881: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22234  sensors@1.0-se-755   (  755) [004] ...1 158019.102510: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22235  sensors@1.0-se-755   (  755) [004] ...1 158019.121595: tracing_mark_write: E
22236   SensorService-1249  ( 1136) [003] ...1 158019.121882: tracing_mark_write: E
22237   SensorService-1249  ( 1136) [003] ...1 158019.121997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22238  sensors@1.0-se-755   (  755) [004] ...1 158019.122612: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22239  sensors@1.0-se-755   (  755) [004] ...1 158019.141347: tracing_mark_write: E
22240   SensorService-1249  ( 1136) [003] ...1 158019.141913: tracing_mark_write: E
22241   SensorService-1249  ( 1136) [003] ...1 158019.142242: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22242  sensors@1.0-se-755   (  755) [004] ...1 158019.142506: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22243  sensors@1.0-se-755   (  755) [004] ...1 158019.161291: tracing_mark_write: E
22244   SensorService-1249  ( 1136) [003] ...1 158019.161658: tracing_mark_write: E
22245   SensorService-1249  ( 1136) [003] ...1 158019.161997: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22246  sensors@1.0-se-755   (  755) [004] ...1 158019.162165: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22247  sensors@1.0-se-755   (  755) [000] ...1 158019.181324: tracing_mark_write: E
22248   SensorService-1249  ( 1136) [003] ...1 158019.181419: tracing_mark_write: E
22249   SensorService-1249  ( 1136) [003] ...1 158019.181532: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22250  sensors@1.0-se-755   (  755) [000] ...1 158019.181598: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22251  sensors@1.0-se-755   (  755) [001] ...1 158019.200378: tracing_mark_write: E
22252   SensorService-1249  ( 1136) [003] ...1 158019.200541: tracing_mark_write: E
22253   SensorService-1249  ( 1136) [003] ...1 158019.200694: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22254  sensors@1.0-se-755   (  755) [001] ...1 158019.200792: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22255  sensors@1.0-se-755   (  755) [001] ...1 158019.220494: tracing_mark_write: E
22256   SensorService-1249  ( 1136) [003] ...1 158019.220667: tracing_mark_write: E
22257   SensorService-1249  ( 1136) [003] ...1 158019.220758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22258  sensors@1.0-se-755   (  755) [001] ...1 158019.220813: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22259      android.bg-1155  ( 1136) [006] ...1 158019.222325: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
22260  memtrack@1.0-s-745   (  745) [006] ...1 158019.222403: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
22261  memtrack@1.0-s-745   (  745) [006] ...1 158019.222416: tracing_mark_write: E
22262      android.bg-1155  ( 1136) [006] ...1 158019.222458: tracing_mark_write: E
22263      android.bg-1155  ( 1136) [006] ...1 158019.222467: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
22264  memtrack@1.0-s-745   (  745) [006] ...1 158019.222489: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
22265  memtrack@1.0-s-745   (  745) [006] ...1 158019.222521: tracing_mark_write: E
22266      android.bg-1155  ( 1136) [006] ...1 158019.222546: tracing_mark_write: E
22267      android.bg-1155  ( 1136) [006] ...1 158019.222551: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
22268  memtrack@1.0-s-745   (  745) [006] ...1 158019.222571: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
22269  memtrack@1.0-s-745   (  745) [006] ...1 158019.222587: tracing_mark_write: E
22270      android.bg-1155  ( 1136) [006] ...1 158019.222610: tracing_mark_write: E
22271      android.bg-1155  ( 1136) [006] ...1 158019.222615: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
22272  memtrack@1.0-s-745   (  745) [006] ...1 158019.222634: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
22273  memtrack@1.0-s-745   (  745) [006] ...1 158019.222637: tracing_mark_write: E
22274      android.bg-1155  ( 1136) [006] ...1 158019.222658: tracing_mark_write: E
22275      android.bg-1155  ( 1136) [006] ...1 158019.222663: tracing_mark_write: B|1136|HIDL::IMemtrack::getMemory::client
22276  memtrack@1.0-s-745   (  745) [006] ...1 158019.222681: tracing_mark_write: B|745|HIDL::IMemtrack::getMemory::server
22277  memtrack@1.0-s-745   (  745) [006] ...1 158019.222685: tracing_mark_write: E
22278      android.bg-1155  ( 1136) [006] ...1 158019.222704: tracing_mark_write: E
22279  sensors@1.0-se-755   (  755) [001] ...1 158019.240726: tracing_mark_write: E
22280   SensorService-1249  ( 1136) [003] ...1 158019.240796: tracing_mark_write: E
22281   SensorService-1249  ( 1136) [003] ...1 158019.240906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22282  sensors@1.0-se-755   (  755) [001] ...1 158019.240959: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22283  sensors@1.0-se-755   (  755) [000] ...1 158019.260227: tracing_mark_write: E
22284   SensorService-1249  ( 1136) [003] ...1 158019.260301: tracing_mark_write: E
22285   SensorService-1249  ( 1136) [003] ...1 158019.260369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22286  sensors@1.0-se-755   (  755) [000] ...1 158019.260426: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22287  sensors@1.0-se-755   (  755) [000] ...1 158019.280623: tracing_mark_write: E
22288   SensorService-1249  ( 1136) [003] ...1 158019.280696: tracing_mark_write: E
22289   SensorService-1249  ( 1136) [003] ...1 158019.280771: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22290  sensors@1.0-se-755   (  755) [000] ...1 158019.280828: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22291  sensors@1.0-se-755   (  755) [000] ...1 158019.300802: tracing_mark_write: E
22292   SensorService-1249  ( 1136) [003] ...1 158019.300910: tracing_mark_write: E
22293   SensorService-1249  ( 1136) [003] ...1 158019.300991: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22294  sensors@1.0-se-755   (  755) [000] ...1 158019.301172: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22295  sensors@1.0-se-755   (  755) [000] ...1 158019.321198: tracing_mark_write: E
22296   SensorService-1249  ( 1136) [003] ...1 158019.321279: tracing_mark_write: E
22297   SensorService-1249  ( 1136) [003] ...1 158019.321351: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22298  sensors@1.0-se-755   (  755) [000] ...1 158019.321519: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22299  sensors@1.0-se-755   (  755) [000] ...1 158019.342401: tracing_mark_write: E
22300   SensorService-1249  ( 1136) [003] ...1 158019.342845: tracing_mark_write: E
22301   SensorService-1249  ( 1136) [003] ...1 158019.343077: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22302  sensors@1.0-se-755   (  755) [000] ...1 158019.343288: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22303  sensors@1.0-se-755   (  755) [000] ...1 158019.362765: tracing_mark_write: E
22304   SensorService-1249  ( 1136) [003] ...1 158019.363240: tracing_mark_write: E
22305   SensorService-1249  ( 1136) [003] ...1 158019.363481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22306  sensors@1.0-se-755   (  755) [000] ...1 158019.363912: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22307  sensors@1.0-se-755   (  755) [000] ...1 158019.383088: tracing_mark_write: E
22308   SensorService-1249  ( 1136) [003] ...1 158019.383845: tracing_mark_write: E
22309   SensorService-1249  ( 1136) [003] ...1 158019.384336: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22310  sensors@1.0-se-755   (  755) [000] ...1 158019.384660: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22311  sensors@1.0-se-755   (  755) [000] ...1 158019.401821: tracing_mark_write: E
22312   SensorService-1249  ( 1136) [003] ...1 158019.402058: tracing_mark_write: E
22313   SensorService-1249  ( 1136) [003] ...1 158019.402387: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22314  sensors@1.0-se-755   (  755) [000] ...1 158019.402906: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22315  sensors@1.0-se-755   (  755) [000] ...1 158019.420733: tracing_mark_write: E
22316   SensorService-1249  ( 1136) [003] ...1 158019.421053: tracing_mark_write: E
22317   SensorService-1249  ( 1136) [003] ...1 158019.421304: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22318  sensors@1.0-se-755   (  755) [000] ...1 158019.421754: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22319  sensors@1.0-se-755   (  755) [000] ...1 158019.441688: tracing_mark_write: E
22320   SensorService-1249  ( 1136) [003] ...1 158019.441888: tracing_mark_write: E
22321   SensorService-1249  ( 1136) [003] ...1 158019.442055: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22322  sensors@1.0-se-755   (  755) [000] ...1 158019.442403: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22323  sensors@1.0-se-755   (  755) [000] ...1 158019.461810: tracing_mark_write: E
22324   SensorService-1249  ( 1136) [003] ...1 158019.462131: tracing_mark_write: E
22325   SensorService-1249  ( 1136) [003] ...1 158019.462291: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22326  sensors@1.0-se-755   (  755) [000] ...1 158019.462648: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22327  sensors@1.0-se-755   (  755) [000] ...1 158019.482125: tracing_mark_write: E
22328   SensorService-1249  ( 1136) [003] ...1 158019.482669: tracing_mark_write: E
22329   SensorService-1249  ( 1136) [003] ...1 158019.482848: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22330  sensors@1.0-se-755   (  755) [000] ...1 158019.483312: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22331  sensors@1.0-se-755   (  755) [000] ...1 158019.504422: tracing_mark_write: E
22332   SensorService-1249  ( 1136) [003] ...1 158019.504848: tracing_mark_write: E
22333   SensorService-1249  ( 1136) [003] ...1 158019.505202: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22334  sensors@1.0-se-755   (  755) [000] ...1 158019.505715: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22335  sensors@1.0-se-755   (  755) [000] ...1 158019.522863: tracing_mark_write: E
22336   SensorService-1249  ( 1136) [003] ...1 158019.523145: tracing_mark_write: E
22337   SensorService-1249  ( 1136) [003] ...1 158019.523482: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22338  sensors@1.0-se-755   (  755) [000] ...1 158019.523771: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22339  sensors@1.0-se-755   (  755) [000] ...1 158019.542301: tracing_mark_write: E
22340   SensorService-1249  ( 1136) [003] ...1 158019.542541: tracing_mark_write: E
22341   SensorService-1249  ( 1136) [003] ...1 158019.542788: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22342  sensors@1.0-se-755   (  755) [000] ...1 158019.542951: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22343  sensors@1.0-se-755   (  755) [000] ...1 158019.562994: tracing_mark_write: E
22344   SensorService-1249  ( 1136) [003] ...1 158019.563460: tracing_mark_write: E
22345   SensorService-1249  ( 1136) [003] ...1 158019.563703: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22346  sensors@1.0-se-755   (  755) [000] ...1 158019.563895: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22347  sensors@1.0-se-755   (  755) [000] ...1 158019.582349: tracing_mark_write: E
22348   SensorService-1249  ( 1136) [003] ...1 158019.582875: tracing_mark_write: E
22349   SensorService-1249  ( 1136) [003] ...1 158019.583194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22350  sensors@1.0-se-755   (  755) [000] ...1 158019.583410: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22351  sensors@1.0-se-755   (  755) [000] ...1 158019.602347: tracing_mark_write: E
22352   SensorService-1249  ( 1136) [003] ...1 158019.602784: tracing_mark_write: E
22353   SensorService-1249  ( 1136) [003] ...1 158019.602999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22354  sensors@1.0-se-755   (  755) [000] ...1 158019.603134: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22355  sensors@1.0-se-755   (  755) [000] ...1 158019.623614: tracing_mark_write: E
22356   SensorService-1249  ( 1136) [003] ...1 158019.623877: tracing_mark_write: E
22357   SensorService-1249  ( 1136) [003] ...1 158019.624091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22358  sensors@1.0-se-755   (  755) [000] ...1 158019.624195: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22359  sensors@1.0-se-755   (  755) [000] ...1 158019.644055: tracing_mark_write: E
22360   SensorService-1249  ( 1136) [003] ...1 158019.644565: tracing_mark_write: E
22361   SensorService-1249  ( 1136) [003] ...1 158019.644899: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22362  sensors@1.0-se-755   (  755) [000] ...1 158019.645181: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22363  sensors@1.0-se-755   (  755) [003] ...1 158019.663056: tracing_mark_write: E
22364   SensorService-1249  ( 1136) [000] ...1 158019.663680: tracing_mark_write: E
22365   SensorService-1249  ( 1136) [000] ...1 158019.663937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22366  sensors@1.0-se-755   (  755) [003] ...1 158019.664071: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22367  sensors@1.0-se-755   (  755) [003] ...1 158019.682720: tracing_mark_write: E
22368   SensorService-1249  ( 1136) [000] ...1 158019.683144: tracing_mark_write: E
22369   SensorService-1249  ( 1136) [000] ...1 158019.683350: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22370  sensors@1.0-se-755   (  755) [003] ...1 158019.683454: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22371  sensors@1.0-se-755   (  755) [003] ...1 158019.703345: tracing_mark_write: E
22372   SensorService-1249  ( 1136) [000] ...1 158019.703699: tracing_mark_write: E
22373   SensorService-1249  ( 1136) [000] ...1 158019.703850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22374  sensors@1.0-se-755   (  755) [003] ...1 158019.703923: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22375  sensors@1.0-se-755   (  755) [002] ...1 158019.722611: tracing_mark_write: E
22376   SensorService-1249  ( 1136) [000] ...1 158019.723284: tracing_mark_write: E
22377   SensorService-1249  ( 1136) [000] ...1 158019.723612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22378  HwBinder:755_1-1247  (  755) [005] ...1 158019.724393: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22379  HwBinder:755_1-1247  (  755) [000] ...1 158019.743613: tracing_mark_write: E
22380   SensorService-1249  ( 1136) [001] ...1 158019.744293: tracing_mark_write: E
22381   SensorService-1249  ( 1136) [001] ...1 158019.744612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22382  HwBinder:755_1-1247  (  755) [000] ...1 158019.745151: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22383  HwBinder:755_1-1247  (  755) [000] ...1 158019.762322: tracing_mark_write: E
22384   SensorService-1249  ( 1136) [001] ...1 158019.762730: tracing_mark_write: E
22385   SensorService-1249  ( 1136) [001] ...1 158019.762937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22386  HwBinder:755_1-1247  (  755) [000] ...1 158019.763280: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22387  HwBinder:755_1-1247  (  755) [000] ...1 158019.782658: tracing_mark_write: E
22388   SensorService-1249  ( 1136) [001] ...1 158019.783389: tracing_mark_write: E
22389   SensorService-1249  ( 1136) [001] ...1 158019.783782: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22390  HwBinder:755_1-1247  (  755) [000] ...1 158019.784314: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22391  HwBinder:755_1-1247  (  755) [001] ...1 158019.802424: tracing_mark_write: E
22392   SensorService-1249  ( 1136) [002] ...1 158019.802702: tracing_mark_write: E
22393   SensorService-1249  ( 1136) [002] ...1 158019.802817: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22394  HwBinder:755_1-1247  (  755) [001] ...1 158019.803049: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22395  HwBinder:755_1-1247  (  755) [000] ...1 158019.823121: tracing_mark_write: E
22396   SensorService-1249  ( 1136) [002] ...1 158019.823842: tracing_mark_write: E
22397   SensorService-1249  ( 1136) [002] ...1 158019.824045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22398  HwBinder:755_1-1247  (  755) [000] ...1 158019.824140: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22399  HwBinder:755_1-1247  (  755) [000] ...1 158019.844303: tracing_mark_write: E
22400   SensorService-1249  ( 1136) [002] ...1 158019.844976: tracing_mark_write: E
22401   SensorService-1249  ( 1136) [002] ...1 158019.845298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22402  HwBinder:755_1-1247  (  755) [000] ...1 158019.845827: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22403  HwBinder:755_1-1247  (  755) [000] ...1 158019.864319: tracing_mark_write: E
22404   SensorService-1249  ( 1136) [001] ...1 158019.865065: tracing_mark_write: E
22405   SensorService-1249  ( 1136) [001] ...1 158019.865452: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22406  HwBinder:755_1-1247  (  755) [000] ...1 158019.866051: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22407  HwBinder:755_1-1247  (  755) [000] ...1 158019.883882: tracing_mark_write: E
22408   SensorService-1249  ( 1136) [001] ...1 158019.884601: tracing_mark_write: E
22409   SensorService-1249  ( 1136) [001] ...1 158019.884989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22410  HwBinder:755_1-1247  (  755) [000] ...1 158019.885244: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22411  HwBinder:755_1-1247  (  755) [000] ...1 158019.904452: tracing_mark_write: E
22412   SensorService-1249  ( 1136) [001] ...1 158019.905256: tracing_mark_write: E
22413   SensorService-1249  ( 1136) [001] ...1 158019.905681: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22414  HwBinder:755_1-1247  (  755) [000] ...1 158019.906365: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22415  HwBinder:755_1-1247  (  755) [000] ...1 158019.924663: tracing_mark_write: E
22416   SensorService-1249  ( 1136) [001] ...1 158019.925356: tracing_mark_write: E
22417   SensorService-1249  ( 1136) [001] ...1 158019.925758: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22418  HwBinder:755_1-1247  (  755) [000] ...1 158019.926010: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22419  HwBinder:755_1-1247  (  755) [000] ...1 158019.942891: tracing_mark_write: E
22420   SensorService-1249  ( 1136) [001] ...1 158019.943481: tracing_mark_write: E
22421   SensorService-1249  ( 1136) [001] ...1 158019.943793: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22422  HwBinder:755_1-1247  (  755) [000] ...1 158019.944321: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22423  HwBinder:755_1-1247  (  755) [000] ...1 158019.964021: tracing_mark_write: E
22424   SensorService-1249  ( 1136) [001] ...1 158019.964627: tracing_mark_write: E
22425   SensorService-1249  ( 1136) [001] ...1 158019.965003: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22426  HwBinder:755_1-1247  (  755) [002] ...1 158019.965688: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22427  HwBinder:755_1-1247  (  755) [000] ...1 158019.986543: tracing_mark_write: E
22428   SensorService-1249  ( 1136) [001] ...1 158019.987483: tracing_mark_write: E
22429   SensorService-1249  ( 1136) [001] ...1 158019.988155: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22430  HwBinder:755_1-1247  (  755) [000] ...1 158019.988846: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22431  HwBinder:755_1-1247  (  755) [001] ...1 158020.003468: tracing_mark_write: E
22432   SensorService-1249  ( 1136) [002] ...1 158020.004396: tracing_mark_write: E
22433   SensorService-1249  ( 1136) [002] ...1 158020.004850: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22434  HwBinder:755_1-1247  (  755) [001] ...1 158020.005159: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22435  HwBinder:755_1-1247  (  755) [001] ...1 158020.023839: tracing_mark_write: E
22436   SensorService-1249  ( 1136) [002] ...1 158020.024635: tracing_mark_write: E
22437   SensorService-1249  ( 1136) [002] ...1 158020.025130: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22438  HwBinder:755_1-1247  (  755) [001] ...1 158020.025978: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22439  HwBinder:755_1-1247  (  755) [000] ...1 158020.042680: tracing_mark_write: E
22440   SensorService-1249  ( 1136) [002] ...1 158020.043222: tracing_mark_write: E
22441   SensorService-1249  ( 1136) [002] ...1 158020.043495: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22442  HwBinder:755_1-1247  (  755) [000] ...1 158020.043999: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22443  HwBinder:755_1-1247  (  755) [000] ...1 158020.062542: tracing_mark_write: E
22444   SensorService-1249  ( 1136) [002] ...1 158020.063008: tracing_mark_write: E
22445   SensorService-1249  ( 1136) [002] ...1 158020.063218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22446  HwBinder:755_1-1247  (  755) [000] ...1 158020.063618: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22447  HwBinder:755_1-1247  (  755) [000] ...1 158020.084398: tracing_mark_write: E
22448   SensorService-1249  ( 1136) [002] ...1 158020.084811: tracing_mark_write: E
22449   SensorService-1249  ( 1136) [002] ...1 158020.085189: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22450  HwBinder:755_1-1247  (  755) [000] ...1 158020.085790: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22451  HwBinder:755_1-1247  (  755) [000] ...1 158020.107395: tracing_mark_write: E
22452   SensorService-1249  ( 1136) [002] ...1 158020.108239: tracing_mark_write: E
22453   SensorService-1249  ( 1136) [002] ...1 158020.108627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22454  HwBinder:755_1-1247  (  755) [000] ...1 158020.108897: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22455  HwBinder:755_1-1247  (  755) [000] ...1 158020.127724: tracing_mark_write: E
22456   SensorService-1249  ( 1136) [002] ...1 158020.128438: tracing_mark_write: E
22457   SensorService-1249  ( 1136) [002] ...1 158020.128823: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22458  HwBinder:755_1-1247  (  755) [000] ...1 158020.129423: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22459  HwBinder:755_1-1247  (  755) [000] ...1 158020.146391: tracing_mark_write: E
22460   SensorService-1249  ( 1136) [002] ...1 158020.147106: tracing_mark_write: E
22461   SensorService-1249  ( 1136) [002] ...1 158020.147481: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22462  HwBinder:755_1-1247  (  755) [000] ...1 158020.148172: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22463  HwBinder:755_1-1247  (  755) [000] ...1 158020.166753: tracing_mark_write: E
22464   SensorService-1249  ( 1136) [002] ...1 158020.167798: tracing_mark_write: E
22465   SensorService-1249  ( 1136) [002] ...1 158020.168353: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22466  HwBinder:755_1-1247  (  755) [000] ...1 158020.169041: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22467  HwBinder:755_1-1247  (  755) [000] ...1 158020.186692: tracing_mark_write: E
22468   SensorService-1249  ( 1136) [002] ...1 158020.187668: tracing_mark_write: E
22469   SensorService-1249  ( 1136) [002] ...1 158020.188150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22470  HwBinder:755_1-1247  (  755) [000] ...1 158020.188886: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22471  HwBinder:755_1-1247  (  755) [000] ...1 158020.204016: tracing_mark_write: E
22472   SensorService-1249  ( 1136) [002] ...1 158020.204876: tracing_mark_write: E
22473   SensorService-1249  ( 1136) [002] ...1 158020.205382: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22474  HwBinder:755_1-1247  (  755) [000] ...1 158020.206100: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22475  HwBinder:755_1-1247  (  755) [000] ...1 158020.222846: tracing_mark_write: E
22476   SensorService-1249  ( 1136) [002] ...1 158020.223414: tracing_mark_write: E
22477   SensorService-1249  ( 1136) [002] ...1 158020.223701: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22478  HwBinder:755_1-1247  (  755) [000] ...1 158020.224186: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22479  HwBinder:755_1-1247  (  755) [000] ...1 158020.242312: tracing_mark_write: E
22480   SensorService-1249  ( 1136) [002] ...1 158020.242524: tracing_mark_write: E
22481   SensorService-1249  ( 1136) [002] ...1 158020.242741: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22482  HwBinder:755_1-1247  (  755) [000] ...1 158020.243071: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22483  HwBinder:755_1-1247  (  755) [001] ...1 158020.262176: tracing_mark_write: E
22484   SensorService-1249  ( 1136) [002] ...1 158020.262531: tracing_mark_write: E
22485   SensorService-1249  ( 1136) [002] ...1 158020.262719: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22486  HwBinder:755_1-1247  (  755) [001] ...1 158020.263005: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22487  HwBinder:755_1-1247  (  755) [001] ...1 158020.283858: tracing_mark_write: E
22488   SensorService-1249  ( 1136) [002] ...1 158020.284515: tracing_mark_write: E
22489   SensorService-1249  ( 1136) [002] ...1 158020.284898: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22490  HwBinder:755_1-1247  (  755) [001] ...1 158020.285079: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22491  HwBinder:755_1-1247  (  755) [000] ...1 158020.301712: tracing_mark_write: E
22492   SensorService-1249  ( 1136) [002] ...1 158020.301812: tracing_mark_write: E
22493   SensorService-1249  ( 1136) [002] ...1 158020.301938: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22494  HwBinder:755_1-1247  (  755) [000] ...1 158020.302004: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22495  HwBinder:755_1-1247  (  755) [000] ...1 158020.322199: tracing_mark_write: E
22496   SensorService-1249  ( 1136) [002] ...1 158020.322505: tracing_mark_write: E
22497   SensorService-1249  ( 1136) [002] ...1 158020.322654: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22498  HwBinder:755_1-1247  (  755) [000] ...1 158020.322906: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22499  HwBinder:755_1-1247  (  755) [000] ...1 158020.343841: tracing_mark_write: E
22500   SensorService-1249  ( 1136) [002] ...1 158020.344376: tracing_mark_write: E
22501   SensorService-1249  ( 1136) [002] ...1 158020.344712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22502  HwBinder:755_1-1247  (  755) [000] ...1 158020.344945: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22503  HwBinder:755_1-1247  (  755) [000] ...1 158020.364136: tracing_mark_write: E
22504   SensorService-1249  ( 1136) [002] ...1 158020.364773: tracing_mark_write: E
22505   SensorService-1249  ( 1136) [002] ...1 158020.365078: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22506  HwBinder:755_1-1247  (  755) [000] ...1 158020.365571: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22507  HwBinder:755_1-1247  (  755) [000] ...1 158020.384593: tracing_mark_write: E
22508   SensorService-1249  ( 1136) [002] ...1 158020.385142: tracing_mark_write: E
22509   SensorService-1249  ( 1136) [002] ...1 158020.385443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22510  HwBinder:755_1-1247  (  755) [000] ...1 158020.385938: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22511  HwBinder:755_1-1247  (  755) [000] ...1 158020.404193: tracing_mark_write: E
22512   SensorService-1249  ( 1136) [002] ...1 158020.404608: tracing_mark_write: E
22513   SensorService-1249  ( 1136) [002] ...1 158020.404914: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22514  HwBinder:755_1-1247  (  755) [000] ...1 158020.405140: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22515  HwBinder:755_1-1247  (  755) [000] ...1 158020.423400: tracing_mark_write: E
22516   SensorService-1249  ( 1136) [002] ...1 158020.423828: tracing_mark_write: E
22517   SensorService-1249  ( 1136) [002] ...1 158020.424016: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22518  HwBinder:755_1-1247  (  755) [000] ...1 158020.424476: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22519  HwBinder:755_1-1247  (  755) [000] ...1 158020.443126: tracing_mark_write: E
22520   SensorService-1249  ( 1136) [002] ...1 158020.443308: tracing_mark_write: E
22521   SensorService-1249  ( 1136) [002] ...1 158020.443507: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22522  HwBinder:755_1-1247  (  755) [000] ...1 158020.443972: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22523  HwBinder:755_1-1247  (  755) [000] ...1 158020.463186: tracing_mark_write: E
22524   SensorService-1249  ( 1136) [002] ...1 158020.463624: tracing_mark_write: E
22525   SensorService-1249  ( 1136) [002] ...1 158020.463813: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22526  HwBinder:755_1-1247  (  755) [000] ...1 158020.464371: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22527  HwBinder:755_1-1247  (  755) [000] ...1 158020.483293: tracing_mark_write: E
22528   SensorService-1249  ( 1136) [002] ...1 158020.483575: tracing_mark_write: E
22529   SensorService-1249  ( 1136) [002] ...1 158020.483860: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22530  HwBinder:755_1-1247  (  755) [000] ...1 158020.484084: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22531  HwBinder:755_1-1247  (  755) [000] ...1 158020.502942: tracing_mark_write: E
22532   SensorService-1249  ( 1136) [002] ...1 158020.503185: tracing_mark_write: E
22533   SensorService-1249  ( 1136) [002] ...1 158020.503431: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22534  HwBinder:755_1-1247  (  755) [000] ...1 158020.503858: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22535  HwBinder:755_1-1247  (  755) [000] ...1 158020.523228: tracing_mark_write: E
22536   SensorService-1249  ( 1136) [002] ...1 158020.523466: tracing_mark_write: E
22537   SensorService-1249  ( 1136) [002] ...1 158020.523691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22538  HwBinder:755_1-1247  (  755) [000] ...1 158020.524141: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22539  HwBinder:755_1-1247  (  755) [000] ...1 158020.543649: tracing_mark_write: E
22540   SensorService-1249  ( 1136) [002] ...1 158020.544155: tracing_mark_write: E
22541   SensorService-1249  ( 1136) [002] ...1 158020.544464: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22542  HwBinder:755_1-1247  (  755) [000] ...1 158020.544699: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22543  HwBinder:755_1-1247  (  755) [000] ...1 158020.563299: tracing_mark_write: E
22544   SensorService-1249  ( 1136) [002] ...1 158020.563760: tracing_mark_write: E
22545   SensorService-1249  ( 1136) [002] ...1 158020.563999: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22546  HwBinder:755_1-1247  (  755) [000] ...1 158020.564479: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22547  HwBinder:755_1-1247  (  755) [000] ...1 158020.583696: tracing_mark_write: E
22548   SensorService-1249  ( 1136) [002] ...1 158020.583983: tracing_mark_write: E
22549   SensorService-1249  ( 1136) [002] ...1 158020.584417: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22550  HwBinder:755_1-1247  (  755) [001] ...1 158020.584905: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22551  HwBinder:755_1-1247  (  755) [000] ...1 158020.602854: tracing_mark_write: E
22552   SensorService-1249  ( 1136) [002] ...1 158020.602996: tracing_mark_write: E
22553   SensorService-1249  ( 1136) [002] ...1 158020.603156: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22554  HwBinder:755_1-1247  (  755) [000] ...1 158020.603414: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22555  HwBinder:755_1-1247  (  755) [000] ...1 158020.622111: tracing_mark_write: E
22556   SensorService-1249  ( 1136) [002] ...1 158020.622229: tracing_mark_write: E
22557   SensorService-1249  ( 1136) [002] ...1 158020.622342: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22558  HwBinder:755_1-1247  (  755) [000] ...1 158020.622574: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22559  HwBinder:755_1-1247  (  755) [002] ...1 158020.643009: tracing_mark_write: E
22560   SensorService-1249  ( 1136) [000] ...1 158020.643223: tracing_mark_write: E
22561   SensorService-1249  ( 1136) [000] ...1 158020.643432: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22562  HwBinder:755_1-1247  (  755) [002] ...1 158020.643533: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22563  HwBinder:755_1-1247  (  755) [001] ...1 158020.665503: tracing_mark_write: E
22564   SensorService-1249  ( 1136) [000] ...1 158020.665898: tracing_mark_write: E
22565   SensorService-1249  ( 1136) [000] ...1 158020.666229: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22566  HwBinder:755_1-1247  (  755) [001] ...1 158020.666827: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22567  HwBinder:755_1-1247  (  755) [001] ...1 158020.684140: tracing_mark_write: E
22568   SensorService-1249  ( 1136) [000] ...1 158020.684984: tracing_mark_write: E
22569   SensorService-1249  ( 1136) [000] ...1 158020.685474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22570  HwBinder:755_1-1247  (  755) [001] ...1 158020.686156: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22571  HwBinder:755_1-1247  (  755) [001] ...1 158020.703454: tracing_mark_write: E
22572   SensorService-1249  ( 1136) [000] ...1 158020.703901: tracing_mark_write: E
22573   SensorService-1249  ( 1136) [000] ...1 158020.704177: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22574  HwBinder:755_1-1247  (  755) [001] ...1 158020.704671: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22575  HwBinder:755_1-1247  (  755) [001] ...1 158020.722540: tracing_mark_write: E
22576   SensorService-1249  ( 1136) [000] ...1 158020.722975: tracing_mark_write: E
22577   SensorService-1249  ( 1136) [000] ...1 158020.723198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22578  HwBinder:755_1-1247  (  755) [001] ...1 158020.723684: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22579  HwBinder:755_1-1247  (  755) [001] ...1 158020.743849: tracing_mark_write: E
22580   SensorService-1249  ( 1136) [000] ...1 158020.744377: tracing_mark_write: E
22581   SensorService-1249  ( 1136) [000] ...1 158020.744597: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22582  HwBinder:755_1-1247  (  755) [001] ...1 158020.744806: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22583  HwBinder:755_1-1247  (  755) [001] ...1 158020.763993: tracing_mark_write: E
22584   SensorService-1249  ( 1136) [000] ...1 158020.764359: tracing_mark_write: E
22585   SensorService-1249  ( 1136) [000] ...1 158020.764612: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22586  HwBinder:755_1-1247  (  755) [001] ...1 158020.765101: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22587  HwBinder:755_1-1247  (  755) [001] ...1 158020.783725: tracing_mark_write: E
22588   SensorService-1249  ( 1136) [000] ...1 158020.784096: tracing_mark_write: E
22589   SensorService-1249  ( 1136) [000] ...1 158020.784402: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22590  HwBinder:755_1-1247  (  755) [001] ...1 158020.784822: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22591  HwBinder:755_1-1247  (  755) [001] ...1 158020.803428: tracing_mark_write: E
22592   SensorService-1249  ( 1136) [000] ...1 158020.803964: tracing_mark_write: E
22593   SensorService-1249  ( 1136) [000] ...1 158020.804341: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22594  HwBinder:755_1-1247  (  755) [001] ...1 158020.804577: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22595  HwBinder:755_1-1247  (  755) [001] ...1 158020.824842: tracing_mark_write: E
22596   SensorService-1249  ( 1136) [000] ...1 158020.825183: tracing_mark_write: E
22597   SensorService-1249  ( 1136) [000] ...1 158020.825484: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22598  HwBinder:755_1-1247  (  755) [001] ...1 158020.825976: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22599  HwBinder:755_1-1247  (  755) [001] ...1 158020.844724: tracing_mark_write: E
22600   SensorService-1249  ( 1136) [000] ...1 158020.844994: tracing_mark_write: E
22601   SensorService-1249  ( 1136) [000] ...1 158020.845269: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22602  HwBinder:755_1-1247  (  755) [001] ...1 158020.845747: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22603  HwBinder:755_1-1247  (  755) [001] ...1 158020.864009: tracing_mark_write: E
22604   SensorService-1249  ( 1136) [000] ...1 158020.864443: tracing_mark_write: E
22605   SensorService-1249  ( 1136) [000] ...1 158020.864656: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22606  HwBinder:755_1-1247  (  755) [001] ...1 158020.865075: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22607  HwBinder:755_1-1247  (  755) [002] ...1 158020.884684: tracing_mark_write: E
22608   SensorService-1249  ( 1136) [000] ...1 158020.884924: tracing_mark_write: E
22609   SensorService-1249  ( 1136) [000] ...1 158020.885465: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22610  HwBinder:755_1-1247  (  755) [002] ...1 158020.886100: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22611  HwBinder:755_1-1247  (  755) [001] ...1 158020.902693: tracing_mark_write: E
22612   SensorService-1249  ( 1136) [000] ...1 158020.902957: tracing_mark_write: E
22613   SensorService-1249  ( 1136) [000] ...1 158020.903281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22614  HwBinder:755_1-1247  (  755) [001] ...1 158020.903512: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22615  HwBinder:755_1-1247  (  755) [000] ...1 158020.922669: tracing_mark_write: E
22616   SensorService-1249  ( 1136) [001] ...1 158020.922841: tracing_mark_write: E
22617   SensorService-1249  ( 1136) [001] ...1 158020.923044: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22618  HwBinder:755_1-1247  (  755) [000] ...1 158020.923185: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22619   Binder:1136_9-1633  ( 1136) [007] ...1 158020.941946: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
22620   Binder:1136_9-1633  ( 1136) [007] ...1 158020.942059: tracing_mark_write: E
22621  power@1.1-serv-754   (  754) [001] ...1 158020.942244: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
22622  power@1.1-serv-754   (  754) [001] ...1 158020.942926: tracing_mark_write: B|754|launch
22623    Binder:610_5-2158  (  610) [007] ...1 158020.944876: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
22624  HwBinder:612_3-11297 (  612) [007] ...1 158020.945096: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
22625  HwBinder:612_3-11297 (  612) [007] ...1 158020.945118: tracing_mark_write: E
22626    Binder:610_5-2158  (  610) [007] ...1 158020.945165: tracing_mark_write: E
22627    EventControl-682   (  610) [002] ...1 158020.945398: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
22628  HwBinder:612_3-11297 (  612) [002] ...1 158020.945712: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
22629  HwBinder:612_3-11297 (  612) [002] ...1 158020.945749: tracing_mark_write: C|612|SetVsyncState |1
22630   Binder:1136_B-2329  ( 1136) [007] ...1 158020.945766: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
22631  HwBinder:612_3-11297 (  612) [002] ...1 158020.945793: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
22632   Binder:1136_B-2329  ( 1136) [007] ...1 158020.945804: tracing_mark_write: E
22633  power@1.1-serv-754   (  754) [001] ...1 158020.947601: tracing_mark_write: C|754|launch_lock|1
22634  power@1.1-serv-754   (  754) [001] ...1 158020.947616: tracing_mark_write: E
22635  power@1.1-serv-754   (  754) [001] ...1 158020.947630: tracing_mark_write: E
22636  power@1.1-serv-754   (  754) [001] ...1 158020.947819: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
22637  power@1.1-serv-754   (  754) [001] ...1 158020.948074: tracing_mark_write: E
22638  HwBinder:612_3-11297 (  612) [005] ...1 158020.948696: tracing_mark_write: E
22639  HwBinder:612_3-11297 (  612) [005] ...1 158020.948716: tracing_mark_write: E
22640    EventControl-682   (  610) [000] ...1 158020.949041: tracing_mark_write: E
22641  HwBinder:755_1-1247  (  755) [005] ...1 158020.949190: tracing_mark_write: E
22642   SensorService-1249  ( 1136) [001] ...1 158020.949435: tracing_mark_write: E
22643   SensorService-1249  ( 1136) [001] ...1 158020.949692: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22644  HwBinder:755_1-1247  (  755) [005] ...1 158020.950106: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22645  surfaceflinger-610   (  610) [000] ...1 158020.950952: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22646  HwBinder:612_3-11297 (  612) [005] ...1 158020.951356: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22647  HwBinder:612_3-11297 (  612) [005] ...1 158020.951422: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22648  HwBinder:612_3-11297 (  612) [005] ...1 158020.951430: tracing_mark_write: E
22649  HwBinder:612_3-11297 (  612) [005] ...1 158020.951433: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
22650  SDM_EventThrea-643   (  612) [001] ...1 158020.951490: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22651  SDM_EventThrea-643   (  612) [001] ...1 158020.951501: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22652  SDM_EventThrea-643   (  612) [001] ...1 158020.951578: tracing_mark_write: E
22653  SDM_EventThrea-643   (  612) [001] ...1 158020.951585: tracing_mark_write: E
22654  HwBinder:610_1-626   (  610) [002] ...1 158020.951609: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22655  HwBinder:610_1-626   (  610) [002] ...1 158020.951639: tracing_mark_write: E
22656  HwBinder:612_3-11297 (  612) [005] ...1 158020.951722: tracing_mark_write: B|612|HWDevice::Validate::
22657  HwBinder:612_3-11297 (  612) [005] ...1 158020.951801: tracing_mark_write: E
22658  HwBinder:612_3-11297 (  612) [005] ...1 158020.951817: tracing_mark_write: E
22659  HwBinder:612_3-11297 (  612) [005] ...1 158020.951837: tracing_mark_write: E
22660  surfaceflinger-610   (  610) [000] ...1 158020.951907: tracing_mark_write: E
22661  surfaceflinger-610   (  610) [000] ...1 158020.952016: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22662  HwBinder:612_3-11297 (  612) [005] ...1 158020.952065: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22663  HwBinder:612_3-11297 (  612) [005] ...1 158020.952072: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22664  HwBinder:612_3-11297 (  612) [005] ...1 158020.952082: tracing_mark_write: B|612|HWDevice::Commit::
22665  HwBinder:612_3-11297 (  612) [005] ...1 158020.952141: tracing_mark_write: E
22666  HwBinder:612_3-11297 (  612) [005] ...1 158020.952156: tracing_mark_write: E
22667  HwBinder:612_3-11297 (  612) [005] ...1 158020.952170: tracing_mark_write: E
22668  surfaceflinger-610   (  610) [000] ...1 158020.952222: tracing_mark_write: E
22669   Binder:1136_9-1633  ( 1136) [001] ...1 158020.955602: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
22670   Binder:1136_9-1633  ( 1136) [001] ...1 158020.955662: tracing_mark_write: E
22671  power@1.1-serv-754   (  754) [001] ...1 158020.955730: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
22672  power@1.1-serv-754   (  754) [001] ...1 158020.955822: tracing_mark_write: E
22673  HwBinder:755_1-1247  (  755) [000] ...1 158020.961895: tracing_mark_write: E
22674   SensorService-1249  ( 1136) [001] ...1 158020.961964: tracing_mark_write: E
22675   SensorService-1249  ( 1136) [001] ...1 158020.962048: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22676  HwBinder:755_1-1247  (  755) [000] ...1 158020.962098: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22677  SDM_EventThrea-643   (  612) [002] ...1 158020.966874: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22678  SDM_EventThrea-643   (  612) [002] ...1 158020.966884: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22679  SDM_EventThrea-643   (  612) [002] ...1 158020.966925: tracing_mark_write: E
22680  SDM_EventThrea-643   (  612) [002] ...1 158020.966932: tracing_mark_write: E
22681  HwBinder:610_1-626   (  610) [003] ...1 158020.966955: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22682  HwBinder:610_1-626   (  610) [003] ...1 158020.966970: tracing_mark_write: E
22683  surfaceflinger-610   (  610) [000] ...1 158020.970267: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
22684  HwBinder:612_3-11297 (  612) [005] ...1 158020.970342: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
22685  HwBinder:612_3-11297 (  612) [005] ...1 158020.970353: tracing_mark_write: E
22686  surfaceflinger-610   (  610) [000] ...1 158020.970383: tracing_mark_write: E
22687  surfaceflinger-610   (  610) [000] ...1 158020.973053: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22688  HwBinder:612_3-11297 (  612) [005] ...1 158020.973147: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22689  HwBinder:612_3-11297 (  612) [005] ...1 158020.973192: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22690  HwBinder:612_3-11297 (  612) [005] ...1 158020.973207: tracing_mark_write: B|612|HWDevice::Commit::
22691  HwBinder:612_3-11297 (  612) [005] ...1 158020.973265: tracing_mark_write: E
22692  HwBinder:612_3-11297 (  612) [005] ...1 158020.973281: tracing_mark_write: E
22693  HwBinder:612_3-11297 (  612) [005] ...1 158020.973299: tracing_mark_write: E
22694  surfaceflinger-610   (  610) [000] ...1 158020.973349: tracing_mark_write: E
22695  HwBinder:755_1-1247  (  755) [001] ...1 158020.982043: tracing_mark_write: E
22696   SensorService-1249  ( 1136) [000] ...1 158020.982120: tracing_mark_write: E
22697   SensorService-1249  ( 1136) [000] ...1 158020.982190: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22698  HwBinder:755_1-1247  (  755) [001] ...1 158020.982243: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22699  SDM_EventThrea-643   (  612) [002] ...1 158020.983701: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22700  SDM_EventThrea-643   (  612) [002] ...1 158020.983750: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22701  SDM_EventThrea-643   (  612) [002] ...1 158020.983844: tracing_mark_write: E
22702  SDM_EventThrea-643   (  612) [002] ...1 158020.983851: tracing_mark_write: E
22703  HwBinder:610_1-626   (  610) [003] ...1 158020.983854: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22704  HwBinder:610_1-626   (  610) [003] ...1 158020.983868: tracing_mark_write: E
22705    Binder:610_4-1720  (  610) [007] ...1 158020.985728: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
22706    Binder:610_4-1720  (  610) [007] ...1 158020.985736: tracing_mark_write: E
22707    Binder:610_4-1720  (  610) [007] ...1 158020.985746: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
22708  allocator@2.0--614   (  614) [004] ...1 158020.985836: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22709  allocator@2.0--614   (  614) [004] ...1 158020.985862: tracing_mark_write: B|614|AllocBuffer
22710  allocator@2.0--614   (  614) [004] ...1 158020.985890: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840
22711  allocator@2.0--614   (  614) [004] ...1 158020.988813: tracing_mark_write: E
22712  allocator@2.0--614   (  614) [004] ...1 158020.988819: tracing_mark_write: B|614|ION_IOC_MAP
22713  allocator@2.0--614   (  614) [004] ...1 158020.988828: tracing_mark_write: E
22714  allocator@2.0--614   (  614) [004] ...1 158020.988831: tracing_mark_write: E
22715  allocator@2.0--614   (  614) [004] ...1 158020.988834: tracing_mark_write: B|614|AllocBuffer
22716  allocator@2.0--614   (  614) [004] ...1 158020.988839: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22717  allocator@2.0--614   (  614) [004] ...1 158020.988845: tracing_mark_write: E
22718  allocator@2.0--614   (  614) [004] ...1 158020.988847: tracing_mark_write: B|614|ION_IOC_MAP
22719  allocator@2.0--614   (  614) [004] ...1 158020.988850: tracing_mark_write: E
22720  allocator@2.0--614   (  614) [004] ...1 158020.988851: tracing_mark_write: E
22721  allocator@2.0--614   (  614) [004] ...1 158020.988883: tracing_mark_write: E
22722  allocator@2.0--614   (  614) [004] ...1 158020.988947: tracing_mark_write: B|614|FreeBuffer
22723  allocator@2.0--614   (  614) [004] ...1 158020.988952: tracing_mark_write: E
22724  allocator@2.0--614   (  614) [004] ...1 158020.988953: tracing_mark_write: B|614|FreeBuffer
22725  allocator@2.0--614   (  614) [004] ...1 158020.988954: tracing_mark_write: B|614|UnmapBuffer
22726  allocator@2.0--614   (  614) [004] ...1 158020.988960: tracing_mark_write: E
22727    Binder:610_4-1720  (  610) [006] ...1 158020.988964: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22728  allocator@2.0--614   (  614) [004] ...1 158020.988964: tracing_mark_write: E
22729    Binder:610_4-1720  (  610) [006] ...1 158020.989005: tracing_mark_write: E
22730    Binder:610_4-1720  (  610) [006] ...1 158020.989009: tracing_mark_write: E
22731    android.anim-1244  ( 1136) [007] ...1 158020.989169: tracing_mark_write: B|1136|HIDL::IMapper::importBuffer::passthrough
22732    android.anim-1244  ( 1136) [007] ...1 158020.989200: tracing_mark_write: E
22733    android.anim-1244  ( 1136) [007] ...1 158020.989232: tracing_mark_write: B|1136|HIDL::IMapper::lock::passthrough
22734    android.anim-1244  ( 1136) [007] ...1 158020.989236: tracing_mark_write: B|1136|LockBuffer
22735    android.anim-1244  ( 1136) [007] ...1 158020.989239: tracing_mark_write: B|1136|MapBuffer
22736    android.anim-1244  ( 1136) [007] ...1 158020.989274: tracing_mark_write: E
22737    android.anim-1244  ( 1136) [007] ...1 158020.989276: tracing_mark_write: B|1136|CleanBuffer
22738    android.anim-1244  ( 1136) [007] ...1 158020.989279: tracing_mark_write: C|1136|operation id|2
22739  surfaceflinger-610   (  610) [000] ...1 158020.989629: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22740  HwBinder:612_3-11297 (  612) [005] ...1 158020.989791: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22741  HwBinder:612_3-11297 (  612) [005] ...1 158020.989895: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22742  HwBinder:612_3-11297 (  612) [005] ...1 158020.989927: tracing_mark_write: B|612|HWDevice::Commit::
22743  HwBinder:612_3-11297 (  612) [005] ...1 158020.990053: tracing_mark_write: E
22744  HwBinder:612_3-11297 (  612) [005] ...1 158020.990085: tracing_mark_write: E
22745  HwBinder:612_3-11297 (  612) [005] ...1 158020.990122: tracing_mark_write: E
22746  surfaceflinger-610   (  610) [000] ...1 158020.990187: tracing_mark_write: E
22747    android.anim-1244  ( 1136) [007] ...1 158020.991338: tracing_mark_write: E
22748    android.anim-1244  ( 1136) [007] ...1 158020.991340: tracing_mark_write: E
22749    android.anim-1244  ( 1136) [007] ...1 158020.991344: tracing_mark_write: E
22750    android.anim-1244  ( 1136) [007] ...1 158020.996862: tracing_mark_write: B|1136|HIDL::IMapper::unlock::passthrough
22751    android.anim-1244  ( 1136) [007] ...1 158020.996875: tracing_mark_write: B|1136|CleanBuffer
22752    android.anim-1244  ( 1136) [007] ...1 158020.996877: tracing_mark_write: C|1136|operation id|1
22753    android.anim-1244  ( 1136) [007] ...1 158020.998531: tracing_mark_write: E
22754    android.anim-1244  ( 1136) [007] ...1 158020.998535: tracing_mark_write: E
22755  SDM_EventThrea-643   (  612) [002] ...1 158021.000330: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22756  SDM_EventThrea-643   (  612) [002] ...1 158021.000340: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22757  SDM_EventThrea-643   (  612) [002] ...1 158021.000384: tracing_mark_write: E
22758  SDM_EventThrea-643   (  612) [002] ...1 158021.000391: tracing_mark_write: E
22759  HwBinder:610_1-626   (  610) [003] ...1 158021.000406: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22760  HwBinder:610_1-626   (  610) [003] ...1 158021.000419: tracing_mark_write: E
22761  HwBinder:755_1-1247  (  755) [001] ...1 158021.001869: tracing_mark_write: E
22762   SensorService-1249  ( 1136) [000] ...1 158021.001925: tracing_mark_write: E
22763   SensorService-1249  ( 1136) [000] ...1 158021.001985: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22764  HwBinder:755_1-1247  (  755) [001] ...1 158021.002030: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22765    RenderThread-4957  ( 4896) [003] ...1 158021.002747: tracing_mark_write: B|4896|HIDL::IMapper::freeBuffer::passthrough
22766    RenderThread-4957  ( 4896) [003] ...1 158021.002766: tracing_mark_write: B|4896|FreeBuffer
22767    RenderThread-4957  ( 4896) [003] ...1 158021.002788: tracing_mark_write: E
22768    RenderThread-4957  ( 4896) [003] ...1 158021.002791: tracing_mark_write: B|4896|FreeBuffer
22769    RenderThread-4957  ( 4896) [003] ...1 158021.002797: tracing_mark_write: E
22770    RenderThread-4957  ( 4896) [003] ...1 158021.002803: tracing_mark_write: E
22771    Binder:610_5-2158  (  610) [006] ...1 158021.002878: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
22772    Binder:610_5-2158  (  610) [006] ...1 158021.002891: tracing_mark_write: B|610|FreeBuffer
22773    Binder:610_5-2158  (  610) [006] ...1 158021.002914: tracing_mark_write: E
22774    Binder:610_5-2158  (  610) [006] ...1 158021.002916: tracing_mark_write: B|610|FreeBuffer
22775    Binder:610_5-2158  (  610) [006] ...1 158021.002921: tracing_mark_write: E
22776    Binder:610_5-2158  (  610) [006] ...1 158021.002924: tracing_mark_write: E
22777    Binder:610_5-2158  (  610) [006] ...1 158021.002931: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
22778    Binder:610_5-2158  (  610) [006] ...1 158021.002934: tracing_mark_write: B|610|FreeBuffer
22779    Binder:610_5-2158  (  610) [006] ...1 158021.002941: tracing_mark_write: E
22780    Binder:610_5-2158  (  610) [006] ...1 158021.002942: tracing_mark_write: B|610|FreeBuffer
22781    Binder:610_5-2158  (  610) [006] ...1 158021.002947: tracing_mark_write: E
22782    Binder:610_5-2158  (  610) [006] ...1 158021.002948: tracing_mark_write: E
22783  surfaceflinger-610   (  610) [000] ...1 158021.006663: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22784    android.anim-1244  ( 1136) [005] ...1 158021.006687: tracing_mark_write: B|1136|HIDL::IMapper::createDescriptor::passthrough
22785    android.anim-1244  ( 1136) [005] ...1 158021.006693: tracing_mark_write: E
22786    android.anim-1244  ( 1136) [005] ...1 158021.006705: tracing_mark_write: B|1136|HIDL::IAllocator::allocate::client
22787  HwBinder:612_3-11297 (  612) [005] ...1 158021.006757: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22788  HwBinder:612_3-11297 (  612) [005] ...1 158021.006799: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22789  HwBinder:612_3-11297 (  612) [005] ...1 158021.006813: tracing_mark_write: B|612|HWDevice::Commit::
22790  HwBinder:612_3-11297 (  612) [005] ...1 158021.006870: tracing_mark_write: E
22791  HwBinder:612_3-11297 (  612) [005] ...1 158021.006885: tracing_mark_write: E
22792  HwBinder:612_3-11297 (  612) [005] ...1 158021.006903: tracing_mark_write: E
22793  surfaceflinger-610   (  610) [000] ...1 158021.006956: tracing_mark_write: E
22794  allocator@2.0--614   (  614) [004] ...1 158021.007002: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22795  allocator@2.0--614   (  614) [004] ...1 158021.007021: tracing_mark_write: B|614|AllocBuffer
22796  allocator@2.0--614   (  614) [004] ...1 158021.007027: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840
22797  allocator@2.0--614   (  614) [004] ...1 158021.007095: tracing_mark_write: E
22798  allocator@2.0--614   (  614) [004] ...1 158021.007096: tracing_mark_write: B|614|ION_IOC_MAP
22799  allocator@2.0--614   (  614) [004] ...1 158021.007104: tracing_mark_write: E
22800  allocator@2.0--614   (  614) [004] ...1 158021.007105: tracing_mark_write: E
22801  allocator@2.0--614   (  614) [004] ...1 158021.007107: tracing_mark_write: B|614|AllocBuffer
22802  allocator@2.0--614   (  614) [004] ...1 158021.007109: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22803  allocator@2.0--614   (  614) [004] ...1 158021.007112: tracing_mark_write: E
22804  allocator@2.0--614   (  614) [004] ...1 158021.007114: tracing_mark_write: B|614|ION_IOC_MAP
22805  allocator@2.0--614   (  614) [004] ...1 158021.007117: tracing_mark_write: E
22806  allocator@2.0--614   (  614) [004] ...1 158021.007117: tracing_mark_write: E
22807  allocator@2.0--614   (  614) [004] ...1 158021.007141: tracing_mark_write: E
22808  allocator@2.0--614   (  614) [004] ...1 158021.007165: tracing_mark_write: B|614|FreeBuffer
22809  allocator@2.0--614   (  614) [004] ...1 158021.007169: tracing_mark_write: E
22810  allocator@2.0--614   (  614) [004] ...1 158021.007170: tracing_mark_write: B|614|FreeBuffer
22811  allocator@2.0--614   (  614) [004] ...1 158021.007171: tracing_mark_write: B|614|UnmapBuffer
22812    android.anim-1244  ( 1136) [005] ...1 158021.007173: tracing_mark_write: B|1136|HIDL::IMapper::importBuffer::passthrough
22813  allocator@2.0--614   (  614) [004] ...1 158021.007179: tracing_mark_write: E
22814  allocator@2.0--614   (  614) [004] ...1 158021.007181: tracing_mark_write: E
22815    android.anim-1244  ( 1136) [005] ...1 158021.007190: tracing_mark_write: E
22816    android.anim-1244  ( 1136) [005] ...1 158021.007192: tracing_mark_write: E
22817    Binder:610_4-1720  (  610) [006] ...1 158021.007281: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22818    Binder:610_4-1720  (  610) [006] ...1 158021.007295: tracing_mark_write: E
22819  surfaceflinger-610   (  610) [000] ...1 158021.007727: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
22820  surfaceflinger-610   (  610) [000] ...1 158021.007738: tracing_mark_write: B|610|FreeBuffer
22821  surfaceflinger-610   (  610) [000] ...1 158021.007748: tracing_mark_write: E
22822  surfaceflinger-610   (  610) [000] ...1 158021.007750: tracing_mark_write: B|610|FreeBuffer
22823  surfaceflinger-610   (  610) [000] ...1 158021.007772: tracing_mark_write: E
22824  surfaceflinger-610   (  610) [000] ...1 158021.007776: tracing_mark_write: E
22825  surfaceflinger-610   (  610) [000] ...1 158021.014723: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
22826  HwBinder:612_3-11297 (  612) [005] ...1 158021.014792: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
22827  HwBinder:612_3-11297 (  612) [005] ...1 158021.014799: tracing_mark_write: E
22828  surfaceflinger-610   (  610) [000] ...1 158021.014831: tracing_mark_write: E
22829  SDM_EventThrea-643   (  612) [002] ...1 158021.017070: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22830  SDM_EventThrea-643   (  612) [002] ...1 158021.017079: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22831  SDM_EventThrea-643   (  612) [002] ...1 158021.017117: tracing_mark_write: E
22832  SDM_EventThrea-643   (  612) [002] ...1 158021.017123: tracing_mark_write: E
22833  HwBinder:610_1-626   (  610) [000] ...1 158021.017141: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22834  HwBinder:610_1-626   (  610) [000] ...1 158021.017152: tracing_mark_write: E
22835  HwBinder:755_1-1247  (  755) [000] ...1 158021.021922: tracing_mark_write: E
22836   SensorService-1249  ( 1136) [001] ...1 158021.021981: tracing_mark_write: E
22837   SensorService-1249  ( 1136) [001] ...1 158021.022051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
22838  HwBinder:755_1-1247  (  755) [000] ...1 158021.022095: tracing_mark_write: B|755|HIDL::ISensors::poll::server
22839  surfaceflinger-610   (  610) [000] ...1 158021.023057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22840  HwBinder:612_3-11297 (  612) [005] ...1 158021.023112: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22841  HwBinder:612_3-11297 (  612) [005] ...1 158021.023141: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22842  HwBinder:612_3-11297 (  612) [005] ...1 158021.023150: tracing_mark_write: B|612|HWDevice::Commit::
22843  HwBinder:612_3-11297 (  612) [005] ...1 158021.023197: tracing_mark_write: E
22844  HwBinder:612_3-11297 (  612) [005] ...1 158021.023209: tracing_mark_write: E
22845  HwBinder:612_3-11297 (  612) [005] ...1 158021.023221: tracing_mark_write: E
22846  surfaceflinger-610   (  610) [000] ...1 158021.023269: tracing_mark_write: E
22847    Binder:610_4-1720  (  610) [001] ...1 158021.024967: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
22848    Binder:610_4-1720  (  610) [001] ...1 158021.024973: tracing_mark_write: E
22849    Binder:610_4-1720  (  610) [001] ...1 158021.024986: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
22850  allocator@2.0--614   (  614) [001] ...1 158021.025060: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22851  allocator@2.0--614   (  614) [001] ...1 158021.025083: tracing_mark_write: B|614|AllocBuffer
22852  allocator@2.0--614   (  614) [001] ...1 158021.025091: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840
22853  allocator@2.0--614   (  614) [001] ...1 158021.025242: tracing_mark_write: E
22854  allocator@2.0--614   (  614) [001] ...1 158021.025246: tracing_mark_write: B|614|ION_IOC_MAP
22855  allocator@2.0--614   (  614) [001] ...1 158021.025260: tracing_mark_write: E
22856  allocator@2.0--614   (  614) [001] ...1 158021.025263: tracing_mark_write: E
22857  allocator@2.0--614   (  614) [001] ...1 158021.025266: tracing_mark_write: B|614|AllocBuffer
22858  allocator@2.0--614   (  614) [001] ...1 158021.025271: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22859  allocator@2.0--614   (  614) [001] ...1 158021.025278: tracing_mark_write: E
22860  allocator@2.0--614   (  614) [001] ...1 158021.025281: tracing_mark_write: B|614|ION_IOC_MAP
22861  allocator@2.0--614   (  614) [001] ...1 158021.025287: tracing_mark_write: E
22862  allocator@2.0--614   (  614) [001] ...1 158021.025289: tracing_mark_write: E
22863  allocator@2.0--614   (  614) [001] ...1 158021.025326: tracing_mark_write: E
22864    Binder:610_4-1720  (  610) [001] ...1 158021.025376: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22865    Binder:610_4-1720  (  610) [001] ...1 158021.025399: tracing_mark_write: E
22866    Binder:610_4-1720  (  610) [001] ...1 158021.025403: tracing_mark_write: E
22867    Binder:610_4-1720  (  610) [001] ...1 158021.025433: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
22868    Binder:610_4-1720  (  610) [001] ...1 158021.025436: tracing_mark_write: E
22869    Binder:610_4-1720  (  610) [001] ...1 158021.025442: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
22870  HwBinder:614_1-982   (  614) [001] ...1 158021.025507: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22871<...>-10541 ( 1341) [006] ...1 158021.025507: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough
22872   Binder:1341_5-21891 ( 1341) [003] ...1 158021.025513: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough
22873  HwBinder:614_1-982   (  614) [001] ...1 158021.025524: tracing_mark_write: B|614|AllocBuffer
22874  HwBinder:614_1-982   (  614) [001] ...1 158021.025529: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840
22875<...>-10541 ( 1341) [006] ...1 158021.025554: tracing_mark_write: E
22876   Binder:1341_5-21891 ( 1341) [003] ...1 158021.025579: tracing_mark_write: E
22877  HwBinder:614_1-982   (  614) [001] ...1 158021.026041: tracing_mark_write: E
22878  HwBinder:614_1-982   (  614) [001] ...1 158021.026046: tracing_mark_write: B|614|ION_IOC_MAP
22879  HwBinder:614_1-982   (  614) [001] ...1 158021.026057: tracing_mark_write: E
22880  HwBinder:614_1-982   (  614) [001] ...1 158021.026061: tracing_mark_write: E
22881  HwBinder:614_1-982   (  614) [001] ...1 158021.026065: tracing_mark_write: B|614|AllocBuffer
22882  HwBinder:614_1-982   (  614) [001] ...1 158021.026071: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22883  HwBinder:614_1-982   (  614) [001] ...1 158021.026078: tracing_mark_write: E
22884  HwBinder:614_1-982   (  614) [001] ...1 158021.026080: tracing_mark_write: B|614|ION_IOC_MAP
22885  HwBinder:614_1-982   (  614) [001] ...1 158021.026085: tracing_mark_write: E
22886  HwBinder:614_1-982   (  614) [001] ...1 158021.026087: tracing_mark_write: E
22887  HwBinder:614_1-982   (  614) [001] ...1 158021.026121: tracing_mark_write: E
22888  HwBinder:614_1-982   (  614) [001] ...1 158021.026160: tracing_mark_write: B|614|FreeBuffer
22889  HwBinder:614_1-982   (  614) [001] ...1 158021.026166: tracing_mark_write: E
22890  HwBinder:614_1-982   (  614) [001] ...1 158021.026169: tracing_mark_write: B|614|FreeBuffer
22891  HwBinder:614_1-982   (  614) [001] ...1 158021.026172: tracing_mark_write: B|614|UnmapBuffer
22892  HwBinder:614_1-982   (  614) [001] ...1 158021.026182: tracing_mark_write: E
22893  HwBinder:614_1-982   (  614) [001] ...1 158021.026185: tracing_mark_write: E
22894    Binder:610_4-1720  (  610) [001] ...1 158021.026230: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22895    Binder:610_4-1720  (  610) [001] ...1 158021.026251: tracing_mark_write: E
22896    Binder:610_4-1720  (  610) [001] ...1 158021.026254: tracing_mark_write: E
22897    Binder:610_4-1720  (  610) [001] ...1 158021.026280: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
22898    Binder:610_4-1720  (  610) [001] ...1 158021.026283: tracing_mark_write: E
22899    Binder:610_4-1720  (  610) [001] ...1 158021.026290: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
22900  HwBinder:614_1-982   (  614) [001] ...1 158021.026336: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22901  HwBinder:614_1-982   (  614) [001] ...1 158021.026349: tracing_mark_write: B|614|AllocBuffer
22902  HwBinder:614_1-982   (  614) [001] ...1 158021.026353: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8355840
22903  HwBinder:614_1-982   (  614) [001] ...1 158021.028109: tracing_mark_write: E
22904  HwBinder:614_1-982   (  614) [001] ...1 158021.028113: tracing_mark_write: B|614|ION_IOC_MAP
22905  HwBinder:614_1-982   (  614) [001] ...1 158021.028121: tracing_mark_write: E
22906  HwBinder:614_1-982   (  614) [001] ...1 158021.028123: tracing_mark_write: E
22907  HwBinder:614_1-982   (  614) [001] ...1 158021.028126: tracing_mark_write: B|614|AllocBuffer
22908  HwBinder:614_1-982   (  614) [001] ...1 158021.028130: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22909  HwBinder:614_1-982   (  614) [000] ...1 158021.028185: tracing_mark_write: E
22910  HwBinder:614_1-982   (  614) [000] ...1 158021.028191: tracing_mark_write: B|614|ION_IOC_MAP
22911  HwBinder:614_1-982   (  614) [000] ...1 158021.028200: tracing_mark_write: E
22912  HwBinder:614_1-982   (  614) [000] ...1 158021.028202: tracing_mark_write: E
22913   Binder:1341_2-1361  ( 1341) [001] ...1 158021.028231: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough
22914  HwBinder:614_1-982   (  614) [000] ...1 158021.028236: tracing_mark_write: E
22915   Binder:1341_2-1361  ( 1341) [001] ...1 158021.028250: tracing_mark_write: E
22916    Binder:610_4-1720  (  610) [000] ...1 158021.028279: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22917    Binder:610_4-1720  (  610) [000] ...1 158021.028301: tracing_mark_write: E
22918    Binder:610_4-1720  (  610) [000] ...1 158021.028304: tracing_mark_write: E
22919  allocator@2.0--614   (  614) [001] ...1 158021.028305: tracing_mark_write: B|614|FreeBuffer
22920  allocator@2.0--614   (  614) [001] ...1 158021.028311: tracing_mark_write: E
22921  allocator@2.0--614   (  614) [001] ...1 158021.028313: tracing_mark_write: B|614|FreeBuffer
22922  allocator@2.0--614   (  614) [001] ...1 158021.028316: tracing_mark_write: B|614|UnmapBuffer
22923  allocator@2.0--614   (  614) [001] ...1 158021.028323: tracing_mark_write: E
22924  allocator@2.0--614   (  614) [001] ...1 158021.028327: tracing_mark_write: E
22925  HwBinder:614_1-982   (  614) [000] ...1 158021.028374: tracing_mark_write: B|614|FreeBuffer
22926  HwBinder:614_1-982   (  614) [000] ...1 158021.028379: tracing_mark_write: E
22927  HwBinder:614_1-982   (  614) [000] ...1 158021.028382: tracing_mark_write: B|614|FreeBuffer
22928  HwBinder:614_1-982   (  614) [000] ...1 158021.028384: tracing_mark_write: B|614|UnmapBuffer
22929  HwBinder:614_1-982   (  614) [000] ...1 158021.028392: tracing_mark_write: E
22930  HwBinder:614_1-982   (  614) [000] ...1 158021.028397: tracing_mark_write: E
22931    RenderThread-13553 (13531) [004] ...1 158021.030603: tracing_mark_write: B|13531|HIDL::IServiceManager::getTransport::client
22932  hwservicemanag-584   (  584) [003] ...1 158021.030756: tracing_mark_write: B|584|HIDL::IServiceManager::getTransport::server
22933  hwservicemanag-584   (  584) [003] ...1 158021.031181: tracing_mark_write: E
22934    RenderThread-13553 (13531) [003] ...1 158021.031273: tracing_mark_write: E
22935    RenderThread-13553 (13531) [003] ...1 158021.031301: tracing_mark_write: B|13531|HIDL::IServiceManager::get::client
22936  hwservicemanag-584   (  584) [003] ...1 158021.031359: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
22937  hwservicemanag-584   (  584) [003] ...1 158021.031499: tracing_mark_write: E
22938    RenderThread-13553 (13531) [003] ...1 158021.031683: tracing_mark_write: E
22939    RenderThread-13553 (13531) [003] ...1 158021.031701: tracing_mark_write: B|13531|HIDL::IBase::interfaceChain::client
22940  configstore@1.-13242 (13242) [003] ...1 158021.031931: tracing_mark_write: B|13242|HIDL::IBase::interfaceChain::server
22941  configstore@1.-13242 (13242) [003] ...1 158021.031951: tracing_mark_write: E
22942    RenderThread-13553 (13531) [003] ...1 158021.032015: tracing_mark_write: E
22943    RenderThread-13553 (13531) [003] ...1 158021.032074: tracing_mark_write: B|13531|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::client
22944  configstore@1.-13242 (13242) [003] ...1 158021.032116: tracing_mark_write: B|13242|HIDL::ISurfaceFlingerConfigs::hasWideColorDisplay::server
22945  configstore@1.-13242 (13242) [003] ...1 158021.032125: tracing_mark_write: E
22946    RenderThread-13553 (13531) [003] ...1 158021.032161: tracing_mark_write: E
22947  SDM_EventThrea-643   (  612) [002] ...1 158021.033812: tracing_mark_write: B|612|HWCCallbacks::Vsync::
22948  SDM_EventThrea-643   (  612) [002] ...1 158021.033822: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
22949  SDM_EventThrea-643   (  612) [002] ...1 158021.033862: tracing_mark_write: E
22950  SDM_EventThrea-643   (  612) [002] ...1 158021.033870: tracing_mark_write: E
22951  HwBinder:610_1-626   (  610) [000] ...1 158021.033892: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
22952  HwBinder:610_1-626   (  610) [000] ...1 158021.033937: tracing_mark_write: E
22953    EventControl-682   (  610) [002] ...1 158021.033953: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
22954  HwBinder:612_3-11297 (  612) [002] ...1 158021.034029: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
22955  HwBinder:612_3-11297 (  612) [002] ...1 158021.034036: tracing_mark_write: C|612|SetVsyncState |0
22956  HwBinder:612_3-11297 (  612) [002] ...1 158021.034045: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
22957  HwBinder:612_3-11297 (  612) [002] ...1 158021.034061: tracing_mark_write: E
22958  HwBinder:612_3-11297 (  612) [002] ...1 158021.034068: tracing_mark_write: E
22959    EventControl-682   (  610) [002] ...1 158021.034089: tracing_mark_write: E
22960    Binder:610_3-978   (  610) [005] ...1 158021.036888: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
22961    Binder:610_3-978   (  610) [005] ...1 158021.036902: tracing_mark_write: B|610|FreeBuffer
22962    Binder:610_3-978   (  610) [005] ...1 158021.036926: tracing_mark_write: E
22963    Binder:610_3-978   (  610) [005] ...1 158021.036927: tracing_mark_write: B|610|FreeBuffer
22964    Binder:610_3-978   (  610) [005] ...1 158021.036934: tracing_mark_write: E
22965    Binder:610_3-978   (  610) [005] ...1 158021.036940: tracing_mark_write: E
22966    Binder:610_3-978   (  610) [005] ...1 158021.036948: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
22967    Binder:610_3-978   (  610) [005] ...1 158021.036950: tracing_mark_write: E
22968    Binder:610_3-978   (  610) [005] ...1 158021.036958: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
22969  HwBinder:614_1-982   (  614) [005] ...1 158021.037026: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
22970  HwBinder:614_1-982   (  614) [005] ...1 158021.037045: tracing_mark_write: B|614|AllocBuffer
22971  HwBinder:614_1-982   (  614) [005] ...1 158021.037052: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280
22972  surfaceflinger-610   (  610) [000] ...1 158021.040234: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client
22973  HwBinder:612_3-11297 (  612) [002] ...1 158021.040326: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server
22974  HwBinder:612_3-11297 (  612) [002] ...1 158021.040358: tracing_mark_write: E
22975  surfaceflinger-610   (  610) [000] ...1 158021.040390: tracing_mark_write: E
22976  surfaceflinger-610   (  610) [000] ...1 158021.040477: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
22977  HwBinder:612_3-11297 (  612) [002] ...1 158021.040533: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
22978  HwBinder:612_3-11297 (  612) [002] ...1 158021.040596: tracing_mark_write: B|612|HWCSession::PresentDisplay::
22979  HwBinder:612_3-11297 (  612) [002] ...1 158021.040603: tracing_mark_write: E
22980  HwBinder:612_3-11297 (  612) [002] ...1 158021.040608: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
22981  HwBinder:614_1-982   (  614) [005] ...1 158021.040821: tracing_mark_write: E
22982  HwBinder:614_1-982   (  614) [005] ...1 158021.040829: tracing_mark_write: B|614|ION_IOC_MAP
22983  HwBinder:614_1-982   (  614) [005] ...1 158021.040839: tracing_mark_write: E
22984  HwBinder:614_1-982   (  614) [005] ...1 158021.040842: tracing_mark_write: E
22985  HwBinder:614_1-982   (  614) [005] ...1 158021.040844: tracing_mark_write: B|614|AllocBuffer
22986  HwBinder:614_1-982   (  614) [005] ...1 158021.040849: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
22987  HwBinder:614_1-982   (  614) [005] ...1 158021.040886: tracing_mark_write: E
22988  HwBinder:614_1-982   (  614) [005] ...1 158021.040888: tracing_mark_write: B|614|ION_IOC_MAP
22989  HwBinder:614_1-982   (  614) [005] ...1 158021.040892: tracing_mark_write: E
22990  HwBinder:614_1-982   (  614) [005] ...1 158021.040893: tracing_mark_write: E
22991  HwBinder:612_3-11297 (  612) [002] ...1 158021.040924: tracing_mark_write: B|612|HWDevice::Validate::
22992  HwBinder:614_1-982   (  614) [005] ...1 158021.040928: tracing_mark_write: E
22993    Binder:610_3-978   (  610) [005] ...1 158021.040968: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
22994    Binder:610_3-978   (  610) [005] ...1 158021.040986: tracing_mark_write: E
22995    Binder:610_3-978   (  610) [005] ...1 158021.040990: tracing_mark_write: E
22996  HwBinder:612_3-11297 (  612) [002] ...1 158021.041030: tracing_mark_write: E
22997  HwBinder:614_1-982   (  614) [005] ...1 158021.041044: tracing_mark_write: B|614|FreeBuffer
22998  HwBinder:612_3-11297 (  612) [002] ...1 158021.041045: tracing_mark_write: E
22999  HwBinder:614_1-982   (  614) [005] ...1 158021.041048: tracing_mark_write: E
23000  HwBinder:614_1-982   (  614) [005] ...1 158021.041049: tracing_mark_write: B|614|FreeBuffer
23001  HwBinder:614_1-982   (  614) [005] ...1 158021.041050: tracing_mark_write: B|614|UnmapBuffer
23002  HwBinder:614_1-982   (  614) [005] ...1 158021.041061: tracing_mark_write: E
23003  HwBinder:614_1-982   (  614) [005] ...1 158021.041063: tracing_mark_write: E
23004  HwBinder:612_3-11297 (  612) [002] ...1 158021.041064: tracing_mark_write: E
23005  surfaceflinger-610   (  610) [000] ...1 158021.041140: tracing_mark_write: E
23006    RenderThread-13553 (13531) [005] ...1 158021.041219: tracing_mark_write: B|13531|HIDL::IServiceManager::getTransport::client
23007  surfaceflinger-610   (  610) [000] ...1 158021.041231: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23008  HwBinder:612_3-11297 (  612) [002] ...1 158021.041271: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23009  HwBinder:612_3-11297 (  612) [002] ...1 158021.041282: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23010  HwBinder:612_3-11297 (  612) [002] ...1 158021.041294: tracing_mark_write: B|612|HWDevice::Commit::
23011  hwservicemanag-584   (  584) [003] ...1 158021.041311: tracing_mark_write: B|584|HIDL::IServiceManager::getTransport::server
23012  HwBinder:612_3-11297 (  612) [002] ...1 158021.041366: tracing_mark_write: E
23013  HwBinder:612_3-11297 (  612) [002] ...1 158021.041383: tracing_mark_write: E
23014  HwBinder:612_3-11297 (  612) [002] ...1 158021.041402: tracing_mark_write: E
23015  surfaceflinger-610   (  610) [000] ...1 158021.041444: tracing_mark_write: E
23016  HwBinder:755_1-1247  (  755) [000] ...1 158021.042100: tracing_mark_write: E
23017   SensorService-1249  ( 1136) [001] ...1 158021.042177: tracing_mark_write: E
23018  hwservicemanag-584   (  584) [003] ...1 158021.042271: tracing_mark_write: E
23019   SensorService-1249  ( 1136) [001] ...1 158021.042286: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23020  HwBinder:755_1-1247  (  755) [000] ...1 158021.042334: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23021    RenderThread-13553 (13531) [003] ...1 158021.044262: tracing_mark_write: E
23022    RenderThread-13553 (13531) [003] ...1 158021.045351: tracing_mark_write: B|13531|HIDL::IServiceManager::registerPassthroughClient::client
23023  hwservicemanag-584   (  584) [001] ...1 158021.045434: tracing_mark_write: B|584|HIDL::IServiceManager::registerPassthroughClient::server
23024  hwservicemanag-584   (  584) [001] ...1 158021.045640: tracing_mark_write: E
23025    RenderThread-13553 (13531) [007] ...1 158021.045683: tracing_mark_write: E
23026    RenderThread-13553 (13531) [006] ...1 158021.045897: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough
23027    RenderThread-13553 (13531) [006] ...1 158021.045928: tracing_mark_write: E
23028  surfaceflinger-610   (  610) [000] ...1 158021.057064: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23029  HwBinder:612_3-11297 (  612) [002] ...1 158021.057183: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23030  HwBinder:612_3-11297 (  612) [002] ...1 158021.057254: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23031  HwBinder:612_3-11297 (  612) [002] ...1 158021.057261: tracing_mark_write: E
23032  HwBinder:612_3-11297 (  612) [002] ...1 158021.057266: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23033  HwBinder:612_3-11297 (  612) [002] ...1 158021.057573: tracing_mark_write: B|612|HWDevice::Validate::
23034  HwBinder:612_3-11297 (  612) [002] ...1 158021.057647: tracing_mark_write: E
23035  HwBinder:612_3-11297 (  612) [002] ...1 158021.057664: tracing_mark_write: E
23036  HwBinder:612_3-11297 (  612) [002] ...1 158021.057686: tracing_mark_write: E
23037  surfaceflinger-610   (  610) [000] ...1 158021.057753: tracing_mark_write: E
23038  surfaceflinger-610   (  610) [000] ...1 158021.057831: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23039  HwBinder:612_3-11297 (  612) [002] ...1 158021.057877: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23040  HwBinder:612_3-11297 (  612) [002] ...1 158021.057889: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23041  HwBinder:612_3-11297 (  612) [002] ...1 158021.057901: tracing_mark_write: B|612|HWDevice::Commit::
23042  HwBinder:612_3-11297 (  612) [002] ...1 158021.057982: tracing_mark_write: E
23043  HwBinder:612_3-11297 (  612) [002] ...1 158021.058001: tracing_mark_write: E
23044  HwBinder:612_3-11297 (  612) [002] ...1 158021.058026: tracing_mark_write: E
23045  surfaceflinger-610   (  610) [000] ...1 158021.058074: tracing_mark_write: E
23046  HwBinder:755_1-1247  (  755) [000] ...1 158021.062432: tracing_mark_write: E
23047   SensorService-1249  ( 1136) [001] ...1 158021.062506: tracing_mark_write: E
23048   SensorService-1249  ( 1136) [001] ...1 158021.062588: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23049  HwBinder:755_1-1247  (  755) [000] ...1 158021.062642: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23050   Binder:1341_5-21891 ( 1341) [001] ...1 158021.068465: tracing_mark_write: B|1341|HIDL::IMapper::importBuffer::passthrough
23051   Binder:1341_5-21891 ( 1341) [001] ...1 158021.068502: tracing_mark_write: E
23052  surfaceflinger-610   (  610) [000] ...1 158021.073848: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23053  HwBinder:612_3-11297 (  612) [002] ...1 158021.073970: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23054  HwBinder:612_3-11297 (  612) [002] ...1 158021.074047: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23055  HwBinder:612_3-11297 (  612) [002] ...1 158021.074056: tracing_mark_write: E
23056  HwBinder:612_3-11297 (  612) [002] ...1 158021.074063: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23057  HwBinder:612_3-11297 (  612) [002] ...1 158021.074427: tracing_mark_write: B|612|HWDevice::Validate::
23058  HwBinder:612_3-11297 (  612) [002] ...1 158021.074509: tracing_mark_write: E
23059  HwBinder:612_3-11297 (  612) [002] ...1 158021.074526: tracing_mark_write: E
23060  HwBinder:612_3-11297 (  612) [002] ...1 158021.074549: tracing_mark_write: E
23061  surfaceflinger-610   (  610) [000] ...1 158021.074619: tracing_mark_write: E
23062  surfaceflinger-610   (  610) [000] ...1 158021.074698: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23063  HwBinder:612_3-11297 (  612) [002] ...1 158021.074753: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23064  HwBinder:612_3-11297 (  612) [002] ...1 158021.074764: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23065  HwBinder:612_3-11297 (  612) [002] ...1 158021.074776: tracing_mark_write: B|612|HWDevice::Commit::
23066  HwBinder:612_3-11297 (  612) [002] ...1 158021.074865: tracing_mark_write: E
23067  HwBinder:612_3-11297 (  612) [002] ...1 158021.074882: tracing_mark_write: E
23068  HwBinder:612_3-11297 (  612) [002] ...1 158021.074906: tracing_mark_write: E
23069  surfaceflinger-610   (  610) [000] ...1 158021.074946: tracing_mark_write: E
23070  HwBinder:755_1-1247  (  755) [000] ...1 158021.082006: tracing_mark_write: E
23071   SensorService-1249  ( 1136) [001] ...1 158021.082092: tracing_mark_write: E
23072   SensorService-1249  ( 1136) [001] ...1 158021.082176: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23073  HwBinder:755_1-1247  (  755) [000] ...1 158021.082246: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23074    Binder:610_4-1720  (  610) [005] ...1 158021.088760: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
23075    Binder:610_4-1720  (  610) [005] ...1 158021.088785: tracing_mark_write: B|610|FreeBuffer
23076    Binder:610_4-1720  (  610) [005] ...1 158021.089484: tracing_mark_write: E
23077    Binder:610_4-1720  (  610) [005] ...1 158021.089492: tracing_mark_write: B|610|FreeBuffer
23078    Binder:610_4-1720  (  610) [005] ...1 158021.089502: tracing_mark_write: E
23079    Binder:610_4-1720  (  610) [005] ...1 158021.089845: tracing_mark_write: E
23080   Binder:1136_1-1152  ( 1136) [007] ...1 158021.090220: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23081   Binder:1136_1-1152  ( 1136) [007] ...1 158021.090258: tracing_mark_write: E
23082  power@1.1-serv-754   (  754) [004] ...1 158021.090286: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23083  power@1.1-serv-754   (  754) [004] ...1 158021.090395: tracing_mark_write: B|754|launch
23084  power@1.1-serv-754   (  754) [004] ...1 158021.090427: tracing_mark_write: C|754|launch_lock|0
23085  power@1.1-serv-754   (  754) [004] ...1 158021.090428: tracing_mark_write: E
23086  power@1.1-serv-754   (  754) [004] ...1 158021.090429: tracing_mark_write: E
23087    Binder:610_4-1720  (  610) [005] ...1 158021.090630: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
23088    Binder:610_4-1720  (  610) [005] ...1 158021.090636: tracing_mark_write: E
23089    Binder:610_4-1720  (  610) [005] ...1 158021.090646: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
23090  HwBinder:614_1-982   (  614) [005] ...1 158021.090720: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
23091  HwBinder:614_1-982   (  614) [005] ...1 158021.090753: tracing_mark_write: B|614|AllocBuffer
23092  HwBinder:614_1-982   (  614) [005] ...1 158021.090761: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280
23093  HwBinder:614_1-982   (  614) [005] ...1 158021.090831: tracing_mark_write: E
23094  HwBinder:614_1-982   (  614) [005] ...1 158021.090832: tracing_mark_write: B|614|ION_IOC_MAP
23095  HwBinder:614_1-982   (  614) [005] ...1 158021.090840: tracing_mark_write: E
23096  HwBinder:614_1-982   (  614) [005] ...1 158021.090842: tracing_mark_write: E
23097  HwBinder:614_1-982   (  614) [005] ...1 158021.090844: tracing_mark_write: B|614|AllocBuffer
23098  HwBinder:614_1-982   (  614) [005] ...1 158021.090846: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
23099  HwBinder:614_1-982   (  614) [005] ...1 158021.090850: tracing_mark_write: E
23100  HwBinder:614_1-982   (  614) [005] ...1 158021.090851: tracing_mark_write: B|614|ION_IOC_MAP
23101  HwBinder:614_1-982   (  614) [005] ...1 158021.090854: tracing_mark_write: E
23102  HwBinder:614_1-982   (  614) [005] ...1 158021.090855: tracing_mark_write: E
23103  HwBinder:614_1-982   (  614) [005] ...1 158021.090899: tracing_mark_write: E
23104  HwBinder:614_1-982   (  614) [005] ...1 158021.090925: tracing_mark_write: B|614|FreeBuffer
23105  HwBinder:614_1-982   (  614) [005] ...1 158021.090930: tracing_mark_write: E
23106  HwBinder:614_1-982   (  614) [005] ...1 158021.090932: tracing_mark_write: B|614|FreeBuffer
23107  HwBinder:614_1-982   (  614) [005] ...1 158021.090933: tracing_mark_write: B|614|UnmapBuffer
23108  HwBinder:614_1-982   (  614) [005] ...1 158021.090938: tracing_mark_write: E
23109  HwBinder:614_1-982   (  614) [005] ...1 158021.090941: tracing_mark_write: E
23110    Binder:610_4-1720  (  610) [005] ...1 158021.090968: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
23111    Binder:610_4-1720  (  610) [005] ...1 158021.090988: tracing_mark_write: E
23112    Binder:610_4-1720  (  610) [005] ...1 158021.090991: tracing_mark_write: E
23113  surfaceflinger-610   (  610) [000] ...1 158021.091920: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23114  HwBinder:612_3-11297 (  612) [002] ...1 158021.092036: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23115  HwBinder:612_3-11297 (  612) [002] ...1 158021.092122: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23116  HwBinder:612_3-11297 (  612) [002] ...1 158021.092130: tracing_mark_write: E
23117  HwBinder:612_3-11297 (  612) [002] ...1 158021.092136: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23118  HwBinder:612_3-11297 (  612) [002] ...1 158021.092446: tracing_mark_write: B|612|HWDevice::Validate::
23119  HwBinder:612_3-11297 (  612) [002] ...1 158021.092525: tracing_mark_write: E
23120  HwBinder:612_3-11297 (  612) [002] ...1 158021.092542: tracing_mark_write: E
23121  HwBinder:612_3-11297 (  612) [002] ...1 158021.092564: tracing_mark_write: E
23122  surfaceflinger-610   (  610) [000] ...1 158021.092619: tracing_mark_write: E
23123    RenderThread-13553 (13531) [005] ...1 158021.092651: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough
23124    RenderThread-13553 (13531) [005] ...1 158021.092677: tracing_mark_write: E
23125  surfaceflinger-610   (  610) [000] ...1 158021.092700: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23126  HwBinder:612_3-11297 (  612) [002] ...1 158021.092752: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23127  HwBinder:612_3-11297 (  612) [002] ...1 158021.092763: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23128  HwBinder:612_3-11297 (  612) [002] ...1 158021.092775: tracing_mark_write: B|612|HWDevice::Commit::
23129  HwBinder:612_3-11297 (  612) [002] ...1 158021.092858: tracing_mark_write: E
23130  HwBinder:612_3-11297 (  612) [002] ...1 158021.092877: tracing_mark_write: E
23131  HwBinder:612_3-11297 (  612) [002] ...1 158021.092900: tracing_mark_write: E
23132  surfaceflinger-610   (  610) [000] ...1 158021.092950: tracing_mark_write: E
23133  HwBinder:755_1-1247  (  755) [000] ...1 158021.101997: tracing_mark_write: E
23134   SensorService-1249  ( 1136) [001] ...1 158021.102085: tracing_mark_write: E
23135   SensorService-1249  ( 1136) [001] ...1 158021.102157: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23136  HwBinder:755_1-1247  (  755) [000] ...1 158021.102214: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23137    Binder:610_4-1720  (  610) [004] ...1 158021.105980: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
23138    Binder:610_4-1720  (  610) [004] ...1 158021.106004: tracing_mark_write: B|610|FreeBuffer
23139    Binder:610_4-1720  (  610) [004] ...1 158021.106024: tracing_mark_write: E
23140    Binder:610_4-1720  (  610) [004] ...1 158021.106026: tracing_mark_write: B|610|FreeBuffer
23141    Binder:610_4-1720  (  610) [004] ...1 158021.106032: tracing_mark_write: E
23142    Binder:610_4-1720  (  610) [004] ...1 158021.106035: tracing_mark_write: E
23143    Binder:610_4-1720  (  610) [004] ...1 158021.106044: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
23144    Binder:610_4-1720  (  610) [004] ...1 158021.106046: tracing_mark_write: E
23145    Binder:610_4-1720  (  610) [004] ...1 158021.106055: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
23146  HwBinder:614_1-982   (  614) [005] ...1 158021.106125: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
23147  HwBinder:614_1-982   (  614) [005] ...1 158021.106152: tracing_mark_write: B|614|AllocBuffer
23148  HwBinder:614_1-982   (  614) [005] ...1 158021.106158: tracing_mark_write: B|614|ION_IOC_ALLOC size: 8417280
23149  surfaceflinger-610   (  610) [001] ...1 158021.107460: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23150  HwBinder:612_3-11297 (  612) [002] ...1 158021.107627: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23151  HwBinder:612_3-11297 (  612) [002] ...1 158021.107698: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23152  HwBinder:612_3-11297 (  612) [002] ...1 158021.107706: tracing_mark_write: E
23153  HwBinder:612_3-11297 (  612) [002] ...1 158021.107711: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23154  HwBinder:612_3-11297 (  612) [002] ...1 158021.108003: tracing_mark_write: B|612|HWDevice::Validate::
23155  HwBinder:612_3-11297 (  612) [002] ...1 158021.108082: tracing_mark_write: E
23156  HwBinder:614_1-982   (  614) [005] ...1 158021.108083: tracing_mark_write: E
23157  HwBinder:614_1-982   (  614) [005] ...1 158021.108089: tracing_mark_write: B|614|ION_IOC_MAP
23158  HwBinder:614_1-982   (  614) [005] ...1 158021.108098: tracing_mark_write: E
23159  HwBinder:612_3-11297 (  612) [002] ...1 158021.108098: tracing_mark_write: E
23160  HwBinder:614_1-982   (  614) [005] ...1 158021.108101: tracing_mark_write: E
23161  HwBinder:614_1-982   (  614) [005] ...1 158021.108103: tracing_mark_write: B|614|AllocBuffer
23162  HwBinder:614_1-982   (  614) [005] ...1 158021.108108: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
23163  HwBinder:614_1-982   (  614) [005] ...1 158021.108114: tracing_mark_write: E
23164  HwBinder:614_1-982   (  614) [005] ...1 158021.108115: tracing_mark_write: B|614|ION_IOC_MAP
23165  HwBinder:614_1-982   (  614) [005] ...1 158021.108118: tracing_mark_write: E
23166  HwBinder:614_1-982   (  614) [005] ...1 158021.108119: tracing_mark_write: E
23167  HwBinder:612_3-11297 (  612) [002] ...1 158021.108122: tracing_mark_write: E
23168  HwBinder:614_1-982   (  614) [005] ...1 158021.108146: tracing_mark_write: E
23169  HwBinder:614_1-982   (  614) [005] ...1 158021.108176: tracing_mark_write: B|614|FreeBuffer
23170  HwBinder:614_1-982   (  614) [005] ...1 158021.108181: tracing_mark_write: E
23171  HwBinder:614_1-982   (  614) [005] ...1 158021.108182: tracing_mark_write: B|614|FreeBuffer
23172  HwBinder:614_1-982   (  614) [005] ...1 158021.108183: tracing_mark_write: B|614|UnmapBuffer
23173  surfaceflinger-610   (  610) [001] ...1 158021.108184: tracing_mark_write: E
23174    Binder:610_4-1720  (  610) [004] ...1 158021.108187: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
23175  HwBinder:614_1-982   (  614) [005] ...1 158021.108188: tracing_mark_write: E
23176  HwBinder:614_1-982   (  614) [005] ...1 158021.108191: tracing_mark_write: E
23177    Binder:610_4-1720  (  610) [004] ...1 158021.108207: tracing_mark_write: E
23178    Binder:610_4-1720  (  610) [004] ...1 158021.108211: tracing_mark_write: E
23179  surfaceflinger-610   (  610) [001] ...1 158021.108268: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23180  HwBinder:612_3-11297 (  612) [002] ...1 158021.108314: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23181  HwBinder:612_3-11297 (  612) [002] ...1 158021.108325: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23182    RenderThread-13553 (13531) [005] ...1 158021.108331: tracing_mark_write: B|13531|HIDL::IMapper::importBuffer::passthrough
23183  HwBinder:612_3-11297 (  612) [002] ...1 158021.108338: tracing_mark_write: B|612|HWDevice::Commit::
23184    RenderThread-13553 (13531) [005] ...1 158021.108360: tracing_mark_write: E
23185  HwBinder:612_3-11297 (  612) [002] ...1 158021.108421: tracing_mark_write: E
23186  HwBinder:612_3-11297 (  612) [002] ...1 158021.108441: tracing_mark_write: E
23187  HwBinder:612_3-11297 (  612) [002] ...1 158021.108465: tracing_mark_write: E
23188  surfaceflinger-610   (  610) [001] ...1 158021.108509: tracing_mark_write: E
23189  HwBinder:755_1-1247  (  755) [002] ...1 158021.122016: tracing_mark_write: E
23190   SensorService-1249  ( 1136) [001] ...1 158021.122109: tracing_mark_write: E
23191   SensorService-1249  ( 1136) [001] ...1 158021.122181: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23192  HwBinder:755_1-1247  (  755) [002] ...1 158021.122250: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23193  surfaceflinger-610   (  610) [001] ...1 158021.124254: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23194  HwBinder:612_3-11297 (  612) [002] ...1 158021.124374: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23195  HwBinder:612_3-11297 (  612) [002] ...1 158021.124443: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23196  HwBinder:612_3-11297 (  612) [002] ...1 158021.124450: tracing_mark_write: E
23197  HwBinder:612_3-11297 (  612) [002] ...1 158021.124455: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23198  HwBinder:612_3-11297 (  612) [002] ...1 158021.124735: tracing_mark_write: B|612|HWDevice::Validate::
23199  HwBinder:612_3-11297 (  612) [002] ...1 158021.124809: tracing_mark_write: E
23200  HwBinder:612_3-11297 (  612) [002] ...1 158021.124825: tracing_mark_write: E
23201  HwBinder:612_3-11297 (  612) [002] ...1 158021.124847: tracing_mark_write: E
23202  surfaceflinger-610   (  610) [001] ...1 158021.124904: tracing_mark_write: E
23203  surfaceflinger-610   (  610) [001] ...1 158021.124974: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23204  HwBinder:612_3-11297 (  612) [002] ...1 158021.125017: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23205  HwBinder:612_3-11297 (  612) [002] ...1 158021.125027: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23206  HwBinder:612_3-11297 (  612) [002] ...1 158021.125039: tracing_mark_write: B|612|HWDevice::Commit::
23207  HwBinder:612_3-11297 (  612) [002] ...1 158021.125113: tracing_mark_write: E
23208  HwBinder:612_3-11297 (  612) [002] ...1 158021.125131: tracing_mark_write: E
23209  HwBinder:612_3-11297 (  612) [002] ...1 158021.125154: tracing_mark_write: E
23210  surfaceflinger-610   (  610) [001] ...1 158021.125195: tracing_mark_write: E
23211  surfaceflinger-610   (  610) [001] ...1 158021.141057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23212  HwBinder:612_3-11297 (  612) [002] ...1 158021.141171: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23213  HwBinder:612_3-11297 (  612) [002] ...1 158021.141240: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23214  HwBinder:612_3-11297 (  612) [002] ...1 158021.141247: tracing_mark_write: E
23215  HwBinder:612_3-11297 (  612) [002] ...1 158021.141253: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23216  HwBinder:612_3-11297 (  612) [002] ...1 158021.141532: tracing_mark_write: B|612|HWDevice::Validate::
23217  HwBinder:612_3-11297 (  612) [002] ...1 158021.141605: tracing_mark_write: E
23218  HwBinder:612_3-11297 (  612) [002] ...1 158021.141620: tracing_mark_write: E
23219  HwBinder:612_3-11297 (  612) [002] ...1 158021.141642: tracing_mark_write: E
23220  surfaceflinger-610   (  610) [001] ...1 158021.141702: tracing_mark_write: E
23221  surfaceflinger-610   (  610) [001] ...1 158021.141775: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23222  HwBinder:612_3-11297 (  612) [002] ...1 158021.141865: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23223  HwBinder:612_3-11297 (  612) [002] ...1 158021.141876: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23224  HwBinder:612_3-11297 (  612) [002] ...1 158021.141895: tracing_mark_write: B|612|HWDevice::Commit::
23225  HwBinder:612_3-11297 (  612) [002] ...1 158021.141972: tracing_mark_write: E
23226  HwBinder:612_3-11297 (  612) [002] ...1 158021.141989: tracing_mark_write: E
23227  HwBinder:612_3-11297 (  612) [002] ...1 158021.142013: tracing_mark_write: E
23228  surfaceflinger-610   (  610) [001] ...1 158021.142059: tracing_mark_write: E
23229  HwBinder:755_1-1247  (  755) [002] ...1 158021.142331: tracing_mark_write: E
23230   SensorService-1249  ( 1136) [001] ...1 158021.142397: tracing_mark_write: E
23231   SensorService-1249  ( 1136) [001] ...1 158021.142474: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23232  HwBinder:755_1-1247  (  755) [002] ...1 158021.142522: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23233  surfaceflinger-610   (  610) [000] ...1 158021.157386: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23234  HwBinder:612_3-11297 (  612) [002] ...1 158021.157497: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23235  HwBinder:612_3-11297 (  612) [002] ...1 158021.157598: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23236  HwBinder:612_3-11297 (  612) [002] ...1 158021.157605: tracing_mark_write: E
23237  HwBinder:612_3-11297 (  612) [002] ...1 158021.157610: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23238  HwBinder:612_3-11297 (  612) [002] ...1 158021.157880: tracing_mark_write: B|612|HWDevice::Validate::
23239  HwBinder:612_3-11297 (  612) [002] ...1 158021.157954: tracing_mark_write: E
23240  HwBinder:612_3-11297 (  612) [002] ...1 158021.157969: tracing_mark_write: E
23241  HwBinder:612_3-11297 (  612) [002] ...1 158021.157989: tracing_mark_write: E
23242  surfaceflinger-610   (  610) [000] ...1 158021.158041: tracing_mark_write: E
23243  surfaceflinger-610   (  610) [000] ...1 158021.158106: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23244  HwBinder:612_3-11297 (  612) [002] ...1 158021.158145: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23245  HwBinder:612_3-11297 (  612) [002] ...1 158021.158154: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23246  HwBinder:612_3-11297 (  612) [002] ...1 158021.158166: tracing_mark_write: B|612|HWDevice::Commit::
23247  HwBinder:612_3-11297 (  612) [002] ...1 158021.158240: tracing_mark_write: E
23248  HwBinder:612_3-11297 (  612) [002] ...1 158021.158256: tracing_mark_write: E
23249  HwBinder:612_3-11297 (  612) [002] ...1 158021.158276: tracing_mark_write: E
23250  surfaceflinger-610   (  610) [000] ...1 158021.158314: tracing_mark_write: E
23251  HwBinder:755_1-1247  (  755) [000] ...1 158021.162071: tracing_mark_write: E
23252   SensorService-1249  ( 1136) [001] ...1 158021.162139: tracing_mark_write: E
23253   SensorService-1249  ( 1136) [001] ...1 158021.162207: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23254  HwBinder:755_1-1247  (  755) [000] ...1 158021.162256: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23255  surfaceflinger-610   (  610) [000] ...1 158021.174049: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23256  HwBinder:612_3-11297 (  612) [002] ...1 158021.174134: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23257  HwBinder:612_3-11297 (  612) [002] ...1 158021.174198: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23258  HwBinder:612_3-11297 (  612) [002] ...1 158021.174225: tracing_mark_write: E
23259  HwBinder:612_3-11297 (  612) [002] ...1 158021.174234: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23260  HwBinder:612_3-11297 (  612) [002] ...1 158021.174505: tracing_mark_write: B|612|HWDevice::Validate::
23261  HwBinder:612_3-11297 (  612) [002] ...1 158021.174574: tracing_mark_write: E
23262  HwBinder:612_3-11297 (  612) [002] ...1 158021.174590: tracing_mark_write: E
23263  HwBinder:612_3-11297 (  612) [002] ...1 158021.174609: tracing_mark_write: E
23264  surfaceflinger-610   (  610) [000] ...1 158021.174656: tracing_mark_write: E
23265  surfaceflinger-610   (  610) [000] ...1 158021.174721: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23266  HwBinder:612_3-11297 (  612) [002] ...1 158021.174758: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23267  HwBinder:612_3-11297 (  612) [002] ...1 158021.174768: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23268  HwBinder:612_3-11297 (  612) [002] ...1 158021.174780: tracing_mark_write: B|612|HWDevice::Commit::
23269  HwBinder:612_3-11297 (  612) [002] ...1 158021.174847: tracing_mark_write: E
23270  HwBinder:612_3-11297 (  612) [002] ...1 158021.174864: tracing_mark_write: E
23271  HwBinder:612_3-11297 (  612) [002] ...1 158021.174885: tracing_mark_write: E
23272  surfaceflinger-610   (  610) [000] ...1 158021.174923: tracing_mark_write: E
23273  HwBinder:755_1-1247  (  755) [000] ...1 158021.182037: tracing_mark_write: E
23274   SensorService-1249  ( 1136) [001] ...1 158021.182090: tracing_mark_write: E
23275   SensorService-1249  ( 1136) [001] ...1 158021.182150: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23276  HwBinder:755_1-1247  (  755) [000] ...1 158021.182194: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23277  surfaceflinger-610   (  610) [000] ...1 158021.190908: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23278  HwBinder:612_3-11297 (  612) [002] ...1 158021.191007: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23279  HwBinder:612_3-11297 (  612) [002] ...1 158021.191075: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23280  HwBinder:612_3-11297 (  612) [002] ...1 158021.191081: tracing_mark_write: E
23281  HwBinder:612_3-11297 (  612) [002] ...1 158021.191087: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23282  HwBinder:612_3-11297 (  612) [002] ...1 158021.191352: tracing_mark_write: B|612|HWDevice::Validate::
23283  HwBinder:612_3-11297 (  612) [002] ...1 158021.191422: tracing_mark_write: E
23284  HwBinder:612_3-11297 (  612) [002] ...1 158021.191437: tracing_mark_write: E
23285  HwBinder:612_3-11297 (  612) [002] ...1 158021.191457: tracing_mark_write: E
23286  surfaceflinger-610   (  610) [000] ...1 158021.191506: tracing_mark_write: E
23287  surfaceflinger-610   (  610) [000] ...1 158021.191575: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23288  HwBinder:612_3-11297 (  612) [002] ...1 158021.191616: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23289  HwBinder:612_3-11297 (  612) [002] ...1 158021.191624: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23290  HwBinder:612_3-11297 (  612) [002] ...1 158021.191635: tracing_mark_write: B|612|HWDevice::Commit::
23291  HwBinder:612_3-11297 (  612) [002] ...1 158021.191706: tracing_mark_write: E
23292  HwBinder:612_3-11297 (  612) [002] ...1 158021.191721: tracing_mark_write: E
23293  HwBinder:612_3-11297 (  612) [002] ...1 158021.191742: tracing_mark_write: E
23294  surfaceflinger-610   (  610) [000] ...1 158021.191781: tracing_mark_write: E
23295  HwBinder:755_1-1247  (  755) [000] ...1 158021.202071: tracing_mark_write: E
23296   SensorService-1249  ( 1136) [001] ...1 158021.202142: tracing_mark_write: E
23297   SensorService-1249  ( 1136) [001] ...1 158021.202219: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23298  HwBinder:755_1-1247  (  755) [000] ...1 158021.202272: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23299  surfaceflinger-610   (  610) [000] ...1 158021.207667: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23300  HwBinder:612_3-11297 (  612) [002] ...1 158021.207779: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23301  HwBinder:612_3-11297 (  612) [002] ...1 158021.207849: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23302  HwBinder:612_3-11297 (  612) [002] ...1 158021.207858: tracing_mark_write: E
23303  HwBinder:612_3-11297 (  612) [002] ...1 158021.207863: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23304  HwBinder:612_3-11297 (  612) [002] ...1 158021.208133: tracing_mark_write: B|612|HWDevice::Validate::
23305  HwBinder:612_3-11297 (  612) [002] ...1 158021.208209: tracing_mark_write: E
23306  HwBinder:612_3-11297 (  612) [002] ...1 158021.208223: tracing_mark_write: E
23307  HwBinder:612_3-11297 (  612) [002] ...1 158021.208243: tracing_mark_write: E
23308  surfaceflinger-610   (  610) [000] ...1 158021.208294: tracing_mark_write: E
23309  surfaceflinger-610   (  610) [000] ...1 158021.208358: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23310  HwBinder:612_3-11297 (  612) [002] ...1 158021.208399: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23311  HwBinder:612_3-11297 (  612) [002] ...1 158021.208407: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23312  HwBinder:612_3-11297 (  612) [002] ...1 158021.208418: tracing_mark_write: B|612|HWDevice::Commit::
23313  HwBinder:612_3-11297 (  612) [002] ...1 158021.208491: tracing_mark_write: E
23314  HwBinder:612_3-11297 (  612) [002] ...1 158021.208507: tracing_mark_write: E
23315  HwBinder:612_3-11297 (  612) [002] ...1 158021.208528: tracing_mark_write: E
23316  surfaceflinger-610   (  610) [000] ...1 158021.208565: tracing_mark_write: E
23317  HwBinder:755_1-1247  (  755) [000] ...1 158021.222170: tracing_mark_write: E
23318   SensorService-1249  ( 1136) [001] ...1 158021.222256: tracing_mark_write: E
23319   SensorService-1249  ( 1136) [001] ...1 158021.222344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23320  HwBinder:755_1-1247  (  755) [000] ...1 158021.222399: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23321  surfaceflinger-610   (  610) [000] ...1 158021.224437: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23322  HwBinder:612_3-11297 (  612) [002] ...1 158021.224545: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23323  HwBinder:612_3-11297 (  612) [002] ...1 158021.224616: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23324  HwBinder:612_3-11297 (  612) [002] ...1 158021.224623: tracing_mark_write: E
23325  HwBinder:612_3-11297 (  612) [002] ...1 158021.224628: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23326  HwBinder:612_3-11297 (  612) [002] ...1 158021.224908: tracing_mark_write: B|612|HWDevice::Validate::
23327  HwBinder:612_3-11297 (  612) [002] ...1 158021.224981: tracing_mark_write: E
23328  HwBinder:612_3-11297 (  612) [002] ...1 158021.224997: tracing_mark_write: E
23329  HwBinder:612_3-11297 (  612) [002] ...1 158021.225019: tracing_mark_write: E
23330  surfaceflinger-610   (  610) [000] ...1 158021.225075: tracing_mark_write: E
23331  surfaceflinger-610   (  610) [000] ...1 158021.225145: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23332  HwBinder:612_3-11297 (  612) [002] ...1 158021.225188: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23333  HwBinder:612_3-11297 (  612) [002] ...1 158021.225197: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23334  HwBinder:612_3-11297 (  612) [002] ...1 158021.225208: tracing_mark_write: B|612|HWDevice::Commit::
23335  HwBinder:612_3-11297 (  612) [002] ...1 158021.225283: tracing_mark_write: E
23336  HwBinder:612_3-11297 (  612) [002] ...1 158021.225300: tracing_mark_write: E
23337  HwBinder:612_3-11297 (  612) [002] ...1 158021.225321: tracing_mark_write: E
23338  surfaceflinger-610   (  610) [000] ...1 158021.225359: tracing_mark_write: E
23339  surfaceflinger-610   (  610) [000] ...1 158021.241082: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23340  HwBinder:612_3-11297 (  612) [002] ...1 158021.241205: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23341  HwBinder:612_3-11297 (  612) [002] ...1 158021.241282: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23342  HwBinder:612_3-11297 (  612) [002] ...1 158021.241289: tracing_mark_write: E
23343  HwBinder:612_3-11297 (  612) [002] ...1 158021.241294: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23344  HwBinder:612_3-11297 (  612) [002] ...1 158021.241610: tracing_mark_write: B|612|HWDevice::Validate::
23345  HwBinder:612_3-11297 (  612) [002] ...1 158021.241702: tracing_mark_write: E
23346  HwBinder:612_3-11297 (  612) [002] ...1 158021.241725: tracing_mark_write: E
23347  HwBinder:612_3-11297 (  612) [002] ...1 158021.241745: tracing_mark_write: E
23348  surfaceflinger-610   (  610) [000] ...1 158021.241799: tracing_mark_write: E
23349  surfaceflinger-610   (  610) [000] ...1 158021.241874: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23350  HwBinder:612_3-11297 (  612) [002] ...1 158021.241917: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23351  HwBinder:612_3-11297 (  612) [002] ...1 158021.241926: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23352  HwBinder:612_3-11297 (  612) [002] ...1 158021.241938: tracing_mark_write: B|612|HWDevice::Commit::
23353  HwBinder:612_3-11297 (  612) [002] ...1 158021.242011: tracing_mark_write: E
23354  HwBinder:612_3-11297 (  612) [002] ...1 158021.242028: tracing_mark_write: E
23355  HwBinder:612_3-11297 (  612) [002] ...1 158021.242051: tracing_mark_write: E
23356  surfaceflinger-610   (  610) [000] ...1 158021.242095: tracing_mark_write: E
23357  HwBinder:755_1-1247  (  755) [003] ...1 158021.242352: tracing_mark_write: E
23358   SensorService-1249  ( 1136) [001] ...1 158021.242416: tracing_mark_write: E
23359   SensorService-1249  ( 1136) [001] ...1 158021.242478: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23360  HwBinder:755_1-1247  (  755) [003] ...1 158021.242523: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23361  surfaceflinger-610   (  610) [000] ...1 158021.257780: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23362    android.anim-1244  ( 1136) [005] ...1 158021.257788: tracing_mark_write: B|1136|HIDL::IMapper::freeBuffer::passthrough
23363    android.anim-1244  ( 1136) [005] ...1 158021.257820: tracing_mark_write: B|1136|FreeBuffer
23364    android.anim-1244  ( 1136) [005] ...1 158021.257822: tracing_mark_write: B|1136|UnmapBuffer
23365    android.anim-1244  ( 1136) [005] ...1 158021.257860: tracing_mark_write: E
23366    android.anim-1244  ( 1136) [005] ...1 158021.257868: tracing_mark_write: E
23367    android.anim-1244  ( 1136) [005] ...1 158021.257870: tracing_mark_write: B|1136|FreeBuffer
23368    android.anim-1244  ( 1136) [005] ...1 158021.257873: tracing_mark_write: E
23369    android.anim-1244  ( 1136) [005] ...1 158021.257877: tracing_mark_write: E
23370  HwBinder:612_3-11297 (  612) [002] ...1 158021.257879: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23371  HwBinder:612_3-11297 (  612) [002] ...1 158021.257945: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23372  HwBinder:612_3-11297 (  612) [002] ...1 158021.257951: tracing_mark_write: E
23373  HwBinder:612_3-11297 (  612) [002] ...1 158021.257957: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23374  HwBinder:612_3-11297 (  612) [002] ...1 158021.258236: tracing_mark_write: B|612|HWDevice::Validate::
23375  HwBinder:612_3-11297 (  612) [002] ...1 158021.258310: tracing_mark_write: E
23376  HwBinder:612_3-11297 (  612) [002] ...1 158021.258326: tracing_mark_write: E
23377  HwBinder:612_3-11297 (  612) [002] ...1 158021.258347: tracing_mark_write: E
23378  surfaceflinger-610   (  610) [000] ...1 158021.258404: tracing_mark_write: E
23379  surfaceflinger-610   (  610) [000] ...1 158021.258479: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23380  HwBinder:612_3-11297 (  612) [002] ...1 158021.258524: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23381  HwBinder:612_3-11297 (  612) [002] ...1 158021.258534: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23382  HwBinder:612_3-11297 (  612) [002] ...1 158021.258546: tracing_mark_write: B|612|HWDevice::Commit::
23383  HwBinder:612_3-11297 (  612) [002] ...1 158021.258618: tracing_mark_write: E
23384  HwBinder:612_3-11297 (  612) [002] ...1 158021.258635: tracing_mark_write: E
23385  HwBinder:612_3-11297 (  612) [002] ...1 158021.258656: tracing_mark_write: E
23386  surfaceflinger-610   (  610) [000] ...1 158021.258696: tracing_mark_write: E
23387  HwBinder:755_1-1247  (  755) [000] ...1 158021.262111: tracing_mark_write: E
23388   SensorService-1249  ( 1136) [001] ...1 158021.262171: tracing_mark_write: E
23389   SensorService-1249  ( 1136) [001] ...1 158021.262240: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23390  HwBinder:755_1-1247  (  755) [000] ...1 158021.262297: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23391  surfaceflinger-610   (  610) [000] ...1 158021.274291: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
23392  surfaceflinger-610   (  610) [000] ...1 158021.274308: tracing_mark_write: B|610|FreeBuffer
23393  surfaceflinger-610   (  610) [000] ...1 158021.274321: tracing_mark_write: E
23394  surfaceflinger-610   (  610) [000] ...1 158021.274324: tracing_mark_write: B|610|FreeBuffer
23395  surfaceflinger-610   (  610) [000] ...1 158021.274356: tracing_mark_write: E
23396  surfaceflinger-610   (  610) [000] ...1 158021.274359: tracing_mark_write: E
23397  surfaceflinger-610   (  610) [000] ...1 158021.274924: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23398  HwBinder:612_3-11297 (  612) [002] ...1 158021.275035: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23399  HwBinder:612_3-11297 (  612) [002] ...1 158021.275105: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23400  HwBinder:612_3-11297 (  612) [002] ...1 158021.275112: tracing_mark_write: E
23401  HwBinder:612_3-11297 (  612) [002] ...1 158021.275117: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23402  HwBinder:612_3-11297 (  612) [002] ...1 158021.275387: tracing_mark_write: B|612|HWDevice::Validate::
23403  HwBinder:612_3-11297 (  612) [002] ...1 158021.275460: tracing_mark_write: E
23404  HwBinder:612_3-11297 (  612) [002] ...1 158021.275475: tracing_mark_write: E
23405  HwBinder:612_3-11297 (  612) [002] ...1 158021.275495: tracing_mark_write: E
23406  surfaceflinger-610   (  610) [000] ...1 158021.275546: tracing_mark_write: E
23407  surfaceflinger-610   (  610) [000] ...1 158021.275612: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23408  HwBinder:612_3-11297 (  612) [002] ...1 158021.275650: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23409  HwBinder:612_3-11297 (  612) [002] ...1 158021.275659: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23410  HwBinder:612_3-11297 (  612) [002] ...1 158021.275670: tracing_mark_write: B|612|HWDevice::Commit::
23411  HwBinder:612_3-11297 (  612) [002] ...1 158021.275741: tracing_mark_write: E
23412  HwBinder:612_3-11297 (  612) [002] ...1 158021.275758: tracing_mark_write: E
23413  HwBinder:612_3-11297 (  612) [002] ...1 158021.275779: tracing_mark_write: E
23414  surfaceflinger-610   (  610) [000] ...1 158021.275816: tracing_mark_write: E
23415  HwBinder:755_1-1247  (  755) [000] ...1 158021.282156: tracing_mark_write: E
23416   SensorService-1249  ( 1136) [001] ...1 158021.282253: tracing_mark_write: E
23417   SensorService-1249  ( 1136) [001] ...1 158021.282328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23418  HwBinder:755_1-1247  (  755) [000] ...1 158021.282407: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23419  surfaceflinger-610   (  610) [000] ...1 158021.291254: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23420  HwBinder:612_3-11297 (  612) [002] ...1 158021.291364: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23421  HwBinder:612_3-11297 (  612) [002] ...1 158021.291435: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23422  HwBinder:612_3-11297 (  612) [002] ...1 158021.291442: tracing_mark_write: E
23423  HwBinder:612_3-11297 (  612) [002] ...1 158021.291447: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23424  HwBinder:612_3-11297 (  612) [002] ...1 158021.291717: tracing_mark_write: B|612|HWDevice::Validate::
23425  HwBinder:612_3-11297 (  612) [002] ...1 158021.291791: tracing_mark_write: E
23426  HwBinder:612_3-11297 (  612) [002] ...1 158021.291807: tracing_mark_write: E
23427  HwBinder:612_3-11297 (  612) [002] ...1 158021.291827: tracing_mark_write: E
23428  surfaceflinger-610   (  610) [000] ...1 158021.291879: tracing_mark_write: E
23429  surfaceflinger-610   (  610) [000] ...1 158021.291951: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23430  HwBinder:612_3-11297 (  612) [002] ...1 158021.291991: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23431  HwBinder:612_3-11297 (  612) [002] ...1 158021.292000: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23432  HwBinder:612_3-11297 (  612) [002] ...1 158021.292011: tracing_mark_write: B|612|HWDevice::Commit::
23433  HwBinder:612_3-11297 (  612) [002] ...1 158021.292085: tracing_mark_write: E
23434  HwBinder:612_3-11297 (  612) [002] ...1 158021.292100: tracing_mark_write: E
23435  HwBinder:612_3-11297 (  612) [002] ...1 158021.292119: tracing_mark_write: E
23436  surfaceflinger-610   (  610) [000] ...1 158021.292162: tracing_mark_write: E
23437  MobileIQWorker-13581 (13531) [006] ...1 158021.292323: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized
23438  HwBinder:755_1-1247  (  755) [000] ...1 158021.302167: tracing_mark_write: E
23439   SensorService-1249  ( 1136) [001] ...1 158021.302230: tracing_mark_write: E
23440   SensorService-1249  ( 1136) [001] ...1 158021.302303: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23441  HwBinder:755_1-1247  (  755) [000] ...1 158021.302348: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23442  surfaceflinger-610   (  610) [000] ...1 158021.307859: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23443  HwBinder:612_3-11297 (  612) [002] ...1 158021.307932: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23444  HwBinder:612_3-11297 (  612) [002] ...1 158021.307991: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23445  HwBinder:612_3-11297 (  612) [002] ...1 158021.307998: tracing_mark_write: E
23446  HwBinder:612_3-11297 (  612) [002] ...1 158021.308003: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23447  HwBinder:612_3-11297 (  612) [002] ...1 158021.308257: tracing_mark_write: B|612|HWDevice::Validate::
23448  HwBinder:612_3-11297 (  612) [002] ...1 158021.308322: tracing_mark_write: E
23449  HwBinder:612_3-11297 (  612) [002] ...1 158021.308337: tracing_mark_write: E
23450  HwBinder:612_3-11297 (  612) [002] ...1 158021.308354: tracing_mark_write: E
23451  surfaceflinger-610   (  610) [000] ...1 158021.308398: tracing_mark_write: E
23452  surfaceflinger-610   (  610) [000] ...1 158021.308462: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23453  HwBinder:612_3-11297 (  612) [002] ...1 158021.308500: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23454  HwBinder:612_3-11297 (  612) [002] ...1 158021.308510: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23455  HwBinder:612_3-11297 (  612) [002] ...1 158021.308520: tracing_mark_write: B|612|HWDevice::Commit::
23456  HwBinder:612_3-11297 (  612) [002] ...1 158021.308587: tracing_mark_write: E
23457  HwBinder:612_3-11297 (  612) [002] ...1 158021.308602: tracing_mark_write: E
23458  HwBinder:612_3-11297 (  612) [002] ...1 158021.308622: tracing_mark_write: E
23459  surfaceflinger-610   (  610) [000] ...1 158021.308663: tracing_mark_write: E
23460  HwBinder:755_1-1247  (  755) [000] ...1 158021.322185: tracing_mark_write: E
23461   SensorService-1249  ( 1136) [001] ...1 158021.322244: tracing_mark_write: E
23462   SensorService-1249  ( 1136) [001] ...1 158021.322305: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23463  HwBinder:755_1-1247  (  755) [000] ...1 158021.322349: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23464  surfaceflinger-610   (  610) [000] ...1 158021.324547: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client
23465  HwBinder:612_3-11297 (  612) [002] ...1 158021.324604: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server
23466  HwBinder:612_3-11297 (  612) [002] ...1 158021.324637: tracing_mark_write: E
23467  surfaceflinger-610   (  610) [000] ...1 158021.324665: tracing_mark_write: E
23468  surfaceflinger-610   (  610) [000] ...1 158021.324741: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23469  HwBinder:612_3-11297 (  612) [002] ...1 158021.324840: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23470  HwBinder:612_3-11297 (  612) [002] ...1 158021.324896: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough
23471  HwBinder:612_3-11297 (  612) [002] ...1 158021.324944: tracing_mark_write: E
23472  HwBinder:612_3-11297 (  612) [002] ...1 158021.324996: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23473  HwBinder:612_3-11297 (  612) [002] ...1 158021.325003: tracing_mark_write: E
23474  HwBinder:612_3-11297 (  612) [002] ...1 158021.325008: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23475  HwBinder:612_3-11297 (  612) [002] ...1 158021.325296: tracing_mark_write: B|612|HWDevice::Validate::
23476  HwBinder:612_3-11297 (  612) [002] ...1 158021.325376: tracing_mark_write: E
23477  HwBinder:612_3-11297 (  612) [002] ...1 158021.325393: tracing_mark_write: E
23478  HwBinder:612_3-11297 (  612) [002] ...1 158021.325409: tracing_mark_write: E
23479  surfaceflinger-610   (  610) [000] ...1 158021.325449: tracing_mark_write: E
23480  surfaceflinger-610   (  610) [000] ...1 158021.325517: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23481  HwBinder:612_3-11297 (  612) [002] ...1 158021.325554: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23482  HwBinder:612_3-11297 (  612) [002] ...1 158021.325563: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23483  HwBinder:612_3-11297 (  612) [002] ...1 158021.325573: tracing_mark_write: B|612|HWDevice::Commit::
23484  HwBinder:612_3-11297 (  612) [002] ...1 158021.325658: tracing_mark_write: E
23485  HwBinder:612_3-11297 (  612) [002] ...1 158021.325673: tracing_mark_write: E
23486  HwBinder:612_3-11297 (  612) [002] ...1 158021.325693: tracing_mark_write: E
23487  surfaceflinger-610   (  610) [000] ...1 158021.325734: tracing_mark_write: E
23488  surfaceflinger-610   (  610) [000] ...1 158021.341324: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23489  HwBinder:612_3-11297 (  612) [002] ...1 158021.341401: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23490  HwBinder:612_3-11297 (  612) [002] ...1 158021.341462: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23491  HwBinder:612_3-11297 (  612) [002] ...1 158021.341468: tracing_mark_write: E
23492  HwBinder:612_3-11297 (  612) [002] ...1 158021.341473: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23493  HwBinder:612_3-11297 (  612) [002] ...1 158021.341739: tracing_mark_write: B|612|HWDevice::Validate::
23494  HwBinder:612_3-11297 (  612) [002] ...1 158021.341807: tracing_mark_write: E
23495  HwBinder:612_3-11297 (  612) [002] ...1 158021.341822: tracing_mark_write: E
23496  HwBinder:612_3-11297 (  612) [002] ...1 158021.341840: tracing_mark_write: E
23497  surfaceflinger-610   (  610) [000] ...1 158021.341884: tracing_mark_write: E
23498  surfaceflinger-610   (  610) [000] ...1 158021.341947: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23499  HwBinder:612_3-11297 (  612) [002] ...1 158021.341985: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23500  HwBinder:612_3-11297 (  612) [002] ...1 158021.341993: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23501  HwBinder:612_3-11297 (  612) [002] ...1 158021.342004: tracing_mark_write: B|612|HWDevice::Commit::
23502  HwBinder:612_3-11297 (  612) [002] ...1 158021.342084: tracing_mark_write: E
23503  HwBinder:612_3-11297 (  612) [002] ...1 158021.342100: tracing_mark_write: E
23504  HwBinder:612_3-11297 (  612) [002] ...1 158021.342122: tracing_mark_write: E
23505  surfaceflinger-610   (  610) [000] ...1 158021.342169: tracing_mark_write: E
23506  HwBinder:755_1-1247  (  755) [000] ...1 158021.342423: tracing_mark_write: E
23507   SensorService-1249  ( 1136) [001] ...1 158021.342480: tracing_mark_write: E
23508   SensorService-1249  ( 1136) [001] ...1 158021.342541: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23509  HwBinder:755_1-1247  (  755) [000] ...1 158021.342614: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23510  surfaceflinger-610   (  610) [000] ...1 158021.358037: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23511  HwBinder:612_3-11297 (  612) [002] ...1 158021.358115: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23512  HwBinder:612_3-11297 (  612) [002] ...1 158021.358180: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23513  HwBinder:612_3-11297 (  612) [002] ...1 158021.358186: tracing_mark_write: E
23514  HwBinder:612_3-11297 (  612) [002] ...1 158021.358191: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23515  HwBinder:612_3-11297 (  612) [002] ...1 158021.358463: tracing_mark_write: B|612|HWDevice::Validate::
23516  HwBinder:612_3-11297 (  612) [002] ...1 158021.358534: tracing_mark_write: E
23517  HwBinder:612_3-11297 (  612) [002] ...1 158021.358550: tracing_mark_write: E
23518  HwBinder:612_3-11297 (  612) [002] ...1 158021.358567: tracing_mark_write: E
23519  surfaceflinger-610   (  610) [000] ...1 158021.358611: tracing_mark_write: E
23520  surfaceflinger-610   (  610) [000] ...1 158021.358677: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23521  HwBinder:612_3-11297 (  612) [002] ...1 158021.358716: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23522  HwBinder:612_3-11297 (  612) [002] ...1 158021.358724: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23523  HwBinder:612_3-11297 (  612) [002] ...1 158021.358734: tracing_mark_write: B|612|HWDevice::Commit::
23524  HwBinder:612_3-11297 (  612) [002] ...1 158021.358815: tracing_mark_write: E
23525  HwBinder:612_3-11297 (  612) [002] ...1 158021.358830: tracing_mark_write: E
23526  HwBinder:612_3-11297 (  612) [002] ...1 158021.358851: tracing_mark_write: E
23527  surfaceflinger-610   (  610) [000] ...1 158021.358893: tracing_mark_write: E
23528  HwBinder:755_1-1247  (  755) [000] ...1 158021.362220: tracing_mark_write: E
23529   SensorService-1249  ( 1136) [001] ...1 158021.362276: tracing_mark_write: E
23530   SensorService-1249  ( 1136) [001] ...1 158021.362337: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23531  HwBinder:755_1-1247  (  755) [000] ...1 158021.362382: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23532  surfaceflinger-610   (  610) [000] ...1 158021.374770: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23533  HwBinder:612_3-11297 (  612) [002] ...1 158021.374851: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23534  HwBinder:612_3-11297 (  612) [002] ...1 158021.374915: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23535  HwBinder:612_3-11297 (  612) [002] ...1 158021.374921: tracing_mark_write: E
23536  HwBinder:612_3-11297 (  612) [002] ...1 158021.374927: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23537  HwBinder:612_3-11297 (  612) [002] ...1 158021.375275: tracing_mark_write: B|612|HWDevice::Validate::
23538  HwBinder:612_3-11297 (  612) [002] ...1 158021.375352: tracing_mark_write: E
23539  HwBinder:612_3-11297 (  612) [002] ...1 158021.375370: tracing_mark_write: E
23540  HwBinder:612_3-11297 (  612) [002] ...1 158021.375389: tracing_mark_write: E
23541  surfaceflinger-610   (  610) [000] ...1 158021.375437: tracing_mark_write: E
23542  surfaceflinger-610   (  610) [000] ...1 158021.375505: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23543  HwBinder:612_3-11297 (  612) [002] ...1 158021.375541: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23544  HwBinder:612_3-11297 (  612) [002] ...1 158021.375550: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23545  HwBinder:612_3-11297 (  612) [002] ...1 158021.375561: tracing_mark_write: B|612|HWDevice::Commit::
23546  HwBinder:612_3-11297 (  612) [002] ...1 158021.375641: tracing_mark_write: E
23547  HwBinder:612_3-11297 (  612) [002] ...1 158021.375657: tracing_mark_write: E
23548  HwBinder:612_3-11297 (  612) [002] ...1 158021.375677: tracing_mark_write: E
23549  surfaceflinger-610   (  610) [000] ...1 158021.375722: tracing_mark_write: E
23550   Binder:1136_9-1633  ( 1136) [006] ...1 158021.377277: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23551   Binder:1136_9-1633  ( 1136) [006] ...1 158021.377326: tracing_mark_write: E
23552  power@1.1-serv-754   (  754) [004] ...1 158021.377355: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23553  power@1.1-serv-754   (  754) [004] ...1 158021.377436: tracing_mark_write: E
23554  MobileIQWorker-13581 (13531) [007] ...1 158021.377939: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
23555  MobileIQWorker-13581 (13531) [007] ...1 158021.378318: tracing_mark_write: B|13531|HIDL::IServiceManager::listByInterface::client
23556  hwservicemanag-584   (  584) [003] ...1 158021.378414: tracing_mark_write: B|584|HIDL::IServiceManager::listByInterface::server
23557  hwservicemanag-584   (  584) [003] ...1 158021.379213: tracing_mark_write: E
23558  MobileIQWorker-13581 (13531) [005] ...1 158021.379254: tracing_mark_write: E
23559  HwBinder:755_1-1247  (  755) [003] ...1 158021.382220: tracing_mark_write: E
23560   SensorService-1249  ( 1136) [001] ...1 158021.382274: tracing_mark_write: E
23561   SensorService-1249  ( 1136) [001] ...1 158021.382333: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23562  HwBinder:755_1-1247  (  755) [003] ...1 158021.382377: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23563  surfaceflinger-610   (  610) [001] ...1 158021.391447: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23564  HwBinder:612_3-11297 (  612) [002] ...1 158021.391535: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23565  HwBinder:612_3-11297 (  612) [002] ...1 158021.391606: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23566  HwBinder:612_3-11297 (  612) [002] ...1 158021.391614: tracing_mark_write: E
23567  HwBinder:612_3-11297 (  612) [002] ...1 158021.391619: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23568  HwBinder:612_3-11297 (  612) [002] ...1 158021.391909: tracing_mark_write: B|612|HWDevice::Validate::
23569  HwBinder:612_3-11297 (  612) [002] ...1 158021.391985: tracing_mark_write: E
23570  HwBinder:612_3-11297 (  612) [002] ...1 158021.392002: tracing_mark_write: E
23571  HwBinder:612_3-11297 (  612) [002] ...1 158021.392021: tracing_mark_write: E
23572  surfaceflinger-610   (  610) [001] ...1 158021.392069: tracing_mark_write: E
23573  surfaceflinger-610   (  610) [001] ...1 158021.392141: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23574  HwBinder:612_3-11297 (  612) [002] ...1 158021.392176: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23575  HwBinder:612_3-11297 (  612) [002] ...1 158021.392185: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23576  HwBinder:612_3-11297 (  612) [002] ...1 158021.392197: tracing_mark_write: B|612|HWDevice::Commit::
23577  HwBinder:612_3-11297 (  612) [002] ...1 158021.392279: tracing_mark_write: E
23578  HwBinder:612_3-11297 (  612) [002] ...1 158021.392294: tracing_mark_write: E
23579  HwBinder:612_3-11297 (  612) [002] ...1 158021.392313: tracing_mark_write: E
23580  surfaceflinger-610   (  610) [001] ...1 158021.392358: tracing_mark_write: E
23581  HwBinder:755_1-1247  (  755) [000] ...1 158021.402240: tracing_mark_write: E
23582   SensorService-1249  ( 1136) [001] ...1 158021.402293: tracing_mark_write: E
23583   SensorService-1249  ( 1136) [001] ...1 158021.402359: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23584  HwBinder:755_1-1247  (  755) [000] ...1 158021.402400: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23585  surfaceflinger-610   (  610) [002] ...1 158021.408238: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23586  HwBinder:612_3-11297 (  612) [007] ...1 158021.408354: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23587  HwBinder:612_3-11297 (  612) [007] ...1 158021.408410: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23588  HwBinder:612_3-11297 (  612) [007] ...1 158021.408415: tracing_mark_write: E
23589  HwBinder:612_3-11297 (  612) [007] ...1 158021.408418: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23590  HwBinder:612_3-11297 (  612) [007] ...1 158021.408626: tracing_mark_write: B|612|HWDevice::Validate::
23591  HwBinder:612_3-11297 (  612) [007] ...1 158021.408682: tracing_mark_write: E
23592  HwBinder:612_3-11297 (  612) [007] ...1 158021.408694: tracing_mark_write: E
23593  HwBinder:612_3-11297 (  612) [007] ...1 158021.408709: tracing_mark_write: E
23594  surfaceflinger-610   (  610) [002] ...1 158021.408751: tracing_mark_write: E
23595  surfaceflinger-610   (  610) [002] ...1 158021.408824: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23596  HwBinder:612_3-11297 (  612) [007] ...1 158021.408859: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23597  HwBinder:612_3-11297 (  612) [007] ...1 158021.408865: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23598  HwBinder:612_3-11297 (  612) [007] ...1 158021.408872: tracing_mark_write: B|612|HWDevice::Commit::
23599  HwBinder:612_3-11297 (  612) [007] ...1 158021.408928: tracing_mark_write: E
23600  HwBinder:612_3-11297 (  612) [007] ...1 158021.408937: tracing_mark_write: E
23601  HwBinder:612_3-11297 (  612) [007] ...1 158021.408949: tracing_mark_write: E
23602  surfaceflinger-610   (  610) [001] ...1 158021.408992: tracing_mark_write: E
23603  HwBinder:755_1-1247  (  755) [002] ...1 158021.422271: tracing_mark_write: E
23604   SensorService-1249  ( 1136) [001] ...1 158021.422365: tracing_mark_write: E
23605   SensorService-1249  ( 1136) [001] ...1 158021.422449: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23606  HwBinder:755_1-1247  (  755) [002] ...1 158021.422506: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23607  surfaceflinger-610   (  610) [002] ...1 158021.424938: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23608  HwBinder:612_3-11297 (  612) [007] ...1 158021.425025: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23609  HwBinder:612_3-11297 (  612) [007] ...1 158021.425075: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23610  HwBinder:612_3-11297 (  612) [007] ...1 158021.425080: tracing_mark_write: E
23611  HwBinder:612_3-11297 (  612) [007] ...1 158021.425083: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23612  HwBinder:612_3-11297 (  612) [007] ...1 158021.425289: tracing_mark_write: B|612|HWDevice::Validate::
23613  HwBinder:612_3-11297 (  612) [007] ...1 158021.425345: tracing_mark_write: E
23614  HwBinder:612_3-11297 (  612) [007] ...1 158021.425356: tracing_mark_write: E
23615  HwBinder:612_3-11297 (  612) [007] ...1 158021.425370: tracing_mark_write: E
23616  surfaceflinger-610   (  610) [002] ...1 158021.425415: tracing_mark_write: E
23617  surfaceflinger-610   (  610) [002] ...1 158021.425484: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23618  HwBinder:612_3-11297 (  612) [007] ...1 158021.425515: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23619  HwBinder:612_3-11297 (  612) [007] ...1 158021.425520: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23620  HwBinder:612_3-11297 (  612) [007] ...1 158021.425526: tracing_mark_write: B|612|HWDevice::Commit::
23621  HwBinder:612_3-11297 (  612) [007] ...1 158021.425583: tracing_mark_write: E
23622  HwBinder:612_3-11297 (  612) [007] ...1 158021.425591: tracing_mark_write: E
23623  HwBinder:612_3-11297 (  612) [007] ...1 158021.425601: tracing_mark_write: E
23624  surfaceflinger-610   (  610) [000] ...1 158021.425647: tracing_mark_write: E
23625  surfaceflinger-610   (  610) [000] ...1 158021.441705: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23626  HwBinder:612_3-11297 (  612) [007] ...1 158021.441813: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23627  HwBinder:612_3-11297 (  612) [007] ...1 158021.441862: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23628  HwBinder:612_3-11297 (  612) [007] ...1 158021.441867: tracing_mark_write: E
23629  HwBinder:612_3-11297 (  612) [007] ...1 158021.441870: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23630  HwBinder:612_3-11297 (  612) [007] ...1 158021.442074: tracing_mark_write: B|612|HWDevice::Validate::
23631  HwBinder:612_3-11297 (  612) [007] ...1 158021.442135: tracing_mark_write: E
23632  HwBinder:612_3-11297 (  612) [007] ...1 158021.442147: tracing_mark_write: E
23633  HwBinder:612_3-11297 (  612) [007] ...1 158021.442161: tracing_mark_write: E
23634  surfaceflinger-610   (  610) [000] ...1 158021.442206: tracing_mark_write: E
23635  surfaceflinger-610   (  610) [000] ...1 158021.442275: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23636  HwBinder:612_3-11297 (  612) [007] ...1 158021.442310: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23637  HwBinder:612_3-11297 (  612) [007] ...1 158021.442317: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23638  HwBinder:612_3-11297 (  612) [007] ...1 158021.442323: tracing_mark_write: B|612|HWDevice::Commit::
23639  HwBinder:612_3-11297 (  612) [007] ...1 158021.442375: tracing_mark_write: E
23640  HwBinder:612_3-11297 (  612) [007] ...1 158021.442385: tracing_mark_write: E
23641  HwBinder:612_3-11297 (  612) [007] ...1 158021.442396: tracing_mark_write: E
23642  surfaceflinger-610   (  610) [000] ...1 158021.442436: tracing_mark_write: E
23643  HwBinder:755_1-1247  (  755) [004] ...1 158021.442487: tracing_mark_write: E
23644   SensorService-1249  ( 1136) [001] ...1 158021.442540: tracing_mark_write: E
23645   SensorService-1249  ( 1136) [001] ...1 158021.442600: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23646  sensors@1.0-se-755   (  755) [002] ...1 158021.442660: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23647  surfaceflinger-610   (  610) [000] ...1 158021.458423: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23648  HwBinder:612_3-11297 (  612) [007] ...1 158021.458532: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23649  HwBinder:612_3-11297 (  612) [007] ...1 158021.458583: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23650  HwBinder:612_3-11297 (  612) [007] ...1 158021.458588: tracing_mark_write: E
23651  HwBinder:612_3-11297 (  612) [007] ...1 158021.458591: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23652  HwBinder:612_3-11297 (  612) [007] ...1 158021.458791: tracing_mark_write: B|612|HWDevice::Validate::
23653  HwBinder:612_3-11297 (  612) [007] ...1 158021.458844: tracing_mark_write: E
23654  HwBinder:612_3-11297 (  612) [007] ...1 158021.458857: tracing_mark_write: E
23655  HwBinder:612_3-11297 (  612) [007] ...1 158021.458870: tracing_mark_write: E
23656  surfaceflinger-610   (  610) [000] ...1 158021.458913: tracing_mark_write: E
23657  surfaceflinger-610   (  610) [000] ...1 158021.458980: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23658  HwBinder:612_3-11297 (  612) [007] ...1 158021.459012: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23659  HwBinder:612_3-11297 (  612) [007] ...1 158021.459017: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23660  HwBinder:612_3-11297 (  612) [007] ...1 158021.459023: tracing_mark_write: B|612|HWDevice::Commit::
23661  HwBinder:612_3-11297 (  612) [007] ...1 158021.459080: tracing_mark_write: E
23662  HwBinder:612_3-11297 (  612) [007] ...1 158021.459091: tracing_mark_write: E
23663  HwBinder:612_3-11297 (  612) [007] ...1 158021.459102: tracing_mark_write: E
23664  surfaceflinger-610   (  610) [000] ...1 158021.459142: tracing_mark_write: E
23665  sensors@1.0-se-755   (  755) [006] ...1 158021.462320: tracing_mark_write: E
23666   SensorService-1249  ( 1136) [001] ...1 158021.462401: tracing_mark_write: E
23667   SensorService-1249  ( 1136) [001] ...1 158021.462488: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23668  sensors@1.0-se-755   (  755) [006] ...1 158021.462546: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23669  MobileIQWorker-13581 (13531) [004] ...1 158021.463112: tracing_mark_write: E
23670  MobileIQWorker-13581 (13531) [004] ...1 158021.464129: tracing_mark_write: E
23671  MobileIQWorker-13581 (13531) [004] ...1 158021.467112: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized
23672   Binder:1136_9-1633  ( 1136) [006] ...1 158021.467170: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23673   Binder:1136_9-1633  ( 1136) [006] ...1 158021.467199: tracing_mark_write: E
23674  power@1.1-serv-754   (  754) [004] ...1 158021.467225: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23675  power@1.1-serv-754   (  754) [004] ...1 158021.467304: tracing_mark_write: E
23676  surfaceflinger-610   (  610) [000] ...1 158021.475041: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client
23677  HwBinder:612_3-11297 (  612) [007] ...1 158021.475148: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server
23678  HwBinder:612_3-11297 (  612) [007] ...1 158021.475168: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough
23679  HwBinder:612_3-11297 (  612) [007] ...1 158021.475179: tracing_mark_write: B|612|FreeBuffer
23680  HwBinder:612_3-11297 (  612) [007] ...1 158021.475186: tracing_mark_write: E
23681  HwBinder:612_3-11297 (  612) [007] ...1 158021.475187: tracing_mark_write: B|612|FreeBuffer
23682  HwBinder:612_3-11297 (  612) [007] ...1 158021.475189: tracing_mark_write: B|612|UnmapBuffer
23683  HwBinder:612_3-11297 (  612) [007] ...1 158021.475204: tracing_mark_write: E
23684  HwBinder:612_3-11297 (  612) [007] ...1 158021.475206: tracing_mark_write: E
23685  HwBinder:612_3-11297 (  612) [007] ...1 158021.475209: tracing_mark_write: E
23686  HwBinder:612_3-11297 (  612) [007] ...1 158021.475215: tracing_mark_write: E
23687  surfaceflinger-610   (  610) [000] ...1 158021.475249: tracing_mark_write: E
23688  surfaceflinger-610   (  610) [000] ...1 158021.475378: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23689  HwBinder:612_3-11297 (  612) [007] ...1 158021.475453: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23690  HwBinder:612_3-11297 (  612) [007] ...1 158021.475492: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23691  HwBinder:612_3-11297 (  612) [007] ...1 158021.475498: tracing_mark_write: E
23692  HwBinder:612_3-11297 (  612) [007] ...1 158021.475500: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23693  HwBinder:612_3-11297 (  612) [007] ...1 158021.475675: tracing_mark_write: B|612|HWDevice::Validate::
23694  HwBinder:612_3-11297 (  612) [007] ...1 158021.475727: tracing_mark_write: E
23695  HwBinder:612_3-11297 (  612) [007] ...1 158021.475737: tracing_mark_write: E
23696  HwBinder:612_3-11297 (  612) [007] ...1 158021.475748: tracing_mark_write: E
23697  surfaceflinger-610   (  610) [000] ...1 158021.475786: tracing_mark_write: E
23698  surfaceflinger-610   (  610) [000] ...1 158021.475871: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23699  HwBinder:612_3-11297 (  612) [007] ...1 158021.475904: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23700  HwBinder:612_3-11297 (  612) [007] ...1 158021.475909: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23701  HwBinder:612_3-11297 (  612) [007] ...1 158021.475915: tracing_mark_write: B|612|HWDevice::Commit::
23702  HwBinder:612_3-11297 (  612) [007] ...1 158021.475959: tracing_mark_write: E
23703  HwBinder:612_3-11297 (  612) [007] ...1 158021.475968: tracing_mark_write: E
23704  HwBinder:612_3-11297 (  612) [007] ...1 158021.475978: tracing_mark_write: E
23705  surfaceflinger-610   (  610) [000] ...1 158021.476019: tracing_mark_write: E
23706  sensors@1.0-se-755   (  755) [006] ...1 158021.482273: tracing_mark_write: E
23707   SensorService-1249  ( 1136) [001] ...1 158021.482327: tracing_mark_write: E
23708   SensorService-1249  ( 1136) [001] ...1 158021.482389: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23709  sensors@1.0-se-755   (  755) [006] ...1 158021.482434: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23710  surfaceflinger-610   (  610) [000] ...1 158021.491852: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23711  HwBinder:612_3-11297 (  612) [007] ...1 158021.491934: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23712  HwBinder:612_3-11297 (  612) [007] ...1 158021.491961: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough
23713  HwBinder:612_3-11297 (  612) [007] ...1 158021.491981: tracing_mark_write: E
23714  HwBinder:612_3-11297 (  612) [007] ...1 158021.492018: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23715  HwBinder:612_3-11297 (  612) [007] ...1 158021.492023: tracing_mark_write: E
23716  HwBinder:612_3-11297 (  612) [007] ...1 158021.492025: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23717  HwBinder:612_3-11297 (  612) [007] ...1 158021.492195: tracing_mark_write: B|612|HWDevice::Validate::
23718  HwBinder:612_3-11297 (  612) [007] ...1 158021.492241: tracing_mark_write: E
23719  HwBinder:612_3-11297 (  612) [007] ...1 158021.492252: tracing_mark_write: E
23720  HwBinder:612_3-11297 (  612) [007] ...1 158021.492263: tracing_mark_write: E
23721  surfaceflinger-610   (  610) [000] ...1 158021.492300: tracing_mark_write: E
23722  surfaceflinger-610   (  610) [000] ...1 158021.492354: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23723  HwBinder:612_3-11297 (  612) [007] ...1 158021.492388: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23724  HwBinder:612_3-11297 (  612) [007] ...1 158021.492393: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23725  HwBinder:612_3-11297 (  612) [007] ...1 158021.492399: tracing_mark_write: B|612|HWDevice::Commit::
23726  HwBinder:612_3-11297 (  612) [007] ...1 158021.492441: tracing_mark_write: E
23727  HwBinder:612_3-11297 (  612) [007] ...1 158021.492450: tracing_mark_write: E
23728  HwBinder:612_3-11297 (  612) [007] ...1 158021.492461: tracing_mark_write: E
23729  surfaceflinger-610   (  610) [000] ...1 158021.492498: tracing_mark_write: E
23730  sensors@1.0-se-755   (  755) [006] ...1 158021.502290: tracing_mark_write: E
23731   SensorService-1249  ( 1136) [001] ...1 158021.502336: tracing_mark_write: E
23732   SensorService-1249  ( 1136) [001] ...1 158021.502385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23733  sensors@1.0-se-755   (  755) [006] ...1 158021.502429: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23734   Binder:1136_9-1633  ( 1136) [006] ...1 158021.507239: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23735   Binder:1136_9-1633  ( 1136) [006] ...1 158021.507269: tracing_mark_write: E
23736  power@1.1-serv-754   (  754) [004] ...1 158021.507290: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23737  power@1.1-serv-754   (  754) [004] ...1 158021.507372: tracing_mark_write: E
23738  surfaceflinger-610   (  610) [000] ...1 158021.508427: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23739  HwBinder:612_3-11297 (  612) [007] ...1 158021.508490: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23740  HwBinder:612_3-11297 (  612) [007] ...1 158021.508533: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23741  HwBinder:612_3-11297 (  612) [007] ...1 158021.508538: tracing_mark_write: E
23742  HwBinder:612_3-11297 (  612) [007] ...1 158021.508541: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23743  HwBinder:612_3-11297 (  612) [007] ...1 158021.508705: tracing_mark_write: B|612|HWDevice::Validate::
23744  HwBinder:612_3-11297 (  612) [007] ...1 158021.508748: tracing_mark_write: E
23745  HwBinder:612_3-11297 (  612) [007] ...1 158021.508758: tracing_mark_write: E
23746  HwBinder:612_3-11297 (  612) [007] ...1 158021.508770: tracing_mark_write: E
23747  surfaceflinger-610   (  610) [000] ...1 158021.508804: tracing_mark_write: E
23748  surfaceflinger-610   (  610) [000] ...1 158021.508847: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23749  HwBinder:612_3-11297 (  612) [007] ...1 158021.508881: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23750  HwBinder:612_3-11297 (  612) [007] ...1 158021.508886: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23751  HwBinder:612_3-11297 (  612) [007] ...1 158021.508892: tracing_mark_write: B|612|HWDevice::Commit::
23752  HwBinder:612_3-11297 (  612) [007] ...1 158021.508933: tracing_mark_write: E
23753  HwBinder:612_3-11297 (  612) [007] ...1 158021.508942: tracing_mark_write: E
23754  HwBinder:612_3-11297 (  612) [007] ...1 158021.508953: tracing_mark_write: E
23755  surfaceflinger-610   (  610) [000] ...1 158021.508993: tracing_mark_write: E
23756  sensors@1.0-se-755   (  755) [007] ...1 158021.522314: tracing_mark_write: E
23757   SensorService-1249  ( 1136) [001] ...1 158021.522354: tracing_mark_write: E
23758   SensorService-1249  ( 1136) [001] ...1 158021.522392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23759  sensors@1.0-se-755   (  755) [007] ...1 158021.522432: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23760  surfaceflinger-610   (  610) [000] ...1 158021.525123: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23761  HwBinder:612_3-11297 (  612) [007] ...1 158021.525185: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23762  HwBinder:612_3-11297 (  612) [007] ...1 158021.525227: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23763  HwBinder:612_3-11297 (  612) [007] ...1 158021.525232: tracing_mark_write: E
23764  HwBinder:612_3-11297 (  612) [007] ...1 158021.525235: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23765  HwBinder:612_3-11297 (  612) [007] ...1 158021.525392: tracing_mark_write: B|612|HWDevice::Validate::
23766  HwBinder:612_3-11297 (  612) [007] ...1 158021.525435: tracing_mark_write: E
23767  HwBinder:612_3-11297 (  612) [007] ...1 158021.525446: tracing_mark_write: E
23768  HwBinder:612_3-11297 (  612) [007] ...1 158021.525457: tracing_mark_write: E
23769  surfaceflinger-610   (  610) [000] ...1 158021.525488: tracing_mark_write: E
23770  surfaceflinger-610   (  610) [000] ...1 158021.525525: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23771  HwBinder:612_3-11297 (  612) [007] ...1 158021.525560: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23772  HwBinder:612_3-11297 (  612) [007] ...1 158021.525566: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23773  HwBinder:612_3-11297 (  612) [007] ...1 158021.525572: tracing_mark_write: B|612|HWDevice::Commit::
23774  HwBinder:612_3-11297 (  612) [007] ...1 158021.525616: tracing_mark_write: E
23775  HwBinder:612_3-11297 (  612) [007] ...1 158021.525626: tracing_mark_write: E
23776  HwBinder:612_3-11297 (  612) [007] ...1 158021.525636: tracing_mark_write: E
23777  surfaceflinger-610   (  610) [000] ...1 158021.525674: tracing_mark_write: E
23778  surfaceflinger-610   (  610) [002] ...1 158021.541861: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23779  HwBinder:612_3-11297 (  612) [007] ...1 158021.541937: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23780  HwBinder:612_3-11297 (  612) [007] ...1 158021.541986: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23781  HwBinder:612_3-11297 (  612) [007] ...1 158021.541991: tracing_mark_write: E
23782  HwBinder:612_3-11297 (  612) [007] ...1 158021.541994: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23783  HwBinder:612_3-11297 (  612) [007] ...1 158021.542179: tracing_mark_write: B|612|HWDevice::Validate::
23784  HwBinder:612_3-11297 (  612) [007] ...1 158021.542227: tracing_mark_write: E
23785  HwBinder:612_3-11297 (  612) [007] ...1 158021.542239: tracing_mark_write: E
23786  HwBinder:612_3-11297 (  612) [007] ...1 158021.542253: tracing_mark_write: E
23787  surfaceflinger-610   (  610) [002] ...1 158021.542287: tracing_mark_write: E
23788  surfaceflinger-610   (  610) [002] ...1 158021.542326: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23789  HwBinder:612_3-11297 (  612) [007] ...1 158021.542363: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23790  HwBinder:612_3-11297 (  612) [007] ...1 158021.542368: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23791  HwBinder:612_3-11297 (  612) [007] ...1 158021.542375: tracing_mark_write: B|612|HWDevice::Commit::
23792  HwBinder:612_3-11297 (  612) [007] ...1 158021.542414: tracing_mark_write: E
23793  HwBinder:612_3-11297 (  612) [007] ...1 158021.542424: tracing_mark_write: E
23794  HwBinder:612_3-11297 (  612) [007] ...1 158021.542435: tracing_mark_write: E
23795  surfaceflinger-610   (  610) [000] ...1 158021.542473: tracing_mark_write: E
23796  sensors@1.0-se-755   (  755) [005] ...1 158021.542503: tracing_mark_write: E
23797   SensorService-1249  ( 1136) [001] ...1 158021.542544: tracing_mark_write: E
23798   SensorService-1249  ( 1136) [001] ...1 158021.542580: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23799  sensors@1.0-se-755   (  755) [005] ...1 158021.542619: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23800  MobileIQWorker-13581 (13531) [004] ...1 158021.543827: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
23801  surfaceflinger-610   (  610) [003] ...1 158021.558856: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23802  HwBinder:612_3-11297 (  612) [007] ...1 158021.558984: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23803  HwBinder:612_3-11297 (  612) [007] ...1 158021.559035: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23804  HwBinder:612_3-11297 (  612) [007] ...1 158021.559041: tracing_mark_write: E
23805  HwBinder:612_3-11297 (  612) [007] ...1 158021.559043: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23806  HwBinder:612_3-11297 (  612) [007] ...1 158021.559231: tracing_mark_write: B|612|HWDevice::Validate::
23807  HwBinder:612_3-11297 (  612) [007] ...1 158021.559284: tracing_mark_write: E
23808  HwBinder:612_3-11297 (  612) [007] ...1 158021.559295: tracing_mark_write: E
23809  HwBinder:612_3-11297 (  612) [007] ...1 158021.559309: tracing_mark_write: E
23810  surfaceflinger-610   (  610) [003] ...1 158021.559349: tracing_mark_write: E
23811  surfaceflinger-610   (  610) [003] ...1 158021.559411: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23812  HwBinder:612_3-11297 (  612) [007] ...1 158021.559442: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23813  HwBinder:612_3-11297 (  612) [007] ...1 158021.559447: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23814  HwBinder:612_3-11297 (  612) [007] ...1 158021.559454: tracing_mark_write: B|612|HWDevice::Commit::
23815  HwBinder:612_3-11297 (  612) [007] ...1 158021.559501: tracing_mark_write: E
23816  HwBinder:612_3-11297 (  612) [007] ...1 158021.559509: tracing_mark_write: E
23817  HwBinder:612_3-11297 (  612) [007] ...1 158021.559520: tracing_mark_write: E
23818  surfaceflinger-610   (  610) [003] ...1 158021.559557: tracing_mark_write: E
23819  sensors@1.0-se-755   (  755) [005] ...1 158021.562360: tracing_mark_write: E
23820   SensorService-1249  ( 1136) [001] ...1 158021.562412: tracing_mark_write: E
23821   SensorService-1249  ( 1136) [001] ...1 158021.562473: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23822  sensors@1.0-se-755   (  755) [005] ...1 158021.562513: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23823  surfaceflinger-610   (  610) [000] ...1 158021.575538: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23824  HwBinder:612_3-11297 (  612) [007] ...1 158021.575649: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23825  HwBinder:612_3-11297 (  612) [007] ...1 158021.575698: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23826  HwBinder:612_3-11297 (  612) [007] ...1 158021.575703: tracing_mark_write: E
23827  HwBinder:612_3-11297 (  612) [007] ...1 158021.575706: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23828  HwBinder:612_3-11297 (  612) [007] ...1 158021.575886: tracing_mark_write: B|612|HWDevice::Validate::
23829  HwBinder:612_3-11297 (  612) [007] ...1 158021.575936: tracing_mark_write: E
23830  HwBinder:612_3-11297 (  612) [007] ...1 158021.575946: tracing_mark_write: E
23831  HwBinder:612_3-11297 (  612) [007] ...1 158021.575960: tracing_mark_write: E
23832  surfaceflinger-610   (  610) [000] ...1 158021.576003: tracing_mark_write: E
23833  surfaceflinger-610   (  610) [000] ...1 158021.576068: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23834  HwBinder:612_3-11297 (  612) [007] ...1 158021.576099: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23835  HwBinder:612_3-11297 (  612) [007] ...1 158021.576104: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23836  HwBinder:612_3-11297 (  612) [007] ...1 158021.576110: tracing_mark_write: B|612|HWDevice::Commit::
23837  HwBinder:612_3-11297 (  612) [007] ...1 158021.576156: tracing_mark_write: E
23838  HwBinder:612_3-11297 (  612) [007] ...1 158021.576164: tracing_mark_write: E
23839  HwBinder:612_3-11297 (  612) [007] ...1 158021.576175: tracing_mark_write: E
23840  surfaceflinger-610   (  610) [000] ...1 158021.576214: tracing_mark_write: E
23841  sensors@1.0-se-755   (  755) [005] ...1 158021.582382: tracing_mark_write: E
23842   SensorService-1249  ( 1136) [001] ...1 158021.582440: tracing_mark_write: E
23843   SensorService-1249  ( 1136) [001] ...1 158021.582512: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23844  sensors@1.0-se-755   (  755) [005] ...1 158021.582558: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23845  MobileIQWorker-13581 (13531) [004] ...1 158021.587042: tracing_mark_write: E
23846  MobileIQWorker-13581 (13531) [007] ...1 158021.588040: tracing_mark_write: E
23847  MobileIQWorker-13581 (13531) [007] ...1 158021.589020: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized
23848   Binder:1136_9-1633  ( 1136) [006] ...1 158021.589151: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23849   Binder:1136_9-1633  ( 1136) [006] ...1 158021.589184: tracing_mark_write: E
23850  power@1.1-serv-754   (  754) [007] ...1 158021.592018: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23851  power@1.1-serv-754   (  754) [007] ...1 158021.592090: tracing_mark_write: E
23852  surfaceflinger-610   (  610) [000] ...1 158021.592200: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23853  HwBinder:612_3-11297 (  612) [007] ...1 158021.592293: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23854  HwBinder:612_3-11297 (  612) [007] ...1 158021.592342: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23855  HwBinder:612_3-11297 (  612) [007] ...1 158021.592347: tracing_mark_write: E
23856  HwBinder:612_3-11297 (  612) [007] ...1 158021.592350: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23857  HwBinder:612_3-11297 (  612) [007] ...1 158021.592529: tracing_mark_write: B|612|HWDevice::Validate::
23858  HwBinder:612_3-11297 (  612) [007] ...1 158021.592576: tracing_mark_write: E
23859  HwBinder:612_3-11297 (  612) [007] ...1 158021.592586: tracing_mark_write: E
23860  HwBinder:612_3-11297 (  612) [007] ...1 158021.592598: tracing_mark_write: E
23861  surfaceflinger-610   (  610) [000] ...1 158021.592637: tracing_mark_write: E
23862  surfaceflinger-610   (  610) [000] ...1 158021.592711: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23863  HwBinder:612_3-11297 (  612) [007] ...1 158021.592746: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23864  HwBinder:612_3-11297 (  612) [007] ...1 158021.592751: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23865  HwBinder:612_3-11297 (  612) [007] ...1 158021.592757: tracing_mark_write: B|612|HWDevice::Commit::
23866  HwBinder:612_3-11297 (  612) [007] ...1 158021.592802: tracing_mark_write: E
23867  HwBinder:612_3-11297 (  612) [007] ...1 158021.592811: tracing_mark_write: E
23868  HwBinder:612_3-11297 (  612) [007] ...1 158021.592822: tracing_mark_write: E
23869  surfaceflinger-610   (  610) [000] ...1 158021.592860: tracing_mark_write: E
23870  sensors@1.0-se-755   (  755) [006] ...1 158021.602372: tracing_mark_write: E
23871   SensorService-1249  ( 1136) [001] ...1 158021.602427: tracing_mark_write: E
23872   SensorService-1249  ( 1136) [001] ...1 158021.602486: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23873  sensors@1.0-se-755   (  755) [006] ...1 158021.602532: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23874  surfaceflinger-610   (  610) [000] ...1 158021.608833: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23875  HwBinder:612_3-11297 (  612) [007] ...1 158021.608908: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23876  HwBinder:612_3-11297 (  612) [007] ...1 158021.608956: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23877  HwBinder:612_3-11297 (  612) [007] ...1 158021.608961: tracing_mark_write: E
23878  HwBinder:612_3-11297 (  612) [007] ...1 158021.608964: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23879  HwBinder:612_3-11297 (  612) [007] ...1 158021.609147: tracing_mark_write: B|612|HWDevice::Validate::
23880  HwBinder:612_3-11297 (  612) [007] ...1 158021.609190: tracing_mark_write: E
23881  HwBinder:612_3-11297 (  612) [007] ...1 158021.609202: tracing_mark_write: E
23882  HwBinder:612_3-11297 (  612) [007] ...1 158021.609216: tracing_mark_write: E
23883  surfaceflinger-610   (  610) [000] ...1 158021.609251: tracing_mark_write: E
23884  surfaceflinger-610   (  610) [000] ...1 158021.609294: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23885  HwBinder:612_3-11297 (  612) [007] ...1 158021.609326: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23886  HwBinder:612_3-11297 (  612) [007] ...1 158021.609332: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23887  HwBinder:612_3-11297 (  612) [007] ...1 158021.609338: tracing_mark_write: B|612|HWDevice::Commit::
23888  HwBinder:612_3-11297 (  612) [007] ...1 158021.609386: tracing_mark_write: E
23889  HwBinder:612_3-11297 (  612) [007] ...1 158021.609395: tracing_mark_write: E
23890  HwBinder:612_3-11297 (  612) [007] ...1 158021.609406: tracing_mark_write: E
23891  surfaceflinger-610   (  610) [000] ...1 158021.609444: tracing_mark_write: E
23892  sensors@1.0-se-755   (  755) [006] ...1 158021.622398: tracing_mark_write: E
23893   SensorService-1249  ( 1136) [001] ...1 158021.622439: tracing_mark_write: E
23894   SensorService-1249  ( 1136) [001] ...1 158021.622479: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23895  sensors@1.0-se-755   (  755) [006] ...1 158021.622519: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23896  surfaceflinger-610   (  610) [000] ...1 158021.625626: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23897  HwBinder:612_3-11297 (  612) [007] ...1 158021.625697: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23898  HwBinder:612_3-11297 (  612) [007] ...1 158021.625727: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough
23899  HwBinder:612_3-11297 (  612) [007] ...1 158021.625746: tracing_mark_write: E
23900  HwBinder:612_3-11297 (  612) [007] ...1 158021.625788: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23901  HwBinder:612_3-11297 (  612) [007] ...1 158021.625793: tracing_mark_write: E
23902  HwBinder:612_3-11297 (  612) [007] ...1 158021.625795: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23903  HwBinder:612_3-11297 (  612) [007] ...1 158021.625971: tracing_mark_write: B|612|HWDevice::Validate::
23904  HwBinder:612_3-11297 (  612) [007] ...1 158021.626015: tracing_mark_write: E
23905  HwBinder:612_3-11297 (  612) [007] ...1 158021.626026: tracing_mark_write: E
23906  HwBinder:612_3-11297 (  612) [007] ...1 158021.626038: tracing_mark_write: E
23907  surfaceflinger-610   (  610) [000] ...1 158021.626072: tracing_mark_write: E
23908  surfaceflinger-610   (  610) [000] ...1 158021.626111: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23909  HwBinder:612_3-11297 (  612) [007] ...1 158021.626145: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23910  HwBinder:612_3-11297 (  612) [007] ...1 158021.626150: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23911  HwBinder:612_3-11297 (  612) [007] ...1 158021.626156: tracing_mark_write: B|612|HWDevice::Commit::
23912  HwBinder:612_3-11297 (  612) [007] ...1 158021.626238: tracing_mark_write: E
23913  HwBinder:612_3-11297 (  612) [007] ...1 158021.626247: tracing_mark_write: E
23914  HwBinder:612_3-11297 (  612) [007] ...1 158021.626257: tracing_mark_write: E
23915  surfaceflinger-610   (  610) [000] ...1 158021.626295: tracing_mark_write: E
23916   Binder:1136_9-1633  ( 1136) [006] ...1 158021.629214: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23917   Binder:1136_9-1633  ( 1136) [006] ...1 158021.629243: tracing_mark_write: E
23918  power@1.1-serv-754   (  754) [007] ...1 158021.629264: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23919  power@1.1-serv-754   (  754) [007] ...1 158021.629339: tracing_mark_write: E
23920  surfaceflinger-610   (  610) [000] ...1 158021.642242: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23921  HwBinder:612_3-11297 (  612) [007] ...1 158021.642307: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23922  HwBinder:612_3-11297 (  612) [007] ...1 158021.642349: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23923  HwBinder:612_3-11297 (  612) [007] ...1 158021.642353: tracing_mark_write: E
23924  HwBinder:612_3-11297 (  612) [007] ...1 158021.642356: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23925  sensors@1.0-se-755   (  755) [006] ...1 158021.642458: tracing_mark_write: E
23926   SensorService-1249  ( 1136) [001] ...1 158021.642502: tracing_mark_write: E
23927  HwBinder:612_3-11297 (  612) [007] ...1 158021.642521: tracing_mark_write: B|612|HWDevice::Validate::
23928   SensorService-1249  ( 1136) [001] ...1 158021.642544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23929  HwBinder:612_3-11297 (  612) [007] ...1 158021.642563: tracing_mark_write: E
23930  HwBinder:612_3-11297 (  612) [007] ...1 158021.642574: tracing_mark_write: E
23931  HwBinder:612_3-11297 (  612) [007] ...1 158021.642584: tracing_mark_write: E
23932  sensors@1.0-se-755   (  755) [006] ...1 158021.642586: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23933  surfaceflinger-610   (  610) [000] ...1 158021.642616: tracing_mark_write: E
23934  surfaceflinger-610   (  610) [000] ...1 158021.642657: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23935  HwBinder:612_3-11297 (  612) [007] ...1 158021.642692: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23936  HwBinder:612_3-11297 (  612) [007] ...1 158021.642698: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23937  HwBinder:612_3-11297 (  612) [007] ...1 158021.642704: tracing_mark_write: B|612|HWDevice::Commit::
23938  HwBinder:612_3-11297 (  612) [007] ...1 158021.642792: tracing_mark_write: E
23939  HwBinder:612_3-11297 (  612) [007] ...1 158021.642803: tracing_mark_write: E
23940  HwBinder:612_3-11297 (  612) [007] ...1 158021.642815: tracing_mark_write: E
23941  surfaceflinger-610   (  610) [000] ...1 158021.642851: tracing_mark_write: E
23942  surfaceflinger-610   (  610) [000] ...1 158021.658904: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client
23943  HwBinder:612_3-11297 (  612) [007] ...1 158021.658951: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server
23944  HwBinder:612_3-11297 (  612) [007] ...1 158021.658967: tracing_mark_write: E
23945  surfaceflinger-610   (  610) [000] ...1 158021.658993: tracing_mark_write: E
23946  surfaceflinger-610   (  610) [000] ...1 158021.659060: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23947  HwBinder:612_3-11297 (  612) [007] ...1 158021.659101: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23948  HwBinder:612_3-11297 (  612) [007] ...1 158021.659135: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23949  HwBinder:612_3-11297 (  612) [007] ...1 158021.659139: tracing_mark_write: E
23950  HwBinder:612_3-11297 (  612) [007] ...1 158021.659141: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
23951  HwBinder:612_3-11297 (  612) [007] ...1 158021.659296: tracing_mark_write: B|612|HWDevice::Validate::
23952  HwBinder:612_3-11297 (  612) [007] ...1 158021.659341: tracing_mark_write: E
23953  HwBinder:612_3-11297 (  612) [007] ...1 158021.659350: tracing_mark_write: E
23954  HwBinder:612_3-11297 (  612) [007] ...1 158021.659361: tracing_mark_write: E
23955  surfaceflinger-610   (  610) [000] ...1 158021.659391: tracing_mark_write: E
23956  surfaceflinger-610   (  610) [000] ...1 158021.659425: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23957  HwBinder:612_3-11297 (  612) [007] ...1 158021.659458: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23958  HwBinder:612_3-11297 (  612) [007] ...1 158021.659462: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23959  HwBinder:612_3-11297 (  612) [007] ...1 158021.659468: tracing_mark_write: B|612|HWDevice::Commit::
23960  HwBinder:612_3-11297 (  612) [007] ...1 158021.659550: tracing_mark_write: E
23961  HwBinder:612_3-11297 (  612) [007] ...1 158021.659559: tracing_mark_write: E
23962  HwBinder:612_3-11297 (  612) [007] ...1 158021.659568: tracing_mark_write: E
23963  surfaceflinger-610   (  610) [000] ...1 158021.659605: tracing_mark_write: E
23964  sensors@1.0-se-755   (  755) [006] ...1 158021.662436: tracing_mark_write: E
23965   SensorService-1249  ( 1136) [001] ...1 158021.662474: tracing_mark_write: E
23966   SensorService-1249  ( 1136) [001] ...1 158021.662508: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23967  sensors@1.0-se-755   (  755) [006] ...1 158021.662547: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23968  MobileIQWorker-13581 (13531) [004] ...1 158021.665993: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
23969  surfaceflinger-610   (  610) [002] ...1 158021.675777: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23970  HwBinder:612_3-11297 (  612) [007] ...1 158021.675893: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23971  HwBinder:612_3-11297 (  612) [007] ...1 158021.675940: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23972  HwBinder:612_3-11297 (  612) [007] ...1 158021.675955: tracing_mark_write: B|612|HWDevice::Commit::
23973  HwBinder:612_3-11297 (  612) [007] ...1 158021.676066: tracing_mark_write: E
23974  HwBinder:612_3-11297 (  612) [007] ...1 158021.676082: tracing_mark_write: E
23975  HwBinder:612_3-11297 (  612) [007] ...1 158021.676102: tracing_mark_write: E
23976  surfaceflinger-610   (  610) [000] ...1 158021.676166: tracing_mark_write: E
23977  sensors@1.0-se-755   (  755) [006] ...1 158021.682514: tracing_mark_write: E
23978   SensorService-1249  ( 1136) [001] ...1 158021.682595: tracing_mark_write: E
23979   SensorService-1249  ( 1136) [001] ...1 158021.682679: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23980  sensors@1.0-se-755   (  755) [006] ...1 158021.682734: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23981  surfaceflinger-610   (  610) [000] ...1 158021.692478: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
23982  HwBinder:612_3-11297 (  612) [007] ...1 158021.692588: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
23983  HwBinder:612_3-11297 (  612) [007] ...1 158021.692635: tracing_mark_write: B|612|HWCSession::PresentDisplay::
23984  HwBinder:612_3-11297 (  612) [007] ...1 158021.692650: tracing_mark_write: B|612|HWDevice::Commit::
23985  HwBinder:612_3-11297 (  612) [007] ...1 158021.692741: tracing_mark_write: E
23986  HwBinder:612_3-11297 (  612) [007] ...1 158021.692757: tracing_mark_write: E
23987  HwBinder:612_3-11297 (  612) [007] ...1 158021.692775: tracing_mark_write: E
23988  surfaceflinger-610   (  610) [000] ...1 158021.692826: tracing_mark_write: E
23989  sensors@1.0-se-755   (  755) [006] ...1 158021.702547: tracing_mark_write: E
23990   SensorService-1249  ( 1136) [001] ...1 158021.702626: tracing_mark_write: E
23991   SensorService-1249  ( 1136) [001] ...1 158021.702708: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
23992  sensors@1.0-se-755   (  755) [006] ...1 158021.702764: tracing_mark_write: B|755|HIDL::ISensors::poll::server
23993  MobileIQWorker-13581 (13531) [004] ...1 158021.704764: tracing_mark_write: E
23994  MobileIQWorker-13581 (13531) [004] ...1 158021.705704: tracing_mark_write: E
23995  MobileIQWorker-13581 (13531) [004] ...1 158021.706681: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized
23996   Binder:1136_9-1633  ( 1136) [006] ...1 158021.706843: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
23997   Binder:1136_9-1633  ( 1136) [006] ...1 158021.706877: tracing_mark_write: E
23998  power@1.1-serv-754   (  754) [005] ...1 158021.706904: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
23999  power@1.1-serv-754   (  754) [005] ...1 158021.706971: tracing_mark_write: E
24000  surfaceflinger-610   (  610) [000] ...1 158021.709123: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24001  HwBinder:612_3-11297 (  612) [007] ...1 158021.709215: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24002  HwBinder:612_3-11297 (  612) [007] ...1 158021.709260: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24003  HwBinder:612_3-11297 (  612) [007] ...1 158021.709273: tracing_mark_write: B|612|HWDevice::Commit::
24004  HwBinder:612_3-11297 (  612) [007] ...1 158021.709369: tracing_mark_write: E
24005  HwBinder:612_3-11297 (  612) [007] ...1 158021.709385: tracing_mark_write: E
24006  HwBinder:612_3-11297 (  612) [007] ...1 158021.709403: tracing_mark_write: E
24007  surfaceflinger-610   (  610) [000] ...1 158021.709452: tracing_mark_write: E
24008    android.anim-1244  ( 1136) [004] ...1 158021.710044: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24009    android.anim-1244  ( 1136) [004] ...1 158021.710068: tracing_mark_write: E
24010  power@1.1-serv-754   (  754) [005] ...1 158021.710079: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24011  power@1.1-serv-754   (  754) [005] ...1 158021.710139: tracing_mark_write: B|754|Acquire
24012  power@1.1-serv-754   (  754) [005] ...1 158021.710482: tracing_mark_write: C|754|interaction_lock|1
24013  power@1.1-serv-754   (  754) [005] ...1 158021.710491: tracing_mark_write: E
24014  power@1.1-serv-754   (  754) [005] ...1 158021.710492: tracing_mark_write: E
24015  android.hardwa-781   (  754) [004] ...1 158021.710501: tracing_mark_write: B|754|WaitForIdle
24016  PhotonicModula-1317  ( 1136) [001] ...1 158021.721972: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24017  light@2.0-serv-743   (  743) [002] ...1 158021.722101: tracing_mark_write: B|743|HIDL::IBase::ping::server
24018  light@2.0-serv-743   (  743) [002] ...1 158021.722105: tracing_mark_write: E
24019  PhotonicModula-1317  ( 1136) [001] ...1 158021.722160: tracing_mark_write: E
24020  PhotonicModula-1317  ( 1136) [001] ...1 158021.722177: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24021  light@2.0-serv-743   (  743) [002] ...1 158021.722218: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24022  sensors@1.0-se-755   (  755) [006] ...1 158021.722509: tracing_mark_write: E
24023   SensorService-1249  ( 1136) [001] ...1 158021.722555: tracing_mark_write: E
24024   SensorService-1249  ( 1136) [001] ...1 158021.722608: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24025  sensors@1.0-se-755   (  755) [006] ...1 158021.722649: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24026  surfaceflinger-610   (  610) [000] ...1 158021.726043: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24027  HwBinder:612_3-11297 (  612) [007] ...1 158021.726128: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24028  HwBinder:612_3-11297 (  612) [007] ...1 158021.726176: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24029  HwBinder:612_3-11297 (  612) [007] ...1 158021.726191: tracing_mark_write: B|612|HWDevice::Commit::
24030  HwBinder:612_3-11297 (  612) [007] ...1 158021.726287: tracing_mark_write: E
24031  HwBinder:612_3-11297 (  612) [007] ...1 158021.726303: tracing_mark_write: E
24032  HwBinder:612_3-11297 (  612) [007] ...1 158021.726322: tracing_mark_write: E
24033  surfaceflinger-610   (  610) [000] ...1 158021.726368: tracing_mark_write: E
24034  light@2.0-serv-743   (  743) [000] ...1 158021.735853: tracing_mark_write: E
24035  PhotonicModula-1317  ( 1136) [001] ...1 158021.735916: tracing_mark_write: E
24036  PhotonicModula-1317  ( 1136) [001] ...1 158021.738703: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24037  light@2.0-serv-743   (  743) [003] ...1 158021.738788: tracing_mark_write: B|743|HIDL::IBase::ping::server
24038  light@2.0-serv-743   (  743) [003] ...1 158021.738792: tracing_mark_write: E
24039  PhotonicModula-1317  ( 1136) [000] ...1 158021.738840: tracing_mark_write: E
24040  PhotonicModula-1317  ( 1136) [000] ...1 158021.738856: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24041  light@2.0-serv-743   (  743) [003] ...1 158021.738899: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24042  sensors@1.0-se-755   (  755) [001] ...1 158021.742720: tracing_mark_write: E
24043   SensorService-1249  ( 1136) [003] ...1 158021.742795: tracing_mark_write: E
24044   SensorService-1249  ( 1136) [003] ...1 158021.742860: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24045  sensors@1.0-se-755   (  755) [001] ...1 158021.742916: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24046  surfaceflinger-610   (  610) [000] ...1 158021.742928: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
24047  surfaceflinger-610   (  610) [000] ...1 158021.742941: tracing_mark_write: B|610|FreeBuffer
24048  surfaceflinger-610   (  610) [000] ...1 158021.742952: tracing_mark_write: E
24049  surfaceflinger-610   (  610) [000] ...1 158021.742955: tracing_mark_write: B|610|FreeBuffer
24050  surfaceflinger-610   (  610) [000] ...1 158021.742980: tracing_mark_write: E
24051  surfaceflinger-610   (  610) [000] ...1 158021.742986: tracing_mark_write: E
24052  surfaceflinger-610   (  610) [000] ...1 158021.743249: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24053  HwBinder:612_3-11297 (  612) [007] ...1 158021.743343: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24054  HwBinder:612_3-11297 (  612) [007] ...1 158021.743391: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24055  HwBinder:612_3-11297 (  612) [007] ...1 158021.743396: tracing_mark_write: E
24056  HwBinder:612_3-11297 (  612) [007] ...1 158021.743399: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
24057  HwBinder:612_3-11297 (  612) [007] ...1 158021.743584: tracing_mark_write: B|612|HWDevice::Validate::
24058  HwBinder:612_3-11297 (  612) [007] ...1 158021.743638: tracing_mark_write: E
24059  HwBinder:612_3-11297 (  612) [007] ...1 158021.743648: tracing_mark_write: E
24060  HwBinder:612_3-11297 (  612) [007] ...1 158021.743662: tracing_mark_write: E
24061  surfaceflinger-610   (  610) [000] ...1 158021.743708: tracing_mark_write: E
24062  surfaceflinger-610   (  610) [000] ...1 158021.743771: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24063  HwBinder:612_3-11297 (  612) [007] ...1 158021.743808: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24064  HwBinder:612_3-11297 (  612) [007] ...1 158021.743814: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24065  HwBinder:612_3-11297 (  612) [007] ...1 158021.743821: tracing_mark_write: B|612|HWDevice::Commit::
24066  HwBinder:612_3-11297 (  612) [007] ...1 158021.743866: tracing_mark_write: E
24067  HwBinder:612_3-11297 (  612) [007] ...1 158021.743875: tracing_mark_write: E
24068  HwBinder:612_3-11297 (  612) [007] ...1 158021.743885: tracing_mark_write: E
24069  surfaceflinger-610   (  610) [000] ...1 158021.743923: tracing_mark_write: E
24070  light@2.0-serv-743   (  743) [000] ...1 158021.752595: tracing_mark_write: E
24071  PhotonicModula-1317  ( 1136) [001] ...1 158021.752675: tracing_mark_write: E
24072  PhotonicModula-1317  ( 1136) [001] ...1 158021.755480: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24073  light@2.0-serv-743   (  743) [002] ...1 158021.755566: tracing_mark_write: B|743|HIDL::IBase::ping::server
24074  light@2.0-serv-743   (  743) [002] ...1 158021.755570: tracing_mark_write: E
24075  PhotonicModula-1317  ( 1136) [000] ...1 158021.755613: tracing_mark_write: E
24076  PhotonicModula-1317  ( 1136) [000] ...1 158021.755630: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24077  light@2.0-serv-743   (  743) [002] ...1 158021.755672: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24078  surfaceflinger-610   (  610) [000] ...1 158021.759649: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24079  HwBinder:612_3-11297 (  612) [007] ...1 158021.759800: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24080  HwBinder:612_3-11297 (  612) [007] ...1 158021.759849: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24081  HwBinder:612_3-11297 (  612) [007] ...1 158021.759855: tracing_mark_write: E
24082  HwBinder:612_3-11297 (  612) [007] ...1 158021.759858: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
24083  HwBinder:612_3-11297 (  612) [007] ...1 158021.760034: tracing_mark_write: B|612|HWDevice::Validate::
24084  HwBinder:612_3-11297 (  612) [007] ...1 158021.760075: tracing_mark_write: E
24085  HwBinder:612_3-11297 (  612) [007] ...1 158021.760085: tracing_mark_write: E
24086  HwBinder:612_3-11297 (  612) [007] ...1 158021.760099: tracing_mark_write: E
24087  surfaceflinger-610   (  610) [000] ...1 158021.760147: tracing_mark_write: E
24088  surfaceflinger-610   (  610) [000] ...1 158021.760216: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24089  HwBinder:612_3-11297 (  612) [007] ...1 158021.760254: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24090  HwBinder:612_3-11297 (  612) [007] ...1 158021.760260: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24091  HwBinder:612_3-11297 (  612) [007] ...1 158021.760266: tracing_mark_write: B|612|HWDevice::Commit::
24092  HwBinder:612_3-11297 (  612) [007] ...1 158021.760310: tracing_mark_write: E
24093  HwBinder:612_3-11297 (  612) [007] ...1 158021.760319: tracing_mark_write: E
24094  HwBinder:612_3-11297 (  612) [007] ...1 158021.760329: tracing_mark_write: E
24095  surfaceflinger-610   (  610) [000] ...1 158021.760368: tracing_mark_write: E
24096  sensors@1.0-se-755   (  755) [002] ...1 158021.762698: tracing_mark_write: E
24097   SensorService-1249  ( 1136) [003] ...1 158021.762783: tracing_mark_write: E
24098   SensorService-1249  ( 1136) [003] ...1 158021.762870: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24099  sensors@1.0-se-755   (  755) [000] ...1 158021.762938: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24100  light@2.0-serv-743   (  743) [000] ...1 158021.769369: tracing_mark_write: E
24101  PhotonicModula-1317  ( 1136) [002] ...1 158021.769466: tracing_mark_write: E
24102  PhotonicModula-1317  ( 1136) [002] ...1 158021.772293: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24103  light@2.0-serv-743   (  743) [000] ...1 158021.772394: tracing_mark_write: B|743|HIDL::IBase::ping::server
24104  light@2.0-serv-743   (  743) [000] ...1 158021.772398: tracing_mark_write: E
24105  PhotonicModula-1317  ( 1136) [002] ...1 158021.772445: tracing_mark_write: E
24106  PhotonicModula-1317  ( 1136) [002] ...1 158021.772462: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24107  light@2.0-serv-743   (  743) [000] ...1 158021.772506: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24108  sensors@1.0-se-755   (  755) [000] ...1 158021.782698: tracing_mark_write: E
24109   SensorService-1249  ( 1136) [003] ...1 158021.782782: tracing_mark_write: E
24110   Binder:1136_9-1633  ( 1136) [006] ...1 158021.782831: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24111   SensorService-1249  ( 1136) [003] ...1 158021.782859: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24112   Binder:1136_9-1633  ( 1136) [006] ...1 158021.782870: tracing_mark_write: E
24113  power@1.1-serv-754   (  754) [005] ...1 158021.782895: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24114  sensors@1.0-se-755   (  755) [000] ...1 158021.782907: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24115  power@1.1-serv-754   (  754) [005] ...1 158021.783015: tracing_mark_write: E
24116  light@2.0-serv-743   (  743) [005] ...1 158021.786517: tracing_mark_write: E
24117  PhotonicModula-1317  ( 1136) [007] ...1 158021.786577: tracing_mark_write: E
24118  MobileIQWorker-13581 (13531) [004] ...1 158021.787252: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24119  PhotonicModula-1317  ( 1136) [006] ...1 158021.789041: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24120  light@2.0-serv-743   (  743) [006] ...1 158021.789111: tracing_mark_write: B|743|HIDL::IBase::ping::server
24121  light@2.0-serv-743   (  743) [006] ...1 158021.789113: tracing_mark_write: E
24122  PhotonicModula-1317  ( 1136) [006] ...1 158021.789149: tracing_mark_write: E
24123  PhotonicModula-1317  ( 1136) [006] ...1 158021.789159: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24124  light@2.0-serv-743   (  743) [006] ...1 158021.789185: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24125  light@2.0-serv-743   (  743) [006] ...1 158021.792111: tracing_mark_write: E
24126  PhotonicModula-1317  ( 1136) [006] ...1 158021.792148: tracing_mark_write: E
24127  sensors@1.0-se-755   (  755) [000] ...1 158021.802729: tracing_mark_write: E
24128   SensorService-1249  ( 1136) [003] ...1 158021.802824: tracing_mark_write: E
24129   SensorService-1249  ( 1136) [003] ...1 158021.802913: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24130  sensors@1.0-se-755   (  755) [000] ...1 158021.802965: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24131  PhotonicModula-1317  ( 1136) [006] ...1 158021.805611: tracing_mark_write: B|1136|HIDL::IBase::ping::client
24132  light@2.0-serv-743   (  743) [006] ...1 158021.805677: tracing_mark_write: B|743|HIDL::IBase::ping::server
24133  light@2.0-serv-743   (  743) [006] ...1 158021.805679: tracing_mark_write: E
24134  PhotonicModula-1317  ( 1136) [006] ...1 158021.805727: tracing_mark_write: E
24135  PhotonicModula-1317  ( 1136) [006] ...1 158021.805737: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
24136  light@2.0-serv-743   (  743) [006] ...1 158021.805765: tracing_mark_write: B|743|HIDL::ILight::setLight::server
24137  light@2.0-serv-743   (  743) [006] ...1 158021.808723: tracing_mark_write: E
24138  PhotonicModula-1317  ( 1136) [006] ...1 158021.808800: tracing_mark_write: E
24139  sensors@1.0-se-755   (  755) [001] ...1 158021.822699: tracing_mark_write: E
24140   SensorService-1249  ( 1136) [003] ...1 158021.822803: tracing_mark_write: E
24141   SensorService-1249  ( 1136) [003] ...1 158021.822886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24142  sensors@1.0-se-755   (  755) [001] ...1 158021.822937: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24143   Binder:1136_9-1633  ( 1136) [006] ...1 158021.829126: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24144   Binder:1136_9-1633  ( 1136) [006] ...1 158021.829169: tracing_mark_write: E
24145  power@1.1-serv-754   (  754) [007] ...1 158021.829194: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24146  power@1.1-serv-754   (  754) [007] ...1 158021.829282: tracing_mark_write: E
24147  sensors@1.0-se-755   (  755) [001] ...1 158021.842744: tracing_mark_write: E
24148   SensorService-1249  ( 1136) [003] ...1 158021.842827: tracing_mark_write: E
24149   SensorService-1249  ( 1136) [003] ...1 158021.842907: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24150  sensors@1.0-se-755   (  755) [001] ...1 158021.842961: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24151  android.hardwa-781   (  754) [004] ...1 158021.857587: tracing_mark_write: E
24152  android.hardwa-781   (  754) [004] ...1 158021.857605: tracing_mark_write: B|754|Release
24153  android.hardwa-781   (  754) [004] ...1 158021.857779: tracing_mark_write: C|754|interaction_lock|0
24154  android.hardwa-781   (  754) [004] ...1 158021.857780: tracing_mark_write: E
24155  sensors@1.0-se-755   (  755) [004] ...1 158021.862639: tracing_mark_write: E
24156   SensorService-1249  ( 1136) [003] ...1 158021.862714: tracing_mark_write: E
24157   SensorService-1249  ( 1136) [003] ...1 158021.862786: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24158  sensors@1.0-se-755   (  755) [004] ...1 158021.862838: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24159  MobileIQWorker-13581 (13531) [004] ...1 158021.866391: tracing_mark_write: E
24160  MobileIQWorker-13581 (13531) [005] ...1 158021.867403: tracing_mark_write: E
24161   Binder:1136_9-1633  ( 1136) [006] ...1 158021.869088: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24162   Binder:1136_9-1633  ( 1136) [006] ...1 158021.869123: tracing_mark_write: E
24163  power@1.1-serv-754   (  754) [004] ...1 158021.869148: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24164  MobileIQWorker-13581 (13531) [005] ...1 158021.869175: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_quantized
24165  power@1.1-serv-754   (  754) [004] ...1 158021.869226: tracing_mark_write: E
24166   Binder:1136_9-1633  ( 1136) [002] ...1 158021.877289: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24167   Binder:1136_9-1633  ( 1136) [002] ...1 158021.877336: tracing_mark_write: E
24168  power@1.1-serv-754   (  754) [004] ...1 158021.877357: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24169  power@1.1-serv-754   (  754) [004] ...1 158021.877427: tracing_mark_write: E
24170  sensors@1.0-se-755   (  755) [004] ...1 158021.882652: tracing_mark_write: E
24171   SensorService-1249  ( 1136) [003] ...1 158021.882704: tracing_mark_write: E
24172   SensorService-1249  ( 1136) [003] ...1 158021.882773: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24173  sensors@1.0-se-755   (  755) [004] ...1 158021.882816: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24174  surfaceflinger-610   (  610) [000] ...1 158021.893231: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24175  HwBinder:612_3-11297 (  612) [007] ...1 158021.893318: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24176  HwBinder:612_3-11297 (  612) [007] ...1 158021.893360: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24177  HwBinder:612_3-11297 (  612) [007] ...1 158021.893367: tracing_mark_write: E
24178  HwBinder:612_3-11297 (  612) [007] ...1 158021.893369: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
24179  HwBinder:612_3-11297 (  612) [007] ...1 158021.893550: tracing_mark_write: B|612|HWDevice::Validate::
24180  HwBinder:612_3-11297 (  612) [007] ...1 158021.893590: tracing_mark_write: E
24181  HwBinder:612_3-11297 (  612) [007] ...1 158021.893601: tracing_mark_write: E
24182  HwBinder:612_3-11297 (  612) [007] ...1 158021.893613: tracing_mark_write: E
24183  surfaceflinger-610   (  610) [000] ...1 158021.893653: tracing_mark_write: E
24184  surfaceflinger-610   (  610) [000] ...1 158021.893711: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24185  HwBinder:612_3-11297 (  612) [007] ...1 158021.893746: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24186  HwBinder:612_3-11297 (  612) [007] ...1 158021.893752: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24187  HwBinder:612_3-11297 (  612) [007] ...1 158021.893759: tracing_mark_write: B|612|HWDevice::Commit::
24188  HwBinder:612_3-11297 (  612) [007] ...1 158021.893805: tracing_mark_write: E
24189  HwBinder:612_3-11297 (  612) [007] ...1 158021.893814: tracing_mark_write: E
24190  HwBinder:612_3-11297 (  612) [007] ...1 158021.893825: tracing_mark_write: E
24191  surfaceflinger-610   (  610) [000] ...1 158021.893861: tracing_mark_write: E
24192  sensors@1.0-se-755   (  755) [004] ...1 158021.902631: tracing_mark_write: E
24193   SensorService-1249  ( 1136) [003] ...1 158021.902671: tracing_mark_write: E
24194   SensorService-1249  ( 1136) [003] ...1 158021.902722: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24195  sensors@1.0-se-755   (  755) [004] ...1 158021.902761: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24196   Binder:1136_9-1633  ( 1136) [003] ...1 158021.909164: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24197   Binder:1136_9-1633  ( 1136) [003] ...1 158021.909194: tracing_mark_write: E
24198  power@1.1-serv-754   (  754) [004] ...1 158021.909215: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24199  power@1.1-serv-754   (  754) [004] ...1 158021.909295: tracing_mark_write: E
24200   Binder:1136_9-1633  ( 1136) [001] ...1 158021.917269: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24201   Binder:1136_9-1633  ( 1136) [001] ...1 158021.917294: tracing_mark_write: E
24202  power@1.1-serv-754   (  754) [004] ...1 158021.917305: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24203  power@1.1-serv-754   (  754) [004] ...1 158021.917347: tracing_mark_write: E
24204  sensors@1.0-se-755   (  755) [004] ...1 158021.922660: tracing_mark_write: E
24205   SensorService-1249  ( 1136) [003] ...1 158021.922697: tracing_mark_write: E
24206   SensorService-1249  ( 1136) [003] ...1 158021.922736: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24207  sensors@1.0-se-755   (  755) [004] ...1 158021.922774: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24208  sensors@1.0-se-755   (  755) [004] ...1 158021.942710: tracing_mark_write: E
24209   SensorService-1249  ( 1136) [003] ...1 158021.942742: tracing_mark_write: E
24210   SensorService-1249  ( 1136) [003] ...1 158021.942769: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24211  sensors@1.0-se-755   (  755) [004] ...1 158021.942805: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24212  MobileIQWorker-13581 (13531) [005] ...1 158021.947481: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24213  sensors@1.0-se-755   (  755) [001] ...1 158021.962863: tracing_mark_write: E
24214   SensorService-1249  ( 1136) [003] ...1 158021.962952: tracing_mark_write: E
24215   SensorService-1249  ( 1136) [003] ...1 158021.963039: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24216  sensors@1.0-se-755   (  755) [001] ...1 158021.963095: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24217  sensors@1.0-se-755   (  755) [001] ...1 158021.982848: tracing_mark_write: E
24218   SensorService-1249  ( 1136) [003] ...1 158021.982932: tracing_mark_write: E
24219   SensorService-1249  ( 1136) [003] ...1 158021.983017: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24220  sensors@1.0-se-755   (  755) [001] ...1 158021.983074: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24221  sensors@1.0-se-755   (  755) [000] ...1 158022.002793: tracing_mark_write: E
24222   SensorService-1249  ( 1136) [003] ...1 158022.002876: tracing_mark_write: E
24223   SensorService-1249  ( 1136) [003] ...1 158022.002957: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24224  sensors@1.0-se-755   (  755) [000] ...1 158022.003011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24225  sensors@1.0-se-755   (  755) [000] ...1 158022.022765: tracing_mark_write: E
24226   SensorService-1249  ( 1136) [003] ...1 158022.022818: tracing_mark_write: E
24227   SensorService-1249  ( 1136) [003] ...1 158022.022880: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24228  sensors@1.0-se-755   (  755) [000] ...1 158022.022927: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24229  sensors@1.0-se-755   (  755) [000] ...1 158022.042885: tracing_mark_write: E
24230   SensorService-1249  ( 1136) [003] ...1 158022.042966: tracing_mark_write: E
24231   SensorService-1249  ( 1136) [003] ...1 158022.043043: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24232  sensors@1.0-se-755   (  755) [000] ...1 158022.043095: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24233  MobileIQWorker-13581 (13531) [005] ...1 158022.048107: tracing_mark_write: E
24234  MobileIQWorker-13581 (13531) [005] ...1 158022.049056: tracing_mark_write: E
24235   Binder:1136_9-1633  ( 1136) [001] ...1 158022.050184: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24236   Binder:1136_9-1633  ( 1136) [001] ...1 158022.050223: tracing_mark_write: E
24237  power@1.1-serv-754   (  754) [002] ...1 158022.050249: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24238  power@1.1-serv-754   (  754) [002] ...1 158022.050369: tracing_mark_write: E
24239   Binder:1136_9-1633  ( 1136) [001] ...1 158022.061589: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24240   Binder:1136_9-1633  ( 1136) [001] ...1 158022.061615: tracing_mark_write: E
24241  power@1.1-serv-754   (  754) [002] ...1 158022.061630: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24242  MobileIQWorker-13581 (13531) [005] ...1 158022.061659: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float
24243  power@1.1-serv-754   (  754) [002] ...1 158022.061683: tracing_mark_write: E
24244  sensors@1.0-se-755   (  755) [002] ...1 158022.062886: tracing_mark_write: E
24245   SensorService-1249  ( 1136) [003] ...1 158022.062931: tracing_mark_write: E
24246   SensorService-1249  ( 1136) [003] ...1 158022.062983: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24247  sensors@1.0-se-755   (  755) [002] ...1 158022.063023: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24248  surfaceflinger-610   (  610) [000] ...1 158022.077278: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24249  HwBinder:612_3-11297 (  612) [007] ...1 158022.077376: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24250  HwBinder:612_3-11297 (  612) [007] ...1 158022.077419: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24251  HwBinder:612_3-11297 (  612) [007] ...1 158022.077434: tracing_mark_write: B|612|HWDevice::Commit::
24252  HwBinder:612_3-11297 (  612) [007] ...1 158022.077556: tracing_mark_write: E
24253  HwBinder:612_3-11297 (  612) [007] ...1 158022.077571: tracing_mark_write: E
24254  HwBinder:612_3-11297 (  612) [007] ...1 158022.077589: tracing_mark_write: E
24255  surfaceflinger-610   (  610) [000] ...1 158022.077639: tracing_mark_write: E
24256  sensors@1.0-se-755   (  755) [003] ...1 158022.082871: tracing_mark_write: E
24257   SensorService-1249  ( 1136) [000] ...1 158022.082929: tracing_mark_write: E
24258   SensorService-1249  ( 1136) [000] ...1 158022.082988: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24259  sensors@1.0-se-755   (  755) [003] ...1 158022.083032: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24260   Binder:1136_9-1633  ( 1136) [001] ...1 158022.090253: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24261   Binder:1136_9-1633  ( 1136) [001] ...1 158022.090285: tracing_mark_write: E
24262  power@1.1-serv-754   (  754) [007] ...1 158022.090318: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24263  power@1.1-serv-754   (  754) [007] ...1 158022.090404: tracing_mark_write: E
24264   Binder:1136_9-1633  ( 1136) [001] ...1 158022.101633: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24265   Binder:1136_9-1633  ( 1136) [001] ...1 158022.101656: tracing_mark_write: E
24266  power@1.1-serv-754   (  754) [007] ...1 158022.101676: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24267  power@1.1-serv-754   (  754) [007] ...1 158022.101731: tracing_mark_write: E
24268  sensors@1.0-se-755   (  755) [003] ...1 158022.102861: tracing_mark_write: E
24269   SensorService-1249  ( 1136) [000] ...1 158022.103311: tracing_mark_write: E
24270   SensorService-1249  ( 1136) [000] ...1 158022.103357: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24271  sensors@1.0-se-755   (  755) [003] ...1 158022.103394: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24272  sensors@1.0-se-755   (  755) [003] ...1 158022.122844: tracing_mark_write: E
24273   SensorService-1249  ( 1136) [000] ...1 158022.122873: tracing_mark_write: E
24274   SensorService-1249  ( 1136) [000] ...1 158022.122906: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24275  sensors@1.0-se-755   (  755) [003] ...1 158022.122940: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24276  sensors@1.0-se-755   (  755) [001] ...1 158022.142873: tracing_mark_write: E
24277   SensorService-1249  ( 1136) [000] ...1 158022.142902: tracing_mark_write: E
24278   SensorService-1249  ( 1136) [000] ...1 158022.142929: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24279  sensors@1.0-se-755   (  755) [001] ...1 158022.142960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24280  sensors@1.0-se-755   (  755) [001] ...1 158022.162879: tracing_mark_write: E
24281   SensorService-1249  ( 1136) [000] ...1 158022.162908: tracing_mark_write: E
24282   SensorService-1249  ( 1136) [000] ...1 158022.162934: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24283  sensors@1.0-se-755   (  755) [001] ...1 158022.162965: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24284  sensors@1.0-se-755   (  755) [002] ...1 158022.182913: tracing_mark_write: E
24285   SensorService-1249  ( 1136) [000] ...1 158022.182948: tracing_mark_write: E
24286   SensorService-1249  ( 1136) [000] ...1 158022.182981: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24287  sensors@1.0-se-755   (  755) [002] ...1 158022.183015: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24288  sensors@1.0-se-755   (  755) [000] ...1 158022.202927: tracing_mark_write: E
24289   SensorService-1249  ( 1136) [001] ...1 158022.202961: tracing_mark_write: E
24290   SensorService-1249  ( 1136) [001] ...1 158022.202994: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24291  sensors@1.0-se-755   (  755) [000] ...1 158022.203028: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24292  sensors@1.0-se-755   (  755) [000] ...1 158022.225150: tracing_mark_write: E
24293   SensorService-1249  ( 1136) [001] ...1 158022.225583: tracing_mark_write: E
24294   SensorService-1249  ( 1136) [001] ...1 158022.225808: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24295  sensors@1.0-se-755   (  755) [000] ...1 158022.226227: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24296  MobileIQWorker-13581 (13531) [005] ...1 158022.234020: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24297  sensors@1.0-se-755   (  755) [000] ...1 158022.244634: tracing_mark_write: E
24298   SensorService-1249  ( 1136) [001] ...1 158022.244809: tracing_mark_write: E
24299   SensorService-1249  ( 1136) [001] ...1 158022.245037: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24300  sensors@1.0-se-755   (  755) [000] ...1 158022.245569: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24301  sensors@1.0-se-755   (  755) [000] ...1 158022.264968: tracing_mark_write: E
24302   SensorService-1249  ( 1136) [001] ...1 158022.265410: tracing_mark_write: E
24303   SensorService-1249  ( 1136) [001] ...1 158022.265691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24304  sensors@1.0-se-755   (  755) [000] ...1 158022.266118: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24305  sensors@1.0-se-755   (  755) [001] ...1 158022.285153: tracing_mark_write: E
24306   SensorService-1249  ( 1136) [002] ...1 158022.285419: tracing_mark_write: E
24307   SensorService-1249  ( 1136) [002] ...1 158022.285653: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24308  sensors@1.0-se-755   (  755) [001] ...1 158022.286083: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24309  sensors@1.0-se-755   (  755) [001] ...1 158022.304458: tracing_mark_write: E
24310   SensorService-1249  ( 1136) [002] ...1 158022.304937: tracing_mark_write: E
24311   SensorService-1249  ( 1136) [002] ...1 158022.305132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24312  sensors@1.0-se-755   (  755) [001] ...1 158022.305327: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24313  sensors@1.0-se-755   (  755) [001] ...1 158022.325412: tracing_mark_write: E
24314   SensorService-1249  ( 1136) [002] ...1 158022.325877: tracing_mark_write: E
24315   SensorService-1249  ( 1136) [002] ...1 158022.326118: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24316  sensors@1.0-se-755   (  755) [001] ...1 158022.326553: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24317  sensors@1.0-se-755   (  755) [001] ...1 158022.346099: tracing_mark_write: E
24318   SensorService-1249  ( 1136) [002] ...1 158022.346658: tracing_mark_write: E
24319   SensorService-1249  ( 1136) [002] ...1 158022.346946: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24320  sensors@1.0-se-755   (  755) [001] ...1 158022.347434: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24321  sensors@1.0-se-755   (  755) [001] ...1 158022.366021: tracing_mark_write: E
24322   SensorService-1249  ( 1136) [002] ...1 158022.366557: tracing_mark_write: E
24323   SensorService-1249  ( 1136) [002] ...1 158022.366830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24324  sensors@1.0-se-755   (  755) [001] ...1 158022.367317: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24325  MobileIQWorker-13581 (13531) [005] ...1 158022.380398: tracing_mark_write: E
24326  MobileIQWorker-13581 (13531) [006] ...1 158022.381917: tracing_mark_write: E
24327  MobileIQWorker-13581 (13531) [006] ...1 158022.382959: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float
24328   Binder:1136_9-1633  ( 1136) [007] ...1 158022.384338: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24329  sensors@1.0-se-755   (  755) [001] ...1 158022.384367: tracing_mark_write: E
24330   Binder:1136_9-1633  ( 1136) [007] ...1 158022.384477: tracing_mark_write: E
24331   SensorService-1249  ( 1136) [002] ...1 158022.384619: tracing_mark_write: E
24332  power@1.1-serv-754   (  754) [007] ...1 158022.384723: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24333   SensorService-1249  ( 1136) [002] ...1 158022.384840: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24334  power@1.1-serv-754   (  754) [007] ...1 158022.384977: tracing_mark_write: E
24335  sensors@1.0-se-755   (  755) [001] ...1 158022.385053: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24336   Binder:1136_9-1633  ( 1136) [007] ...1 158022.398958: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24337   Binder:1136_9-1633  ( 1136) [007] ...1 158022.398997: tracing_mark_write: E
24338  power@1.1-serv-754   (  754) [007] ...1 158022.399057: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24339  power@1.1-serv-754   (  754) [007] ...1 158022.399139: tracing_mark_write: E
24340  sensors@1.0-se-755   (  755) [001] ...1 158022.403670: tracing_mark_write: E
24341   SensorService-1249  ( 1136) [002] ...1 158022.403849: tracing_mark_write: E
24342   SensorService-1249  ( 1136) [002] ...1 158022.404036: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24343  sensors@1.0-se-755   (  755) [001] ...1 158022.404314: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24344  surfaceflinger-610   (  610) [000] ...1 158022.412649: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24345  HwBinder:612_3-11297 (  612) [007] ...1 158022.412883: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24346  HwBinder:612_3-11297 (  612) [007] ...1 158022.412929: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24347  HwBinder:612_3-11297 (  612) [007] ...1 158022.412944: tracing_mark_write: B|612|HWDevice::Commit::
24348  HwBinder:612_3-11297 (  612) [007] ...1 158022.413005: tracing_mark_write: E
24349  HwBinder:612_3-11297 (  612) [007] ...1 158022.413021: tracing_mark_write: E
24350  HwBinder:612_3-11297 (  612) [007] ...1 158022.413040: tracing_mark_write: E
24351  surfaceflinger-610   (  610) [000] ...1 158022.413198: tracing_mark_write: E
24352  sensors@1.0-se-755   (  755) [001] ...1 158022.423602: tracing_mark_write: E
24353   SensorService-1249  ( 1136) [002] ...1 158022.423796: tracing_mark_write: E
24354   SensorService-1249  ( 1136) [002] ...1 158022.424006: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24355   Binder:1136_9-1633  ( 1136) [007] ...1 158022.424266: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24356  sensors@1.0-se-755   (  755) [001] ...1 158022.424279: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24357   Binder:1136_9-1633  ( 1136) [007] ...1 158022.424427: tracing_mark_write: E
24358  power@1.1-serv-754   (  754) [007] ...1 158022.424661: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24359  power@1.1-serv-754   (  754) [007] ...1 158022.424959: tracing_mark_write: E
24360   Binder:1136_9-1633  ( 1136) [007] ...1 158022.439216: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24361   Binder:1136_9-1633  ( 1136) [007] ...1 158022.439261: tracing_mark_write: E
24362  power@1.1-serv-754   (  754) [007] ...1 158022.439325: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24363  power@1.1-serv-754   (  754) [007] ...1 158022.439434: tracing_mark_write: E
24364  sensors@1.0-se-755   (  755) [001] ...1 158022.443615: tracing_mark_write: E
24365   SensorService-1249  ( 1136) [002] ...1 158022.443780: tracing_mark_write: E
24366   SensorService-1249  ( 1136) [002] ...1 158022.443950: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24367  sensors@1.0-se-755   (  755) [001] ...1 158022.444137: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24368  sensors@1.0-se-755   (  755) [001] ...1 158022.463497: tracing_mark_write: E
24369   SensorService-1249  ( 1136) [002] ...1 158022.463643: tracing_mark_write: E
24370   SensorService-1249  ( 1136) [002] ...1 158022.463789: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24371  sensors@1.0-se-755   (  755) [001] ...1 158022.463965: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24372  sensors@1.0-se-755   (  755) [001] ...1 158022.486723: tracing_mark_write: E
24373   SensorService-1249  ( 1136) [002] ...1 158022.487291: tracing_mark_write: E
24374   SensorService-1249  ( 1136) [002] ...1 158022.487667: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24375  sensors@1.0-se-755   (  755) [001] ...1 158022.488198: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24376  sensors@1.0-se-755   (  755) [000] ...1 158022.504935: tracing_mark_write: E
24377   SensorService-1249  ( 1136) [002] ...1 158022.505505: tracing_mark_write: E
24378   SensorService-1249  ( 1136) [002] ...1 158022.505778: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24379  sensors@1.0-se-755   (  755) [000] ...1 158022.506003: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24380  sensors@1.0-se-755   (  755) [000] ...1 158022.526361: tracing_mark_write: E
24381   SensorService-1249  ( 1136) [002] ...1 158022.526938: tracing_mark_write: E
24382   SensorService-1249  ( 1136) [002] ...1 158022.527218: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24383  sensors@1.0-se-755   (  755) [000] ...1 158022.527716: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24384  sensors@1.0-se-755   (  755) [000] ...1 158022.546119: tracing_mark_write: E
24385   SensorService-1249  ( 1136) [002] ...1 158022.546684: tracing_mark_write: E
24386   SensorService-1249  ( 1136) [002] ...1 158022.546960: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24387  sensors@1.0-se-755   (  755) [000] ...1 158022.547449: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24388  sensors@1.0-se-755   (  755) [000] ...1 158022.566678: tracing_mark_write: E
24389   SensorService-1249  ( 1136) [002] ...1 158022.567016: tracing_mark_write: E
24390   SensorService-1249  ( 1136) [000] ...1 158022.567856: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24391  sensors@1.0-se-755   (  755) [001] ...1 158022.568418: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24392  MobileIQWorker-13581 (13531) [005] ...1 158022.573296: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24393  sensors@1.0-se-755   (  755) [000] ...1 158022.584434: tracing_mark_write: E
24394   SensorService-1249  ( 1136) [001] ...1 158022.584780: tracing_mark_write: E
24395   SensorService-1249  ( 1136) [001] ...1 158022.584965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24396  sensors@1.0-se-755   (  755) [000] ...1 158022.585089: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24397  sensors@1.0-se-755   (  755) [000] ...1 158022.604414: tracing_mark_write: E
24398   SensorService-1249  ( 1136) [001] ...1 158022.604736: tracing_mark_write: E
24399   SensorService-1249  ( 1136) [001] ...1 158022.604901: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24400  sensors@1.0-se-755   (  755) [000] ...1 158022.605279: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24401  sensors@1.0-se-755   (  755) [000] ...1 158022.625404: tracing_mark_write: E
24402   SensorService-1249  ( 1136) [001] ...1 158022.625858: tracing_mark_write: E
24403   SensorService-1249  ( 1136) [001] ...1 158022.626088: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24404  sensors@1.0-se-755   (  755) [000] ...1 158022.626313: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24405  sensors@1.0-se-755   (  755) [000] ...1 158022.644785: tracing_mark_write: E
24406   SensorService-1249  ( 1136) [001] ...1 158022.645054: tracing_mark_write: E
24407   SensorService-1249  ( 1136) [001] ...1 158022.645298: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24408  sensors@1.0-se-755   (  755) [000] ...1 158022.645508: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24409  sensors@1.0-se-755   (  755) [000] ...1 158022.665644: tracing_mark_write: E
24410   SensorService-1249  ( 1136) [001] ...1 158022.666126: tracing_mark_write: E
24411   SensorService-1249  ( 1136) [001] ...1 158022.666383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24412  sensors@1.0-se-755   (  755) [000] ...1 158022.666817: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24413  sensors@1.0-se-755   (  755) [000] ...1 158022.685279: tracing_mark_write: E
24414   SensorService-1249  ( 1136) [001] ...1 158022.685828: tracing_mark_write: E
24415   SensorService-1249  ( 1136) [001] ...1 158022.686114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24416  sensors@1.0-se-755   (  755) [000] ...1 158022.686338: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24417  sensors@1.0-se-755   (  755) [000] ...1 158022.706143: tracing_mark_write: E
24418   SensorService-1249  ( 1136) [001] ...1 158022.706698: tracing_mark_write: E
24419   SensorService-1249  ( 1136) [001] ...1 158022.706992: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24420  sensors@1.0-se-755   (  755) [000] ...1 158022.707480: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24421  MobileIQWorker-13581 (13531) [005] ...1 158022.715639: tracing_mark_write: E
24422  MobileIQWorker-13581 (13531) [005] ...1 158022.723405: tracing_mark_write: E
24423  sensors@1.0-se-755   (  755) [000] ...1 158022.724699: tracing_mark_write: E
24424   SensorService-1249  ( 1136) [001] ...1 158022.725004: tracing_mark_write: E
24425   SensorService-1249  ( 1136) [001] ...1 158022.725182: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24426  MobileIQWorker-13581 (13531) [005] ...1 158022.725446: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float
24427  sensors@1.0-se-755   (  755) [000] ...1 158022.725467: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24428   Binder:1136_9-1633  ( 1136) [002] ...1 158022.726050: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24429   Binder:1136_9-1633  ( 1136) [002] ...1 158022.726139: tracing_mark_write: E
24430  power@1.1-serv-754   (  754) [007] ...1 158022.726277: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24431  power@1.1-serv-754   (  754) [007] ...1 158022.726348: tracing_mark_write: E
24432  sensors@1.0-se-755   (  755) [000] ...1 158022.744725: tracing_mark_write: E
24433   SensorService-1249  ( 1136) [001] ...1 158022.744908: tracing_mark_write: E
24434   SensorService-1249  ( 1136) [001] ...1 158022.745099: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24435  sensors@1.0-se-755   (  755) [000] ...1 158022.745545: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24436   Binder:1136_9-1633  ( 1136) [007] ...1 158022.748882: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24437   Binder:1136_9-1633  ( 1136) [007] ...1 158022.748921: tracing_mark_write: E
24438  power@1.1-serv-754   (  754) [007] ...1 158022.748978: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24439  power@1.1-serv-754   (  754) [007] ...1 158022.749056: tracing_mark_write: E
24440  sensors@1.0-se-755   (  755) [001] ...1 158022.763729: tracing_mark_write: E
24441   SensorService-1249  ( 1136) [002] ...1 158022.763919: tracing_mark_write: E
24442  surfaceflinger-610   (  610) [000] ...1 158022.763982: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24443   SensorService-1249  ( 1136) [002] ...1 158022.764091: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24444  HwBinder:612_3-11297 (  612) [007] ...1 158022.764225: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24445  HwBinder:612_3-11297 (  612) [007] ...1 158022.764268: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24446  HwBinder:612_3-11297 (  612) [007] ...1 158022.764283: tracing_mark_write: B|612|HWDevice::Commit::
24447  sensors@1.0-se-755   (  755) [001] ...1 158022.764316: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24448  HwBinder:612_3-11297 (  612) [007] ...1 158022.764356: tracing_mark_write: E
24449  HwBinder:612_3-11297 (  612) [007] ...1 158022.764370: tracing_mark_write: E
24450  HwBinder:612_3-11297 (  612) [007] ...1 158022.764390: tracing_mark_write: E
24451  surfaceflinger-610   (  610) [000] ...1 158022.764652: tracing_mark_write: E
24452   Binder:1136_9-1633  ( 1136) [007] ...1 158022.766181: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24453   Binder:1136_9-1633  ( 1136) [007] ...1 158022.766218: tracing_mark_write: E
24454  power@1.1-serv-754   (  754) [007] ...1 158022.766267: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24455  power@1.1-serv-754   (  754) [007] ...1 158022.766344: tracing_mark_write: E
24456  sensors@1.0-se-755   (  755) [000] ...1 158022.783742: tracing_mark_write: E
24457   SensorService-1249  ( 1136) [002] ...1 158022.783938: tracing_mark_write: E
24458   SensorService-1249  ( 1136) [002] ...1 158022.784128: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24459  sensors@1.0-se-755   (  755) [000] ...1 158022.784398: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24460   Binder:1136_9-1633  ( 1136) [007] ...1 158022.789165: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24461   Binder:1136_9-1633  ( 1136) [007] ...1 158022.789229: tracing_mark_write: E
24462  power@1.1-serv-754   (  754) [007] ...1 158022.789304: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24463  power@1.1-serv-754   (  754) [007] ...1 158022.789434: tracing_mark_write: E
24464  sensors@1.0-se-755   (  755) [000] ...1 158022.803727: tracing_mark_write: E
24465   SensorService-1249  ( 1136) [002] ...1 158022.803890: tracing_mark_write: E
24466   SensorService-1249  ( 1136) [002] ...1 158022.804052: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24467  sensors@1.0-se-755   (  755) [000] ...1 158022.804328: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24468  sensors@1.0-se-755   (  755) [000] ...1 158022.823783: tracing_mark_write: E
24469   SensorService-1249  ( 1136) [002] ...1 158022.823929: tracing_mark_write: E
24470   SensorService-1249  ( 1136) [002] ...1 158022.824072: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24471  sensors@1.0-se-755   (  755) [000] ...1 158022.824332: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24472  sensors@1.0-se-755   (  755) [000] ...1 158022.845004: tracing_mark_write: E
24473   SensorService-1249  ( 1136) [002] ...1 158022.845428: tracing_mark_write: E
24474   SensorService-1249  ( 1136) [002] ...1 158022.845602: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24475  sensors@1.0-se-755   (  755) [000] ...1 158022.846059: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24476  sensors@1.0-se-755   (  755) [000] ...1 158022.864973: tracing_mark_write: E
24477   SensorService-1249  ( 1136) [002] ...1 158022.865542: tracing_mark_write: E
24478   SensorService-1249  ( 1136) [002] ...1 158022.865822: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24479  sensors@1.0-se-755   (  755) [000] ...1 158022.866051: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24480  sensors@1.0-se-755   (  755) [000] ...1 158022.885606: tracing_mark_write: E
24481   SensorService-1249  ( 1136) [002] ...1 158022.886145: tracing_mark_write: E
24482   SensorService-1249  ( 1136) [002] ...1 158022.886423: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24483  sensors@1.0-se-755   (  755) [000] ...1 158022.886648: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24484  MobileIQWorker-13581 (13531) [007] ...1 158022.905198: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24485  sensors@1.0-se-755   (  755) [000] ...1 158022.905590: tracing_mark_write: E
24486   SensorService-1249  ( 1136) [002] ...1 158022.906050: tracing_mark_write: E
24487   SensorService-1249  ( 1136) [002] ...1 158022.906221: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24488  sensors@1.0-se-755   (  755) [000] ...1 158022.906410: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24489  sensors@1.0-se-755   (  755) [000] ...1 158022.924887: tracing_mark_write: E
24490   SensorService-1249  ( 1136) [002] ...1 158022.925264: tracing_mark_write: E
24491   SensorService-1249  ( 1136) [002] ...1 158022.925518: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24492  sensors@1.0-se-755   (  755) [000] ...1 158022.925767: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24493  sensors@1.0-se-755   (  755) [000] ...1 158022.946220: tracing_mark_write: E
24494   SensorService-1249  ( 1136) [002] ...1 158022.946748: tracing_mark_write: E
24495   SensorService-1249  ( 1136) [002] ...1 158022.946990: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24496  sensors@1.0-se-755   (  755) [000] ...1 158022.947415: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24497  sensors@1.0-se-755   (  755) [000] ...1 158022.966214: tracing_mark_write: E
24498   SensorService-1249  ( 1136) [002] ...1 158022.966682: tracing_mark_write: E
24499   SensorService-1249  ( 1136) [002] ...1 158022.966938: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24500  sensors@1.0-se-755   (  755) [000] ...1 158022.967363: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24501  sensors@1.0-se-755   (  755) [000] ...1 158022.984738: tracing_mark_write: E
24502   SensorService-1249  ( 1136) [002] ...1 158022.985231: tracing_mark_write: E
24503   SensorService-1249  ( 1136) [002] ...1 158022.985503: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24504  sensors@1.0-se-755   (  755) [000] ...1 158022.985937: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24505  sensors@1.0-se-755   (  755) [000] ...1 158023.006222: tracing_mark_write: E
24506   SensorService-1249  ( 1136) [002] ...1 158023.006712: tracing_mark_write: E
24507   SensorService-1249  ( 1136) [002] ...1 158023.006974: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24508  sensors@1.0-se-755   (  755) [000] ...1 158023.007407: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24509  sensors@1.0-se-755   (  755) [000] ...1 158023.026916: tracing_mark_write: E
24510   SensorService-1249  ( 1136) [002] ...1 158023.027518: tracing_mark_write: E
24511   SensorService-1249  ( 1136) [002] ...1 158023.027937: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24512  sensors@1.0-se-755   (  755) [000] ...1 158023.028429: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24513  sensors@1.0-se-755   (  755) [000] ...1 158023.046662: tracing_mark_write: E
24514   SensorService-1249  ( 1136) [002] ...1 158023.047242: tracing_mark_write: E
24515   SensorService-1249  ( 1136) [002] ...1 158023.047627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24516  sensors@1.0-se-755   (  755) [000] ...1 158023.048121: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24517  sensors@1.0-se-755   (  755) [000] ...1 158023.064852: tracing_mark_write: E
24518   SensorService-1249  ( 1136) [002] ...1 158023.065313: tracing_mark_write: E
24519   SensorService-1249  ( 1136) [002] ...1 158023.065562: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24520  sensors@1.0-se-755   (  755) [000] ...1 158023.065985: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24521  MobileIQWorker-13581 (13531) [007] ...1 158023.067734: tracing_mark_write: E
24522  MobileIQWorker-13581 (13531) [007] ...1 158023.073570: tracing_mark_write: E
24523  MobileIQWorker-13581 (13531) [007] ...1 158023.077788: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float
24524   Binder:1136_9-1633  ( 1136) [002] ...1 158023.078951: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24525   Binder:1136_9-1633  ( 1136) [002] ...1 158023.079100: tracing_mark_write: E
24526  power@1.1-serv-754   (  754) [004] ...1 158023.079354: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24527  power@1.1-serv-754   (  754) [004] ...1 158023.079538: tracing_mark_write: E
24528  sensors@1.0-se-755   (  755) [000] ...1 158023.084921: tracing_mark_write: E
24529   SensorService-1249  ( 1136) [002] ...1 158023.085095: tracing_mark_write: E
24530   SensorService-1249  ( 1136) [002] ...1 158023.085426: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24531  sensors@1.0-se-755   (  755) [000] ...1 158023.085847: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24532   Binder:1136_9-1633  ( 1136) [002] ...1 158023.102655: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24533   Binder:1136_9-1633  ( 1136) [002] ...1 158023.102822: tracing_mark_write: E
24534  power@1.1-serv-754   (  754) [004] ...1 158023.102866: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24535  power@1.1-serv-754   (  754) [004] ...1 158023.103005: tracing_mark_write: E
24536  sensors@1.0-se-755   (  755) [000] ...1 158023.104122: tracing_mark_write: E
24537   SensorService-1249  ( 1136) [002] ...1 158023.104374: tracing_mark_write: E
24538   SensorService-1249  ( 1136) [002] ...1 158023.104609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24539  sensors@1.0-se-755   (  755) [000] ...1 158023.104813: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24540  surfaceflinger-610   (  610) [000] ...1 158023.115362: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24541  HwBinder:612_3-11297 (  612) [007] ...1 158023.115619: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24542  HwBinder:612_3-11297 (  612) [007] ...1 158023.115683: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24543  HwBinder:612_3-11297 (  612) [007] ...1 158023.115707: tracing_mark_write: B|612|HWDevice::Commit::
24544  HwBinder:612_3-11297 (  612) [007] ...1 158023.115867: tracing_mark_write: E
24545  HwBinder:612_3-11297 (  612) [007] ...1 158023.115891: tracing_mark_write: E
24546  HwBinder:612_3-11297 (  612) [007] ...1 158023.115918: tracing_mark_write: E
24547  surfaceflinger-610   (  610) [000] ...1 158023.116089: tracing_mark_write: E
24548   Binder:1136_9-1633  ( 1136) [001] ...1 158023.119108: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24549   Binder:1136_9-1633  ( 1136) [001] ...1 158023.119301: tracing_mark_write: E
24550  power@1.1-serv-754   (  754) [004] ...1 158023.119310: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24551  power@1.1-serv-754   (  754) [004] ...1 158023.119455: tracing_mark_write: E
24552  sensors@1.0-se-755   (  755) [000] ...1 158023.124409: tracing_mark_write: E
24553   SensorService-1249  ( 1136) [001] ...1 158023.124643: tracing_mark_write: E
24554   SensorService-1249  ( 1136) [001] ...1 158023.124945: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24555  sensors@1.0-se-755   (  755) [000] ...1 158023.125246: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24556   Binder:1136_9-1633  ( 1136) [001] ...1 158023.143000: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24557   Binder:1136_9-1633  ( 1136) [001] ...1 158023.143180: tracing_mark_write: E
24558  power@1.1-serv-754   (  754) [004] ...1 158023.143209: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24559  power@1.1-serv-754   (  754) [004] ...1 158023.143394: tracing_mark_write: E
24560  sensors@1.0-se-755   (  755) [000] ...1 158023.144334: tracing_mark_write: E
24561   SensorService-1249  ( 1136) [001] ...1 158023.144516: tracing_mark_write: E
24562   SensorService-1249  ( 1136) [001] ...1 158023.144776: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24563  sensors@1.0-se-755   (  755) [000] ...1 158023.144970: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24564  sensors@1.0-se-755   (  755) [000] ...1 158023.164141: tracing_mark_write: E
24565   SensorService-1249  ( 1136) [001] ...1 158023.164292: tracing_mark_write: E
24566   SensorService-1249  ( 1136) [001] ...1 158023.164544: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24567  sensors@1.0-se-755   (  755) [000] ...1 158023.164729: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24568  sensors@1.0-se-755   (  755) [000] ...1 158023.185461: tracing_mark_write: E
24569   SensorService-1249  ( 1136) [001] ...1 158023.185899: tracing_mark_write: E
24570   SensorService-1249  ( 1136) [001] ...1 158023.186096: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24571  sensors@1.0-se-755   (  755) [000] ...1 158023.186298: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24572  sensors@1.0-se-755   (  755) [000] ...1 158023.207039: tracing_mark_write: E
24573   SensorService-1249  ( 1136) [001] ...1 158023.207701: tracing_mark_write: E
24574   SensorService-1249  ( 1136) [001] ...1 158023.208009: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24575  HwBinder:755_1-1247  (  755) [000] ...1 158023.208530: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24576  HwBinder:755_1-1247  (  755) [000] ...1 158023.227238: tracing_mark_write: E
24577   SensorService-1249  ( 1136) [001] ...1 158023.227808: tracing_mark_write: E
24578   SensorService-1249  ( 1136) [001] ...1 158023.228112: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24579  HwBinder:755_1-1247  (  755) [000] ...1 158023.228605: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24580  HwBinder:755_1-1247  (  755) [000] ...1 158023.246540: tracing_mark_write: E
24581   SensorService-1249  ( 1136) [001] ...1 158023.247088: tracing_mark_write: E
24582   SensorService-1249  ( 1136) [001] ...1 158023.247383: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24583  HwBinder:755_1-1247  (  755) [000] ...1 158023.247872: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24584  HwBinder:755_1-1247  (  755) [000] ...1 158023.267418: tracing_mark_write: E
24585   SensorService-1249  ( 1136) [001] ...1 158023.268035: tracing_mark_write: E
24586   SensorService-1249  ( 1136) [001] ...1 158023.268338: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24587  HwBinder:755_1-1247  (  755) [000] ...1 158023.268830: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24588  HwBinder:755_1-1247  (  755) [000] ...1 158023.286536: tracing_mark_write: E
24589   SensorService-1249  ( 1136) [001] ...1 158023.287087: tracing_mark_write: E
24590   SensorService-1249  ( 1136) [001] ...1 158023.287385: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24591  HwBinder:755_1-1247  (  755) [000] ...1 158023.287877: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24592  MobileIQWorker-13581 (13531) [006] ...1 158023.297581: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24593  HwBinder:755_1-1247  (  755) [000] ...1 158023.305286: tracing_mark_write: E
24594   SensorService-1249  ( 1136) [001] ...1 158023.305741: tracing_mark_write: E
24595   SensorService-1249  ( 1136) [001] ...1 158023.306051: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24596  HwBinder:755_1-1247  (  755) [000] ...1 158023.306485: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24597  HwBinder:755_1-1247  (  755) [000] ...1 158023.326578: tracing_mark_write: E
24598   SensorService-1249  ( 1136) [001] ...1 158023.327086: tracing_mark_write: E
24599   SensorService-1249  ( 1136) [001] ...1 158023.327369: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24600  HwBinder:755_1-1247  (  755) [000] ...1 158023.327850: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24601  HwBinder:755_1-1247  (  755) [000] ...1 158023.345339: tracing_mark_write: E
24602   SensorService-1249  ( 1136) [001] ...1 158023.345858: tracing_mark_write: E
24603   SensorService-1249  ( 1136) [001] ...1 158023.346171: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24604  HwBinder:755_1-1247  (  755) [000] ...1 158023.346602: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24605  HwBinder:755_1-1247  (  755) [000] ...1 158023.365825: tracing_mark_write: E
24606   SensorService-1249  ( 1136) [001] ...1 158023.366283: tracing_mark_write: E
24607   SensorService-1249  ( 1136) [001] ...1 158023.366528: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24608  HwBinder:755_1-1247  (  755) [000] ...1 158023.366962: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24609  HwBinder:755_1-1247  (  755) [000] ...1 158023.385764: tracing_mark_write: E
24610   SensorService-1249  ( 1136) [001] ...1 158023.386324: tracing_mark_write: E
24611   SensorService-1249  ( 1136) [001] ...1 158023.386583: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24612  HwBinder:755_1-1247  (  755) [000] ...1 158023.387021: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24613  HwBinder:755_1-1247  (  755) [000] ...1 158023.407414: tracing_mark_write: E
24614   SensorService-1249  ( 1136) [001] ...1 158023.408122: tracing_mark_write: E
24615   SensorService-1249  ( 1136) [001] ...1 158023.408440: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24616  HwBinder:755_1-1247  (  755) [000] ...1 158023.408939: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24617  HwBinder:755_1-1247  (  755) [000] ...1 158023.426413: tracing_mark_write: E
24618   SensorService-1249  ( 1136) [001] ...1 158023.426972: tracing_mark_write: E
24619   SensorService-1249  ( 1136) [001] ...1 158023.427287: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24620  HwBinder:755_1-1247  (  755) [000] ...1 158023.427780: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24621  HwBinder:755_1-1247  (  755) [000] ...1 158023.447210: tracing_mark_write: E
24622   SensorService-1249  ( 1136) [001] ...1 158023.447499: tracing_mark_write: E
24623   SensorService-1249  ( 1136) [001] ...1 158023.447807: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24624  HwBinder:755_1-1247  (  755) [000] ...1 158023.448248: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24625  MobileIQWorker-13581 (13531) [006] ...1 158023.454120: tracing_mark_write: E
24626  MobileIQWorker-13581 (13531) [007] ...1 158023.461542: tracing_mark_write: E
24627  MobileIQWorker-13581 (13531) [007] ...1 158023.465764: tracing_mark_write: B|13531|[NN_LA_PO]mobilenet_float
24628  HwBinder:755_1-1247  (  755) [001] ...1 158023.465800: tracing_mark_write: E
24629   SensorService-1249  ( 1136) [000] ...1 158023.466026: tracing_mark_write: E
24630   SensorService-1249  ( 1136) [000] ...1 158023.466327: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24631   Binder:1136_9-1633  ( 1136) [006] ...1 158023.466459: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24632   Binder:1136_9-1633  ( 1136) [006] ...1 158023.466571: tracing_mark_write: E
24633  HwBinder:755_1-1247  (  755) [001] ...1 158023.466763: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24634  power@1.1-serv-754   (  754) [004] ...1 158023.466799: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24635  power@1.1-serv-754   (  754) [004] ...1 158023.466962: tracing_mark_write: E
24636  HwBinder:755_1-1247  (  755) [000] ...1 158023.484500: tracing_mark_write: E
24637   SensorService-1249  ( 1136) [001] ...1 158023.484768: tracing_mark_write: E
24638   SensorService-1249  ( 1136) [001] ...1 158023.485073: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24639  HwBinder:755_1-1247  (  755) [000] ...1 158023.485288: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24640   Binder:1136_9-1633  ( 1136) [002] ...1 158023.488002: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24641   Binder:1136_9-1633  ( 1136) [002] ...1 158023.488183: tracing_mark_write: E
24642  power@1.1-serv-754   (  754) [004] ...1 158023.488197: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24643  power@1.1-serv-754   (  754) [004] ...1 158023.488290: tracing_mark_write: E
24644  surfaceflinger-610   (  610) [000] ...1 158023.500178: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24645  HwBinder:612_3-11297 (  612) [007] ...1 158023.500428: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24646  HwBinder:612_3-11297 (  612) [007] ...1 158023.500482: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24647  HwBinder:612_3-11297 (  612) [007] ...1 158023.500501: tracing_mark_write: B|612|HWDevice::Commit::
24648  HwBinder:612_3-11297 (  612) [007] ...1 158023.500574: tracing_mark_write: E
24649  HwBinder:612_3-11297 (  612) [007] ...1 158023.500592: tracing_mark_write: E
24650  HwBinder:612_3-11297 (  612) [007] ...1 158023.500615: tracing_mark_write: E
24651  surfaceflinger-610   (  610) [000] ...1 158023.500929: tracing_mark_write: E
24652  HwBinder:755_1-1247  (  755) [001] ...1 158023.504432: tracing_mark_write: E
24653   SensorService-1249  ( 1136) [000] ...1 158023.504726: tracing_mark_write: E
24654   SensorService-1249  ( 1136) [000] ...1 158023.504932: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24655  HwBinder:755_1-1247  (  755) [001] ...1 158023.505156: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24656   Binder:1136_9-1633  ( 1136) [001] ...1 158023.506628: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24657  power@1.1-serv-754   (  754) [004] ...1 158023.506794: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24658   Binder:1136_9-1633  ( 1136) [001] ...1 158023.506805: tracing_mark_write: E
24659  power@1.1-serv-754   (  754) [004] ...1 158023.506868: tracing_mark_write: E
24660  HwBinder:755_1-1247  (  755) [000] ...1 158023.524419: tracing_mark_write: E
24661   SensorService-1249  ( 1136) [001] ...1 158023.524608: tracing_mark_write: E
24662   SensorService-1249  ( 1136) [001] ...1 158023.524802: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24663  HwBinder:755_1-1247  (  755) [000] ...1 158023.525074: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24664   Binder:1136_9-1633  ( 1136) [001] ...1 158023.527918: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24665   Binder:1136_9-1633  ( 1136) [001] ...1 158023.528055: tracing_mark_write: E
24666  power@1.1-serv-754   (  754) [004] ...1 158023.528065: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24667  power@1.1-serv-754   (  754) [004] ...1 158023.528175: tracing_mark_write: E
24668  HwBinder:755_1-1247  (  755) [000] ...1 158023.545219: tracing_mark_write: E
24669   SensorService-1249  ( 1136) [001] ...1 158023.545386: tracing_mark_write: E
24670   SensorService-1249  ( 1136) [001] ...1 158023.545564: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24671  HwBinder:755_1-1247  (  755) [000] ...1 158023.545760: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24672  HwBinder:755_1-1247  (  755) [000] ...1 158023.564417: tracing_mark_write: E
24673   SensorService-1249  ( 1136) [001] ...1 158023.564559: tracing_mark_write: E
24674   SensorService-1249  ( 1136) [001] ...1 158023.564715: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24675  HwBinder:755_1-1247  (  755) [000] ...1 158023.564896: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24676  HwBinder:755_1-1247  (  755) [000] ...1 158023.586564: tracing_mark_write: E
24677   SensorService-1249  ( 1136) [001] ...1 158023.587109: tracing_mark_write: E
24678   SensorService-1249  ( 1136) [001] ...1 158023.587407: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24679  HwBinder:755_1-1247  (  755) [000] ...1 158023.587896: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24680  HwBinder:755_1-1247  (  755) [000] ...1 158023.607287: tracing_mark_write: E
24681   SensorService-1249  ( 1136) [001] ...1 158023.607858: tracing_mark_write: E
24682   SensorService-1249  ( 1136) [001] ...1 158023.608158: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24683  HwBinder:755_1-1247  (  755) [000] ...1 158023.608649: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24684  HwBinder:755_1-1247  (  755) [000] ...1 158023.627415: tracing_mark_write: E
24685   SensorService-1249  ( 1136) [001] ...1 158023.627983: tracing_mark_write: E
24686   SensorService-1249  ( 1136) [001] ...1 158023.628283: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24687  HwBinder:755_1-1247  (  755) [000] ...1 158023.628775: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24688  HwBinder:755_1-1247  (  755) [000] ...1 158023.647159: tracing_mark_write: E
24689   SensorService-1249  ( 1136) [001] ...1 158023.647703: tracing_mark_write: E
24690   SensorService-1249  ( 1136) [001] ...1 158023.647989: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24691  HwBinder:755_1-1247  (  755) [000] ...1 158023.648476: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24692  MobileIQWorker-13581 (13531) [006] ...1 158023.664287: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24693  HwBinder:755_1-1247  (  755) [000] ...1 158023.666819: tracing_mark_write: E
24694   SensorService-1249  ( 1136) [001] ...1 158023.667313: tracing_mark_write: E
24695   SensorService-1249  ( 1136) [001] ...1 158023.667628: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24696  HwBinder:755_1-1247  (  755) [000] ...1 158023.667963: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24697  HwBinder:755_1-1247  (  755) [000] ...1 158023.686742: tracing_mark_write: E
24698   SensorService-1249  ( 1136) [001] ...1 158023.687198: tracing_mark_write: E
24699   SensorService-1249  ( 1136) [001] ...1 158023.687443: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24700  HwBinder:755_1-1247  (  755) [000] ...1 158023.687948: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24701  HwBinder:755_1-1247  (  755) [000] ...1 158023.706767: tracing_mark_write: E
24702   SensorService-1249  ( 1136) [001] ...1 158023.707219: tracing_mark_write: E
24703   SensorService-1249  ( 1136) [001] ...1 158023.707457: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24704  HwBinder:755_1-1247  (  755) [000] ...1 158023.707983: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24705  HwBinder:755_1-1247  (  755) [000] ...1 158023.726855: tracing_mark_write: E
24706   SensorService-1249  ( 1136) [001] ...1 158023.727344: tracing_mark_write: E
24707   SensorService-1249  ( 1136) [001] ...1 158023.727686: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24708  HwBinder:755_1-1247  (  755) [000] ...1 158023.728121: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24709  HwBinder:755_1-1247  (  755) [000] ...1 158023.746927: tracing_mark_write: E
24710   SensorService-1249  ( 1136) [001] ...1 158023.747374: tracing_mark_write: E
24711   SensorService-1249  ( 1136) [001] ...1 158023.747704: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24712  HwBinder:755_1-1247  (  755) [000] ...1 158023.748145: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24713  HwBinder:755_1-1247  (  755) [000] ...1 158023.766922: tracing_mark_write: E
24714   SensorService-1249  ( 1136) [001] ...1 158023.767403: tracing_mark_write: E
24715   SensorService-1249  ( 1136) [001] ...1 158023.767749: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24716  HwBinder:755_1-1247  (  755) [000] ...1 158023.768192: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24717  HwBinder:755_1-1247  (  755) [000] ...1 158023.787733: tracing_mark_write: E
24718   SensorService-1249  ( 1136) [001] ...1 158023.788379: tracing_mark_write: E
24719   SensorService-1249  ( 1136) [001] ...1 158023.788641: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24720  HwBinder:755_1-1247  (  755) [000] ...1 158023.789092: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24721  MobileIQWorker-13581 (13531) [007] ...1 158023.802705: tracing_mark_write: E
24722  MobileIQWorker-13581 (13531) [007] ...1 158023.803963: tracing_mark_write: E
24723  HwBinder:755_1-1247  (  755) [000] ...1 158023.805603: tracing_mark_write: E
24724   SensorService-1249  ( 1136) [001] ...1 158023.806064: tracing_mark_write: E
24725   SensorService-1249  ( 1136) [001] ...1 158023.806300: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24726  HwBinder:755_1-1247  (  755) [000] ...1 158023.806512: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24727   Binder:1136_9-1633  ( 1136) [002] ...1 158023.807294: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24728   Binder:1136_9-1633  ( 1136) [002] ...1 158023.807440: tracing_mark_write: E
24729  power@1.1-serv-754   (  754) [004] ...1 158023.807510: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24730  power@1.1-serv-754   (  754) [004] ...1 158023.807748: tracing_mark_write: E
24731   Binder:1136_9-1633  ( 1136) [002] ...1 158023.824128: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24732   Binder:1136_9-1633  ( 1136) [002] ...1 158023.824424: tracing_mark_write: E
24733  power@1.1-serv-754   (  754) [004] ...1 158023.824434: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24734  power@1.1-serv-754   (  754) [004] ...1 158023.824535: tracing_mark_write: E
24735  HwBinder:755_1-1247  (  755) [000] ...1 158023.824799: tracing_mark_write: E
24736   SensorService-1249  ( 1136) [001] ...1 158023.825004: tracing_mark_write: E
24737   SensorService-1249  ( 1136) [001] ...1 158023.825282: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24738  HwBinder:755_1-1247  (  755) [000] ...1 158023.825485: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24739  MobileIQWorker-13581 (13531) [007] ...1 158023.828810: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized
24740  surfaceflinger-610   (  610) [000] ...1 158023.834916: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24741  HwBinder:612_3-11297 (  612) [007] ...1 158023.835173: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24742  HwBinder:612_3-11297 (  612) [007] ...1 158023.835223: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24743  HwBinder:612_3-11297 (  612) [007] ...1 158023.835241: tracing_mark_write: B|612|HWDevice::Commit::
24744  HwBinder:612_3-11297 (  612) [007] ...1 158023.835312: tracing_mark_write: E
24745  HwBinder:612_3-11297 (  612) [007] ...1 158023.835329: tracing_mark_write: E
24746  HwBinder:612_3-11297 (  612) [007] ...1 158023.835351: tracing_mark_write: E
24747  surfaceflinger-610   (  610) [000] ...1 158023.835516: tracing_mark_write: E
24748  MobileIQWorker-13581 (13531) [005] ...1 158023.839729: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24749  HwBinder:755_1-1247  (  755) [000] ...1 158023.844806: tracing_mark_write: E
24750   SensorService-1249  ( 1136) [001] ...1 158023.844995: tracing_mark_write: E
24751   SensorService-1249  ( 1136) [001] ...1 158023.845195: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24752  HwBinder:755_1-1247  (  755) [000] ...1 158023.845400: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24753  MobileIQWorker-13581 (13531) [005] ...1 158023.851039: tracing_mark_write: E
24754   Binder:1136_9-1633  ( 1136) [002] ...1 158023.851112: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24755   Binder:1136_9-1633  ( 1136) [002] ...1 158023.851177: tracing_mark_write: E
24756  power@1.1-serv-754   (  754) [007] ...1 158023.851208: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24757  power@1.1-serv-754   (  754) [007] ...1 158023.851298: tracing_mark_write: E
24758  MobileIQWorker-13581 (13531) [005] ...1 158023.851910: tracing_mark_write: E
24759  MobileIQWorker-13581 (13531) [005] ...1 158023.852981: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized
24760   Binder:1136_9-1633  ( 1136) [002] ...1 158023.853024: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24761   Binder:1136_9-1633  ( 1136) [002] ...1 158023.853056: tracing_mark_write: E
24762  power@1.1-serv-754   (  754) [007] ...1 158023.853071: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24763  power@1.1-serv-754   (  754) [007] ...1 158023.853125: tracing_mark_write: E
24764  MobileIQWorker-13581 (13531) [006] ...1 158023.863856: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24765   Binder:1136_9-1633  ( 1136) [001] ...1 158023.863973: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24766   Binder:1136_9-1633  ( 1136) [001] ...1 158023.864005: tracing_mark_write: E
24767  power@1.1-serv-754   (  754) [005] ...1 158023.864067: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24768  power@1.1-serv-754   (  754) [005] ...1 158023.864198: tracing_mark_write: E
24769  HwBinder:755_1-1247  (  755) [001] ...1 158023.864793: tracing_mark_write: E
24770   SensorService-1249  ( 1136) [007] ...1 158023.864878: tracing_mark_write: E
24771   SensorService-1249  ( 1136) [007] ...1 158023.864952: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24772  HwBinder:755_1-1247  (  755) [001] ...1 158023.865012: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24773   Binder:1136_9-1633  ( 1136) [001] ...1 158023.866369: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24774   Binder:1136_9-1633  ( 1136) [001] ...1 158023.866407: tracing_mark_write: E
24775  power@1.1-serv-754   (  754) [005] ...1 158023.866459: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24776  power@1.1-serv-754   (  754) [005] ...1 158023.866598: tracing_mark_write: E
24777  surfaceflinger-610   (  610) [002] ...1 158023.884216: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24778  HwBinder:612_3-11297 (  612) [007] ...1 158023.884334: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24779  HwBinder:612_3-11297 (  612) [007] ...1 158023.884381: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24780  HwBinder:612_3-11297 (  612) [007] ...1 158023.884398: tracing_mark_write: B|612|HWDevice::Commit::
24781  HwBinder:612_3-11297 (  612) [007] ...1 158023.884515: tracing_mark_write: E
24782  HwBinder:612_3-11297 (  612) [007] ...1 158023.884534: tracing_mark_write: E
24783  HwBinder:612_3-11297 (  612) [007] ...1 158023.884557: tracing_mark_write: E
24784  surfaceflinger-610   (  610) [000] ...1 158023.884624: tracing_mark_write: E
24785  HwBinder:755_1-1247  (  755) [004] ...1 158023.884728: tracing_mark_write: E
24786   SensorService-1249  ( 1136) [007] ...1 158023.884775: tracing_mark_write: E
24787   SensorService-1249  ( 1136) [007] ...1 158023.884830: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24788  sensors@1.0-se-755   (  755) [001] ...1 158023.884893: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24789   Binder:1136_9-1633  ( 1136) [000] ...1 158023.893188: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24790   Binder:1136_9-1633  ( 1136) [000] ...1 158023.893227: tracing_mark_write: E
24791  power@1.1-serv-754   (  754) [007] ...1 158023.893247: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24792  power@1.1-serv-754   (  754) [007] ...1 158023.893330: tracing_mark_write: E
24793  sensors@1.0-se-755   (  755) [000] ...1 158023.904600: tracing_mark_write: E
24794   SensorService-1249  ( 1136) [007] ...1 158023.904640: tracing_mark_write: E
24795   SensorService-1249  ( 1136) [007] ...1 158023.904674: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24796  sensors@1.0-se-755   (  755) [000] ...1 158023.904716: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24797   Binder:1136_9-1633  ( 1136) [002] ...1 158023.906414: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24798   Binder:1136_9-1633  ( 1136) [002] ...1 158023.906442: tracing_mark_write: E
24799  power@1.1-serv-754   (  754) [007] ...1 158023.906454: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24800  power@1.1-serv-754   (  754) [007] ...1 158023.906500: tracing_mark_write: E
24801  MobileIQWorker-13581 (13531) [006] ...1 158023.906758: tracing_mark_write: E
24802  MobileIQWorker-13581 (13531) [006] ...1 158023.907664: tracing_mark_write: E
24803  MobileIQWorker-13581 (13531) [006] ...1 158023.908626: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized
24804   Binder:1136_9-1633  ( 1136) [000] ...1 158023.908769: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24805   Binder:1136_9-1633  ( 1136) [000] ...1 158023.908794: tracing_mark_write: E
24806  power@1.1-serv-754   (  754) [005] ...1 158023.908813: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24807  power@1.1-serv-754   (  754) [005] ...1 158023.908885: tracing_mark_write: E
24808   Binder:1136_9-1633  ( 1136) [001] ...1 158023.916556: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24809   Binder:1136_9-1633  ( 1136) [001] ...1 158023.916593: tracing_mark_write: E
24810  power@1.1-serv-754   (  754) [005] ...1 158023.916622: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24811  power@1.1-serv-754   (  754) [005] ...1 158023.916697: tracing_mark_write: E
24812  MobileIQWorker-13581 (13531) [006] ...1 158023.919223: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24813  sensors@1.0-se-755   (  755) [007] ...1 158023.924642: tracing_mark_write: E
24814   SensorService-1249  ( 1136) [001] ...1 158023.924727: tracing_mark_write: E
24815   SensorService-1249  ( 1136) [001] ...1 158023.924809: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24816  sensors@1.0-se-755   (  755) [007] ...1 158023.924867: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24817  surfaceflinger-610   (  610) [001] ...1 158023.934573: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24818  HwBinder:612_3-11297 (  612) [007] ...1 158023.934719: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24819  HwBinder:612_3-11297 (  612) [007] ...1 158023.934784: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24820  HwBinder:612_3-11297 (  612) [007] ...1 158023.934809: tracing_mark_write: B|612|HWDevice::Commit::
24821  HwBinder:612_3-11297 (  612) [007] ...1 158023.934891: tracing_mark_write: E
24822  HwBinder:612_3-11297 (  612) [007] ...1 158023.934914: tracing_mark_write: E
24823  HwBinder:612_3-11297 (  612) [007] ...1 158023.934940: tracing_mark_write: E
24824  surfaceflinger-610   (  610) [001] ...1 158023.935012: tracing_mark_write: E
24825  sensors@1.0-se-755   (  755) [005] ...1 158023.944636: tracing_mark_write: E
24826   SensorService-1249  ( 1136) [001] ...1 158023.944720: tracing_mark_write: E
24827   SensorService-1249  ( 1136) [001] ...1 158023.944826: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24828  sensors@1.0-se-755   (  755) [005] ...1 158023.944888: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24829  MobileIQWorker-13581 (13531) [004] ...1 158023.947208: tracing_mark_write: E
24830   Binder:1136_9-1633  ( 1136) [000] ...1 158023.948905: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24831   Binder:1136_9-1633  ( 1136) [000] ...1 158023.948961: tracing_mark_write: E
24832  power@1.1-serv-754   (  754) [005] ...1 158023.948989: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24833  power@1.1-serv-754   (  754) [005] ...1 158023.949116: tracing_mark_write: E
24834  MobileIQWorker-13581 (13531) [006] ...1 158023.954546: tracing_mark_write: E
24835  MobileIQWorker-13581 (13531) [006] ...1 158023.955764: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized
24836   Binder:1136_9-1633  ( 1136) [001] ...1 158023.956260: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24837   Binder:1136_9-1633  ( 1136) [001] ...1 158023.956373: tracing_mark_write: E
24838  power@1.1-serv-754   (  754) [005] ...1 158023.956377: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24839  power@1.1-serv-754   (  754) [005] ...1 158023.956450: tracing_mark_write: E
24840   Binder:1136_9-1633  ( 1136) [001] ...1 158023.956786: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24841  power@1.1-serv-754   (  754) [005] ...1 158023.956875: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24842   Binder:1136_9-1633  ( 1136) [001] ...1 158023.956888: tracing_mark_write: E
24843  power@1.1-serv-754   (  754) [005] ...1 158023.956899: tracing_mark_write: E
24844  sensors@1.0-se-755   (  755) [007] ...1 158023.964707: tracing_mark_write: E
24845   SensorService-1249  ( 1136) [001] ...1 158023.964783: tracing_mark_write: E
24846   SensorService-1249  ( 1136) [001] ...1 158023.964861: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24847  sensors@1.0-se-755   (  755) [007] ...1 158023.964930: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24848   Binder:1136_9-1633  ( 1136) [002] ...1 158023.966319: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24849   Binder:1136_9-1633  ( 1136) [002] ...1 158023.966347: tracing_mark_write: E
24850  power@1.1-serv-754   (  754) [005] ...1 158023.966406: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24851  power@1.1-serv-754   (  754) [005] ...1 158023.966533: tracing_mark_write: E
24852  MobileIQWorker-13581 (13531) [006] ...1 158023.967366: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24853  surfaceflinger-610   (  610) [001] ...1 158023.984655: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24854  sensors@1.0-se-755   (  755) [006] ...1 158023.984665: tracing_mark_write: E
24855   SensorService-1249  ( 1136) [002] ...1 158023.984748: tracing_mark_write: E
24856  HwBinder:612_3-11297 (  612) [007] ...1 158023.984770: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24857   SensorService-1249  ( 1136) [002] ...1 158023.984814: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24858  HwBinder:612_3-11297 (  612) [007] ...1 158023.984822: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24859  HwBinder:612_3-11297 (  612) [007] ...1 158023.984839: tracing_mark_write: B|612|HWDevice::Commit::
24860  sensors@1.0-se-755   (  755) [006] ...1 158023.984856: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24861  HwBinder:612_3-11297 (  612) [007] ...1 158023.984898: tracing_mark_write: E
24862  HwBinder:612_3-11297 (  612) [007] ...1 158023.984914: tracing_mark_write: E
24863  HwBinder:612_3-11297 (  612) [007] ...1 158023.984933: tracing_mark_write: E
24864  surfaceflinger-610   (  610) [001] ...1 158023.984983: tracing_mark_write: E
24865  MobileIQWorker-13581 (13531) [006] ...1 158023.990433: tracing_mark_write: E
24866  MobileIQWorker-13581 (13531) [006] ...1 158023.991328: tracing_mark_write: E
24867  MobileIQWorker-13581 (13531) [006] ...1 158023.992289: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_quantized
24868  surfaceflinger-610   (  610) [000] ...1 158024.001287: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24869  HwBinder:612_3-11297 (  612) [007] ...1 158024.001413: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24870  HwBinder:612_3-11297 (  612) [007] ...1 158024.001460: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24871  HwBinder:612_3-11297 (  612) [007] ...1 158024.001477: tracing_mark_write: B|612|HWDevice::Commit::
24872  HwBinder:612_3-11297 (  612) [007] ...1 158024.001587: tracing_mark_write: E
24873  HwBinder:612_3-11297 (  612) [007] ...1 158024.001605: tracing_mark_write: E
24874  HwBinder:612_3-11297 (  612) [007] ...1 158024.001627: tracing_mark_write: E
24875  surfaceflinger-610   (  610) [000] ...1 158024.001683: tracing_mark_write: E
24876  MobileIQWorker-13581 (13531) [006] ...1 158024.003256: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24877  sensors@1.0-se-755   (  755) [005] ...1 158024.004695: tracing_mark_write: E
24878   SensorService-1249  ( 1136) [002] ...1 158024.004778: tracing_mark_write: E
24879   SensorService-1249  ( 1136) [002] ...1 158024.004885: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24880  sensors@1.0-se-755   (  755) [005] ...1 158024.004962: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24881  MobileIQWorker-13581 (13531) [007] ...1 158024.024490: tracing_mark_write: E
24882  sensors@1.0-se-755   (  755) [002] ...1 158024.024919: tracing_mark_write: E
24883   SensorService-1249  ( 1136) [006] ...1 158024.025043: tracing_mark_write: E
24884   SensorService-1249  ( 1136) [006] ...1 158024.025136: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24885  HwBinder:755_1-1247  (  755) [004] ...1 158024.025222: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24886  MobileIQWorker-13581 (13531) [004] ...1 158024.025706: tracing_mark_write: E
24887  MobileIQWorker-13581 (13531) [004] ...1 158024.036729: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float
24888  HwBinder:755_1-1247  (  755) [000] ...1 158024.044761: tracing_mark_write: E
24889   SensorService-1249  ( 1136) [006] ...1 158024.044833: tracing_mark_write: E
24890   SensorService-1249  ( 1136) [006] ...1 158024.044886: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24891  HwBinder:755_1-1247  (  755) [000] ...1 158024.044941: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24892  surfaceflinger-610   (  610) [000] ...1 158024.051586: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24893  HwBinder:612_3-11297 (  612) [007] ...1 158024.051722: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24894  HwBinder:612_3-11297 (  612) [007] ...1 158024.051788: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24895  HwBinder:612_3-11297 (  612) [007] ...1 158024.051813: tracing_mark_write: B|612|HWDevice::Commit::
24896  HwBinder:612_3-11297 (  612) [007] ...1 158024.051903: tracing_mark_write: E
24897  HwBinder:612_3-11297 (  612) [007] ...1 158024.051927: tracing_mark_write: E
24898  HwBinder:612_3-11297 (  612) [007] ...1 158024.051957: tracing_mark_write: E
24899  surfaceflinger-610   (  610) [000] ...1 158024.052026: tracing_mark_write: E
24900  HwBinder:755_1-1247  (  755) [000] ...1 158024.064873: tracing_mark_write: E
24901   SensorService-1249  ( 1136) [006] ...1 158024.064978: tracing_mark_write: E
24902   SensorService-1249  ( 1136) [006] ...1 158024.065042: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24903  HwBinder:755_1-1247  (  755) [000] ...1 158024.065157: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24904   Binder:1136_9-1633  ( 1136) [007] ...1 158024.067184: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24905   Binder:1136_9-1633  ( 1136) [007] ...1 158024.067220: tracing_mark_write: E
24906  power@1.1-serv-754   (  754) [005] ...1 158024.067258: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24907  power@1.1-serv-754   (  754) [005] ...1 158024.067598: tracing_mark_write: E
24908  MobileIQWorker-13581 (13531) [004] ...1 158024.074126: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24909   Binder:1136_9-1633  ( 1136) [007] ...1 158024.075802: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24910   Binder:1136_9-1633  ( 1136) [007] ...1 158024.075862: tracing_mark_write: E
24911  power@1.1-serv-754   (  754) [005] ...1 158024.075883: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24912  power@1.1-serv-754   (  754) [005] ...1 158024.076003: tracing_mark_write: E
24913  HwBinder:755_1-1247  (  755) [000] ...1 158024.084858: tracing_mark_write: E
24914   SensorService-1249  ( 1136) [006] ...1 158024.084965: tracing_mark_write: E
24915   SensorService-1249  ( 1136) [006] ...1 158024.085027: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24916  HwBinder:755_1-1247  (  755) [000] ...1 158024.085138: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24917  MobileIQWorker-13581 (13531) [004] ...1 158024.090043: tracing_mark_write: E
24918  MobileIQWorker-13581 (13531) [004] ...1 158024.093558: tracing_mark_write: E
24919  MobileIQWorker-13581 (13531) [004] ...1 158024.094607: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float
24920   Binder:1136_9-1633  ( 1136) [007] ...1 158024.095304: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24921   Binder:1136_9-1633  ( 1136) [007] ...1 158024.095339: tracing_mark_write: E
24922  power@1.1-serv-754   (  754) [005] ...1 158024.095366: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24923  power@1.1-serv-754   (  754) [005] ...1 158024.095431: tracing_mark_write: E
24924   Binder:1136_9-1633  ( 1136) [007] ...1 158024.099629: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24925   Binder:1136_9-1633  ( 1136) [007] ...1 158024.099665: tracing_mark_write: E
24926  power@1.1-serv-754   (  754) [005] ...1 158024.099689: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24927  power@1.1-serv-754   (  754) [005] ...1 158024.099765: tracing_mark_write: E
24928  surfaceflinger-610   (  610) [000] ...1 158024.102328: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24929  HwBinder:612_3-11297 (  612) [007] ...1 158024.102549: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24930  HwBinder:612_3-11297 (  612) [007] ...1 158024.102592: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24931  HwBinder:612_3-11297 (  612) [007] ...1 158024.102608: tracing_mark_write: B|612|HWDevice::Commit::
24932  HwBinder:612_3-11297 (  612) [007] ...1 158024.102667: tracing_mark_write: E
24933  HwBinder:612_3-11297 (  612) [007] ...1 158024.102682: tracing_mark_write: E
24934  HwBinder:612_3-11297 (  612) [007] ...1 158024.102700: tracing_mark_write: E
24935  surfaceflinger-610   (  610) [000] ...1 158024.102856: tracing_mark_write: E
24936  HwBinder:755_1-1247  (  755) [000] ...1 158024.104961: tracing_mark_write: E
24937   SensorService-1249  ( 1136) [006] ...1 158024.105079: tracing_mark_write: E
24938   SensorService-1249  ( 1136) [006] ...1 158024.105132: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24939  sensors@1.0-se-755   (  755) [000] ...1 158024.105266: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24940  sensors@1.0-se-755   (  755) [000] ...1 158024.124996: tracing_mark_write: E
24941   SensorService-1249  ( 1136) [006] ...1 158024.125104: tracing_mark_write: E
24942   SensorService-1249  ( 1136) [006] ...1 158024.125155: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24943  HwBinder:755_1-1247  (  755) [000] ...1 158024.125312: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24944  MobileIQWorker-13581 (13531) [004] ...1 158024.130951: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24945   Binder:1136_9-1633  ( 1136) [001] ...1 158024.135787: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24946   Binder:1136_9-1633  ( 1136) [001] ...1 158024.135946: tracing_mark_write: E
24947  power@1.1-serv-754   (  754) [007] ...1 158024.136006: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24948  power@1.1-serv-754   (  754) [007] ...1 158024.136287: tracing_mark_write: E
24949   Binder:1136_9-1633  ( 1136) [001] ...1 158024.139962: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24950   Binder:1136_9-1633  ( 1136) [001] ...1 158024.140089: tracing_mark_write: E
24951  power@1.1-serv-754   (  754) [007] ...1 158024.140105: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24952  power@1.1-serv-754   (  754) [007] ...1 158024.140185: tracing_mark_write: E
24953  HwBinder:755_1-1247  (  755) [000] ...1 158024.145116: tracing_mark_write: E
24954   SensorService-1249  ( 1136) [006] ...1 158024.145237: tracing_mark_write: E
24955   SensorService-1249  ( 1136) [006] ...1 158024.145307: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24956  HwBinder:755_1-1247  (  755) [000] ...1 158024.145458: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24957  MobileIQWorker-13581 (13531) [006] ...1 158024.146294: tracing_mark_write: E
24958  MobileIQWorker-13581 (13531) [004] ...1 158024.147654: tracing_mark_write: E
24959  MobileIQWorker-13581 (13531) [004] ...1 158024.148609: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float
24960   Binder:1136_9-1633  ( 1136) [001] ...1 158024.149490: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24961   Binder:1136_9-1633  ( 1136) [001] ...1 158024.149662: tracing_mark_write: E
24962  power@1.1-serv-754   (  754) [004] ...1 158024.149667: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24963  power@1.1-serv-754   (  754) [004] ...1 158024.149735: tracing_mark_write: E
24964  HwBinder:755_1-1247  (  755) [000] ...1 158024.165072: tracing_mark_write: E
24965   SensorService-1249  ( 1136) [006] ...1 158024.165186: tracing_mark_write: E
24966   SensorService-1249  ( 1136) [006] ...1 158024.165247: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24967  HwBinder:755_1-1247  (  755) [000] ...1 158024.165465: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24968   Binder:1136_9-1633  ( 1136) [002] ...1 158024.168919: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24969   Binder:1136_9-1633  ( 1136) [002] ...1 158024.169062: tracing_mark_write: E
24970  power@1.1-serv-754   (  754) [006] ...1 158024.169069: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24971  power@1.1-serv-754   (  754) [006] ...1 158024.169158: tracing_mark_write: E
24972  HwBinder:755_1-1247  (  755) [000] ...1 158024.185014: tracing_mark_write: E
24973   SensorService-1249  ( 1136) [006] ...1 158024.185133: tracing_mark_write: E
24974   SensorService-1249  ( 1136) [006] ...1 158024.185198: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
24975  HwBinder:755_1-1247  (  755) [000] ...1 158024.185354: tracing_mark_write: B|755|HIDL::ISensors::poll::server
24976  surfaceflinger-610   (  610) [001] ...1 158024.186052: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
24977  HwBinder:612_3-11297 (  612) [007] ...1 158024.186275: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
24978  HwBinder:612_3-11297 (  612) [007] ...1 158024.186324: tracing_mark_write: B|612|HWCSession::PresentDisplay::
24979  HwBinder:612_3-11297 (  612) [007] ...1 158024.186340: tracing_mark_write: B|612|HWDevice::Commit::
24980  HwBinder:612_3-11297 (  612) [007] ...1 158024.186465: tracing_mark_write: E
24981  HwBinder:612_3-11297 (  612) [007] ...1 158024.186482: tracing_mark_write: E
24982  HwBinder:612_3-11297 (  612) [007] ...1 158024.186504: tracing_mark_write: E
24983  surfaceflinger-610   (  610) [001] ...1 158024.186668: tracing_mark_write: E
24984  MobileIQWorker-13581 (13531) [005] ...1 158024.187854: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
24985   Binder:1136_9-1633  ( 1136) [003] ...1 158024.189781: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24986   Binder:1136_9-1633  ( 1136) [003] ...1 158024.189929: tracing_mark_write: E
24987  power@1.1-serv-754   (  754) [007] ...1 158024.189965: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24988  power@1.1-serv-754   (  754) [007] ...1 158024.190065: tracing_mark_write: E
24989  MobileIQWorker-13581 (13531) [005] ...1 158024.202739: tracing_mark_write: E
24990  MobileIQWorker-13581 (13531) [006] ...1 158024.204014: tracing_mark_write: E
24991  MobileIQWorker-13581 (13531) [006] ...1 158024.205204: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float
24992   Binder:1136_9-1633  ( 1136) [003] ...1 158024.205526: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24993   Binder:1136_9-1633  ( 1136) [003] ...1 158024.206090: tracing_mark_write: E
24994  power@1.1-serv-754   (  754) [007] ...1 158024.206097: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24995  power@1.1-serv-754   (  754) [007] ...1 158024.206188: tracing_mark_write: E
24996   Binder:1136_9-1633  ( 1136) [000] ...1 158024.209168: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
24997  power@1.1-serv-754   (  754) [007] ...1 158024.209325: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
24998   Binder:1136_9-1633  ( 1136) [000] ...1 158024.209335: tracing_mark_write: E
24999  power@1.1-serv-754   (  754) [007] ...1 158024.209368: tracing_mark_write: E
25000  HwBinder:755_1-1247  (  755) [001] ...1 158024.211041: tracing_mark_write: E
25001   SensorService-1249  ( 1136) [006] ...1 158024.211181: tracing_mark_write: E
25002   SensorService-1249  ( 1136) [006] ...1 158024.211262: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25003  HwBinder:755_1-1247  (  755) [001] ...1 158024.211406: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25004   Binder:1136_9-1633  ( 1136) [002] ...1 158024.217338: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25005   Binder:1136_9-1633  ( 1136) [002] ...1 158024.217508: tracing_mark_write: E
25006  power@1.1-serv-754   (  754) [007] ...1 158024.217508: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25007  power@1.1-serv-754   (  754) [007] ...1 158024.217601: tracing_mark_write: E
25008  HwBinder:755_1-1247  (  755) [000] ...1 158024.225031: tracing_mark_write: E
25009   SensorService-1249  ( 1136) [006] ...1 158024.225147: tracing_mark_write: E
25010   SensorService-1249  ( 1136) [006] ...1 158024.225208: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25011  HwBinder:755_1-1247  (  755) [000] ...1 158024.225385: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25012  surfaceflinger-610   (  610) [000] ...1 158024.236264: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25013  HwBinder:612_3-11297 (  612) [007] ...1 158024.236518: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25014  HwBinder:612_3-11297 (  612) [007] ...1 158024.236565: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25015  HwBinder:612_3-11297 (  612) [007] ...1 158024.236580: tracing_mark_write: B|612|HWDevice::Commit::
25016  HwBinder:612_3-11297 (  612) [007] ...1 158024.236641: tracing_mark_write: E
25017  HwBinder:612_3-11297 (  612) [007] ...1 158024.236656: tracing_mark_write: E
25018  HwBinder:612_3-11297 (  612) [007] ...1 158024.236677: tracing_mark_write: E
25019  surfaceflinger-610   (  610) [000] ...1 158024.236841: tracing_mark_write: E
25020  HwBinder:755_1-1247  (  755) [000] ...1 158024.245265: tracing_mark_write: E
25021   SensorService-1249  ( 1136) [006] ...1 158024.245415: tracing_mark_write: E
25022   SensorService-1249  ( 1136) [006] ...1 158024.245482: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25023  HwBinder:755_1-1247  (  755) [000] ...1 158024.245634: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25024   Binder:1136_9-1633  ( 1136) [003] ...1 158024.245930: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25025   Binder:1136_9-1633  ( 1136) [003] ...1 158024.246052: tracing_mark_write: E
25026  power@1.1-serv-754   (  754) [007] ...1 158024.246063: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25027  power@1.1-serv-754   (  754) [007] ...1 158024.246152: tracing_mark_write: E
25028  MobileIQWorker-13581 (13531) [006] ...1 158024.247618: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
25029   Binder:1136_9-1633  ( 1136) [003] ...1 158024.257584: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25030   Binder:1136_9-1633  ( 1136) [003] ...1 158024.257702: tracing_mark_write: E
25031  power@1.1-serv-754   (  754) [007] ...1 158024.257726: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25032  power@1.1-serv-754   (  754) [007] ...1 158024.257809: tracing_mark_write: E
25033  MobileIQWorker-13581 (13531) [005] ...1 158024.260696: tracing_mark_write: E
25034  MobileIQWorker-13581 (13531) [006] ...1 158024.261938: tracing_mark_write: E
25035  MobileIQWorker-13581 (13531) [006] ...1 158024.262854: tracing_mark_write: B|13531|[NN_LA_PO]hdrnet_float
25036   Binder:1136_9-1633  ( 1136) [002] ...1 158024.263575: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25037  power@1.1-serv-754   (  754) [007] ...1 158024.263747: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25038  power@1.1-serv-754   (  754) [007] ...1 158024.263811: tracing_mark_write: E
25039   Binder:1136_9-1633  ( 1136) [002] ...1 158024.263873: tracing_mark_write: E
25040  HwBinder:755_1-1247  (  755) [000] ...1 158024.265655: tracing_mark_write: E
25041   SensorService-1249  ( 1136) [006] ...1 158024.265762: tracing_mark_write: E
25042   SensorService-1249  ( 1136) [006] ...1 158024.265818: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25043  HwBinder:755_1-1247  (  755) [000] ...1 158024.265961: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25044   Binder:1136_9-1633  ( 1136) [002] ...1 158024.267141: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25045   Binder:1136_9-1633  ( 1136) [002] ...1 158024.267305: tracing_mark_write: E
25046  power@1.1-serv-754   (  754) [007] ...1 158024.267324: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25047  power@1.1-serv-754   (  754) [007] ...1 158024.267398: tracing_mark_write: E
25048  surfaceflinger-610   (  610) [000] ...1 158024.269853: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25049  HwBinder:612_3-11297 (  612) [007] ...1 158024.270075: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25050  HwBinder:612_3-11297 (  612) [007] ...1 158024.270119: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25051  HwBinder:612_3-11297 (  612) [007] ...1 158024.270135: tracing_mark_write: B|612|HWDevice::Commit::
25052  HwBinder:612_3-11297 (  612) [007] ...1 158024.270193: tracing_mark_write: E
25053  HwBinder:612_3-11297 (  612) [007] ...1 158024.270209: tracing_mark_write: E
25054  HwBinder:612_3-11297 (  612) [007] ...1 158024.270228: tracing_mark_write: E
25055  surfaceflinger-610   (  610) [000] ...1 158024.270388: tracing_mark_write: E
25056  HwBinder:755_1-1247  (  755) [000] ...1 158024.285251: tracing_mark_write: E
25057   SensorService-1249  ( 1136) [006] ...1 158024.285376: tracing_mark_write: E
25058   SensorService-1249  ( 1136) [006] ...1 158024.285437: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25059  sensors@1.0-se-755   (  755) [000] ...1 158024.285592: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25060  MobileIQWorker-13581 (13531) [004] ...1 158024.302028: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
25061   Binder:1136_9-1633  ( 1136) [002] ...1 158024.304751: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25062   Binder:1136_9-1633  ( 1136) [002] ...1 158024.304907: tracing_mark_write: E
25063  power@1.1-serv-754   (  754) [007] ...1 158024.304924: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25064  power@1.1-serv-754   (  754) [007] ...1 158024.305029: tracing_mark_write: E
25065  sensors@1.0-se-755   (  755) [000] ...1 158024.305212: tracing_mark_write: E
25066   SensorService-1249  ( 1136) [006] ...1 158024.305330: tracing_mark_write: E
25067   SensorService-1249  ( 1136) [006] ...1 158024.305397: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25068  sensors@1.0-se-755   (  755) [000] ...1 158024.305557: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25069   Binder:1136_9-1633  ( 1136) [002] ...1 158024.307390: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25070   Binder:1136_9-1633  ( 1136) [002] ...1 158024.307519: tracing_mark_write: E
25071  power@1.1-serv-754   (  754) [007] ...1 158024.307577: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25072  power@1.1-serv-754   (  754) [007] ...1 158024.307670: tracing_mark_write: E
25073  MobileIQWorker-13581 (13531) [004] ...1 158024.316327: tracing_mark_write: E
25074  MobileIQWorker-13581 (13531) [006] ...1 158024.317651: tracing_mark_write: E
25075   Binder:1136_9-1633  ( 1136) [003] ...1 158024.319045: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25076   Binder:1136_9-1633  ( 1136) [003] ...1 158024.319180: tracing_mark_write: E
25077  power@1.1-serv-754   (  754) [007] ...1 158024.319184: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25078  power@1.1-serv-754   (  754) [007] ...1 158024.319261: tracing_mark_write: E
25079  sensors@1.0-se-755   (  755) [000] ...1 158024.325208: tracing_mark_write: E
25080   SensorService-1249  ( 1136) [006] ...1 158024.325326: tracing_mark_write: E
25081   SensorService-1249  ( 1136) [006] ...1 158024.325388: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25082  sensors@1.0-se-755   (  755) [000] ...1 158024.325549: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25083  MobileIQWorker-13581 (13531) [004] ...1 158024.327163: tracing_mark_write: B|13531|[NN_LA_PO]resnet_quantized
25084   Binder:1136_9-1633  ( 1136) [002] ...1 158024.333952: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25085   Binder:1136_9-1633  ( 1136) [002] ...1 158024.334088: tracing_mark_write: E
25086  power@1.1-serv-754   (  754) [005] ...1 158024.334096: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25087  power@1.1-serv-754   (  754) [005] ...1 158024.334175: tracing_mark_write: E
25088  surfaceflinger-610   (  610) [000] ...1 158024.336616: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25089  HwBinder:612_3-11297 (  612) [007] ...1 158024.336834: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25090  HwBinder:612_3-11297 (  612) [007] ...1 158024.336877: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25091  HwBinder:612_3-11297 (  612) [007] ...1 158024.336892: tracing_mark_write: B|612|HWDevice::Commit::
25092  HwBinder:612_3-11297 (  612) [007] ...1 158024.336999: tracing_mark_write: E
25093  HwBinder:612_3-11297 (  612) [007] ...1 158024.337016: tracing_mark_write: E
25094  HwBinder:612_3-11297 (  612) [007] ...1 158024.337035: tracing_mark_write: E
25095  surfaceflinger-610   (  610) [000] ...1 158024.337193: tracing_mark_write: E
25096  sensors@1.0-se-755   (  755) [000] ...1 158024.345166: tracing_mark_write: E
25097   SensorService-1249  ( 1136) [006] ...1 158024.345286: tracing_mark_write: E
25098   SensorService-1249  ( 1136) [006] ...1 158024.345344: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25099  HwBinder:755_1-1247  (  755) [000] ...1 158024.345481: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25100   Binder:1136_9-1633  ( 1136) [002] ...1 158024.359307: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25101   Binder:1136_9-1633  ( 1136) [002] ...1 158024.359453: tracing_mark_write: E
25102  power@1.1-serv-754   (  754) [004] ...1 158024.359458: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25103  power@1.1-serv-754   (  754) [004] ...1 158024.359546: tracing_mark_write: E
25104  HwBinder:755_1-1247  (  755) [000] ...1 158024.365165: tracing_mark_write: E
25105   SensorService-1249  ( 1136) [006] ...1 158024.365269: tracing_mark_write: E
25106   SensorService-1249  ( 1136) [006] ...1 158024.365317: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25107  sensors@1.0-se-755   (  755) [000] ...1 158024.365452: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25108   Binder:1136_9-1633  ( 1136) [002] ...1 158024.374180: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25109  power@1.1-serv-754   (  754) [007] ...1 158024.374396: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25110   Binder:1136_9-1633  ( 1136) [002] ...1 158024.374400: tracing_mark_write: E
25111  power@1.1-serv-754   (  754) [007] ...1 158024.374482: tracing_mark_write: E
25112  sensors@1.0-se-755   (  755) [000] ...1 158024.385202: tracing_mark_write: E
25113   SensorService-1249  ( 1136) [006] ...1 158024.385315: tracing_mark_write: E
25114   SensorService-1249  ( 1136) [006] ...1 158024.385379: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25115  sensors@1.0-se-755   (  755) [000] ...1 158024.385544: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25116  sensors@1.0-se-755   (  755) [000] ...1 158024.405195: tracing_mark_write: E
25117   SensorService-1249  ( 1136) [006] ...1 158024.405300: tracing_mark_write: E
25118   SensorService-1249  ( 1136) [006] ...1 158024.405363: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25119  sensors@1.0-se-755   (  755) [000] ...1 158024.405522: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25120  sensors@1.0-se-755   (  755) [000] ...1 158024.426429: tracing_mark_write: E
25121   SensorService-1249  ( 1136) [006] ...1 158024.426788: tracing_mark_write: E
25122   SensorService-1249  ( 1136) [006] ...1 158024.426888: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25123  sensors@1.0-se-755   (  755) [000] ...1 158024.427055: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25124  sensors@1.0-se-755   (  755) [000] ...1 158024.447030: tracing_mark_write: E
25125   SensorService-1249  ( 1136) [006] ...1 158024.447398: tracing_mark_write: E
25126   SensorService-1249  ( 1136) [006] ...1 158024.447490: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25127  sensors@1.0-se-755   (  755) [000] ...1 158024.448076: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25128  sensors@1.0-se-755   (  755) [000] ...1 158024.467767: tracing_mark_write: E
25129   SensorService-1249  ( 1136) [006] ...1 158024.468130: tracing_mark_write: E
25130   SensorService-1249  ( 1136) [006] ...1 158024.468225: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25131  sensors@1.0-se-755   (  755) [000] ...1 158024.469165: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25132  sensors@1.0-se-755   (  755) [000] ...1 158024.486715: tracing_mark_write: E
25133   SensorService-1249  ( 1136) [006] ...1 158024.487072: tracing_mark_write: E
25134   SensorService-1249  ( 1136) [006] ...1 158024.487166: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25135  sensors@1.0-se-755   (  755) [000] ...1 158024.487704: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25136  sensors@1.0-se-755   (  755) [000] ...1 158024.507063: tracing_mark_write: E
25137   SensorService-1249  ( 1136) [006] ...1 158024.507451: tracing_mark_write: E
25138   SensorService-1249  ( 1136) [006] ...1 158024.507560: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25139  sensors@1.0-se-755   (  755) [000] ...1 158024.507998: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25140  sensors@1.0-se-755   (  755) [000] ...1 158024.526578: tracing_mark_write: E
25141   SensorService-1249  ( 1136) [006] ...1 158024.526904: tracing_mark_write: E
25142   SensorService-1249  ( 1136) [006] ...1 158024.526981: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25143  sensors@1.0-se-755   (  755) [000] ...1 158024.527349: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25144  sensors@1.0-se-755   (  755) [000] ...1 158024.547120: tracing_mark_write: E
25145   SensorService-1249  ( 1136) [006] ...1 158024.547464: tracing_mark_write: E
25146   SensorService-1249  ( 1136) [006] ...1 158024.547566: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25147  sensors@1.0-se-755   (  755) [000] ...1 158024.548111: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25148  sensors@1.0-se-755   (  755) [000] ...1 158024.566854: tracing_mark_write: E
25149   SensorService-1249  ( 1136) [006] ...1 158024.567169: tracing_mark_write: E
25150   SensorService-1249  ( 1136) [006] ...1 158024.567259: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25151  sensors@1.0-se-755   (  755) [000] ...1 158024.567692: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25152  sensors@1.0-se-755   (  755) [000] ...1 158024.586388: tracing_mark_write: E
25153   SensorService-1249  ( 1136) [006] ...1 158024.586692: tracing_mark_write: E
25154   SensorService-1249  ( 1136) [006] ...1 158024.586783: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25155  sensors@1.0-se-755   (  755) [000] ...1 158024.587205: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25156  sensors@1.0-se-755   (  755) [000] ...1 158024.608702: tracing_mark_write: E
25157   SensorService-1249  ( 1136) [006] ...1 158024.609080: tracing_mark_write: E
25158   SensorService-1249  ( 1136) [006] ...1 158024.609177: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25159  sensors@1.0-se-755   (  755) [000] ...1 158024.609657: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25160  sensors@1.0-se-755   (  755) [000] ...1 158024.626741: tracing_mark_write: E
25161   SensorService-1249  ( 1136) [006] ...1 158024.627068: tracing_mark_write: E
25162   SensorService-1249  ( 1136) [006] ...1 158024.627157: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25163  sensors@1.0-se-755   (  755) [000] ...1 158024.627334: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25164  sensors@1.0-se-755   (  755) [000] ...1 158024.647061: tracing_mark_write: E
25165   SensorService-1249  ( 1136) [006] ...1 158024.647422: tracing_mark_write: E
25166   SensorService-1249  ( 1136) [006] ...1 158024.647516: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25167  sensors@1.0-se-755   (  755) [000] ...1 158024.647974: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25168  sensors@1.0-se-755   (  755) [000] ...1 158024.666820: tracing_mark_write: E
25169   SensorService-1249  ( 1136) [006] ...1 158024.666984: tracing_mark_write: E
25170   SensorService-1249  ( 1136) [006] ...1 158024.667073: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25171  sensors@1.0-se-755   (  755) [000] ...1 158024.667600: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25172  sensors@1.0-se-755   (  755) [000] ...1 158024.686655: tracing_mark_write: E
25173   SensorService-1249  ( 1136) [006] ...1 158024.686957: tracing_mark_write: E
25174   SensorService-1249  ( 1136) [006] ...1 158024.687047: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25175  sensors@1.0-se-755   (  755) [000] ...1 158024.687359: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25176  sensors@1.0-se-755   (  755) [000] ...1 158024.707925: tracing_mark_write: E
25177   SensorService-1249  ( 1136) [006] ...1 158024.708235: tracing_mark_write: E
25178   SensorService-1249  ( 1136) [006] ...1 158024.708328: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25179  sensors@1.0-se-755   (  755) [000] ...1 158024.708964: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25180  sensors@1.0-se-755   (  755) [000] ...1 158024.728367: tracing_mark_write: E
25181   SensorService-1249  ( 1136) [006] ...1 158024.728566: tracing_mark_write: E
25182   SensorService-1249  ( 1136) [006] ...1 158024.728659: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25183  sensors@1.0-se-755   (  755) [000] ...1 158024.728882: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25184  sensors@1.0-se-755   (  755) [000] ...1 158024.749041: tracing_mark_write: E
25185   SensorService-1249  ( 1136) [006] ...1 158024.749592: tracing_mark_write: E
25186   SensorService-1249  ( 1136) [006] ...1 158024.749684: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25187  sensors@1.0-se-755   (  755) [000] ...1 158024.750058: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25188  sensors@1.0-se-755   (  755) [000] ...1 158024.767007: tracing_mark_write: E
25189   SensorService-1249  ( 1136) [006] ...1 158024.767192: tracing_mark_write: E
25190   SensorService-1249  ( 1136) [006] ...1 158024.767281: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25191  sensors@1.0-se-755   (  755) [000] ...1 158024.767482: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25192  MobileIQWorker-13581 (13531) [004] ...1 158024.780259: tracing_mark_write: B|13531|[NN_LA_PE]BenchmarkModel::benchmark
25193  sensors@1.0-se-755   (  755) [000] ...1 158024.786597: tracing_mark_write: E
25194   SensorService-1249  ( 1136) [006] ...1 158024.786944: tracing_mark_write: E
25195   SensorService-1249  ( 1136) [006] ...1 158024.787011: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25196  sensors@1.0-se-755   (  755) [000] ...1 158024.787122: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25197  sensors@1.0-se-755   (  755) [000] ...1 158024.806580: tracing_mark_write: E
25198   SensorService-1249  ( 1136) [006] ...1 158024.806797: tracing_mark_write: E
25199   SensorService-1249  ( 1136) [006] ...1 158024.806965: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25200  sensors@1.0-se-755   (  755) [000] ...1 158024.807661: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25201  sensors@1.0-se-755   (  755) [000] ...1 158024.826132: tracing_mark_write: E
25202   SensorService-1249  ( 1136) [006] ...1 158024.826259: tracing_mark_write: E
25203   SensorService-1249  ( 1136) [006] ...1 158024.826379: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25204  sensors@1.0-se-755   (  755) [000] ...1 158024.826700: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25205  sensors@1.0-se-755   (  755) [000] ...1 158024.846349: tracing_mark_write: E
25206   SensorService-1249  ( 1136) [006] ...1 158024.846519: tracing_mark_write: E
25207   SensorService-1249  ( 1136) [006] ...1 158024.846627: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25208  HwBinder:755_1-1247  (  755) [000] ...1 158024.846818: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25209    Binder:610_4-1720  (  610) [007] ...1 158024.852174: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
25210  HwBinder:612_3-11297 (  612) [007] ...1 158024.852447: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
25211  HwBinder:612_3-11297 (  612) [007] ...1 158024.852469: tracing_mark_write: E
25212    Binder:610_4-1720  (  610) [007] ...1 158024.852503: tracing_mark_write: E
25213    EventControl-682   (  610) [002] ...1 158024.852984: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
25214  HwBinder:612_3-11297 (  612) [002] ...1 158024.853318: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
25215  HwBinder:612_3-11297 (  612) [002] ...1 158024.853353: tracing_mark_write: C|612|SetVsyncState |1
25216  HwBinder:612_3-11297 (  612) [002] ...1 158024.853397: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
25217  Binder:1136_10-4278  ( 1136) [001] ...1 158024.853730: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25218  Binder:1136_10-4278  ( 1136) [001] ...1 158024.853985: tracing_mark_write: E
25219  power@1.1-serv-754   (  754) [002] ...1 158024.854112: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25220  power@1.1-serv-754   (  754) [002] ...1 158024.854621: tracing_mark_write: E
25221  HwBinder:612_3-11297 (  612) [000] ...1 158024.857929: tracing_mark_write: E
25222  HwBinder:612_3-11297 (  612) [000] ...1 158024.857988: tracing_mark_write: E
25223    EventControl-682   (  610) [000] ...1 158024.858183: tracing_mark_write: E
25224  SDM_EventThrea-643   (  612) [002] ...1 158024.865807: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25225  SDM_EventThrea-643   (  612) [002] ...1 158024.865829: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25226  HwBinder:755_1-1247  (  755) [000] ...1 158024.865847: tracing_mark_write: E
25227  SDM_EventThrea-643   (  612) [002] ...1 158024.865918: tracing_mark_write: E
25228  SDM_EventThrea-643   (  612) [002] ...1 158024.865931: tracing_mark_write: E
25229   SensorService-1249  ( 1136) [006] ...1 158024.866495: tracing_mark_write: E
25230  HwBinder:610_1-626   (  610) [004] ...1 158024.866526: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25231  HwBinder:610_1-626   (  610) [004] ...1 158024.866549: tracing_mark_write: E
25232   SensorService-1249  ( 1136) [006] ...1 158024.866609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25233  HwBinder:755_1-1247  (  755) [003] ...1 158024.866960: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25234  surfaceflinger-610   (  610) [000] ...1 158024.872120: tracing_mark_write: B|610|HIDL::IComposerClient::destroyLayer::client
25235  HwBinder:612_3-11297 (  612) [007] ...1 158024.872531: tracing_mark_write: B|612|HIDL::IComposerClient::destroyLayer::server
25236  HwBinder:612_3-11297 (  612) [007] ...1 158024.872584: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough
25237  HwBinder:612_3-11297 (  612) [007] ...1 158024.872607: tracing_mark_write: B|612|FreeBuffer
25238  HwBinder:612_3-11297 (  612) [007] ...1 158024.872627: tracing_mark_write: E
25239  HwBinder:612_3-11297 (  612) [007] ...1 158024.872634: tracing_mark_write: B|612|FreeBuffer
25240  HwBinder:612_3-11297 (  612) [007] ...1 158024.872639: tracing_mark_write: B|612|UnmapBuffer
25241  HwBinder:612_3-11297 (  612) [007] ...1 158024.872666: tracing_mark_write: E
25242  HwBinder:612_3-11297 (  612) [007] ...1 158024.872676: tracing_mark_write: E
25243  HwBinder:612_3-11297 (  612) [007] ...1 158024.872684: tracing_mark_write: E
25244  HwBinder:612_3-11297 (  612) [007] ...1 158024.872692: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough
25245  HwBinder:612_3-11297 (  612) [007] ...1 158024.872701: tracing_mark_write: B|612|FreeBuffer
25246  HwBinder:612_3-11297 (  612) [007] ...1 158024.872711: tracing_mark_write: E
25247  HwBinder:612_3-11297 (  612) [007] ...1 158024.872717: tracing_mark_write: B|612|FreeBuffer
25248  HwBinder:612_3-11297 (  612) [007] ...1 158024.872722: tracing_mark_write: B|612|UnmapBuffer
25249  HwBinder:612_3-11297 (  612) [007] ...1 158024.872756: tracing_mark_write: E
25250  HwBinder:612_3-11297 (  612) [007] ...1 158024.872764: tracing_mark_write: E
25251  HwBinder:612_3-11297 (  612) [007] ...1 158024.872769: tracing_mark_write: E
25252  HwBinder:612_3-11297 (  612) [007] ...1 158024.872774: tracing_mark_write: B|612|HIDL::IMapper::freeBuffer::passthrough
25253  HwBinder:612_3-11297 (  612) [007] ...1 158024.872782: tracing_mark_write: B|612|FreeBuffer
25254  HwBinder:612_3-11297 (  612) [007] ...1 158024.872790: tracing_mark_write: E
25255  HwBinder:612_3-11297 (  612) [007] ...1 158024.872795: tracing_mark_write: B|612|FreeBuffer
25256  HwBinder:612_3-11297 (  612) [007] ...1 158024.872799: tracing_mark_write: B|612|UnmapBuffer
25257  HwBinder:612_3-11297 (  612) [007] ...1 158024.872811: tracing_mark_write: E
25258  HwBinder:612_3-11297 (  612) [007] ...1 158024.872821: tracing_mark_write: E
25259  HwBinder:612_3-11297 (  612) [007] ...1 158024.872825: tracing_mark_write: E
25260  HwBinder:612_3-11297 (  612) [007] ...1 158024.872840: tracing_mark_write: E
25261  surfaceflinger-610   (  610) [000] ...1 158024.873104: tracing_mark_write: E
25262  surfaceflinger-610   (  610) [000] ...1 158024.873137: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
25263  surfaceflinger-610   (  610) [000] ...1 158024.873164: tracing_mark_write: B|610|FreeBuffer
25264  surfaceflinger-610   (  610) [000] ...1 158024.873640: tracing_mark_write: E
25265  surfaceflinger-610   (  610) [000] ...1 158024.873649: tracing_mark_write: B|610|FreeBuffer
25266  surfaceflinger-610   (  610) [000] ...1 158024.873669: tracing_mark_write: E
25267  surfaceflinger-610   (  610) [000] ...1 158024.873677: tracing_mark_write: E
25268  surfaceflinger-610   (  610) [000] ...1 158024.873702: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
25269  surfaceflinger-610   (  610) [000] ...1 158024.873716: tracing_mark_write: B|610|FreeBuffer
25270  surfaceflinger-610   (  610) [000] ...1 158024.873728: tracing_mark_write: E
25271  surfaceflinger-610   (  610) [000] ...1 158024.873733: tracing_mark_write: B|610|FreeBuffer
25272  surfaceflinger-610   (  610) [000] ...1 158024.873748: tracing_mark_write: E
25273  surfaceflinger-610   (  610) [000] ...1 158024.873755: tracing_mark_write: E
25274  surfaceflinger-610   (  610) [000] ...1 158024.874045: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
25275  surfaceflinger-610   (  610) [000] ...1 158024.874057: tracing_mark_write: B|610|FreeBuffer
25276  surfaceflinger-610   (  610) [000] ...1 158024.874069: tracing_mark_write: E
25277  surfaceflinger-610   (  610) [000] ...1 158024.874074: tracing_mark_write: B|610|FreeBuffer
25278  surfaceflinger-610   (  610) [000] ...1 158024.874091: tracing_mark_write: E
25279  surfaceflinger-610   (  610) [000] ...1 158024.874096: tracing_mark_write: E
25280  surfaceflinger-610   (  610) [000] ...1 158024.874528: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25281  HwBinder:612_3-11297 (  612) [004] ...1 158024.874935: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25282   Binder:1136_9-1633  ( 1136) [002] ...1 158024.874986: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
25283  HwBinder:612_3-11297 (  612) [004] ...1 158024.875042: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25284  HwBinder:612_3-11297 (  612) [004] ...1 158024.875058: tracing_mark_write: E
25285  HwBinder:612_3-11297 (  612) [004] ...1 158024.875067: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25286   Binder:1136_9-1633  ( 1136) [002] ...1 158024.875077: tracing_mark_write: E
25287  power@1.1-serv-754   (  754) [002] ...1 158024.875212: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
25288  power@1.1-serv-754   (  754) [002] ...1 158024.875446: tracing_mark_write: E
25289  HwBinder:612_3-11297 (  612) [004] ...1 158024.875527: tracing_mark_write: B|612|HWDevice::Validate::
25290  HwBinder:612_3-11297 (  612) [004] ...1 158024.875658: tracing_mark_write: E
25291  HwBinder:612_3-11297 (  612) [004] ...1 158024.875684: tracing_mark_write: E
25292  HwBinder:612_3-11297 (  612) [004] ...1 158024.875717: tracing_mark_write: E
25293  surfaceflinger-610   (  610) [000] ...1 158024.875829: tracing_mark_write: E
25294  surfaceflinger-610   (  610) [000] ...1 158024.875971: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25295  HwBinder:612_3-11297 (  612) [004] ...1 158024.876074: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25296  HwBinder:612_3-11297 (  612) [004] ...1 158024.876091: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25297  HwBinder:612_3-11297 (  612) [004] ...1 158024.876112: tracing_mark_write: B|612|HWDevice::Commit::
25298  HwBinder:612_3-11297 (  612) [004] ...1 158024.876210: tracing_mark_write: E
25299  HwBinder:612_3-11297 (  612) [004] ...1 158024.876233: tracing_mark_write: E
25300  HwBinder:612_3-11297 (  612) [004] ...1 158024.876260: tracing_mark_write: E
25301  surfaceflinger-610   (  610) [000] ...1 158024.876558: tracing_mark_write: E
25302  SDM_EventThrea-643   (  612) [002] ...1 158024.881966: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25303  SDM_EventThrea-643   (  612) [002] ...1 158024.881984: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25304  SDM_EventThrea-643   (  612) [002] ...1 158024.882074: tracing_mark_write: E
25305  SDM_EventThrea-643   (  612) [002] ...1 158024.882089: tracing_mark_write: E
25306  HwBinder:610_1-626   (  610) [000] ...1 158024.882118: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25307  HwBinder:610_1-626   (  610) [000] ...1 158024.882138: tracing_mark_write: E
25308  HwBinder:755_1-1247  (  755) [000] ...1 158024.886330: tracing_mark_write: E
25309   SensorService-1249  ( 1136) [006] ...1 158024.886455: tracing_mark_write: E
25310   SensorService-1249  ( 1136) [006] ...1 158024.886579: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25311  HwBinder:755_1-1247  (  755) [000] ...1 158024.886686: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25312  surfaceflinger-610   (  610) [000] ...1 158024.888548: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25313  HwBinder:612_3-11297 (  612) [004] ...1 158024.888915: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25314  HwBinder:612_3-11297 (  612) [004] ...1 158024.889007: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25315  HwBinder:612_3-11297 (  612) [004] ...1 158024.889037: tracing_mark_write: B|612|HWDevice::Commit::
25316  HwBinder:612_3-11297 (  612) [004] ...1 158024.889159: tracing_mark_write: E
25317  HwBinder:612_3-11297 (  612) [004] ...1 158024.889205: tracing_mark_write: E
25318  HwBinder:612_3-11297 (  612) [004] ...1 158024.889241: tracing_mark_write: E
25319  surfaceflinger-610   (  610) [000] ...1 158024.889338: tracing_mark_write: E
25320  SDM_EventThrea-643   (  612) [001] ...1 158024.898906: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25321  SDM_EventThrea-643   (  612) [001] ...1 158024.898919: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25322  SDM_EventThrea-643   (  612) [001] ...1 158024.898978: tracing_mark_write: E
25323  SDM_EventThrea-643   (  612) [001] ...1 158024.898987: tracing_mark_write: E
25324  HwBinder:610_1-626   (  610) [004] ...1 158024.899049: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25325  HwBinder:610_1-626   (  610) [004] ...1 158024.899068: tracing_mark_write: E
25326  surfaceflinger-610   (  610) [000] ...1 158024.902685: tracing_mark_write: B|610|HIDL::IComposerClient::getActiveConfig::client
25327  HwBinder:612_3-11297 (  612) [004] ...1 158024.902992: tracing_mark_write: B|612|HIDL::IComposerClient::getActiveConfig::server
25328  HwBinder:612_3-11297 (  612) [004] ...1 158024.903009: tracing_mark_write: E
25329  surfaceflinger-610   (  610) [000] ...1 158024.903055: tracing_mark_write: E
25330  surfaceflinger-610   (  610) [000] ...1 158024.905156: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25331  HwBinder:612_3-11297 (  612) [004] ...1 158024.905263: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25332  HwBinder:612_3-11297 (  612) [004] ...1 158024.905400: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25333  HwBinder:612_3-11297 (  612) [004] ...1 158024.905425: tracing_mark_write: B|612|HWDevice::Commit::
25334  HwBinder:612_3-11297 (  612) [004] ...1 158024.905508: tracing_mark_write: E
25335  HwBinder:612_3-11297 (  612) [004] ...1 158024.905533: tracing_mark_write: E
25336  HwBinder:612_3-11297 (  612) [004] ...1 158024.905561: tracing_mark_write: E
25337  surfaceflinger-610   (  610) [000] ...1 158024.905682: tracing_mark_write: E
25338  HwBinder:755_1-1247  (  755) [000] ...1 158024.906117: tracing_mark_write: E
25339   SensorService-1249  ( 1136) [006] ...1 158024.906196: tracing_mark_write: E
25340   SensorService-1249  ( 1136) [006] ...1 158024.906291: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25341  HwBinder:755_1-1247  (  755) [000] ...1 158024.906362: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25342    Binder:610_5-2158  (  610) [007] ...1 158024.907623: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
25343    Binder:610_5-2158  (  610) [007] ...1 158024.907633: tracing_mark_write: E
25344    Binder:610_5-2158  (  610) [007] ...1 158024.907654: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
25345  HwBinder:614_1-982   (  614) [007] ...1 158024.907765: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
25346  HwBinder:614_1-982   (  614) [007] ...1 158024.907794: tracing_mark_write: B|614|AllocBuffer
25347  HwBinder:614_1-982   (  614) [007] ...1 158024.907806: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264
25348  HwBinder:614_1-982   (  614) [007] ...1 158024.907976: tracing_mark_write: E
25349  HwBinder:614_1-982   (  614) [007] ...1 158024.907981: tracing_mark_write: B|614|ION_IOC_MAP
25350  HwBinder:614_1-982   (  614) [007] ...1 158024.908019: tracing_mark_write: E
25351  HwBinder:614_1-982   (  614) [007] ...1 158024.908023: tracing_mark_write: E
25352  HwBinder:614_1-982   (  614) [007] ...1 158024.908027: tracing_mark_write: B|614|AllocBuffer
25353  HwBinder:614_1-982   (  614) [007] ...1 158024.908032: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
25354  HwBinder:614_1-982   (  614) [007] ...1 158024.908042: tracing_mark_write: E
25355  HwBinder:614_1-982   (  614) [007] ...1 158024.908046: tracing_mark_write: B|614|ION_IOC_MAP
25356  HwBinder:614_1-982   (  614) [007] ...1 158024.908055: tracing_mark_write: E
25357  HwBinder:614_1-982   (  614) [007] ...1 158024.908057: tracing_mark_write: E
25358  HwBinder:614_1-982   (  614) [007] ...1 158024.908105: tracing_mark_write: E
25359  HwBinder:614_1-982   (  614) [007] ...1 158024.908185: tracing_mark_write: B|614|FreeBuffer
25360  HwBinder:614_1-982   (  614) [007] ...1 158024.908198: tracing_mark_write: E
25361  HwBinder:614_1-982   (  614) [007] ...1 158024.908203: tracing_mark_write: B|614|FreeBuffer
25362  HwBinder:614_1-982   (  614) [007] ...1 158024.908207: tracing_mark_write: B|614|UnmapBuffer
25363  HwBinder:614_1-982   (  614) [007] ...1 158024.908219: tracing_mark_write: E
25364  HwBinder:614_1-982   (  614) [007] ...1 158024.908227: tracing_mark_write: E
25365    Binder:610_5-2158  (  610) [007] ...1 158024.908287: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
25366    Binder:610_5-2158  (  610) [007] ...1 158024.908325: tracing_mark_write: E
25367    Binder:610_5-2158  (  610) [007] ...1 158024.908329: tracing_mark_write: E
25368    Binder:610_5-2158  (  610) [007] ...1 158024.908454: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
25369    Binder:610_5-2158  (  610) [007] ...1 158024.908459: tracing_mark_write: E
25370    Binder:610_5-2158  (  610) [007] ...1 158024.908467: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
25371  HwBinder:614_1-982   (  614) [007] ...1 158024.908539: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
25372  HwBinder:614_1-982   (  614) [007] ...1 158024.908552: tracing_mark_write: B|614|AllocBuffer
25373  HwBinder:614_1-982   (  614) [007] ...1 158024.908558: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264
25374  HwBinder:614_1-982   (  614) [007] ...1 158024.908765: tracing_mark_write: E
25375  HwBinder:614_1-982   (  614) [007] ...1 158024.908770: tracing_mark_write: B|614|ION_IOC_MAP
25376  HwBinder:614_1-982   (  614) [007] ...1 158024.908781: tracing_mark_write: E
25377  HwBinder:614_1-982   (  614) [007] ...1 158024.908784: tracing_mark_write: E
25378  HwBinder:614_1-982   (  614) [007] ...1 158024.908788: tracing_mark_write: B|614|AllocBuffer
25379  HwBinder:614_1-982   (  614) [007] ...1 158024.908794: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
25380  HwBinder:614_1-982   (  614) [007] ...1 158024.908803: tracing_mark_write: E
25381  HwBinder:614_1-982   (  614) [007] ...1 158024.908807: tracing_mark_write: B|614|ION_IOC_MAP
25382  HwBinder:614_1-982   (  614) [007] ...1 158024.908814: tracing_mark_write: E
25383  HwBinder:614_1-982   (  614) [007] ...1 158024.908816: tracing_mark_write: E
25384  HwBinder:614_1-982   (  614) [007] ...1 158024.908844: tracing_mark_write: E
25385  HwBinder:614_1-982   (  614) [007] ...1 158024.908897: tracing_mark_write: B|614|FreeBuffer
25386  HwBinder:614_1-982   (  614) [007] ...1 158024.908909: tracing_mark_write: E
25387  HwBinder:614_1-982   (  614) [007] ...1 158024.908914: tracing_mark_write: B|614|FreeBuffer
25388  HwBinder:614_1-982   (  614) [007] ...1 158024.908919: tracing_mark_write: B|614|UnmapBuffer
25389  HwBinder:614_1-982   (  614) [007] ...1 158024.908929: tracing_mark_write: E
25390  HwBinder:614_1-982   (  614) [007] ...1 158024.908939: tracing_mark_write: E
25391    Binder:610_5-2158  (  610) [007] ...1 158024.909035: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
25392    Binder:610_5-2158  (  610) [007] ...1 158024.909055: tracing_mark_write: E
25393    Binder:610_5-2158  (  610) [007] ...1 158024.909059: tracing_mark_write: E
25394    Binder:610_5-2158  (  610) [007] ...1 158024.909090: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
25395    Binder:610_5-2158  (  610) [007] ...1 158024.909094: tracing_mark_write: E
25396    Binder:610_5-2158  (  610) [007] ...1 158024.909102: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
25397  HwBinder:614_1-982   (  614) [007] ...1 158024.909348: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
25398  HwBinder:614_1-982   (  614) [007] ...1 158024.909362: tracing_mark_write: B|614|AllocBuffer
25399  HwBinder:614_1-982   (  614) [007] ...1 158024.909371: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7819264
25400  HwBinder:614_1-982   (  614) [007] ...1 158024.910446: tracing_mark_write: E
25401  HwBinder:614_1-982   (  614) [007] ...1 158024.910453: tracing_mark_write: B|614|ION_IOC_MAP
25402  HwBinder:614_1-982   (  614) [007] ...1 158024.910465: tracing_mark_write: E
25403  HwBinder:614_1-982   (  614) [007] ...1 158024.910469: tracing_mark_write: E
25404  HwBinder:614_1-982   (  614) [007] ...1 158024.910472: tracing_mark_write: B|614|AllocBuffer
25405  HwBinder:614_1-982   (  614) [007] ...1 158024.910478: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
25406  HwBinder:614_1-982   (  614) [007] ...1 158024.910488: tracing_mark_write: E
25407  HwBinder:614_1-982   (  614) [007] ...1 158024.910492: tracing_mark_write: B|614|ION_IOC_MAP
25408  HwBinder:614_1-982   (  614) [007] ...1 158024.910499: tracing_mark_write: E
25409  HwBinder:614_1-982   (  614) [007] ...1 158024.910501: tracing_mark_write: E
25410  HwBinder:614_1-982   (  614) [007] ...1 158024.910532: tracing_mark_write: E
25411  HwBinder:614_1-982   (  614) [007] ...1 158024.910579: tracing_mark_write: B|614|FreeBuffer
25412  HwBinder:614_1-982   (  614) [007] ...1 158024.910595: tracing_mark_write: E
25413  HwBinder:614_1-982   (  614) [007] ...1 158024.910604: tracing_mark_write: B|614|FreeBuffer
25414  HwBinder:614_1-982   (  614) [007] ...1 158024.910610: tracing_mark_write: B|614|UnmapBuffer
25415  HwBinder:614_1-982   (  614) [007] ...1 158024.910730: tracing_mark_write: E
25416  HwBinder:614_1-982   (  614) [007] ...1 158024.910738: tracing_mark_write: E
25417    Binder:610_5-2158  (  610) [007] ...1 158024.910802: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
25418    Binder:610_5-2158  (  610) [007] ...1 158024.910830: tracing_mark_write: E
25419    Binder:610_5-2158  (  610) [007] ...1 158024.910834: tracing_mark_write: E
25420  SDM_EventThrea-643   (  612) [001] ...1 158024.915383: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25421  SDM_EventThrea-643   (  612) [001] ...1 158024.915394: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25422  SDM_EventThrea-643   (  612) [001] ...1 158024.915446: tracing_mark_write: E
25423  SDM_EventThrea-643   (  612) [001] ...1 158024.915453: tracing_mark_write: E
25424  HwBinder:610_1-626   (  610) [000] ...1 158024.915473: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25425  HwBinder:610_1-626   (  610) [000] ...1 158024.915486: tracing_mark_write: E
25426    Binder:610_5-2158  (  610) [004] ...1 158024.919081: tracing_mark_write: B|610|HIDL::IMapper::freeBuffer::passthrough
25427    Binder:610_5-2158  (  610) [004] ...1 158024.919097: tracing_mark_write: B|610|FreeBuffer
25428    Binder:610_5-2158  (  610) [004] ...1 158024.919134: tracing_mark_write: E
25429    Binder:610_5-2158  (  610) [004] ...1 158024.919139: tracing_mark_write: B|610|FreeBuffer
25430    Binder:610_5-2158  (  610) [004] ...1 158024.919149: tracing_mark_write: E
25431    Binder:610_5-2158  (  610) [004] ...1 158024.919153: tracing_mark_write: E
25432    Binder:610_5-2158  (  610) [004] ...1 158024.919167: tracing_mark_write: B|610|HIDL::IMapper::createDescriptor::passthrough
25433    Binder:610_5-2158  (  610) [004] ...1 158024.919169: tracing_mark_write: E
25434    Binder:610_5-2158  (  610) [004] ...1 158024.919178: tracing_mark_write: B|610|HIDL::IAllocator::allocate::client
25435  HwBinder:614_1-982   (  614) [004] ...1 158024.919252: tracing_mark_write: B|614|HIDL::IAllocator::allocate::server
25436  HwBinder:614_1-982   (  614) [004] ...1 158024.919270: tracing_mark_write: B|614|AllocBuffer
25437  HwBinder:614_1-982   (  614) [004] ...1 158024.919277: tracing_mark_write: B|614|ION_IOC_ALLOC size: 7929856
25438  surfaceflinger-610   (  610) [000] ...1 158024.921980: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25439  HwBinder:612_3-11297 (  612) [004] ...1 158024.922121: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25440  HwBinder:612_3-11297 (  612) [004] ...1 158024.922188: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25441  HwBinder:612_3-11297 (  612) [004] ...1 158024.922198: tracing_mark_write: E
25442  HwBinder:612_3-11297 (  612) [004] ...1 158024.922204: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25443  HwBinder:612_3-11297 (  612) [004] ...1 158024.922495: tracing_mark_write: B|612|HWDevice::Validate::
25444  HwBinder:612_3-11297 (  612) [004] ...1 158024.922557: tracing_mark_write: E
25445  HwBinder:612_3-11297 (  612) [004] ...1 158024.922573: tracing_mark_write: E
25446  HwBinder:612_3-11297 (  612) [004] ...1 158024.922594: tracing_mark_write: E
25447  surfaceflinger-610   (  610) [000] ...1 158024.922654: tracing_mark_write: E
25448  surfaceflinger-610   (  610) [000] ...1 158024.922708: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25449  HwBinder:612_3-11297 (  612) [004] ...1 158024.922754: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25450  HwBinder:612_3-11297 (  612) [004] ...1 158024.922765: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25451  HwBinder:612_3-11297 (  612) [004] ...1 158024.922779: tracing_mark_write: B|612|HWDevice::Commit::
25452  HwBinder:612_3-11297 (  612) [004] ...1 158024.922842: tracing_mark_write: E
25453  HwBinder:612_3-11297 (  612) [004] ...1 158024.922857: tracing_mark_write: E
25454  HwBinder:612_3-11297 (  612) [004] ...1 158024.922874: tracing_mark_write: E
25455  surfaceflinger-610   (  610) [000] ...1 158024.922922: tracing_mark_write: E
25456  HwBinder:614_1-982   (  614) [004] ...1 158024.924160: tracing_mark_write: E
25457  HwBinder:614_1-982   (  614) [004] ...1 158024.924171: tracing_mark_write: B|614|ION_IOC_MAP
25458  HwBinder:614_1-982   (  614) [004] ...1 158024.924186: tracing_mark_write: E
25459  HwBinder:614_1-982   (  614) [004] ...1 158024.924190: tracing_mark_write: E
25460  HwBinder:614_1-982   (  614) [004] ...1 158024.924195: tracing_mark_write: B|614|AllocBuffer
25461  HwBinder:614_1-982   (  614) [004] ...1 158024.924240: tracing_mark_write: B|614|ION_IOC_ALLOC size: 4096
25462  HwBinder:614_1-982   (  614) [004] ...1 158024.924253: tracing_mark_write: E
25463  HwBinder:614_1-982   (  614) [004] ...1 158024.924257: tracing_mark_write: B|614|ION_IOC_MAP
25464  HwBinder:614_1-982   (  614) [004] ...1 158024.924264: tracing_mark_write: E
25465  HwBinder:614_1-982   (  614) [004] ...1 158024.924267: tracing_mark_write: E
25466  HwBinder:614_1-982   (  614) [004] ...1 158024.924309: tracing_mark_write: E
25467  HwBinder:614_1-982   (  614) [004] ...1 158024.924359: tracing_mark_write: B|614|FreeBuffer
25468  HwBinder:614_1-982   (  614) [004] ...1 158024.924367: tracing_mark_write: E
25469  HwBinder:614_1-982   (  614) [004] ...1 158024.924370: tracing_mark_write: B|614|FreeBuffer
25470  HwBinder:614_1-982   (  614) [004] ...1 158024.924374: tracing_mark_write: B|614|UnmapBuffer
25471  HwBinder:614_1-982   (  614) [004] ...1 158024.924386: tracing_mark_write: E
25472  HwBinder:614_1-982   (  614) [004] ...1 158024.924392: tracing_mark_write: E
25473    Binder:610_5-2158  (  610) [004] ...1 158024.924456: tracing_mark_write: B|610|HIDL::IMapper::importBuffer::passthrough
25474    Binder:610_5-2158  (  610) [004] ...1 158024.924485: tracing_mark_write: E
25475    Binder:610_5-2158  (  610) [004] ...1 158024.924491: tracing_mark_write: E
25476    RenderThread-4957  ( 4896) [004] ...1 158024.924874: tracing_mark_write: B|4896|HIDL::IMapper::importBuffer::passthrough
25477    RenderThread-4957  ( 4896) [004] ...1 158024.924927: tracing_mark_write: E
25478  HwBinder:755_1-1247  (  755) [000] ...1 158024.928119: tracing_mark_write: E
25479   SensorService-1249  ( 1136) [006] ...1 158024.928346: tracing_mark_write: E
25480   SensorService-1249  ( 1136) [006] ...1 158024.928455: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25481  HwBinder:755_1-1247  (  755) [000] ...1 158024.928583: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25482  SDM_EventThrea-643   (  612) [001] ...1 158024.932170: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25483  SDM_EventThrea-643   (  612) [001] ...1 158024.932188: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25484  SDM_EventThrea-643   (  612) [001] ...1 158024.932267: tracing_mark_write: E
25485  SDM_EventThrea-643   (  612) [001] ...1 158024.932279: tracing_mark_write: E
25486  HwBinder:610_1-626   (  610) [000] ...1 158024.932312: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25487  HwBinder:610_1-626   (  610) [000] ...1 158024.932333: tracing_mark_write: E
25488  surfaceflinger-610   (  610) [000] ...1 158024.939296: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25489  HwBinder:612_3-11297 (  612) [004] ...1 158024.939456: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25490  HwBinder:612_3-11297 (  612) [004] ...1 158024.939526: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25491  HwBinder:612_3-11297 (  612) [004] ...1 158024.939536: tracing_mark_write: E
25492  HwBinder:612_3-11297 (  612) [004] ...1 158024.939542: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25493  HwBinder:612_3-11297 (  612) [004] ...1 158024.939809: tracing_mark_write: B|612|HWDevice::Validate::
25494  HwBinder:612_3-11297 (  612) [004] ...1 158024.939869: tracing_mark_write: E
25495  HwBinder:612_3-11297 (  612) [004] ...1 158024.939884: tracing_mark_write: E
25496  HwBinder:612_3-11297 (  612) [004] ...1 158024.939906: tracing_mark_write: E
25497  surfaceflinger-610   (  610) [000] ...1 158024.939991: tracing_mark_write: E
25498  surfaceflinger-610   (  610) [000] ...1 158024.940096: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25499  HwBinder:612_3-11297 (  612) [004] ...1 158024.940186: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25500  HwBinder:612_3-11297 (  612) [004] ...1 158024.940199: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25501  HwBinder:612_3-11297 (  612) [004] ...1 158024.940212: tracing_mark_write: B|612|HWDevice::Commit::
25502  HwBinder:612_3-11297 (  612) [004] ...1 158024.940279: tracing_mark_write: E
25503  HwBinder:612_3-11297 (  612) [004] ...1 158024.940297: tracing_mark_write: E
25504  HwBinder:612_3-11297 (  612) [004] ...1 158024.940316: tracing_mark_write: E
25505  surfaceflinger-610   (  610) [000] ...1 158024.940403: tracing_mark_write: E
25506  HwBinder:755_1-1247  (  755) [000] ...1 158024.945841: tracing_mark_write: E
25507   SensorService-1249  ( 1136) [006] ...1 158024.945937: tracing_mark_write: E
25508   SensorService-1249  ( 1136) [006] ...1 158024.946026: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25509  HwBinder:755_1-1247  (  755) [000] ...1 158024.946119: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25510  SDM_EventThrea-643   (  612) [001] ...1 158024.948909: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25511  SDM_EventThrea-643   (  612) [001] ...1 158024.948924: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25512  SDM_EventThrea-643   (  612) [001] ...1 158024.949035: tracing_mark_write: E
25513  SDM_EventThrea-643   (  612) [001] ...1 158024.949045: tracing_mark_write: E
25514  HwBinder:610_1-626   (  610) [000] ...1 158024.949072: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25515  HwBinder:610_1-626   (  610) [000] ...1 158024.949164: tracing_mark_write: E
25516    EventControl-682   (  610) [002] ...1 158024.949191: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
25517  HwBinder:612_3-11297 (  612) [002] ...1 158024.949324: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
25518  HwBinder:612_3-11297 (  612) [002] ...1 158024.949340: tracing_mark_write: C|612|SetVsyncState |0
25519  HwBinder:612_3-11297 (  612) [002] ...1 158024.949358: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
25520  HwBinder:612_3-11297 (  612) [002] ...1 158024.949386: tracing_mark_write: E
25521  HwBinder:612_3-11297 (  612) [002] ...1 158024.949399: tracing_mark_write: E
25522    EventControl-682   (  610) [002] ...1 158024.949481: tracing_mark_write: E
25523  PhotonicModula-1317  ( 1136) [006] ...1 158024.951790: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25524  light@2.0-serv-743   (  743) [006] ...1 158024.951961: tracing_mark_write: B|743|HIDL::IBase::ping::server
25525  light@2.0-serv-743   (  743) [006] ...1 158024.951968: tracing_mark_write: E
25526  PhotonicModula-1317  ( 1136) [006] ...1 158024.952081: tracing_mark_write: E
25527  PhotonicModula-1317  ( 1136) [006] ...1 158024.952115: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25528  light@2.0-serv-743   (  743) [006] ...1 158024.952223: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25529  surfaceflinger-610   (  610) [000] ...1 158024.955903: tracing_mark_write: B|610|HIDL::IComposerClient::createLayer::client
25530  HwBinder:612_3-11297 (  612) [002] ...1 158024.956126: tracing_mark_write: B|612|HIDL::IComposerClient::createLayer::server
25531  HwBinder:612_3-11297 (  612) [002] ...1 158024.956198: tracing_mark_write: E
25532  surfaceflinger-610   (  610) [000] ...1 158024.956321: tracing_mark_write: E
25533  surfaceflinger-610   (  610) [000] ...1 158024.956613: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25534  HwBinder:612_3-11297 (  612) [002] ...1 158024.956892: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25535  HwBinder:612_3-11297 (  612) [002] ...1 158024.956995: tracing_mark_write: B|612|HIDL::IMapper::importBuffer::passthrough
25536  HwBinder:612_3-11297 (  612) [002] ...1 158024.957069: tracing_mark_write: E
25537  HwBinder:612_3-11297 (  612) [002] ...1 158024.957231: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25538  HwBinder:612_3-11297 (  612) [002] ...1 158024.957254: tracing_mark_write: E
25539  HwBinder:612_3-11297 (  612) [002] ...1 158024.957277: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25540  HwBinder:612_3-11297 (  612) [002] ...1 158024.958123: tracing_mark_write: B|612|HWDevice::Validate::
25541  HwBinder:612_3-11297 (  612) [002] ...1 158024.958326: tracing_mark_write: E
25542  HwBinder:612_3-11297 (  612) [002] ...1 158024.958373: tracing_mark_write: E
25543  HwBinder:612_3-11297 (  612) [002] ...1 158024.958428: tracing_mark_write: E
25544  surfaceflinger-610   (  610) [000] ...1 158024.958602: tracing_mark_write: E
25545  surfaceflinger-610   (  610) [000] ...1 158024.958840: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25546  HwBinder:612_3-11297 (  612) [002] ...1 158024.959022: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25547  HwBinder:612_3-11297 (  612) [002] ...1 158024.959064: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25548  HwBinder:612_3-11297 (  612) [002] ...1 158024.959106: tracing_mark_write: B|612|HWDevice::Commit::
25549  HwBinder:612_3-11297 (  612) [002] ...1 158024.959331: tracing_mark_write: E
25550  HwBinder:612_3-11297 (  612) [002] ...1 158024.959384: tracing_mark_write: E
25551  HwBinder:612_3-11297 (  612) [002] ...1 158024.959452: tracing_mark_write: E
25552  surfaceflinger-610   (  610) [000] ...1 158024.959620: tracing_mark_write: E
25553  light@2.0-serv-743   (  743) [006] ...1 158024.965019: tracing_mark_write: E
25554  PhotonicModula-1317  ( 1136) [006] ...1 158024.965116: tracing_mark_write: E
25555  HwBinder:755_1-1247  (  755) [000] ...1 158024.965833: tracing_mark_write: E
25556   SensorService-1249  ( 1136) [006] ...1 158024.965927: tracing_mark_write: E
25557   SensorService-1249  ( 1136) [006] ...1 158024.966019: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25558  HwBinder:755_1-1247  (  755) [000] ...1 158024.966126: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25559  PhotonicModula-1317  ( 1136) [006] ...1 158024.967991: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25560  light@2.0-serv-743   (  743) [006] ...1 158024.968063: tracing_mark_write: B|743|HIDL::IBase::ping::server
25561  light@2.0-serv-743   (  743) [006] ...1 158024.968067: tracing_mark_write: E
25562  PhotonicModula-1317  ( 1136) [006] ...1 158024.968120: tracing_mark_write: E
25563  PhotonicModula-1317  ( 1136) [006] ...1 158024.968135: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25564  light@2.0-serv-743   (  743) [006] ...1 158024.968186: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25565  surfaceflinger-610   (  610) [000] ...1 158024.972597: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25566  HwBinder:612_3-11297 (  612) [002] ...1 158024.972793: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25567  HwBinder:612_3-11297 (  612) [002] ...1 158024.972923: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25568  HwBinder:612_3-11297 (  612) [002] ...1 158024.972940: tracing_mark_write: E
25569  HwBinder:612_3-11297 (  612) [002] ...1 158024.972955: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25570  HwBinder:612_3-11297 (  612) [002] ...1 158024.973457: tracing_mark_write: B|612|HWDevice::Validate::
25571  HwBinder:612_3-11297 (  612) [002] ...1 158024.973587: tracing_mark_write: E
25572  HwBinder:612_3-11297 (  612) [002] ...1 158024.973619: tracing_mark_write: E
25573  HwBinder:612_3-11297 (  612) [002] ...1 158024.973659: tracing_mark_write: E
25574  surfaceflinger-610   (  610) [000] ...1 158024.973781: tracing_mark_write: E
25575  surfaceflinger-610   (  610) [000] ...1 158024.973936: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25576  HwBinder:612_3-11297 (  612) [002] ...1 158024.974050: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25577  HwBinder:612_3-11297 (  612) [002] ...1 158024.974078: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25578  HwBinder:612_3-11297 (  612) [002] ...1 158024.974104: tracing_mark_write: B|612|HWDevice::Commit::
25579  HwBinder:612_3-11297 (  612) [002] ...1 158024.974344: tracing_mark_write: E
25580  HwBinder:612_3-11297 (  612) [002] ...1 158024.974384: tracing_mark_write: E
25581  HwBinder:612_3-11297 (  612) [002] ...1 158024.974435: tracing_mark_write: E
25582  surfaceflinger-610   (  610) [000] ...1 158024.974565: tracing_mark_write: E
25583  light@2.0-serv-743   (  743) [006] ...1 158024.982328: tracing_mark_write: E
25584  PhotonicModula-1317  ( 1136) [006] ...1 158024.982520: tracing_mark_write: E
25585  PhotonicModula-1317  ( 1136) [000] ...1 158024.985539: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25586  light@2.0-serv-743   (  743) [000] ...1 158024.985964: tracing_mark_write: B|743|HIDL::IBase::ping::server
25587  light@2.0-serv-743   (  743) [000] ...1 158024.985976: tracing_mark_write: E
25588  PhotonicModula-1317  ( 1136) [000] ...1 158024.986153: tracing_mark_write: E
25589  PhotonicModula-1317  ( 1136) [000] ...1 158024.986200: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25590  light@2.0-serv-743   (  743) [000] ...1 158024.986364: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25591  HwBinder:755_1-1247  (  755) [002] ...1 158024.986460: tracing_mark_write: E
25592   SensorService-1249  ( 1136) [006] ...1 158024.986624: tracing_mark_write: E
25593   SensorService-1249  ( 1136) [006] ...1 158024.986754: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25594  HwBinder:755_1-1247  (  755) [002] ...1 158024.986924: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25595  surfaceflinger-610   (  610) [000] ...1 158024.989575: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25596  HwBinder:612_3-11297 (  612) [002] ...1 158024.989862: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25597  HwBinder:612_3-11297 (  612) [002] ...1 158024.990039: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25598  HwBinder:612_3-11297 (  612) [002] ...1 158024.990060: tracing_mark_write: E
25599  HwBinder:612_3-11297 (  612) [002] ...1 158024.990081: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25600  HwBinder:612_3-11297 (  612) [002] ...1 158024.990766: tracing_mark_write: B|612|HWDevice::Validate::
25601  HwBinder:612_3-11297 (  612) [002] ...1 158024.991095: tracing_mark_write: E
25602  HwBinder:612_3-11297 (  612) [002] ...1 158024.991140: tracing_mark_write: E
25603  HwBinder:612_3-11297 (  612) [002] ...1 158024.991197: tracing_mark_write: E
25604  surfaceflinger-610   (  610) [000] ...1 158024.991354: tracing_mark_write: E
25605  surfaceflinger-610   (  610) [000] ...1 158024.991558: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25606  HwBinder:612_3-11297 (  612) [002] ...1 158024.991694: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25607  HwBinder:612_3-11297 (  612) [002] ...1 158024.991729: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25608  HwBinder:612_3-11297 (  612) [002] ...1 158024.991767: tracing_mark_write: B|612|HWDevice::Commit::
25609  HwBinder:612_3-11297 (  612) [002] ...1 158024.991971: tracing_mark_write: E
25610  HwBinder:612_3-11297 (  612) [002] ...1 158024.992022: tracing_mark_write: E
25611  HwBinder:612_3-11297 (  612) [002] ...1 158024.992081: tracing_mark_write: E
25612  surfaceflinger-610   (  610) [000] ...1 158024.992213: tracing_mark_write: E
25613  light@2.0-serv-743   (  743) [000] ...1 158024.998809: tracing_mark_write: E
25614  PhotonicModula-1317  ( 1136) [000] ...1 158024.999065: tracing_mark_write: E
25615  PhotonicModula-1317  ( 1136) [006] ...1 158025.001617: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25616  light@2.0-serv-743   (  743) [006] ...1 158025.001784: tracing_mark_write: B|743|HIDL::IBase::ping::server
25617  light@2.0-serv-743   (  743) [006] ...1 158025.001790: tracing_mark_write: E
25618  PhotonicModula-1317  ( 1136) [006] ...1 158025.001895: tracing_mark_write: E
25619  PhotonicModula-1317  ( 1136) [006] ...1 158025.001924: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25620  light@2.0-serv-743   (  743) [006] ...1 158025.002030: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25621  HwBinder:755_1-1247  (  755) [002] ...1 158025.006133: tracing_mark_write: E
25622  surfaceflinger-610   (  610) [000] ...1 158025.006174: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25623   SensorService-1249  ( 1136) [006] ...1 158025.006280: tracing_mark_write: E
25624   SensorService-1249  ( 1136) [006] ...1 158025.006374: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25625  HwBinder:612_3-11297 (  612) [002] ...1 158025.006440: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25626  HwBinder:755_1-1247  (  755) [000] ...1 158025.006536: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25627  HwBinder:612_3-11297 (  612) [002] ...1 158025.006617: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25628  HwBinder:612_3-11297 (  612) [002] ...1 158025.006638: tracing_mark_write: E
25629  HwBinder:612_3-11297 (  612) [002] ...1 158025.006656: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25630  HwBinder:612_3-11297 (  612) [002] ...1 158025.007343: tracing_mark_write: B|612|HWDevice::Validate::
25631  HwBinder:612_3-11297 (  612) [002] ...1 158025.007529: tracing_mark_write: E
25632  HwBinder:612_3-11297 (  612) [002] ...1 158025.007667: tracing_mark_write: E
25633  HwBinder:612_3-11297 (  612) [002] ...1 158025.007727: tracing_mark_write: E
25634  surfaceflinger-610   (  610) [000] ...1 158025.008020: tracing_mark_write: E
25635  surfaceflinger-610   (  610) [000] ...1 158025.008239: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25636  HwBinder:612_3-11297 (  612) [002] ...1 158025.008385: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25637  HwBinder:612_3-11297 (  612) [002] ...1 158025.008422: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25638  HwBinder:612_3-11297 (  612) [002] ...1 158025.008461: tracing_mark_write: B|612|HWDevice::Commit::
25639  HwBinder:612_3-11297 (  612) [002] ...1 158025.008673: tracing_mark_write: E
25640  HwBinder:612_3-11297 (  612) [002] ...1 158025.008728: tracing_mark_write: E
25641  HwBinder:612_3-11297 (  612) [002] ...1 158025.008791: tracing_mark_write: E
25642  surfaceflinger-610   (  610) [000] ...1 158025.008929: tracing_mark_write: E
25643  light@2.0-serv-743   (  743) [006] ...1 158025.015609: tracing_mark_write: E
25644  PhotonicModula-1317  ( 1136) [006] ...1 158025.015768: tracing_mark_write: E
25645  PhotonicModula-1317  ( 1136) [006] ...1 158025.018204: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25646  light@2.0-serv-743   (  743) [006] ...1 158025.018397: tracing_mark_write: B|743|HIDL::IBase::ping::server
25647  light@2.0-serv-743   (  743) [006] ...1 158025.018406: tracing_mark_write: E
25648  PhotonicModula-1317  ( 1136) [006] ...1 158025.018539: tracing_mark_write: E
25649  PhotonicModula-1317  ( 1136) [006] ...1 158025.018578: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25650  light@2.0-serv-743   (  743) [006] ...1 158025.018715: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25651  surfaceflinger-610   (  610) [000] ...1 158025.022897: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25652  HwBinder:612_3-11297 (  612) [002] ...1 158025.023195: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25653  HwBinder:612_3-11297 (  612) [002] ...1 158025.023372: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25654  HwBinder:612_3-11297 (  612) [002] ...1 158025.023393: tracing_mark_write: E
25655  HwBinder:612_3-11297 (  612) [002] ...1 158025.023411: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25656  HwBinder:612_3-11297 (  612) [002] ...1 158025.024087: tracing_mark_write: B|612|HWDevice::Validate::
25657  HwBinder:612_3-11297 (  612) [002] ...1 158025.024324: tracing_mark_write: E
25658  HwBinder:612_3-11297 (  612) [002] ...1 158025.024364: tracing_mark_write: E
25659  HwBinder:612_3-11297 (  612) [002] ...1 158025.024418: tracing_mark_write: E
25660  surfaceflinger-610   (  610) [000] ...1 158025.024554: tracing_mark_write: E
25661  surfaceflinger-610   (  610) [000] ...1 158025.024742: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25662  HwBinder:612_3-11297 (  612) [002] ...1 158025.024870: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25663  HwBinder:612_3-11297 (  612) [002] ...1 158025.024901: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25664  HwBinder:612_3-11297 (  612) [002] ...1 158025.024935: tracing_mark_write: B|612|HWDevice::Commit::
25665  HwBinder:612_3-11297 (  612) [002] ...1 158025.025124: tracing_mark_write: E
25666  HwBinder:612_3-11297 (  612) [002] ...1 158025.025171: tracing_mark_write: E
25667  HwBinder:612_3-11297 (  612) [002] ...1 158025.025224: tracing_mark_write: E
25668  surfaceflinger-610   (  610) [000] ...1 158025.025342: tracing_mark_write: E
25669  HwBinder:755_1-1247  (  755) [000] ...1 158025.026315: tracing_mark_write: E
25670   SensorService-1249  ( 1136) [006] ...1 158025.026440: tracing_mark_write: E
25671   SensorService-1249  ( 1136) [006] ...1 158025.026569: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25672  HwBinder:755_1-1247  (  755) [000] ...1 158025.026711: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25673  light@2.0-serv-743   (  743) [006] ...1 158025.032126: tracing_mark_write: E
25674  PhotonicModula-1317  ( 1136) [006] ...1 158025.032254: tracing_mark_write: E
25675  PhotonicModula-1317  ( 1136) [002] ...1 158025.034786: tracing_mark_write: B|1136|HIDL::IBase::ping::client
25676  light@2.0-serv-743   (  743) [002] ...1 158025.035007: tracing_mark_write: B|743|HIDL::IBase::ping::server
25677  light@2.0-serv-743   (  743) [002] ...1 158025.035015: tracing_mark_write: E
25678  PhotonicModula-1317  ( 1136) [002] ...1 158025.035137: tracing_mark_write: E
25679  PhotonicModula-1317  ( 1136) [002] ...1 158025.035171: tracing_mark_write: B|1136|HIDL::ILight::setLight::client
25680  light@2.0-serv-743   (  743) [002] ...1 158025.035283: tracing_mark_write: B|743|HIDL::ILight::setLight::server
25681  surfaceflinger-610   (  610) [000] ...1 158025.039407: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25682  HwBinder:612_3-11297 (  612) [002] ...1 158025.039708: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25683  HwBinder:612_3-11297 (  612) [002] ...1 158025.039892: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25684  HwBinder:612_3-11297 (  612) [002] ...1 158025.039912: tracing_mark_write: E
25685  HwBinder:612_3-11297 (  612) [002] ...1 158025.039928: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25686  HwBinder:612_3-11297 (  612) [002] ...1 158025.040614: tracing_mark_write: B|612|HWDevice::Validate::
25687  HwBinder:612_3-11297 (  612) [002] ...1 158025.040815: tracing_mark_write: E
25688  HwBinder:612_3-11297 (  612) [002] ...1 158025.040857: tracing_mark_write: E
25689  HwBinder:612_3-11297 (  612) [002] ...1 158025.041044: tracing_mark_write: E
25690  surfaceflinger-610   (  610) [000] ...1 158025.041210: tracing_mark_write: E
25691  surfaceflinger-610   (  610) [000] ...1 158025.041418: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25692  HwBinder:612_3-11297 (  612) [002] ...1 158025.041540: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25693  HwBinder:612_3-11297 (  612) [002] ...1 158025.041567: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25694  HwBinder:612_3-11297 (  612) [002] ...1 158025.041599: tracing_mark_write: B|612|HWDevice::Commit::
25695  HwBinder:612_3-11297 (  612) [002] ...1 158025.041776: tracing_mark_write: E
25696  HwBinder:612_3-11297 (  612) [002] ...1 158025.041823: tracing_mark_write: E
25697  HwBinder:612_3-11297 (  612) [002] ...1 158025.041876: tracing_mark_write: E
25698  surfaceflinger-610   (  610) [000] ...1 158025.041987: tracing_mark_write: E
25699  HwBinder:755_1-1247  (  755) [000] ...1 158025.046345: tracing_mark_write: E
25700   SensorService-1249  ( 1136) [006] ...1 158025.046479: tracing_mark_write: E
25701   SensorService-1249  ( 1136) [006] ...1 158025.046615: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25702  HwBinder:755_1-1247  (  755) [000] ...1 158025.046757: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25703  light@2.0-serv-743   (  743) [002] ...1 158025.049259: tracing_mark_write: E
25704  PhotonicModula-1317  ( 1136) [002] ...1 158025.049428: tracing_mark_write: E
25705  surfaceflinger-610   (  610) [000] ...1 158025.056016: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25706  HwBinder:612_3-11297 (  612) [002] ...1 158025.056298: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25707  HwBinder:612_3-11297 (  612) [002] ...1 158025.056476: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25708  HwBinder:612_3-11297 (  612) [002] ...1 158025.056496: tracing_mark_write: E
25709  HwBinder:612_3-11297 (  612) [002] ...1 158025.056510: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25710  HwBinder:612_3-11297 (  612) [002] ...1 158025.057172: tracing_mark_write: B|612|HWDevice::Validate::
25711  HwBinder:612_3-11297 (  612) [002] ...1 158025.057361: tracing_mark_write: E
25712  HwBinder:612_3-11297 (  612) [002] ...1 158025.057398: tracing_mark_write: E
25713  HwBinder:612_3-11297 (  612) [002] ...1 158025.057452: tracing_mark_write: E
25714  surfaceflinger-610   (  610) [000] ...1 158025.057651: tracing_mark_write: E
25715  surfaceflinger-610   (  610) [000] ...1 158025.057831: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25716  HwBinder:612_3-11297 (  612) [002] ...1 158025.057949: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25717  HwBinder:612_3-11297 (  612) [002] ...1 158025.057978: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25718  HwBinder:612_3-11297 (  612) [002] ...1 158025.058009: tracing_mark_write: B|612|HWDevice::Commit::
25719  HwBinder:612_3-11297 (  612) [002] ...1 158025.058195: tracing_mark_write: E
25720  HwBinder:612_3-11297 (  612) [002] ...1 158025.058244: tracing_mark_write: E
25721  HwBinder:612_3-11297 (  612) [002] ...1 158025.058295: tracing_mark_write: E
25722  surfaceflinger-610   (  610) [000] ...1 158025.058392: tracing_mark_write: E
25723    EventControl-682   (  610) [002] ...1 158025.058804: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
25724  HwBinder:612_3-11297 (  612) [002] ...1 158025.058925: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
25725  HwBinder:612_3-11297 (  612) [002] ...1 158025.058943: tracing_mark_write: C|612|SetVsyncState |1
25726  HwBinder:612_3-11297 (  612) [002] ...1 158025.058960: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
25727  HwBinder:612_3-11297 (  612) [002] ...1 158025.058998: tracing_mark_write: E
25728  HwBinder:612_3-11297 (  612) [002] ...1 158025.059010: tracing_mark_write: E
25729    EventControl-682   (  610) [002] ...1 158025.059061: tracing_mark_write: E
25730  SDM_EventThrea-643   (  612) [000] ...1 158025.066050: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25731  SDM_EventThrea-643   (  612) [000] ...1 158025.066071: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25732  SDM_EventThrea-643   (  612) [000] ...1 158025.066157: tracing_mark_write: E
25733  SDM_EventThrea-643   (  612) [000] ...1 158025.066169: tracing_mark_write: E
25734  HwBinder:610_1-626   (  610) [001] ...1 158025.066205: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25735  HwBinder:610_1-626   (  610) [001] ...1 158025.066259: tracing_mark_write: E
25736  HwBinder:755_1-1247  (  755) [000] ...1 158025.066770: tracing_mark_write: E
25737   SensorService-1249  ( 1136) [006] ...1 158025.066928: tracing_mark_write: E
25738   SensorService-1249  ( 1136) [006] ...1 158025.067082: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25739  HwBinder:755_1-1247  (  755) [000] ...1 158025.067232: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25740  surfaceflinger-610   (  610) [000] ...1 158025.073355: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25741  HwBinder:612_3-11297 (  612) [002] ...1 158025.073598: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25742  HwBinder:612_3-11297 (  612) [002] ...1 158025.073758: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25743  HwBinder:612_3-11297 (  612) [002] ...1 158025.073777: tracing_mark_write: E
25744  HwBinder:612_3-11297 (  612) [002] ...1 158025.073790: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25745  HwBinder:612_3-11297 (  612) [002] ...1 158025.074486: tracing_mark_write: B|612|HWDevice::Validate::
25746  HwBinder:612_3-11297 (  612) [002] ...1 158025.074676: tracing_mark_write: E
25747  HwBinder:612_3-11297 (  612) [002] ...1 158025.074713: tracing_mark_write: E
25748  HwBinder:612_3-11297 (  612) [002] ...1 158025.074767: tracing_mark_write: E
25749  surfaceflinger-610   (  610) [000] ...1 158025.074906: tracing_mark_write: E
25750  surfaceflinger-610   (  610) [000] ...1 158025.075084: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25751  HwBinder:612_3-11297 (  612) [002] ...1 158025.075191: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25752  HwBinder:612_3-11297 (  612) [002] ...1 158025.075219: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25753  HwBinder:612_3-11297 (  612) [002] ...1 158025.075250: tracing_mark_write: B|612|HWDevice::Commit::
25754  HwBinder:612_3-11297 (  612) [002] ...1 158025.075436: tracing_mark_write: E
25755  HwBinder:612_3-11297 (  612) [002] ...1 158025.075483: tracing_mark_write: E
25756  HwBinder:612_3-11297 (  612) [002] ...1 158025.075532: tracing_mark_write: E
25757  surfaceflinger-610   (  610) [000] ...1 158025.075629: tracing_mark_write: E
25758  SDM_EventThrea-643   (  612) [000] ...1 158025.082801: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25759  SDM_EventThrea-643   (  612) [000] ...1 158025.082824: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25760  SDM_EventThrea-643   (  612) [000] ...1 158025.082920: tracing_mark_write: E
25761  SDM_EventThrea-643   (  612) [000] ...1 158025.082933: tracing_mark_write: E
25762  HwBinder:610_1-626   (  610) [001] ...1 158025.082982: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25763  HwBinder:610_1-626   (  610) [001] ...1 158025.083013: tracing_mark_write: E
25764  HwBinder:755_1-1247  (  755) [000] ...1 158025.086119: tracing_mark_write: E
25765   SensorService-1249  ( 1136) [006] ...1 158025.086274: tracing_mark_write: E
25766   SensorService-1249  ( 1136) [006] ...1 158025.086395: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25767  HwBinder:755_1-1247  (  755) [000] ...1 158025.086536: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25768  surfaceflinger-610   (  610) [002] ...1 158025.090801: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25769  HwBinder:612_3-11297 (  612) [000] ...1 158025.091359: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25770  HwBinder:612_3-11297 (  612) [000] ...1 158025.091592: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25771  HwBinder:612_3-11297 (  612) [000] ...1 158025.091621: tracing_mark_write: E
25772  HwBinder:612_3-11297 (  612) [000] ...1 158025.091646: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25773  HwBinder:612_3-11297 (  612) [000] ...1 158025.092566: tracing_mark_write: B|612|HWDevice::Validate::
25774  HwBinder:612_3-11297 (  612) [000] ...1 158025.092836: tracing_mark_write: E
25775  HwBinder:612_3-11297 (  612) [000] ...1 158025.092891: tracing_mark_write: E
25776  HwBinder:612_3-11297 (  612) [000] ...1 158025.092966: tracing_mark_write: E
25777  surfaceflinger-610   (  610) [002] ...1 158025.093163: tracing_mark_write: E
25778  surfaceflinger-610   (  610) [002] ...1 158025.093435: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25779  HwBinder:612_3-11297 (  612) [000] ...1 158025.093822: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25780  HwBinder:612_3-11297 (  612) [000] ...1 158025.094018: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25781  HwBinder:612_3-11297 (  612) [000] ...1 158025.094076: tracing_mark_write: B|612|HWDevice::Commit::
25782  HwBinder:612_3-11297 (  612) [000] ...1 158025.094719: tracing_mark_write: E
25783  HwBinder:612_3-11297 (  612) [000] ...1 158025.094932: tracing_mark_write: E
25784  HwBinder:612_3-11297 (  612) [000] ...1 158025.095014: tracing_mark_write: E
25785  surfaceflinger-610   (  610) [002] ...1 158025.095332: tracing_mark_write: E
25786  SDM_EventThrea-643   (  612) [000] ...1 158025.099611: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25787  SDM_EventThrea-643   (  612) [000] ...1 158025.099639: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25788  SDM_EventThrea-643   (  612) [000] ...1 158025.099775: tracing_mark_write: E
25789  SDM_EventThrea-643   (  612) [000] ...1 158025.099794: tracing_mark_write: E
25790  HwBinder:610_1-626   (  610) [001] ...1 158025.099853: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25791  HwBinder:610_1-626   (  610) [001] ...1 158025.099892: tracing_mark_write: E
25792  HwBinder:755_1-1247  (  755) [001] ...1 158025.106314: tracing_mark_write: E
25793   SensorService-1249  ( 1136) [006] ...1 158025.106543: tracing_mark_write: E
25794   SensorService-1249  ( 1136) [006] ...1 158025.106702: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25795  HwBinder:755_1-1247  (  755) [001] ...1 158025.106900: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25796  surfaceflinger-610   (  610) [000] ...1 158025.107417: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25797  HwBinder:612_3-11297 (  612) [001] ...1 158025.107812: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25798  HwBinder:612_3-11297 (  612) [001] ...1 158025.108055: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25799  HwBinder:612_3-11297 (  612) [001] ...1 158025.108081: tracing_mark_write: E
25800  HwBinder:612_3-11297 (  612) [001] ...1 158025.108106: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25801  HwBinder:612_3-11297 (  612) [001] ...1 158025.109022: tracing_mark_write: B|612|HWDevice::Validate::
25802  HwBinder:612_3-11297 (  612) [001] ...1 158025.109242: tracing_mark_write: E
25803  HwBinder:612_3-11297 (  612) [001] ...1 158025.109293: tracing_mark_write: E
25804  HwBinder:612_3-11297 (  612) [001] ...1 158025.109355: tracing_mark_write: E
25805  surfaceflinger-610   (  610) [000] ...1 158025.109517: tracing_mark_write: E
25806  surfaceflinger-610   (  610) [000] ...1 158025.109747: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25807  HwBinder:612_3-11297 (  612) [001] ...1 158025.110017: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25808  HwBinder:612_3-11297 (  612) [001] ...1 158025.110060: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25809  HwBinder:612_3-11297 (  612) [001] ...1 158025.110110: tracing_mark_write: B|612|HWDevice::Commit::
25810  HwBinder:612_3-11297 (  612) [001] ...1 158025.110358: tracing_mark_write: E
25811  HwBinder:612_3-11297 (  612) [001] ...1 158025.110421: tracing_mark_write: E
25812  HwBinder:612_3-11297 (  612) [001] ...1 158025.110490: tracing_mark_write: E
25813  surfaceflinger-610   (  610) [000] ...1 158025.110651: tracing_mark_write: E
25814  SDM_EventThrea-643   (  612) [000] ...1 158025.116361: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25815  SDM_EventThrea-643   (  612) [000] ...1 158025.116386: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25816  SDM_EventThrea-643   (  612) [000] ...1 158025.116505: tracing_mark_write: E
25817  SDM_EventThrea-643   (  612) [000] ...1 158025.116520: tracing_mark_write: E
25818  HwBinder:610_1-626   (  610) [001] ...1 158025.116578: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25819  HwBinder:610_1-626   (  610) [001] ...1 158025.116616: tracing_mark_write: E
25820  surfaceflinger-610   (  610) [000] ...1 158025.123708: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25821  HwBinder:612_3-11297 (  612) [001] ...1 158025.124001: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25822  HwBinder:612_3-11297 (  612) [001] ...1 158025.124270: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25823  HwBinder:612_3-11297 (  612) [001] ...1 158025.124299: tracing_mark_write: E
25824  HwBinder:612_3-11297 (  612) [001] ...1 158025.124325: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25825  HwBinder:612_3-11297 (  612) [001] ...1 158025.125193: tracing_mark_write: B|612|HWDevice::Validate::
25826              sh-13726 (13726) [005] ...1 158025.125235: tracing_mark_write: trace_event_clock_sync: name=3dcc994f-0459-4a69-8ebe-ce495d65712c
25827  HwBinder:612_3-11297 (  612) [001] ...1 158025.125415: tracing_mark_write: E
25828  HwBinder:612_3-11297 (  612) [001] ...1 158025.125466: tracing_mark_write: E
25829  HwBinder:612_3-11297 (  612) [001] ...1 158025.125530: tracing_mark_write: E
25830  surfaceflinger-610   (  610) [000] ...1 158025.125831: tracing_mark_write: E
25831  surfaceflinger-610   (  610) [000] ...1 158025.126057: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25832  HwBinder:612_3-11297 (  612) [002] ...1 158025.126296: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25833  HwBinder:755_1-1247  (  755) [001] ...1 158025.126307: tracing_mark_write: E
25834  HwBinder:612_3-11297 (  612) [002] ...1 158025.126337: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25835  HwBinder:612_3-11297 (  612) [002] ...1 158025.126385: tracing_mark_write: B|612|HWDevice::Commit::
25836   SensorService-1249  ( 1136) [006] ...1 158025.126514: tracing_mark_write: E
25837  HwBinder:612_3-11297 (  612) [002] ...1 158025.126629: tracing_mark_write: E
25838  HwBinder:612_3-11297 (  612) [002] ...1 158025.126685: tracing_mark_write: E
25839   SensorService-1249  ( 1136) [006] ...1 158025.126712: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25840  HwBinder:612_3-11297 (  612) [002] ...1 158025.126754: tracing_mark_write: E
25841  HwBinder:755_1-1247  (  755) [001] ...1 158025.126887: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25842  surfaceflinger-610   (  610) [000] ...1 158025.126915: tracing_mark_write: E
25843  SDM_EventThrea-643   (  612) [000] ...1 158025.133045: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25844  SDM_EventThrea-643   (  612) [000] ...1 158025.133071: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25845  SDM_EventThrea-643   (  612) [000] ...1 158025.133208: tracing_mark_write: E
25846  SDM_EventThrea-643   (  612) [000] ...1 158025.133225: tracing_mark_write: E
25847  HwBinder:610_1-626   (  610) [001] ...1 158025.133287: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25848  HwBinder:610_1-626   (  610) [001] ...1 158025.133327: tracing_mark_write: E
25849  surfaceflinger-610   (  610) [000] ...1 158025.140446: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25850  HwBinder:612_3-11297 (  612) [002] ...1 158025.140754: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25851  HwBinder:612_3-11297 (  612) [002] ...1 158025.141059: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25852  HwBinder:612_3-11297 (  612) [002] ...1 158025.141084: tracing_mark_write: E
25853  HwBinder:612_3-11297 (  612) [002] ...1 158025.141106: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25854  HwBinder:612_3-11297 (  612) [002] ...1 158025.141933: tracing_mark_write: B|612|HWDevice::Validate::
25855  HwBinder:612_3-11297 (  612) [002] ...1 158025.142160: tracing_mark_write: E
25856  HwBinder:612_3-11297 (  612) [002] ...1 158025.142209: tracing_mark_write: E
25857  HwBinder:612_3-11297 (  612) [002] ...1 158025.142280: tracing_mark_write: E
25858  surfaceflinger-610   (  610) [000] ...1 158025.142441: tracing_mark_write: E
25859  surfaceflinger-610   (  610) [000] ...1 158025.142664: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25860  HwBinder:612_3-11297 (  612) [002] ...1 158025.142824: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25861  HwBinder:612_3-11297 (  612) [002] ...1 158025.142859: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25862  HwBinder:612_3-11297 (  612) [002] ...1 158025.142900: tracing_mark_write: B|612|HWDevice::Commit::
25863  HwBinder:612_3-11297 (  612) [002] ...1 158025.143141: tracing_mark_write: E
25864  HwBinder:612_3-11297 (  612) [002] ...1 158025.143197: tracing_mark_write: E
25865  HwBinder:612_3-11297 (  612) [002] ...1 158025.143263: tracing_mark_write: E
25866  surfaceflinger-610   (  610) [000] ...1 158025.143414: tracing_mark_write: E
25867  HwBinder:755_1-1247  (  755) [000] ...1 158025.146482: tracing_mark_write: E
25868   SensorService-1249  ( 1136) [006] ...1 158025.146684: tracing_mark_write: E
25869   SensorService-1249  ( 1136) [006] ...1 158025.146869: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25870  HwBinder:755_1-1247  (  755) [000] ...1 158025.147049: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25871  SDM_EventThrea-643   (  612) [000] ...1 158025.149774: tracing_mark_write: B|612|HWCCallbacks::Vsync::
25872  SDM_EventThrea-643   (  612) [000] ...1 158025.149797: tracing_mark_write: B|612|HIDL::IComposerCallback::onVsync::client
25873  SDM_EventThrea-643   (  612) [000] ...1 158025.149914: tracing_mark_write: E
25874  SDM_EventThrea-643   (  612) [000] ...1 158025.149930: tracing_mark_write: E
25875  HwBinder:610_1-626   (  610) [001] ...1 158025.149987: tracing_mark_write: B|610|HIDL::IComposerCallback::onVsync::server
25876  HwBinder:610_1-626   (  610) [001] ...1 158025.150081: tracing_mark_write: E
25877  surfaceflinger-610   (  610) [000] ...1 158025.157673: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25878  HwBinder:612_3-11297 (  612) [002] ...1 158025.158036: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25879  HwBinder:612_3-11297 (  612) [002] ...1 158025.158257: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25880  HwBinder:612_3-11297 (  612) [002] ...1 158025.158283: tracing_mark_write: E
25881  HwBinder:612_3-11297 (  612) [002] ...1 158025.158304: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25882  HwBinder:612_3-11297 (  612) [002] ...1 158025.159126: tracing_mark_write: B|612|HWDevice::Validate::
25883  HwBinder:612_3-11297 (  612) [002] ...1 158025.159360: tracing_mark_write: E
25884  HwBinder:612_3-11297 (  612) [002] ...1 158025.159413: tracing_mark_write: E
25885  HwBinder:612_3-11297 (  612) [002] ...1 158025.159483: tracing_mark_write: E
25886  surfaceflinger-610   (  610) [000] ...1 158025.159660: tracing_mark_write: E
25887  surfaceflinger-610   (  610) [000] ...1 158025.159900: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25888  HwBinder:612_3-11297 (  612) [002] ...1 158025.160060: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25889  HwBinder:612_3-11297 (  612) [002] ...1 158025.160097: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25890  HwBinder:612_3-11297 (  612) [002] ...1 158025.160139: tracing_mark_write: B|612|HWDevice::Commit::
25891  HwBinder:612_3-11297 (  612) [002] ...1 158025.160380: tracing_mark_write: E
25892  HwBinder:612_3-11297 (  612) [002] ...1 158025.160435: tracing_mark_write: E
25893  HwBinder:612_3-11297 (  612) [002] ...1 158025.160504: tracing_mark_write: E
25894  surfaceflinger-610   (  610) [000] ...1 158025.160658: tracing_mark_write: E
25895    EventControl-682   (  610) [001] ...1 158025.161303: tracing_mark_write: B|610|HIDL::IComposerClient::setVsyncEnabled::client
25896  HwBinder:612_3-11297 (  612) [001] ...1 158025.161510: tracing_mark_write: B|612|HIDL::IComposerClient::setVsyncEnabled::server
25897  HwBinder:612_3-11297 (  612) [001] ...1 158025.161535: tracing_mark_write: C|612|SetVsyncState |0
25898  HwBinder:612_3-11297 (  612) [001] ...1 158025.161561: tracing_mark_write: B|612|HWPrimary::SetVSyncState::
25899  HwBinder:612_3-11297 (  612) [001] ...1 158025.161608: tracing_mark_write: E
25900  HwBinder:612_3-11297 (  612) [001] ...1 158025.161629: tracing_mark_write: E
25901    EventControl-682   (  610) [001] ...1 158025.161709: tracing_mark_write: E
25902  HwBinder:755_1-1247  (  755) [000] ...1 158025.166391: tracing_mark_write: E
25903   SensorService-1249  ( 1136) [006] ...1 158025.166585: tracing_mark_write: E
25904   SensorService-1249  ( 1136) [006] ...1 158025.166765: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25905  HwBinder:755_1-1247  (  755) [000] ...1 158025.166937: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25906  surfaceflinger-610   (  610) [003] ...1 158025.173731: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25907  HwBinder:612_3-11297 (  612) [001] ...1 158025.174092: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25908  HwBinder:612_3-11297 (  612) [001] ...1 158025.174381: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25909  HwBinder:612_3-11297 (  612) [001] ...1 158025.174443: tracing_mark_write: B|612|HWDevice::Commit::
25910  HwBinder:612_3-11297 (  612) [001] ...1 158025.174702: tracing_mark_write: E
25911  HwBinder:612_3-11297 (  612) [001] ...1 158025.174773: tracing_mark_write: E
25912  HwBinder:612_3-11297 (  612) [001] ...1 158025.174863: tracing_mark_write: E
25913  surfaceflinger-610   (  610) [003] ...1 158025.175067: tracing_mark_write: E
25914  HwBinder:755_1-1247  (  755) [000] ...1 158025.187520: tracing_mark_write: E
25915   SensorService-1249  ( 1136) [006] ...1 158025.187813: tracing_mark_write: E
25916   SensorService-1249  ( 1136) [006] ...1 158025.188038: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25917  HwBinder:755_1-1247  (  755) [000] ...1 158025.188223: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25918  surfaceflinger-610   (  610) [000] ...1 158025.190449: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25919  HwBinder:612_3-11297 (  612) [001] ...1 158025.190712: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25920  HwBinder:612_3-11297 (  612) [001] ...1 158025.190927: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25921  HwBinder:612_3-11297 (  612) [001] ...1 158025.190946: tracing_mark_write: E
25922  HwBinder:612_3-11297 (  612) [001] ...1 158025.190957: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25923  HwBinder:612_3-11297 (  612) [001] ...1 158025.191617: tracing_mark_write: B|612|HWDevice::Validate::
25924  HwBinder:612_3-11297 (  612) [001] ...1 158025.191804: tracing_mark_write: E
25925  HwBinder:612_3-11297 (  612) [001] ...1 158025.191841: tracing_mark_write: E
25926  HwBinder:612_3-11297 (  612) [001] ...1 158025.191896: tracing_mark_write: E
25927  surfaceflinger-610   (  610) [000] ...1 158025.192026: tracing_mark_write: E
25928  surfaceflinger-610   (  610) [000] ...1 158025.192237: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25929  HwBinder:612_3-11297 (  612) [001] ...1 158025.192330: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25930  HwBinder:612_3-11297 (  612) [001] ...1 158025.192352: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25931  HwBinder:612_3-11297 (  612) [001] ...1 158025.192378: tracing_mark_write: B|612|HWDevice::Commit::
25932  HwBinder:612_3-11297 (  612) [001] ...1 158025.192522: tracing_mark_write: E
25933  HwBinder:612_3-11297 (  612) [001] ...1 158025.192558: tracing_mark_write: E
25934  HwBinder:612_3-11297 (  612) [001] ...1 158025.192604: tracing_mark_write: E
25935  surfaceflinger-610   (  610) [000] ...1 158025.192691: tracing_mark_write: E
25936  HwBinder:755_1-1247  (  755) [001] ...1 158025.206083: tracing_mark_write: E
25937   SensorService-1249  ( 1136) [006] ...1 158025.206240: tracing_mark_write: E
25938  surfaceflinger-610   (  610) [000] ...1 158025.206346: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25939   SensorService-1249  ( 1136) [006] ...1 158025.206364: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25940  HwBinder:755_1-1247  (  755) [001] ...1 158025.206487: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25941  HwBinder:612_3-11297 (  612) [003] ...1 158025.206524: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25942  HwBinder:612_3-11297 (  612) [003] ...1 158025.206642: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25943  HwBinder:612_3-11297 (  612) [003] ...1 158025.206654: tracing_mark_write: E
25944  HwBinder:612_3-11297 (  612) [003] ...1 158025.206662: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
25945  HwBinder:612_3-11297 (  612) [003] ...1 158025.207146: tracing_mark_write: B|612|HWDevice::Validate::
25946  HwBinder:612_3-11297 (  612) [003] ...1 158025.207255: tracing_mark_write: E
25947  HwBinder:612_3-11297 (  612) [003] ...1 158025.207282: tracing_mark_write: E
25948  HwBinder:612_3-11297 (  612) [003] ...1 158025.207322: tracing_mark_write: E
25949  surfaceflinger-610   (  610) [000] ...1 158025.207422: tracing_mark_write: E
25950  surfaceflinger-610   (  610) [000] ...1 158025.207594: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25951  HwBinder:612_3-11297 (  612) [003] ...1 158025.207669: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25952  HwBinder:612_3-11297 (  612) [003] ...1 158025.207685: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25953  HwBinder:612_3-11297 (  612) [003] ...1 158025.207705: tracing_mark_write: B|612|HWDevice::Commit::
25954  HwBinder:612_3-11297 (  612) [003] ...1 158025.207824: tracing_mark_write: E
25955  HwBinder:612_3-11297 (  612) [003] ...1 158025.207852: tracing_mark_write: E
25956  HwBinder:612_3-11297 (  612) [003] ...1 158025.207882: tracing_mark_write: E
25957  surfaceflinger-610   (  610) [000] ...1 158025.207940: tracing_mark_write: E
25958  surfaceflinger-610   (  610) [000] ...1 158025.223025: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25959  HwBinder:612_3-11297 (  612) [003] ...1 158025.223216: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25960  HwBinder:612_3-11297 (  612) [003] ...1 158025.223312: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25961  HwBinder:612_3-11297 (  612) [003] ...1 158025.223338: tracing_mark_write: B|612|HWDevice::Commit::
25962  HwBinder:612_3-11297 (  612) [003] ...1 158025.223457: tracing_mark_write: E
25963  HwBinder:612_3-11297 (  612) [003] ...1 158025.223490: tracing_mark_write: E
25964  HwBinder:612_3-11297 (  612) [003] ...1 158025.223566: tracing_mark_write: E
25965  surfaceflinger-610   (  610) [000] ...1 158025.223655: tracing_mark_write: E
25966  HwBinder:755_1-1247  (  755) [000] ...1 158025.225962: tracing_mark_write: E
25967   SensorService-1249  ( 1136) [006] ...1 158025.226037: tracing_mark_write: E
25968   SensorService-1249  ( 1136) [006] ...1 158025.226114: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25969  sensors@1.0-se-755   (  755) [000] ...1 158025.226204: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25970  surfaceflinger-610   (  610) [000] ...1 158025.240363: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25971  HwBinder:612_3-11297 (  612) [003] ...1 158025.240685: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25972  HwBinder:612_3-11297 (  612) [003] ...1 158025.241119: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25973  HwBinder:612_3-11297 (  612) [003] ...1 158025.241177: tracing_mark_write: B|612|HWDevice::Commit::
25974  HwBinder:612_3-11297 (  612) [003] ...1 158025.241417: tracing_mark_write: E
25975  HwBinder:612_3-11297 (  612) [003] ...1 158025.241652: tracing_mark_write: E
25976  HwBinder:612_3-11297 (  612) [003] ...1 158025.241726: tracing_mark_write: E
25977  surfaceflinger-610   (  610) [000] ...1 158025.241983: tracing_mark_write: E
25978  sensors@1.0-se-755   (  755) [000] ...1 158025.246218: tracing_mark_write: E
25979   SensorService-1249  ( 1136) [006] ...1 158025.246330: tracing_mark_write: E
25980   SensorService-1249  ( 1136) [006] ...1 158025.246412: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25981  sensors@1.0-se-755   (  755) [000] ...1 158025.246531: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25982  surfaceflinger-610   (  610) [003] ...1 158025.257073: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25983  HwBinder:612_3-11297 (  612) [000] ...1 158025.257345: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25984  HwBinder:612_3-11297 (  612) [000] ...1 158025.257516: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25985  HwBinder:612_3-11297 (  612) [000] ...1 158025.257613: tracing_mark_write: B|612|HWDevice::Commit::
25986  HwBinder:612_3-11297 (  612) [000] ...1 158025.257821: tracing_mark_write: E
25987  HwBinder:612_3-11297 (  612) [000] ...1 158025.257884: tracing_mark_write: E
25988  HwBinder:612_3-11297 (  612) [000] ...1 158025.257957: tracing_mark_write: E
25989  surfaceflinger-610   (  610) [003] ...1 158025.258181: tracing_mark_write: E
25990  sensors@1.0-se-755   (  755) [000] ...1 158025.266090: tracing_mark_write: E
25991   SensorService-1249  ( 1136) [006] ...1 158025.266187: tracing_mark_write: E
25992   SensorService-1249  ( 1136) [006] ...1 158025.266258: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
25993  sensors@1.0-se-755   (  755) [000] ...1 158025.266352: tracing_mark_write: B|755|HIDL::ISensors::poll::server
25994  surfaceflinger-610   (  610) [000] ...1 158025.273478: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
25995  HwBinder:612_3-11297 (  612) [002] ...1 158025.273712: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
25996  HwBinder:612_3-11297 (  612) [002] ...1 158025.273867: tracing_mark_write: B|612|HWCSession::PresentDisplay::
25997  HwBinder:612_3-11297 (  612) [002] ...1 158025.273908: tracing_mark_write: B|612|HWDevice::Commit::
25998  HwBinder:612_3-11297 (  612) [002] ...1 158025.274097: tracing_mark_write: E
25999  HwBinder:612_3-11297 (  612) [002] ...1 158025.274150: tracing_mark_write: E
26000  HwBinder:612_3-11297 (  612) [002] ...1 158025.274254: tracing_mark_write: E
26001  surfaceflinger-610   (  610) [000] ...1 158025.274388: tracing_mark_write: E
26002  sensors@1.0-se-755   (  755) [000] ...1 158025.286022: tracing_mark_write: E
26003   SensorService-1249  ( 1136) [006] ...1 158025.286108: tracing_mark_write: E
26004   SensorService-1249  ( 1136) [006] ...1 158025.286178: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26005  sensors@1.0-se-755   (  755) [000] ...1 158025.286258: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26006  surfaceflinger-610   (  610) [000] ...1 158025.289626: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26007  HwBinder:612_3-11297 (  612) [002] ...1 158025.289770: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26008  HwBinder:612_3-11297 (  612) [002] ...1 158025.289875: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26009  HwBinder:612_3-11297 (  612) [002] ...1 158025.289888: tracing_mark_write: E
26010  HwBinder:612_3-11297 (  612) [002] ...1 158025.289898: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
26011  HwBinder:612_3-11297 (  612) [002] ...1 158025.290383: tracing_mark_write: B|612|HWDevice::Validate::
26012  HwBinder:612_3-11297 (  612) [002] ...1 158025.290486: tracing_mark_write: E
26013  HwBinder:612_3-11297 (  612) [002] ...1 158025.290517: tracing_mark_write: E
26014  HwBinder:612_3-11297 (  612) [002] ...1 158025.290556: tracing_mark_write: E
26015  surfaceflinger-610   (  610) [000] ...1 158025.290666: tracing_mark_write: E
26016  surfaceflinger-610   (  610) [000] ...1 158025.290804: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26017  HwBinder:612_3-11297 (  612) [002] ...1 158025.290948: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26018  HwBinder:612_3-11297 (  612) [002] ...1 158025.290973: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26019  HwBinder:612_3-11297 (  612) [002] ...1 158025.290996: tracing_mark_write: B|612|HWDevice::Commit::
26020  HwBinder:612_3-11297 (  612) [002] ...1 158025.291137: tracing_mark_write: E
26021  HwBinder:612_3-11297 (  612) [002] ...1 158025.291173: tracing_mark_write: E
26022  HwBinder:612_3-11297 (  612) [002] ...1 158025.291213: tracing_mark_write: E
26023  surfaceflinger-610   (  610) [000] ...1 158025.291301: tracing_mark_write: E
26024  Binder:1136_10-4278  ( 1136) [001] ...1 158025.293085: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
26025  Binder:1136_10-4278  ( 1136) [001] ...1 158025.293177: tracing_mark_write: E
26026  power@1.1-serv-754   (  754) [002] ...1 158025.293233: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
26027  power@1.1-serv-754   (  754) [002] ...1 158025.293405: tracing_mark_write: E
26028  sensors@1.0-se-755   (  755) [001] ...1 158025.306119: tracing_mark_write: E
26029   SensorService-1249  ( 1136) [006] ...1 158025.306227: tracing_mark_write: E
26030   SensorService-1249  ( 1136) [006] ...1 158025.306299: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26031  HwBinder:755_1-1247  (  755) [003] ...1 158025.306457: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26032  surfaceflinger-610   (  610) [000] ...1 158025.306938: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26033  HwBinder:612_3-11297 (  612) [002] ...1 158025.307141: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26034  HwBinder:612_3-11297 (  612) [002] ...1 158025.307281: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26035  HwBinder:612_3-11297 (  612) [002] ...1 158025.307298: tracing_mark_write: E
26036  HwBinder:612_3-11297 (  612) [002] ...1 158025.307312: tracing_mark_write: B|612|HWCSession::ValidateDisplay::
26037  HwBinder:612_3-11297 (  612) [002] ...1 158025.307904: tracing_mark_write: B|612|HWDevice::Validate::
26038  HwBinder:612_3-11297 (  612) [002] ...1 158025.308055: tracing_mark_write: E
26039  HwBinder:612_3-11297 (  612) [002] ...1 158025.308089: tracing_mark_write: E
26040  HwBinder:612_3-11297 (  612) [002] ...1 158025.308134: tracing_mark_write: E
26041  surfaceflinger-610   (  610) [000] ...1 158025.308291: tracing_mark_write: E
26042  surfaceflinger-610   (  610) [000] ...1 158025.308454: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26043  HwBinder:612_3-11297 (  612) [002] ...1 158025.308563: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26044  HwBinder:612_3-11297 (  612) [002] ...1 158025.308589: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26045  HwBinder:612_3-11297 (  612) [002] ...1 158025.308616: tracing_mark_write: B|612|HWDevice::Commit::
26046  HwBinder:612_3-11297 (  612) [002] ...1 158025.308781: tracing_mark_write: E
26047  HwBinder:612_3-11297 (  612) [002] ...1 158025.308818: tracing_mark_write: E
26048  HwBinder:612_3-11297 (  612) [002] ...1 158025.308861: tracing_mark_write: E
26049  surfaceflinger-610   (  610) [000] ...1 158025.308963: tracing_mark_write: E
26050  surfaceflinger-610   (  610) [000] ...1 158025.323267: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26051  HwBinder:612_3-11297 (  612) [002] ...1 158025.323425: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26052  HwBinder:612_3-11297 (  612) [002] ...1 158025.323538: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26053  HwBinder:612_3-11297 (  612) [002] ...1 158025.323564: tracing_mark_write: B|612|HWDevice::Commit::
26054  HwBinder:612_3-11297 (  612) [002] ...1 158025.323702: tracing_mark_write: E
26055  HwBinder:612_3-11297 (  612) [002] ...1 158025.323737: tracing_mark_write: E
26056  HwBinder:612_3-11297 (  612) [002] ...1 158025.323781: tracing_mark_write: E
26057  surfaceflinger-610   (  610) [000] ...1 158025.323891: tracing_mark_write: E
26058  HwBinder:755_1-1247  (  755) [000] ...1 158025.326231: tracing_mark_write: E
26059   SensorService-1249  ( 1136) [006] ...1 158025.326325: tracing_mark_write: E
26060   SensorService-1249  ( 1136) [006] ...1 158025.326392: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26061  HwBinder:755_1-1247  (  755) [000] ...1 158025.326502: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26062  surfaceflinger-610   (  610) [000] ...1 158025.341406: tracing_mark_write: B|610|HIDL::IComposerClient::executeCommands::client
26063  HwBinder:612_3-11297 (  612) [002] ...1 158025.341775: tracing_mark_write: B|612|HIDL::IComposerClient::executeCommands::server
26064  HwBinder:612_3-11297 (  612) [002] ...1 158025.341995: tracing_mark_write: B|612|HWCSession::PresentDisplay::
26065  HwBinder:612_3-11297 (  612) [002] ...1 158025.342056: tracing_mark_write: B|612|HWDevice::Commit::
26066  HwBinder:612_3-11297 (  612) [002] ...1 158025.342340: tracing_mark_write: E
26067  HwBinder:612_3-11297 (  612) [002] ...1 158025.342412: tracing_mark_write: E
26068  HwBinder:612_3-11297 (  612) [002] ...1 158025.342504: tracing_mark_write: E
26069  surfaceflinger-610   (  610) [000] ...1 158025.342997: tracing_mark_write: E
26070  HwBinder:755_1-1247  (  755) [001] ...1 158025.348437: tracing_mark_write: E
26071   SensorService-1249  ( 1136) [006] ...1 158025.348657: tracing_mark_write: E
26072   SensorService-1249  ( 1136) [006] ...1 158025.348844: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26073  HwBinder:755_1-1247  (  755) [001] ...1 158025.349457: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26074  Binder:1136_10-4278  ( 1136) [001] ...1 158025.364442: tracing_mark_write: B|1136|HIDL::IPower::powerHintAsync::client
26075  Binder:1136_10-4278  ( 1136) [001] ...1 158025.364685: tracing_mark_write: E
26076  power@1.1-serv-754   (  754) [002] ...1 158025.365034: tracing_mark_write: B|754|HIDL::IPower::powerHintAsync::server
26077  power@1.1-serv-754   (  754) [002] ...1 158025.365536: tracing_mark_write: E
26078  HwBinder:755_1-1247  (  755) [001] ...1 158025.368388: tracing_mark_write: E
26079   SensorService-1249  ( 1136) [006] ...1 158025.368571: tracing_mark_write: E
26080   SensorService-1249  ( 1136) [006] ...1 158025.368695: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26081  HwBinder:755_1-1247  (  755) [001] ...1 158025.369367: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26082  HwBinder:755_1-1247  (  755) [001] ...1 158025.388675: tracing_mark_write: E
26083   SensorService-1249  ( 1136) [006] ...1 158025.388824: tracing_mark_write: E
26084   SensorService-1249  ( 1136) [006] ...1 158025.388931: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26085  HwBinder:755_1-1247  (  755) [001] ...1 158025.389691: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26086  HwBinder:755_1-1247  (  755) [001] ...1 158025.408655: tracing_mark_write: E
26087   SensorService-1249  ( 1136) [006] ...1 158025.408877: tracing_mark_write: E
26088   SensorService-1249  ( 1136) [006] ...1 158025.408985: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26089  HwBinder:755_1-1247  (  755) [001] ...1 158025.409183: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26090  HwBinder:755_1-1247  (  755) [001] ...1 158025.428032: tracing_mark_write: E
26091   SensorService-1249  ( 1136) [006] ...1 158025.428206: tracing_mark_write: E
26092   SensorService-1249  ( 1136) [006] ...1 158025.428284: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26093  sensors@1.0-se-755   (  755) [001] ...1 158025.428454: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26094  sensors@1.0-se-755   (  755) [001] ...1 158025.447910: tracing_mark_write: E
26095   SensorService-1249  ( 1136) [006] ...1 158025.448067: tracing_mark_write: E
26096   SensorService-1249  ( 1136) [006] ...1 158025.448148: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26097  sensors@1.0-se-755   (  755) [001] ...1 158025.448315: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26098  sensors@1.0-se-755   (  755) [003] ...1 158025.467816: tracing_mark_write: E
26099   SensorService-1249  ( 1136) [006] ...1 158025.468182: tracing_mark_write: E
26100   SensorService-1249  ( 1136) [006] ...1 158025.468267: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26101  sensors@1.0-se-755   (  755) [003] ...1 158025.468806: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26102  sensors@1.0-se-755   (  755) [003] ...1 158025.487334: tracing_mark_write: E
26103   SensorService-1249  ( 1136) [006] ...1 158025.487573: tracing_mark_write: E
26104   SensorService-1249  ( 1136) [006] ...1 158025.487658: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26105  sensors@1.0-se-755   (  755) [003] ...1 158025.487830: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26106  sensors@1.0-se-755   (  755) [003] ...1 158025.507999: tracing_mark_write: E
26107   SensorService-1249  ( 1136) [006] ...1 158025.509168: tracing_mark_write: E
26108   SensorService-1249  ( 1136) [006] ...1 158025.509290: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26109  sensors@1.0-se-755   (  755) [003] ...1 158025.509772: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26110  sensors@1.0-se-755   (  755) [003] ...1 158025.530003: tracing_mark_write: E
26111   SensorService-1249  ( 1136) [006] ...1 158025.531768: tracing_mark_write: E
26112   SensorService-1249  ( 1136) [006] ...1 158025.532217: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26113  sensors@1.0-se-755   (  755) [003] ...1 158025.532978: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26114  sensors@1.0-se-755   (  755) [003] ...1 158025.549862: tracing_mark_write: E
26115   SensorService-1249  ( 1136) [006] ...1 158025.551817: tracing_mark_write: E
26116   SensorService-1249  ( 1136) [006] ...1 158025.552194: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26117  sensors@1.0-se-755   (  755) [003] ...1 158025.554059: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26118  sensors@1.0-se-755   (  755) [003] ...1 158025.572922: tracing_mark_write: E
26119   SensorService-1249  ( 1136) [006] ...1 158025.573827: tracing_mark_write: E
26120   SensorService-1249  ( 1136) [006] ...1 158025.574121: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26121  sensors@1.0-se-755   (  755) [003] ...1 158025.574850: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26122  sensors@1.0-se-755   (  755) [003] ...1 158025.588800: tracing_mark_write: E
26123   SensorService-1249  ( 1136) [006] ...1 158025.589453: tracing_mark_write: E
26124   SensorService-1249  ( 1136) [006] ...1 158025.589678: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26125  sensors@1.0-se-755   (  755) [003] ...1 158025.590304: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26126  sensors@1.0-se-755   (  755) [003] ...1 158025.609373: tracing_mark_write: E
26127   SensorService-1249  ( 1136) [006] ...1 158025.610135: tracing_mark_write: E
26128   SensorService-1249  ( 1136) [006] ...1 158025.610373: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26129  sensors@1.0-se-755   (  755) [003] ...1 158025.611011: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26130  sensors@1.0-se-755   (  755) [003] ...1 158025.628783: tracing_mark_write: E
26131   SensorService-1249  ( 1136) [006] ...1 158025.629466: tracing_mark_write: E
26132   SensorService-1249  ( 1136) [006] ...1 158025.629711: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26133  sensors@1.0-se-755   (  755) [003] ...1 158025.630364: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26134  sensors@1.0-se-755   (  755) [003] ...1 158025.649393: tracing_mark_write: E
26135   SensorService-1249  ( 1136) [006] ...1 158025.650156: tracing_mark_write: E
26136   SensorService-1249  ( 1136) [006] ...1 158025.650420: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26137  sensors@1.0-se-755   (  755) [003] ...1 158025.651105: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26138  sensors@1.0-se-755   (  755) [003] ...1 158025.667367: tracing_mark_write: E
26139   SensorService-1249  ( 1136) [006] ...1 158025.668774: tracing_mark_write: E
26140   SensorService-1249  ( 1136) [006] ...1 158025.669004: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26141  sensors@1.0-se-755   (  755) [003] ...1 158025.669125: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26142  sensors@1.0-se-755   (  755) [000] ...1 158025.687181: tracing_mark_write: E
26143   SensorService-1249  ( 1136) [006] ...1 158025.688400: tracing_mark_write: E
26144   SensorService-1249  ( 1136) [006] ...1 158025.688683: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26145  sensors@1.0-se-755   (  755) [000] ...1 158025.688858: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26146  sensors@1.0-se-755   (  755) [000] ...1 158025.708629: tracing_mark_write: E
26147   SensorService-1249  ( 1136) [006] ...1 158025.708814: tracing_mark_write: E
26148   SensorService-1249  ( 1136) [006] ...1 158025.709035: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26149  sensors@1.0-se-755   (  755) [000] ...1 158025.709616: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26150  sensors@1.0-se-755   (  755) [000] ...1 158025.728196: tracing_mark_write: E
26151   SensorService-1249  ( 1136) [006] ...1 158025.728808: tracing_mark_write: E
26152   SensorService-1249  ( 1136) [006] ...1 158025.729045: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26153  sensors@1.0-se-755   (  755) [000] ...1 158025.729194: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26154  sensors@1.0-se-755   (  755) [000] ...1 158025.747967: tracing_mark_write: E
26155   SensorService-1249  ( 1136) [006] ...1 158025.748386: tracing_mark_write: E
26156   SensorService-1249  ( 1136) [006] ...1 158025.748609: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26157  sensors@1.0-se-755   (  755) [000] ...1 158025.748989: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26158          atrace-13734 (13734) [000] ...1 158025.760100: tracing_mark_write: B|13734|HIDL::IServiceManager::list::client
26159  hwservicemanag-584   (  584) [003] ...1 158025.760445: tracing_mark_write: B|584|HIDL::IServiceManager::list::server
26160  hwservicemanag-584   (  584) [003] ...1 158025.761032: tracing_mark_write: E
26161          atrace-13734 (13734) [003] ...1 158025.761238: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26162  hwservicemanag-584   (  584) [003] ...1 158025.761290: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26163  hwservicemanag-584   (  584) [003] ...1 158025.761541: tracing_mark_write: E
26164          atrace-13734 (13734) [003] ...1 158025.761621: tracing_mark_write: E
26165          atrace-13734 (13734) [003] ...1 158025.761637: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26166          atrace-13734 (13734) [003] ...1 158025.761671: tracing_mark_write: E
26167          atrace-13734 (13734) [003] ...1 158025.761695: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26168  hwservicemanag-584   (  584) [003] ...1 158025.761735: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26169  HwBinder:610_1-626   (  610) [000] ...1 158025.761868: tracing_mark_write: B|610|HIDL::IBase::notifySyspropsChanged::server
26170  hwservicemanag-584   (  584) [003] ...1 158025.761883: tracing_mark_write: E
26171          atrace-13734 (13734) [003] ...1 158025.761953: tracing_mark_write: E
26172          atrace-13734 (13734) [003] ...1 158025.761959: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26173  HwBinder:610_1-626   (  610) [000] ...1 158025.761973: tracing_mark_write: E
26174          atrace-13734 (13734) [003] ...1 158025.761994: tracing_mark_write: E
26175          atrace-13734 (13734) [003] ...1 158025.762006: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26176  hwservicemanag-584   (  584) [003] ...1 158025.762045: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26177  hwservicemanag-584   (  584) [003] ...1 158025.762175: tracing_mark_write: E
26178          atrace-13734 (13734) [003] ...1 158025.762223: tracing_mark_write: E
26179          atrace-13734 (13734) [003] ...1 158025.762229: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26180          atrace-13734 (13734) [003] ...1 158025.762254: tracing_mark_write: E
26181          atrace-13734 (13734) [003] ...1 158025.762267: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26182  hwservicemanag-584   (  584) [003] ...1 158025.762309: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26183  HwBinder:1136_-1300  ( 1136) [001] ...1 158025.762392: tracing_mark_write: B|1136|HIDL::IBase::notifySyspropsChanged::server
26184  hwservicemanag-584   (  584) [003] ...1 158025.762430: tracing_mark_write: E
26185  HwBinder:1136_-1267  ( 1136) [000] ...1 158025.762436: tracing_mark_write: B|1136|HIDL::IBase::notifySyspropsChanged::server
26186          atrace-13734 (13734) [003] ...1 158025.762503: tracing_mark_write: E
26187          atrace-13734 (13734) [003] ...1 158025.762510: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26188          atrace-13734 (13734) [003] ...1 158025.762564: tracing_mark_write: E
26189          atrace-13734 (13734) [003] ...1 158025.762577: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26190  hwservicemanag-584   (  584) [003] ...1 158025.762621: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26191  hwservicemanag-584   (  584) [003] ...1 158025.762752: tracing_mark_write: E
26192          atrace-13734 (13734) [003] ...1 158025.762807: tracing_mark_write: E
26193          atrace-13734 (13734) [003] ...1 158025.762814: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26194          atrace-13734 (13734) [003] ...1 158025.762845: tracing_mark_write: E
26195          atrace-13734 (13734) [003] ...1 158025.762862: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26196  HwBinder:1136_-1267  ( 1136) [000] ...1 158025.762879: tracing_mark_write: E
26197  hwservicemanag-584   (  584) [003] ...1 158025.762910: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26198  audio@2.0-serv-734   (  734) [002] ...1 158025.762939: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server
26199  hwservicemanag-584   (  584) [003] ...1 158025.763066: tracing_mark_write: E
26200          atrace-13734 (13734) [003] ...1 158025.763146: tracing_mark_write: E
26201          atrace-13734 (13734) [003] ...1 158025.763153: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26202          atrace-13734 (13734) [003] ...1 158025.763207: tracing_mark_write: E
26203  HwBinder:1136_-1300  ( 1136) [001] ...1 158025.763208: tracing_mark_write: E
26204          atrace-13734 (13734) [003] ...1 158025.763222: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26205  audio@2.0-serv-734   (  734) [002] ...1 158025.763237: tracing_mark_write: E
26206  hwservicemanag-584   (  584) [003] ...1 158025.763268: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26207  HwBinder:859_1-1104  (  859) [000] ...1 158025.763313: tracing_mark_write: B|859|HIDL::IBase::notifySyspropsChanged::server
26208  HwBinder:734_2-1170  (  734) [006] ...1 158025.763329: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server
26209  hwservicemanag-584   (  584) [003] ...1 158025.763418: tracing_mark_write: E
26210          atrace-13734 (13734) [003] ...1 158025.763491: tracing_mark_write: E
26211          atrace-13734 (13734) [003] ...1 158025.763498: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26212  HwBinder:859_1-1104  (  859) [000] ...1 158025.763522: tracing_mark_write: E
26213          atrace-13734 (13734) [004] ...1 158025.763640: tracing_mark_write: E
26214  HwBinder:734_2-1170  (  734) [006] ...1 158025.763721: tracing_mark_write: E
26215          atrace-13734 (13734) [004] ...1 158025.763746: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26216  hwservicemanag-584   (  584) [003] ...1 158025.764134: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26217  HwBinder:735_1-13239 (  735) [005] ...1 158025.764135: tracing_mark_write: B|735|HIDL::IBase::notifySyspropsChanged::server
26218  hwservicemanag-584   (  584) [003] ...1 158025.764399: tracing_mark_write: E
26219          atrace-13734 (13734) [003] ...1 158025.764563: tracing_mark_write: E
26220          atrace-13734 (13734) [003] ...1 158025.764580: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26221  HwBinder:735_1-13239 (  735) [005] ...1 158025.764720: tracing_mark_write: E
26222  boot@1.0-servi-606   (  606) [004] ...1 158025.764819: tracing_mark_write: B|606|HIDL::IBase::notifySyspropsChanged::server
26223  boot@1.0-servi-606   (  606) [004] ...1 158025.765322: tracing_mark_write: E
26224          atrace-13734 (13734) [004] ...1 158025.765566: tracing_mark_write: E
26225          atrace-13734 (13734) [004] ...1 158025.765627: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26226  hwservicemanag-584   (  584) [003] ...1 158025.765980: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26227  hwservicemanag-584   (  584) [003] ...1 158025.766127: tracing_mark_write: E
26228          atrace-13734 (13734) [003] ...1 158025.766208: tracing_mark_write: E
26229          atrace-13734 (13734) [003] ...1 158025.766219: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26230          atrace-13734 (13734) [003] ...1 158025.766278: tracing_mark_write: E
26231          atrace-13734 (13734) [003] ...1 158025.766293: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26232  hwservicemanag-584   (  584) [001] ...1 158025.766382: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26233  HwBinder:736_3-1809  (  736) [004] ...1 158025.766501: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server
26234  hwservicemanag-584   (  584) [001] ...1 158025.766522: tracing_mark_write: E
26235          atrace-13734 (13734) [001] ...1 158025.766578: tracing_mark_write: E
26236          atrace-13734 (13734) [001] ...1 158025.766585: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26237          atrace-13734 (13734) [001] ...1 158025.766643: tracing_mark_write: E
26238          atrace-13734 (13734) [001] ...1 158025.766657: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26239  hwservicemanag-584   (  584) [001] ...1 158025.766699: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26240  hwservicemanag-584   (  584) [001] ...1 158025.766835: tracing_mark_write: E
26241  HwBinder:736_3-1809  (  736) [004] ...1 158025.766973: tracing_mark_write: E
26242  cas@1.0-servic-737   (  737) [007] ...1 158025.767109: tracing_mark_write: B|737|HIDL::IBase::notifySyspropsChanged::server
26243  sensors@1.0-se-755   (  755) [001] ...1 158025.767171: tracing_mark_write: E
26244          atrace-13734 (13734) [001] ...1 158025.767304: tracing_mark_write: E
26245          atrace-13734 (13734) [001] ...1 158025.767311: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26246          atrace-13734 (13734) [001] ...1 158025.767362: tracing_mark_write: E
26247          atrace-13734 (13734) [001] ...1 158025.767375: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26248  hwservicemanag-584   (  584) [001] ...1 158025.767424: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26249  hwservicemanag-584   (  584) [001] ...1 158025.767575: tracing_mark_write: E
26250   SensorService-1249  ( 1136) [006] ...1 158025.767583: tracing_mark_write: E
26251  HwBinder:13242-13554 (13242) [000] ...1 158025.767638: tracing_mark_write: B|13242|HIDL::IBase::notifySyspropsChanged::server
26252          atrace-13734 (13734) [001] ...1 158025.767649: tracing_mark_write: E
26253          atrace-13734 (13734) [001] ...1 158025.767656: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26254   SensorService-1249  ( 1136) [006] ...1 158025.767691: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26255  cas@1.0-servic-737   (  737) [007] ...1 158025.767706: tracing_mark_write: E
26256  sensors@1.0-se-755   (  755) [001] ...1 158025.767804: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26257  contexthub@1.0-738   (  738) [001] ...1 158025.767882: tracing_mark_write: B|738|HIDL::IBase::notifySyspropsChanged::server
26258  contexthub@1.0-738   (  738) [001] ...1 158025.768129: tracing_mark_write: E
26259          atrace-13734 (13734) [001] ...1 158025.768178: tracing_mark_write: E
26260          atrace-13734 (13734) [001] ...1 158025.768195: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26261  hwservicemanag-584   (  584) [001] ...1 158025.768253: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26262  hwservicemanag-584   (  584) [001] ...1 158025.768410: tracing_mark_write: E
26263          atrace-13734 (13734) [001] ...1 158025.768490: tracing_mark_write: E
26264          atrace-13734 (13734) [001] ...1 158025.768497: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26265          atrace-13734 (13734) [001] ...1 158025.768571: tracing_mark_write: E
26266          atrace-13734 (13734) [001] ...1 158025.768585: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26267  hwservicemanag-584   (  584) [001] ...1 158025.768633: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26268  hwservicemanag-584   (  584) [001] ...1 158025.768762: tracing_mark_write: E
26269          atrace-13734 (13734) [001] ...1 158025.768836: tracing_mark_write: E
26270          atrace-13734 (13734) [001] ...1 158025.768843: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26271          atrace-13734 (13734) [001] ...1 158025.768891: tracing_mark_write: E
26272          atrace-13734 (13734) [001] ...1 158025.768905: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26273  hwservicemanag-584   (  584) [001] ...1 158025.768949: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26274  hwservicemanag-584   (  584) [001] ...1 158025.769064: tracing_mark_write: E
26275  HwBinder:739_1-3562  (  739) [007] ...1 158025.769079: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server
26276          atrace-13734 (13734) [001] ...1 158025.769113: tracing_mark_write: E
26277          atrace-13734 (13734) [001] ...1 158025.769120: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26278          atrace-13734 (13734) [001] ...1 158025.769156: tracing_mark_write: E
26279          atrace-13734 (13734) [001] ...1 158025.769168: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26280  hwservicemanag-584   (  584) [001] ...1 158025.769208: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26281  hwservicemanag-584   (  584) [001] ...1 158025.769313: tracing_mark_write: E
26282          atrace-13734 (13734) [001] ...1 158025.769395: tracing_mark_write: E
26283  drm@1.0-servic-740   (  740) [006] ...1 158025.769398: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
26284          atrace-13734 (13734) [001] ...1 158025.769401: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26285  HwBinder:740_2-12908 (  740) [001] ...1 158025.769504: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
26286  HwBinder:739_1-3562  (  739) [007] ...1 158025.769599: tracing_mark_write: E
26287  HwBinder:740_2-12908 (  740) [001] ...1 158025.769758: tracing_mark_write: E
26288          atrace-13734 (13734) [001] ...1 158025.769835: tracing_mark_write: E
26289          atrace-13734 (13734) [001] ...1 158025.769851: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26290  drm@1.0-servic-739   (  739) [007] ...1 158025.769887: tracing_mark_write: B|739|HIDL::IBase::notifySyspropsChanged::server
26291  hwservicemanag-584   (  584) [001] ...1 158025.769900: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26292  drm@1.0-servic-740   (  740) [006] ...1 158025.769932: tracing_mark_write: E
26293  hwservicemanag-584   (  584) [001] ...1 158025.770060: tracing_mark_write: E
26294          atrace-13734 (13734) [001] ...1 158025.770139: tracing_mark_write: E
26295          atrace-13734 (13734) [001] ...1 158025.770146: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26296          atrace-13734 (13734) [001] ...1 158025.770208: tracing_mark_write: E
26297  drm@1.0-servic-739   (  739) [007] ...1 158025.770220: tracing_mark_write: E
26298          atrace-13734 (13734) [001] ...1 158025.770222: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26299  hwservicemanag-584   (  584) [001] ...1 158025.770270: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26300  hwservicemanag-584   (  584) [001] ...1 158025.770396: tracing_mark_write: E
26301          atrace-13734 (13734) [001] ...1 158025.770464: tracing_mark_write: E
26302          atrace-13734 (13734) [001] ...1 158025.770470: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26303          atrace-13734 (13734) [001] ...1 158025.770530: tracing_mark_write: E
26304          atrace-13734 (13734) [001] ...1 158025.770543: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26305  dumpstate@1.0--741   (  741) [000] ...1 158025.770544: tracing_mark_write: B|741|HIDL::IBase::notifySyspropsChanged::server
26306  hwservicemanag-584   (  584) [001] ...1 158025.770590: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26307  hwservicemanag-584   (  584) [001] ...1 158025.770692: tracing_mark_write: E
26308          atrace-13734 (13734) [001] ...1 158025.770759: tracing_mark_write: E
26309          atrace-13734 (13734) [001] ...1 158025.770765: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26310  dumpstate@1.0--741   (  741) [000] ...1 158025.770787: tracing_mark_write: E
26311          atrace-13734 (13734) [001] ...1 158025.770826: tracing_mark_write: E
26312          atrace-13734 (13734) [001] ...1 158025.770839: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26313  hwservicemanag-584   (  584) [001] ...1 158025.770920: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26314  gnss@1.0-servi-742   (  742) [005] ...1 158025.771049: tracing_mark_write: B|742|HIDL::IBase::notifySyspropsChanged::server
26315  hwservicemanag-584   (  584) [001] ...1 158025.771050: tracing_mark_write: E
26316          atrace-13734 (13734) [001] ...1 158025.771115: tracing_mark_write: E
26317          atrace-13734 (13734) [001] ...1 158025.771122: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26318          atrace-13734 (13734) [001] ...1 158025.771170: tracing_mark_write: E
26319          atrace-13734 (13734) [001] ...1 158025.771183: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26320  hwservicemanag-584   (  584) [001] ...1 158025.771230: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26321  hwservicemanag-584   (  584) [001] ...1 158025.771363: tracing_mark_write: E
26322  HwBinder:614_1-982   (  614) [000] ...1 158025.771407: tracing_mark_write: B|614|HIDL::IBase::notifySyspropsChanged::server
26323          atrace-13734 (13734) [001] ...1 158025.771408: tracing_mark_write: E
26324          atrace-13734 (13734) [001] ...1 158025.771414: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26325          atrace-13734 (13734) [001] ...1 158025.771468: tracing_mark_write: E
26326          atrace-13734 (13734) [001] ...1 158025.771481: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26327  gnss@1.0-servi-742   (  742) [005] ...1 158025.771502: tracing_mark_write: E
26328  hwservicemanag-584   (  584) [001] ...1 158025.771528: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26329  HwBinder:614_1-982   (  614) [000] ...1 158025.771644: tracing_mark_write: E
26330  hwservicemanag-584   (  584) [001] ...1 158025.771649: tracing_mark_write: E
26331          atrace-13734 (13734) [001] ...1 158025.771698: tracing_mark_write: E
26332          atrace-13734 (13734) [001] ...1 158025.771705: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26333  HwBinder:612_3-11297 (  612) [002] ...1 158025.771707: tracing_mark_write: B|612|HIDL::IBase::notifySyspropsChanged::server
26334          atrace-13734 (13734) [001] ...1 158025.771746: tracing_mark_write: E
26335  HwBinder:612_3-11297 (  612) [002] ...1 158025.771929: tracing_mark_write: E
26336          atrace-13734 (13734) [001] ...1 158025.772768: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26337  hwservicemanag-584   (  584) [001] ...1 158025.772815: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26338  hwservicemanag-584   (  584) [001] ...1 158025.772977: tracing_mark_write: E
26339          atrace-13734 (13734) [001] ...1 158025.773030: tracing_mark_write: E
26340          atrace-13734 (13734) [001] ...1 158025.773036: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26341          atrace-13734 (13734) [001] ...1 158025.773101: tracing_mark_write: E
26342          atrace-13734 (13734) [001] ...1 158025.773116: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26343  hwservicemanag-584   (  584) [001] ...1 158025.773160: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26344  hwservicemanag-584   (  584) [001] ...1 158025.773261: tracing_mark_write: E
26345  keyprimary@3.0--608   (  608) [005] ...1 158025.773265: tracing_mark_write: B|608|HIDL::IBase::notifySyspropsChanged::server
26346          atrace-13734 (13734) [001] ...1 158025.773328: tracing_mark_write: E
26347          atrace-13734 (13734) [001] ...1 158025.773335: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26348          atrace-13734 (13734) [001] ...1 158025.773389: tracing_mark_write: E
26349          atrace-13734 (13734) [001] ...1 158025.773403: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26350  light@2.0-serv-743   (  743) [002] ...1 158025.773438: tracing_mark_write: B|743|HIDL::IBase::notifySyspropsChanged::server
26351  hwservicemanag-584   (  584) [001] ...1 158025.773442: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26352  gatekeeper@1.0-607   (  607) [004] ...1 158025.773466: tracing_mark_write: B|607|HIDL::IBase::notifySyspropsChanged::server
26353  hwservicemanag-584   (  584) [001] ...1 158025.773543: tracing_mark_write: E
26354          atrace-13734 (13734) [001] ...1 158025.773590: tracing_mark_write: E
26355          atrace-13734 (13734) [001] ...1 158025.773597: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26356  light@2.0-serv-743   (  743) [002] ...1 158025.773651: tracing_mark_write: E
26357          atrace-13734 (13734) [001] ...1 158025.773652: tracing_mark_write: E
26358          atrace-13734 (13734) [001] ...1 158025.773666: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26359  hwservicemanag-584   (  584) [001] ...1 158025.773705: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26360  keyprimary@3.0--608   (  608) [005] ...1 158025.773725: tracing_mark_write: E
26361  hwservicemanag-584   (  584) [001] ...1 158025.773820: tracing_mark_write: E
26362          atrace-13734 (13734) [001] ...1 158025.773889: tracing_mark_write: E
26363          atrace-13734 (13734) [001] ...1 158025.773896: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26364  gatekeeper@1.0-607   (  607) [004] ...1 158025.773906: tracing_mark_write: E
26365  HwBinder:843_A-21839 (  843) [001] ...1 158025.774059: tracing_mark_write: B|843|HIDL::IBase::notifySyspropsChanged::server
26366          vr_hwc-733   (  733) [004] ...1 158025.774095: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
26367  HwBinder:843_7-15743 (  843) [007] ...1 158025.774097: tracing_mark_write: B|843|HIDL::IBase::notifySyspropsChanged::server
26368          vr_hwc-733   (  733) [004] ...1 158025.774360: tracing_mark_write: E
26369  HwBinder:843_A-21839 (  843) [001] ...1 158025.774402: tracing_mark_write: E
26370          atrace-13734 (13734) [001] ...1 158025.774453: tracing_mark_write: E
26371  HwBinder:843_7-15743 (  843) [007] ...1 158025.774461: tracing_mark_write: E
26372          atrace-13734 (13734) [001] ...1 158025.774470: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26373  hwservicemanag-584   (  584) [001] ...1 158025.774518: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26374  hwservicemanag-584   (  584) [001] ...1 158025.774674: tracing_mark_write: E
26375          atrace-13734 (13734) [001] ...1 158025.774752: tracing_mark_write: E
26376          atrace-13734 (13734) [001] ...1 158025.774758: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26377          atrace-13734 (13734) [001] ...1 158025.774817: tracing_mark_write: E
26378          atrace-13734 (13734) [001] ...1 158025.774833: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26379  hwservicemanag-584   (  584) [001] ...1 158025.774875: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26380  hwservicemanag-584   (  584) [001] ...1 158025.774973: tracing_mark_write: E
26381          atrace-13734 (13734) [001] ...1 158025.775040: tracing_mark_write: E
26382          atrace-13734 (13734) [001] ...1 158025.775046: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26383          atrace-13734 (13734) [001] ...1 158025.775098: tracing_mark_write: E
26384          atrace-13734 (13734) [001] ...1 158025.775111: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26385  hwservicemanag-584   (  584) [001] ...1 158025.775152: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26386  memtrack@1.0-s-745   (  745) [006] ...1 158025.775201: tracing_mark_write: B|745|HIDL::IBase::notifySyspropsChanged::server
26387  hwservicemanag-584   (  584) [001] ...1 158025.775319: tracing_mark_write: E
26388          atrace-13734 (13734) [001] ...1 158025.775366: tracing_mark_write: E
26389          atrace-13734 (13734) [001] ...1 158025.775372: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26390          atrace-13734 (13734) [001] ...1 158025.775414: tracing_mark_write: E
26391          atrace-13734 (13734) [001] ...1 158025.775427: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26392  nfc@1.0-servic-746   (  746) [005] ...1 158025.775450: tracing_mark_write: B|746|HIDL::IBase::notifySyspropsChanged::server
26393  hwservicemanag-584   (  584) [001] ...1 158025.775482: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26394  hwservicemanag-584   (  584) [001] ...1 158025.775576: tracing_mark_write: E
26395<...>-747 ( 747) [004] ...1 158025.775581: tracing_mark_write: B|747|HIDL::IBase::notifySyspropsChanged::server
26396          atrace-13734 (13734) [001] ...1 158025.775621: tracing_mark_write: E
26397          atrace-13734 (13734) [001] ...1 158025.775627: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26398  memtrack@1.0-s-745   (  745) [006] ...1 158025.775632: tracing_mark_write: E
26399          atrace-13734 (13734) [001] ...1 158025.775677: tracing_mark_write: E
26400          atrace-13734 (13734) [001] ...1 158025.775690: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26401  hwservicemanag-584   (  584) [001] ...1 158025.775732: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26402  hwservicemanag-584   (  584) [001] ...1 158025.775822: tracing_mark_write: E
26403          atrace-13734 (13734) [001] ...1 158025.775876: tracing_mark_write: E
26404          atrace-13734 (13734) [001] ...1 158025.775882: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26405          atrace-13734 (13734) [001] ...1 158025.775896: tracing_mark_write: E
26406  nfc@1.0-servic-746   (  746) [005] ...1 158025.775904: tracing_mark_write: E
26407          atrace-13734 (13734) [001] ...1 158025.775908: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26408  power@1.1-serv-754   (  754) [002] ...1 158025.775918: tracing_mark_write: B|754|HIDL::IBase::notifySyspropsChanged::server
26409  hwservicemanag-584   (  584) [001] ...1 158025.775946: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26410<...>-747 ( 747) [004] ...1 158025.776008: tracing_mark_write: E
26411  hwservicemanag-584   (  584) [001] ...1 158025.776065: tracing_mark_write: E
26412  power@1.1-serv-754   (  754) [002] ...1 158025.776101: tracing_mark_write: E
26413          atrace-13734 (13734) [001] ...1 158025.776137: tracing_mark_write: E
26414  power@1.1-serv-754   (  754) [002] ...1 158025.776137: tracing_mark_write: B|754|HIDL::IBase::notifySyspropsChanged::server
26415          atrace-13734 (13734) [001] ...1 158025.776143: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26416          atrace-13734 (13734) [001] ...1 158025.776197: tracing_mark_write: E
26417  power@1.1-serv-754   (  754) [002] ...1 158025.776201: tracing_mark_write: E
26418          atrace-13734 (13734) [001] ...1 158025.776210: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26419  hwservicemanag-584   (  584) [001] ...1 158025.776251: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26420  hwservicemanag-584   (  584) [001] ...1 158025.776339: tracing_mark_write: E
26421          atrace-13734 (13734) [001] ...1 158025.776402: tracing_mark_write: E
26422          atrace-13734 (13734) [001] ...1 158025.776409: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26423          atrace-13734 (13734) [001] ...1 158025.776447: tracing_mark_write: E
26424          atrace-13734 (13734) [001] ...1 158025.776459: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26425  hwservicemanag-584   (  584) [001] ...1 158025.776500: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26426  hwservicemanag-584   (  584) [001] ...1 158025.776585: tracing_mark_write: E
26427  HwBinder:844_1-1230  (  844) [007] ...1 158025.776639: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26428          atrace-13734 (13734) [001] ...1 158025.776647: tracing_mark_write: E
26429          atrace-13734 (13734) [001] ...1 158025.776653: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26430          atrace-13734 (13734) [001] ...1 158025.776670: tracing_mark_write: E
26431          atrace-13734 (13734) [001] ...1 158025.776681: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26432  hwservicemanag-584   (  584) [001] ...1 158025.776718: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26433  hwservicemanag-584   (  584) [001] ...1 158025.776805: tracing_mark_write: E
26434          atrace-13734 (13734) [001] ...1 158025.776850: tracing_mark_write: E
26435          atrace-13734 (13734) [001] ...1 158025.776856: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26436          atrace-13734 (13734) [001] ...1 158025.776870: tracing_mark_write: E
26437            rild-844   (  844) [006] ...1 158025.776872: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26438          atrace-13734 (13734) [001] ...1 158025.776882: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26439  hwservicemanag-584   (  584) [001] ...1 158025.776921: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26440  hwservicemanag-584   (  584) [001] ...1 158025.777008: tracing_mark_write: E
26441          atrace-13734 (13734) [001] ...1 158025.777072: tracing_mark_write: E
26442  HwBinder:844_1-1230  (  844) [007] ...1 158025.777074: tracing_mark_write: E
26443          atrace-13734 (13734) [001] ...1 158025.777078: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26444          atrace-13734 (13734) [001] ...1 158025.777095: tracing_mark_write: E
26445          atrace-13734 (13734) [001] ...1 158025.777106: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26446            rild-844   (  844) [006] ...1 158025.777109: tracing_mark_write: E
26447  hwservicemanag-584   (  584) [001] ...1 158025.777146: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26448  HwBinder:844_1-1230  (  844) [007] ...1 158025.777176: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26449            rild-844   (  844) [006] ...1 158025.777180: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26450  hwservicemanag-584   (  584) [001] ...1 158025.777244: tracing_mark_write: E
26451          atrace-13734 (13734) [001] ...1 158025.777307: tracing_mark_write: E
26452          atrace-13734 (13734) [001] ...1 158025.777313: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26453          atrace-13734 (13734) [001] ...1 158025.777358: tracing_mark_write: E
26454  HwBinder:844_1-1230  (  844) [007] ...1 158025.777359: tracing_mark_write: E
26455            rild-844   (  844) [006] ...1 158025.777364: tracing_mark_write: E
26456          atrace-13734 (13734) [001] ...1 158025.777370: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26457  HwBinder:844_1-1230  (  844) [007] ...1 158025.777414: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26458  hwservicemanag-584   (  584) [001] ...1 158025.777416: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26459  hwservicemanag-584   (  584) [001] ...1 158025.777567: tracing_mark_write: E
26460          atrace-13734 (13734) [001] ...1 158025.777637: tracing_mark_write: E
26461          atrace-13734 (13734) [001] ...1 158025.777643: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26462  HwBinder:844_1-1230  (  844) [007] ...1 158025.777643: tracing_mark_write: E
26463          atrace-13734 (13734) [001] ...1 158025.777674: tracing_mark_write: E
26464  HwBinder:755_1-1247  (  755) [000] ...1 158025.777676: tracing_mark_write: B|755|HIDL::IBase::notifySyspropsChanged::server
26465          atrace-13734 (13734) [001] ...1 158025.777688: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26466  hwservicemanag-584   (  584) [001] ...1 158025.777741: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26467  hwservicemanag-584   (  584) [001] ...1 158025.777914: tracing_mark_write: E
26468  HwBinder:755_1-1247  (  755) [000] ...1 158025.777947: tracing_mark_write: E
26469          atrace-13734 (13734) [001] ...1 158025.777962: tracing_mark_write: E
26470          atrace-13734 (13734) [001] ...1 158025.777968: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26471  HwBinder:734_2-1170  (  734) [003] ...1 158025.778000: tracing_mark_write: B|734|HIDL::IBase::notifySyspropsChanged::server
26472  HwBinder:822_1-870   (  822) [001] ...1 158025.778116: tracing_mark_write: B|822|HIDL::IBase::notifySyspropsChanged::server
26473  HwBinder:734_2-1170  (  734) [003] ...1 158025.778149: tracing_mark_write: E
26474  HwBinder:822_1-870   (  822) [001] ...1 158025.778314: tracing_mark_write: E
26475          atrace-13734 (13734) [001] ...1 158025.778360: tracing_mark_write: E
26476          atrace-13734 (13734) [001] ...1 158025.778378: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26477  hwservicemanag-584   (  584) [001] ...1 158025.778426: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26478  hwservicemanag-584   (  584) [001] ...1 158025.778583: tracing_mark_write: E
26479          atrace-13734 (13734) [001] ...1 158025.778657: tracing_mark_write: E
26480          atrace-13734 (13734) [001] ...1 158025.778663: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26481  HwBinder:822_1-870   (  822) [001] ...1 158025.778700: tracing_mark_write: B|822|HIDL::IBase::notifySyspropsChanged::server
26482  HwBinder:822_1-870   (  822) [001] ...1 158025.778770: tracing_mark_write: E
26483          atrace-13734 (13734) [001] ...1 158025.778791: tracing_mark_write: E
26484          atrace-13734 (13734) [001] ...1 158025.778806: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26485  hwservicemanag-584   (  584) [001] ...1 158025.778847: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26486  hwservicemanag-584   (  584) [001] ...1 158025.778955: tracing_mark_write: E
26487          atrace-13734 (13734) [001] ...1 158025.779021: tracing_mark_write: E
26488          atrace-13734 (13734) [001] ...1 158025.779027: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26489          atrace-13734 (13734) [001] ...1 158025.779073: tracing_mark_write: E
26490          atrace-13734 (13734) [001] ...1 158025.779085: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26491  hwservicemanag-584   (  584) [001] ...1 158025.779129: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26492  hwservicemanag-584   (  584) [001] ...1 158025.779236: tracing_mark_write: E
26493          atrace-13734 (13734) [001] ...1 158025.779297: tracing_mark_write: E
26494          atrace-13734 (13734) [001] ...1 158025.779303: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26495          atrace-13734 (13734) [001] ...1 158025.779318: tracing_mark_write: E
26496          atrace-13734 (13734) [001] ...1 158025.779330: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26497  HwBinder:814_1-879   (  814) [000] ...1 158025.779352: tracing_mark_write: B|814|HIDL::IBase::notifySyspropsChanged::server
26498  hwservicemanag-584   (  584) [001] ...1 158025.779373: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26499  hwservicemanag-584   (  584) [001] ...1 158025.779463: tracing_mark_write: E
26500          atrace-13734 (13734) [001] ...1 158025.779510: tracing_mark_write: E
26501          atrace-13734 (13734) [001] ...1 158025.779516: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26502  HwBinder:814_1-879   (  814) [000] ...1 158025.779546: tracing_mark_write: E
26503          atrace-13734 (13734) [001] ...1 158025.779567: tracing_mark_write: E
26504          atrace-13734 (13734) [001] ...1 158025.779581: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26505  HwBinder:814_1-879   (  814) [000] ...1 158025.779581: tracing_mark_write: B|814|HIDL::IBase::notifySyspropsChanged::server
26506  hwservicemanag-584   (  584) [001] ...1 158025.779628: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26507  HwBinder:814_1-879   (  814) [000] ...1 158025.779646: tracing_mark_write: E
26508  hwservicemanag-584   (  584) [001] ...1 158025.779716: tracing_mark_write: E
26509  usb@1.1-servic-756   (  756) [004] ...1 158025.779739: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server
26510          atrace-13734 (13734) [001] ...1 158025.779782: tracing_mark_write: E
26511          atrace-13734 (13734) [001] ...1 158025.779788: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26512          atrace-13734 (13734) [001] ...1 158025.779804: tracing_mark_write: E
26513          atrace-13734 (13734) [001] ...1 158025.779816: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26514  hwservicemanag-584   (  584) [001] ...1 158025.779855: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26515  hwservicemanag-584   (  584) [001] ...1 158025.779967: tracing_mark_write: E
26516          atrace-13734 (13734) [001] ...1 158025.780030: tracing_mark_write: E
26517          atrace-13734 (13734) [001] ...1 158025.780036: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26518          atrace-13734 (13734) [001] ...1 158025.780092: tracing_mark_write: E
26519          atrace-13734 (13734) [001] ...1 158025.780105: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26520  hwservicemanag-584   (  584) [001] ...1 158025.780142: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26521  usb@1.1-servic-756   (  756) [004] ...1 158025.780166: tracing_mark_write: E
26522  hwservicemanag-584   (  584) [001] ...1 158025.780250: tracing_mark_write: E
26523  usb@1.1-servic-756   (  756) [004] ...1 158025.780258: tracing_mark_write: B|756|HIDL::IBase::notifySyspropsChanged::server
26524          atrace-13734 (13734) [001] ...1 158025.780313: tracing_mark_write: E
26525          atrace-13734 (13734) [001] ...1 158025.780319: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26526          atrace-13734 (13734) [001] ...1 158025.780335: tracing_mark_write: E
26527          atrace-13734 (13734) [001] ...1 158025.780347: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26528  hwservicemanag-584   (  584) [001] ...1 158025.780385: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26529  usb@1.1-servic-756   (  756) [004] ...1 158025.780439: tracing_mark_write: E
26530  hwservicemanag-584   (  584) [001] ...1 158025.780470: tracing_mark_write: E
26531  vibrator@1.1-s-757   (  757) [007] ...1 158025.780527: tracing_mark_write: B|757|HIDL::IBase::notifySyspropsChanged::server
26532          atrace-13734 (13734) [001] ...1 158025.780536: tracing_mark_write: E
26533          atrace-13734 (13734) [001] ...1 158025.780542: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26534          atrace-13734 (13734) [001] ...1 158025.780593: tracing_mark_write: E
26535          atrace-13734 (13734) [001] ...1 158025.780607: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26536  hwservicemanag-584   (  584) [001] ...1 158025.780648: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26537  hwservicemanag-584   (  584) [001] ...1 158025.780747: tracing_mark_write: E
26538  vr@1.0-service-758   (  758) [004] ...1 158025.780769: tracing_mark_write: B|758|HIDL::IBase::notifySyspropsChanged::server
26539          atrace-13734 (13734) [001] ...1 158025.780812: tracing_mark_write: E
26540          atrace-13734 (13734) [001] ...1 158025.780818: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26541          atrace-13734 (13734) [001] ...1 158025.780926: tracing_mark_write: E
26542          atrace-13734 (13734) [001] ...1 158025.780942: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26543  hwservicemanag-584   (  584) [001] ...1 158025.780987: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26544  vibrator@1.1-s-757   (  757) [007] ...1 158025.781031: tracing_mark_write: E
26545  hwservicemanag-584   (  584) [001] ...1 158025.781109: tracing_mark_write: E
26546            esed-763   (  763) [005] ...1 158025.781127: tracing_mark_write: B|763|HIDL::IBase::notifySyspropsChanged::server
26547  vibrator@1.1-s-757   (  757) [007] ...1 158025.781136: tracing_mark_write: B|757|HIDL::IBase::notifySyspropsChanged::server
26548          atrace-13734 (13734) [001] ...1 158025.781161: tracing_mark_write: E
26549          atrace-13734 (13734) [001] ...1 158025.781168: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26550          atrace-13734 (13734) [001] ...1 158025.781211: tracing_mark_write: E
26551          atrace-13734 (13734) [001] ...1 158025.781224: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26552  hwservicemanag-584   (  584) [001] ...1 158025.781263: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26553  vr@1.0-service-758   (  758) [004] ...1 158025.781295: tracing_mark_write: E
26554  vibrator@1.1-s-757   (  757) [007] ...1 158025.781321: tracing_mark_write: E
26555  hwservicemanag-584   (  584) [001] ...1 158025.781356: tracing_mark_write: E
26556          atrace-13734 (13734) [001] ...1 158025.781404: tracing_mark_write: E
26557          atrace-13734 (13734) [001] ...1 158025.781411: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26558          atrace-13734 (13734) [001] ...1 158025.781463: tracing_mark_write: E
26559          atrace-13734 (13734) [001] ...1 158025.781476: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26560  hwservicemanag-584   (  584) [001] ...1 158025.781515: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26561  offload@1.0-se-759   (  759) [004] ...1 158025.781542: tracing_mark_write: B|759|HIDL::IBase::notifySyspropsChanged::server
26562            esed-763   (  763) [005] ...1 158025.781585: tracing_mark_write: E
26563  hwservicemanag-584   (  584) [001] ...1 158025.781602: tracing_mark_write: E
26564          atrace-13734 (13734) [001] ...1 158025.781646: tracing_mark_write: E
26565          atrace-13734 (13734) [001] ...1 158025.781652: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26566          atrace-13734 (13734) [001] ...1 158025.781667: tracing_mark_write: E
26567          atrace-13734 (13734) [001] ...1 158025.781679: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26568  hwservicemanag-584   (  584) [001] ...1 158025.781717: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26569  hwservicemanag-584   (  584) [001] ...1 158025.781820: tracing_mark_write: E
26570          atrace-13734 (13734) [001] ...1 158025.781865: tracing_mark_write: E
26571          atrace-13734 (13734) [001] ...1 158025.781871: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26572          atrace-13734 (13734) [001] ...1 158025.781934: tracing_mark_write: E
26573  offload@1.0-se-759   (  759) [004] ...1 158025.781937: tracing_mark_write: E
26574          atrace-13734 (13734) [001] ...1 158025.782020: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26575  hwservicemanag-584   (  584) [001] ...1 158025.782062: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26576  hwservicemanag-584   (  584) [001] ...1 158025.782152: tracing_mark_write: E
26577  android.hardwa-760   (  760) [004] ...1 158025.782190: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server
26578          atrace-13734 (13734) [001] ...1 158025.782220: tracing_mark_write: E
26579          atrace-13734 (13734) [001] ...1 158025.782226: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26580          atrace-13734 (13734) [001] ...1 158025.782273: tracing_mark_write: E
26581          atrace-13734 (13734) [001] ...1 158025.782285: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26582  hwservicemanag-584   (  584) [001] ...1 158025.782331: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26583  allocator@1.0--732   (  732) [007] ...1 158025.782407: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server
26584  hwservicemanag-584   (  584) [001] ...1 158025.782414: tracing_mark_write: E
26585          atrace-13734 (13734) [001] ...1 158025.782482: tracing_mark_write: E
26586          atrace-13734 (13734) [001] ...1 158025.782488: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26587          atrace-13734 (13734) [001] ...1 158025.782505: tracing_mark_write: E
26588          atrace-13734 (13734) [001] ...1 158025.782518: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26589  hwservicemanag-584   (  584) [001] ...1 158025.782563: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26590  hwservicemanag-584   (  584) [001] ...1 158025.782648: tracing_mark_write: E
26591  android.hardwa-760   (  760) [004] ...1 158025.782681: tracing_mark_write: E
26592          atrace-13734 (13734) [001] ...1 158025.782713: tracing_mark_write: E
26593          atrace-13734 (13734) [001] ...1 158025.782720: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26594          atrace-13734 (13734) [001] ...1 158025.782765: tracing_mark_write: E
26595          atrace-13734 (13734) [001] ...1 158025.782779: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26596  android.hardwa-760   (  760) [004] ...1 158025.782795: tracing_mark_write: B|760|HIDL::IBase::notifySyspropsChanged::server
26597  hwservicemanag-584   (  584) [001] ...1 158025.782827: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26598  allocator@1.0--732   (  732) [007] ...1 158025.782861: tracing_mark_write: E
26599  HwBinder:817_1-877   (  817) [002] ...1 158025.782875: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server
26600  hwservicemanag-584   (  584) [001] ...1 158025.782916: tracing_mark_write: E
26601  allocator@1.0--732   (  732) [007] ...1 158025.782955: tracing_mark_write: B|732|HIDL::IBase::notifySyspropsChanged::server
26602          atrace-13734 (13734) [001] ...1 158025.782955: tracing_mark_write: E
26603          atrace-13734 (13734) [001] ...1 158025.782964: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26604  android.hardwa-760   (  760) [004] ...1 158025.782992: tracing_mark_write: E
26605  hwservicemanag-584   (  584) [001] ...1 158025.783009: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26606  HwBinder:817_1-877   (  817) [002] ...1 158025.783058: tracing_mark_write: E
26607  allocator@1.0--732   (  732) [007] ...1 158025.783067: tracing_mark_write: E
26608  hwservicemanag-584   (  584) [001] ...1 158025.783094: tracing_mark_write: E
26609          atrace-13734 (13734) [001] ...1 158025.783148: tracing_mark_write: E
26610          atrace-13734 (13734) [001] ...1 158025.783154: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26611          atrace-13734 (13734) [001] ...1 158025.783190: tracing_mark_write: E
26612          atrace-13734 (13734) [001] ...1 158025.783204: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26613  hwservicemanag-584   (  584) [002] ...1 158025.783254: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26614  hwservicemanag-584   (  584) [002] ...1 158025.783341: tracing_mark_write: E
26615  HwBinder:844_1-1230  (  844) [004] ...1 158025.783344: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26616          atrace-13734 (13734) [005] ...1 158025.783469: tracing_mark_write: E
26617          atrace-13734 (13734) [005] ...1 158025.783499: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26618  HwBinder:844_1-1230  (  844) [004] ...1 158025.783557: tracing_mark_write: E
26619          atrace-13734 (13734) [005] ...1 158025.783588: tracing_mark_write: E
26620          atrace-13734 (13734) [005] ...1 158025.783631: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26621  hwservicemanag-584   (  584) [001] ...1 158025.783908: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26622  HwBinder:736_3-1809  (  736) [006] ...1 158025.783935: tracing_mark_write: B|736|HIDL::IBase::notifySyspropsChanged::server
26623  hwservicemanag-584   (  584) [001] ...1 158025.783995: tracing_mark_write: E
26624          atrace-13734 (13734) [001] ...1 158025.784072: tracing_mark_write: E
26625          atrace-13734 (13734) [001] ...1 158025.784082: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26626          atrace-13734 (13734) [001] ...1 158025.784115: tracing_mark_write: E
26627          atrace-13734 (13734) [001] ...1 158025.784127: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26628  hwservicemanag-584   (  584) [002] ...1 158025.784172: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26629  HwBinder:844_1-1230  (  844) [005] ...1 158025.784188: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26630  HwBinder:736_3-1809  (  736) [006] ...1 158025.784312: tracing_mark_write: E
26631  hwservicemanag-584   (  584) [002] ...1 158025.784344: tracing_mark_write: E
26632  HwBinder:844_1-1230  (  844) [005] ...1 158025.784472: tracing_mark_write: E
26633          atrace-13734 (13734) [007] ...1 158025.784827: tracing_mark_write: E
26634          atrace-13734 (13734) [007] ...1 158025.784846: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26635          atrace-13734 (13734) [007] ...1 158025.784900: tracing_mark_write: E
26636          atrace-13734 (13734) [007] ...1 158025.784925: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26637  HwBinder:844_1-1230  (  844) [006] ...1 158025.784933: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26638  HwBinder:844_1-1230  (  844) [006] ...1 158025.785064: tracing_mark_write: E
26639  hwservicemanag-584   (  584) [003] ...1 158025.785241: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26640  hwservicemanag-584   (  584) [003] ...1 158025.785337: tracing_mark_write: E
26641          atrace-13734 (13734) [003] ...1 158025.785408: tracing_mark_write: E
26642          atrace-13734 (13734) [003] ...1 158025.785417: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26643          atrace-13734 (13734) [003] ...1 158025.785455: tracing_mark_write: E
26644          atrace-13734 (13734) [003] ...1 158025.785468: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26645          vr_hwc-733   (  733) [005] ...1 158025.785577: tracing_mark_write: B|733|HIDL::IBase::notifySyspropsChanged::server
26646          vr_hwc-733   (  733) [005] ...1 158025.785803: tracing_mark_write: E
26647  hwservicemanag-584   (  584) [001] ...1 158025.786314: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26648  hwservicemanag-584   (  584) [001] ...1 158025.786404: tracing_mark_write: E
26649          atrace-13734 (13734) [001] ...1 158025.786614: tracing_mark_write: E
26650          atrace-13734 (13734) [001] ...1 158025.786622: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26651          atrace-13734 (13734) [001] ...1 158025.786655: tracing_mark_write: E
26652          atrace-13734 (13734) [001] ...1 158025.786668: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26653  drm@1.0-servic-740   (  740) [007] ...1 158025.786767: tracing_mark_write: B|740|HIDL::IBase::notifySyspropsChanged::server
26654  drm@1.0-servic-740   (  740) [007] ...1 158025.787031: tracing_mark_write: E
26655  sensors@1.0-se-755   (  755) [000] ...1 158025.787131: tracing_mark_write: E
26656   SensorService-1249  ( 1136) [006] ...1 158025.787270: tracing_mark_write: E
26657   SensorService-1249  ( 1136) [006] ...1 158025.787439: tracing_mark_write: B|1136|HIDL::ISensors::poll::client
26658  hwservicemanag-584   (  584) [001] ...1 158025.787578: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26659  hwservicemanag-584   (  584) [001] ...1 158025.787739: tracing_mark_write: E
26660          atrace-13734 (13734) [001] ...1 158025.787812: tracing_mark_write: E
26661          atrace-13734 (13734) [001] ...1 158025.787819: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26662          atrace-13734 (13734) [001] ...1 158025.787845: tracing_mark_write: E
26663  sensors@1.0-se-755   (  755) [000] ...1 158025.787854: tracing_mark_write: B|755|HIDL::ISensors::poll::server
26664          atrace-13734 (13734) [001] ...1 158025.787858: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26665  hwservicemanag-584   (  584) [003] ...1 158025.788014: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server
26666  hwservicemanag-584   (  584) [003] ...1 158025.788214: tracing_mark_write: E
26667  hwservicemanag-584   (  584) [003] ...1 158025.788248: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26668  hwservicemanag-584   (  584) [003] ...1 158025.788398: tracing_mark_write: E
26669          atrace-13734 (13734) [003] ...1 158025.788462: tracing_mark_write: E
26670          atrace-13734 (13734) [003] ...1 158025.788471: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26671          atrace-13734 (13734) [003] ...1 158025.788496: tracing_mark_write: E
26672          atrace-13734 (13734) [003] ...1 158025.788510: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26673  hwservicemanag-584   (  584) [001] ...1 158025.788824: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server
26674  hwservicemanag-584   (  584) [001] ...1 158025.788894: tracing_mark_write: E
26675  hwservicemanag-584   (  584) [001] ...1 158025.788922: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26676  hwservicemanag-584   (  584) [001] ...1 158025.789055: tracing_mark_write: E
26677          atrace-13734 (13734) [001] ...1 158025.789109: tracing_mark_write: E
26678          atrace-13734 (13734) [001] ...1 158025.789117: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26679          atrace-13734 (13734) [001] ...1 158025.789140: tracing_mark_write: E
26680          atrace-13734 (13734) [001] ...1 158025.789153: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26681  hwservicemanag-584   (  584) [003] ...1 158025.789414: tracing_mark_write: B|584|HIDL::IBase::notifySyspropsChanged::server
26682  hwservicemanag-584   (  584) [003] ...1 158025.789459: tracing_mark_write: E
26683  hwservicemanag-584   (  584) [003] ...1 158025.789487: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26684  hwservicemanag-584   (  584) [003] ...1 158025.789603: tracing_mark_write: E
26685          atrace-13734 (13734) [003] ...1 158025.789660: tracing_mark_write: E
26686          atrace-13734 (13734) [003] ...1 158025.789668: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26687          atrace-13734 (13734) [003] ...1 158025.789741: tracing_mark_write: E
26688          atrace-13734 (13734) [003] ...1 158025.789754: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26689  hwservicemanag-584   (  584) [001] ...1 158025.789801: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26690  HwBinder:689_1-718   (  689) [006] ...1 158025.789824: tracing_mark_write: B|689|HIDL::IBase::notifySyspropsChanged::server
26691  hwservicemanag-584   (  584) [001] ...1 158025.789919: tracing_mark_write: E
26692          atrace-13734 (13734) [001] ...1 158025.789974: tracing_mark_write: E
26693          atrace-13734 (13734) [001] ...1 158025.789981: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26694          atrace-13734 (13734) [001] ...1 158025.790015: tracing_mark_write: E
26695          atrace-13734 (13734) [001] ...1 158025.790033: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26696  HwBinder:689_1-718   (  689) [006] ...1 158025.790068: tracing_mark_write: E
26697  HwBinder:833_1-881   (  833) [003] ...1 158025.790085: tracing_mark_write: B|833|HIDL::IBase::notifySyspropsChanged::server
26698  hwservicemanag-584   (  584) [001] ...1 158025.790090: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26699  hwservicemanag-584   (  584) [001] ...1 158025.790210: tracing_mark_write: E
26700  HwBinder:833_1-881   (  833) [003] ...1 158025.790298: tracing_mark_write: E
26701          atrace-13734 (13734) [006] ...1 158025.794472: tracing_mark_write: E
26702          atrace-13734 (13734) [006] ...1 158025.794492: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26703  HwBinder:844_1-1230  (  844) [006] ...1 158025.794585: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26704  HwBinder:844_1-1230  (  844) [006] ...1 158025.794738: tracing_mark_write: E
26705          atrace-13734 (13734) [006] ...1 158025.794782: tracing_mark_write: E
26706          atrace-13734 (13734) [006] ...1 158025.794814: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26707  hwservicemanag-584   (  584) [001] ...1 158025.795336: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26708  hwservicemanag-584   (  584) [001] ...1 158025.796071: tracing_mark_write: E
26709          atrace-13734 (13734) [001] ...1 158025.796446: tracing_mark_write: E
26710          atrace-13734 (13734) [001] ...1 158025.796462: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26711          atrace-13734 (13734) [001] ...1 158025.796495: tracing_mark_write: E
26712          atrace-13734 (13734) [001] ...1 158025.796509: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26713  hwservicemanag-584   (  584) [001] ...1 158025.796578: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26714  hwservicemanag-584   (  584) [001] ...1 158025.796672: tracing_mark_write: E
26715  HwBinder:844_1-1230  (  844) [007] ...1 158025.796775: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26716  HwBinder:844_1-1230  (  844) [007] ...1 158025.796919: tracing_mark_write: E
26717          atrace-13734 (13734) [005] ...1 158025.796966: tracing_mark_write: E
26718          atrace-13734 (13734) [005] ...1 158025.796982: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26719          atrace-13734 (13734) [005] ...1 158025.797033: tracing_mark_write: E
26720          atrace-13734 (13734) [005] ...1 158025.797057: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26721  hwservicemanag-584   (  584) [001] ...1 158025.797140: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26722  hwservicemanag-584   (  584) [001] ...1 158025.797236: tracing_mark_write: E
26723  HwBinder:817_1-877   (  817) [000] ...1 158025.797276: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server
26724          atrace-13734 (13734) [001] ...1 158025.797290: tracing_mark_write: E
26725          atrace-13734 (13734) [001] ...1 158025.797299: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26726          atrace-13734 (13734) [001] ...1 158025.797318: tracing_mark_write: E
26727          atrace-13734 (13734) [001] ...1 158025.797331: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26728  hwservicemanag-584   (  584) [001] ...1 158025.797393: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26729  HwBinder:817_1-877   (  817) [000] ...1 158025.797406: tracing_mark_write: E
26730  HwBinder:817_1-877   (  817) [000] ...1 158025.797437: tracing_mark_write: B|817|HIDL::IBase::notifySyspropsChanged::server
26731  hwservicemanag-584   (  584) [001] ...1 158025.797484: tracing_mark_write: E
26732  HwBinder:817_1-877   (  817) [000] ...1 158025.797506: tracing_mark_write: E
26733          atrace-13734 (13734) [005] ...1 158025.797578: tracing_mark_write: E
26734          atrace-13734 (13734) [005] ...1 158025.797590: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26735          atrace-13734 (13734) [005] ...1 158025.797630: tracing_mark_write: E
26736          atrace-13734 (13734) [005] ...1 158025.797649: tracing_mark_write: B|13734|HIDL::IServiceManager::get::client
26737  hwservicemanag-584   (  584) [001] ...1 158025.798128: tracing_mark_write: B|584|HIDL::IServiceManager::get::server
26738  hwservicemanag-584   (  584) [001] ...1 158025.798223: tracing_mark_write: E
26739          atrace-13734 (13734) [001] ...1 158025.798277: tracing_mark_write: E
26740          atrace-13734 (13734) [001] ...1 158025.798288: tracing_mark_write: B|13734|HIDL::IBase::notifySyspropsChanged::client
26741          atrace-13734 (13734) [001] ...1 158025.798319: tracing_mark_write: E
26742          atrace-13734 (13734) [001] ...1 158025.798329: tracing_mark_write: E
26743  HwBinder:844_1-1230  (  844) [005] ...1 158025.798362: tracing_mark_write: B|844|HIDL::IBase::notifySyspropsChanged::server
26744  HwBinder:844_1-1230  (  844) [005] ...1 158025.798495: tracing_mark_write: E
26745  </script>
26746  <script class="trace-data" type="application/text">
26747{"traceEvents": [{"category": "process_argv", "name": "process_argv", "args": {"argv": ["/tmp/sar.systrace_sh.sar.1000.n27wtRWE44/systrace_sh.runfiles/google3/third_party/java/android/android_sdk_linux/platforms/experimental/build-tools/systrace/systrace.py", "-e", "HT7BE1A04938", "-o", "/var/www/mh_lab_gen_files/9ae40da7-cd8b-4256-a344-7dfd95827ad9/test_6dcf730e-f238-438a-b9be-2b840dedc960/systrace.html", "nnapi", "hal", "--app=com.google.android.testing.mlts.benchmark.mobileiq", "-b", "131072"]}, "pid": 19043, "ts": 12740237842571.824, "tid": 139631646889728, "ph": "M"}, {"category": "python", "name": "clock_sync", "args": {"issue_ts": 12740277925111.232, "sync_id": "3dcc994f-0459-4a69-8ebe-ce495d65712c"}, "pid": 19043, "ts": 12740277936638.84, "tid": 139631695775488, "ph": "c"}], "metadata": {"clock-domain": "SYSTRACE"}}  </script>
26748<!-- END TRACE -->
26749</body>
26750</html>
26751