1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6720],{15017:function(e,t,n){n.d(t,{MV:function(){return c},Uc:function(){return a},YN:function(){return r},iJ:function(){return u},ly:function(){return o}});let r="--",u="****",a=10,c="Asia/Ho_Chi_Minh",o="VND"},26221:function(e,t,n){var r,u;n.d(t,{C:function(){return r}}),(u=r||(r={})).UP="up",u.DOWN="down",u.NO_CHANGE="no_change"},5666:function(e,t,n){n.d(t,{es:function(){return l},gz:function(){return i},h1:function(){return o},nG:function(){return s},nZ:function(){return d}});var r=n(67294),u=n(36931),a=n(51972);let c=()=>{let e=(0,r.useContext)(u.By),t=(0,r.useContext)(u.aW);return[e,t]},o=e=>{var t;let[n]=c();if(!e)return{};let r=null===(t=n.liveStockPrices)||void 0===t?void 0:t.filter(t=>e.indexOf(t.symbol)>-1),u={};return null==r||r.forEach(e=>{u[e.symbol]=e}),u},i=e=>{let[t]=c(),n=t.marketIndexes;if(!e.length||!n)return n||null;let r=new Map;return e.forEach(e=>{r.set(e,n.get(e)||null)}),r},s=()=>{let[e]=(0,a.kW)();return e.portfolios},l=()=>{let[e]=(0,a.kW)();return e.savingAccounts},d=()=>{let[e]=(0,a.kW)();return e.cashBalance};t.ZP=c},7826:function(e,t,n){var r,u,a,c;n.d(t,{Uo:function(){return o},hr:function(){return u},sd:function(){return r}}),(a=r||(r={})).CashDividend="CashDividend",a.StockDividend="StockDividend",a.StockReward="StockReward",a.PurchaseRight="PurchaseRight";let o={[r.CashDividend]:"Cá» tức tiá»n mặt",[r.StockDividend]:"Cá» tức cá» phiếu",[r.StockReward]:"Cá» phiếu thưá»ng",[r.PurchaseRight]:"Ph\xe1t h\xe0nh th\xeam"};(c=u||(u={})).Created="Created",c.Pending="Pending",c.Completed="Completed"},36931:function(e,t,n){n.d(t,{By:function(){return s},aW:function(){return l},uv:function(){return u}});var r,u,a=n(85893),c=n(67294);function o(e,t){var n,r,a;let{type:c,payload:o}=t;switch(c){case u.MARKET_INDEXES_LOADED:return{...e,marketIndexes:o.marketIndexes};case u.ALL_STOCK_PRICES_LOADED:return{...e,liveStockPrices:o.liveStockPrices};case u.STOCK_PRICES_CHANGED:{let t=new Map;null===(n=o.stockPriceChanges)||void 0===n||n.forEach(e=>{t.set(e.symbol,e)});let u=null===(r=e.liveStockPrices)||void 0===r?void 0:r.map(e=>{let n=t.get(e.symbol);if(n){let t=e.priceChangedAt;return t&&e.matchedPrice==(null==n?void 0:n.matchedPrice)||(t=n.updatedAt),{...e,...n,previousMatchedPrice:e.matchedPrice,priceChangedAt:t}}return e});return{...e,liveStockPrices:u}}case u.MARKET_INDEX_CHANGED:{let t=o.marketIndex,n=null===(a=e.marketIndexes)||void 0===a?void 0:a.get(t.index);if(!n||!e.marketIndexes)return e;let r=n.valueChangedAt;return t.value!=n.value&&(r=t.updatedAt),{...e,marketIndexes:e.marketIndexes.set(n.index,{...n,...t,valueChangedAt:r})}}default:return e}}(r=u||(u={}))[r.ALL_STOCK_PRICES_LOADED=0]="ALL_STOCK_PRICES_LOADED",r[r.STOCK_PRICES_CHANGED=1]="STOCK_PRICES_CHANGED",r[r.MARKET_INDEXES_LOADED=2]="MARKET_INDEXES_LOADED",r[r.MARKET_INDEX_CHANGED=3]="MARKET_INDEX_CHANGED";let i={liveStockPrices:[],marketIndexes:new Map},s=(0,c.createContext)(i),l=(0,c.createContext)(()=>null),d=e=>{let{children:t}=e,[n,r]=(0,c.useReducer)(o,{...i});return(0,a.jsx)(s.Provider,{value:n,children:(0,a.jsx)(l.Provider,{value:r,children:t})})};t.ZP=d},49173:function(e,t,n){n.d(t,{Hs:function(){return o},We:function(){return i}});var r=n(85893),u=n(67294);let a={cashBalance:!1,portfolios:!1,savingAccounts:!1},c=(0,u.createContext)({doesNeedToRefetchAsset:a,changeRefetchAssetState:()=>{}}),o=()=>(0,u.useContext)(c);function i(e){let{children:t}=e,[n,o]=(0,u.useState)(a),i=(e,t)=>{o({...n,[e]:t})};return(0,r.jsx)(c.Provider,{value:{doesNeedToRefetchAsset:n,changeRefetchAssetState:i},children:t})}},51972:function(e,t,n){n.d(t,{h$:function(){return u},PY:function(){return P},kW:function(){return _}});var r,u,a=n(85893),c=n(67294),o=n(73046),i=n(42496),s=n(49173),l=n(88767),d=n(77829);function f(e){let{onUnauthorized:t,token:n}=e,[r,a]=_(),{data:o}=(0,l.useQuery)(["user-cash-balance",n],()=>n?fetch("/api/me/cash-balance",{headers:(0,d.IZ)(n)}).then(async e=>(401===e.status&&await t(),e.json())):Promise.resolve({}));return(0,c.useEffect)(()=>{o&&200===o.code&&a({type:u.UPDATE_CASH_BALANCE,payload:o.data})}
1,[o]),null}function h(e){let{onUnauthorized:t,token:n}=e,[r,a]=_(),{doesNeedToRefetchAsset:o,changeRefetchAssetState:i}=(0,s.Hs)(),{data:d}=(0,l.useQuery)(["user-saving-accounts",n,o.savingAccounts],()=>{if(!n)return Promise.resolve({});let e=new Headers;return e.append("authorization","Bearer ".concat(n)),fetch("/api/me/saving-accounts?planCode=All",{headers:e}).then(async e=>(401===e.status&&await t(),e.json()))},{onSettled:()=>{i("savingAccounts",!1)}});return(0,c.useEffect)(()=>{if(!d||200!==d.code||"string"==typeof d.data)return;let e=d.data||null;a({type:u.UPDATE_SAVING_ACCOUNT,payload:e})},[d]),null}function E(e){let{onUnauthorized:t,token:n}=e,[r,a]=_(),{data:o,isFetched:i}=(0,l.useQuery)(["user-stock-portfolio",n],()=>{if(!n)return Promise.resolve({});let e=new Headers;return e.append("authorization","Bearer ".concat(n)),fetch("/api/me/stock-portfolios",{headers:e}).then(async e=>(401===e.status&&await t(),e.json()))});return(0,c.useEffect)(()=>{if(!i)return;let e=o&&200===o.code&&o.data?o.data:[];a({type:u.UPDATE_STOCK_PORTFOLIO,payload:e})},[o,i]),null}function C(e,t){let{type:n}=t;switch(n){case u.RESET:return A;case u.UPDATE_CASH_BALANCE:return{...e,cashBalance:t.payload};case u.UPDATE_STOCK_PORTFOLIO:return{...e,portfolios:t.payload,portfoliosLoaded:!0};case u.UPDATE_SAVING_ACCOUNT:return{...e,savingAccounts:t.payload};default:return e}}(r=u||(u={}))[r.RESET=0]="RESET",r[r.UPDATE_CASH_BALANCE=1]="UPDATE_CASH_BALANCE",r[r.UPDATE_STOCK_PORTFOLIO=2]="UPDATE_STOCK_PORTFOLIO",r[r.UPDATE_SAVING_ACCOUNT=3]="UPDATE_SAVING_ACCOUNT";let A={cashBalance:null,portfolios:[],savingAccounts:null,portfoliosLoaded:!1},v=(0,c.createContext)(A),S=(0,c.createContext)(()=>null),_=()=>[(0,c.useContext)(v),(0,c.useContext)(S)];function P(e){let{children:t}=e,[n,r]=(0,c.useState)(""),[l,d]=(0,c.useReducer)(C,A),{user:_}=(0,i.a)(),P=async()=>{if(!_){r(""),d({type:u.RESET});return}try{let e=await _.userFS.getIdToken(!0);r(e)}catch(e){o.k.warn({message:e instanceof Error?e.message:String(e)},"failed to refresh user asset token"),r(""),d({type:u.RESET})}};return(0,c.useEffect)(()=>{let e=async()=>{let e=await (null==_?void 0:_.userFS.getIdToken())||"";r(e)};e().catch(e=>o.k.error(e)),n||d({type:u.RESET})},[_]),(0,a.jsx)(v.Provider,{value:l,children:(0,a.jsx)(S.Provider,{value:d,children:(0,a.jsxs)(s.We,{children:[(0,a.jsx)(f,{token:n,onUnauthorized:P}),(0,a.jsx)(E,{token:n,onUnauthorized:P}),(0,a.jsx)(h,{token:n,onUnauthorized:P}),t]})})})}},4611:function(e,t,n){n.d(t,{wn:function(){return o},y1:function(){return s},zf:function(){return i}});var r=n(15017),u=n(7826),a=n(49635),c=n(60083);function o(e){return e.status===u.hr.Completed?"Ä\xe3 nháºn":e.dividendType!==u.sd.PurchaseRight||e.finalShares?"Chá» vá»":e.reservedTo&&new Date>e.reservedTo?"Hết hạn ÄÄng k\xfd":"Chá» ÄÄng k\xfd"}function i(e){switch(e.dividendType){case u.sd.CashDividend:return"".concat((0,a.uf)(e.netValue,r.YN),"Ä");case u.sd.PurchaseRight:return e.finalShares?(0,a.uf)((0,c.eX)(e.finalShares),r.YN)+" cá» phiếu":r.YN;default:return(0,a.uf)((0,c.eX)(e.dividendShares),r.YN)+" cá» phiếu"}}function s(e){return e.dividendType===u.sd.CashDividend?"".concat(e.parValue*e.ratio,"Ä/cá» phiếu"):"1:".concat(e.ratio)}},49635:function(e,t,n){n.d(t,{CF:function(){return o},TS:function(){return d},cQ:function(){return s},po:function(){return i},uf:function(){return c},z9:function(){return l}});var r=n(26221),u=n(12205),a=n(4611);let c=(e,t)=>Number.isNaN(+e)?t:Intl.NumberFormat("en-US").format(e);function o(e){switch(e){case r.C.UP:return"#27AE60";case r.C.DOWN:return"#E85151";case r.C.NO_CHANGE:default:return"#ECB533"}}function i(e){return e===u.Xp.Buy?"#27AE60":"#DD3947"}let s=e=>{switch(e){case u.EI.CEIL:return"#A300CC";case u.EI.FLOOR:return"#67BAE8";case u.EI.REF:return"#ECB533"}};function l(e){switch(e){case u.iF.Created:return"#019BFD";case u.iF.Pending:return"#ECB533";case u.iF.Processing:return"#FF6B00";case u.iF.Error:return"#FF5959";case u.iF.PartiallyFilled:return"#0B846E";case u.iF.Filled:return"#27AE60"}}function d(e){let t=(0,a.wn)(e);switch(t){case"Ä\xe3 nháºn":return"#27AE60";case"Chá» vá»":return"#ECB533";case"Chá» ÄÄng k\xfd":return"#FF6B00";case"Hết hạn ÄÄng k\xfd":return"#697896";default:return"black"}}},60083:function(e,t,n){n.d(t,{Pr:function(){return c},eX:function(){return i}});let r=[{from:180,to:350},{from:0,to:180}],u=[{from:60,to:100},{from:20,to:60}],a=[{from:60,to:90},{from:20,to:60}],c=(e,t)=>{let n=e%2;return"hsl(".concat(t?359:o(r[n],6,e%15),", ").concat(t?100:o(u[n],15,e%15),"%, ").concat(t?90:o(a[n],15,e%15),"%)")};function o(e,t,n){return e.from+(e.to-e.from)/t*n}let i=e=>Math.floor(1e3*e)/1e3},47145:function(e,t,n){n.d(t,{$R:function(){return u},K1:function(){return c},j3:function(){return a}});var r=n(74578);let u=(e,t)=>
1{let n={};return e.forEach((e,r)=>{e&&r<t.length&&(n[e]=t[r])}),n},a=e=>r.h.replace("{STOCK_SYMBOL}",e);function c(e,t){let n=Object.keys(e).filter(n=>e[n]===t);return n.length>0?n[0]:""}}}]);
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.