1import{z as ee,h as te,a as R,j as e,V as ae,bs as S,bt as V,e as B,d as re,G as z,K as oe,a8 as ne,$ as x,O as T,M as C,E as ie,g as se,r as le}from"./clientlib-dependencies/resources/replaceVAPIShortCodes.DHZQ0mrN.js";import{p as ce}from"./clientlib-dependencies/resources/style.DgSCWmLx.js";import{g as de}from"./clientlib-dependencies/resources/ErrorModal.BHwV32Li.js";import{k as me,I as ue,z as pe,A as ye}from"./clientlib-dependencies/resources/PaymentCell.Uet6G2jc.js";import{o as M,l as O,i as xe,r as ge}from"./clientlib-dependencies/resources/TagCell.BfVfWpha.js";import{n as K}from"./clientlib-dependencies/resources/formatCurrency.lMT0b_Ix.js";import{A as v}from"./clientlib-dependencies/resources/index.CZcdrwq-.js";import{w as he,f as Ae}from"./clientlib-dependencies/resources/TFSModalContent.BU_iBIIV.js";import{m as je,P as ve}from"./clientlib-dependencies/resources/templating.BAdJdTX9.js";import{y as L}from"./clientlib-dependencies/resources/formatters.C-zS1KG3.js";import"./clientlib-dependencies/resources/DatadogPrivacyOverride.BlJPZ9RO.js";import"./clientlib-dependencies/resources/Dropdown.C6UdQlp8.js";import"./clientlib-dependencies/resources/inputvalidation.es.Gtu-qvgs.js";const{AuthorableFieldsProvider:Pe,useAuthorableFields:k}=ee(),fe="_container_1c3wn_5",we="_table_1c3wn_9",be="_row_1c3wn_24",_={container:fe,table:we,row:be},j=({label:t,currency:a})=>e.jsxs("div",{className:_.row,children:[e.jsx(C,{variant:"overline",capitalize:!1,children:t}),e.jsx(C,{variant:"overline",capitalize:!1,children:K(`${a}`)})]}),G=({accountType:t,pivotData:{paymentAmount:a,principalAmount:n,interestAmount:i,lateChargeAmount:o,miscPaymentAmount:r,totalAmount:l}})=>{const{paymentHistoryLeasePaymentLabel:p,paymentHistoryPrincipalAmountLabel:c,paymentHistoryInterestAmountLabel:d,paymentHistoryLateFeesAmountLabel:m,paymentHistoryMiscFeesAmountLabel:u,paymentHistoryTotalAmountLabel:g}=k(),y=t==="L"?e.jsx(j,{label:p,currency:a}):e.jsxs(e.Fragment,{children:[e.jsx(j,{label:c,currency:n}),e.jsx(j,{label:d,currency:i})]});return e.jsx("div",{className:_.container,children:e.jsxs("div",{className:_.table,children:[y,e.jsx(j,{label:m,currency:o}),e.jsx(j,{label:u,currency:r}),e.jsxs("div",{className:_.row,children:[e.jsx(C,{variant:"body",size:"s",semibold:!0,as:"span",children:g}),e.jsx(C,{variant:"body",size:"s",semibold:!0,as:"span",children:K(`${l}`)})]})]})})},He="_paymentHistoryRow_it89k_2",Te="_viewAllModalContent_it89k_10",_e="_container_it89k_14",A={paymentHistoryRow:He,viewAllModalContent:Te,container:_e},Ce="_header_1s5tm_7",ke="_footer_1s5tm_12",Me="_date_1s5tm_17",Ne="_label_1s5tm_22",Fe="_amount_1s5tm_28",P={header:Ce,footer:ke,date:Me,label:Ne,amount:Fe},$e=[{id:"1",render:()=>e.jsx("div",{className:P.date,"data-testid":"skeleton",children:e.jsx(v,{})})},{id:"2",render:()=>e.jsx("div",{className:P.label,children:e.jsx(v,{})})},{id:"3",align:"right",render:()=>e.jsx("div",{className:P.amount,children:e.jsx(v,{})})}],Le=[{id:"1"},{id:"2"},{id:"3"}],De=()=>e.jsx(M,{containerClassName:A.container,headProps:{rightAction:e.jsx("div",{className:P.header,children:e.jsx(v,{})})},footerProps:{leftAction:e.jsx("div",{className:P.footer,children:e.jsx(v,{})})},columns:$e,data:Le}),Ee=({status:t,accountType:a})=>{const{paymentHistoryPaidTag:n,retailAccountRefundLabel:i,leaseAccountRefundLabel:o}=k();let r;return t==="paid"?r=n:a==="R"?r=i:r=o,e.jsx(ge,{tag:r})},U=[{id:"date",render:t=>e.jsx(pe,{date:t}),isAccessor:!0},{id:"status",render:(t,a)=>e.jsx(Ee,{status:t,accountType:a.accountType}),isAccessor:!0},{id:"amount",align:"right",render:t=>e.jsx(ye,{amount:t}),isAccessor:!0}],W=(t,a,n)=>{const i=[...t].sort((o,r)=>new Date(r.effectiveDate??r.processDate).getTime()-new Date(o.effectiveDate??o.processDate).getTime());return(n!=null?i.slice(0,n):i).map(({effectiveDate:o,processDate:r,transactionAmount:l,paymentAmount:p,principalAmount:c,interestAmount:d,miscPaymentAmount:m,lateChargeAmount:u})=>({id:ne(),date:o??r,amount:`${l}`,status:l>0?"paid":"reversed",accountType:a,pivotData:{paymentAmount:p,principalAmount:c,interestAmount:d,lateChargeAmount:u,miscPaymentAmount:m,totalAmount:l}}))},D={moduleName:"TFS Payment History",triggerName:"initial fetch"},Ie=({onFooterLeftActionClick:t})=>
1{const{paymentHistoryHeadlineText:a,paymentHistoryViewAllCta:n,paymentHistoryNoPaymentHistoryAvailableText:i,analytics:{visibleMetric:o}}=k(),r=B(),{data:l,isPending:p}=S(D),{data:c,isPending:d}=V(D);if(d||p||!c||!l)return e.jsx(De,{});const m=W(c,l.accountType,5),u=(g,y)=>{r(x.Action,T({text:y,trigger:x.Action}))};return e.jsx(z,{visibleMetric:o,children:e.jsx(M,{accessibility:{getPivotIconAriaLabel:ue},containerClassName:A.container,headProps:{title:a},footerProps:{leftAction:!!m.length&&e.jsx(oe,{variant:"tertiary_Black",aemData:n,onClick:t})},data:m,columns:U,rowClassName:A.paymentHistoryRow,noDataComponent:e.jsx(O,{text:i}),hasPivotRows:!0,renderPivotContent:G,onRowPivot:u})})},Re="data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Utilty-Icon'%3e%3cpath%20id='Vector%201'%20d='M13%206H3'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20id='Vector%203'%20d='M15%202H1'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20id='Vector%202'%20d='M11%2010H5'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20id='Vector%204'%20d='M9%2014H7'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/g%3e%3c/svg%3e",b=je("All Payments"),E={moduleName:"TFS Payment History",triggerName:"initial fetch"},H="all",I="paymentHistoryTitle",Se=({isOpen:t,onClose:a})=>{const[n,i]=R.useState(H),{paymentHistoryHeadlineText:o,paymentHistoryYearFilterText:r,paymentHistoryYearFilterViewAllText:l,paymentHistoryModalPaginationText:p,paymentHistoryNoPaymentHistoryAvailableText:c}=k(),{data:d,isPending:m}=S(E),{data:u,isPending:g}=V(E),y=B();if(g||m||!u||!d)return null;const N=W(u,d.accountType),F=new Set;
1N.forEach(({date:s})=>{const h=L(s);F.add(h[0])});const Y=Array.from(F.values()).map(s=>({label:`${s}`,value:`${s}`})),Z=()=>{a(),i(H)},q=s=>{i(s),y(x.Action,[b,T({trigger:x.Action,text:s})])},J=(s,h)=>{const f=s.currentPage.index,$=h.currentPage.index;let w="";$>f?w="Prev arrow":$<f&&(w="Next arrow"),w&&y(x.Action,[b,T({trigger:x.Action,text:w})])},Q=(s,h,f)=>ve(p,{page:`${s+1}`,total:`${f.currentCalculatedPageCount??"many"}`}),X=(s,h)=>{y(x.Action,[b,T({text:h,trigger:x.Action})])};return e.jsx(re,{blocks:b,children:e.jsx(he,{open:t,onClose:Z,labelledBy:I,children:e.jsx(z,{children:e.jsx(Ae,{title:o,titleProps:{id:I},children:e.jsx("div",{className:A.viewAllModalContent,children:e.jsx(M,{headProps:{title:o,rightAction:e.jsx(xe.Filter,{placeholder:r,icon:Re,options:[{label:l,value:H},...Y],onChange:q,selectedValue:n,filter:{columnId:"date",valueMatcher:s=>n===H?!0:`${L(s.date)[0]}`===n}})},data:N,columns:U,rowClassName:A.paymentHistoryRow,onRowPivot:X,noDataComponent:e.jsx(O,{text:c}),hasPivotRows:!0,renderPivotContent:G,paginationOptions:{pageSize:7,onPageChange:J,renderPaginationText:Q}})})})})})})},Ve="TFSPaymentHistory",Be=te({section:"Transactions and Bank Accounts",subsection:"Payment history"}),ze=({authorableFields:t,fireTag:a,zipcode:n})=>{const[i,o]=R.useState(!1),{errorIcon:r,connectionErrorText:l,paymentHistoryHeadlineText:p,spacing:c,genericErrorModalHeadlineText:d,genericErrorModalBodyText:m,genericErrorModalIcon:u}=t,g=()=>o(!1),y=ce(Be,t.analytics);return e.jsx(ae,{analyticsBlocks:y,fireTag:a,errorFallback:e.jsx(me,{containerClassName:A.container,title:p,errorMsg:l,errorIcon:r}),spacing:c,componentName:Ve,zipcode:n,children:e.jsxs(Pe,{value:t,children:[e.jsx(de,{errorModalProps:{title:d,errorMsg:m,errorIcon:u,onClose:g,shouldShowOnError:i},children:e.jsx(Se,{isOpen:i,onClose:g})}),e.jsx(Ie,{onFooterLeftActionClick:()=>o(!0)})]})})},Oe=["connectionErrorText","genericErrorModalBodyText"],Ke=t=>le(t,Oe);class Ge{constructor({el:a}){se(ze,a,"TFSPaymentHistory",Ke)}}ie(Ge,".tfs-payment-history"); 2//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50bGliLXRmc3BheW1lbnRoaXN0b3J5LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZnNwLXVpL2Rpc3QvdGZzcGF5bWVudGhpc3RvcnkuZXMuanMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy90ZnMtcGF5bWVudC1oaXN0b3J5L2pzL3Rmcy1wYXltZW50LWhpc3RvcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4cyBhcyBBLCBqc3ggYXMgZSwgRnJhZ21lbnQgYXMgdGUgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IGMgYXMgb2UgfSBmcm9tIFwiLi9jaHVuay9zdHlsZS5qc1wiO1xuaW1wb3J0IHsgdXNlU3RhdGUgYXMgViB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgcCBhcyBhZSwgVSBhcyBELCBIIGFzIG5lLCBrIGFzICQsIEkgYXMgTywgSiBhcyBZLCBlIGFzIHosIG8gYXMgcmUsIEsgYXMgaCwgbSBhcyBfLCBMIGFzIGllLCBDIGFzIHNlLCBjIGFzIGNlIH0gZnJvbSBcIi4vY2h1bmsvY3JlYXRlQXV0aG9yYWJsZUZpZWxkc0NvbnRleHQuanNcIjtcbmltcG9ydCB7IEUgYXMgbGUgfSBmcm9tIFwiLi9jaHVuay9FcnJvck1vZGFsLmpzXCI7XG5pbXBvcnQgeyBEIGFzIGRlLCBQIGFzIG1lLCBnIGFzIHllLCBFIGFzIHBlIH0gZnJvbSBcIi4vY2h1bmsvUGF5bWVudENlbGwuanNcIjtcbmltcG9ydCB7IGsgYXMgTiwgVCBhcyB1ZSwgTiBhcyBXLCBxIGFzIGdlIH0gZnJvbSBcIi4vY2h1bmsvVGFnQ2VsbC5qc1wiO1xuaW1wb3J0IHsgZiBhcyBHIH0gZnJvbSBcIi4vY2h1bmsvZm9ybWF0Q3VycmVuY3kuanNcIjtcbmltcG9ydCB7IFMgYXMgZiB9IGZyb20gXCIuL2NodW5rL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBUIGFzIGhlLCBhIGFzIHdlIH0gZnJvbSBcIi4vY2h1bmsvVEZTTW9kYWxDb250ZW50LmpzXCI7XG5pbXBvcnQgeyBjIGFzIHZlLCBhIGFzIFBlIH0gZnJvbSBcIi4vY2h1bmsvdGVtcGxhdGluZy5qc1wiO1xuaW1wb3J0IHsgYyBhcyBSIH0gZnJvbSBcIi4vY2h1bmsvZm9ybWF0dGVycy5qc1wiO1xuY29uc3QgeyBBdXRob3JhYmxlRmllbGRzUHJvdmlkZXI6IEFlLCB1c2VBdXRob3JhYmxlRmllbGRzOiBNIH0gPSBhZSgpLCBmZSA9IFwiX2NvbnRhaW5lcl8xYzN3bl81XCIsIEhlID0gXCJfdGFibGVfMWMzd25fOVwiLCBiZSA9IFwiX3Jvd18xYzN3bl8yNFwiLCB4ID0ge1xuICBjb250YWluZXI6IGZlLFxuICB0YWJsZTogSGUsXG4gIHJvdzogYmVcbn0sIFAgPSAoeyBsYWJlbDogdCwgY3VycmVuY3k6IGEgfSkgPT4gLyogQF9fUFVSRV9fICovIEEoXCJkaXZcIiwgeyBjbGFzc05hbWU6IHgucm93LCBjaGlsZHJlbjogW1xuICAvKiBAX19QVVJFX18gKi8gZShELCB7IHZhcmlhbnQ6IFwib3ZlcmxpbmVcIiwgY2FwaXRhbGl6ZTogITEsIGNoaWxkcmVuOiB0IH0pLFxuICAvKiBAX19QVVJFX18gKi8gZShELCB7IHZhcmlhbnQ6IFwib3ZlcmxpbmVcIiwgY2FwaXRhbGl6ZTogITEsIGNoaWxkcmVuOiBHKGAke2F9YCkgfSlcbl0gfSksIGogPSAoe1xuICBhY2NvdW50VHlwZTogdCxcbiAgcGl2b3REYXRhOiB7IHBheW1lbnRBbW91bnQ6IGEsIHByaW5jaXBhbEFtb3VudDogbiwgaW50ZXJlc3RBbW91bnQ6IHIsIGxhdGVDaGFyZ2VBbW91bnQ6IGMsIG1pc2NQYXltZW50QW1vdW50OiBvLCB0b3RhbEFtb3VudDogcyB9XG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBwYXltZW50SGlzdG9yeUxlYXNlUGF5bWVudExhYmVsOiBsLFxuICAgIHBheW1lbnRIaXN0b3J5UHJpbmNpcGFsQW1vdW50TGFiZWw6IGQsXG4gICAgcGF5bWVudEhpc3RvcnlJbnRlcmVzdEFtb3VudExhYmVsOiBtLFxuICAgIHBheW1lbnRIaXN0b3J5TGF0ZUZlZXNBbW91bnRMYWJlbDogeSxcbiAgICBwYXltZW50SGlzdG9yeU1pc2NGZWVzQW1vdW50TGFiZWw6IHAsXG4gICAgcGF5bWVudEhpc3RvcnlUb3RhbEFtb3VudExhYmVsOiB1XG4gIH0gPSBNKCksIGcgPSB0ID09PSBcIkxcIiA/IC8qIEBfX1BVUkVfXyAqLyBlKFAsIHsgbGFiZWw6IGwsIGN1cnJlbmN5OiBhIH0pIDogLyogQF9fUFVSRV9fICovIEEodGUsIHsgY2hpbGRyZW46IFtcbiAgICAvKiBAX19QVVJFX18gKi8gZShQLCB7IGxhYmVsOiBkLCBjdXJyZW5jeTogbiB9KSxcbiAgICAvKiBAX19QVVJFX18gKi8gZShQLCB7IGxhYmVsOiBtLCBjdXJyZW5jeTogciB9KVxuICBdIH0pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGUoXCJkaXZcIiwgeyBjbGFzc05hbWU6IHguY29udGFpbmVyLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIEEoXCJkaXZcIiwgeyBjbGFzc05hbWU6IHgudGFibGUsIGNoaWxkcmVuOiBbXG4gICAgZyxcbiAgICAvKiBAX19QVVJFX18gKi8gZShQLCB7IGxhYmVsOiB5LCBjdXJyZW5jeTogYyB9KSxcbiAgICAvKiBAX19QVVJFX18gKi8gZShQLCB7IGxhYmVsOiBwLCBjdXJyZW5jeTogbyB9KSxcbiAgICAvKiBAX19QVVJFX18gKi8gQShcImRp
2dlwiLCB7IGNsYXNzTmFtZTogeC5yb3csIGNoaWxkcmVuOiBbXG4gICAgICAvKiBAX19QVVJFX18gKi8gZShELCB7IHZhcmlhbnQ6IFwiYm9keVwiLCBzaXplOiBcInNcIiwgc2VtaWJvbGQ6ICEwLCBhczogXCJzcGFuXCIsIGNoaWxkcmVuOiB1IH0pLFxuICAgICAgLyogQF9fUFVSRV9fICovIGUoRCwgeyB2YXJpYW50OiBcImJvZHlcIiwgc2l6ZTogXCJzXCIsIHNlbWlib2xkOiAhMCwgYXM6IFwic3BhblwiLCBjaGlsZHJlbjogRyhgJHtzfWApIH0pXG4gICAgXSB9KVxuICBdIH0pIH0pO1xufSwgVGUgPSBcIl9wYXltZW50SGlzdG9yeVJvd19pdDg5a18yXCIsIGtlID0gXCJfdmlld0FsbE1vZGFsQ29udGVudF9pdDg5a18xMFwiLCBDZSA9IFwiX2NvbnRhaW5lcl9pdDg5a18xNFwiLCB2ID0ge1xuICBwYXltZW50SGlzdG9yeVJvdzogVGUsXG4gIHZpZXdBbGxNb2RhbENvbnRlbnQ6IGtlLFxuICBjb250YWluZXI6IENlXG59LCBfZSA9IFwiX2hlYWRlcl8xczV0bV83XCIsIHhlID0gXCJfZm9vdGVyXzFzNXRtXzEyXCIsIERlID0gXCJfZGF0ZV8xczV0bV8xN1wiLCBNZSA9IFwiX2xhYmVsXzFzNXRtXzIyXCIsIE5lID0gXCJfYW1vdW50XzFzNXRtXzI4XCIsIEggPSB7XG4gIGhlYWRlcjogX2UsXG4gIGZvb3RlcjogeGUsXG4gIGRhdGU6IERlLFxuICBsYWJlbDogTWUsXG4gIGFtb3VudDogTmVcbn0sIEZlID0gW1xuICB7XG4gICAgaWQ6IFwiMVwiLFxuICAgIHJlbmRlcjogKCkgPT4gLyogQF9fUFVSRV9fICovIGUoXCJkaXZcIiwgeyBjbGFzc05hbWU6IEguZGF0ZSwgXCJkYXRhLXRlc3RpZFwiOiBcInNrZWxldG9uXCIsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8gZShmLCB7fSkgfSlcbiAgfSxcbiAge1xuICAgIGlkOiBcIjJcIixcbiAgICByZW5kZXI6ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBlKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBILmxhYmVsLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGUoZiwge30pIH0pXG4gIH0sXG4gIHtcbiAgICBpZDogXCIzXCIsXG4gICAgYWxpZ246IFwicmlnaHRcIixcbiAgICByZW5kZXI6ICgpID0+IC8qIEBfX1BVUkVfXyAqLyBlKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBILmFtb3VudCwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBlKGYsIHt9KSB9KVxuICB9XG5dLCBMZSA9IFt7IGlkOiBcIjFcIiB9LCB7IGlkOiBcIjJcIiB9LCB7IGlkOiBcIjNcIiB9XSwgU2UgPSAoKSA9PiAvKiBAX19QVVJFX18gKi8gZShcbiAgTixcbiAge1xuICAgIGNvbnRhaW5lckNsYXNzTmFtZTogdi5jb250YWluZXIsXG4gICAgaGVhZFByb3BzOiB7XG4gICAgICByaWdodEFjdGlvbjogLyogQF9fUFVSRV9fICovIGUoXCJkaXZcIiwgeyBjbGFzc05hbWU6IEguaGVhZGVyLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGUoZiwge30pIH0pXG4gICAgfSxcbiAgICBmb290ZXJQcm9wczoge1xuICAgICAgbGVmdEFjdGlvbjogLyogQF9fUFVSRV9fICovIGUoXCJkaXZcIiwgeyBjbGFzc05hbWU6IEguZm9vdGVyLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGUoZiwge30pIH0pXG4gICAgfSxcbiAgICBjb2x1bW5zOiBGZSxcbiAgICBkYXRhOiBMZVxuICB9XG4pLCBSZSA9ICh7IHN0YXR1czogdCwgYWNjb3VudFR5cGU6IGEgfSkgPT4ge1xuICBjb25zdCB7IHBheW1lbnRIaXN0b3J5UGFpZFRhZzogbiwgcmV0YWlsQWNjb3VudFJlZnVuZExhYmVsOiByLCBsZWFzZUFjY291bnRSZWZ1bmRMYWJlbDogYyB9ID0gTSgpO1xuICBsZXQgbztcbiAgcmV0dXJuIHQgPT09IFwicGFpZFwiID8gbyA9IG4gOiBhID09PSBcIlJcIiA/IG8gPSByIDogbyA9IGMsIC8qIEBfX1BVUkVfXyAqLyBlKHVlLCB7IHRhZzogbyB9KTtcbn0sIHEgPSBbXG4gIHtcbiAgICBpZDogXCJkYXRlXCIsXG4gICAgcmVuZGVyOiAodCkgPT4gLyogQF9fUFVSRV9fICovIGUoZGUsIHsgZGF0ZTogdCB9KSxcbiAgICBpc0FjY2Vzc29yOiAhMFxuICB9LFxuICB7XG4gICAgaWQ6IFwic3RhdHVzXCIsXG4gICAgcmVuZGVyOiAodCwgYSkgPT4gLyogQF9fUFVSRV9fICovIGUoUmUsIHsgc3RhdHVzOiB0LCBhY2NvdW50VHlwZTogYS5hY2NvdW50VHlwZSB9KSxcbiAgICBpc0FjY2Vzc29yOiAhMFxuICB9LFxuICB7XG4gICAgaWQ6IFwiYW1vdW50XCIsXG4gICAgYWxpZ246IFwicmlnaHRcIixcbiAgICByZW5kZXI6ICh0KSA9PiAvKiBAX19QVVJFX18gKi8gZShtZSwgeyBhbW91bnQ6IHQgfSksXG4gICAgaXNBY2Nlc3NvcjogITBcbiAgfVxuXSwgVSA9ICh0LCBhLCBuKSA9PiB7XG4gIGNvbnN0IHIgPSBbLi4udF0uc29ydCgobywgcykgPT4gbmV3IERhdGUocy5lZmZlY3RpdmVEYXRlID8/IHMucHJvY2Vzc0RhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKG8uZWZmZWN0aXZlRGF0ZSA/PyBvLnByb2Nlc3NEYXRlKS5nZXRUaW1lKCkpO1xuICByZXR1cm4gKG4gIT0gbnVsbCA/IHIuc2xpY2UoMCwgbikgOiByKS5tYXAoKHsgZWZmZWN0aXZlRGF0ZTogbywgcHJvY2Vzc0RhdGU6IHMsIHRyYW5zYWN0aW9uQW1vdW50OiBsLCBwYXltZW50QW1vdW50OiBkLCBwcmluY2lwYWxBbW91bnQ6IG0sIGludGVyZXN0QW1vdW50OiB5LCBtaXNjUGF5bWVudEFtb3VudDogcCwgbGF0ZUNoYXJnZUFtb3VudDogdSB9KSA9PiAoe1xuICAgIGlkOiBuZSgpLFxuICAgIGRhdGU6IG8gPz8gcyxcbiAgICBhbW91bnQ6IGAke2x9YCxcbiAgICBzdGF0dXM6IGwgPiAwID8gXCJwYWlkXCIgOiBcInJldmVyc2VkXCIsXG4gICAgYWNjb3VudFR5cGU6IGEsXG4gICAgcGl2b3REYXRhOiB7XG4gICAgICBwYXltZW50QW1vdW50OiBkLFxuICAgICAgcHJpbmNpcGFsQW1vdW50OiBtLFxuICAgICAgaW50ZXJlc3RBbW91bnQ6IHksXG4gICAgICBsYXRlQ2hhcmdlQW1vdW50OiB1LFxuICAgICAgbWlzY1BheW1lbnRBbW91bnQ6IHAsXG4gICAgICB0b3RhbEFtb3VudDogbFxuICAgIH1cbiAgfSkpO1xufSwgQiA9IHsgbW9kdWxlTmFtZTogXCJURlMgUGF5bWVudCBIaXN0b3J5XCIsIHRyaWdnZXJOYW1lOiBcImluaXRpYWwgZmV0Y2hcIiB9LCBCZSA9ICh7IG9uRm9vdGVyTGVmdEFjdGlvbkNsaWNrOiB0IH0pID0+IHtcbiAgY29uc3Qge1xuICAgIHBheW1lbnRIaXN0b3J5SGVhZGxpbmVUZXh0OiBhLFxuICAgIHBheW1lbnRIaXN0b3J5Vmlld0
2FsbEN0YTogbixcbiAgICBwYXltZW50SGlzdG9yeU5vUGF5bWVudEhpc3RvcnlBdmFpbGFibGVUZXh0OiByLFxuICAgIGFuYWx5dGljczogeyB2aXNpYmxlTWV0cmljOiBjIH1cbiAgfSA9IE0oKSwgbyA9ICQoKSwgeyBkYXRhOiBzLCBpc1BlbmRpbmc6IGwgfSA9IE8oQiksIHsgZGF0YTogZCwgaXNQZW5kaW5nOiBtIH0gPSBZKEIpO1xuICBpZiAobSB8fCBsIHx8ICFkIHx8ICFzKVxuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gZShTZSwge30pO1xuICBjb25zdCB5ID0gVShkLCBzLmFjY291bnRUeXBlLCA1KSwgcCA9ICh1LCBnKSA9PiB7XG4gICAgbyhoLkFjdGlvbiwgXyh7IHRleHQ6IGcsIHRyaWdnZXI6IGguQWN0aW9uIH0pKTtcbiAgfTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBlKHosIHsgdmlzaWJsZU1ldHJpYzogYywgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBlKFxuICAgIE4sXG4gICAge1xuICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICBnZXRQaXZvdEljb25BcmlhTGFiZWw6IHllXG4gICAgICB9LFxuICAgICAgY29udGFpbmVyQ2xhc3NOYW1lOiB2LmNvbnRhaW5lcixcbiAgICAgIGhlYWRQcm9wczoge1xuICAgICAgICB0aXRsZTogYVxuICAgICAgfSxcbiAgICAgIGZvb3RlclByb3BzOiB7XG4gICAgICAgIGxlZnRBY3Rpb246ICEheS5sZW5ndGggJiYgLyogQF9fUFVSRV9fICovIGUocmUsIHsgdmFyaWFudDogXCJ0ZXJ0aWFyeV9CbGFja1wiLCBhZW1EYXRhOiBuLCBvbkNsaWNrOiB0IH0pXG4gICAgICB9LFxuICAgICAgZGF0YTogeSxcbiAgICAgIGNvbHVtbnM6IHEsXG4gICAgICByb3dDbGFzc05hbWU6IHYucGF5bWVudEhpc3RvcnlSb3csXG4gICAgICBub0RhdGFDb21wb25lbnQ6IC8qIEBfX1BVUkVfXyAqLyBlKFcsIHsgdGV4dDogciB9KSxcbiAgICAgIGhhc1Bpdm90Um93czogITAsXG4gICAgICByZW5kZXJQaXZvdENvbnRlbnQ6IGosXG4gICAgICBvblJvd1Bpdm90OiBwXG4gICAgfVxuICApIH0pO1xufSwgRWUgPSBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmclMjB3aWR0aD0nMTYnJTIwaGVpZ2h0PScxNiclMjB2aWV3Qm94PScwJTIwMCUyMDE2JTIwMTYnJTIwZmlsbD0nbm9uZSclMjB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjZyUyMGlkPSdVdGlsdHktSWNvbiclM2UlM2NwYXRoJTIwaWQ9J1ZlY3RvciUyMDEnJTIwZD0nTTEzJTIwNkgzJyUyMHN0cm9rZT0nd2hpdGUnJTIwc3Ryb2tlLXdpZHRoPScyJyUyMHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNlJTNjcGF0aCUyMGlkPSdWZWN0b3IlMjAzJyUyMGQ9J00xNSUyMDJIMSclMjBzdHJva2U9J3doaXRlJyUyMHN0cm9rZS13aWR0aD0nMiclMjBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzZSUzY3BhdGglMjBpZD0nVmVjdG9yJTIwMiclMjBkPSdNMTElMjAxMEg1JyUyMHN0cm9rZT0nd2hpdGUnJTIwc3Ryb2tlLXdpZHRoPScyJyUyMHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNlJTNjcGF0aCUyMGlkPSdWZWN0b3IlMjA0JyUyMGQ9J005JTIwMTRINyclMjBzdHJva2U9J3doaXRlJyUyMHN0cm9rZS13aWR0aD0nMiclMjBzdHJva2UtbGluZWNhcD0ncm91bmQnLyUzZSUzYy9nJTNlJTNjL3N2ZyUzZVwiLCBrID0gdmUoXCJBbGwgUGF5bWVudHNcIiksIEUgPSB7IG1vZHVsZU5hbWU6IFwiVEZTIFBheW1lbnQgSGlzdG9yeVwiLCB0cmlnZ2VyTmFtZTogXCJpbml0aWFsIGZldGNoXCIgfSwgQyA9IFwiYWxsXCIsIEkgPSBcInBheW1lbnRIaXN0b3J5VGl0bGVcIiwgSWUgPSAoeyBpc09wZW46IHQsIG9uQ2xvc2U6IGEgfSkgPT4ge1xuICBjb25zdCBbbiwgcl0gPSBWKEMpLCB7XG4gICAgcGF5bWVudEhpc3RvcnlIZWFkbGluZVRleHQ6IGMsXG4gICAgcGF5bWVudEhpc3RvcnlZZWFyRmlsdGVyVGV4dDogbyxcbiAgICBwYXltZW50SGlzdG9yeVllYXJGaWx0ZXJWaWV3QWxsVGV4dDogcyxcbiAgICBwYXltZW50SGlzdG9yeU1vZGFsUGFnaW5hdGlvblRleHQ6IGwsXG4gICAgcGF5bWVudEhpc3RvcnlOb1BheW1lbnRIaXN0b3J5QXZhaWxhYmxlVGV4dDogZFxuICB9ID0gTSgpLCB7IGRhdGE6IG0sIGlzUGVuZGluZzogeSB9ID0gTyhFKSwgeyBkYXRhOiBwLCBpc1BlbmRpbmc6IHUgfSA9IFkoRSksIGcgPSAkKCk7XG4gIGlmICh1IHx8IHkgfHwgIXAgfHwgIW0pXG4gICAgcmV0dXJuIG51bGw7XG4gIGNvbnN0IEYgPSBVKHAsIG0uYWNjb3VudFR5cGUpLCBMID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgRi5mb3JFYWNoKCh7IGRhdGU6IGkgfSkgPT4ge1xuICAgIGNvbnN0IHcgPSBSKGkpO1xuICAgIEwuYWRkKHdbMF0pO1xuICB9KTtcbiAgY29uc3QgSiA9IEFycmF5LmZyb20oTC52YWx1ZXMoKSkubWFwKChpKSA9PiAoeyBsYWJlbDogYCR7aX1gLCB2YWx1ZTogYCR7aX1gIH0pKSwgSyA9ICgpID0+IHtcbiAgICBhKCksIHIoQyk7XG4gIH0sIFEgPSAoaSkgPT4ge1xuICAgIHIoaSksIGcoaC5BY3Rpb24sIFtrLCBfKHsgdHJpZ2dlcjogaC5BY3Rpb24sIHRleHQ6IGkgfSldKTtcbiAgfSwgWCA9IChpLCB3KSA9PiB7XG4gICAgY29uc3QgYiA9IGkuY3VycmVudFBhZ2UuaW5kZXgsIFMgPSB3LmN1cnJlbnRQYWdlLmluZGV4O1xuICAgIGxldCBUID0gXCJcIjtcbiAgICBTID4gYiA/IFQgPSBcIlByZXYgYXJyb3dcIiA6IFMgPCBiICYmIChUID0gXCJOZXh0IGFycm93XCIpLCBUICYmIGcoaC5BY3Rpb24sIFtrLCBfKHsgdHJpZ2dlcjogaC5BY3Rpb24sIHRleHQ6IFQgfSldKTtcbiAgfSwgWiA9IChpLCB3LCBiKSA9PiBQZShsLCB7IHBhZ2U6IGAke2kgKyAxfWAsIHRvdGFsOiBgJHtiLmN1cnJlbnRDYWxjdWxhdGVkUGFnZUNvdW50ID8/IFwibWFueVwifWAgfSksIGVlID0gKGksIHcpID0+IHtcbiAgICBnKGguQWN0aW9uLCBbaywgXyh7IHRleHQ6IHcsIHRyaWdnZXI6IGguQWN0aW9uIH0pXSk7XG4gIH07XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gZShpZSwgeyBibG9ja3M6IGssIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8gZShoZSwgeyBvcGVuOiB0LCBvbkNsb3NlOiBLLCBsYWJlbGxlZEJ5OiBJLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGUoeiwgeyBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGUod2UsIHsgdGl0bGU6IGMsIHRpdGxlUHJvcHM6IHsgaWQ6IEkgfSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBlKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiB2LnZpZXdBbGxNb2RhbENvbnRlbnQsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8gZShcbiAgICBOLFxuICAgIHtcbiAgICAgIGhlYWRQcm9wczoge1xuICAgICAgICB0aXRsZTogYyxcbiAgICAgICAgcmlnaHRBY3Rpb246IC8qIEBfX1BVUkVfXyAqLyBlKFxuICAgICAgICAgIGdlLkZpbHRlcixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogbyxcbiAgICAgICAgICAgIGljb246IEVlLFxuICAgICAgICAgICAgb3B0aW9uczogW3sgbGFiZWw6IHMsIHZhbHVlOiBDIH0sIC4uLkpdLFxuICAgICAgICAgICAgb25DaGFuZ2U6IFEsXG4gICAgICAgICAgICBzZWxlY3RlZFZhbHVlOiBuLFxuICAgICAgICAgICAgZmlsdGVyOiB7XG4gICAgICAgICAgICAgIGNvbHVtbklkOiBcImRhdGVcIixcbiAgICAgICAgICAgICAgdmFsdWVNYXRjaGVyOiAoaSkgPT4gbiA9PT0gQyA/ICEwIDogYCR7UihpLmRhdGUpWzBdfWAgPT09IG5cbiAgICAgICAgICAgI
2H1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBkYXRhOiBGLFxuICAgICAgY29sdW1uczogcSxcbiAgICAgIHJvd0NsYXNzTmFtZTogdi5wYXltZW50SGlzdG9yeVJvdyxcbiAgICAgIG9uUm93UGl2b3Q6IGVlLFxuICAgICAgbm9EYXRhQ29tcG9uZW50OiAvKiBAX19QVVJFX18gKi8gZShXLCB7IHRleHQ6IGQgfSksXG4gICAgICBoYXNQaXZvdFJvd3M6ICEwLFxuICAgICAgcmVuZGVyUGl2b3RDb250ZW50OiBqLFxuICAgICAgcGFnaW5hdGlvbk9wdGlvbnM6IHtcbiAgICAgICAgcGFnZVNpemU6IDcsXG4gICAgICAgIG9uUGFnZUNoYW5nZTogWCxcbiAgICAgICAgcmVuZGVyUGFnaW5hdGlvblRleHQ6IFpcbiAgICAgIH1cbiAgICB9XG4gICkgfSkgfSkgfSkgfSkgfSk7XG59LCBWZSA9IFwiVEZTUGF5bWVudEhpc3RvcnlcIiwgJGUgPSBjZSh7IHNlY3Rpb246IFwiVHJhbnNhY3Rpb25zIGFuZCBCYW5rIEFjY291bnRzXCIsIHN1YnNlY3Rpb246IFwiUGF5bWVudCBoaXN0b3J5XCIgfSksIFplID0gKHsgYXV0aG9yYWJsZUZpZWxkczogdCwgZmlyZVRhZzogYSwgemlwY29kZTogbiB9KSA9PiB7XG4gIGNvbnN0IFtyLCBjXSA9IFYoITEpLCB7IGVycm9ySWNvbjogbywgY29ubmVjdGlvbkVycm9yVGV4dDogcywgcGF5bWVudEhpc3RvcnlIZWFkbGluZVRleHQ6IGwsIHNwYWNpbmc6IGQsIGdlbmVyaWNFcnJvck1vZGFsSGVhZGxpbmVUZXh0OiBtLCBnZW5lcmljRXJyb3JNb2RhbEJvZHlUZXh0OiB5LCBnZW5lcmljRXJyb3JNb2RhbEljb246IHAgfSA9IHQsIHUgPSAoKSA9PiBjKCExKSwgZyA9IG9lKCRlLCB0LmFuYWx5dGljcyk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gZShcbiAgICBzZSxcbiAgICB7XG4gICAgICBhbmFseXRpY3NCbG9ja3M6IGcsXG4gICAgICBmaXJlVGFnOiBhLFxuICAgICAgZXJyb3JGYWxsYmFjazogLyogQF9fUFVSRV9fICovIGUocGUsIHsgY29udGFpbmVyQ2xhc3NOYW1lOiB2LmNvbnRhaW5lciwgdGl0bGU6IGwsIGVycm9yTXNnOiBzLCBlcnJvckljb246IG8gfSksXG4gICAgICBzcGFjaW5nOiBkLFxuICAgICAgY29tcG9uZW50TmFtZTogVmUsXG4gICAgICB6aXBjb2RlOiBuLFxuICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBBKEFlLCB7IHZhbHVlOiB0LCBjaGlsZHJlbjogW1xuICAgICAgICAvKiBAX19QVVJFX18gKi8gZShcbiAgICAgICAgICBsZSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvck1vZGFsUHJvcHM6IHtcbiAgICAgICAgICAgICAgdGl0bGU6IG0sXG4gICAgICAgICAgICAgIGVycm9yTXNnOiB5LFxuICAgICAgICAgICAgICBlcnJvckljb246IHAsXG4gICAgICAgICAgICAgIG9uQ2xvc2U6IHUsXG4gICAgICAgICAgICAgIHNob3VsZFNob3dPbkVycm9yOiByXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBlKEllLCB7IGlzT3Blbjogciwgb25DbG9zZTogdSB9KVxuICAgICAgICAgIH1cbiAgICAgICAgKSxcbiAgICAgICAgLyogQF9fUFVSRV9fICovIGUoQmUsIHsgb25Gb290ZXJMZWZ0QWN0aW9uQ2xpY2s6ICgpID0+IGMoITApIH0pXG4gICAgICBdIH0pXG4gICAgfVxuICApO1xufTtcbmV4cG9ydCB7XG4gIFplIGFzIFRGU1BheW1lbnRIaXN0b3J5XG59O1xuIiwiaW1wb3J0IHsgRW50cnlQb2ludCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvRW50cnlQb2ludCc7XG5pbXBvcnQgeyBURlNQYXltZW50SGlzdG9yeSB9IGZyb20gJ2ZzcC11aS90ZnNwYXltZW50aGlzdG9yeSc7XG5pbXBvcnQgeyBnZXRCdW5kbGVBbmRNb3VudCB9IGZyb20gJy4uLy4uLy4uL3V0aWwvZ2V0QnVuZGxlQW5kTW91bnQnO1xuaW1wb3J0IHsgcmVwbGFjZVZBUElTaG9ydENvZGVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbC9yZXBsYWNlVkFQSVNob3J0Q29kZXMnO1xuaW1wb3J0ICcuLi9zY3NzL3Rmcy1wYXltZW50LWhpc3Rvcnkuc2Nzcyc7XG5cbmNvbnN0IHJpY2hUZXh0RmllbGRzID0gWydjb25uZWN0aW9uRXJyb3JUZXh0JywgJ2dlbmVyaWNFcnJvck1vZGFsQm9keVRleHQnXTtcblxuY29uc3QgZmlsdGVyID0gKGF1dGhvcmFibGVGaWVsZHMpID0+IHtcbiAgcmV0dXJuIHJlcGxhY2VWQVBJU2hvcnRDb2RlcyhhdXRob3JhYmxlRmllbGRzLCByaWNoVGV4dEZpZWxkcyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBURlNQYXltZW50SGlzdG9yeUVudHJ5UG9pbnQge1xuICBjb25zdHJ1Y3Rvcih7IGVsIH0pIHtcbiAgICBnZXRCdW5kbGVBbmRNb3VudChURlNQYXltZW50SGlzdG9yeSwgZWwsICdURlNQYXltZW50SGlzdG9yeScsIGZpbHRlcik7XG4gIH1cbn1cblxuRW50cnlQb2ludChURlNQYXltZW50SGlzdG9yeUVudHJ5UG9pbnQsICcudGZzLXBheW1lbnQtaGlzdG9yeScpO1xuIl0sIm5hbWVzIjpbIkFlIiwiTSIsImFlIiwiSGUiLCJ4IiwiUCIsIkEiLCJlIiwiRCIsIkciLCJqIiwibiIsInIiLCJjIiwibyIsInMiLCJsIiwiZCIsIm0iLCJ5IiwicCIsInUiLCJnIiwidGUiLCJUZSIsImtlIiwiQ2UiLCJ2IiwiX2UiLCJ4ZSIsIkRlIiwiTWUiLCJOZSIsIkgiLCJGZSIsImYiLCJTZSIsIk4iLCJSZSIsInVlIiwicSIsImRlIiwibWUiLCJVIiwibmUiLCJCIiwiQmUiLCIkIiwiTyIsIlkiLCJoIiwiXyIsInoiLCJ5ZSIsInJlIiwiVyIsIkVlIiwiayIsInZlIiwiQyIsIkllIiwiViIsIkYiLCJMIiwiaSIsInciLCJSIiwiSiIsIksiLCJRIiwiWCIsImIiLCJTIiwiVCIsIloiLCJQZSIsImVlIiwiaWUiLCJoZSIsIndlIiwiZ2UiLCIkZSIsImNlIiwiWmUiLCJvZSIsInNlIiwicGUiLCJsZSIsInJpY2hUZXh0RmllbGRzIiwiZmlsdGVyIiwiYXV0aG9yYWJsZUZpZWxkcyIsInJlcGxhY2VWQVBJU2hvcnRDb2RlcyIsIlRGU1BheW1lbnRIaXN0b3J5RW50cnlQb2ludCIsImVsIiwiZ2V0QnVuZGxlQW5kTW91bnQiLCJURlNQYXltZW50SGlzdG9yeSIsIkVudHJ5UG9pbnQiXSwibWFwcGluZ3MiOiJtckNBWUEsS0FBTSxDQUFFLHlCQUEwQkEsR0FBSSxvQkFBcUJDLENBQUMsRUFBS0MsR0FBRSxFQUFJLEdBQUsscUJBQXNCQyxHQUFLLGlCQUFrQixHQUFLLGdCQUFpQkMsRUFBSSxDQUNqSixVQUFXLEdBQ1gsTUFBT0QsR0FDUCxJQUFLLEVBQ1AsRUFBR0UsRUFBSSxDQUFDLENBQUUsTUFBTyxFQUFHLFNBQVUsQ0FBQyxJQUF1QkMsRU
2FBQUEsS0FBRSxNQUFPLENBQUUsVUFBV0YsRUFBRSxJQUFLLFNBQVUsQ0FDM0VHLE1BQUVDLEVBQUcsQ0FBRSxRQUFTLFdBQVksV0FBWSxHQUFJLFNBQVUsRUFBRyxFQUN6REQsRUFBQUEsSUFBRUMsRUFBRyxDQUFFLFFBQVMsV0FBWSxXQUFZLEdBQUksU0FBVUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUUsQ0FDbkYsQ0FBQyxDQUFFLEVBQUdDLEVBQUksQ0FBQyxDQUNULFlBQWEsRUFDYixVQUFXLENBQUUsY0FBZSxFQUFHLGdCQUFpQkMsRUFBRyxlQUFnQkMsRUFBRyxpQkFBa0JDLEVBQUcsa0JBQW1CQyxFQUFHLFlBQWFDLENBQUMsQ0FDakksSUFBTSxDQUNKLEtBQU0sQ0FDSixnQ0FBaUNDLEVBQ2pDLG1DQUFvQ0MsRUFDcEMsa0NBQW1DQyxFQUNuQyxrQ0FBbUNDLEVBQ25DLGtDQUFtQ0MsRUFDbkMsK0JBQWdDQyxDQUNwQyxFQUFNcEIsRUFBQyxFQUFJcUIsRUFBSSxJQUFNLElBQXNCZixFQUFBQSxJQUFFRixFQUFHLENBQUUsTUFBT1csRUFBRyxTQUFVLENBQUMsQ0FBRSxFQUFvQlYsRUFBQUEsS0FBRWlCLEVBQUFBLFNBQUksQ0FBRSxTQUFVLENBQzNGaEIsRUFBQUEsSUFBRUYsRUFBRyxDQUFFLE1BQU9ZLEVBQUcsU0FBVU4sRUFBRyxFQUM5QkosRUFBQUEsSUFBRUYsRUFBRyxDQUFFLE1BQU9hLEVBQUcsU0FBVU4sQ0FBQyxDQUFFLENBQ2xELEVBQUssRUFDSCxPQUF1QkwsRUFBQUEsSUFBRSxNQUFPLENBQUUsVUFBV0gsRUFBRSxVQUFXLFNBQTBCRSxFQUFBQSxLQUFFLE1BQU8sQ0FBRSxVQUFXRixFQUFFLE1BQU8sU0FBVSxDQUMzSGtCLEVBQ2dCZixFQUFBQSxJQUFFRixFQUFHLENBQUUsTUFBT2MsRUFBRyxTQUFVTixFQUFHLEVBQzlCTixFQUFBQSxJQUFFRixFQUFHLENBQUUsTUFBT2UsRUFBRyxTQUFVTixFQUFHLEVBQzlCUixFQUFBQSxLQUFFLE1BQU8sQ0FBRSxVQ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
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.