"use strict";(self.webpackChunksrsrfl_react=self.webpackChunksrsrfl_react||[]).push([[63],{3720:(o,r,t)=>{t.d(r,{Z:()=>Z});var e=t(3366),a=t(7462),n=t(7294),i=t(512),l=t(4780),s=t(948),p=t(1657),c=t(8216),d=t(6501),u=t(1588),v=t(4867);function b(o){return(0,v.Z)("MuiAppBar",o)}(0,u.Z)("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);var m=t(5893);const k=["className","color","enableColorOnDark","position"],f=(o,r)=>o?`${null==o?void 0:o.replace(")","")}, ${r})`:r,g=(0,s.ZP)(d.Z,{name:"MuiAppBar",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,r[`position${(0,c.Z)(t.position)}`],r[`color${(0,c.Z)(t.color)}`]]}})((({theme:o,ownerState:r})=>{const t="light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[900];return(0,a.Z)({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},"fixed"===r.position&&{position:"fixed",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},"absolute"===r.position&&{position:"absolute",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"sticky"===r.position&&{position:"sticky",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"static"===r.position&&{position:"static"},"relative"===r.position&&{position:"relative"},!o.vars&&(0,a.Z)({},"default"===r.color&&{backgroundColor:t,color:o.palette.getContrastText(t)},r.color&&"default"!==r.color&&"inherit"!==r.color&&"transparent"!==r.color&&{backgroundColor:o.palette[r.color].main,color:o.palette[r.color].contrastText},"inherit"===r.color&&{color:"inherit"},"dark"===o.palette.mode&&!r.enableColorOnDark&&{backgroundColor:null,color:null},"transparent"===r.color&&(0,a.Z)({backgroundColor:"transparent",color:"inherit"},"dark"===o.palette.mode&&{backgroundImage:"none"})),o.vars&&(0,a.Z)({},"default"===r.color&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette.AppBar.defaultBg:f(o.vars.palette.AppBar.darkBg,o.vars.palette.AppBar.defaultBg),"--AppBar-color":r.enableColorOnDark?o.vars.palette.text.primary:f(o.vars.palette.AppBar.darkColor,o.vars.palette.text.primary)},r.color&&!r.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette[r.color].main:f(o.vars.palette.AppBar.darkBg,o.vars.palette[r.color].main),"--AppBar-color":r.enableColorOnDark?o.vars.palette[r.color].contrastText:f(o.vars.palette.AppBar.darkColor,o.vars.palette[r.color].contrastText)},{backgroundColor:"var(--AppBar-background)",color:"inherit"===r.color?"inherit":"var(--AppBar-color)"},"transparent"===r.color&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))})),Z=n.forwardRef((function(o,r){const t=(0,p.Z)({props:o,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:d=!1,position:u="fixed"}=t,v=(0,e.Z)(t,k),f=(0,a.Z)({},t,{color:s,position:u,enableColorOnDark:d}),Z=(o=>{const{color:r,position:t,classes:e}=o,a={root:["root",`color${(0,c.Z)(r)}`,`position${(0,c.Z)(t)}`]};return(0,l.Z)(a,b,e)})(f);return(0,m.jsx)(g,(0,a.Z)({square:!0,component:"header",ownerState:f,elevation:4,className:(0,i.Z)(Z.root,n,"fixed"===u&&"mui-fixed"),ref:r},v))}))},4567:(o,r,t)=>{t.d(r,{Z:()=>f});var e=t(3366),a=t(7462),n=t(7294),i=t(512),l=t(4780),s=t(948),p=t(1657),c=t(6628),d=t(1588),u=t(4867);function v(o){return(0,u.Z)("MuiBackdrop",o)}(0,d.Z)("MuiBackdrop",["root","invisible"]);var b=t(5893);const m=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],k=(0,s.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,t.invisible&&r.invisible]}})((({ownerState:o})=>(0,a.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},o.invisible&&{backgroundColor:"transparent"}))),f=n.forwardRef((function(o,r){var t,n,s;const d=(0,p.Z)({props:o,name:"MuiBackdrop"}),{children:u,className:f,component:g="div",components:Z={},componentsProps:h={},invisible:x=!1,open:B,slotProps:C={},slots:A={},TransitionComponent:y=c.Z,transitionDuration:S}=d,w=(0,e.Z)(d,m),D=(0,a.Z)({},d,{component:g,invisible:x}),I=(o=>{const{classes:r,invisible:t}=o,e={root:["root",t&&"invisible"]};return(0,l.Z)(e,v,r)})(D),M=null!=(t=C.root)?t:h.root;return(0,b.jsx)(y,(0,a.Z)({in:B,timeout:S},w,{children:(0,b.jsx)(k,(0,a.Z)({"aria-hidden":!0},M,{as:null!=(n=null!=(s=A.root)?s:Z.Root)?n:g,className:(0,i.Z)(I.root,f,null==M?void 0:M.className),ownerState:(0,a.Z)({},D,null==M?void 0:M.ownerState),classes:I,ref:r,children:u}))}))}))}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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akUsWUFDcEZ1QyxRQUFTQSxFQUNUSixJQUFLQSxFQUNMc0IsU0FBVUEsT0FHaEIsRyIsInNvdXJjZXMiOlsid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL25vZGVfbW9kdWxlcy9AbXVpL21hdGVyaWFsL0FwcEJhci9hcHBCYXJDbGFzc2VzLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL25vZGVfbW9kdWxlcy9AbXVpL21hdGVyaWFsL0FwcEJhci9BcHBCYXIuanMiLCJ3ZWJwYWNrOi8vc3JzcmZsLXJlYWN0Ly4vbm9kZV9tb2R1bGVzL0BtdWkvbWF0ZXJpYWwvQmFja2Ryb3AvYmFja2Ryb3BDbGFzc2VzLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL25vZGVfbW9kdWxlcy9AbXVpL21hdGVyaWFsL0JhY2tkcm9wL0JhY2tkcm9wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVuc3RhYmxlX2dlbmVyYXRlVXRpbGl0eUNsYXNzZXMgYXMgZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcyB9IGZyb20gJ0BtdWkvdXRpbHMnO1xuaW1wb3J0IGdlbmVyYXRlVXRpbGl0eUNsYXNzIGZyb20gJy4uL2dlbmVyYXRlVXRpbGl0eUNsYXNzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRBcHBCYXJVdGlsaXR5Q2xhc3Moc2xvdCkge1xuICByZXR1cm4gZ2VuZXJhdGVVdGlsaXR5Q2xhc3MoJ011aUFwcEJhcicsIHNsb3QpO1xufVxuY29uc3QgYXBwQmFyQ2xhc3NlcyA9IGdlbmVyYXRlVXRpbGl0eUNsYXNzZXMoJ011aUFwcEJhcicsIFsncm9vdCcsICdwb3NpdGlvbkZpeGVkJywgJ3Bvc2l0aW9uQWJzb2x1dGUnLCAncG9zaXRpb25TdGlja3knLCAncG9zaXRpb25TdGF0aWMnLCAncG9zaXRpb25SZWxhdGl2ZScsICdjb2xvckRlZmF1bHQnLCAnY29sb3JQcmltYXJ5JywgJ2NvbG9yU2Vjb25kYXJ5JywgJ2NvbG9ySW5oZXJpdCcsICdjb2xvclRyYW5zcGFyZW50JywgJ2NvbG9yRXJyb3InLCAnY29sb3JJbmZvJywgJ2NvbG9yU3VjY2VzcycsICdjb2xvcldhcm5pbmcnXSk7XG5leHBvcnQgZGVmYXVsdCBhcHBCYXJDbGFzc2VzOyIsIid1c2UgY2xpZW50JztcblxuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlXCI7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2V4dGVuZHNcIjtcbmNvbnN0IF9leGNsdWRlZCA9IFtcImNsYXNzTmFtZVwiLCBcImNvbG9yXCIsIFwiZW5hYmxlQ29sb3JPbkRhcmtcIiwgXCJwb3NpdGlvblwiXTtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4JztcbmltcG9ydCB7IHVuc3RhYmxlX2NvbXBvc2VDbGFzc2VzIGFzIGNvbXBvc2VDbGFzc2VzIH0gZnJvbSAnQG11aS9iYXNlL2NvbXBvc2VDbGFzc2VzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnLi4vc3R5bGVzL3N0eWxlZCc7XG5pbXBvcnQgdXNlVGhlbWVQcm9wcyBmcm9tICcuLi9zdHlsZXMvdXNlVGhlbWVQcm9wcyc7XG5pbXBvcnQgY2FwaXRhbGl6ZSBmcm9tICcuLi91dGlscy9jYXBpdGFsaXplJztcbmltcG9ydCBQYXBlciBmcm9tICcuLi9QYXBlcic7XG5pbXBvcnQgeyBnZXRBcHBCYXJVdGlsaXR5Q2xhc3MgfSBmcm9tICcuL2FwcEJhckNsYXNzZXMnO1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmNvbnN0IHVzZVV0aWxpdHlDbGFzc2VzID0gb3duZXJTdGF0ZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb2xvcixcbiAgICBwb3NpdGlvbixcbiAgICBjbGFzc2VzXG4gIH0gPSBvd25lclN0YXRlO1xuICBjb25zdCBzbG90cyA9IHtcbiAgICByb290OiBbJ3Jvb3QnLCBgY29sb3Ike2NhcGl0YWxpemUoY29sb3IpfWAsIGBwb3NpdGlvbiR7Y2FwaXRhbGl6ZShwb3NpdGlvbil9YF1cbiAgfTtcbiAgcmV0dXJuIGNvbXBvc2VDbGFzc2VzKHNsb3RzLCBnZXRBcHBCYXJVdGlsaXR5Q2xhc3MsIGNsYXNzZXMpO1xufTtcblxuLy8gdmFyMiBpcyB0aGUgZmFsbGJhY2suXG4vLyBFeC4gdmFyMTogJ3ZhcigtLWEpJywgdmFyMjogJ3ZhcigtLWIpJzsgcmV0dXJuOiAndmFyKC0tYSwgdmFyKC0tYikpJ1xuY29uc3Qgam9pblZhcnMgPSAodmFyMSwgdmFyMikgPT4gdmFyMSA/IGAke3ZhcjEgPT0gbnVsbCA/IHZvaWQgMCA6IHZhcjEucmVwbGFjZSgnKScsICcnKX0sICR7dmFyMn0pYCA6IHZhcjI7XG5jb25zdCBBcHBCYXJSb290ID0gc3R5bGVkKFBhcGVyLCB7XG4gIG5hbWU6ICdNdWlBcHBCYXInLFxuICBzbG90OiAnUm9vdCcsXG4gIG92ZXJyaWRlc1Jlc29sdmVyOiAocHJvcHMsIHN0eWxlcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG93bmVyU3RhdGVcbiAgICB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIFtzdHlsZXMucm9vdCwgc3R5bGVzW2Bwb3NpdGlvbiR7Y2FwaXRhbGl6ZShvd25lclN0YXRlLnBvc2l0aW9uKX1gXSwgc3R5bGVzW2Bjb2xvciR7Y2FwaXRhbGl6ZShvd25lclN0YXRlLmNvbG9yKX1gXV07XG4gIH1cbn0pKCh7XG4gIHRoZW1lLFxuICBvd25lclN0YXRlXG59KSA9PiB7XG4gIGNvbnN0IGJhY2tncm91bmRDb2xvckRlZmF1bHQgPSB0aGVtZS5wYWxldHRlLm1vZGUgPT09ICdsaWdodCcgPyB0aGVtZS5wYWxldHRlLmdyZXlbMTAwXSA6IHRoZW1lLnBhbGV0dGUuZ3JleVs5MDBdO1xuICByZXR1cm4gX2V4dGVuZHMoe1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIC8vIFByZXZlbnQgcGFkZGluZyBpc3N1ZSB3aXRoIHRoZSBNb2RhbCBhbmQgZml4ZWQgcG9zaXRpb25lZCBBcHBCYXIuXG4gICAgZmxleFNocmluazogMFxuICB9LCBvd25lclN0YXRlLnBvc2l0aW9uID09PSAnZml4ZWQnICYmIHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICB6SW5kZXg6ICh0aGVtZS52YXJzIHx8IHRoZW1lKS56SW5kZXguYXBwQmFyLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAnYXV0bycsXG4gICAgcmlnaHQ6IDAsXG4gICAgJ0BtZWRpYSBwcmludCc6IHtcbiAgICAgIC8vIFByZXZlbnQgdGhlIGFwcCBiYXIgdG8gYmUgdmlzaWJsZSBvbiBlYWNoIHByaW50ZWQgcGFnZS5cbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgfVxuICB9LCBvd25lclN0YXRlLnBvc2l0aW9uID09PSAnYWJzb2x1dGUnICYmIHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB6SW5kZXg6ICh0aGVtZS52YXJzIHx8IHRoZW1lKS56SW5kZXguYXBwQmFyLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAnYXV0bycsXG4gICAgcmlnaHQ6IDBcbiAgfSwgb3duZXJTdGF0ZS5wb3NpdGlvbiA9PT0gJ3N0aWNreScgJiYge1xuICAgIC8vIOKaoO+4jyBzdGlja3kgaXMgbm90IHN1cHBvcnRlZCBieSBJRTExLlxuICAgIHBvc2l0aW9uOiAnc3RpY2t5JyxcbiAgICB6SW5kZXg6ICh0aGVtZS52YXJzIHx8IHRoZW1lKS56SW5kZXguYXBwQmFyLFxuICAgIHRvcDogMCxcbiAgICBsZWZ0OiAnYXV0bycsXG4gICAgcmlnaHQ6IDBcbiAgfSwgb3duZXJTdGF0ZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycgJiYge1xuICAgIHBvc2l0aW9uOiAnc3RhdGljJ1xuICB9LCBvd25lclN0YXRlLnBvc2l0aW9uID09PSAncmVsYXRpdmUnICYmIHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICB9LCAhdGhlbWUudmFycyAmJiBfZXh0ZW5kcyh7fSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ2RlZmF1bHQnICYmIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvckRlZmF1bHQsXG4gICAgY29sb3I6IHRoZW1lLnBhbGV0dGUuZ2V0Q29udHJhc3RUZXh0KGJhY2tncm91bmRDb2xvckRlZmF1bHQpXG4gIH0sIG93bmVyU3RhdGUuY29sb3IgJiYgb3duZXJTdGF0ZS5jb2xvciAhPT0gJ2RlZmF1bHQnICYmIG93bmVyU3RhdGUuY29sb3IgIT09ICdpbmhlcml0JyAmJiBvd25lclN0YXRlLmNvbG9yICE9PSAndHJhbnNwYXJlbnQnICYmIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0ubWFpbixcbiAgICBjb2xvcjogdGhlbWUucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5jb250cmFzdFRleHRcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ2luaGVyaXQnICYmIHtcbiAgICBjb2xvcjogJ2luaGVyaXQnXG4gIH0sIHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gJ2RhcmsnICYmICFvd25lclN0YXRlLmVuYWJsZUNvbG9yT25EYXJrICYmIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IG51bGwsXG4gICAgY29sb3I6IG51bGxcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ3RyYW5zcGFyZW50JyAmJiBfZXh0ZW5kcyh7XG4gICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIGNvbG9yOiAnaW5oZXJpdCdcbiAgfSwgdGhlbWUucGFsZXR0ZS5tb2RlID09PSAnZGFyaycgJiYge1xuICAgIGJhY2tncm91bmRJbWFnZTogJ25vbmUnXG4gIH0pKSwgdGhlbWUudmFycyAmJiBfZXh0ZW5kcyh7fSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ2RlZmF1bHQnICYmIHtcbiAgICAnLS1BcHBCYXItYmFja2dyb3VuZCc6IG93bmVyU3RhdGUuZW5hYmxlQ29sb3JPbkRhcmsgPyB0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRlZmF1bHRCZyA6IGpvaW5WYXJzKHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGFya0JnLCB0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRlZmF1bHRCZyksXG4gICAgJy0tQXBwQmFyLWNvbG9yJzogb3duZXJTdGF0ZS5lbmFibGVDb2xvck9uRGFyayA/IHRoZW1lLnZhcnMucGFsZXR0ZS50ZXh0LnByaW1hcnkgOiBqb2luVmFycyh0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRhcmtDb2xvciwgdGhlbWUudmFycy5wYWxldHRlLnRleHQucHJpbWFyeSlcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciAmJiAhb3duZXJTdGF0ZS5jb2xvci5tYXRjaCgvXihkZWZhdWx0fGluaGVyaXR8dHJhbnNwYXJlbnQpJC8pICYmIHtcbiAgICAnLS1BcHBCYXItYmFja2dyb3VuZCc6IG93bmVyU3RhdGUuZW5hYmxlQ29sb3JPbkRhcmsgPyB0aGVtZS52YXJzLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0ubWFpbiA6IGpvaW5WYXJzKHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGFya0JnLCB0aGVtZS52YXJzLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0ubWFpbiksXG4gICAgJy0tQXBwQmFyLWNvbG9yJzogb3duZXJTdGF0ZS5lbmFibGVDb2xvck9uRGFyayA/IHRoZW1lLnZhcnMucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5jb250cmFzdFRleHQgOiBqb2luVmFycyh0aGVtZS52YXJzLnBhbGV0dGUuQXBwQmFyLmRhcmtDb2xvciwgdGhlbWUudmFycy5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLmNvbnRyYXN0VGV4dClcbiAgfSwge1xuICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLUFwcEJhci1iYWNrZ3JvdW5kKScsXG4gICAgY29sb3I6IG93bmVyU3RhdGUuY29sb3IgPT09ICdpbmhlcml0JyA/ICdpbmhlcml0JyA6ICd2YXIoLS1BcHBCYXItY29sb3IpJ1xuICB9LCBvd25lclN0YXRlLmNvbG9yID09PSAndHJhbnNwYXJlbnQnICYmIHtcbiAgICBiYWNrZ3JvdW5kSW1hZ2U6ICdub25lJyxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICdpbmhlcml0J1xuICB9KSk7XG59KTtcbmNvbnN0IEFwcEJhciA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIEFwcEJhcihpblByb3BzLCByZWYpIHtcbiAgY29uc3QgcHJvcHMgPSB1c2VUaGVtZVByb3BzKHtcbiAgICBwcm9wczogaW5Qcm9wcyxcbiAgICBuYW1lOiAnTXVpQXBwQmFyJ1xuICB9KTtcbiAgY29uc3Qge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICBlbmFibGVDb2xvck9uRGFyayA9IGZhbHNlLFxuICAgICAgcG9zaXRpb24gPSAnZml4ZWQnXG4gICAgfSA9IHByb3BzLFxuICAgIG90aGVyID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UocHJvcHMsIF9leGNsdWRlZCk7XG4gIGNvbnN0IG93bmVyU3RhdGUgPSBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICBjb2xvcixcbiAgICBwb3NpdGlvbixcbiAgICBlbmFibGVDb2xvck9uRGFya1xuICB9KTtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVV0aWxpdHlDbGFzc2VzKG93bmVyU3RhdGUpO1xuICByZXR1cm4gLyojX19QVVJFX18qL19qc3goQXBwQmFyUm9vdCwgX2V4dGVuZHMoe1xuICAgIHNxdWFyZTogdHJ1ZSxcbiAgICBjb21wb25lbnQ6IFwiaGVhZGVyXCIsXG4gICAgb3duZXJTdGF0ZTogb3duZXJTdGF0ZSxcbiAgICBlbGV2YXRpb246IDQsXG4gICAgY2xhc3NOYW1lOiBjbHN4KGNsYXNzZXMucm9vdCwgY2xhc3NOYW1lLCBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiAnbXVpLWZpeGVkJyksXG4gICAgcmVmOiByZWZcbiAgfSwgb3RoZXIpKTtcbn0pO1xucHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gQXBwQmFyLnByb3BUeXBlcyAvKiByZW1vdmUtcHJvcHR5cGVzICovID0ge1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBXYXJuaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIHwgVGhlc2UgUHJvcFR5cGVzIGFyZSBnZW5lcmF0ZWQgZnJvbSB0aGUgVHlwZVNjcmlwdCB0eXBlIGRlZmluaXRpb25zIHxcbiAgLy8gfCAgICAgVG8gdXBkYXRlIHRoZW0gZWRpdCB0aGUgZC50cyBmaWxlIGFuZCBydW4gXCJ5YXJuIHByb3B0eXBlc1wiICAgICB8XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIC8qKlxuICAgKiBPdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICogVGhlIGNvbG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqIEl0IHN1cHBvcnRzIGJvdGggZGVmYXVsdCBhbmQgY3VzdG9tIHRoZW1lIGNvbG9ycywgd2hpY2ggY2FuIGJlIGFkZGVkIGFzIHNob3duIGluIHRoZVxuICAgKiBbcGFsZXR0ZSBjdXN0b21pemF0aW9uIGd1aWRlXShodHRwczovL211aS5jb20vbWF0ZXJpYWwtdWkvY3VzdG9taXphdGlvbi9wYWxldHRlLyNjdXN0b20tY29sb3JzKS5cbiAgICogQGRlZmF1bHQgJ3ByaW1hcnknXG4gICAqL1xuICBjb2xvcjogUHJvcFR5cGVzIC8qIEB0eXBlc2NyaXB0LXRvLXByb3B0eXBlcy1pZ25vcmUgKi8ub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoWydkZWZhdWx0JywgJ2luaGVyaXQnLCAncHJpbWFyeScsICdzZWNvbmRhcnknLCAndHJhbnNwYXJlbnQnLCAnZXJyb3InLCAnaW5mbycsICdzdWNjZXNzJywgJ3dhcm5pbmcnXSksIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBgY29sb3JgIHByb3AgaXMgYXBwbGllZCBpbiBkYXJrIG1vZGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBlbmFibGVDb2xvck9uRGFyazogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb25pbmcgdHlwZS4gVGhlIGJlaGF2aW9yIG9mIHRoZSBkaWZmZXJlbnQgb3B0aW9ucyBpcyBkZXNjcmliZWRcbiAgICogW2luIHRoZSBNRE4gd2ViIGRvY3NdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTGVhcm4vQ1NTL0NTU19sYXlvdXQvUG9zaXRpb25pbmcpLlxuICAgKiBOb3RlOiBgc3RpY2t5YCBpcyBub3QgdW5pdmVyc2FsbHkgc3VwcG9ydGVkIGFuZCB3aWxsIGZhbGwgYmFjayB0byBgc3RhdGljYCB3aGVuIHVuYXZhaWxhYmxlLlxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBwb3NpdGlvbjogUHJvcFR5cGVzLm9uZU9mKFsnYWJzb2x1dGUnLCAnZml4ZWQnLCAncmVsYXRpdmUnLCAnc3RhdGljJywgJ3N0aWNreSddKSxcbiAgLyoqXG4gICAqIFRoZSBzeXN0ZW0gcHJvcCB0aGF0IGFsbG93cyBkZWZpbmluZyBzeXN0ZW0gb3ZlcnJpZGVzIGFzIHdlbGwgYXMgYWRkaXRpb25hbCBDU1Mgc3R5bGVzLlxuICAgKi9cbiAgc3g6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYm9vbF0pKSwgUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5vYmplY3RdKVxufSA6IHZvaWQgMDtcbmV4cG9ydCBkZWZhdWx0IEFwcEJhcjsiLCJpbXBvcnQgeyB1bnN0YWJsZV9nZW5lcmF0ZVV0aWxpdHlDbGFzc2VzIGFzIGdlbmVyYXRlVXRpbGl0eUNsYXNzZXMgfSBmcm9tICdAbXVpL3V0aWxzJztcbmltcG9ydCBnZW5lcmF0ZVV0aWxpdHlDbGFzcyBmcm9tICcuLi9nZW5lcmF0ZVV0aWxpdHlDbGFzcyc7XG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFja2Ryb3BVdGlsaXR5Q2xhc3Moc2xvdCkge1xuICByZXR1cm4gZ2VuZXJhdGVVdGlsaXR5Q2xhc3MoJ011aUJhY2tkcm9wJywgc2xvdCk7XG59XG5jb25zdCBiYWNrZHJvcENsYXNzZXMgPSBnZW5lcmF0ZVV0aWxpdHlDbGFzc2VzKCdNdWlCYWNrZHJvcCcsIFsncm9vdCcsICdpbnZpc2libGUnXSk7XG5leHBvcnQgZGVmYXVsdCBiYWNrZHJvcENsYXNzZXM7IiwiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2VcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kc1wiO1xuY29uc3QgX2V4Y2x1ZGVkID0gW1wiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJjb21wb25lbnRcIiwgXCJjb21wb25lbnRzXCIsIFwiY29tcG9uZW50c1Byb3BzXCIsIFwiaW52aXNpYmxlXCIsIFwib3BlblwiLCBcInNsb3RQcm9wc1wiLCBcInNsb3RzXCIsIFwiVHJhbnNpdGlvbkNvbXBvbmVudFwiLCBcInRyYW5zaXRpb25EdXJhdGlvblwiXTtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xzeCBmcm9tICdjbHN4JztcbmltcG9ydCB7IHVuc3RhYmxlX2NvbXBvc2VDbGFzc2VzIGFzIGNvbXBvc2VDbGFzc2VzIH0gZnJvbSAnQG11aS9iYXNlL2NvbXBvc2VDbGFzc2VzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnLi4vc3R5bGVzL3N0eWxlZCc7XG5pbXBvcnQgdXNlVGhlbWVQcm9wcyBmcm9tICcuLi9zdHlsZXMvdXNlVGhlbWVQcm9wcyc7XG5pbXBvcnQgRmFkZSBmcm9tICcuLi9GYWRlJztcbmltcG9ydCB7IGdldEJhY2tkcm9wVXRpbGl0eUNsYXNzIH0gZnJvbSAnLi9iYWNrZHJvcENsYXNzZXMnO1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmNvbnN0IHVzZVV0aWxpdHlDbGFzc2VzID0gb3duZXJTdGF0ZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjbGFzc2VzLFxuICAgIGludmlzaWJsZVxuICB9ID0gb3duZXJTdGF0ZTtcbiAgY29uc3Qgc2xvdHMgPSB7XG4gICAgcm9vdDogWydyb290JywgaW52aXNpYmxlICYmICdpbnZpc2libGUnXVxuICB9O1xuICByZXR1cm4gY29tcG9zZUNsYXNzZXMoc2xvdHMsIGdldEJhY2tkcm9wVXRpbGl0eUNsYXNzLCBjbGFzc2VzKTtcbn07XG5jb25zdCBCYWNrZHJvcFJvb3QgPSBzdHlsZWQoJ2RpdicsIHtcbiAgbmFtZTogJ011aUJhY2tkcm9wJyxcbiAgc2xvdDogJ1Jvb3QnLFxuICBvdmVycmlkZXNSZXNvbHZlcjogKHByb3BzLCBzdHlsZXMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBvd25lclN0YXRlXG4gICAgfSA9IHByb3BzO1xuICAgIHJldHVybiBbc3R5bGVzLnJvb3QsIG93bmVyU3RhdGUuaW52aXNpYmxlICYmIHN0eWxlcy5pbnZpc2libGVdO1xuICB9XG59KSgoe1xuICBvd25lclN0YXRlXG59KSA9PiBfZXh0ZW5kcyh7XG4gIHBvc2l0aW9uOiAnZml4ZWQnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gIHJpZ2h0OiAwLFxuICBib3R0b206IDAsXG4gIHRvcDogMCxcbiAgbGVmdDogMCxcbiAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLCAwLCAwLCAwLjUpJyxcbiAgV2Via2l0VGFwSGlnaGxpZ2h0Q29sb3I6ICd0cmFuc3BhcmVudCdcbn0sIG93bmVyU3RhdGUuaW52aXNpYmxlICYmIHtcbiAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnXG59KSk7XG5jb25zdCBCYWNrZHJvcCA9IC8qI19fUFVSRV9fKi9SZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIEJhY2tkcm9wKGluUHJvcHMsIHJlZikge1xuICB2YXIgX3Nsb3RQcm9wcyRyb290LCBfcmVmLCBfc2xvdHMkcm9vdDtcbiAgY29uc3QgcHJvcHMgPSB1c2VUaGVtZVByb3BzKHtcbiAgICBwcm9wczogaW5Qcm9wcyxcbiAgICBuYW1lOiAnTXVpQmFja2Ryb3AnXG4gIH0pO1xuICBjb25zdCB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbXBvbmVudCA9ICdkaXYnLFxuICAgICAgY29tcG9uZW50cyA9IHt9LFxuICAgICAgY29tcG9uZW50c1Byb3BzID0ge30sXG4gICAgICBpbnZpc2libGUgPSBmYWxzZSxcbiAgICAgIG9wZW4sXG4gICAgICBzbG90UHJvcHMgPSB7fSxcbiAgICAgIHNsb3RzID0ge30sXG4gICAgICBUcmFuc2l0aW9uQ29tcG9uZW50ID0gRmFkZSxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvblxuICAgIH0gPSBwcm9wcyxcbiAgICBvdGhlciA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHByb3BzLCBfZXhjbHVkZWQpO1xuICBjb25zdCBvd25lclN0YXRlID0gX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgY29tcG9uZW50LFxuICAgIGludmlzaWJsZVxuICB9KTtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVV0aWxpdHlDbGFzc2VzKG93bmVyU3RhdGUpO1xuICBjb25zdCByb290U2xvdFByb3BzID0gKF9zbG90UHJvcHMkcm9vdCA9IHNsb3RQcm9wcy5yb290KSAhPSBudWxsID8gX3Nsb3RQcm9wcyRyb290IDogY29tcG9uZW50c1Byb3BzLnJvb3Q7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovX2pzeChUcmFuc2l0aW9uQ29tcG9uZW50LCBfZXh0ZW5kcyh7XG4gICAgaW46IG9wZW4sXG4gICAgdGltZW91dDogdHJhbnNpdGlvbkR1cmF0aW9uXG4gIH0sIG90aGVyLCB7XG4gICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi9fanN4KEJhY2tkcm9wUm9vdCwgX2V4dGVuZHMoe1xuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlXG4gICAgfSwgcm9vdFNsb3RQcm9wcywge1xuICAgICAgYXM6IChfcmVmID0gKF9zbG90cyRyb290ID0gc2xvdHMucm9vdCkgIT0gbnVsbCA/IF9zbG90cyRyb290IDogY29tcG9uZW50cy5Sb290KSAhPSBudWxsID8gX3JlZiA6IGNvbXBvbmVudCxcbiAgICAgIGNsYXNzTmFtZTogY2xzeChjbGFzc2VzLnJvb3QsIGNsYXNzTmFtZSwgcm9vdFNsb3RQcm9wcyA9PSBudWxsID8gdm9pZCAwIDogcm9vdFNsb3RQcm9wcy5jbGFzc05hbWUpLFxuICAgICAgb3duZXJTdGF0ZTogX2V4dGVuZHMoe30sIG93bmVyU3RhdGUsIHJvb3RTbG90UHJvcHMgPT0gbnVsbCA/IHZvaWQgMCA6IHJvb3RTbG90UHJvcHMub3duZXJTdGF0ZSksXG4gICAgICBjbGFzc2VzOiBjbGFzc2VzLFxuICAgICAgcmVmOiByZWYsXG4gICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KSlcbiAgfSkpO1xufSk7XG5wcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBCYWNrZHJvcC5wcm9wVHlwZXMgLyogcmVtb3ZlLXByb3B0eXBlcyAqLyA9IHtcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gV2FybmluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyB8IFRoZXNlIFByb3BUeXBlcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgdHlwZSBkZWZpbml0aW9ucyB8XG4gIC8vIHwgICAgIFRvIHVwZGF0ZSB0aGVtIGVkaXQgdGhlIGQudHMgZmlsZSBhbmQgcnVuIFwieWFybiBwcm9wdHlwZXNcIiAgICAgfFxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICogT3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQgdXNlZCBmb3IgdGhlIHJvb3Qgbm9kZS5cbiAgICogRWl0aGVyIGEgc3RyaW5nIHRvIHVzZSBhIEhUTUwgZWxlbWVudCBvciBhIGNvbXBvbmVudC5cbiAgICovXG4gIGNvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAvKipcbiAgICogVGhlIGNvbXBvbmVudHMgdXNlZCBmb3IgZWFjaCBzbG90IGluc2lkZS5cbiAgICpcbiAgICogVGhpcyBwcm9wIGlzIGFuIGFsaWFzIGZvciB0aGUgYHNsb3RzYCBwcm9wLlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgYHNsb3RzYCBwcm9wIGluc3RlYWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBjb21wb25lbnRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIFJvb3Q6IFByb3BUeXBlcy5lbGVtZW50VHlwZVxuICB9KSxcbiAgLyoqXG4gICAqIFRoZSBleHRyYSBwcm9wcyBmb3IgdGhlIHNsb3QgY29tcG9uZW50cy5cbiAgICogWW91IGNhbiBvdmVycmlkZSB0aGUgZXhpc3RpbmcgcHJvcHMgb3IgYWRkIG5ldyBvbmVzLlxuICAgKlxuICAgKiBUaGlzIHByb3AgaXMgYW4gYWxpYXMgZm9yIHRoZSBgc2xvdFByb3BzYCBwcm9wLlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgYHNsb3RQcm9wc2AgcHJvcCBpbnN0ZWFkLCBhcyBgY29tcG9uZW50c1Byb3BzYCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIGNvbXBvbmVudHNQcm9wczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICByb290OiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pLFxuICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgYmFja2Ryb3AgaXMgaW52aXNpYmxlLlxuICAgKiBJdCBjYW4gYmUgdXNlZCB3aGVuIHJlbmRlcmluZyBhIHBvcG92ZXIgb3IgYSBjdXN0b20gc2VsZWN0IGNvbXBvbmVudC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGludmlzaWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSBjb21wb25lbnQgaXMgc2hvd24uXG4gICAqL1xuICBvcGVuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAvKipcbiAgICogVGhlIGV4dHJhIHByb3BzIGZvciB0aGUgc2xvdCBjb21wb25lbnRzLlxuICAgKiBZb3UgY2FuIG92ZXJyaWRlIHRoZSBleGlzdGluZyBwcm9wcyBvciBhZGQgbmV3IG9uZXMuXG4gICAqXG4gICAqIFRoaXMgcHJvcCBpcyBhbiBhbGlhcyBmb3IgdGhlIGBjb21wb25lbnRzUHJvcHNgIHByb3AsIHdoaWNoIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgc2xvdFByb3BzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIHJvb3Q6IFByb3BUeXBlcy5vYmplY3RcbiAgfSksXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50cyB1c2VkIGZvciBlYWNoIHNsb3QgaW5zaWRlLlxuICAgKlxuICAgKiBUaGlzIHByb3AgaXMgYW4gYWxpYXMgZm9yIHRoZSBgY29tcG9uZW50c2AgcHJvcCwgd2hpY2ggd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBzbG90czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICByb290OiBQcm9wVHlwZXMuZWxlbWVudFR5cGVcbiAgfSksXG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIHByb3AgdGhhdCBhbGxvd3MgZGVmaW5pbmcgc3lzdGVtIG92ZXJyaWRlcyBhcyB3ZWxsIGFzIGFkZGl0aW9uYWwgQ1NTIHN0eWxlcy5cbiAgICovXG4gIHN4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmJvb2xdKSksIFByb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMub2JqZWN0XSksXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IHVzZWQgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICAgKiBbRm9sbG93IHRoaXMgZ3VpZGVdKC9tYXRlcmlhbC11aS90cmFuc2l0aW9ucy8jdHJhbnNpdGlvbmNvbXBvbmVudC1wcm9wKSB0byBsZWFybiBtb3JlIGFib3V0IHRoZSByZXF1aXJlbWVudHMgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgKiBAZGVmYXVsdCBGYWRlXG4gICAqL1xuICBUcmFuc2l0aW9uQ29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gIC8qKlxuICAgKiBUaGUgZHVyYXRpb24gZm9yIHRoZSB0cmFuc2l0aW9uLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqIFlvdSBtYXkgc3BlY2lmeSBhIHNpbmdsZSB0aW1lb3V0IGZvciBhbGwgdHJhbnNpdGlvbnMsIG9yIGluZGl2aWR1YWxseSB3aXRoIGFuIG9iamVjdC5cbiAgICovXG4gIHRyYW5zaXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhcHBlYXI6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZW50ZXI6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZXhpdDogUHJvcFR5cGVzLm51bWJlclxuICB9KV0pXG59IDogdm9pZCAwO1xuZXhwb3J0IGRlZmF1bHQgQmFja2Ryb3A7Il0sIm5hbWVzIjpbImdldEFwcEJhclV0aWxpdHlDbGFzcyIsInNsb3QiLCJnZW5lcmF0ZVV0aWxpdHlDbGFzcyIsImdlbmVyYXRlVXRpbGl0eUNsYXNzZXMiLCJfZXhjbHVkZWQiLCJqb2luVmFycyIsInZhcjEiLCJ2YXIyIiwicmVwbGFjZSIsIkFwcEJhclJvb3QiLCJzdHlsZWQiLCJQYXBlciIsIm5hbWUiLCJvdmVycmlkZXNSZXNvbHZlciIsInByb3BzIiwic3R5bGVzIiwib3duZXJTdGF0ZSIsInJvb3QiLCJjYXBpdGFsaXplIiwicG9zaXRpb24iLCJjb2xvciIsInRoZW1lIiwiYmFja2dyb3VuZENvbG9yRGVmYXVsdCIsInBhbGV0dGUiLCJtb2RlIiwiZ3JleSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwid2lkdGgiLCJib3hTaXppbmciLCJmbGV4U2hyaW5rIiwiekluZGV4IiwidmFycyIsImFwcEJhciIsInRvcCIsImxlZnQiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsImdldENvbnRyYXN0VGV4dCIsIm1haW4iLCJjb250cmFzdFRleHQiLCJlbmFibGVDb2xvck9uRGFyayIsImJhY2tncm91bmRJbWFnZSIsIkFwcEJhciIsImRlZmF1bHRCZyIsImRhcmtCZyIsInRleHQiLCJwcmltYXJ5IiwiZGFya0NvbG9yIiwibWF0Y2giLCJpblByb3BzIiwicmVmIiwidXNlVGhlbWVQcm9wcyIsImNsYXNzTmFtZSIsIm90aGVyIiwiY2xhc3NlcyIsInNsb3RzIiwiY29tcG9zZUNsYXNzZXMiLCJ1c2VVdGlsaXR5Q2xhc3NlcyIsInNxdWFyZSIsImNvbXBvbmVudCIsImVsZXZhdGlvbiIsImNsc3giLCJnZXRCYWNrZHJvcFV0aWxpdHlDbGFzcyIsIkJhY2tkcm9wUm9vdCIsImludmlzaWJsZSIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImJvdHRvbSIsIldlYmtpdFRhcEhpZ2hsaWdodENvbG9yIiwiX3Nsb3RQcm9wcyRyb290IiwiX3JlZiIsIl9zbG90cyRyb290IiwiY2hpbGRyZW4iLCJjb21wb25lbnRzIiwiY29tcG9uZW50c1Byb3BzIiwib3BlbiIsInNsb3RQcm9wcyIsIlRyYW5zaXRpb25Db21wb25lbnQiLCJGYWRlIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwicm9vdFNsb3RQcm9wcyIsImluIiwidGltZW91dCIsImFzIiwiUm9vdCJdLCJzb3VyY2VSb290IjoiIn0=