;(this['webpackJsonprepeato-batch-run'] = this['webpackJsonprepeato-batch-run'] || []).push([
  [0],
  {
    141: function(e, t, n) {},
    142: function(e, t, n) {},
    158: function(e, t, n) {
      'use strict'
      n.r(t)
      var i = n(0),
        o = n.n(i),
        a = n(46),
        r = n.n(a),
        c = (n(141), n(142), n(38)),
        l = n(18),
        s = n(243),
        d = n(250),
        u = n(75),
        h = n(35),
        v = n(229),
        p = n(233),
        j = n(232),
        b = n(85),
        m = n(240),
        x = n(246),
        f = n(237),
        g = n(227),
        y = n(228),
        O = n(119)
      var w = function(e) {
        return o.a.createElement(
          O.a,
          e,
          o.a.createElement(
            'svg',
            {
              xmlns: 'http://www.w3.org/2000/svg',
              width: '24',
              height: '24',
              viewBox: '0 0 24 24',
              fill: 'none',
              stroke: 'currentColor',
              strokeWidth: '2',
              strokeLinecap: 'round',
              strokeLinejoin: 'round'
            },
            o.a.createElement('polyline', { points: '4 17 10 11 4 5' }),
            o.a.createElement('line', { x1: '12', y1: '19', x2: '20', y2: '19' })
          )
        )
      }
      var k = function(e) {
        return o.a.createElement(
          O.a,
          e,
          o.a.createElement(
            'svg',
            { xmlns: 'http://www.w3.org/2000/svg', width: '24', height: '24', viewBox: '-10 00 500 500' },
            o.a.createElement('path', { d: 'M45.989,97.409l-21.813,20.555L5.447,98.089l21.814-20.555L45.989,97.409z' }),
            o.a.createElement('path', { d: 'M125.485,22.498l-21.811,20.553L84.946,23.176l21.811-20.553L125.485,22.498z' }),
            o.a.createElement('path', {
              d:
                'M226.65,375.628c12.448,13.211,27.011,24.125,43.031,32.564l130.95-123.396c-7.475-16.492-17.504-31.677-29.954-44.889 L240.007,101.237L95.979,236.956L226.65,375.628z M177.163,252.123l73.166-68.944l48.935,51.931 c18.796,19.946,17.86,51.464-2.086,70.26l-0.819,0.771c-19.946,18.796-51.464,17.858-70.26-2.087L177.163,252.123z'
            }),
            o.a.createElement('path', {
              d:
                'M385.073,426.421l22.159-3.438l4.746-21.916c6.283-29.011,5.858-58.136-0.671-85.148L300.118,420.694 C326.692,428.818,355.74,430.972,385.073,426.421z'
            }),
            o.a.createElement('path', {
              d:
                'M275.803,284.328l0.819-0.772c7.92-7.463,8.289-19.973,0.828-27.891l-28.381-30.118l-29.538,27.833l28.381,30.118 C255.374,291.417,267.885,291.788,275.803,284.328z'
            }),
            o.a.createElement('path', { d: 'M162.857,351.635L53.609,235.697l-40.103,37.789l87.059,92.389L162.857,351.635z' }),
            o.a.createElement('path', { d: 'M281.367,21.079l-40.103,37.789l109.249,115.938l17.913-61.336L281.367,21.079z' }),
            o.a.createElement('path', {
              d:
                'M156.518,55.431L135.47,33.094l-21.811,20.553l18.434,19.562l-17.937,16.901L67.01,40.077L45.196,60.632l47.146,50.033 l-17.936,16.901l-18.434-19.562L34.16,128.56l21.048,22.337l18.529,65.835l147.4-138.897L156.518,55.431z'
            })
          )
        )
      }
      var R = function(e) {
          return o.a.createElement(
            O.a,
            e,
            o.a.createElement(
              'svg',
              { xmlns: 'http://www.w3.org/2000/svg', width: '24', height: '24', viewBox: '-60 00 500 500' },
              o.a.createElement('path', { d: 'm223.652344 484.691406h29.972656v27.308594h-29.972656zm0 0' }),
              o.a.createElement('path', { d: 'm114.421875 484.691406h29.96875v27.308594h-29.96875zm0 0' }),
              o.a.createElement('path', {
                d:
                  'm282.972656 158.308594c0-18.152344-3.113281-36.082032-8.984375-53.210938h-179.929687c-5.871094 17.128906-8.984375 35.058594-8.984375 53.210938v190.539062h197.898437zm-48.683594 123.824218h-100.53125v-71.355468c0-27.40625 22.296876-49.703125 49.703126-49.703125h1.125c27.40625 0 49.703124 22.296875 49.703124 49.703125zm0 0'
              }),
              o.a.createElement('path', {
                d:
                  'm202.507812 12.695312-18.484374-12.695312-18.484376 12.695312c-24.46875 16.804688-44.132812 38.292969-57.90625 62.429688h152.777344c-13.769531-24.136719-33.433594-45.625-57.902344-62.429688zm0 0'
              }),
              o.a.createElement('path', {
                d:
                  'm184.585938 191.046875h-1.125c-10.882813 0-19.730469 8.851563-19.730469 19.730469v41.382812h40.585937v-41.382812c0-10.878906-8.851562-19.730469-19.730468-19.730469zm0 0'
              }),
              o.a.createElement('path', { d: 'm312.945312 219.519531v159.300781h55.101563v-126.945312zm0 0' }),
              o.a.createElement('path', { d: 'm0 378.820312h55.101562v-159.300781l-55.101562 32.355469zm0 0' }),
              o.a.createElement('path', {
                d:
                  'm114.421875 439.441406v30.691406h29.96875v-26.878906h24.644531v68.746094h29.972656v-68.746094h24.644532v26.878906h29.972656v-30.691406l31.664062-60.621094h-202.53125zm0 0'
              })
            )
          )
        },
        S = n(207),
        C = n(208),
        L = n(209),
        I = n(210),
        T = n(211),
        M = n(212),
        F = n(213),
        D = n(214),
        B = n(215),
        E = n(216),
        z = n(217),
        W = n(218),
        N = n(236),
        $ = n(235),
        A = n(96)
      const P = '#1e4158',
        V = '#7692a4',
        G = '#10a4da',
        H = G,
        J = '#f5f5f5',
        U = '#FFFFFF',
        K = 'rgba(255, 255, 255, 0.36)',
        q = '#d7d7d7',
        _ = '#ff7a59',
        Q = 'linear-gradient(315deg, rgba(255,167,167,1) 0%, rgba(255,221,173,1) 100%)',
        X = 'linear-gradient(315deg, rgba(174,213,129,1) 0%, rgba(249,255,178,1) 100%)',
        Y = '#AED581'
      var Z = (function(...e) {
        return e.reduce((e, t) => (...n) => e(t(...n)))
      })(
        Object(h.a)(e => ({ tag: { height: 20, marginRight: 6 } })),
        Object(A.a)('dbStore'),
        A.b
      )(function(e) {
        const { classes: t, name: n, dbStore: i, fallbackColor: a = J } = e,
          r = i.getTagByName(n),
          c = { backgroundColor: (null === r || void 0 === r ? void 0 : r.color) || a, ...e.style }
        e.onClick && (c.cursor = 'pointer')
        const l = o.a.createElement(N.a, { size: 'small', label: n, className: t.tag, style: c, onClick: e.onClick })
        return null !== r && void 0 !== r && r.description ? o.a.createElement($.a, { title: r.description }, l) : l
      })
      const ee = 'up',
        te = 'down',
        ne = 'left',
        ie = 'right',
        oe = e => {
          var t, n
          return 0 === (null === (t = e.mouseMoveCoordinates) || void 0 === t ? void 0 : t.length)
            ? null
            : 'DragAndDrop' === e.dragType
            ? e.mouseMoveCoordinates[0]
            : null === (n = e.startPositionSource) || void 0 === n
            ? void 0
            : n.point
        },
        ae = e => {
          var t, n
          return 0 === (null === (t = e.mouseMoveCoordinates) || void 0 === t ? void 0 : t.length)
            ? null
            : 'DragAndDrop' === e.dragType
            ? e.mouseMoveCoordinates[e.mouseMoveCoordinates.length - 1]
            : null === (n = e.endPositionSource) || void 0 === n
            ? void 0
            : n.point
        },
        re = e => `${(100 * e.y).toFixed(1)}%`,
        ce = e => `${(100 * e.x).toFixed(1)}%`,
        le = e => (ae(e) && oe(e) ? ae(e).y - oe(e).y : null),
        se = e => (ae(e) && oe(e) ? ae(e).x - oe(e).x : null),
        de = e => {
          const t = se(e),
            n = le(e)
          return null !== t && null !== n ? Math.abs(t) - Math.abs(n) > 0 : null
        },
        ue = e => {
          var t
          if (e.longClick) return !0
          let n = 1,
            i = 0,
            o = 1,
            a = 0
          null === (t = e.mouseMoveCoordinates) ||
            void 0 === t ||
            t.forEach(e => {
              e.x > i && (i = e.x), e.x < n && (n = e.x), e.y > a && (a = e.y), e.y < o && (o = e.y)
            })
          return i - n > 0.1 && a - o > 0.1
        },
        he = e => {
          const t = de(e)
          if (null === t) return null
          if (t) {
            const t = se(e)
            return t && t < 0 ? ne : ie
          }
          {
            const t = le(e)
            return t && t < 0 ? ee : te
          }
        },
        ve = {
          contains: { id: 'contains', label: 'contain', js: 'scannedText.indexOf("searchText") !== -1' },
          equals: { id: 'equals', label: 'equal', js: 'scannedText === "searchText"' },
          notContains: { id: 'notContains', label: 'not contain', js: 'scannedText.indexOf("searchText") === -1' },
          greaterThan: { id: 'greaterThan', label: 'be greater than', js: 'parseFloat(scannedText) > parseFloat("searchText")' },
          lessThan: { id: 'lessThan', label: 'be less than', js: 'parseFloat(scannedText) < parseFloat("searchText")' }
        }
      function pe(e) {
        return e.substr(0, 6).toUpperCase()
      }
      const je = e => (e < 10 ? '0' + e : e),
        be = e => {
          if (!e) return ''
          let t = Math.floor((e / 1e3) % 60),
            n = Math.floor((e / 6e4) % 60),
            i = Math.floor((e / 36e5) % 24)
          return i < 10 && (i = '0' + i), n < 10 && (n = '0' + n), t < 10 && (t = '0' + t), i + ':' + n + ':' + t
        },
        me = e => {
          if (!e) return ''
          const t = new Date(e)
          return isNaN(t.getDate()) ? '' : t.toLocaleDateString() + ' ' + t.toLocaleTimeString()
        }
      function xe(e) {
        var t
        return e.scanTextLabel ? e.scanTextLabel : null === (t = ve[e.operator]) || void 0 === t ? void 0 : t.label
      }
      var fe = n(1),
        ge = { borderBottom: '1px solid #7692a4', marginBottom: 8, paddingBottom: 6 },
        ye = function(e) {
          var t,
            n = e.name,
            i = e.value
          return (
            (t = Boolean(i) || '' + i === '0' ? i : 'Not available'),
            Object(fe.jsxs)('div', {
              style: ge,
              children: [
                Object(fe.jsx)(b.a, { variant: 'h3', children: n }),
                Object(fe.jsx)(b.a, { variant: 'h2', style: { fontSize: '1.0rem' }, children: t })
              ]
            })
          )
        },
        Oe = { 'aria-label': 'description' },
        we = { duration: 'Test Run Duration', appStartupDuration: 'App Startup Duration', skippedFramesCount: 'Skipped Frames Count' },
        ke = { fontSize: '0.9rem', lineHeight: '1.3' },
        Re = { paddingRight: 0, paddingLeft: 0 },
        Se = Object(h.a)({
          root: {
            '& input': { color: U, fontWeight: '100' },
            '& label.Mui-focused': { color: U },
            '& .MuiInput-underline:hover:before': { borderBottom: '1px solid #d7d7d7' },
            '& .MuiInput-underline:before': { borderBottomColor: q },
            '& .MuiInput-underline:after': { borderBottomColor: U }
          }
        })(p.a),
        Ce = Object(h.a)({
          root: {
            '& input': { color: U, fontWeight: '100' },
            '& label.Mui-focused': { color: U },
            '& .MuiInput-underline:hover:before': { borderBottom: '1px solid #d7d7d7' },
            '& .MuiInput-underline:before': { borderBottomColor: q },
            '& .MuiInput-underline:after': { borderBottomColor: U }
          }
        })(j.a),
        Le = function(e, t, n, i) {
          var o = e.testRuns
          return Object(fe.jsx)(fe.Fragment, {
            children: o.map(function(e, t) {
              return Object(fe.jsx)(Ie, { testRun: e, metric: n, maxValue: i }, e.id)
            })
          })
        },
        Ie = function(e) {
          var t,
            n,
            i = e.testRun,
            o = e.metric,
            a = e.maxValue,
            r = i[o]
          if (r) {
            switch (((t = '' + r), o)) {
              case 'duration':
                t =
                  r > 1e3
                    ? (function(e) {
                        var t = e,
                          n = Math.floor(t / 86400)
                        t -= 86400 * n
                        var i = Math.floor(t / 3600) % 24
                        t -= 3600 * i
                        var o = Math.floor(t / 60) % 60,
                          a = (t -= 60 * o) % 60
                        return `${(n = n ? `${n}d ` : '')}${je(i)}:${je(o)}:${je(Math.floor(a))}`
                      })(r / 1e3)
                    : r + ' ms'
                break
              case 'appStartupDuration':
                t = r + ' ms'
            }
            n = (100 * r) / a
          } else (t = 'N/A'), (n = 0)
          return Object(fe.jsxs)(b.a, {
            style: { display: 'flex', flexDirection: 'row' },
            variant: 'body2',
            component: 'div',
            children: [
              Object(fe.jsx)('div', { style: { width: 120 }, children: me(i.date) }),
              Object(fe.jsx)('div', { style: { marginRight: 10 }, children: t }),
              Object(fe.jsx)('div', {
                style: { display: 'flex', flexGrow: 1, alignItems: 'center' },
                children: Object(fe.jsx)('div', { style: { height: 3, width: ''.concat(n, '%'), background: i.wasSuccessful ? X : Q } })
              })
            ]
          })
        },
        Te = function(e) {
          var t,
            n,
            o,
            a,
            r,
            s,
            d,
            h,
            p = e.activeTab,
            j = e.onTestSelect,
            O = i.useState({ searchKey: '', filter: 'all', currentMetric: 'duration' }),
            w = Object(c.a)(O, 2),
            k = w[0],
            R = w[1],
            S = i.useState(batchRun.tests),
            C = Object(c.a)(S, 2),
            L = C[0],
            I = C[1],
            T = (function(e) {
              var t = Number.MIN_VALUE
              return (
                batchRun.tests.forEach(function(n) {
                  return n.testRuns.forEach(function(n) {
                    n[e] && (t = Math.max(t, n[e]))
                  })
                }),
                t
              )
            })(k.currentMetric),
            M = i.useCallback(function(e) {}, []),
            F = i.useCallback(
              function() {
                var e = k.filter,
                  t = k.searchKey.toLowerCase()
                if (t || 'all' !== e) {
                  var n = batchRun.tests
                  t &&
                    (n = n.filter(function(e) {
                      var n, i, o, a
                      return (
                        (null === e || void 0 === e || null === (n = e.id) || void 0 === n ? void 0 : n.toLowerCase().includes(t)) ||
                        (null === e || void 0 === e || null === (i = e.title) || void 0 === i ? void 0 : i.toLowerCase().includes(t)) ||
                        (null === (o = e.deviceData) || void 0 === o || null === (a = o.name) || void 0 === a ? void 0 : a.toLowerCase().includes(t))
                      )
                    })),
                    e &&
                      'all' !== e &&
                      (n = n.filter(function(t) {
                        var n = null === t || void 0 === t ? void 0 : t.testRuns[(null === t || void 0 === t ? void 0 : t.testRuns.length) - 1],
                          i =
                            null === n || void 0 === n
                              ? void 0
                              : n.stepResults.filter(function(t) {
                                  return t.success === ('successful' === e)
                                })
                        return 'failed' === e ? i.length > 0 : i.length === (null === n || void 0 === n ? void 0 : n.stepResults.length)
                      })),
                    I(n),
                    M(n)
                } else I(batchRun.tests)
              },
              [k, M]
            ),
            D = function(e) {
              var t = e.target,
                n = t.name,
                i = t.value
              R(Object(l.a)(Object(l.a)({}, k), {}, Object(u.a)({}, n, i)))
            }
          i.useEffect(
            function() {
              F()
            },
            [k, F]
          ),
            i.useEffect(
              function() {
                M(batchRun.tests)
              },
              [M]
            )
          var B =
            (100 * (null === (t = batchRun.stats) || void 0 === t ? void 0 : t.successCount)) /
            (null === (n = batchRun.stats) || void 0 === n ? void 0 : n.totalCount)
          return Object(fe.jsxs)('div', {
            id: 'sidebar',
            style: { color: 'white', flexBasis: null === p ? '100%' : '50%', height: '100%' },
            children: [
              Object(fe.jsxs)('div', {
                id: 'left-col',
                style: { width: 230, background: P, padding: 60, flexBasis: 'auto', flexGrow: 0, overflow: 'auto' },
                children: [
                  Object(fe.jsx)('img', { src: 'assets/logo.png', alt: 'logo', style: { maxWidth: 140, marginBottom: 100 } }),
                  Object(fe.jsxs)('div', {
                    children: [
                      Object(fe.jsx)(b.a, { variant: 'h3', component: 'div', children: 'Batch Run Report:' }),
                      Object(fe.jsx)(b.a, { variant: 'h1', component: 'div', style: { marginBottom: 26 }, children: batchRun.title }),
                      Object(fe.jsxs)('div', {
                        style: { position: 'relative', marginBottom: 30 },
                        children: [
                          Object(fe.jsxs)('svg', {
                            width: '100%',
                            height: '100%',
                            viewBox: '3.8 3.8 34.4 34.4',
                            className: 'donut',
                            children: [
                              Object(fe.jsx)('circle', {
                                className: 'donut-ring',
                                cx: '21',
                                cy: '21',
                                r: '15.91549430918954',
                                fill: 'transparent',
                                stroke: _,
                                strokeWidth: '2'
                              }),
                              Object(fe.jsx)('circle', {
                                className: 'donut-segment',
                                cx: '21',
                                cy: '21',
                                r: '15.91549430918954',
                                fill: 'transparent',
                                stroke: Y,
                                strokeWidth: '2.05',
                                strokeDasharray: B + ' ' + (100 - B),
                                strokeDashoffset: 25
                              })
                            ]
                          }),
                          Object(fe.jsx)('div', {
                            style: {
                              position: 'absolute',
                              display: 'flex',
                              justifyContent: 'center',
                              alignItems: 'center',
                              width: '100%',
                              height: '100%',
                              top: 0
                            },
                            children: Object(fe.jsxs)(b.a, {
                              sx: ke,
                              component: 'div',
                              style: { width: 'fit-content' },
                              children: [
                                Object(fe.jsxs)('div', {
                                  style: { borderBottom: '1px solid #7692a4', marginBottom: 4 },
                                  children: [
                                    ''.concat(null === (o = batchRun.stats) || void 0 === o ? void 0 : o.failCount, ' failed'),
                                    Object(fe.jsx)('br', {}),
                                    ''.concat(null === (a = batchRun.stats) || void 0 === a ? void 0 : a.successCount, ' successful'),
                                    Object(fe.jsx)('br', {})
                                  ]
                                }),
                                ''.concat(null === (r = batchRun.tests) || void 0 === r ? void 0 : r.length, ' total')
                              ]
                            })
                          })
                        ]
                      }),
                      Object(fe.jsx)(ye, { name: 'Batch Run Date:', value: me(null === (s = batchRun) || void 0 === s ? void 0 : s.createdOn) }),
                      Object(fe.jsx)(ye, { name: 'Duration:', value: null === (d = batchRun.stats) || void 0 === d ? void 0 : d.duration }),
                      Object(fe.jsx)(ye, { name: 'Steps Executed:', value: null === (h = batchRun.stats) || void 0 === h ? void 0 : h.stepsCount })
                    ]
                  })
                ]
              }),
              Object(fe.jsxs)('div', {
                id: 'right-col',
                className: null !== p ? 'hideInPrintVersion' : '',
                style: { background: V, flexGrow: 1, display: 'flex', flexDirection: 'column' },
                children: [
                  Object(fe.jsxs)('div', {
                    style: { display: 'flex', marginBottom: 16, padding: 40, paddingBottom: 10, alignItems: 'center' },
                    children: [
                      Object(fe.jsxs)('div', {
                        style: { flexBasis: null === p ? '50%' : '100%', display: 'flex' },
                        children: [
                          Object(fe.jsx)(Se, {
                            variant: 'standard',
                            style: { flexBasis: '44%', flexGrow: 1, marginRight: 30 },
                            placeholder: 'Search (title, id)',
                            name: 'searchKey',
                            onChange: D,
                            inputProps: Oe
                          }),
                          Object(fe.jsxs)(Ce, {
                            variant: 'standard',
                            name: 'filter',
                            onChange: D,
                            value: k.filter,
                            style: { flexGrow: 1, flexBasis: '10%' },
                            children: [
                              Object(fe.jsx)(m.a, { value: 'all', children: 'All' }),
                              Object(fe.jsx)(m.a, { value: 'successful', children: 'Successful' }),
                              Object(fe.jsx)(m.a, { value: 'failed', children: 'Failed' })
                            ]
                          })
                        ]
                      }),
                      null === p &&
                        Object(fe.jsxs)(fe.Fragment, {
                          children: [
                            Object(fe.jsx)(b.a, {
                              component: 'div',
                              variant: 'body1',
                              style: { paddingRight: 10, paddingLeft: 30 },
                              children: 'Performance Metric:'
                            }),
                            Object(fe.jsx)(Ce, {
                              variant: 'standard',
                              name: 'currentMetric',
                              onChange: D,
                              value: k.currentMetric,
                              children: Object.keys(we).map(function(e, t) {
                                return Object(fe.jsx)(m.a, { value: e, children: we[e] }, e)
                              })
                            })
                          ]
                        })
                    ]
                  }),
                  Object(fe.jsx)(x.a, {
                    disablePadding: !0,
                    style: { overflow: 'auto', height: '100%', padding: 40, paddingTop: 0 },
                    children: L.map(function(e, t) {
                      return Object(fe.jsxs)(
                        f.a,
                        {
                          button: !0,
                          divider: !0,
                          style: Re,
                          onClick: function() {
                            j(t, e)
                          },
                          children: [
                            Object(fe.jsx)(g.a, { sx: { color: 'white', minWidth: 36 }, children: Object(fe.jsx)(dt, { test: e }) }),
                            Object(fe.jsx)(y.a, {
                              primary: ''.concat(e.title),
                              secondary: 'ID: '.concat(pe(e.id)),
                              style: { flexGrow: 1, width: 0 }
                            }),
                            Object(fe.jsx)(v.a, { style: { opacity: p === t ? 1 : 0 } }),
                            null === p &&
                              Object(fe.jsx)('div', {
                                style: { flex: 1, flexDirection: 'row', flexGrow: 1 },
                                children: Object(fe.jsx)('div', { children: Le(e, 0, k.currentMetric, T) })
                              })
                          ]
                        },
                        e.id + t
                      )
                    })
                  })
                ]
              })
            ]
          })
        },
        Me = n(241),
        Fe = function(e) {
          var t,
            n,
            i,
            a,
            r,
            c = e.test,
            l = e.failStepRef,
            s = null === c || void 0 === c ? void 0 : c.testRuns[(null === c || void 0 === c ? void 0 : c.testRuns.length) - 1]
          console.log('test.testRuns', c.testRuns)
          var d = null === s || void 0 === s ? void 0 : s.appVersions[0],
            u = null === s || void 0 === s ? void 0 : s.stepResults,
            h = u.filter(function(e) {
              return e.success
            }),
            v = u.filter(function(e) {
              return !e.success
            }),
            p = v.length > 0,
            j = c.deviceData.serial === s.deviceData.serial,
            m = o.a.useCallback(
              function() {
                l.current.scrollIntoView({ behavior: 'smooth', block: 'start' })
              },
              [l]
            )
          o.a.useEffect(
            function() {
              var e = document.getElementById('scrollContainer')
              p
                ? setTimeout(function() {
                    return m()
                  }, 600)
                : null === e || void 0 === e || e.scrollTo({ top: 0, left: 0, behavior: 'auto' })
            },
            [c.id, p, l, m]
          )
          var x = { fontSize: '1rem', textDecoration: 'auto', cursor: 'auto' }
          return (
            v.length > 0 && ((x.textDecoration = 'underline'), (x.cursor = 'pointer')),
            s
              ? Object(fe.jsxs)('div', {
                  children: [
                    Object(fe.jsxs)(b.a, {
                      variant: 'h1',
                      component: 'div',
                      style: { marginBottom: 20, marginTop: 7 },
                      children: [c.title, ' (ID: ', pe(c.id), ')']
                    }),
                    Object(fe.jsxs)(Me.a, {
                      container: !0,
                      spacing: 3,
                      children: [
                        Object(fe.jsxs)(Me.a, {
                          item: !0,
                          xs: 6,
                          children: [
                            Object(fe.jsx)(ye, { name: 'Test Created:', value: me(null === c || void 0 === c ? void 0 : c.createdOn) }),
                            Object(fe.jsx)(ye, { name: 'Package Name:', value: null === d || void 0 === d ? void 0 : d.packageName }),
                            Object(fe.jsx)(ye, { name: 'Test Run Duration:', value: be(null === s || void 0 === s ? void 0 : s.duration) }),
                            Object(fe.jsx)(ye, { name: 'App Min Sdk:', value: null === d || void 0 === d ? void 0 : d.minSdk }),
                            Object(fe.jsx)(ye, { name: 'Install Date:', value: me(null === d || void 0 === d ? void 0 : d.firstInstallTime) })
                          ]
                        }),
                        Object(fe.jsxs)(Me.a, {
                          item: !0,
                          xs: 6,
                          children: [
                            Object(fe.jsx)(ye, { name: 'Test Run Date:', value: me(null === s || void 0 === s ? void 0 : s.date) }),
                            Object(fe.jsx)(ye, { name: 'Package Version:', value: null === d || void 0 === d ? void 0 : d.name }),
                            Object(fe.jsx)(ye, { name: 'App Code:', value: null === d || void 0 === d ? void 0 : d.code }),
                            Object(fe.jsx)(ye, { name: 'App Target Sdk:', value: null === d || void 0 === d ? void 0 : d.targetSdk }),
                            Object(fe.jsx)(ye, { name: 'Last Update Date:', value: me(null === d || void 0 === d ? void 0 : d.lastUpdateTime) })
                          ]
                        })
                      ]
                    }),
                    Object(fe.jsxs)(Me.a, {
                      container: !0,
                      spacing: 3,
                      style: { marginBottom: 20 },
                      children: [
                        Object(fe.jsx)(Me.a, {
                          item: !0,
                          xs: j ? 12 : 6,
                          children: Object(fe.jsx)(ye, {
                            name: 'Device '.concat(j ? '' : '(Recorded)', ':'),
                            value:
                              (null === c || void 0 === c || null === (t = c.deviceData) || void 0 === t ? void 0 : t.name) +
                              ' / ' +
                              (null === c || void 0 === c ? void 0 : c.deviceData.os) +
                              ' ' +
                              ((null === c || void 0 === c || null === (n = c.deviceData) || void 0 === n ? void 0 : n.osVersion) || '')
                          })
                        }),
                        !j &&
                          Object(fe.jsx)(Me.a, {
                            item: !0,
                            xs: 6,
                            children: Object(fe.jsx)(ye, {
                              name: 'Device (Executed):',
                              value:
                                (null === s || void 0 === s || null === (i = s.deviceData) || void 0 === i ? void 0 : i.name) +
                                ' / ' +
                                (null === s || void 0 === s ? void 0 : s.deviceData.os) +
                                ' ' +
                                ((null === s || void 0 === s || null === (a = s.deviceData) || void 0 === a ? void 0 : a.osVersion) || '')
                            })
                          })
                      ]
                    }),
                    Object(fe.jsxs)('div', {
                      style: { borderRadius: 4, padding: 10, background: s.wasSuccessful ? X : Q },
                      children: [
                        Object(fe.jsxs)(b.a, {
                          sx: { fontSize: '1rem' },
                          variant: 'h6',
                          children: [
                            ''.concat(c.stepsCountWithSubTestSteps, ' steps: ').concat(h.length, ' successful / '),
                            Object(fe.jsx)(b.a, {
                              component: 'span',
                              sx: x,
                              variant: 'h6',
                              onClick: function() {
                                return v.length > 0 ? m() : null
                              },
                              children: ''.concat(v.length, '  failed')
                            })
                          ]
                        }),
                        p &&
                          Object(fe.jsxs)(b.a, {
                            sx: { fontSize: '1rem', whiteSpace: 'break-spaces' },
                            variant: 'h6',
                            children: ['Status Message:', ' '.concat(null === (r = v[0]) || void 0 === r ? void 0 : r.message)]
                          })
                      ]
                    })
                  ]
                })
              : null
          )
        },
        De = n(118),
        Be = n(248),
        Ee = n(247),
        ze = n(242)
      const We = 'data'
      var Ne = function(e) {
          var t = e.name,
            n = tagsMapping.find(function(e) {
              return e.name === t
            }),
            i = { backgroundColor: (null === n || void 0 === n ? void 0 : n.color) || J, marginLeft: 8, height: 20 },
            o = Object(fe.jsx)(N.a, { size: 'small', label: t, style: i })
          return Object(fe.jsx)(fe.Fragment, {
            children: Object(fe.jsx)('span', {
              children: Object(fe.jsx)($.a, { title: (null === n || void 0 === n ? void 0 : n.description) || '', children: o })
            })
          })
        },
        $e = n(114),
        Ae = function(e) {
          var t = e.step,
            n = e.src,
            o = Object(i.useRef)(null),
            a = Object(i.useState)({ width: 500, height: 800 }),
            r = Object(c.a)(a, 2),
            l = r[0],
            s = r[1],
            d = function(e, t) {
              return ''
                .concat(e, ' ')
                .concat(l.width * t.x, ' ')
                .concat(l.height * t.y, ' ')
            },
            u = t.mouseMoveCoordinates,
            h = '',
            v = '',
            p = null,
            j = null
          if (u.length > 1) {
            h += d('M', u[0])
            for (var b = 1; b < u.length; b++) h += d('L', u[b])
            var m = u[0],
              x = u[u.length - 1],
              f = u[u.length - 2],
              g = x.x - f.x,
              y = x.y - f.y,
              O = (180 * Math.atan2(y, g)) / Math.PI
            ;(v = 'translate('
              .concat(l.width * x.x, ' ')
              .concat(l.height * x.y, ') rotate(')
              .concat(O, ' 0 0) translate(-2 -7)')),
              t.longClick &&
                ((j = Object(fe.jsx)('circle', { cx: l.width * m.x, cy: l.height * m.y, r: 10, stroke: U, fill: U, strokeWidth: '10' })),
                (p = Object(fe.jsx)('circle', { cx: l.width * m.x, cy: l.height * m.y, r: 10, stroke: H, fill: H, strokeWidth: '2' })))
          }
          return Object(fe.jsxs)('div', {
            ref: o,
            style: { position: 'relative', width: 'fit-content', height: 'fit-content', cursor: 'crosshair' },
            children: [
              Object(fe.jsx)('img', {
                style: { maxWidth: '100%', maxHeight: '-webkit-fill-available' },
                src: n,
                onLoad: function(e) {
                  var t = e.target
                  s({ width: t.offsetWidth, height: t.offsetHeight })
                }
              }),
              Object(fe.jsxs)('svg', {
                style: { position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' },
                xmlns: 'https://www.w3.org/2000/svg',
                viewBox: '0 0 '.concat(l.width, ' ').concat(l.height),
                preserveAspectRatio: 'none',
                children: [
                  j,
                  Object(fe.jsx)('path', { strokeWidth: '10', stroke: U, fill: 'none', strokeLinejoin: 'round', strokeLinecap: 'round', d: h }),
                  v &&
                    Object(fe.jsx)('polygon', {
                      strokeWidth: '10',
                      strokeLinecap: 'round',
                      points: '2,7 0,0 11,7 0,14',
                      transform: v,
                      stroke: U,
                      fill: U
                    }),
                  p,
                  Object(fe.jsx)('path', { strokeWidth: '2', stroke: H, fill: 'none', strokeLinejoin: 'round', strokeLinecap: 'round', d: h }),
                  v &&
                    Object(fe.jsx)('polygon', {
                      strokeWidth: '2',
                      strokeLinecap: 'round',
                      points: '2,7 0,0 11,7 0,14',
                      transform: v,
                      stroke: H,
                      fill: H
                    })
                ]
              })
            ]
          })
        },
        Pe = n(230),
        Ve = function(e) {
          var t = e.positionSource.point,
            n = Object(i.useRef)(null),
            o = Object(i.useRef)(null),
            a = 100 * t.x + '%',
            r = 100 * t.y + '%'
          return Object(fe.jsxs)('div', {
            ref: n,
            style: Object(l.a)({ position: 'relative', height: '200px', width: '200px', backgroundColor: 'rgba(100,100,100)' }, e.style),
            children: [
              e.children,
              Object(fe.jsx)(Pe.a, {
                ref: o,
                style: {
                  color: '#FFFFFF',
                  position: 'absolute',
                  width: 10,
                  height: 10,
                  padding: 20,
                  borderRadius: 35,
                  left: 'calc('.concat(a, ' - 5px)'),
                  top: 'calc('.concat(r, ' - 5px)'),
                  cursor: 'grabbing',
                  zIndex: 101,
                  backgroundColor: H
                }
              })
            ]
          })
        },
        Ge = function(e) {
          var t = e.step,
            n = t.startPositionSource.point,
            i = t.endPositionSource.point,
            o = (n.x + i.x) / 2,
            a = (n.y + i.y) / 2,
            r = n.x - i.x,
            c = n.y - i.y,
            l = (180 * Math.atan2(c, r)) / Math.PI
          return Object(fe.jsx)(C.a, {
            style: {
              position: 'absolute',
              backgroundColor: K,
              color: H,
              zIndex: 101,
              top: 'calc('.concat(100 * a, '% - 35px)'),
              left: 'calc('.concat(100 * o, '% - 35px)'),
              width: 70,
              height: 70,
              padding: 20,
              borderRadius: 35,
              transform: 'rotate('.concat(l, 'deg)')
            }
          })
        },
        He = 'DragAndDrop',
        Je = function(e) {
          var t = e.src,
            n = e.step
          return Object(fe.jsxs)(fe.Fragment, {
            children: [
              n.dragType === He && Object(fe.jsx)(Ae, { step: n, src: t }),
              n.dragType !== He &&
                Object(fe.jsxs)(Ve, {
                  style: { position: 'relative', zIndex: 100, width: 'fit-content', height: 'fit-content' },
                  positionSource: n.endPositionSource,
                  children: [
                    Object(fe.jsx)(Ve, {
                      style: { position: 'relative', zIndex: 100, width: 'fit-content', height: 'fit-content' },
                      positionSource: n.startPositionSource,
                      children: Object(fe.jsx)('img', { style: { maxWidth: '100%', maxHeight: '-webkit-fill-available' }, src: t })
                    }),
                    Object(fe.jsx)(Ge, { step: n })
                  ]
                })
            ]
          })
        },
        Ue = ['matchIndex', 'matches', 'selection', 'roi', 'maxWidth', 'style', 'src', 'children', 'step'],
        Ke = function(e) {
          var t,
            n,
            i,
            o,
            a = e.match,
            r = e.opacity,
            c = e.style,
            s = {
              position: 'absolute',
              fontSize: 9,
              left: ''.concat(100 * (null === a || void 0 === a || null === (t = a.position) || void 0 === t ? void 0 : t.x), '%'),
              top: ''.concat(100 * (null === a || void 0 === a || null === (n = a.position) || void 0 === n ? void 0 : n.y), '%'),
              width: ''.concat(100 * (null === a || void 0 === a || null === (i = a.size) || void 0 === i ? void 0 : i.width), '%'),
              height: ''.concat(100 * (null === a || void 0 === a || null === (o = a.size) || void 0 === o ? void 0 : o.height), '%'),
              opacity: r || 1,
              outline: '2px solid '.concat('#ff00ff'),
              boxShadow: '0px 0px 40px 32px #0000006b'
            }
          return c && (s = Object(l.a)(Object(l.a)({}, s), c)), Object(fe.jsx)('div', { style: s })
        },
        qe = function(e) {
          var t = e.matchIndex,
            n = e.matches,
            i = e.selection,
            o = e.roi,
            a = e.maxWidth,
            r = e.style,
            c = e.src,
            s = e.children,
            d = e.step,
            u = Object($e.a)(e, Ue)
          return Object(fe.jsxs)(
            'div',
            Object(l.a)(
              Object(l.a)({}, u),
              {},
              {
                style: Object(l.a)({ position: 'relative', overflow: 'hidden', maxWidth: a, borderRadius: 5 }, r),
                children: [
                  'drag' !== d.type &&
                    Object(fe.jsx)('img', { src: c, width: '100%', alt: 'ImageMatchView', style: { borderRadius: 5, display: 'block' } }),
                  'drag' === d.type && Object(fe.jsx)(Je, { step: d, src: c }),
                  n && n.length
                    ? n.map(function(e, n) {
                        return Object(fe.jsx)(Ke, { match: e, opacity: n === t ? 1 : 0.25 }, n)
                      })
                    : i && Object(fe.jsx)(Ke, { rect: i }),
                  o && Object(fe.jsx)(Ke, { rect: o, style: { color: '#CDEFA6' } }),
                  s
                ]
              }
            )
          )
        },
        _e = function(e) {
          var t = e.height,
            n = e.showTip,
            i = void 0 === n || n
          return Object(fe.jsx)('div', {
            className: 'vl',
            style: { borderRight: '2px solid '.concat(q), height: t || '30px' },
            children:
              i &&
              Object(fe.jsx)('div', {
                className: 'point',
                style: {
                  position: 'absolute',
                  borderTop: '12px solid '.concat(q),
                  borderRight: '8px solid transparent',
                  borderLeft: '8px solid transparent',
                  marginLeft: '-7px',
                  top: '100%'
                }
              })
          })
        },
        Qe = { fontSize: '0.7rem', color: 'rgba(0, 0, 0, 0.6)' },
        Xe = { width: 'auto', maxHeight: '3rem' },
        Ye = function() {
          var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]
          return { position: 'absolute', width: '600px', bottom: e ? '200px' : '0' }
        },
        Ze = function(e) {
          var t = parseFloat(e)
          return ''.concat((100 * t).toFixed(2), '%')
        },
        et = function(e, t) {
          return Object(fe.jsxs)(o.a.Fragment, {
            children: [
              Object(fe.jsx)('span', { children: t }),
              Object(fe.jsx)('span', { style: Qe, children: ' ID: '.concat(pe(null === e || void 0 === e ? void 0 : e.id)) })
            ]
          })
        },
        tt = function(e, t, n) {
          return Object(fe.jsx)(o.a.Fragment, { children: Object(fe.jsx)('img', { style: n, src: t, alt: e.id }) })
        },
        nt = function(e, t) {
          if (e.stepResults[t]) return Object(fe.jsx)(_e, { height: '30px' })
        },
        it = function(e) {
          if (e) return new Date(e).toLocaleString()
        },
        ot = function(e) {
          var t,
            n,
            i = e.test,
            a = e.testRun,
            r = e.index,
            s = e.step,
            d = e.refList,
            u = e.stepResult,
            h = e.referenceSResult,
            v = e.failStepRef,
            p = o.a.useState(!1),
            j = Object(c.a)(p, 2),
            m = j[0],
            x = j[1],
            f = o.a.useState(!1),
            g = Object(c.a)(f, 2),
            y = g[0],
            O = g[1],
            N = './'.concat(We, '/').concat(i.id),
            $ = 'testRuns/'.concat(null === (t = a.deviceData) || void 0 === t ? void 0 : t.serial),
            A = ((e, t = 'all', n = !0) => {
              let i = '',
                a = '',
                r = '',
                c = null
              const l = e.longClick ? ' and drop' : ''
              if ('drag' === e.type)
                if (e.stopOnFingerprintFound) r = 'until fingerprint is found'
                else if (de(e)) {
                  const t = se(e)
                  ;(c = t && t > 0 ? S.a : C.a), (i = ce(oe(e))), (a = ce(ae(e))), (r = `${i} -> ${a}`)
                } else {
                  const t = le(e)
                  ;(c = t && t > 0 ? L.a : I.a), (i = re(oe(e))), (a = re(ae(e))), (r = `${i} -> ${a}`)
                }
              let s
              if ('text' === e.type) {
                const t = []
                e.clearText && t.push('Clear text'), e.text && t.push('Type'), (s = t.join(' and '))
              }
              const d = 'No description found for this element',
                u = {
                  click: { icon: T.a, primary: e.longClick ? 'Long Click' : 'Click', secondary: 'on fingerprint', cmdLineIcon: '\ud83d\udc46' },
                  drag: { icon: c, primary: `Drag ${ue(e) ? 'around' : he(e) || ''}${l}`, secondary: r, cmdLineIcon: '\ud83d\udc46' },
                  waitForTemplate: { icon: M.a, primary: 'Wait', secondary: 'for fingerprint to show', cmdLineIcon: '\u23f3' },
                  waitForDuration: {
                    icon: M.a,
                    primary: 'Wait',
                    secondary: `for ${e.duration} ms ${'waitForAnimationFinish' === e.subtype ? ' (screen animation)' : ''}`,
                    cmdLineIcon: '\u23f3'
                  },
                  waitForKeyboard: { icon: M.a, primary: 'Wait', secondary: 'for keyboard to show up', cmdLineIcon: '\u2328\ufe0f' },
                  text: { icon: F.a, primary: s, secondary: e.text && `"${e.text}"`, cmdLineIcon: '\ud83d\udcdd' },
                  scanText: { primary: 'Scan for text', secondary: '', cmdLineIcon: '\ud83d\udd0e' },
                  home: { icon: D.a, primary: 'Home press', secondary: '', cmdLineIcon: '\ud83c\udfe0' },
                  back: { icon: B.a, primary: 'Back press', secondary: '', cmdLineIcon: '\u2b05\ufe0f' },
                  appSwitch: { icon: E.a, primary: 'Show app switch', secondary: '', cmdLineIcon: '\ud83d\udcf1' },
                  templateAssertion: { icon: z.a, primary: 'Check specific element', secondary: '', cmdLineIcon: '\u2705' },
                  someContentAssertion: { primary: 'Check some dynamic element', secondary: '', cmdLineIcon: '\u2705' },
                  someContentClick: { primary: 'Click', secondary: 'on some content at x/y', cmdLineIcon: '\ud83d\udc46' },
                  startApp: { icon: R, primary: 'Start App', secondary: [e.packageName, e.iosBundleId].join(' | '), cmdLineIcon: '\ud83d\ude80' },
                  stopApp: { icon: k, primary: 'Stop App', secondary: e.packageName ? e.packageName : e.iosBundleId, cmdLineIcon: '\ud83d\udeec' },
                  execScript: {
                    icon: w,
                    primary: 'cli' === e.language ? 'Exec Command Line Script' : 'Exec JavaScript',
                    secondary: e.script,
                    cmdLineIcon: '>'
                  },
                  subTest: { icon: W.a, primary: 'SubTest', secondary: '', cmdLineIcon: '>' },
                  scanTextAssertion: {
                    icon: z.a,
                    primary: 'Check for text',
                    secondary: e.assertionJs ? `Check: ${e.assertionJs}` : `Scanned text should ${xe(e)} "${e.searchText}"`,
                    cmdLineIcon: '\u2705'
                  },
                  scanTextClick: { primary: 'Click on text', secondary: `"${e.searchText}"`, cmdLineIcon: '\ud83d\udc46' },
                  scanTextWait: {
                    icon: M.a,
                    primary: 'Wait',
                    secondary: e.assertionJs ? `Until true: ${e.assertionJs}` : `Until scanned text ${xe(e)} "${e.searchText}"`,
                    cmdLineIcon: '\u23f3'
                  }
                }[e.type] || { primary: d, secondary: d, icon: T.a, cmdLineIcon: '\ud83d\udc46' }
              return (
                e.optional && (u.primary = `Optional ${u.primary}`),
                n &&
                  e.tags &&
                  (u.secondary = o.a.createElement(
                    'span',
                    null,
                    u.secondary,
                    ' ',
                    e.tags.map(e => o.a.createElement(Z, { name: e, key: e }))
                  )),
                'all' === t ? u : u[t]
              )
            })(s, 'all', !1),
            P = null === u || void 0 === u ? void 0 : u.success,
            V = o.a.createRef(),
            G = null === u || void 0 === u ? void 0 : u.copy,
            H = '0px solid '.concat(P ? '#c8d051' : _),
            J = Number((null === i || void 0 === i ? void 0 : i.similarityWarnThreshold) || '0.00'),
            U = a.deviceData,
            K = U.currentRotation === U.rotationVars.landscape || U.currentRotation === U.rotationVars.seascape
          d.push(V)
          var ee =
            (null === s || void 0 === s ? void 0 : s.originalFrame) && ''.concat(N, '/').concat(null === s || void 0 === s ? void 0 : s.originalFrame)
          h && (ee = ''.concat(N, '/').concat($ + '/' + h.screenshot))
          var te =
              (null === u || void 0 === u ? void 0 : u.screenshot) &&
              ''
                .concat(N, '/')
                .concat($, '/')
                .concat(null === u || void 0 === u ? void 0 : u.screenshot),
            ne = function(e) {
              var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
                n = 'org' === e,
                i = null !== u && void 0 !== u && u.success ? Y : _,
                o = n ? Y : i,
                a = !!n && !(null === u || void 0 === u || !u.screenshot),
                r = (!!n || (null !== s && void 0 !== s && s.originalFrame), n ? (h ? 'Reference Test Run' : 'Original') : 'Test Run'),
                c = n ? (null === s || void 0 === s ? void 0 : s.createdOn) : null === u || void 0 === u ? void 0 : u.createdOn,
                d = t ? Ye(a) : { position: 'absolute', bottom: 0, textAlign: 'center', width: '100%', borderRadius: '0 0 4px 4px' }
              return Object(fe.jsxs)('div', {
                className: 'info',
                style: Object(l.a)(Object(l.a)({}, d), {}, { backgroundColor: o, paddingTop: 10, height: 55 }),
                children: [
                  Object(fe.jsxs)(b.a, { variant: 'body1', children: [r, ' Screenshot'] }),
                  Object(fe.jsx)(b.a, { variant: 'body2', children: it(c) })
                ]
              })
            },
            ie = function(e, t) {
              if (!e) return ve(t)
              var n = 'org' === t ? (null === s || void 0 === s ? void 0 : s.matches) : null === u || void 0 === u ? void 0 : u.matches
              return (
                h && (n = h.matches),
                Object(fe.jsxs)('div', {
                  className: 'matchResult',
                  style: { flexBasis: '50%', position: 'relative' },
                  children: [
                    Object(fe.jsx)(qe, {
                      matchIndex: null === s || void 0 === s ? void 0 : s.matchIndex,
                      matches: n,
                      selection: null === s || void 0 === s ? void 0 : s.selection,
                      roi: null === s || void 0 === s ? void 0 : s.region,
                      width: 200,
                      src: e,
                      step: s
                    }),
                    ne(t, !1)
                  ]
                })
              )
            },
            ve = function(e) {
              return Object(fe.jsxs)('div', {
                style: {
                  display: 'flex',
                  justifyContent: 'center',
                  alignItems: 'center',
                  flexGrow: 1,
                  position: 'relative',
                  backgroundColor: q,
                  borderRadius: 4,
                  minHeight: 300
                },
                children: [Object(fe.jsx)(b.a, { children: 'Not available' }), ne(e, !1)]
              })
            },
            pe = 600
          return Object(fe.jsxs)(fe.Fragment, {
            children: [
              Object(fe.jsxs)('div', {
                className: 'stepWrapper',
                ref: G || P ? null : v,
                style: { minWidth: pe, maxWidth: pe, border: G ? '' : H },
                children: [
                  Object(fe.jsx)(Ee.a, {
                    avatar: Object(fe.jsx)(ze.a, {
                      style: { backgroundColor: P ? Y : _ },
                      'aria-label': 'step-no',
                      children: A.icon && Object(fe.jsx)(A.icon, {})
                    }),
                    title: et(s, A.primary),
                    subheader: Object(fe.jsxs)(fe.Fragment, {
                      children: [
                        Object(fe.jsx)('span', { children: A.secondary }),
                        null === s || void 0 === s || null === (n = s.tags) || void 0 === n
                          ? void 0
                          : n.map(function(e, t) {
                              return Object(fe.jsx)(Ne, { name: e }, t)
                            })
                      ]
                    }),
                    action:
                      (null === s || void 0 === s ? void 0 : s.image) &&
                      Object(fe.jsx)(fe.Fragment, { children: tt(i, ''.concat(N, '/').concat(null === s || void 0 === s ? void 0 : s.image), Xe) }),
                    style: {}
                  }),
                  Object(fe.jsxs)('div', {
                    style: { borderBottom: '2px solid #d7d7d7' },
                    children: [
                      Object(fe.jsxs)('div', {
                        style: { position: 'relative', paddingBottom: 20 },
                        children: [
                          Object(fe.jsxs)('div', {
                            style: { display: 'flex', flexDirection: K ? 'column' : 'row' },
                            children: [ie(ee, 'org'), Object(fe.jsx)('div', { style: { height: 10, width: 10 } }), ie(te, 'testRun')]
                          }),
                          (null === u || void 0 === u ? void 0 : u.screenSimilarity) &&
                            Object(fe.jsxs)(fe.Fragment, {
                              children: [
                                Object(fe.jsx)('div', {
                                  style: { position: 'absolute', bottom: 0, width: '100%', height: 100, overflow: 'hidden' },
                                  children: Object(fe.jsxs)('div', {
                                    className: 'similarityBatch '.concat(
                                      Number(null === u || void 0 === u ? void 0 : u.screenSimilarity) > J ? 'above' : 'below'
                                    ),
                                    onMouseEnter: function(e) {
                                      return x(!0)
                                    },
                                    onMouseLeave: function(e) {
                                      return x(!1)
                                    },
                                    children: [
                                      Object(fe.jsx)(b.a, {
                                        variant: 'body1',
                                        children: Ze(null === u || void 0 === u ? void 0 : u.screenSimilarity)
                                      }),
                                      Object(fe.jsx)(b.a, { variant: 'body2', children: 'Screen Similarity' })
                                    ]
                                  })
                                }),
                                (m || y) &&
                                  ee &&
                                  te &&
                                  Object(fe.jsxs)('div', {
                                    onMouseEnter: function(e) {
                                      return O(!0)
                                    },
                                    onMouseLeave: function(e) {
                                      return O(!1)
                                    },
                                    className: 'diffImg',
                                    style: {
                                      width: pe,
                                      height: pe,
                                      position: 'absolute',
                                      justifyContent: 'center',
                                      alignItems: 'center',
                                      display: 'flex',
                                      backgroundColor: '#FFF',
                                      boxShadow: '0px 2px 28px #00000057',
                                      borderRadius: 5,
                                      top: 0
                                    },
                                    children: [
                                      Object(fe.jsx)('img', {
                                        src: ee,
                                        style: { position: 'absolute', maxHeight: pe, maxWidth: pe, boxShadow: '0px 2px 28px #00000057' }
                                      }),
                                      Object(fe.jsx)('img', {
                                        src: te,
                                        style: { position: 'absolute', maxHeight: pe, maxWidth: pe, mixBlendMode: 'difference' }
                                      })
                                    ]
                                  })
                              ]
                            })
                        ]
                      }),
                      (null === u || void 0 === u ? void 0 : u.message) &&
                        Object(fe.jsx)('div', {
                          style: { borderRadius: 4, padding: 10, background: P ? X : Q, marginBottom: 20 },
                          children: Object(fe.jsx)(b.a, {
                            variant: 'body2',
                            sx: { color: P ? '#577633' : '#c93e33', whiteSpace: 'pre-wrap', fontFamily: 'monospace' },
                            children: null === u || void 0 === u ? void 0 : u.message
                          })
                        })
                    ]
                  })
                ]
              }),
              nt(a, r + 1)
            ]
          })
        },
        at = { display: 'flex', flexDirection: 'column', mt: '10px', justifyContent: 'center', alignItems: 'center', position: 'relative' },
        rt = function(e) {
          var t = e.test,
            n = e.failStepRef,
            i = null === t || void 0 === t ? void 0 : t.testRuns[(null === t || void 0 === t ? void 0 : t.testRuns.length) - 1],
            o =
              null === t || void 0 === t
                ? void 0
                : t.testRuns.find(function(e, n) {
                    var i, o
                    return (
                      e.wasSuccessful &&
                      e.stepResults.length &&
                      t.testRuns.length !== n + 1 &&
                      (null === (i = e.deviceData) || void 0 === i ? void 0 : i.serial) ===
                        (null === (o = t.deviceData) || void 0 === o ? void 0 : o.serial)
                    )
                  })
          if (!i) return null
          var a = Object(De.a)(null === i || void 0 === i ? void 0 : i.stepResults),
            r = [],
            c = null,
            s = null,
            d = null
          return (
            (function() {
              var e,
                n = null === t || void 0 === t || null === (e = t.steps) || void 0 === e ? void 0 : e.length,
                i = n - (null === a || void 0 === a ? void 0 : a.length)
              if (i > 0)
                for (var o = n - i; o < n; o++)
                  (a[o] = {}), (a[o].step = null === t || void 0 === t ? void 0 : t.steps[o]), (a[o].success = !1), (a[o].copy = !0)
            })(),
            Object(fe.jsx)(fe.Fragment, {
              children:
                a.length &&
                a.map(function(e, a) {
                  var u,
                    h = null !== e && void 0 !== e && e.copy ? '0.5' : '1'
                  return (
                    (c = e),
                    (s =
                      (null === o || void 0 === o || null === (u = o.stepResults) || void 0 === u
                        ? void 0
                        : u.find(function(e) {
                            var t
                            return e.step.id === (null === (t = c) || void 0 === t ? void 0 : t.step.id)
                          })) || null),
                    'subTest' === (d = e.step).type
                      ? null
                      : Object(fe.jsx)(
                          Be.a,
                          {
                            className: 'stepCard',
                            sx: Object(l.a)(Object(l.a)({}, at), {}, { opacity: h }),
                            children: Object(fe.jsx)(ot, {
                              failStepRef: n,
                              test: t,
                              refList: r,
                              step: d,
                              stepResult: c,
                              referenceSResult: s,
                              testRun: i,
                              index: a
                            })
                          },
                          a
                        )
                  )
                })
            })
          )
        },
        ct = n(115),
        lt = n.n(ct),
        st = n(249),
        dt = function(e) {
          var t = e.test,
            n = './'.concat(We, '/').concat(t.id),
            i = null === t || void 0 === t ? void 0 : t.testRuns[(null === t || void 0 === t ? void 0 : t.testRuns.length) - 1],
            o = i ? (i.wasSuccessful ? Y : _) : J,
            a = t.steps.filter(function(e) {
              return Boolean(e.image)
            }),
            r = Object(fe.jsx)(lt.a, {}),
            c = ''
          if (a.length > 0) {
            var l = a[a.length - 1]
            c = ''.concat(n, '/').concat(l.originalFrame)
          }
          var s = Object(fe.jsx)(st.a, { src: c, style: { width: 18, height: 18 }, children: r })
          return Object(fe.jsx)('div', {
            className: 'stack-container',
            children: Object(fe.jsx)('div', { style: { borderRadius: '50%', border: '2px solid '.concat(o) }, children: s })
          })
        },
        ut = n(116),
        ht = n(231),
        vt = {
          typography: {
            h1: { fontSize: '1.7rem', fontWeight: 400 },
            h2: { fontSize: '1.2rem', fontWeight: 400 },
            h3: { fontSize: '0.8rem', fontWeight: 400, color: V, marginBottom: 3 },
            h4: { fontSize: '0.7rem', fontWeight: 400 },
            h5: { fontSize: '0.5rem', fontWeight: 400 },
            h6: { fontSize: '1.2rem', fontWeight: 400 },
            caption: { color: '#999999', fontSize: '0.7rem' },
            body1: { fontWeight: 400 },
            body2: { fontSize: '0.7rem', fontWeight: 400 },
            subtitle1: { fontWeight: 400 }
          }
        },
        pt = Object(ut.a)(Object(l.a)(Object(l.a)({}, vt), {}, { palette: { type: 'dark', primary: { main: P }, secondary: { main: H } } })),
        jt = Object(ut.a)(
          Object(l.a)(
            Object(l.a)({}, vt),
            {},
            { palette: { type: 'light', text: { primary: '#60626b', secondary: '#b4b4b4' }, primary: { main: P }, secondary: { main: H } } }
          )
        )
      ;(jt.typography.h1.color = P), (jt.typography.h2.color = P)
      var bt = function(e) {
        var t = o.a.useRef(null),
          n = o.a.useState(null),
          i = Object(c.a)(n, 2),
          a = i[0],
          r = i[1],
          l = o.a.useState(null),
          u = Object(c.a)(l, 2),
          h = u[0],
          v = u[1]
        return (
          o.a.useEffect(function() {
            !(function() {
              try {
                var e, t
                if (null === (e = batchRun) || void 0 === e || !e.id || null === (t = batchRun) || void 0 === t || !t.tests)
                  alert('Invalid data OR Report file.')
              } catch (n) {
                alert('Invalid data OR Report file.')
              }
            })()
          }, []),
          Object(fe.jsxs)(fe.Fragment, {
            children: [
              Object(fe.jsx)(s.a, {
                theme: pt,
                children: Object(fe.jsx)(Te, {
                  activeTab: a,
                  onTestSelect: function(e, t) {
                    r(e), v(t)
                  }
                })
              }),
              Object(fe.jsx)(s.a, {
                theme: jt,
                children:
                  h &&
                  Object(fe.jsxs)(fe.Fragment, {
                    children: [
                      Object(fe.jsx)(d.a, {
                        id: 'closeButton',
                        style: { position: 'fixed', right: 30, top: 40, backgroundColor: K, zIndex: 100 },
                        onClick: function() {
                          r(null), v(null)
                        },
                        children: Object(fe.jsx)(ht.a, {})
                      }),
                      Object(fe.jsx)('div', {
                        id: 'scrollContainer',
                        style: { flexGrow: 1, overflow: 'scroll', padding: 40 },
                        children: Object(fe.jsxs)(fe.Fragment, {
                          children: [Object(fe.jsx)(Fe, { test: h, failStepRef: t }), Object(fe.jsx)(rt, { test: h, failStepRef: t })]
                        })
                      })
                    ]
                  })
              })
            ]
          })
        )
      }
      var mt = function() {
        return Object(fe.jsx)(bt, {})
      }
      r.a.render(Object(fe.jsx)(o.a.StrictMode, { children: Object(fe.jsx)(mt, {}) }), document.getElementById('root'))
    }
  },
  [[158, 1, 2]]
])
//# sourceMappingURL=main.7a917f72.chunk.js.map
