{"version":3,"file":"js/6680.js","mappings":"wGAAA,IAAIA,EAAM,CACT,uBAAwB,CACvB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,0BAA2B,CAC1B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KAED,yBAA0B,CACzB,MACA,KAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,uBAAwB,CACvB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,0BAA2B,CAC1B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,2BAA4B,CAC3B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,8BAA+B,CAC9B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,2BAA4B,CAC3B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,8BAA+B,CAC9B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,2BAA4B,CAC3B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,8BAA+B,CAC9B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,gCAAiC,CAChC,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,mCAAoC,CACnC,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,qCAAsC,CACrC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,wCAAyC,CACxC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,wBAAyB,CACxB,MACA,KACA,KACA,KACA,KACA,KACA,MAED,2BAA4B,CAC3B,MACA,KACA,KACA,KACA,KACA,KACA,MAED,6BAA8B,CAC7B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,gCAAiC,CAChC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,kCAAmC,CAClC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,qCAAsC,CACrC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,mCAAoC,CACnC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sCAAuC,CACtC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,uDAAwD,CACvD,MACA,MAED,0DAA2D,CAC1D,MACA,MAED,gCAAiC,CAChC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,mCAAoC,CACnC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,mDAAoD,CACnD,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sDAAuD,CACtD,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,4BAA6B,CAC5B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,+BAAgC,CAC/B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,mCAAoC,CACnC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,sCAAuC,CACtC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,iCAAkC,CACjC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,oCAAqC,CACpC,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KAED,6BAA8B,CAC7B,MACA,KACA,MAED,gCAAiC,CAChC,MACA,KACA,MAED,8BAA+B,CAC9B,MACA,KACA,MAED,iCAAkC,CACjC,MACA,KACA,MAED,wBAAyB,CACxB,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,2BAA4B,CAC3B,MACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,uCAAwC,CACvC,MACA,KAED,0CAA2C,CAC1C,MACA,KAED,mBAAoB,CACnB,MACA,KAED,sBAAuB,CACtB,MACA,KAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,KACA,MAED,sBAAuB,CACtB,MACA,KACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MACA,MAED,mBAAoB,CACnB,MACA,MAED,sBAAuB,CACtB,MA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N,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,GAGVC,qBAAsB,CAClB,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM,EACN,IAAM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AAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,MAC93D3W,EAAU4W,cAAgB,CAAE,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,KAAM,GAAM,MACtc5W,EAAU6W,8BAAgC,CACtChR,GAAI,QACD7F,EAAUuW,UACVvW,EAAU2W,iBACV3W,EAAU4W,eAGjB5W,EAAU8W,0BAA4B,CAClCjR,GAAI,QACD7F,EAAU4W,eAGjB5W,EAAU+W,wBAA0B,CAChC,YAAe,UACf,QAAW,UACX,OAAU,UAKd/W,EAAUgX,qBAAuB,CAC7BC,eAAgB,eAChBC,eAAgB,eAChBC,eAAgB,eAChBC,aAAc,aACdC,aAAc,aACdC,aAAc,aACdC,YAAa,aACbC,aAAc,cACdC,gBAAiB,iBACjB,gCAAiC,8BACjC,8BAA+B,4BAC/BC,cAAe,eACfC,YAAa,cAGjB3X,EAAU4X,uBAAyB,CAC/BC,MAAO,QACPC,MAAO,QACPC,WAAY,cACZC,YAAa,eACbC,MAAO,QACPC,KAAM,QAGVlY,EAAUmY,eAAiB,CACvB,iBACA,gCACA,8BACA,iBACA,eACA,eACA,eACA,cACA,gBAGJnY,EAAUoY,gBAAkB,CACxB,eACA,8BACA,4BACA,eACA,aACA,aACA,aACA,aACA,eAIJpY,EAAUqY,aAAe,CACrBC,cAAe,oCACfC,kBAAmB,yBACnBC,cAAe,+BACfC,sBAAuB,gCACvBC,oBAAqB,uCAIzB1Y,EAAU2Y,eAAiB,CACvBC,WAAY,YACZC,qBAAsB,uBACtBC,UAAW,aACXjO,QAAS,YACTkO,QAAS,UACTC,UAAW,cACX1J,eAAgB,mBAChB2J,QAAS,WACTC,iBAAkB,oBAClBC,aAAc,gBACdzN,UAAW,aACX0N,WAAY,eACZC,YAAa,aACbC,wBAAyB,uBACzBC,wBAAyB,0BACzBC,qBAAsB,eAG1BxZ,EAAUyZ,uBAAyB,CAC/B,uBACA,cACA,iCACA,sBACA,2BAGJzZ,EAAU0Z,mBAAqB,CAC3B,UAAY,EACZ,gBAAkB,EAClB,iBAAmB,EACnB,WAAa,EACbC,qBAAqB,EACrBC,iCAAiC,EACjCC,+BAA+B,EAC/BC,0BAA0B,EAC1BC,qCAAqC,EACrCC,qBAAqB,EACrBC,iBAAiB,EACjBC,oBAAoB,GAGxBla,EAAUma,UAAY,CAClBC,oBAAqB,eACrBC,kBAAmB,0BACnBC,gBAAiB,WACjBtK,KAAM,CACFuK,KAAM,CACFC,QAAS,CACL,OAAU,yBACV,gBAAmB,kBACnB,iBAAoB,uBACpB,uBAA0B,6BAGlC3K,OAAQ,CACJ4K,SAAU,mBACVC,cAAe,gCAI3B1a,EAAU2a,yCAA2C,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAClH3a,EAAU4a,sBAAwB,CAC9B7I,WAAY,WACZC,sBAAuB,WACvBJ,SAAU,WACVD,cAAe,UACfM,eAAgB,WAEpBjS,EAAU6a,8BAAgC,CACtCC,MAAO,aACPnJ,cAAe,iBAGnB3R,EAAU+a,qBAAuB,CAAC,KAAM,KAAM,MAE9C/a,EAAUgb,wBAA0B,CAChC,GAAM,CAAC,iBAAkB,eAG7Bhb,EAAUib,0BAA4B,CAClC,GAAM,CAAC,SAGXjb,EAAUkb,wBAA0B,CAAC,MAErClb,EAAUmb,aAAe,CACrB7S,KAAM,OACN8S,QAAS,UACTC,KAAM,OACN9S,MAAO,SAGXvI,EAAUsb,iBAAmB,CACzBC,eAAgB,iBAChBC,mBAAoB,uBACpBpB,oBAAqB,8BACrBC,kBAAmB,4BACnBE,KAAM,eACNkB,4BAA6B,CACzB7I,WAAY,gBACZ8I,eAAgB,YAChBC,IAAK,YACLR,aAAc,eACdS,IAAK,gBACLrT,MAAO,SAEXsT,mCAAoC,CAChCjX,KAAM,CAAC,iBACPkX,QAAS,CAAC,iBACVC,SAAU,CAAC,iBACXC,eAAgB,CAAC,iBACjBC,SAAU,CAAC,iBACXC,cAAe,CAAC,iBAChBC,OAAQ,CAAC,iBACTC,QAAS,CAAC,kBAEdC,6CAA8C,yBAC9CC,wCAAyC,qBAG7Ctc,EAAUuc,iBAAmB,CACzBhB,eAAgB,kBAChBC,mBAAoB,uBACpBpB,oBAAqB,8BACrBC,kBAAmB,4BACnBmC,yBAA0B,4BAC1BC,YAAa,sBACbC,gBAAiB,yBAGrB1c,EAAU2c,YAAc,CACpBnE,cAAe,iBAGnBxY,EAAU4c,wCAA0C,CAChDnV,GAAI,oCAGRzH,EAAU6c,gBAAkB,CACxBC,OAAQ,SACRC,iBAAkB,oBAGtB/c,EAAUgd,mBAAqB,CAC3BzB,eAAgB,sBAGpBvb,EAAUid,4BAA8B,CACpC1B,eAAgB,8BAChBnB,oBAAqB,mCACrBC,kBAAmB,mCACnBmC,yBAA0B,mCAG9Bxc,EAAUkd,iCAAmC,CACzC3B,eAAgB,mCAChBnB,oBAAqB,wCACrBC,kBAAmB,yCAGvBra,EAAUmd,mBAAqB,CAC3B5B,eAAgB,sBAGpBvb,EAAUod,oBAAsB,CAC5B7B,eAAgB,sBAChBnB,oBAAqB,0BAGzBpa,EAAUqd,sBAAwB,CAC9B9B,eAAgB,mCAGpBvb,EAAUsd,yBAA2B,CACjC/B,eAAgB,4BAGpBvb,EAAUud,oCAAsC,CAC5ChC,eAAgB,uCAGpBvb,EAAUwd,gBAAkB,CACxBjC,eAAgB,kBAChBnB,oBAAqB,wBAGzBpa,EAAUyd,oBAAsB,CAC5BlC,eAAgB,sBAChBnB,oBAAqB,2BACrBC,kBAAmB,4BAGvBra,EAAU0d,YAAc,CACpBnC,eAAgB,cAChBnB,oBAAqB,mBACrBC,kBAAmB,oBAGvBra,EAAU2d,8BAAgC,CACtCpC,eAAgB,gBAChBnB,oBAAqB,sCAGzBpa,EAAU4d,wBAA0B,CAChCrC,eAAgB,gBAChBnB,oBAAqB,gCAGzBpa,EAAU6d,aAAe,CACrBC,kBAAmB,qBAGvB9d,EAAU+d,8BAAgC,CACtCC,mBAAoB,CAAC,QACrBC,8BAA+B,CAC3B,KAAQje,EAAUke,cAI1Ble,EAAUme,+BAAiC,CACvCH,mBAAoB,CAAC,QACrBC,8BAA+B,CAC3B,KAAQje,EAAUke,cAK1Ble,EAAUoe,wCAA0C,CAChDC,mBAAoB,aACpBC,mBAAoB,iBACpBC,iBAAkB,0CAClBC,yBAA0B,0BAA0Bxe,EAAUqd,sBAAsB9B,iBACpFtb,iBAAkB,mBAClBwe,cAAe,gBACfC,kBAAmB,UACnBC,6BAA8B,6BAC9BC,SAAU,IACVC,+BAAgC,EAChCC,wCAAyC,IACzCC,QAAShf,EAAUif,SAAW,IAAQ,KACtCC,oCAAqC,OAGzCjf,EAAUkf,eAAiB,CACvBC,SAAU,WACVC,iBAAkB,mBAClBpP,KAAM,CACFqP,kCAAmC,8CACnCC,0BAA2B,kCAC3BC,gCAAiC,iCACjCC,oBAAqB,qBACrBC,yBAA0B,2BAC1BC,uBAAwB,yBACxBC,QAAS,mBACTC,SAAU,uBAIlB5f,EAAU6f,cAAgB,CACtBC,QAAS,UACTC,QAAS,UACTC,QAAS,WAGbhgB,EAAUigB,oBAAsB,CAC5BvO,SAAU,WACVC,cAAe,gBACfE,SAAU,YAGd7R,EAAUkgB,mCAAqC,CAC3C7L,mBAAoB,CAChB8L,oBAAqB,uBAEzBC,WAAY,CACRC,gBAAiB,iBACjBC,gBAAiB,kBACjBC,WAAY,aACZ3K,WAAY,aACZtG,eAAgB,kBAEpBkR,gBAAiB,CACbC,4BAA6B,8BAC7BC,0CAA2C,4CAC3CC,gCAAiC,kCACjCC,4BAA6B,8BAC7BC,+BAAgC,iCAChCC,mBAAoB,qBACpBC,mBAAoB,qBACpBC,yBAA0B,2BAC1BC,0BAA2B,4BAC3BC,sBAAuB,wBACvBC,0BAA2B,4BAC3BC,8BAA+B,iCAEnCC,WAAY,CACRC,0BAA2B,4BAC3BC,kDAAmD,oDACnDC,mCAAoC,qCACpCC,8BAA+B,gCAC/BC,8BAA+B,gCAC/BC,8CAA+C,gDAC/CC,8CAA+C,gDAC/CC,8CAA+C,sDAC/CC,6BAA8B,+BAC9BC,yBAA0B,2BAC1BC,yCAA0C,2CAC1CC,kEAAmE,mEACnEC,sDAAuD,wDACvDC,wCAAyC,0CACzCC,qDAAsD,uDACtDC,uCAAwC,yCACxCC,yCAA0C,2CAC1CC,6DAA8D,+DAC9DC,iEAAkE,mEAClEC,6CAA8C,+CAC9CC,oCAAqC,sCACrCC,oCAAqC,sCACrCC,sCAAuC,wCACvCC,iCAAkC,mCAClCC,yCAA0C,yCAC1CC,wCAAyC,0CACzCC,8CAA+C,gDAC/CC,wCAAyC,0CACzCC,gCAAiC,mCAErCC,MAAO,CACHC,qBAAsB,uBACtBC,uBAAwB,yBACxBC,sCAAuC,wCACvCC,iCAAkC,oCAEtCC,6BAA8B,CAC1BC,UAAW,YACXC,OAAQ,UAEZC,wBAAyB,CACrBC,WAAY,aACZC,QAAS,YAIjB7jB,EAAU8jB,0BAA4B,CAClCC,sBAAuB,sBACvBC,qBAAsB,cACtBC,0BAA2B,0BAC3BC,sBAAuB,mBACvBC,6BAA8B,gCAElCnkB,EAAUokB,WAAa,CACnBC,sCAAuC,aAI3CrkB,EAAUskB,mCAAqC,CAAC,KAAM,KAAM,MAE5DtkB,EAAUukB,iCAAmC,CACzCC,WAAY,OACZC,UAAW,kCACXC,eAAgB,gBAChBC,UAAW,mCAGf3kB,EAAU4kB,eAAiB,CACvBC,SAAU,WACVC,SAAU,WACVC,MAAO,SAGX/kB,EAAUglB,cAAgB,CACtBH,SAAU,WACVC,SAAU,YAGd9kB,EAAU8Y,UAAY,CAClBmM,YAAa,cACbC,WAAY,SAIhBllB,EAAUmlB,WAAa,CACnBC,eAAgB,CACZC,UAAW,YACXC,QAAS,WACTC,cAAe,kBAIvBvlB,EAAUwlB,2BAA6B,CACnCC,SAAU,WACVC,SAAU,WACV7V,OAAQ,UAGZ7P,EAAU2lB,6CAA+C,CACrDC,UAAW5lB,EAAU2R,cACrBO,SAAUlS,EAAUiS,eACpB4T,QAAS7lB,EAAUiS,eACnB6T,UAAW9lB,EAAUiS,eACrB8T,QAAS/lB,EAAU4R,SACnBoU,UAAWhmB,EAAU4R,SACrBqU,KAAMjmB,EAAU4R,SAChBsU,OAAQlmB,EAAU4R,SAClBnL,OAAQzG,EAAU+R,WAClBA,WAAY/R,EAAU+R,YAG1B/R,EAAUmmB,mBAAqB,CAE3BC,iCAAkC,CAACpmB,EAAUqmB,gBAAiBrmB,EAAUsmB,oBAG5EtmB,EAAUumB,wBAA0B,sBAEpCvmB,EAAUwmB,sBAAwB,CAC9BA,sBAAuB,wBACvBC,mBAAoB,qBACpBC,iBAAkB,mBAClBC,iBAAkB,mBAClBC,OAAQ,SACRnd,QAAS,UACTod,YAAa,cACbC,iBAAkB,gBAClBC,UAAW,YACXC,gBAAiB,wCACjBxW,UAAWhR,OAAOD,KAAKS,EAAUoE,iCAGrCpE,EAAUinB,YAAc,CACpBC,WAAY,cAGhBlnB,EAAUmnB,cAAgB,CACtBC,GAAI,cAGRpnB,EAAUqnB,YAAc,CAAC,YAAa,WAAY,aAAc,iBAEhErnB,EAAUsnB,eAAiB,CACvBC,OAAQ,SACRC,IAAK,sDACLC,OAAQ,MACRC,QAAS,CACLC,gBAAiB,kBACjBC,aAAc,eACdC,eAAgB,iBAChBC,gBAAiB,mBAErBC,sBAAuB,CACnBC,oBAAqB,wBACrBC,cAAe,iBACfC,gBAAiB,oBACjBC,kBAAmB,wBACnBC,gBAAiB,oBACjBC,OAAQ,YACRC,mBAAoB,uBACpBC,iBAAkB,qBAClBC,mBAAoB,sBACpBC,cAAe,kBAEnBC,WAAY,CACRC,UAAW,YACXC,QAAS,UACTC,QAAS,kBAEbC,mBAAoB,CAChBC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,cAAe,kBAEnBC,sBAAuB,CACnBC,mBAAoB,sBACpBC,aAAc,gBACdC,cAAe,kBAEnBC,kBAAmB,IACnBC,aAAc,CACV1J,QAAS,UACTC,QAAS,WAEbxE,eAAgB,4CAChBkO,YAAa,CACTC,kBAAmB,CACfC,QAAS,SACTC,UAAW,UAEfC,mBAAoB,SACpBC,WAAY,CACRC,KAAM,eAEVC,MAAO,CACHC,KAAM,CACFC,iBAAkB,WAClBC,YAAa,QACbxB,UAAW,YACXyB,KAAM,WAGdva,OAAQ,CACJwa,YAAa,OACbC,UAAW,SACXC,WAAY,UACZC,aAAc,YACdC,6BAA8B,gCAElCC,QAAS,CACLC,eAAgB,WAK5B3qB,EAAU4qB,uCAAyC,CAAC,eAEpD5qB,EAAU6qB,IAAM,CACZC,cAAe,CACXC,OAAQ,KAEZlb,OAAQ,CACJmb,QAAS,UACTC,UAAW,aAEfjb,KAAM,CACFkb,yBAA0B,2BAC1BC,cAAe,sBACfC,uBAAwB,kBACxBtL,QAAS,mCACTqD,MAAO,mCAIfnjB,EAAUqrB,qBAAuB,CAAC,KAAM,KAAM,KAAM,KAAM,MAE1DrrB,EAAUsrB,wBAA0B,CAChCC,QAAS,UACTC,QAAS,UACTC,WAAY,aACZC,cAAe,gBACfC,WAAY,aACZC,kBAAmB,aACnBC,wBAAyB,oBAG7B7rB,EAAU8rB,wBAA0B,CAChCC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,MAGRnsB,EAAUosB,kCAAoC,CAC1C,CAACpsB,EAAU8rB,wBAAwBC,KAAK,EACxC,CAAC/rB,EAAU8rB,wBAAwBE,KAAK,EACxC,CAAChsB,EAAU8rB,wBAAwBG,KAAK,EACxC,CAACjsB,EAAU8rB,wBAAwBI,KAAK,EACxC,CAAClsB,EAAU8rB,wBAAwBK,KAAK,GAG5CnsB,EAAUqsB,2BAA6B,CACnC,CAACrsB,EAAUsrB,wBAAwBC,SAAUvrB,EAAU8rB,wBAAwBC,GAC/E,CAAC/rB,EAAUsrB,wBAAwBE,SAAUxrB,EAAU8rB,wBAAwBE,GAC/E,CAAChsB,EAAUsrB,wBAAwBG,YAAazrB,EAAU8rB,wBAAwBG,GAClF,CAACjsB,EAAUsrB,wBAAwBI,eAAgB1rB,EAAU8rB,wBAAwBI,GACrF,CAAClsB,EAAUsrB,wBAAwBK,YAAa3rB,EAAU8rB,wBAAwBK,GAClF,CAACnsB,EAAUsrB,wBAAwBM,mBAAoB5rB,EAAU8rB,wBAAwBE,GACzF,CAAChsB,EAAUsrB,wBAAwBO,yBAA0B7rB,EAAU8rB,wBAAwBI,IAGnGlsB,EAAUssB,iBAAmB,CAAC,KAAM,MAEpCtsB,EAAUusB,YAAc,CACpBC,wBAAyB,yBAG7BxsB,EAAUysB,WAAa,CACnB,aACA,aACA,eACA,aACA,WACA,cACA,SACA,SACA,SACA,SACA,SACA,UACA,MACA,OACA,aACA,eACA,cACA,SACA,SACA,SAGJzsB,EAAU0sB,aAAe,CACrBC,SAAU,CACNC,WAAY,aACZC,UAAW,YACXC,cAAe,gBACfC,eAAgB,mBAIxB/sB,EAAUgtB,sBAAwB,CAC9BzR,eAAgB,wBAChBnB,oBAAqB,6BACrBC,kBAAmB,8BAGvBra,EAAUitB,wBAA0B,+CAEpCjtB,EAAUktB,wBAA0B,CAChCC,kBAAmB,qBAGvBntB,EAAUotB,uBAAyB,CAC/B7R,eAAgB,yBAChBnB,oBAAqB,8BACrBC,kBAAmB,+BAGvBra,EAAUqtB,yBAA2B,CACjC,oBAAqB,cACrB,mBAAoB,cACpB,6BAA8B,cAC9B,sBAAuB,cACvB,iBAAkB,cAClB,WAAc,cACd,QAAW,cACX,WAAc,cACd,iBAAkB,OAClB,sBAAuB,OACvB,oBAAuB,OACvB,0BAA6B,OAC7B,KAAQ,OACR,qBAAsB,cACtB,yBAA0B,cAC1B,4BAA6B,cAC7B,IAAO,cACP,gBAAiB,cACjB,IAAO,cACP,QAAW,cACX,gBAAiB,YACjB,UAAa,YACb,sBAAuB,YACvB,sBAAuB,mBACvB,kBAAmB,mBACnB,SAAY,mBACZ,iBAAoB,mBACpB,kBAAmB,eACnB,eAAgB,cAChB,qBAAwB,cACxB,iBAAkB,yBAClB,cAAiB,yBACjB,gBAAmB,yBACnB,wBAAyB,gBACzB,6BAAgC,gBAChC,kBAAqB,gBACrB,yBAA0B,YAC1B,UAAa,YACb,MAAS,YACT,uBAAwB,WACxB,QAAW,WACX,QAAW,WACX,mBAAoB,mBACpB,iBAAoB,mBACpB,aAAc,aACd,WAAc,aACd,uBAAwB,eACxB,QAAW,eACX,QAAW,eACX,OAAU,eACV,KAAQ,eACR,QAAW,eACX,2BAA4B,kBAC5B,kBAAmB,cACnB,gBAAmB,cACnB,qBAAwB,cACxB,oBAAuB,cACvB,gBAAiB,uBACjB,UAAa,SACb,UAAa,SACb,oCAAqC,SACrC,YAAe,SACf,KAAQ,SACR,cAAiB,gBACjB,cAAiB,gBACjB,eAAkB,iBAClB,gBAAmB,iBACnB,mBAAsB,UACtB,kBAAqB,UACrB,qBAAwB,UACxB,gBAAmB,kBACnB,WAAc,kBACd,YAAe,WACf,QAAW,WACX,IAAO,WACP,YAAe,WACf,aAAgB,WAChB,OAAU,WACV,SAAY,WACZ,MAAS,WACT,iBAAoB,mBACpB,mBAAsB,qBACtB,KAAQ,MACR,eAAkB,kBAGtB5tB,EAAOC,QAAUM,C,kBCn3EjB,MAAMstB,EAAiBxtB,EAAQ,OACzBytB,EAAcztB,EAAQ,OAC5B,IAAI0tB,EAAI1tB,EAAQ,OAChB,MAAM,yBAAE2tB,GAA6B3tB,EAAQ,MACvCE,EAAYF,EAAQ,OAGpB4tB,EAAY,CACdC,QAAS,OACTC,QAAS,QACTC,YAAa,aACbC,QAAS,UACTC,eAAgB,UAyCpB,SAASC,EAAuBvvB,GAC5B,IAAIwvB,EAAiBT,EAAEU,IAAIzvB,EAAK,yBAA0B,CAAC,GAC3D,OAAI+uB,EAAEW,QAAQF,GACH,CAAC,eAELzuB,OAAOD,KAAK0uB,EACvB,CA6cAxuB,EAAOC,QAAU,CACbguB,YACAU,gBA3cJ,SAAyB3vB,EAAK4vB,GAE1B,MAAMrW,EAAcwV,EAAEU,IAAIzvB,EAAK,sBAAwB+uB,EAAEU,IAAIzvB,EAAK,wBAC9D6vB,EAAiBd,EAAEU,IAAIG,EAAK,yBAA0B,MACtDE,EAAoBf,EAAEU,IAAIzvB,EAAK,qCAC/B+vB,EAAkBhB,EAAEU,IAAIzvB,EAAK,sDAC7BgwB,EAAkBjB,EAAEU,IAAIzvB,EAAK,sDAEjC,IAAIiwB,EAAe,CACfC,SAAUnB,EAAEU,IAAIzvB,EAAK,kBACrBmwB,WAAYpB,EAAEU,IAAIzvB,EAAIowB,QAAS,sBAAwB,KAAO,MAC9DC,OAAQtB,EAAEU,IAAIG,EAAK,wBACnBU,OAAQvB,EAAEU,IAAIzvB,EAAK,mBACnBuwB,KAAMxB,EAAEU,IAAIzvB,EAAK,gBACjB0I,QAASqmB,EAAEU,IAAIzvB,EAAK,wBACpBwwB,UAAWzB,EAAEU,IAAIzvB,EAAK,0BACtBywB,QAAS1B,EAAEU,IAAIzvB,EAAK,wBACpB0wB,WAAY3B,EAAEU,IAAIzvB,EAAK,2BACvB2wB,QAAS5B,EAAEU,IAAIzvB,EAAK,wBACpB4wB,SAAU,GACVC,YAAa,GACbC,OAAQ,GACRC,YAAa,GACbC,KAAM,CACFC,uBAAwBlC,EAAEU,IAAIzvB,EAAK,8BAA+B,MAClEkxB,YAAanC,EAAEU,IAAIzvB,EAAK,mBAAoB,MAC5CmxB,aAAcpC,EAAEU,IAAIzvB,EAAK,oBAAqB,OAElDoxB,iBAAkBpxB,EAAIqxB,eAAiB,KACvCC,YAAatxB,EAAIsxB,aAAe,KAChCC,WAAYxC,EAAEU,IAAIzvB,EAAK,qBAAsB,MAC7CwxB,UAAWzC,EAAEU,IAAIzvB,EAAK,qBAAqB,GAC3CyxB,SAAU1C,EAAEU,IAAIzvB,EAAK,oBAAoB,GACzC0xB,aAAc3C,EAAEU,IAAIzvB,EAAK,wBAAwB,GACjDwvB,eAAgBD,EAAuBvvB,GACvC2xB,SAAU5C,EAAEU,IAAIzvB,EAAK,4BACrB4xB,cAAe7C,EAAEU,IAAIzvB,EAAK,qCAC1B6xB,MAAO9C,EAAEU,IAAIzvB,EAAK,6BAClB8xB,aAAc,EACdC,WAAY,CACRC,WAAYjD,EAAEU,IAAIzvB,EAAK,uBAE3BiyB,oBAAqBlD,EAAEU,IAAIzvB,EAAK,qDAAsDgwB,GACtFkC,gBAAiBlD,EAAyBhvB,EAAK+vB,EAAiBC,EAAiBF,EAAmBD,EAAgBtW,GACpH4Y,aAAcpD,EAAEU,IAAIzvB,EAAK,6BACzBoyB,mBAAoBC,KAAKC,UAAUvD,EAAEU,IAAIzvB,EAAK,+CAC9CuyB,cAAexD,EAAEU,IAAIzvB,EAAK,6CAA+C+uB,EAAEU,IAAIzvB,EAAK,6BACpFwyB,UAAWzD,EAAEU,IAAIzvB,EAAK,sBAE1B,IAAIyyB,EAAuB1D,EAAEU,IAAIzvB,EAAK,iCAClC0yB,EAAuB3D,EAAEU,IAAIzvB,EAAK,iCAmBtC,OAjBK+uB,EAAEW,QAAQ+C,KACXxC,EAAawC,qBAAuBA,GAInC1D,EAAEW,QAAQgD,KACXzC,EAAayC,qBAAuBA,GAIpCzC,EAAaQ,UAAY5B,EAAe8D,wBACxC1C,EAAa2C,iBAAmB7D,EAAEU,IAAIzvB,EAAK,kCAAoC+uB,EAAEU,IAAIzvB,EAAK,eAC1FiwB,EAAaY,YAAc,sBACpBZ,EAAaQ,UAAY3B,EAAY+D,SAC5C5C,EAAaQ,QAAU3B,EAAY3kB,0BAGhC8lB,CACX,EAsYI6C,oBAlYJ,SAA6BC,GACzB,IAAI,OACAC,EAAM,OACNC,EAAM,SACN/C,EAAQ,OACRI,EAAM,KACNC,EAAI,QACJ7nB,EAAO,UACP8nB,EAAS,QACTC,EAAO,WACPC,EAAU,QACVC,EAAO,YACPuC,EAAW,YACXrC,EAAW,OACXC,EAAM,YACNC,EAAW,OACXV,EAAM,WACNF,EAAU,SACVS,EAAQ,KACRI,EAAI,iBACJI,EAAgB,YAChBE,EAAW,WACXC,EAAU,UACVC,EAAS,SACTC,EAAQ,aACRK,EAAY,qBACZW,EAAoB,KACpBU,EAAI,KACJC,EAAI,KACJC,EAAI,UACJC,EAAS,OACTC,EAAM,iBACNC,EAAgB,KAChBhI,EAAI,OACJiI,EAAM,OACNC,EAAM,MACNC,EAAK,KACLC,EAAI,KACJC,EAAI,eACJrE,EAAc,SACdmC,EAAQ,MACRE,EAAK,cACLD,EAAa,mBACbkC,EAAkB,kBAClBC,EAAiB,aACjB5B,EAAY,mBACZC,EAAkB,cAClBG,EAAa,UACbrM,EAAS,WACT8N,EAAU,UACVC,EAAS,aACTC,GAAY,oBACZjC,GAAmB,gBACnBC,GAAe,UACfM,IACAO,EACJ,IAKIoB,GALAC,GAAiB7yB,EAAUiK,UAAUC,wBACrCuoB,IACAI,IAAkB,IAAMrzB,OAAOD,KAAKkzB,GAAYK,KAAK,MAIrDJ,IACAE,GAAepzB,OAAOD,KAAKmzB,GAAWI,KAAK,MAI/C,IAAIC,GAAW5rB,EAEfkoB,EA9LJ,SAAyBA,EAAU2D,GAE/B,OAAIxF,EAAEyF,SAASD,EAAQ7D,aAAe6D,EAAQ7D,WAAW+D,SAAS3F,EAAYpT,UAAUG,kBAC7EkT,EAAEU,IAAIX,EAAa,uBAAuByF,EAAQrE,YAAYU,MAGlEA,CACX,CAuLe8D,CAAgB9D,EAAU,CAAEF,aAAYR,aAEnD,MAAM,YAAEyE,GAAW,MAAEC,GAAK,WAAEC,IAvLhC,SAA6B9B,GACzB,MAAM,iBAAEH,EAAgB,mBAAEkC,GAAuB/B,EAIjD,OAAIH,GAAoBA,EAAiBmC,QAC9B,CACHF,YAAY,EACZF,YAAa/B,EAAiBmC,QAAQtd,KACtCmd,OAAO,GAIXE,EACO,CACHH,YAAaG,EACbF,OAAO,GAIR,CACHA,OAAO,EAGf,CA+J+CI,CAAoBjC,GAE/DG,EAAcH,EAAKpC,QAAU7B,EAAYjoB,oBAAsBooB,EAAUI,QAIzE,IAAI4F,GAAmB,CAEnBhC,SACAD,SAGAvC,QAAS,MAGTyE,UAAW3zB,EAAU+P,UAIrB6hB,OAIAC,OAIAC,OAIAU,oBAIAoB,KAAMjF,EAINkF,KAAM,CACFnG,EAAUC,QACVD,EAAUE,QACVF,EAAUG,YACVyB,EACAD,GACFyD,KAAK,KAIP/I,KAAM,CACF2D,EAAUC,QACVD,EAAUE,QACVF,EAAUG,YACVyB,EACAD,EACA0D,GACAxD,EACAC,GACFsD,KAAK,KAIPgB,KAAM,CACF3sB,EACA+nB,EACAC,GACF2D,KAAK,KAIPiB,KAAM,CACFrG,EAAUE,QACVF,EAAUG,YACV8D,EACAxC,GACF2D,KAAK,KAIPkB,KAAM7sB,EAEN8nB,UAAWA,EAIXgF,KAAMvG,EAAUK,eAIhBuE,KAAMA,GAAQ1D,EAIdyD,KAAMA,GAAQ5C,GAAQA,EAAKC,wBAA0B,KAIrDwE,KAAMzE,GAAQA,EAAKE,aAAe,KAIlCwE,KAAM1E,GAAQA,EAAKG,cAAgB,KAInCwE,KAAMvE,EAINwE,KAAMvF,EAINwF,EAAG,KAIHC,MAAOxE,GAAeA,EAAYwE,OAAS,KAI3CC,GAAIzE,GAAeA,EAAYyE,IAAM,KAIrCC,GAAI1E,GAAeA,EAAY0E,IAAM,KAIrCC,GAAI3E,GAAeA,EAAY2E,IAAM,KAIrCC,GAAI5E,GAAeA,EAAY4E,IAAM,KAQrC3F,KAAMA,GAAQD,EAId6F,KAAM1F,EAIN2F,IAAK3F,EAIL4F,KAAM3F,EAIN4F,KAAM3F,EAIN4F,KAAMhF,EAINiF,KAAM/E,EAINgF,KAAMjF,EAINkF,KAAM5E,EAQN6E,KAAM9B,GAAa7D,EAAKC,uBAAyB,GAIjD2F,aAAcjC,IAAe,GAI7BjB,OAAQA,IAAWkB,GAAQ9F,EAAY+H,IAAM/H,EAAYgI,IAEzDtL,KAAMA,EAINuL,WAAYpC,GAAcrB,GAAaxE,EAAYjoB,oBAAsB,GAIzEmwB,kBAAmBxD,EAInByD,QAAS1D,EAIT2D,eAAgB1H,GAAkBA,EAAe6E,KAAK,KAItDZ,OAAQA,IAAWzC,GAAQA,EAAKC,uBAAyBnC,EAAYqI,oBAAsB,IAI3FxD,QAIAG,qBAGAsD,MAAQzF,IAAa7C,EAAYzU,UAAUoM,YAAckL,IAAa7C,EAAYzU,UAAUmM,YAAe,kBAAsBoL,GAAiBC,EAAS,mBAAqB,GAEhLwF,KAAOzF,GAAiBC,EAAS,sBAAwB,0BAEzDyF,KAAMzF,EAAQ,qBAAuB,GAErCM,eAEAoF,oBAAqBnF,EAErBoF,eAAgBjF,EAEhB2B,gBAEAuD,WAAYvR,EAEZwR,YAAatD,GAEbuD,WAAYxD,GAEZlC,oBAAqBA,GACrBC,gBAAiBA,MACd8B,KACAxB,IAWP,OARIC,GACA1D,EAAE6I,KAAKnF,GAAsB,SAAU/a,EAAOmgB,GAEtCngB,GAASmgB,IAAQ5C,GAAiB4C,KAClC5C,GAAiB4C,GAAOngB,EAEhC,IAEGud,EACX,EA2DI6C,cAnCkB,WAA8C,IAA7CC,EAAQC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGG,EAAYH,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAEE,EAAWJ,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAC3D,IAAKC,IAAiBC,EAClB,MAAM,IAAI73B,MAAM,kEAQpB,MAAqC,iBAA1BwuB,EAAEU,IAAIsI,EAAU,OACnBA,EAAShC,GAAGsC,MAAM,KAAK5D,SAAS0D,GACzBJ,EAIXA,EAAShC,IAAMgC,EAAS/B,GACjB,IACA+B,EACHhC,GAAI,GAAGgC,EAAShC,MAAMoC,IACtBnC,GAAI,GAAG+B,EAAS/B,MAAMoC,KAIvB,IACAL,EACHhC,GAAIoC,EACJnC,GAAIoC,EAEZ,E,+BCrgBA,IAAI92B,EAAYD,EAAQ,MACpBi3B,EAAWj3B,EAAQ,OAGvB,SAASk3B,EAAQv4B,GAEb,IAAIw4B,EAAO,eAAeF,EAASG,oBAYnC,OATIn3B,EAAUo3B,YACVF,EAAO,iCAEAl3B,EAAUq3B,aAAe34B,GAAOA,EAAI44B,SAAW54B,EAAI44B,QAAQJ,OAClEA,EAAOx4B,EAAI44B,QAAQJ,QACNA,EAAKK,MAAM,UACpBL,EAAO,WAAaA,GAGrBA,CACX,CAOAx3B,EAAOC,QAAU,CACbs3B,QAASA,EACTO,eAPJ,SAAwB94B,EAAK4vB,GACzB,IAAI4I,EAAOD,EAAQv4B,GACnB,OAAO4vB,EAAImJ,SAASP,EACxB,E,+DCzBA,MAAMj3B,EAAY,CACdy3B,yBAA0B,sBAC1BC,YAAa,kBACbrR,gBAAiB,kBACjBsR,mBAAoB,CAAC,mBAAoB,YAAa,cACtDC,iBAAkB,CACd,CACIv2B,aAAc,oBAGtBw2B,aAAc,CACVC,IAAK,MACLC,MAAO,SAEXC,iBAAkB,mBAClBC,UAAW,YACXC,WAAY,a,YCsBhBz4B,EAAOC,QArCW,CACd+3B,yBAA0B,sBAC1BU,eAAgB,iBAChB/G,uBAAwB,iBACxBgH,kCAAmC,oCACnCC,oBAAqB,gBACrBC,uBAAwB,mBACxBC,sBAAuB,sBACvBC,0BAA2B,eAC3BC,sCAAuC,4BACvCC,mCAAoC,yBACpCC,0BAA2B,qBAC3BC,yBAA0B,2BAC1BC,uBAAwB,yBACxBC,mBAAoB,eACpBC,YAAa,SACbC,YAAa,SACb5nB,kBAAmB,eAEnB6nB,sBAAuB,CACnBljB,UAAW,eAEfmjB,6BAA8B,CAC1B,qCAEJC,yBAA0B,qBAC1BC,uBAAwB,CACpBl5B,8BAA+B,gCAC/BD,iBAAkB,oBAEtBo5B,sBAAuB,CACnBn5B,8BAA+B,eAC/BD,iBAAkB,mBAEtBq5B,4BAA6B,Y,iBCnCjC,MAAM,QAAEC,GAAYz5B,EAAQ,OACxB0tB,EAAI1tB,EAAQ,OACZ4tB,EAAY5tB,EAAQ,OACpB05B,EAAe15B,EAAQ,OACvB25B,EAAM35B,EAAQ,MACdD,EAASC,EAAQ,OACjB45B,EAAkB55B,EAAQ,OAC1B65B,EAAW75B,EAAQ,OACnB85B,EAAiB95B,EAAQ,QACzB,kBAAE+5B,EAAiB,iBAAEC,GAAqBh6B,EAAQ,QAClD,eAAEi6B,EAAc,uBAAEC,EAAsB,0BAAEC,GAA8Bn6B,EAAQ,OAmLpF,SAASo6B,EAAgBz7B,GACrB,MAAMywB,EAAU1B,EAAEU,IAAIzvB,EAAK,wBACvB0I,EAAUqmB,EAAEU,IAAIzvB,EAAK,wBACrB07B,EAAqB,QAAZjL,GAAmC,cAAZA,EAEhCkL,EAAoB5M,EAAEU,IAAIzvB,EAAK,yBAAwC,YAAZywB,GAAuC,OAAZ/nB,EAE1F,OAAOqmB,EAAE0F,SAASxF,EAAU2M,qBAAsB7M,EAAEU,IAAIzvB,EAAK,uBAAyB07B,IAAUC,CACpG,CAaA,SAASE,EAA6B77B,EAAK87B,EAASC,EAAUC,GAC1D,MAAMC,EAAcR,EAAgBz7B,GAChCk8B,GAAiBnN,EAAEW,QAAQX,EAAEU,IAAIqM,EAAS,mBAAqB/M,EAAEU,IAAIqM,EAAS,QAC9EK,EAAUJ,GAAYhN,EAAEU,IAAIqM,EAAS,CAAC,OAAQ,QAASC,IACvDK,EAAWrN,EAAEU,IAAIuM,EAAS,YAE9B,MAAiB,QAAbI,EACOD,EACa,QAAbC,EACAF,EAGHD,GAAeC,GAAkBC,CAC7C,CAEA,MAQME,EAA0BC,GAAWA,GAAUA,EAAOC,eAAe,gBAAkBD,EAAOC,eAAe,eAAiBxN,EAAEU,IAAI6M,EAAOE,WAAY,UAAY,EAGnKC,EAAwBA,CAACC,EAASF,KACpCA,EAAWG,SAAQC,IACXF,GAAWE,GAAYA,EAASL,eAAe,SAAWK,EAASL,eAAe,UAClFxN,EAAE8N,IAAIH,EAASE,EAASE,KAAMF,EAASllB,MAC3C,GACF,EAIN,SAASqlB,EAA4B/8B,EAAK87B,EAASE,GAE/C,IAAKA,IAAYgB,MAAMlC,QAAQkB,GAC3B,OAGJ,MAAMC,EAAcR,EAAgBz7B,GAEpCg8B,EAAQW,SAAQL,IACZ,GAAID,EAAuBC,GAAS,CAEhC,IAAI,SAAEP,EAAQ,YAAEkB,EAAW,WAAET,GAAeF,EAC5C,MAAMY,EAAerB,EAA6B77B,EAAK87B,EAASC,GAC5DoB,EAAWD,GAAgBA,EAAaC,SAG5C,GAAIlB,GAAekB,GAAYA,EAASF,GACpCR,EAAsBU,EAASF,GAAcT,QAE7C,IAAK,IAAI3E,KAAOsF,EACRpO,EAAEU,IAAI0N,EAAStF,GAAM,qBAAuBoF,GAC5CR,EAAsBU,EAAStF,GAAM2E,EAIrD,IAER,CAyBA,MAAMY,EAAcA,CAACC,EAASC,IAC1Bv8B,OAAOD,KAAKw8B,GAAKp7B,QACb,CAACC,EAAK01B,KAAQ,IACP11B,EACE,CAACk7B,EAAQxF,IAAQA,GAAMyF,EAAIzF,MAEpC,CAAC,GAmCT,SAAS0F,EAAWv9B,EAAK87B,EAAS0B,EAAaC,GAC3C,IAAI1O,EAAEW,QAAQ8N,IAAiBC,EAA/B,CAkBA,GAbA1O,EAAE8N,IAAIf,EAAQ4B,OAAQ,CAACD,EAAW,SAAU,CAAC,GAG7C18B,OAAOD,KAAK08B,GAAab,SAAQ9E,IAC7B,GAAIA,EAAI8F,WAAW,oBAAqB,CACpC,MAAMC,EAAiB/F,EAAIQ,MAAM,KAAK,GACtCtJ,EAAE8N,IAAIW,EAAa,CAAC,kBAAmBI,GAAiBJ,EAAY3F,IAGpEiE,EAAQ4B,OAAOD,GAAW/lB,MAAMmmB,gBAAkB5O,EAAU1lB,wBAAwBC,IACxF,MAGCg0B,EAAYM,cAAe,CAC5B,IAAIC,EAAW9O,EAAU+O,SACrBC,EAAUl9B,OAAOm9B,OAAO,CAAC,EAAGV,GAC3BA,EAAYzkB,eACbklB,EAAQllB,aAAe/Y,EAAIm+B,SAASz1B,SAExC,IAAI01B,EAAgBhB,EAAYnO,EAAU1W,qBAAsB0lB,GAEhE,GAAIT,EAAYxkB,gBAAiB,CAC7B+kB,EAAW9O,EAAUoP,2BACrBD,EAAgBhB,EAAYnO,EAAU1W,qBAAsB0lB,GAC5D,IAAIK,EAAuBlB,EAAYnO,EAAU1W,qBAAsB0lB,EAAQjlB,iBAC/EolB,EAAcG,eAAiBD,CACnC,CACA,IAKIE,EALoB,IAAInD,EAAiB,CACzCoD,KAAMV,EACNW,GAAIzP,EAAU0P,SAGyBC,UAAUR,GACjDS,EAAqBzB,EAAYnO,EAAU9V,uBAAwBqlB,GACvEz9B,OAAOm9B,OAAOpC,EAAQ4B,OAAOD,GAAW/lB,MAAOmnB,EACnD,CAkBA,GAAkB,2BAAdpB,EAAwC,CACxC,IAAIqB,EAAiBhD,EAAQ4B,OAAOD,GAAW/lB,MAC/ConB,EAAehB,cAAgBN,EAE/BsB,EAAehB,cAActlB,eAAiBsmB,EAAehB,cAActlB,gBAAkBsmB,EAAe1lB,MAC5GrY,OAAOD,KAAKg+B,EAAehB,eAAenB,SAAQ9E,IAC1CA,EAAI8F,WAAW,4BACRmB,EAAehB,cAAcjG,EACxC,GAER,CAUA,GARA92B,OAAOm9B,OAAOpC,EAAQ4B,OAAOD,GAAW/lB,MAAO8lB,EAAYxkB,iBAEtDwkB,EAAYzkB,eACb+iB,EAAQ4B,OAAOD,GAAW/lB,MAAMqB,aAAe/Y,EAAIm+B,SAASz1B,QAC1C,2BAAd+0B,IACA3B,EAAQ4B,OAAOD,GAAW/lB,MAAMomB,cAAc/kB,aAAe/Y,EAAIm+B,SAASz1B,UAG9Eq2B,EAAe/+B,GAAM,CACrB,IAAIg/B,EAAgB7D,EAAeG,eAAet7B,EAAIi/B,WAAW5O,QACjE,MAAM7W,EAAQ2hB,EAAeK,0BAA0BwD,EAAe,UAAUE,OAAOnQ,EAAEU,IAAIzvB,EAAK,2BAClG87B,EAAQ4B,OAAOD,GAAW/lB,MAAM8B,MAAQA,EACtB,2BAAdikB,IACA3B,EAAQ4B,OAAOD,GAAW/lB,MAAMomB,cAActkB,MAAQA,EAE9D,CAnFA,CAoFJ,CAMA,SAAS2lB,EAAgBlB,GACrB,MAAM1kB,EAAc0kB,GAAWA,EAAQllB,aAEvC,IAAKQ,EACD,OAAO,EAGX,MAAMylB,EAAgB1D,EAAe,SACjC8D,EAAmB7D,EAAuByD,EAAezlB,GAE7D,IAAIqW,EAAMwN,EAAYnO,EAAU1W,qBAAsB0lB,GAClDoB,EAAaD,EAAiBE,SAAS1P,GAE3C,OAAOb,EAAEW,QAAQ2P,EACrB,CAyBA,SAASE,EAAgBv/B,EAAKi+B,GAG1B,OADAA,EAAQllB,aAAegW,EAAEU,IAAIwO,EAAS,eAAgBlP,EAAEU,IAAIzvB,EAAK,iBAAkB,OAC5Em/B,EAAgBlB,EAE3B,CA2GA,MA2CMuB,EAAuCx/B,IACzC,MAAMy/B,EAAoB1Q,EAAEU,IAAIzvB,EAAK,kCAC/BmyB,EAAepD,EAAEU,IAAIzvB,EAAK,6BAChC,MAAO,CACHy/B,kBAAmB1Q,EAAEyF,SAASiL,GAAqBA,EAAkBpH,MAAM,KAAKqH,QAAOx/B,GAAKA,IAAK,GACjGiyB,aAAcpD,EAAEyF,SAASrC,GAAgBA,EAAakG,MAAM,KAAKqH,QAAOx/B,GAAKA,IAAK,GACrF,EAiFL,SAASy/B,EAAcC,EAAQloB,GAC3B,OAAO3W,OAAOD,KAAK8+B,GAAQC,MAAKhI,GAAO+H,EAAO/H,KAASngB,GAC3D,CAKA,MAyIMooB,EAAe,SAACC,GAA6C,IAAlCC,EAAehI,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGiI,EAAIjI,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAEzD,IAAK+H,EACD,OAAO,EAEX,MAAMG,EAAiBH,EAAUI,WAE3BC,EAAqBC,OAAOL,IAAoB,EAEtD,IAAIM,EAAeD,OAAOH,EAAet/B,OAAO,KAAO,EAEvD,MAAM2/B,EAAUF,OAAOJ,IAAS,EAShC,OADkBK,EAAeC,EAAW,GAAMD,EAAeC,EAAU,KAAO,KAAOD,EAAeC,GAAW,KAC/FH,CACxB,EAEMI,EAAqBxgC,IACvB,MAAMygC,EAAkB1R,EAAEU,IAAIzvB,EAAK,iBAAkB,IAC/C0gC,EAAoB1gC,EAAI2gC,IAAIC,OAAOnR,IAAI,qBAC7C,OAAQiR,GAAqBA,EAAkBD,EAAgB,EA2B7DI,EAAiBC,IACnB,GAAI/R,EAAEW,QAAQoR,GACV,OAAO,EAIX,OADY,IAAIC,OADD,gBAEFC,KAAKF,EAAO,EA8DvBG,EAAwBjhC,IAC1B,MAAMkhC,EAAgB,IACfnS,EAAEU,IAAIzvB,EAAK,UAOlB,OALA+uB,EAAE4N,QAAQ5N,EAAEU,IAAIzvB,EAAK,UAAU,CAACmhC,EAAYC,KACpCpE,MAAMlC,QAAQqG,IACdpS,EAAE8N,IAAIqE,EAAeE,EAAUD,EAAW,GAC9C,IAEGD,CAAa,EAuBlBG,EAAkBrhC,IACpB,MAAMshC,EAAgBvS,EAAEU,IAAIzvB,EAAK,sBAC7BuhC,EAAsBvhC,EAAI2gC,IAAIC,OAAOnR,IAAI,mCACzC+R,EAA2BzS,EAAEU,IAAI8R,EAAqB,OAAQ,CAAC,GAC/DE,EAAW1S,EAAEU,IAAIR,EAAU9Q,wCAAyC4Q,EAAEU,IAAIzvB,EAAK,wBAAyB,oCACxG0hC,EAAkB3S,EAAEU,IAAI+R,EAA0BC,EAAU,GAC5DE,EAAqB7B,EAAawB,EAAeI,KAAoB,EAEzE,OADA1hC,EAAI4hC,IAAI,OAAQ,6CAA8CL,GACvDI,CAAiB,EAkBtBE,EAAkBA,CAACC,EAAqBrB,IACnC1/B,OAAOD,KAAKghC,GAAqBjC,MAAKhI,GAAOiK,EAAoBjK,GAAKpD,SAASgM,KA6FpFsB,EAAyB/hC,IAC3B,MAAMy/B,EAAoB1Q,EAAEU,IAAIzvB,EAAK,kCACrC,QAAKy/B,GAGEA,EAAkBhL,SAASxF,EAAUpH,kBAAkB,EA4DlE,MAAMma,EAAcA,CAAChiC,EAAK8vB,EAAmBmS,KACzC,IAAIC,EAAc,WAClBliC,EAAI4hC,IAAI,OAAQ,6BAA8BK,GAC9CjiC,EAAI4hC,IAAI,OAAQ,iCAAkC9R,GAElD,IAAK,IAAIqS,EAAI,EAAGA,EAAIrS,EAAkBmI,OAAQkK,IAAK,CAC/C,IAAIC,EAActS,EAAkBqS,GACpC,GAAIC,EAAYrpB,eAAiBkpB,GAA2C,eAA1BG,EAAYC,UAA4B,CACtFH,EAAc,aACd,KACJ,CACJ,CAEA,OADAliC,EAAI4hC,IAAI,OAAQ,2BAA4BM,GACrCA,CAAW,EA8BhBnD,EAAiB/+B,IACnB,IAAKsiC,EAAyBtiC,GAC1B,OAAO,EAEX,MAAM0I,EAAUqmB,EAAEU,IAAIzvB,EAAK,qBAAuB+uB,EAAEU,IAAIzvB,EAAK,mBAAqB+uB,EAAEU,IAAIzvB,EAAK,wBACvFwwB,EAAYzB,EAAEU,IAAIzvB,EAAK,0BAC7B,OAAO0I,IAAYumB,EAAUsT,IAAMtT,EAAUrC,qBAAqB6H,SAASjE,EAAU,EAGnF8R,EAA4BtiC,GACvBA,EAAI2gC,KAAO3gC,EAAI2gC,IAAIC,QAAU5gC,EAAI2gC,IAAIC,OAAOnR,IAAI,cAAgBzvB,EAAI2gC,IAAIC,OAAOnR,IAAI,aAAa+S,0BAiF3GxhC,EAAOC,QAAU,CACbwhC,0BAlmB8BA,CAAC/5B,EAAS2nB,EAAQqS,KAEhD,MAAMC,EAAwB,IAAIC,IAAI3T,EAAUvV,gBAE1CmpB,EAAyB,IAAID,IAAI3T,EAAUtV,iBAIjC,OAAZjR,IACAi6B,EAAsBG,IAAI,kBAC1BD,EAAuBC,IAAI,iBAG/B,MAAM9D,EAAgB1D,EAAejL,GACjC+O,EAAmB7D,EAAuByD,EAAet2B,GAEzDq6B,EAAsBvH,EAA0BwD,EAAe,kBAAmB,GAAI,GAAIt2B,GAC1Fs6B,EAAoBhG,MAAMyB,KAAKkE,GAC/BM,EAAoBjG,MAAMyB,KAAKoE,GAG7BK,EAAkB9D,EAAiB+D,cAAc,CAAC,GACxD,IAAIC,EAAgB,CAAC,EACrBA,EAAcC,OAASH,EACvBE,EAAc5G,WAAa,CAAC,EAE5B,IAAI8G,EAAsB,GACtBC,EAAiB,GACjBC,EAA2B,GAC3BC,EAAqB,IACrB,WAAEjH,EAAU,OAAE6G,GAAWD,EAG7B,GAAInU,EAAUvlB,kCAAkC+qB,SAAS/rB,GAAU,CAC/D,IAAIg7B,EAAuBL,EAAOvjC,KAAI6jC,GAClC,SAASC,EAAQC,GAA0D,IAAzD,MAAEC,EAAK,MAAEpsB,EAAK,SAAEqsB,EAAQ,OAAEC,EAAM,KAAEC,EAAI,cAAEC,GAAeL,EACrE,GAAIC,EACA,OAAOA,EAAMhkC,KAAIqkC,GAAKP,EAASO,KAGnCX,EAAyBY,KAAKH,GAI9B,IAAII,EAAoB1E,EAAc1Q,EAAU1W,qBAAsB0rB,GAOtE,OANAR,EAAmBW,KAAK,CAAEH,KAAMI,EAAmB3sB,MAAOA,EAAOqsB,WAAYA,EAAUC,SAAUA,IACjGV,EAAoBc,KAAKC,GAErBH,GACAX,EAAea,KAAK,CAAE,cAAiBF,EAAe,KAAQG,IAE3DA,CACX,CACOT,CAASD,KAIpBN,EAASK,EAAqB5jC,KAAIwkC,IAC9B,IAAIC,EAAiBD,EAAK5E,QAAOiE,GAAShB,EAAsB6B,IAAIb,IAAS3G,MAAOlC,QAAQ6I,KAC5F,OAAO5U,EAAE0V,QAAQF,EAAe,GAExC,MAEIlB,EAASA,EAAOvjC,KAAI4kC,IAAe,IAAd,MAAEZ,GAAOY,EAe1B,OAd0BZ,EAAMhkC,KAAI6kC,IAAsD,IAArD,KAAEV,EAAI,MAAEvsB,EAAK,SAAEqsB,EAAQ,OAAEC,EAAM,cAAEE,GAAeS,EACjFnB,EAAyBY,KAAKH,GAI9B,IAAII,EAAoB1E,EAAc1Q,EAAU1W,qBAAsB0rB,GAOtE,OANAR,EAAmBW,KAAK,CAAEH,KAAMI,EAAmB3sB,MAAOA,EAAOqsB,WAAYA,EAAUC,SAAUA,IACjGV,EAAoBc,KAAKC,GACrBH,GACAX,EAAea,KAAK,CAAE,cAAiBF,EAAe,KAAQG,IAG3DA,CAAiB,GAEF,IAOlChB,EAASA,EAAOvjC,KAAIwkC,GAAQA,EAAK5E,QAAOiE,GAAQhB,EAAsB6B,IAAIb,OAErEjE,QAAO4E,GAAQA,EAAKrM,SAGzB,IAAI2M,EAAmCtB,EAAoB5D,QAAOmF,GAAO7B,EAAkBvO,SAASoQ,KAEhGC,EAA0BtB,EAAyB9D,QAAOmF,GAAO5B,EAAkBxO,SAASoQ,KAE5FE,EAAmBtB,EAAmB/D,QAAOmF,GAAO7B,EAAkBvO,SAASoQ,EAAIZ,QAEnFe,EAAiBjC,EAAoB7D,OAAO4F,GAKhD,GAAIhK,EAAQ8J,IAAqC9J,EAAQkK,IAAmBlK,EAAQyI,GAChF,IAAK,IAAIpB,EAAI,EAAGA,EAAIyC,EAAiC3M,OAAQkK,IAAK,CAC9D3F,EAAWoI,EAAiCzC,IAAM,CAAE8C,MAAOD,EAAe7C,GAAIzqB,MAAOqtB,EAAiB5C,GAAGzqB,MAAOqsB,SAAUgB,EAAiB5C,GAAG4B,SAAUC,OAAQe,EAAiB5C,GAAG6B,QAEpL,IAAK,IAAIkB,EAAI,EAAGA,EAAI3B,EAAetL,OAAQiN,IAAK,CAC5C,IAAIC,EAAoB5B,EAAe2B,GAAGjB,KAC1CkB,EAAoBlW,EAAU1W,qBAAqBgrB,EAAe2B,GAAGjB,MAGrE,IAAImB,EADiB5J,EAA0BwD,EAAe,wBAAyB,GAAImG,EAAmBz8B,GACnEw2B,OAAOqE,EAAe2B,GAAGhB,eACpEX,EAAe2B,GAAK,IAAK3B,EAAe2B,GAAIE,2BAE5C,IAAIC,EAAe9B,EAAe2B,GAAGE,wBAAwBtlC,KAAI,CAACwlC,EAAM5kC,KAAO,CAC3EA,GAAI6iC,EAAe2B,GAAGhB,cAAcxjC,GACpCukC,MAAOK,MAGP/B,EAAe2B,GAAGjB,OAASW,EAAiCzC,KAC5D3F,EAAWoI,EAAiCzC,IAAM,IAAK3F,EAAWoI,EAAiCzC,IAAKoD,KAAMF,GAEtH,CACJ,CAUJ,OALItW,EAAEU,IAAI+M,EAAY,uBAClBA,EAAW7jB,aAAa4sB,KAAO/I,EAAW7jB,aAAa4sB,KAAK7F,QAAOlmB,MAC5DuV,EAAEW,QAAQgT,IAASA,EAAKjO,SAAS,WAAaxF,EAAUuW,eAAe/Q,SAASjb,EAAM9Y,QAG1F,CACH2iC,SACA7G,aACH,EA4dDiJ,eApyCJ,SAAwB1S,GACpB,IAAI2S,EAAY,CAAC,EACjB,GAAK3S,EAUL,OAPAhE,EAAE4W,MAAM5S,GAAM,CAACrb,EAAOmgB,KAEd6N,EAAU7N,GADO,iBAAVngB,EACUA,EAAMkuB,OAENluB,CACrB,IAEGguB,CACX,EAwxCIG,wBAlwCJ,SAAiC9S,GAC7B,IAAI2S,EAAY,CAAC,EAEjB,GAAK3S,EAgBL,OAZAhE,EAAE4W,MAAM5S,GAAM,CAACrb,EAAOmgB,KAKd6N,EAAU7N,GAJO,iBAAVngB,EAIUA,EAAMouB,QAAQ,eAAgB,IAI9BpuB,CACrB,IAEGguB,CACX,EA+uCIjK,kBACAsK,WA7pCJ,SAAoBC,GAChB,IAAIC,EACAC,GAAU,EAEd,GAAIjX,EAAU/kB,iBAAiBuqB,SAASuR,GACpC,OAAO,EAMX,KAHAA,EAlEoBG,KACpB,IAAIC,EAAcD,EACdhE,EAAI,EACR,GAAIiE,GAAsC,iBAAhBA,EAA0B,CAEhD,EAAG,CACC,IAGIA,EAAcC,mBAAmBD,EACrC,CAAE,MAAOE,GAEL,MACJ,CAEAnE,GACJ,OACOiE,EAAYG,QAAQ,MAAQ,GAAKpE,EAAI,GAI5C,GAAIiE,EAAYG,QAAQ,MAAQ,EAE5B,OAGJ,OAAOH,CACX,CACM,EAsCeI,CAAeR,IAIhC,OAAOE,EAGX,IAAIO,EAAYzL,EAAI0L,MAAMV,GACtBW,EAAU5X,EAAEU,IAAIgX,EAAW,QAM/B,OAHAR,EAAwBlX,EAAEU,IAAIgX,EAAW,YAGpCR,GA/CLW,GAF4BA,EAsDKX,GApDD5N,MAAM,KAAKz3B,OAAO,GAAGyzB,KAAK,KAoD1D6R,EAjDIjX,EAAU4X,cAAcN,QAAQK,IAAmB,EAoDnDV,GAAWS,IACXT,GA7CqBS,KACzB,IAKI,OAAOA,EAAQ9N,MAAM,qBACzB,CAAE,MAAOyN,GAGL,OAAO,CACX,GAkCeQ,CAAoBH,IAG5BT,GAXIA,EAlDiBU,KA8DhC,EA2nCI/K,+BACAkL,eAtlCmBA,CAAC/mC,EAAK+yB,EAAMkK,IAC/BxB,EAAgBz7B,GACZ+uB,EAAEU,IAAIsD,EAAM,CAAC,OAAQ,WAAYkK,IACjChC,EAAgBxL,IAAIsD,EAAKiU,KAAM/J,GAolCnCgK,kBA3hCJ,SAA2BjnC,EAAK87B,EAASC,EAAUkB,GAC/C,MAAMhB,EAAcR,EAAgBz7B,GAChCk9B,EAAerB,EAA6B77B,EAAK87B,EAASC,EAAU,CAAEK,SAAU,QACpF,IAAI8K,EAAenY,EAAEU,IAAIyN,EAAc,YAEnCjB,GAAelN,EAAE+L,QAAQoM,IAAiBA,EAAaX,QAAQtJ,IAAgB,EAC/EiK,EAAaC,OAAOD,EAAaX,QAAQtJ,GAAc,GAEvDhC,EAAgBmM,OAAOlK,EAAcD,EAE7C,EAkhCIF,8BACAsK,uBAviCJ,SAAgCrnC,EAAK87B,EAASC,EAAUkB,GACpDF,EAA4B/8B,EAAK87B,EAAS,CAAC,CACvCC,WACAkB,cACAT,WAAY,CAAC,CAAEM,KAAM,uBAAwBplB,OAAO,MAE5D,EAkiCI6lB,aACA+J,aA/1BJ,SAAsBtnC,EAAK87B,GACvB,MAUMyL,EAVe,CACjB,cACA,kBACA,0BACA,iBACA,yBACA,qBAI2BrlC,QAAO,CAACC,EAAKqlC,KAAQ,IAC7CrlC,EAAK,CAACqlC,GAAMzY,EAAEU,IAAIqM,EAAS,CAAC,SAAU0L,EAAK,aAC9C,CAAC,GAcL,IAAIC,EACAC,EACAC,EAdJ5mC,OAAOD,KAAKymC,GACP7H,QAAOkI,IAAgB7Y,EAAEW,QAAQ6X,EAAUK,MAC3CjL,SAAQiL,GACLrK,EAAWv9B,EAAK87B,EAASyL,EAAUK,GAAcA,KAInDL,EAAUM,aAAgBtI,EAAgBv/B,EAAKunC,EAAUM,eAAiBN,EAAUO,iBACtFvK,EAAWv9B,EAAK87B,EAASyL,EAAUO,gBAAiB,eAexD,IACIL,GACIpV,KAAKqU,MAAM3X,EAAEU,IAAIqM,EAAS,2CAA4C,IACtEzJ,KAAKqU,MAAM3X,EAAEU,IAAIqM,EAAS,2DAA4D,MACpF/M,EAAEU,IAAIzvB,EAAK,kCAAkC,EACvD,CAAE,MAAO+nC,GAELN,GAAkC,CACtC,CACA,IACIC,EAAwDrV,KAAKqU,MACzD3X,EAAEU,IAAIqM,EAAS,sEAEvB,CAAE,MAAOiM,GACLL,GAAwD,CAC5D,CACA,IACIC,EAAwDtV,KAAKqU,MACzD3X,EAAEU,IAAIqM,EAAS,sEAEvB,CAAE,MAAOiM,GACLJ,GAAwD,CAC5D,CAMIF,IACIF,EAAUO,gBACVvK,EAAWv9B,EAAK87B,EAASyL,EAAUO,gBAAiB,eAEpDvK,EAAWv9B,EAAK87B,EAASyL,EAAUM,YAAa,oBAGpDF,GACApK,EAAWv9B,EAAK87B,EAASyL,EAAUO,gBAAiB,0BAEpDJ,GACAnK,EAAWv9B,EAAK87B,EAASyL,EAAUO,gBAAiB,0BAE5D,EAixBIE,uBA7wBJ,SAAgCC,GAC5B,MAAMC,EAAa,IAAIC,KAAKF,GAQ5B,OANAC,EAAWE,QAAQF,EAAWG,UAA6C,GAAjCH,EAAWI,oBAA2B,KACpE,CACRC,IAAKC,SAASN,EAAWO,WACzBC,MAAOF,SAASN,EAAWS,YAC3BC,KAAMJ,SAASN,EAAWW,eAGlC,EAowBIC,uBAxvB2BC,GAC3B,CAACA,EAAEH,KAAMvI,OAAO0I,EAAEL,OAAS,EAAGK,EAAER,KAC3BzoC,IAAIkpC,QACJlpC,KAAIolC,GAAKA,EAAE+D,SAAS,EAAG,OACvB5U,KAAK,KAqvBV6U,6BAnvBkClpC,IAClC,MAAMmpC,EAAgBnpC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUma,gBAC7CC,EAAkBF,GAAiBA,EAAcxgC,UAAY,CAAC,EAC9D2gC,EAAkBH,GAAiBA,EAAcG,iBAAmB,CAAC,EACrE5gC,EAAUqmB,EAAEU,IAAIzvB,EAAK,oBAU3B,OATM0I,KAAW2gC,IAGT3gC,KAAWtH,EAAOmoC,KAAO7gC,KAAWtH,EAAO,OAC3CioC,EAAgB3gC,GAAW4gC,EAAgBvhC,IACpCW,KAAWtH,EAAOoH,KAAOE,KAAWtH,EAAOooC,WAClDH,EAAgB3gC,GAAW4gC,EAAgB9gC,MAG5C6gC,CAAe,EAsuBtBI,qBAzvCJ,SAA8BC,GAC1B,IACI,MAAMC,EAAe3O,EAAI0L,MAAMgD,GAC/B,OAAOC,GAA0C,WAA1BA,EAAaC,QACxC,CAAE,MAAOtpC,GACL,OAAO,CACX,CACJ,EAmvCIupC,oBAjvCJ,SAA6B7pC,EAAK0pC,EAAcI,GAC5C,IACI,MAAMH,EAAe3O,EAAI0L,MAAMgD,GAEzBK,EAA6BL,GADjB3a,EAAEU,IAAIka,EAAc,SAAW,IAAM,KACOG,EAC9D/a,EAAE8N,IAAI78B,EAAK,wCAAyC+pC,GACpDhb,EAAE8N,IAAI78B,EAAK,oCAAqC+pC,GAEhD/pC,EAAI4hC,IAAI,OAAQ,kCAAmCmI,EACvD,CAAE,MAAOzpC,GACL,OAAO,CACX,CACJ,EAsuCI0pC,gCAnsBqChqC,IAErC,MAAMmpC,EAAgBnpC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUma,gBAI7Ca,EAAmC,IAHHd,GAAiBA,EAAce,sBAAwB,CAAC,IAM1F/L,UAAU,QACNz1B,GACA,CAAC,GACL1I,EAUJ,OALKiqC,EAAiCvhC,KAAatH,EAAOmoC,IAAI7gC,KAAYtH,EAAO,OAAOsH,KAEpFuhC,EAAiCvhC,GAAWuhC,EAAiCliC,IAG1EkiC,CAAgC,EA8qBvCE,gBA3qBoB,SACpBzhC,EACA+nB,GAEC,IADD2Z,EAAQpS,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAEZ,MAAM,eACFqS,GAAiB,EAAK,uBACtBC,GAAyB,EAAK,mBAC9BC,GAAqB,GACrBH,EACJ,OAAIG,EACOtb,EAAUhsB,uBAGjBwtB,IAAYxB,EAAUub,KACfvb,EAAUtsB,cAGjB8tB,IAAYxB,EAAU4D,OACf5D,EAAUlsB,gBAGjB0tB,IAAYsK,EAAax5B,UAAU03B,YAC5B8B,EAAax5B,UAAU43B,iBAG9B1I,IAAYxB,EAAUpH,kBACfoH,EAAU7rB,+BAGjBinC,GAAkBC,EACXrb,EAAUhsB,uBAGjBgsB,EAAUzrB,wBAAwBixB,SAAS/rB,GACpCumB,EAAUjsB,yBAIjBisB,EAAU3rB,mDAAmDmxB,SAAS/rB,GAC/DumB,EAAU9rB,2BAGjB8rB,EAAU1rB,wBAAwBkxB,SAAS/rB,GACpCumB,EAAUnsB,8BADrB,CAGJ,EA8nBIq8B,kBACAW,eACAU,oBACAiK,yBAld8BzqC,IAC9B,MAAMygC,EAAkB1R,EAAEU,IAAIzvB,EAAK,iBAAkB,IAC/C0qC,EAA8B1qC,EAAI2gC,IAAIC,OAAOnR,IAAI,+BACvD,OAAQib,GAA+BA,EAA4BjK,EAAgB,EAgdnFkK,aA7ckBC,IAClB,GAAI7b,EAAEW,QAAQkb,GACV,OAAO,EAIX,OADY,IAAI7J,OADC,eAEJC,KAAK4J,EAAI,EAwctBC,YAnbiBC,IAIjB,IAAKjK,EAAciK,IAA+B,IAAnBA,EAAQ7S,OACnC,OAAO,EAGX,IAAI2Q,EAAOJ,SAASsC,EAAQC,UAAU,EAAG,IACrCrC,EAAQF,SAASsC,EAAQC,UAAU,EAAG,IACtCC,EAAOxC,SAASsC,EAAQC,UAAU,EAAG,IAGzC,QAAIrC,EAAQ,GAAKA,EAAQ,QAKpBsC,EAAO,GAAOA,EAjBC,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAiB3BtC,EAAQ,MAKhC,IAAVA,GAAwB,KAATsC,GAEPpC,EAAO,GAAM,GAEd,EAyZXqC,eAtcoBL,IACpB,GAAI7b,EAAEW,QAAQkb,GACV,OAAO,EAIX,OADY,IAAI7J,OADI,kBAEPC,KAAK4J,EAAI,EAictB/J,gBACAqK,UAvZeC,IACf,IAAIC,GAAiB,EACjBC,EAAkBtc,EAAEU,IAAI0b,EAAU,oEAAqE,IACvGG,EAAWD,EAAgB3L,QAAOhoB,GAASA,EAAMD,OAASwX,EAAUsc,aAIxE,OAHIF,EAAgBpT,QAAUqT,EAASrT,SACnCmT,EAAkBE,EAAS,GAAG7X,SAAWxE,EAAU7X,WAAek0B,EAAS,GAAG7X,SAAWxE,EAAU/b,eAEhGk4B,CAAc,EAiZrBI,sBA7Y0BA,CAAC9iC,EAAS+nB,KACrBxB,EAAUzS,0BAA0B9T,IAAY,IAC5B+rB,SAAShE,GA4Y5CwQ,uBACAwK,aAjXiBA,CAACzrC,EAAK+yB,EAAMgJ,EAAUkB,EAAagI,IACpDlI,EAA4B/8B,EAAK+yB,EAAM,CACnC,CACIgJ,WACAkB,cACAT,WAAY,CACR,CACIM,KAAM,OACNplB,MAAOutB,OA0WvB5D,iBACAqK,iBAh5BJ,SAA0B1rC,GACtB,MAAM2rC,EAAgB5c,EAAEU,IAAIzvB,EAAK,yBAC3B2wB,EAAU5B,EAAEU,IAAIzvB,EAAK,uBAAwB,IAC7C4rC,EAAc7c,EAAEW,QAAQiB,IAAwB,cAAZA,EAE1C,SAAKgb,IAAkB1c,EAAU4c,YAAcrL,EAAkBxgC,IAC3D2rC,IAAkB1c,EAAU4c,aAAiBD,EAIvD,EAu4BIE,uBAp4BJ,SAAgC9rC,GAC5B,MAAM+rC,EAAchd,EAAEU,IAAIzvB,EAAK,uBAAwB,QACvD,OAAI+rC,GAA+B,SAAhBA,CAIvB,EA+3BIjK,oBAnUwBA,CAAC9hC,EAAKygC,KAC9B,MACIuL,EArB8BC,EAACC,EAASlsC,KAC5C,MAAMw4B,EAAO0C,EAAS3C,QAAQv4B,GAC1BmsC,EAAY,GAAG3T,4BACf4T,EAAYrd,EAAEU,IAAIzvB,EAAK,0BAA4BivB,EAAUpoB,oBAC7DwlC,EAAc,IAAItjB,IAAI,GAAGyP,IAAO0T,KAEpC,OAAKE,EAGE,GAAGF,eAAqBI,mBAAmBH,kFAFvCE,EAAYE,IAEoH,EAYjHN,CADVpK,EAAgB5S,EAAU/lB,qCAAsCu3B,IAAoB,GACnCzgC,GACjE,OAAOgsC,CAAmB,EAiU1BQ,kCAlSsCA,CAACC,EAAKC,KAC5C,IAAIC,EAAuB,IAAIvR,EAAkB,CAC7CwR,YAAaH,EAAII,QAAQxc,OAAOgI,MAAM,KAAK,GAC3CyU,MAAO7d,EAAU8d,sBAErB,MACMC,EAAc,CAEhB,eAHeje,EAAEU,IAAIgd,EAAK,eAAeC,WAGZ5G,QAAQ,MAAO,IAC5C,YAAe/W,EAAEU,IAAIgd,EAAK,eAAeC,qBAG7C,OAAOC,EAAqBM,OAAOD,EAAY,EAuR/CnL,kBACAqL,aA1TkBxkC,IAClB,IAAIykC,EAMJ,OALIle,EAAU3rB,mDAAmDmxB,SAAS/rB,GACtEykC,EAAcle,EAAUme,kCACjBne,EAAU1rB,wBAAwBkxB,SAAS/rB,KAClDykC,EAAcle,EAAUoe,mBAErBF,CAAW,EAoTlBG,8BA/SmCttC,IACnC,MAAMuZ,EAAcwV,EAAEU,IAAIzvB,EAAK,yBAA2B+uB,EAAEU,IAAIzvB,EAAK,sBAAwB+uB,EAAEU,IAAIzvB,EAAK,yCAA0C,IAC9IutC,EAAUlM,EAAerhC,GACzBwtC,EAA8B3L,EAAgB5S,EAAU/lB,qCAAsCqQ,KAAgB,EAC9Gk0B,EAA0Bxe,EAAU9Q,wCAAwCoe,eAAehjB,GAG/F,OAFmCi0B,IAAgCD,IAAYE,EAE7C,EAySlCC,uBAvR4B1tC,IAC5B,MAAMshC,EAAgBvS,EAAEU,IAAIzvB,EAAK,sBAC7BuhC,EAAsBvhC,EAAI2gC,IAAIC,OAAOnR,IAAI,mCACzC+R,EAA2BzS,EAAEU,IAAI8R,EAAqB,OAAQ,CAAC,GAE/DG,EAAkB3S,EAAEU,IAAI+R,EADb,gCACiD,GAC5DG,EAAqB7B,EAAawB,EAAeI,KAAoB,EAGzE,OAFA3S,EAAE8N,IAAI78B,EAAK,2BAA4B2hC,GACvC3hC,EAAI4hC,IAAI,OAAQ,6CAA8CL,GACvDI,CAAiB,EA+QxBgM,6BAlUiC,WAAkB,IAAjBjlC,EAAOsvB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC5C,OAAQ/I,EAAUhX,mCAAmCvP,EAAQklC,cACjE,EAiUIC,UAnQe7tC,GACR+uB,EAAEU,IAAIzvB,EAAK,4BAA6B,IAAIy0B,SAASsG,EAAax5B,UAAUg4B,kBAmQnFuU,eAhQoB9tC,GACb+uB,EAAEU,IAAIzvB,EAAK,4BAA6B,IAAIy0B,SAASsG,EAAax5B,UAAUi4B,WAgQnFuU,gBA7PqB/tC,GACd+uB,EAAEU,IAAIzvB,EAAK,4BAA6B,IAAIy0B,SAASsG,EAAax5B,UAAUk4B,YA6PnFuU,6BAhRkChuC,IAElC,MAAM,kBACFy/B,EAAoB,IACpBD,EAAoCx/B,GAGxC,OAAQ+uB,EAAEW,QAAQ+P,IAAsBxQ,EAAUvH,mBAAmBC,iCAAiC8M,SAAS1F,EAAEU,IAAIzvB,EAAK,wBAAwB,EA0QlJiuC,0BA5vB+BjuC,IAC/B,MAAMmpC,EAAgBnpC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUma,gBAGnD,MAAO,CACH8E,yBAH6B/E,GAAiBA,EAAc1J,mBAAqB,CAAC,EAIlF0O,mBAHuBhF,GAAiBA,EAAciF,0BAA4B,CAAC,EAItF,EAsvBD5O,sCACA6O,iBA7PsBruC,IACtB,MAAMsuC,GAAiBvf,EAAEU,IAAIzvB,EAAK,oCAAsC,IACnE0/B,QAAO6O,GAASA,EAAMC,YAC3B,SAAUF,EAAcrW,QAAkD,UAAxCqW,EAAc,GAAGG,mBAA+B,EA2PlF1M,wBACA2M,0BAjP+B1uC,GACf+uB,EAAEU,IAAIzvB,EAAK,0BACRivB,EAAUub,MAAQzI,EAAsB/hC,GAgP3D2uC,sCA7O2C3uC,IAC3C,MAAMywB,EAAU1B,EAAEU,IAAIzvB,EAAK,wBAG3B,OAAQ+hC,EAAsB/hC,IADN,CAAC,YAAa,OACgBy0B,SAAShE,EAAQ,EA0OvEme,wBAtO4BA,CAACnC,EAAKjQ,KAClCA,EAAW18B,KAAI88B,IACX6P,EAAIoC,YAAYC,sBAAsBrC,EAAIzF,KAAK+H,WAAYnS,EAASK,YAAaL,EAASE,KAAMF,EAASllB,MAAM,GACjH,EAoOFs3B,0BAjO+BhvC,IAE/B,IAAIivC,EAAgBhgB,EAAUigB,oCAG9B,GAAIlvC,EAAK,CACL,MAAMmvC,EAAmBnvC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUmgB,oBACtDpvC,EAAI4hC,IAAI,OAAQ,8BAA+BuN,GAC/CF,EAAgBlgB,EAAEU,IAAI0f,EAAkBlgB,EAAUogB,uBAAwBpgB,EAAUigB,oCACxF,CAEA,MAAMI,EAAc,IAAIC,gBAAgB,CACpCpD,UAAWld,EAAUugB,yCAIzB,MADoB,GAAGvgB,EAAUwgB,mBAAmBR,KAAiBK,EAAYnP,YAC/D,EAkNlBuP,qBA/M0BjD,GAC2C,QAA9D1d,EAAEU,IAAIgd,EAAK,+CA+MlBkD,oBApjCwBA,CAACtf,EAAQ9W,EAAa7B,EAAOusB,EAAMwI,EAAK7E,KAChE,MAAMgI,EAAmBtU,EAAejL,GACxC,IAAI+O,EACS,WAAT6E,EACI1I,EACIqU,EACAr2B,EACA,aACA,UAEJgiB,EACIqU,EACAr2B,EACA,cAGZ,GAAIquB,GAAe6E,EAAK,CACpB,MAAMxO,EAAUlP,EAAEU,IAAIgd,EAAK,eAAe7E,WACpCiI,EAAkB,CACpB,aAAgB5R,EAAQ6R,cAAgB7R,EAAQtlB,aAChD,aAAgB8zB,EAAII,QAAQtzB,aAEhC7B,EAAQ,IAAKumB,KAAY4R,EAC7B,CAEA,IAAIE,EAAS3S,EAAYnO,EAAU1W,qBAAsBb,GAGzD,OAFuB0nB,EAAiB6N,OAAO8C,EAExB,EAyhCvB3S,cACA4S,kBAz0CsBA,CAAC3f,EAAQ9W,EAAaD,KAE5C,MAAM0lB,EAAgB1D,EAAejL,GAWrC,SAVuBkL,EAAuByD,EAAezlB,GAEf+lB,SAAS,CACnDhmB,WAAYA,EACZC,YAAaA,IAGmCsmB,MAAKsE,GAAiB,oBAAXA,EAAE3jC,MAA4C,eAAd2jC,EAAEzH,SAGzE,EA6zCxB6C,kBACA0Q,aAhNiBA,CAACvnC,EAASwnC,KAC3B,IAAKxnC,IAAYwnC,EACb,OAAO,EAEX,MAAMC,EAAY,IAAIpP,OAAO9R,EAAUvG,cAAchgB,KAE/C,oBAAE0nC,EAAsB,GAAE,MAAE14B,EAAQ,IAAOw4B,EAEjD,OAAOE,IAAwB1nC,GAAWynC,EAAUnP,KAAKtpB,EAAM,EAyM/D24B,aAtMJ,SAAsBC,EAAOzY,GACzB,OAAOyY,EAAMC,MAAKjT,GAAOA,EAAIf,eAAe1E,IAChD,EAqMI7I,yBAlL6B,SAAChvB,EAAK+vB,EAAiBC,GAAmF,IACnIkC,EADyFse,EAAQxY,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAAMiK,EAAajK,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,KAE1HkK,EAAc,WAOlB,GALAA,EAAcF,EAAYhiC,EAJ4Dg4B,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAIvCiK,GAClDjiC,EAAI4hC,IAAI,OAAQ,4CAA6C7R,GAC7D/vB,EAAI4hC,IAAI,OAAQ,0CAA2CK,GAC3DjiC,EAAI4hC,IAAI,OAAQ,wCAAyCM,GAErC,eAAhBA,EAA8B,CAC9B,GAAInS,EAGA,OAFAmC,EAAkB,GAAGnC,cAA4BygB,KAAYvO,IAC7DjiC,EAAI4hC,IAAI,OAAQ,4CAA6C1P,GACtDA,EAEXA,EAAkBlC,CACtB,MAIIkC,EAAkBlC,EAGtB,OADAhwB,EAAI4hC,IAAI,OAAQ,4CAA6C1P,GACtDA,CACX,EA2JI8P,cACAjD,iBACAuD,2BACAmO,mBAhJwBzwC,GACjBA,EAAI2gC,KAAO3gC,EAAI2gC,IAAIC,QAAU5gC,EAAI2gC,IAAIC,OAAOnR,IAAI,cAAgBzvB,EAAI2gC,IAAIC,OAAOnR,IAAI,aAAaihB,eAgJvGC,wCArH4C,SAACrB,GAE7C,MAAMsB,EAAyB,IAAIrB,gBAFqCvX,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAQ3E,OALAj3B,OAAO8vC,QAAQvB,GAAa3S,SAAQmU,IAAgB,IAAdjZ,EAAKgN,GAAIiM,EACvC7hB,EAAUjB,WAAWyG,SAASoD,IAC9B+Y,EAAuBG,OAAOlZ,EAAKgN,EACvC,IAEG+L,EAAuBzQ,UAClC,EA6GI6Q,sBAzI2BhxC,IAC3B,MAAMsvC,EAAcrO,EAAqBjhC,GACzC,OAAOe,OAAOD,KAAKwuC,GAAaptC,QAAO,CAACC,EAAK8uC,KAErChiB,EAAUjB,WAAWyG,SAASwc,KAC9B9uC,EAAI8uC,GAAQ3B,EAAY2B,IAErB9uC,IAER,CAAC,EAAE,EAiIN+uC,aAvGkBlxC,IAClB,MAAM0I,EAAUqmB,EAAEU,IAAIzvB,EAAK,uBAAwB,IAAI4tC,cACnDnd,EAAU1B,EAAEU,IAAIzvB,EAAK,uBAAwB,IAC7C2wB,EAAU5B,EAAEU,IAAIzvB,EAAK,uBAAwB,IAE7CmxC,GADqBnxC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUmiB,uBAAyB,CAAC,GAC/BC,iBAAmB,GAEpE,QACI1gB,IAAY1B,EAAUpoB,sBACtBooB,EAAU9qB,iBAAiBssB,KAC3B0gB,EAAwB1c,SAAS/rB,GACpC,EA6FD4oC,kBArFuBtxC,IACvB,MAAM2wB,EACF5B,EAAEU,IAAIzvB,EAAK,0BAA4BivB,EAAUpoB,oBAC7CooB,EAAUpoB,oBAAoB+mC,cAC9B3e,EAAU7pB,gBAAgBwoC,cAC9BllC,EAAUqmB,EAAEU,IAAIzvB,EAAK,uBAAwB,IAAI4tC,cACjDnd,EAAU1B,EAAEU,IAAIzvB,EAAK,uBAAwB,IAC7CuxC,EAAgBtiB,EAAU9qB,iBAAiBssB,GAAWxB,EAAUuiB,gBAAkB/gB,EAAQmd,cAM9F,UALyB5tC,EAAI2gC,IAAIC,OAAOnR,IAAIR,EAAUmiB,uBAAyB,CAAC,GACvCK,iBAAmB,CAAC,GACnB9gB,IAAY,CAAC,GACR4gB,IAAkB,IAErC9c,SAAS/rB,EAAQ,E,kBC9yCjD,IAAIumB,EAAY5tB,EAAQ,OACxB,MAAM0tB,EAAI1tB,EAAQ,QACd,eAAEqwC,EAAc,WAAEC,EAAU,aAAEC,EAAY,WAAEC,EAAU,cAAEC,EAAa,cAAEC,EAAa,eAAEC,GAAmB3wC,EAAQ,OAI/Gi6B,EAAkBjL,GACA,IAAIshB,EAAWthB,GAKjC4hB,EAAuBA,CAAChT,EAAYv2B,IAClB,IAAImpC,EAAW5S,EAAY,CAC3CiT,WAAYxpC,EACZu7B,KAAMhV,EAAUvtB,KAAKywC,OACrBrF,MAAO7d,EAAUmjB,aAmEnB5W,EAA4BA,CAACwD,EAAeiF,EAAM6I,EAAOpQ,EAAS2V,KACpE,IAAIC,EAAS,CAAC,EAUd,OATAA,EAAS,IACD5V,GAAW,CAAEA,QAASA,MACtBoQ,GAAS,CAAEA,MAAOA,MAClBuF,GAAiB,CAAEA,cAAeA,IAG1CC,EAAOrO,KAAOA,EAEK,IAAI2N,EAAa5S,EAAesT,EAChC,EAGjBC,EAA4BA,CAACvyC,EAAKg/B,KACpC,IAAIwT,EAAwBzjB,EAAEU,IAAIzvB,EAAK,mCAAoC,IACvEyyC,EAAmCjX,EAA0BwD,EAAe,wBAIhF,OAHAwT,EAAsBE,MAAK,SAAUC,EAAGC,GACpC,OAAOH,EAAiCvT,OAAO,CAACyT,IAAMF,EAAiCvT,OAAO,CAAC0T,GACnG,IACOJ,CAAqB,EAqFhCxxC,EAAOC,QAAU,CACbq6B,iBACA2W,uBACA1W,uBAzK2BA,CAACyD,EAAezlB,EAAauzB,EAAO7I,IACxC,IAAI8N,EAAc/S,EAAe,CACpDqT,cAAe94B,EACfuzB,MAAOA,EACP7I,KAAMA,IAsKV4O,qBA3IyBA,CAAC7yC,EAAKgrC,EAAMiC,KACrC,KAAMjtC,EAAIi/B,YAAc+L,GAAQiC,GAC5B,OAGJ,IAAI6F,EAAgB,GAGpB,IACI,IAAI9T,EAAgB1D,EAAet7B,EAAIi/B,WAAW5O,QAC9C0iB,EAAoB,IAAIrB,EAAe1S,EAAe,CACtD8N,MAAO,aACPkG,SAAU,YAEd,GAAoB,iBAAThI,EAAmB,CAC1B,IAAIiI,EAAkBF,EAAkB9F,OAAO,IAAI9E,KAAKA,KAAK+K,IAAIlI,EAAKmI,UAAWnI,EAAKrC,WAAYqC,EAAKvC,aACvGqK,EAAgBC,EAAkBrM,MAAMuM,GAAiBG,cAAc/a,MAAM,KAAK,EACtF,MACIya,EAAgBC,EAAkBrM,MAAMsE,GAAMoI,cAAc/a,MAAM,KAAK,GAE3E,OAAOya,CACX,CAAE,MAAOxM,GACLtmC,EAAI4hC,IAAI,wCAAyC0E,EACrD,GAqHA+M,eAvFoBrzC,IACpB,IAAKA,EAAIi/B,WACL,MAAO,CAAC,EAEZ,MAAMD,EAAgB1D,EAAet7B,EAAIi/B,WAAW5O,QASpD,OAR4BkiB,EAA0BvyC,EAAKg/B,GAEjB98B,QAAO,SAAUC,EAAKoX,GAI5D,OAHApX,EAAIoX,GAAe,CACf9B,KAAM+jB,EAA0BwD,EAAe,UAAUE,OAAO3lB,IAE7DpX,CACX,GAAG,CAAC,EACc,EA2ElBowC,4BACA/W,4BACA8X,eAvEJ,SAAwBrU,EAAYxnB,GAChC,IAAMwnB,IAAcxnB,EAChB,OAEJ,MAAM/O,EAAUqmB,EAAEU,IAAIwP,EAAY,UAC5B5O,EAAStB,EAAEU,IAAIwP,EAAY,UAC3BsU,EAAYxkB,EAAEU,IAAIhY,EAAM,YAAa,IACrC+7B,EAAWzkB,EAAEU,IAAIhY,EAAM,WAAY,IAEzC,IAAIunB,EAAgB1D,EAAejL,GAC/BojB,EAAgBxB,EAAqBjT,EAAet2B,GAExD,MAAMgrC,EAAW,CACbC,WAAY,SACZ/sB,UAAW2sB,EAAU77B,MACrBk8B,WAAY,GACZ/sB,QAAS2sB,EAAS97B,MAClBm8B,WAAY,SACZC,QAAS,YAEb,OAAOL,EAAcxG,OAAOyG,EAChC,EAmDIK,yBA/CJ,SAAkC9U,EAAYxnB,GAC1C,IAAMwnB,IAAcxnB,EAChB,OAUJ,MAAMu8B,EAAY,CACdptB,UATcmI,EAAEU,IAAIhY,EAAM,YAAa,IAUvCoP,QATakI,EAAEU,IAAIhY,EAAM,WAAY,KAWzC,OAToB,IAAIq6B,EAAc,CAClC/T,SAAU9O,EAAUttB,eAAesyC,WACnCC,OAAQjlB,EAAUttB,eAAewyC,cAOhBvV,UAAUoV,EACnC,EA+BII,eA7BmBA,CAAC/jB,EAAQyc,EAAOuH,KAEnC,IAAKhkB,IAAWgkB,EACZ,OAEJ,MAAMrV,EAAgB1D,EAAejL,EAAOA,QACxCikB,EAAmBjkB,EAAOkkB,sBAC9B,IAAIC,EAEJA,EAAwBzlB,EAAEU,IAAI6kB,EAAkB,uDAOhD,OANwB,IAAItC,EAAehT,EAAe,CACtDyV,SAAUD,EACV1H,MAAOA,IAGgCG,OAAOoH,EAC3B,EAcvBK,WAvKeA,CAAC10C,EAAKgrC,EAAM8B,EAAOkG,KAClC,GAAMhzC,EAAIi/B,YAAc+L,GAAQ8B,GAASkG,EAIzC,IACI,MAAMhU,EAAgB1D,EAAet7B,EAAIi/B,WAAW5O,QAKpD,OAJ0B,IAAIqhB,EAAe1S,EAAe,CACxD8N,MAAOA,EACPkG,SAAUA,IAEW/F,OAAOjC,EACpC,CAAE,MAAO1E,GACLtmC,EAAI4hC,IAAI,gEAAiE0E,EAC7E,G,yBCLJtlC,EAAOC,QAAU,CAEhB0zC,iBAzCD,SAA0BxJ,GAEzByJ,OAAOC,UAAY,CAGlBC,eAAgB3J,EAAS0B,QAAQtzB,YAAYw7B,cAE7CC,gBAAiB7J,EAAS0B,QAAQxc,OAAO0kB,eAGvC,MAAQE,iBAAiB,IAAEC,IAAU/J,EAGrC,IAYQhJ,EAAGtM,EAAG31B,EAAGi1C,EAAGC,EAAGzC,EAAG0C,EAZtBC,EAAgB,WAAWJ,2BAG1BN,OAAOtc,SAASiU,KAAKhG,QAAQ,mBAAqBqO,OAAOtc,SAASiU,KAAKhG,QAAQ,gBACtF+O,EAAgB,0DAGbV,OAAOtc,SAASiU,KAAKhG,QAAQ,kBAChC+O,EAAgB,wDAINnT,EAWRyS,OAXW/e,EAWH0f,SAXMr1C,EAWI,SAXDi1C,EAWWG,EAXRF,EAWuB,aAV7CjT,EAAEqT,iBAAmBJ,EACrBjT,EAAEiT,GAAKjT,EAAEiT,IAAM,YACbjT,EAAEiT,GAAGK,EAAItT,EAAEiT,GAAGK,GAAK,IAAIrR,KAAKpM,UAC9B,EACAmK,EAAEiT,GAAGM,EAAI,EAAI,IAAIvN,KACjBwK,EAAI9c,EAAE8f,cAAcz1C,GACpBm1C,EAAIxf,EAAE+f,qBAAqB11C,GAAG,GAC9ByyC,EAAEkD,MAAQ,EACVlD,EAAEmD,IAAMX,EACRE,EAAEU,WAAWC,aAAarD,EAAG0C,EAE/B,E,qICpBA,MAAMY,EAAqBC,IAAS,CAChCA,WAAWC,EAAAA,EAAAA,sBAAqBD,KAGpC,GACIE,aAAY,eACZC,UAAS,YACTC,eAAc,iBACdC,SAAQ,WACRC,YAAW,cACXC,UAAS,YACTC,KAAI,OACJC,MAAK,QACLC,aAAY,eAEZC,QAASZ,EAAkB,WAC3Ba,MAAO,CACHZ,WAAWC,EAAAA,EAAAA,sBAAqB,SAChCY,cAAeC,IACf1X,SAAU2X,KAEdC,WAAYjB,EAAkB,cAC9BkB,mBAAoB,CAChBjB,WAAWC,EAAAA,EAAAA,sBAAqB,sBAChCY,cAAeK,KAEnBC,eAAgBpB,EAAkB,kBAClCqB,qBAAsBrB,EAAkB,wBACxCsB,SAAUtB,EAAkB,YAC5BuB,oBAAqBvB,EAAkB,uBACvCwB,WAAYxB,EAAkB,cAC9ByB,iBAAkBzB,EAAkB,oBACpC0B,YAAa1B,EAAkB,eAC/B2B,qBAAsB3B,EAAkB,wBACxC4B,WAAY5B,EAAkB,cAC9B6B,eAAgB7B,EAAkB,kBAClC8B,QAAS9B,EAAkB,WAC3B+B,kBAAmB/B,EAAkB,qBACrCgC,iBAAkBhC,EAAkB,oBACpCiC,YAAajC,EAAkB,eAC/BkC,oBAAqBlC,EAAkB,uBACvCmC,YAAanC,EAAkB,eAC/BoC,kBAAmBpC,EAAkB,qBACrCqC,SAAUrC,EAAkB,YAC5BsC,cAAetC,EAAkB,iBACjCuC,kBAAmBvC,EAAkB,qBACrCwC,eAAgBxC,EAAkB,kBAClCyC,oBAAqBzC,EAAkB,uBACvC0C,oBAAqB1C,EAAkB,uBACvC2C,eAAgB3C,EAAkB,kBAClC4C,UAAW5C,EAAkB,aAC7B6C,mBAAoB7C,EAAkB,sBACtC8C,qBAAsB9C,EAAkB,wBACxC+C,SAAU/C,EAAkB,YAC5BgD,YAAahD,EAAkB,eAC/BiD,QAASjD,EAAkB,WAC3BkD,cAAelD,EAAkB,iBACjCmD,kBAAmBnD,EAAkB,qBACrCoD,YAAapD,EAAkB,eAC/BqD,aAAcrD,EAAkB,gBAChCsD,oBAAqBtD,EAAkB,uBACvCuD,aAAcvD,EAAkB,gBAChCwD,WAAYxD,EAAkB,cAC9ByD,SAAUzD,EAAkB,YAC5B0D,QAAS1D,EAAkB,WAC3B2D,WAAY3D,EAAkB,cAC9B4D,qBAAsB5D,EAAkB,wBACxC6D,mBAAoB7D,EAAkB,sBACtC8D,YAAa9D,EAAkB,eAC/B+D,YAAa/D,EAAkB,e,gICnF5B,MAAMgE,UAAYC,EAAAA,UACrBC,iBAAAA,GACIC,KAAKC,MAAMC,MAAMC,YACrB,CAEAC,MAAAA,GACI,IAAI3N,EAAUuN,KAAKC,MAAMxN,QACrB4N,EAAW5N,GAAWA,EAAQ4N,SAC9BC,EAAkB7N,GAAWA,EAAQ6N,iBAAmB,CAAC,EACzDC,EAAWP,KAAKC,MAAMC,MAAMK,SAC5BC,EAAsBR,KAAKC,MAAMC,MAAMM,oBAEtCH,IACDA,EAAWL,KAAKC,MAAMI,UAG1B,MAAMI,EAAa,CACfJ,WACAC,kBACAI,cAAeV,KAAKC,MAAMC,MAAMQ,cAChCC,UAAWX,KAAKC,MAAMC,MAAMS,UAC5BH,sBACAD,WACA3T,KAAMoT,KAAKC,MAAMrT,KACjBjU,KAAMqnB,KAAKC,MAAMtnB,KACjB8Z,QAASuN,KAAKC,MAAMxN,QACpBgC,YAAauL,KAAKC,MAAMxL,YACxBmM,YAAaZ,KAAKC,MAAMW,aAG5B,OACIC,IAAAA,cAAA,OAAKv6C,GAAG,WACJu6C,IAAAA,cAAA,OAAKC,UAAU,eACXD,IAAAA,cAAA,OAAKv6C,GAAG,sBACJu6C,IAAAA,cAAA,OAAKC,UAAU,aAElBD,IAAAA,aAAmBb,KAAKC,MAAMc,SAAUN,IAIzD,EAkBJ,SAAeO,EAAAA,EAAAA,KAfS5hC,IACb,CACHqzB,QAASrzB,EAAMqzB,QACf7F,KAAMxtB,EAAMwtB,KACZjU,KAAMvZ,EAAMuZ,SAIpB,SAA4BsoB,GACxB,MAAO,CACHxM,aAAayM,EAAAA,EAAAA,oBAAmBzM,EAAAA,YAAawM,GAC7CL,aAAaM,EAAAA,EAAAA,oBAAmBN,EAAAA,YAAaK,GAErD,GAEA,CAA4DpB,E,+BC7D5D,IAAIlrB,EAAI1tB,EAAQ,OACZk6C,EAAmBl6C,EAAQ,OAa/BL,EAAOC,QAXP,SAAuBu6C,EAAiBzoB,EAAM2J,EAAS+e,GACnD,IAAIC,EAAY3sB,EAAE4sB,OAAOJ,GAEzBxoB,EAAK6oB,sBAAwBH,EAAaG,uBAAyB,CAC/DlkC,MAAO,GACPmkC,OAAQ,IAGZL,EAAgBM,mBAAmB/oB,EAAM2oB,EAAWD,EACxD,C,yBCLAz6C,EAAOC,QAAU,CACb,wBAA2B,CACvB,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,uCACT,eAAiB,EACjB,QAAW,CACP,CACI,KAAQ,6CACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,4CACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,0BACR,GAAM,2BAEV,kBAAqB,CACjB,UAAa,6BAGrB,eAAkB,CACd,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,8BACT,eAAiB,EACjB,QAAW,CACP,CACI,KAAQ,oCACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,mCACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,iBACR,GAAM,kBAEV,kBAAqB,CACjB,UAAa,6BAGrB,cAAiB,CACb,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,6BACT,eAAiB,EACjB,QAAW,CACP,CACI,KAAQ,mCACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,kCACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,gBACR,GAAM,iBAEV,kBAAqB,CACjB,UAAa,6BAGrB,uBAA0B,CACtB,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,sCACT,eAAiB,EACjB,eAAkB,CACd,UAAa,yDACb,UAAa,yDACb,YAAe,4DAEnB,QAAW,CACP,CACI,KAAQ,4CACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,2CACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,yBACR,GAAM,0BAEV,kBAAqB,CACjB,UAAa,6BAGrB,qBAAwB,CACpB,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,oCACT,eAAiB,EACjB,QAAW,CACP,CACI,KAAQ,0CACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,yCACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,uBACR,GAAM,wBAEV,kBAAqB,CACjB,UAAa,6BAGrB,+BAAkC,CAC9B,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,8CACT,eAAiB,EACjB,eAAkB,CACd,UAAa,iEACb,UAAa,iEACb,YAAe,oEAEnB,QAAW,CACP,CACI,KAAQ,oDACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,mDACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,iCACR,GAAM,kCAEV,kBAAqB,CACjB,UAAa,6BAGrB,4CAA+C,CAC3C,UAAa,cACb,SAAW,EACX,YAAe,CAAC,YAChB,MAAS,2DACT,eAAiB,EACjB,eAAkB,CACd,UAAa,8EACb,UAAa,8EACb,YAAe,iFAEnB,QAAW,CACP,CACI,KAAQ,iEACR,WAAc,CACV,MAAS,QAGjB,CACI,KAAQ,gEACR,WAAc,CACV,MAAS,QAIrB,WAAc,CACV,KAAQ,8CACR,GAAM,+CAEV,kBAAqB,CACjB,UAAa,6BAGrB,sBAAyB,CACrB,UAAa,YACb,SAAW,EACX,MAAS,qCACT,YAAe,CAAC,YAChB,cAAiB,2CACjB,WAAc,CACV,KAAQ,wBACR,GAAM,yBAEV,kBAAqB,CACjB,UAAa,iDAGrB,8CAAiD,CAC7C,UAAa,YACb,SAAW,EACX,MAAS,6DACT,YAAe,CAAC,YAChB,cAAiB,mEACjB,WAAc,CACV,KAAQ,gDACR,GAAM,iDAEV,kBAAqB,CACjB,UAAa,iD,yBCpPzB,IAAI86C,EAAsB,CACtBC,gCAAgC,EAChCC,+BAA+B,GAanCj7C,EAAOC,QAAU,CACbi7C,2BAPJ,SAAoCN,GAChC,OAAOA,EAAsBlc,QAAQyc,IAChCJ,EAAoBI,EAAeC,eAE5C,E,+BCbA,IAAIrtB,EAAI1tB,EAAQ,OACZk6C,EAAmBl6C,EAAQ,OAC3Bg7C,EAAQh7C,EAAQ,OAsBpBL,EAAOC,QApBP,SAAkB85C,EAAWljB,EAAK6E,EAAS3J,EAAM8oB,EAAQS,GACrD,IAAIV,EACAF,EAAY,GAIhB,QAFAE,EAAwB7sB,EAAEU,IAAIsD,EAAM,kCAMpCspB,EAAMH,2BAA2BN,GAChCjf,SAASwf,SACyD,IAAnDZ,EAAiBY,EAAeC,eACxCV,EAAUtX,KAAKmX,EAAiBY,EAAeC,cACnD,IAGGrB,EAAUwB,iBAAiB1kB,EAAK6jB,EAAW3oB,EAAM8oB,EAAQS,GACpE,C,iOCfA,MAAME,EAAWn7C,EAAQ,OACrBo7C,EAAOp7C,EAAQ,OACfq7C,EAAar7C,EAAQ,OAEV,MAAMs7C,UAAoBzC,EAAAA,UAwBrC0C,WAAAA,CAAYvC,GACRwC,MAAMxC,IACNyC,EAAAA,EAAAA,GAAA,wBA2Cc,KACd1C,KAAKC,MAAMxL,YAAYkO,wBACnB,kBAAc7kB,EACjB,KACJ4kB,EAAAA,EAAAA,GAAA,kCAK4Bx8C,IAEX,UAAVA,EAAEu3B,KACFuiB,KAAKC,MAAMxL,YAAYkO,wBACnB,kBAAc7kB,EAEtB,KACH4kB,EAAAA,EAAAA,GAAA,qBAgHc,CAACxxB,EAAM0xB,KAClB,MAAM7f,EAAWsf,EAAKrC,KAAM,qBAAqB9uB,gBAC7C2xB,EAAqBR,EAAKrC,KAAM,uBAGpC,OADAA,KAAKC,MAAMW,YAAYkC,aAAa,CAAEC,gBAAiB,CAAEzlC,OAAO,KACzD0iC,KAAKmC,iBAAiBpf,EAAU6f,EAAYC,EAAmB,KACzEH,EAAAA,EAAAA,GAAA,mBAOa9gB,IAMV,MAAMohB,EAAchD,KAAKC,MAAMrT,KAC3BqW,EAAcjD,KAAKkD,oCACnBvqB,EAAO,CAAC,EAKZ,IAAIwqB,EACAC,EACAC,EALJC,IAAAA,oBAAgCtD,KAAKuD,wBAAwBN,EAAajD,KAAKC,QAE/EqD,IAAAA,OAAmB,CAAElyB,KAAM,GAAImI,MAAO,KAMlC4pB,EADAvhB,GAAWA,EAAQuhB,OACVvhB,EAAQuhB,OAERH,EAAYQ,MAAMP,GAAaE,QAAUH,EAAYG,OAGlEvhB,EAAUA,GAAW,CAAC,EAGtBjJ,EAAK8qB,WAAaT,EAAYQ,MAAMP,GAAaQ,WAGjD9qB,EAAK+qB,WAAaV,EAAYQ,MAAMP,GAAaS,WAE7C1D,KAAKC,MAAMtnB,KAAK2K,QAAU0c,KAAKC,MAAMtnB,KAAK2K,OAAOyf,iBAAmB/C,KAAKC,MAAMtnB,KAAK2K,OAAOyf,gBAAgBzlC,OAC3G0iC,KAAKC,MAAMW,YAAYkC,aAAa,CAAEC,gBAAiB,CAAEzlC,OAAO,KASpE,GANsB0lC,EAAYQ,MAAMP,GAAaU,YAUjD,YAHI/hB,EAAQgiB,cACR5D,KAAK6D,QAAQC,OAAO9Z,KAAKpI,EAAQgiB,eAUzC,GALAT,EAASzgB,IAAAA,KAAUsd,KAAKC,MAAMM,SAAU4C,GAExCxqB,EAAKgJ,SAAWshB,EAGZzI,OAAOuJ,cAAgC,WAAhBd,EAA0B,CAEjD,IAAIe,EAAgBxJ,OAAOuJ,aAAaE,QAAQ,kBAAoBzJ,OAAOuJ,aAAaE,QAAQ,iBAC5FC,EAAc1J,OAAOuJ,aAAaE,QAAQ,eAE1CD,IACArrB,EAAKwrB,oBAAsBH,EAAc/lB,MAAM,KAC/Cuc,OAAOuJ,aAAaK,WAAW,iBAC/B5J,OAAOuJ,aAAaK,WAAW,kBAE/BF,IACAvrB,EAAKurB,YAAcA,EACnB1J,OAAOuJ,aAAaK,WAAW,eAEvC,CAMmC/B,EAAKW,EAAYQ,MAAMP,GAAc,+BAEpEjD,KAAKC,MAAMW,YAAYkC,aAAa,CAAEuB,oBAAqB,CAAE/mC,OAAO,KACpE0iC,KAAKC,MAAMW,YAAY0D,oBAAoB,CAAC,IAMhDlB,EAAmBrS,IAEf,GAAKA,EA6BL,OAzBAiP,KAAKC,MAAMW,YAAY0D,oBAAoBvT,EAASwT,eAGhDvE,KAAKC,MAAMO,qBACXR,KAAKC,MAAMO,oBAAoBzP,GAG/BA,EAASyT,gBACTxE,KAAKC,MAAMxL,YAAYkO,wBAAwB,cAAe5R,EAASyT,gBAGvEzT,EAASpY,MACTqnB,KAAKC,MAAMW,YAAYkC,aAAa/R,EAASpY,MAG7CoY,EAAS0T,aACTzE,KAAKC,MAAMxL,YAAYiQ,qBAAqB3T,EAAS0T,aAGrD1T,EAAS4T,iBAAmBnK,OAAOoK,MACnCj+C,OAAOm9B,OAAO0W,OAAOoK,KAAM7T,EAAS4T,iBAGxC3E,KAAKC,MAAMW,YAAYiE,kBAAkB9T,EAAS+T,gBAE9C/T,EAAS0Q,QACTzB,KAAK+E,iBACL/E,KAAKC,MAAMW,YAAYoE,0BAA0BjU,EAAS0Q,QAC1DzB,KAAKC,MAAMxL,YAAYwQ,oCAAoCjF,KAAKC,MAAMtnB,WAElEiK,MAAMlC,QAAQ2hB,EAAKtR,EAAU,sBAAuB,QACpDyJ,OAAOoK,MACPpK,OAAO0K,oBAGP5B,IAAAA,eAA2B,CACvBvqB,KAAMgY,EAASwT,cAAcY,MACxBz/C,KAAI0/C,GAAYpF,KAAKqF,eAAe,gBAAgBD,OAAanrB,KAAK,KAC3EjB,KAAM+X,EAASwT,cAAcY,MAAMlrB,KAAK,OAG5CqpB,IAAAA,OAAmB,CAAEvqB,KAAM,KAAMC,KAAM,UAGpC+X,EAASuU,kBAChBtF,KAAK+E,iBACLvK,OAAOtc,SAAW6S,EAASuU,kBACpB,QACAvU,EAASwU,iBAChBvF,KAAK6D,QAAQC,OAAO9Z,KAAK+G,EAASwU,mBAIlC3jB,EAAQgiB,cACR5D,KAAK6D,QAAQC,OAAO9Z,KAAKpI,EAAQgiB,cAKjChiB,EAAQ4jB,iBACR5jB,EAAQ4jB,gBAAgBzU,IAC5B,EAGJsS,EAAgBA,CAACoC,EAAKpsB,EAAQ6S,KAE1B8T,KAAK+E,iBACL/E,KAAKC,MAAMW,YAAY0D,oBAAoB,CACvCa,MAAO,CAACjZ,IACV,EAGN8T,KAAKC,MAAMW,YAAY8E,WAAWvC,EAAQxqB,EAAMyqB,EAAiBC,EAAc,IAvV/E,IAAK,IAAIsC,KAAUC,EAAAA,kBACf5F,KAAK2F,GAAUC,EAAAA,kBAAkBD,GAAQE,KAAK7F,MAGlD,IAAK,IAAI2F,KAAUG,EAAAA,aACf9F,KAAK2F,GAAUG,EAAAA,aAAaH,GAAQE,KAAK7F,KAEjD,CAEA+E,cAAAA,GAEI,IAIIvK,OAAOuL,SAAS,EAAG,EACvB,CAAE,MAAO7/C,GACL,CAER,CAEA8/C,kBAAAA,GAIIhG,KAAKkD,mCACT,CAEAnD,iBAAAA,GACI,MAAMkD,EAAcjD,KAAKiG,iBAEpB5D,EAAKrC,KAAM,qBAAqBiD,SAOrCjD,KAAKC,MAAMxL,YAAYyR,cAAcjD,GACrCjD,KAAKG,WAAWH,KAAKC,MAAMrT,KAAK4W,MAAMP,IAC1C,CAoBAkD,gBAAAA,CAAiBj1B,GACb,MAAMk1B,EAAW/D,EAAKrC,KAAM,qBAAqB9uB,OACjD,SAAUk1B,IAAYC,IAAAA,aAAwBD,EAAStB,eACnD9E,KAAKC,MAAMtnB,KAAKmsB,gBACxB,CAEA5B,iCAAAA,GACI,MAAMD,EAAcjD,KAAKiG,iBACrBK,EAA0BtG,KAAKmG,iBAAiBlD,GAOpD,OANoBZ,EAAKrC,KAAM,qBAAqBiD,QAM7BqD,EAMhBrD,GALCA,IAAgBjD,KAAKC,MAAMrT,KAAK2Z,aAChCvG,KAAK6D,QAAQC,OAAOpY,QAAQsU,KAAKC,MAAMrT,KAAK2Z,aAEzCvG,KAAKC,MAAMrT,KAAK2Z,YAG/B,CAEAN,cAAAA,GACI,IAAIhD,EAAcjD,KAAK6D,QAAQC,OAAO5lB,SAASsoB,SAO/C,OAJIvD,GAAkC,MAAnBA,EAAY,KAC3BA,EAAcA,EAAYtS,UAAU,IAGjCsS,CACX,CAEAM,uBAAAA,CAAwBryB,EAAM+uB,GAC1B,MAAM,SAAE5oB,GAAa4oB,EAAMtnB,KAAK8tB,UAC1B,WAAE/C,GAAezD,EAAMrT,KAAK4W,MAAMtyB,GAClCuyB,EAAaC,GAAcA,EAAWD,aAAc,EAEpD1gB,EAAWsf,EAAKrC,KAAM,qBAAqB9uB,eAAmB,IAChE2xB,EAAqBR,EAAKrC,KAAM,sBAAuB,CAAC,GACxD1c,EAAS+e,EAAKrC,KAAM,qBAElB0G,EAAe3jB,EAASuC,QAAOhD,IACjC,MAAM,QAAEqkB,EAAO,WAAEC,GAAe/D,EAAmBvgB,IAAY,CAAC,EAChE,OAAOqkB,GAAWC,GAAcA,EAAWvpC,IAAI,KAG5CwpC,EAA2BC,GAAgCxE,EAAWoE,GAAcK,IACvF,MAAM,iBAAEC,GAAqBnE,EAAmBkE,GAChD,OAAOC,CAAgB,IAGrBC,EAA0BJ,EAA0BnhD,KAAI48B,IAC1D,MAAQskB,YAAY,KAAEvpC,IAAWwlC,EAAmBvgB,GACpD,MAAO,CACH,CAACjlB,GAAOimB,EAAOjmB,IAASimB,EAAOjmB,GAAMC,OAAS,GACjD,IAGC4pC,EAA6BJ,EAA6BphD,KAAI48B,IAChE,MAAQskB,YAAY,KAAEvpC,IAAWwlC,EAAmBvgB,GACpD,MAAO,CACH,CAACjlB,GAAOimB,EAAOjmB,IAASimB,EAAOjmB,GAAMC,MAAQ,eAAiB,GACjE,IAGL,IAAI8T,EAAOjqB,IAAAA,SACP+pB,IAAS/pB,IAAAA,aAA0BkwB,EAE5BnG,IAAS/pB,IAAAA,qBAChBiqB,EAAOjqB,IAAAA,SAFPiqB,EAAOjqB,IAAAA,yBAKX,IAAIkyB,EAAS,GAOb,OANInI,IAAS/pB,IAAAA,mBACTkyB,EAASlyB,IAAAA,4BACFs8C,IACPpqB,EAASlyB,IAAAA,sBAGN,CACHqvB,SAAUtF,EACVE,OACAsG,aAAc+rB,EAAat8C,IAAAA,0BAAsCA,IAAAA,2BACjEkyB,SACAE,MAAOtB,KAAKC,UAAU,IAAI+uB,KAA4BC,IACtDhwB,YAAa,CACTyE,GAAI0mB,EAAK7H,OAAQ,WACjB5e,GAAIymB,EAAK7H,OAAQ,YAG7B,CAEA2H,gBAAAA,GAAgE,IACxDgF,EADSpkB,EAAQnF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAAIglB,EAAUhlB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAAE+kB,EAAkBjlB,UAAAC,OAAA,EAAAD,UAAA,QAAAE,EAY1D,OATAqpB,EAAQnH,KAAKC,MAAMU,UAAUwB,iBACzBnC,KAAKC,MAAMtnB,KAAKyuB,cAChBrkB,EACAid,KAAKC,MAAMtnB,KAAK2K,OAChBsf,EANmB,SAQnBC,GAGGsE,CACX,CAkLAE,qBAAAA,CAAsBC,EAAWC,GAC7B,IAAItE,EAAauE,EAAkBC,EAC/BnB,EAAyBoB,EAE7B,OAAItF,EAASkF,EAAU1a,QAIvBqW,EAAcjD,KAAKiG,iBAEnBwB,EAAaH,EAAU3uB,KAAK2K,OAI5BkkB,EAAmBnF,EAAKoF,EAAY,0BAEpCC,EAAgBrF,EAAKiF,EAAW,eAAerE,OAC/CqD,EAA0BtG,KAAKmG,iBAAiBlD,GAQ3CA,GAAgByE,GAAkBpB,EAkBnCrD,IAAgBqE,EAAU1a,KAAK+H,aAC/BqL,KAAKC,MAAMxL,YAAYyR,cAAcjD,GAMjCZ,EAAKrC,KAAM,qBAAqBiD,QAChCZ,EAAKrC,KAAM,qBAAqBsH,EAAU1a,KAAK+H,iBAK/CqL,KAAKmG,iBAAiBmB,EAAU1a,KAAK+H,cAOjC6S,EACAxH,KAAKC,MAAMW,YAAY+G,YAAY,oBAAoB,GAEvD3H,KAAKC,MAAMW,YAAY0D,oBAAoB,CAAC,IAUpDtE,KAAKC,MAAMxL,YAAYmT,yBAAwB,IACxC,IAhDH3E,IAAgBqE,EAAU1a,KAAK2Z,aAC/BvG,KAAK6D,QAAQC,OAAOpY,QAAQ4b,EAAU1a,KAAK2Z,cAExC,GAiDf,CAEAsB,kBAAAA,GACI,MAAM5E,EAAcjD,KAAKiG,iBAMrB5D,EAAKrC,KAAM,qCACXA,KAAKG,WAAWkC,EAAKrC,KAAM,qBAAqBiD,QAChDjD,KAAKC,MAAMxL,YAAYmT,yBAAwB,GAC/C5H,KAAK+E,iBAEb,CAEA3E,MAAAA,GAQI,GAAIgC,EAASpC,KAAKC,MAAMrT,OAASwV,EAASpC,KAAKC,MAAMtnB,MACjD,OAAO,EAGX,MAAMzH,EAAO8uB,KAAKiG,iBACd9C,EAASzgB,IAAAA,KAAUsd,KAAKC,MAAMM,SAAUP,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAMiyB,QAAUnD,KAAKC,MAAMrT,KAAKuW,QAAU,IACxG2E,EAAoB9H,KAAK+H,iBAAiB/H,KAAKC,MAAMrT,KAAK4W,MAAMtyB,IAChE+uB,EAAQ,CACJ/uB,OACAiyB,SACAxC,UAAWX,KAAKC,MAAMU,UACtByG,cAAepH,KAAKC,MAAMtnB,KAAKyuB,cAC/BzuB,KAAMqnB,KAAKC,MAAMtnB,KACjBioB,YAAaZ,KAAKC,MAAMW,YACxBhU,KAAMoT,KAAKC,MAAMrT,KACjB6H,YAAauL,KAAKC,MAAMxL,YACxBhC,QAASuN,KAAKC,MAAMxN,QACpBuV,WAAYhI,KAAKC,MAAM+H,WACvBC,KAAMjI,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAM+2B,KAClCC,cAAelI,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAMg3B,cAC3CC,cAAenI,KAAKC,MAAMrT,KAAKub,cAC/BC,WAAYpI,KAAKC,MAAMrT,KAAKwb,WAC5BrlB,SAAUid,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAM6R,SACtCslB,eAAgBrI,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAMm3B,eAC5CC,qBAAsBtI,KAAKC,MAAMrT,KAAK4W,MAAMtyB,GAAMo3B,qBAClDC,WAAYvI,KAAKC,MAAMtnB,KAAK4vB,WAC5BC,MAAOxI,KAAKC,MAAMtnB,KAAK6vB,MACvBnI,SAAUL,KAAKC,MAAMI,SACrBC,gBAAiBN,KAAKC,MAAMK,gBAC5BI,cAAeV,KAAKC,MAAMS,cAC1B+H,aAAczI,KAAK0I,aAAa7C,KAAK,KAAM30B,GAC3Cw0B,WAAY1F,KAAK0F,WACjBkB,WAAY5G,KAAKC,MAAMrT,KAAKga,YAEpC,OACI/F,IAAAA,cAAA,OAAKC,UAAU,kBAAkB6H,QAAS3I,KAAK4I,gBAAiBC,UAAW7I,KAAK8I,2BAC5EjI,IAAAA,cAAA,OAAKC,UAAU,2BACXD,IAAAA,cAACkI,EAAAA,sBAAqB,CAClBxE,cAAevE,KAAKC,MAAMtnB,KAAK4rB,cAC/BlE,SAAUL,KAAKC,MAAMI,SACrB1nB,KAAMqnB,KAAKC,MAAMtnB,KACjBiJ,QAASoe,KAAKC,MAAMxN,QAAQuW,oBAC5B1I,gBAAiBN,KAAKC,MAAMK,kBAChCO,IAAAA,cAAA,OAAAoI,EAAAA,EAAAA,GAAA,CAAKnI,UAAU,4BAA+BgH,GAC1CjH,IAAAA,cAACqI,EAAAA,cAAkBjJ,KAMvC,GACHyC,EAAAA,EAAAA,GAjhBoBH,EAAW,YACT,CACflC,SAAU8I,IAAAA,OACV7I,gBAAiB6I,IAAAA,OACjB5I,SAAU4I,IAAAA,OACV3I,oBAAqB2I,IAAAA,KACrBzI,cAAeyI,IAAAA,OACfxwB,KAAMwwB,IAAAA,OACNxI,UAAWwI,IAAAA,OACXvc,KAAMuc,IAAAA,OACN1W,QAAS0W,IAAAA,OACTnB,WAAYmB,IAAAA,OACZvI,YAAauI,IAAAA,OACb1U,YAAa0U,IAAAA,UAChBzG,EAAAA,EAAAA,GAdgBH,EAAW,eAgBN,CAClBuB,OAAQqF,IAAAA,UACXzG,EAAAA,EAAAA,GAlBgBH,EAAW,eAoBN,CAClBhC,SAAU,K,YCjClB,MAAM6I,EAAgB,CAClBhI,gBAAiB,yGACjBiI,UAAW,iCACX/mB,QAAS,wGAYPqa,EAAgBA,CAACyE,EAAiBiI,EAAW/mB,KAC/C,GAA+B,iBAApB8e,EACP,MAAM,IAAIj7C,MAAMijD,EAAchI,iBAGlC,GAAyB,iBAAdiI,EACP,MAAM,IAAIljD,MAAMijD,EAAcC,WAGlC,IAAK/mB,IAAYA,EAAQskB,aAAetkB,EAAQskB,WAAWvpC,KACvD,MAAM,IAAIlX,MAAMijD,EAAc9mB,SAGlC,IAAIjlB,EAAOilB,EAAQskB,WAAWvpC,KAE9BgsC,EAAUhsC,GAAQ,CAAEC,MAAO,IAC3B+rC,EAAUhsC,EAAO,aAAe,CAC5BC,MAAO,GACPgsC,gBAAiB,CAAE/iD,KAAK,IAE5B8iD,EAAUhsC,EAAO,SAAW,CACxBC,MAAO,GACPgsC,gBAAiB,CAAE/iD,KAAK,GAC3B,EAGLo2C,EAAcyM,cAAgBA,EAE9BxiD,EAAOC,QAAU81C,C,yJCxCV,MAAM4M,EAAoBA,IACtB1I,IAAAA,cAAC2I,EAAAA,OAAM,CAACC,KAAK,KAAK5f,KAAK,QAAQ6f,MAAO,IAGpC3N,EAAwB4N,IACjC,MAAMC,EAAmBC,IAAS,CAC9BC,OAAQA,IAAM,SAAO,KAAKH,KAC1BI,QAASA,IAAMR,MAOnB,OAJyBtJ,GACbY,IAAAA,cAAC+I,EAAqB3J,EAGZ,C,mFCC1B,SAAS+J,EAAWvsB,EAAKwsB,GACrB,OAAO,SAA2C,KAAKA,UAClDhkD,MAAKikD,IACF,MAAMC,EAtBlB,SAAgC1sB,EAAKwsB,GACjC,IAAIE,EAcJ,OAbIvnB,MAAMlC,QAAQjD,IAAQA,EAAII,SAC1BssB,EAAmB1sB,EAAI/3B,KAAK0kD,GACjB,SAA2C,KAAKH,KAAUG,KAC5DnkD,MAAKokD,GACKA,EAAOC,UAGjBC,OAAOre,IAEG,CAAC,QAIjBie,CACX,CAMqCK,CAAuB/sB,EAAKwsB,GACrD,OAAIE,EACOpkD,QAAQQ,IAAI4jD,GACdlkD,MAAKokD,GAAUA,EAAOviD,QAAO,CAACC,EAAK8uC,KAAS,IAAM9uC,KAAQ8uC,KAASqT,EAAWI,WAEhFJ,EAAWI,OAAO,GAErC,C,eCvBA,SAASG,EAAehhB,GAA2D,IAA1D,MAAEihB,EAAK,UAAExI,EAAS,QAAEpW,EAAO,WAAE7G,EAAU,cAAE0lB,GAAelhB,EAEzE,CAAC,OAAQ,UAAUpP,SAAS6nB,KAAepW,GAC3C8e,EAAAA,GAAuB,CAAEF,QAAOzlB,aAAY0lB,iBAEpD,CAEO,SAASE,EAAS9Z,EAAU+Z,GAE/B,ODgByBC,EChBNha,EAASqW,cDgBa4D,EChBEja,EAASia,iBDiB7CjlD,QAAQQ,IAAI,CACfyjD,EAAWe,EAAgB,eAC3Bf,EAAWgB,EAAkB,oBAEhC/kD,MAAK,SAAAwjC,GAAwC,IAA7BwhB,EAAavK,GAAcjX,EACxC,MAAO,CACHwhB,cACAvK,gBAER,KCzBKz6C,MAAKqkC,IAAoC,IAAnC,cAAEoW,EAAa,YAAEuK,GAAa3gB,EAG7B1H,MAAMlC,QAAQqQ,EAASia,oBACvBja,EAASia,iBAAmBja,EAASia,iBAAiB/wB,QAEtD2I,MAAMlC,QAAQqQ,EAASqW,iBACvBrW,EAASqW,cAAgBrW,EAASqW,cAAcntB,QAGpD,MACMixB,EAAU,CAAC,EAKjB,OAJAA,EAFsBna,EAASqW,eAAiB,QAEvB6D,EACzBtK,IAAAA,WAAqBmK,EAAsBI,EAAS,CAAET,oBAEtDU,EAAAA,kBAAkBC,mBAAmBN,GAC9B,IAAK/Z,EAAU2P,gBAAe,IDDlC,IAAcqK,EAAgBC,CCG7C,C,gLCdO,SAASK,EAAUnT,GACtB,IACIoT,GADA,MAAEC,EAAK,KAAE3e,EAAI,cAAE8T,EAAa,WAAEP,GAAejI,EAEjD,MAAMqI,EAAWiL,EAAAA,GACbhL,EAAsBiL,EAAAA,GAEpBC,EAAS/kD,OAAOD,KAAKkmC,EAAK4W,OAAO99C,KAAIwrB,GAChC2vB,IAAAA,cAAC8K,EAAAA,MAAK,CAACluB,IAAKvM,EAAMwR,KAAMxR,EAAM4qB,UAAWyG,EAAAA,YAGpD+I,EACIzK,IAAAA,cAAC8K,EAAAA,MAAK,CAACtuC,KAAK,QAAQqlB,KAAK,IAAI6d,SAAUA,EACnC3T,KAAMA,EACN8T,cAAeA,EACfC,UAAWA,IACXH,oBAAqBA,EACrBL,WAAYA,EACZrE,UAAW+D,EAAAA,SACV6L,EACD7K,IAAAA,cAAC+K,EAAAA,WAAU,CAAC9P,UAAWyG,EAAAA,UACvB1B,IAAAA,cAAC8K,EAAAA,MAAK,CAACjpB,KAAK,IAAIoZ,UAAWyG,EAAAA,WAanC,OACI1B,IAAAA,cAACgL,EAAAA,GAAQ,CAACN,MAAOA,GACb1K,IAAAA,cAACiL,EAAAA,OAAM,CAACC,QAASC,EAAAA,YAAaC,SAZf,WAEE,QADA52B,IAAI2qB,KAAM,2BAE3BkM,EAAAA,EAAAA,IAAgBlM,MAAQA,KAAK5gC,MAAOwtB,EAAM,CAAEuf,UAAU,IAlClE,WAEI,MAAMC,EAAgBjR,SAASK,qBAAqB,MAChD4Q,EAAcvuB,OAAS,IACvBsd,SAASkR,MAAQD,EAAc,GAAGE,UAE1C,CA+BQC,EACJ,GAKiEjB,GAGrE,C,6oBChDO,SAASkB,EAAKtU,GACjB,IAiBIuU,EACAC,GAlBA,OACIppB,EAAM,SACNmjB,EAAQ,cACRW,EAAa,MACboB,EAAK,cACLjE,EAAa,eACbO,EAAc,KACdlY,EAAI,OACJ3W,EAAM,MACN02B,EAAK,SACLtM,EAAQ,YACRlhC,EAAW,sBACXytC,EAAqB,eACrBC,EAAc,oBACdC,GACA5U,EACJ94B,EAAQ,CAAC,EA8Bb,GAzBKkkB,IACDA,EAAS,CAAC,GAId38B,OAAOD,KAAK48B,GAAQf,SAAQ,SAAUmoB,GAClCpnB,EAAOonB,GAAOjJ,OAAS,EAC3B,IAEAriC,EAAMuZ,KAAO,CACT4rB,cAAeA,GAAiB,CAAC,EACjCjhB,SACAmjB,WACA+B,QACApB,gBACAtC,kBAIJ2H,EAAQ7f,GAAQ,CAAC,EACjB6f,EAAMM,gBAAkB,CAAC,EACzBN,EAAM9X,WAAa/H,EAAK+H,YAAc/H,EAAK2Z,YAC3CnnC,EAAMwtB,KAAO6f,GAGRttC,EACD,MAAM,IAAIhZ,MAAM,0BAGf8vB,IACDA,EAAS,WAIby2B,EAAettC,EAAMihC,UAAY,CAAC,EAClCqM,EAAaz2B,GAAUoqB,GAAY,CAAC,EAGpC,IAAIC,EAAkB,CAAC,EACnB0M,GAAoB3iB,EAAAA,EAAAA,SAAQqiB,EAAaz2B,IAoB7C,OAlBAtvB,OAAOD,KAAKsmD,GAAmBzqB,SAAS9E,IAChCwvB,EAAAA,eAA6BD,EAAkBvvB,MAC/C6iB,EAAgB7iB,IAAO,EAC3B,IAGJre,EAAMqzB,QAAU,CACZ4N,SAAUqM,EAAaz2B,GACvBqqB,kBACArqB,SACA02B,QACAE,iBACA1tC,cACAytC,sBAAuBA,GAAyB,CAAC,EACjD5D,oBAAmB,EACnB8D,uBAGG1tC,CACX,CAEO,SAAS8tC,IAA0B,IAAnBC,EAAYvvB,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAC,EAGnC,MAAMwvB,EAAmB5S,OAAO6S,sCAAwCC,EAAAA,QAMxE,OAJcC,EAAAA,EAAAA,IAAkBC,EAAAA,SAAUL,EACtCC,GAAiBK,EAAAA,EAAAA,iBAAgBC,EAAAA,EAAOC,EAAAA,KACxC,CAAEC,kBAAiBA,EAAAA,mBAG3B,C,oLCxGA,MAAMzmD,EAAYF,EAAQ,OAC1B,IAAI0tB,EAAI1tB,EAAQ,OAEhB,MAAM4mD,EACU,aADVA,EAEK,QAGLC,EAAcA,CAACn1B,EAAM3C,KACvB,MAAMsB,EAAeqB,EAAKrB,cAAiBtB,GAAWA,EAAQsB,aACxDD,EAAWsB,EAAKtB,UAAarB,GAAWA,EAAQqB,SAChDD,EAAYuB,EAAKvB,WAAcpB,GAAWA,EAAQoB,UACxD,OAAIE,EACO,aACAD,EACA,SACAD,EACA,eADJ,CAEP,EAGJ,GACI,CACI/Z,KAAMlW,EAAUiK,UAAUa,OAAOC,+BAA+BC,KAChE03B,KAAMgkB,EACNE,KAAOp1B,IACH,QAAamF,IAATnF,GAAwC,iBAAlBA,EAAKnC,SAC3B,OAGJ,IAAI1K,EACA3kB,EAAUiK,UAAUa,OAAOC,+BAA+BC,KAC1DynB,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAGpB,MAAO,CACHn0B,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACH,GAGT,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAOG,wCAC5BD,KACL03B,KAAMgkB,EACNE,KAAMA,CAACp1B,EAAM3C,EAASpK,KAClB,QAAakS,IAATnF,GAAwC,iBAAlBA,EAAKgJ,UAA+B/V,IAAczkB,EAAUiK,UAAUE,YAAYI,uBACxG,OAGJ,MAAMoa,EACF3kB,EAAUiK,UAAUa,OAAOG,wCAAwCD,KAEjE+7C,EACFv5B,EAAEU,IAAIsD,EAAM,wBAAyB,IAAIgiB,eACzChmB,EAAEU,IAAIsD,EAAM,oBAAqB,IAAIgiB,cACnCwT,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEpBr0B,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,GAAKA,EAAE9a,gBAAevZ,KAAK,KACjML,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACtIx0B,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAMI,cAAgB8nB,EAEpH,IAAIV,EAAY,CAAC,EAGjB,OAFAA,EAAU1yB,EAAUiK,UAAUa,OAAOG,wCAAwCC,MAAMC,iBAAmB47C,EAE/F,CACHp0B,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACAq0B,iBACH,GAGT,CACI7wC,KAAMlW,EAAUiK,UAAUa,OAAOS,0CAC5BP,KACL03B,KAAMgkB,EACNE,KAAMA,CAACp1B,EAAM3C,EAASpK,KAClB,QACakS,IAATnF,GACkB,WAAlBA,EAAKgJ,UAED/V,IAAczkB,EAAUiK,UAAUE,YAAYK,yBAC9Cia,IAAczkB,EAAUiK,UAAUE,YAAYE,eAGlD,OAGJ,IAAIsa,EACA3kB,EAAUiK,UAAUa,OACfS,0CAA0CP,KAEnD,MAAMg8C,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GACtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEpBr0B,EAAWzyB,EAAUiK,UAAUa,OAAOS,0CAA0CL,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KAC9KL,EAAWzyB,EAAUiK,UAAUa,OAAOS,0CAA0CL,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACxHx0B,EAAWzyB,EAAUiK,UAAUa,OAAOS,0CAA0CL,MAAMI,cAAgB8nB,EAEtG,IAAIV,EAAY,CAAC,EAIjB,OAFAA,EAAU1yB,EAAUiK,UAAUa,OAAOS,0CAA0CL,MAAMC,iBAAmBqiB,EAAEU,IAAIsD,EAAM,oBAAqB,MAElI,CACHmB,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACH,GAGT,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAOU,wDAC5BR,KACL03B,KAAMgkB,EACNE,KAAMA,CAACp1B,EAAM3C,EAASpK,KAClB,QACakS,IAATnF,GACkB,qBAAlBA,EAAKgJ,UAED/V,IAAczkB,EAAUiK,UAAUE,YAAYM,2CAC9Cga,IAAczkB,EAAUiK,UAAUE,YAAYE,eAGlD,OAGJ,IAAIsa,EACA3kB,EAAUiK,UAAUa,OACfU,wDAAwDR,KAEjE,MAAMg8C,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEpBr0B,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KAC5LL,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACtIx0B,EAAWzyB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAMI,cAAgB8nB,EACpH,IAAIV,EAAY,CAAC,EAIjB,OAFAA,EAAU1yB,EAAUiK,UAAUa,OAAOU,wDAAwDN,MAAMC,iBAAmBqiB,EAAEU,IAAIsD,EAAM,oBAAqB,MAEhJ,CACHmB,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACH,GAGT,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAOc,yBAAyBZ,KAC1D03B,KAAMgkB,EACNE,KAAOp1B,IACH,QAAamF,IAATnF,GAAwC,iBAAlBA,EAAKgJ,SAC3B,OAGJ,IAAI7V,EAAY3kB,EAAUiK,UAAUa,OAAOc,yBAAyBZ,KAChEynB,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEhBp0B,EAAY,CAAC,EAMjB,OALAA,EAAU1yB,EAAUiK,UAAUa,OAAOc,yBAAyBV,MAAMC,iBAAmBqiB,EAAEU,IAAIsD,EAAM,oBAAqB,MACxHkB,EAAU1yB,EAAUiK,UAAUa,OAAOc,yBAAyBV,MAAMW,eAAiB2hB,EAAEU,IAAIsD,EAAM,qBAAsB,MACvHkB,EAAU1yB,EAAUiK,UAAUa,OAAOc,yBAAyBV,MAAMa,yBAA2ByhB,EAAEU,IAAIsD,EAAM,qCAAsC,MACjJkB,EAAU1yB,EAAUiK,UAAUa,OAAOc,yBAAyBV,MAAMY,oBAAsB0hB,EAAEU,IAAIsD,EAAM,6BAA8B,MAE7H,CACHmB,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACH,GAGT,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAOkB,yBAAyBhB,KAC1D03B,KAAMgkB,EACNE,KAAOp1B,IACH,QAAamF,IAATnF,GAAwC,iBAAlBA,EAAKgJ,SAC3B,OAGJ,IAAI7V,EAAY3kB,EAAUiK,UAAUa,OAAOkB,yBAAyBhB,KAChEynB,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAGpB,MAAO,CACHn0B,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACH,GAGT,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAOmB,gCAAgCjB,KACjE03B,KAAMgkB,EACNE,KAAMA,CAACp1B,EAAM3C,KACT,QACa8H,IAATnF,GACkB,SAAlBA,EAAKgJ,eACO7D,IAAZ9H,EAEA,OAGJ,IAAIlK,EAAY3kB,EAAUiK,UAAUa,OAAOmB,gCAAgCjB,KACvEynB,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAGhBp0B,EAAY,CAAC,EAGjB,OAFAA,EAAU1yB,EAAUiK,UAAUa,OAAOmB,gCAAgCf,MAAMiB,oBAAsBqhB,EAAEU,IAAI,OAAQ,0BAA2B,MAC1IwE,EAAU1yB,EAAUiK,UAAUa,OAAOmB,gCAAgCf,MAAMgB,YAAcshB,EAAEU,IAAIW,EAAS,uCAAwC,MACzI,CACH8D,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACH,GAGT,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAOmB,gCAAgCjB,KACjE03B,KAAMgkB,EACNE,KAAMA,CAACp1B,EAAM3C,KACT,QAAgB8H,IAAZ9H,QAAuD8H,IAA9B9H,EAAQu4B,kBACjC,OAGJ,IAAIziC,EAAY3kB,EAAUiK,UAAUa,OAAOmB,gCAAgCjB,KACvEynB,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAGhBp0B,EAAY,CAAC,EAGjB,OAFAA,EAAU1yB,EAAUiK,UAAUa,OAAOmB,gCAAgCf,MAAMiB,oBAAsBqhB,EAAEU,IAAIW,EAAS,oBAAqB,MACrI6D,EAAU1yB,EAAUiK,UAAUa,OAAOmB,gCAAgCf,MAAMgB,YAAcshB,EAAEU,IAAIW,EAAS,uCAAwC,MACzI,CACH8D,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,YACA8N,aACAC,YACH,GAKT,CACIxc,KAAMlW,EAAUgQ,KAAKhF,KACrB03B,KAAMgkB,EACNE,KAAM,SAAUp1B,GACZ,QAAamF,IAATnF,EACA,OAGJ,MAAM61B,EAAiB,CACnBC,aAActnD,EAAUgQ,KAAKI,sCAC7B21C,OAAQ/lD,EAAUgQ,KAAKG,+BAE3B,OAAKk3C,EAAe71B,EAAKnC,UAGlB,CACH1K,UAAW0iC,EAAe71B,EAAKnC,gBAJnC,CAMJ,GAEJ,CACInZ,KAAMlW,EAAUgQ,KAAKE,iCACrB02C,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QACakS,IAATnF,GACA/M,IAAczkB,EAAUgQ,KAAKC,oBAKjC,MAAO,CACH0U,UAAWk0B,KAAK3iC,KAExB,GAIJ,CACIA,KAAMlW,EAAUiK,UAAUa,OAAO6B,gBAAgB3B,KACjD03B,KAAMgkB,EACNE,KAAM,SAAUp1B,GACZ,QAAamF,IAATnF,EACA,OAIJ,IAAsC,IADxB,CAAC,eAAgB,oBACrBwT,QAAQxT,EAAKnC,UACnB,OAGJ,MAAM23B,EAAoB,CAACx1B,EAAKtC,QAASsC,EAAKZ,cACxCq2B,EAAQC,QAAQ11B,EAAK+B,oBAC3B,IAAId,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEpBr0B,EAAWzyB,EAAUiK,UAAUa,OAAO6B,gBAAgBzB,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACpJL,EAAWzyB,EAAUiK,UAAUa,OAAO6B,gBAAgBzB,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UAC9Fx0B,EAAWzyB,EAAUiK,UAAUa,OAAO6B,gBAAgBzB,MAAMI,cAAgBkmB,EAAK+B,mBACjFd,EAAWzyB,EAAUiK,UAAUa,OAAO6B,gBAAgBzB,MAAMQ,WAAa8lB,EAAKnC,SAE9E,IAAIqD,EAAY,CACZP,OAAQ80B,GAGZ,MAAO,CACHt0B,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChB,CAAClW,EAAUiK,UAAUa,OAAO6B,gBAAgBzB,MAAMQ,WAAY8lB,EAAKnC,SACnEqD,YACAD,aAER,GAEJ,CACIiQ,KAAMgkB,EACNE,KAAM,SAAUp1B,GACZ,QAAamF,IAATnF,EACA,OAGJ,MAAM61B,EAAiB,CACnBC,aAActnD,EAAUiK,UAAUa,OAAOgC,uBAAuB9B,KAChEu8C,iBAAkBvnD,EAAUiK,UAAUa,OAAOkC,+BAA+BhC,KAC5Ew8C,eAAgBxnD,EAAUiK,UAAUa,OAAOqC,0BAA0BnC,KACrEy8C,iBAAkBznD,EAAUiK,UAAUa,OAAO4C,4BAA4B1C,KACzE08C,mBAAoB1nD,EAAUiK,UAAUa,OAAO8C,8BAA8B5C,KAC7E28C,gBAAiB3nD,EAAUiK,UAAUa,OAAOgD,2BAA2B9C,KACvE48C,6BAA8B5nD,EAAUiK,UAAUa,OAAOkD,0CAA0ChD,KACnG68C,uBAAwB7nD,EAAUiK,UAAUa,OAAOoD,mCAAmClD,KACtF88C,sBAAuB9nD,EAAUiK,UAAUa,OAAOwC,wBAAwBtC,KAC1E+6C,OAAQ/lD,EAAUiK,UAAUa,OAAO0C,qBAAqBxC,KACxD+8C,aAAc/nD,EAAUiK,UAAUa,OAAOsD,uBAAuBpD,KAChEg9C,aAAchoD,EAAUiK,UAAUa,OAAOwD,uBAAuBtD,KAChEi9C,sBAAuBjoD,EAAUiK,UAAUa,OAAO0D,iCAAiCxD,KACnFk9C,gBAAiBloD,EAAUiK,UAAUa,OAAO4D,qBAAqB1D,KACjEm9C,WAAYnoD,EAAUiK,UAAUa,OAAOuC,sBAAsBrC,KAC7Do9C,QAASpoD,EAAUiK,UAAUa,OAAO8D,mBAAmB5D,KACvDq9C,KAAMroD,EAAUiK,UAAUa,OAAOgE,eAAe9D,MAGpD,IAAKq8C,EAAe71B,EAAKnC,UACrB,OAGJ,MAAM23B,EAAoB,CAACx1B,EAAKtC,QAASsC,EAAKZ,cACxCq2B,EAAQC,QAAQ11B,EAAK+B,oBAC3B,IAAId,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAMpB,OAJAr0B,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWrB,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACzIL,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWtB,aAAe,IAAG67C,EAAQ,MAAQ,UACnFx0B,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWpB,cAAgBkmB,EAAK+B,mBAE/D,CACHZ,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAW0iC,EAAe71B,EAAKnC,UAC/BoD,aAER,GAEJ,CACIiQ,KAAMgkB,EACNE,KAAM,SAAUp1B,GACZ,QAAamF,IAATnF,EACA,OAEJ,MAAM61B,EAAiB,CACnBtB,OAAQ/lD,EAAUiK,UAAUa,OAAOyC,YAAYvC,KAC/Cu8C,iBAAkBvnD,EAAUiK,UAAUa,OAAOiC,wBAAwB/B,KACrEs9C,QAAStoD,EAAUiK,UAAUa,OAAOmC,wBAAwBjC,KAC5Dw8C,eAAgBxnD,EAAUiK,UAAUa,OAAOoC,gBAAgBlC,KAC3Dy8C,iBAAkBznD,EAAUiK,UAAUa,OAAO2C,kBAAkBzC,KAC/D08C,mBAAoB1nD,EAAUiK,UAAUa,OAAO6C,oBAAoB3C,KACnE28C,gBAAiB3nD,EAAUiK,UAAUa,OAAO+C,iBAAiB7C,KAC7D48C,6BAA8B5nD,EAAUiK,UAAUa,OAAOiD,gCAAgC/C,KACzF68C,uBAAwB7nD,EAAUiK,UAAUa,OAAOmD,yBAAyBjD,KAC5E88C,sBAAuB9nD,EAAUiK,UAAUa,OAAOe,cAAcb,KAChE+8C,aAAc/nD,EAAUiK,UAAUa,OAAOqD,cAAcnD,KACvDg9C,aAAchoD,EAAUiK,UAAUa,OAAOuD,cAAcrD,KACvDi9C,sBAAuBjoD,EAAUiK,UAAUa,OAAOyD,uBAAuBvD,KACzEk9C,gBAAiBloD,EAAUiK,UAAUa,OAAO2D,WAAWzD,KACvDm9C,WAAYnoD,EAAUiK,UAAUa,OAAOsC,YAAYpC,KACnDo9C,QAASpoD,EAAUiK,UAAUa,OAAO6D,SAAS3D,KAC7Cq9C,KAAMroD,EAAUiK,UAAUa,OAAO+D,KAAK7D,MAG1C,IAAKq8C,EAAe71B,EAAKnC,UACrB,OAGJ,MAAM23B,EAAoB,CAACx1B,EAAKtC,QAASsC,EAAKZ,cACxCq2B,EAAQC,QAAQ11B,EAAK+B,oBAC3B,IAAId,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAMpB,OAJAr0B,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWrB,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACzIL,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWtB,aAAe,IAAG67C,EAAQ,MAAQ,UACnFx0B,EAAWzyB,EAAUiK,UAAUa,OAAO4B,WAAWpB,cAAgBkmB,EAAK+B,mBAE/D,CACHZ,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAW0iC,EAAe71B,EAAKnC,UAC/BoD,aAER,GAEJ,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAOqE,kBAAkBnE,KACnD03B,KAAMgkB,EACNE,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QAAakS,IAATnF,EACA,OAKJ,IAAsC,IAFxB,CAAC,UAELwT,QAAQxT,EAAKgJ,YAA0D,IAD3D,CAAC,aAAc,gBACoBwK,QAAQvgB,GAC7D,OAGJ,MAAM2L,EAAWu2B,EAAYn1B,EAAM3C,GAC7Bm4B,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxD23B,EAAa15B,EAAQsB,cAAgBtB,EAAQqB,UAAYrB,EAAQoB,UACjEu4B,EAAe35B,EAAQ45B,iBACvBxB,EAAQp4B,EAAQ6tB,SAAwC,gBAA5B7tB,EAAQ6tB,QAAQttB,QAC5CgE,EAAcvE,EAAQ6tB,SAAW7tB,EAAQ6tB,QAAQlpB,SAAW3E,EAAQ6tB,QAAQlpB,QAAQk1B,YAC1F,IAAIj2B,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAOpB,OALAr0B,EAAWzyB,EAAUiK,UAAUa,OAAOqE,kBAAkBjE,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACtJL,EAAWzyB,EAAUiK,UAAUa,OAAOqE,kBAAkBjE,MAAME,aAAe,GAAGm9C,EAAa,WAAa,SAAStB,EAAQ,MAAQ,gBAAwBtwB,IAAbvG,EAAyB,IAAMA,EAAW,KACxLqC,EAAWzyB,EAAUiK,UAAUa,OAAOqE,kBAAkBjE,MAAMI,cAAgB8nB,EAC9EX,EAAWzyB,EAAUiK,UAAUa,OAAOqE,kBAAkBjE,MAAMkE,YAAco5C,EAErE,CACH71B,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aAER,GAEJ,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAOuE,kBAAkBrE,KACnD03B,KAAMgkB,EACNE,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QAAakS,IAATnF,EACA,OAIJ,IAAsC,IADxB,CAAC,OAAQ,eACbwT,QAAQxT,EAAKnC,WAAoB5K,IAAczkB,EAAUiK,UAAUa,OAAO2E,0BAA0BzE,KAC1G,OAGJ,IAAIg8C,EAAoB,GAEpBx1B,EAAKtC,SAAWsC,EAAKZ,aACrBo2B,EAAoB,CAACx1B,EAAKtC,QAASsC,EAAKZ,cACjC/B,GAAWA,EAAQsS,OAC1B6lB,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,eAG5D,MAAMR,EAAWu2B,EAAYn1B,EAAM3C,GAC7B05B,EAAa/2B,EAAKrB,cAAgBqB,EAAKtB,UAAYsB,EAAKvB,WAAcpB,GAAWA,EAAQsB,cAAkBtB,GAAWA,EAAQqB,UAAcrB,GAAWA,EAAQoB,UAC/Je,EAAgBQ,EAAKR,eAAkBnC,GAAWA,EAAQ0L,SAAW1L,EAAQ0L,QAAQ/I,MAAQ3C,EAAQ0L,QAAQ/I,KAAKR,cAAc7a,MAChIid,EAAc5B,EAAK+B,oBAAuB1E,GAAWA,EAAQ6tB,SAAW7tB,EAAQ6tB,QAAQlpB,SAAW3E,EAAQ6tB,QAAQlpB,QAAQk1B,YAC3HzB,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAGhBp0B,EAAY,CACZP,OAAQ80B,GAQZ,OALAx0B,EAAWzyB,EAAUiK,UAAUa,OAAOuE,kBAAkBnE,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACtJL,EAAWzyB,EAAUiK,UAAUa,OAAOuE,kBAAkBnE,MAAME,aAAe,GAAGm9C,EAAa,WAAa,SAAStB,EAAQ,MAAQ,gBAAwBtwB,IAAbvG,EAAyB,IAAMA,EAAW,KACxLqC,EAAWzyB,EAAUiK,UAAUa,OAAOuE,kBAAkBnE,MAAMoE,gBAAkB0hB,EAChFyB,EAAWzyB,EAAUiK,UAAUa,OAAOuE,kBAAkBnE,MAAMI,cAAgB8nB,EAEvE,CACHT,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aACAC,YAER,GAEJ,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAO0E,mBAAmBxE,KACpD03B,KAAMgkB,EACNE,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QAAakS,IAATnF,EACA,OAIJ,KAAuC,IADzB,CAAC,OAAQ,eACZwT,QAAQxT,EAAKnC,WAAoBmC,EAAKR,gBAAkBhxB,EAAU+R,aAAe0S,IAAczkB,EAAUiK,UAAUa,OAAO2E,0BAA0BzE,KAC3J,OAGJ,IAAIg8C,EAAoB,GAEpBx1B,EAAKtC,SAAWsC,EAAKZ,aACrBo2B,EAAoB,CAACx1B,EAAKtC,QAASsC,EAAKZ,cACjC/B,GAAWA,EAAQsS,OAC1B6lB,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,eAG5D,MAAMR,EAAWu2B,EAAYn1B,EAAM3C,GAC7B05B,EAAa/2B,EAAKrB,cAAgBqB,EAAKtB,UAAYsB,EAAKvB,WAAcpB,GAAWA,EAAQsB,cAAkBtB,GAAWA,EAAQqB,UAAcrB,GAAWA,EAAQoB,UAC/Je,EAAgBQ,EAAKR,eAAkBnC,GAAWA,EAAQ0L,SAAW1L,EAAQ0L,QAAQ/I,MAAQ3C,EAAQ0L,QAAQ/I,KAAKR,cAAc7a,MAChIid,EAAc5B,EAAK+B,oBAAuB1E,GAAWA,EAAQ6tB,SAAW7tB,EAAQ6tB,QAAQlpB,SAAW3E,EAAQ6tB,QAAQlpB,QAAQk1B,YAC3HzB,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAOpB,OALAr0B,EAAWzyB,EAAUiK,UAAUa,OAAO0E,mBAAmBtE,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACvJL,EAAWzyB,EAAUiK,UAAUa,OAAO0E,mBAAmBtE,MAAME,aAAe,GAAGm9C,EAAa,WAAa,SAAStB,EAAQ,MAAQ,gBAAwBtwB,IAAbvG,EAAyB,IAAMA,EAAW,KACzLqC,EAAWzyB,EAAUiK,UAAUa,OAAO0E,mBAAmBtE,MAAMoE,gBAAkB0hB,EACjFyB,EAAWzyB,EAAUiK,UAAUa,OAAO0E,mBAAmBtE,MAAMI,cAAgB8nB,EAExE,CACHT,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aAER,GAGJ,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAOW,sBAAsBT,KACvD47C,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QACakS,IAATnF,IACiE,IAAjExxB,EAAUuJ,2BAA2By7B,QAAQxT,EAAKgJ,WAClD/V,IAAczkB,EAAUiK,UAAUE,YAAYC,6BAE9C,OAGJ,MAAM48C,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEhBp0B,EAAY,CAAC,EAQjB,OANAA,EAAU1yB,EAAUiK,UAAUa,OAAOW,sBAAsBP,MAAMC,iBAAmBqiB,EAAEU,IAAIsD,EAAM,oBAAqB,MACrHiB,EAAWzyB,EAAUiK,UAAUa,OAAOW,sBAAsBP,MAAMQ,WAAa8hB,EAAEU,IAAIsD,EAAM,WAAY,MACvGiB,EAAWzyB,EAAUiK,UAAUa,OAAOW,sBAAsBP,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KAC1JL,EAAWzyB,EAAUiK,UAAUa,OAAOW,sBAAsBP,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACpGx0B,EAAWzyB,EAAUiK,UAAUa,OAAOW,sBAAsBP,MAAMI,cAAgB8nB,EAE3E,CACHT,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aACAC,YAER,GAEJ,CACIxc,KAAMlW,EAAUiK,UAAUa,OAAOiE,yBAAyB/D,KAC1D47C,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QACakS,IAATnF,GACA/M,IAAczkB,EAAUiK,UAAUE,YAAYG,wBAE9C,OAGJ,MAAM08C,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GAEtB,IAAIX,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAOpB,OALAr0B,EAAWzyB,EAAUiK,UAAUa,OAAOiE,yBAAyB7D,MAAMtB,iBAAmB,GACxF6oB,EAAWzyB,EAAUiK,UAAUa,OAAOiE,yBAAyB7D,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KAC7JL,EAAWzyB,EAAUiK,UAAUa,OAAOiE,yBAAyB7D,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACvGx0B,EAAWzyB,EAAUiK,UAAUa,OAAOiE,yBAAyB7D,MAAMI,cAAgB8nB,EAE9E,CACHT,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aAER,GAEJ,CACIvc,KAAMlW,EAAUiK,UAAUa,OAAO4E,eAAe1E,KAChD47C,KAAM,SAAUp1B,EAAM3C,EAASpK,EAAWkkC,GACtC,GAAIlkC,IAAczkB,EAAUiK,UAAUa,OAAO4E,eAAe1E,KACxD,OAGJ,MAAMooB,EAAc5F,EAAEU,IAAIW,EAAS,+BAC7Bo4B,EAAQC,QAAQ9zB,GAChB4zB,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cAE9D,IAAI6B,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAUpB,OAPAr0B,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UAC7Fx0B,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAMI,cAAgB8nB,EAC3EX,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACnJL,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAMyE,mBAAqBg5C,GAAaA,EAAUC,SAAW,GAClHn2B,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAM0E,YAAc+4C,GAAaA,EAAUE,WAAa,GAC7Gp2B,EAAWzyB,EAAUiK,UAAUa,OAAO4E,eAAexE,MAAMQ,WAAa8hB,EAAEU,IAAIsD,EAAM,WAAY,MAEzF,CACHmB,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aACAvD,QAAS,MAEjB,GAEJ,CACIhZ,KAAMlW,EAAUiK,UAAUa,OAAOF,qBAAqBI,KACtD47C,KAAM,SAAUp1B,EAAM3C,EAASpK,GAC3B,QACakS,IAATnF,GACA/M,IAAczkB,EAAUiK,UAAUE,YAAYS,qBAE9C,OAGJ,MAAMo8C,EAAoB,CAACn4B,EAAQsS,KAAKjS,QAASL,EAAQsS,KAAKvQ,cACxDwC,EAAc5F,EAAEU,IAAIW,EAAS,+BAE7Bo4B,EAAoB,gBADVz5B,EAAEU,IAAIW,EAAS,mBAEzBqD,EAAS1E,EAAEU,IAAIW,EAAS,8BAE9B,IAAI4D,EAAa,CACbo0B,KAAM7mD,EAAU8mD,QAEhBp0B,EAAY,CAAC,EAQjB,OANAA,EAAU1yB,EAAUiK,UAAUa,OAAOF,qBAAqBM,MAAMC,iBAAmBqiB,EAAEU,IAAIsD,EAAM,oBAAqB,MACpHiB,EAAWzyB,EAAUiK,UAAUa,OAAOF,qBAAqBM,MAAMG,qBAAuB27C,EAAkB7oB,OAAO+oB,SAAS3oD,KAAI4oD,GAAKA,EAAE9a,gBAAevZ,KAAK,KACzJL,EAAWzyB,EAAUiK,UAAUa,OAAOF,qBAAqBM,MAAME,aAAe,IAAG67C,EAAQ,MAAQ,UACnGx0B,EAAWzyB,EAAUiK,UAAUa,OAAOF,qBAAqBM,MAAMI,cAAgB8nB,EACjFX,EAAWzyB,EAAUiK,UAAUa,OAAOF,qBAAqBM,MAAM2E,QAAUqiB,EAEpE,CACHS,aAAc3yB,EAAUiK,UAAUY,QAClC8Z,UAAWk0B,KAAK3iC,KAChBuc,aACAC,YACAxD,QAAS,MAEjB,ICpqBR,SAAS45B,EAAiBrjB,EAAM+H,GAO5B,IAAIjd,EAAevwB,IAAAA,2BAUnB,OAPIwtC,IAAe/H,EAAK2Z,cAIpB7uB,EAAekV,EAAKuW,OAASh8C,IAAAA,0BAAsCA,IAAAA,4BAGhEuwB,CACX,CAGO,SAASw0B,EAAgBgE,EAAatjB,GAAqC,IAA/BhL,EAAOhE,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CAAEuuB,UAAU,GAEjEgE,EAAW96B,IAAI66B,EAAa,qBAChC,GAAIC,GAAyB,MAAbA,EAAkB,CAC9B,MAAMxb,EAA8B,MAAhBwb,EAAS,GAAcA,EAASC,OAAO,GAAKD,EAChE7M,IAAAA,eAA2B,CACvB9sB,SAAUme,EACVjd,aAAcu4B,EAAiBrjB,EAAM+H,IACtC/S,EACP,CACJ,CAEO,SAASyuB,EAAU5mB,GAA4C,IAA3C,MAAEihB,EAAK,WAAEzlB,EAAU,cAAE0lB,EAAgB,IAAIlhB,EAChE,MAAM6mB,EAAaj7B,IAAIq1B,EAAO,aAAc,IACtCl0B,EAAW8sB,IAAAA,IAAgB,YACjCA,IAAAA,MAAkB,IACX9I,OAAOoK,KACV7rB,KAAMvC,EACNyC,KAAMyxB,EAAM9D,WAAWvpC,KACvBsc,kBAAmB22B,EACnBt3B,KAAM,CACFiM,KACG0lB,EAAcjlD,KAAIQ,GAAKA,EAAEmX,OAAMioB,OAAO+oB,UAC3Cp0B,KAAK,KACPzD,YAER,CAEO,SAASi1B,EAAwB1a,GAKpC,GAJIA,GAAYA,EAASwf,KAAOxf,EAASwf,IAAI16B,cACzCytB,IAAAA,OAAmBvS,EAASwf,IAAI16B,cAGhCkb,EAASuU,iBAAkB,CAC3B,IAAIkL,EAAwBzf,EAASuU,iBACjCmL,EAAejW,OAAOiW,aAE1B,IAAKA,EACD,QAGkD,IAAjDD,EAAsBE,OAAO,cAC9BD,EAAaE,SAASC,QAAQ,iBAE9BH,EAAaE,SAASC,QAAQ,gBAEtC,CACJ,CAEA,MAAMC,EAAuBA,KAErBrW,OAAOzsB,QAAUysB,OAAOzsB,OAAO+iC,WAAatW,OAAOzsB,OAAO+iC,UAAUC,WACpEvW,OAAOzsB,OAAOijC,IAAMxW,OAAOzsB,OAAO+iC,UAAUC,SAASE,YACjD,6BACA,IACO3N,IAAAA,MACHjtB,QAAS,MACTyE,UAAW5jB,EAAAA,YAGvB,EAGG,SAASs1C,EAAKzb,GAIjB,MAAM,SAAE0V,GAAa1V,EAYrB,OAXAA,EAASwf,IAAI16B,aAAa6E,mBAAqB+rB,EAAS/rB,mBACxDqW,EAASwf,IAAI16B,aAAaqD,UAAYutB,EAASvtB,UAC/C6X,EAASwf,IAAI16B,aAAasD,OAASstB,EAASttB,OAC5C4X,EAASwf,IAAI16B,aAAauD,iBAAmBqtB,EAASrtB,iBACtD2X,EAASwf,IAAI16B,aAAaqB,YAAcuvB,EAASvvB,YACjD6Z,EAASwf,IAAI16B,aAAa6D,mBAAqB+sB,EAASyK,kBAExD5N,IAAAA,WAAuBvS,EAASwf,IAAI16B,aAAckb,EAASwf,IAAI9J,SAAS7B,KAAKuM,UAAWxzB,IAAAA,oBAA8ByzB,GACtHP,IACAQ,IAAAA,iBAAkCtgB,GAE3BA,CACX,C,kBC7GA,IAAIrrC,EAAM,CACT,YAAa,CACZ,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,kCAAmC,CAClC,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,oCAAqC,CACpC,MACA,EACA,MAED,uCAAwC,CACvC,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,KACA,KAED,mBAAoB,CACnB,MACA,EACA,KACA,KACA,KAED,wBAAyB,CACxB,MACA,EACA,KACA,KACA,KAED,2BAA4B,CAC3B,MACA,EACA,KACA,KACA,KAED,cAAe,CACd,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,QAAS,CACR,MACA,GAED,WAAY,CACX,MACA,GAED,mBAAoB,CACnB,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,KACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,KACA,MAED,2BAA4B,CAC3B,MACA,EACA,KACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,kCAAmC,CAClC,MACA,EACA,MAED,YAAa,CACZ,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,iCAAkC,CACjC,MACA,EACA,MAED,sBAAuB,CACtB,KACA,EACA,MAED,uBAAwB,CACvB,KACA,EACA,MAED,4BAA6B,CAC5B,KACA,EACA,MAED,+BAAgC,CAC/B,KACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,KACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,qBAAsB,CACrB,MACA,EACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,KAED,yBAA0B,CACzB,MACA,EACA,KAED,8BAA+B,CAC9B,MACA,EACA,KAED,iCAAkC,CACjC,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,KAED,yBAA0B,CACzB,MACA,EACA,KAED,8BAA+B,CAC9B,MACA,EACA,KAED,iCAAkC,CACjC,MACA,EACA,KAED,yBAA0B,CACzB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,kCAAmC,CAClC,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,iBAAkB,CACjB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,WAAY,CACX,MACA,EACA,MAED,cAAe,CACd,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,MAED,oBAAqB,CACpB,MACA,EACA,KACA,MAED,UAAW,CACV,MACA,EACA,MAED,WAAY,CACX,MACA,EACA,MAED,wBAAyB,CACxB,MACA,GAED,2BAA4B,CAC3B,MACA,GAED,gBAAiB,CAChB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,GAED,8BAA+B,CAC9B,MACA,GAED,gBAAiB,CAChB,MACA,GAED,mBAAoB,CACnB,MACA,GAED,mBAAoB,CACnB,MACA,GAED,sBAAuB,CACtB,MACA,GAED,aAAc,CACb,KACA,EACA,KACA,MAED,cAAe,CACd,KACA,EACA,KACA,MAED,mBAAoB,CACnB,KACA,EACA,KACA,MAED,sBAAuB,CACtB,KACA,EACA,KACA,MAED,WAAY,CACX,MACA,EACA,MAED,YAAa,CACZ,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,6BAA8B,CAC7B,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,gCAAiC,CAChC,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,mCAAoC,CACnC,MACA,EACA,MAED,SAAU,CACT,MACA,EACA,MAED,UAAW,CACV,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,WAAY,CACX,MACA,EACA,KAED,YAAa,CACZ,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,KAED,oBAAqB,CACpB,MACA,EACA,KAED,aAAc,CACb,MACA,EACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,YAAa,CACZ,MACA,EACA,KAED,aAAc,CACb,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,KAED,WAAY,CACX,MACA,EACA,MAED,YAAa,CACZ,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,kBAAmB,CAClB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,KACA,MAED,iBAAkB,CACjB,MACA,EACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,KACA,MAED,4BAA6B,CAC5B,MACA,EACA,KACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,KACA,MAED,aAAc,CACb,KACA,EACA,MAED,cAAe,CACd,KACA,EACA,MAED,mBAAoB,CACnB,KACA,EACA,MAED,sBAAuB,CACtB,KACA,EACA,MAED,eAAgB,CACf,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,KAED,4BAA6B,CAC5B,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,oBAAqB,CACpB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,gBAAiB,CAChB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,aAAc,CACb,MACA,EACA,MAED,cAAe,CACd,MACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,kCAAmC,CAClC,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,iCAAkC,CACjC,MACA,EACA,MAED,uBAAwB,CACvB,KACA,EACA,KACA,KACA,MAED,wBAAyB,CACxB,KACA,EACA,KACA,KACA,MAED,qCAAsC,CACrC,MACA,GAED,wCAAyC,CACxC,MACA,GAED,6BAA8B,CAC7B,KACA,EACA,KACA,KACA,MAED,gCAAiC,CAChC,KACA,EACA,KACA,KACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,6BAA8B,CAC7B,MACA,EACA,MAED,gCAAiC,CAChC,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,uBAAwB,CACvB,MACA,EACA,MAED,uCAAwC,CACvC,MACA,EACA,MAED,0CAA2C,CAC1C,MACA,EACA,MAED,sCAAuC,CACtC,MACA,EACA,MAED,yCAA0C,CACzC,MACA,EACA,MAED,6CAA8C,CAC7C,MACA,EACA,MAED,gDAAiD,CAChD,MACA,EACA,MAED,4BAA6B,CAC5B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,0BAA2B,CAC1B,MACA,EACA,MAED,+BAAgC,CAC/B,MACA,EACA,MAED,kCAAmC,CAClC,MACA,EACA,MAED,iBAAkB,CACjB,KACA,EACA,MAED,kBAAmB,CAClB,KACA,EACA,MAED,uBAAwB,CACvB,KACA,EACA,MAED,0BAA2B,CAC1B,KACA,EACA,MAED,mBAAoB,CACnB,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,oBAAqB,CACpB,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,4BAA6B,CAC5B,MACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,eAAgB,CACf,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,YAAa,CACZ,MACA,EACA,KAED,aAAc,CACb,MACA,EACA,KAED,kBAAmB,CAClB,MACA,EACA,KAED,qBAAsB,CACrB,MACA,EACA,KAED,gBAAiB,CAChB,MACA,EACA,MAED,iBAAkB,CACjB,MACA,EACA,MAED,sBAAuB,CACtB,MACA,EACA,MAED,yBAA0B,CACzB,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,KACA,KACA,KACA,KACA,MAED,iBAAkB,CACjB,MACA,EACA,KACA,KACA,KACA,KACA,MAED,sBAAuB,CACtB,MACA,EACA,KACA,KACA,KACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,KACA,KACA,KACA,MAED,wBAAyB,CACxB,MACA,EACA,KACA,MAED,yBAA0B,CACzB,MACA,EACA,KACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,2BAA4B,CAC3B,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,MAED,gCAAiC,CAChC,MACA,EACA,MAED,mCAAoC,CACnC,MACA,EACA,MAED,8BAA+B,CAC9B,MACA,EACA,KACA,MAED,iCAAkC,CACjC,MACA,EACA,KACA,MAED,kCAAmC,CAClC,MACA,EACA,KACA,KACA,MAED,qCAAsC,CACrC,MACA,EACA,KACA,KACA,MAED,eAAgB,CACf,MACA,EACA,MAED,gBAAiB,CAChB,MACA,EACA,MAED,qBAAsB,CACrB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,MAED,wBAAyB,CACxB,MACA,EACA,KAED,yBAA0B,CACzB,MACA,EACA,KAED,8BAA+B,CAC9B,MACA,EACA,KAED,iCAAkC,CACjC,MACA,EACA,KAED,aAAc,CACb,MACA,EACA,KACA,MAED,iBAAkB,CACjB,MACA,EACA,KACA,MAED,sBAAuB,CACtB,MACA,GAED,yBAA0B,CACzB,MACA,GAED,UAAW,CACV,MACA,EACA,KAED,aAAc,CACb,MACA,EACA,MAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,CAAC,IAIT,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAON,QAAQQ,IAAIF,EAAIG,MAAM,GAAGd,IAAIG,EAAoBK,IAAID,MAAK,IACzDJ,EAAoBY,EAAEH,EAAa,GAATD,EAAI,KAEvC,CACAV,EAAoBe,KAAO,IAAOC,OAAOD,KAAKhB,GAC9CC,EAAoBW,GAAK,MACzBM,EAAOC,QAAUlB,C","sources":["webpack://bizsignupnodeweb/./lib/flow-bundles/ lazy ^\\.\\/.*\\/.*$ chunkName: [request] namespace object","webpack://bizsignupnodeweb/./lib/flow-bundles/ lazy ^\\.\\/.*\\/base$ chunkName: [request] namespace object","webpack://bizsignupnodeweb/./node_modules/@paypalcorp/instance-location/geo/ sync ^\\.\\/.*$","webpack://bizsignupnodeweb/./lib/constants.js","webpack://bizsignupnodeweb/./lib/core/fpti-data.js","webpack://bizsignupnodeweb/./lib/host.js","webpack://bizsignupnodeweb/./lib/payment_methods/constants.js","webpack://bizsignupnodeweb/./lib/ppcp_platforms/constants.js","webpack://bizsignupnodeweb/./lib/utils.js","webpack://bizsignupnodeweb/./lib/worldready-util.js","webpack://bizsignupnodeweb/./public/external-lib/ensightenManager.js","webpack://bizsignupnodeweb/./public/js/componentDefinitions.js","webpack://bizsignupnodeweb/./public/js/components/App.js","webpack://bizsignupnodeweb/./public/js/components/Fatca/constructData.js","webpack://bizsignupnodeweb/./public/js/components/Fatca/questionScaffold.js","webpack://bizsignupnodeweb/./public/js/components/Fatca/utils.js","webpack://bizsignupnodeweb/./public/js/components/Fatca/validate.js","webpack://bizsignupnodeweb/./public/js/components/PageHandler.js","webpack://bizsignupnodeweb/./public/js/components/PhoneFlagsDropdown/constructData.js","webpack://bizsignupnodeweb/./public/js/components/loadableComponent.js","webpack://bizsignupnodeweb/./lib/flow-bundles/async-loader.js","webpack://bizsignupnodeweb/./public/js/lib/asyncLoad.js","webpack://bizsignupnodeweb/./public/js/lib/routes.js","webpack://bizsignupnodeweb/./public/js/lib/store.js","webpack://bizsignupnodeweb/./lib/core/fpti-rules.js","webpack://bizsignupnodeweb/./public/js/lib/tracking.js","webpack://bizsignupnodeweb/./public/js/components/ lazy ^\\.\\/.*$ namespace object"],"sourcesContent":["var map = {\n\t\"./event-handlers/3PL\": [\n\t\t39230,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3239\n\t],\n\t\"./event-handlers/3PL.js\": [\n\t\t39230,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3239\n\t],\n\t\"./event-handlers/AU\": [\n\t\t5586,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8710\n\t],\n\t\"./event-handlers/AU.js\": [\n\t\t5586,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8710\n\t],\n\t\"./event-handlers/BR\": [\n\t\t22049,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t6157\n\t],\n\t\"./event-handlers/BR.js\": [\n\t\t22049,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t6157\n\t],\n\t\"./event-handlers/CA\": [\n\t\t4541,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7457\n\t],\n\t\"./event-handlers/CA.js\": [\n\t\t4541,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7457\n\t],\n\t\"./event-handlers/CH\": [\n\t\t95082,\n\t\t915\n\t],\n\t\"./event-handlers/CH.js\": [\n\t\t95082,\n\t\t915\n\t],\n\t\"./event-handlers/DE\": [\n\t\t14350,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t4694\n\t],\n\t\"./event-handlers/DE.js\": [\n\t\t14350,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t4694\n\t],\n\t\"./event-handlers/GB\": [\n\t\t63121,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t2514\n\t],\n\t\"./event-handlers/GB.js\": [\n\t\t63121,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t2514\n\t],\n\t\"./event-handlers/HK\": [\n\t\t7790,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3441\n\t],\n\t\"./event-handlers/HK.js\": [\n\t\t7790,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3441\n\t],\n\t\"./event-handlers/IN\": [\n\t\t62337,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3884\n\t],\n\t\"./event-handlers/IN.js\": [\n\t\t62337,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3884\n\t],\n\t\"./event-handlers/JP\": [\n\t\t30980,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t9235\n\t],\n\t\"./event-handlers/JP.js\": [\n\t\t30980,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t9235\n\t],\n\t\"./event-handlers/LUX\": [\n\t\t8614,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7238\n\t],\n\t\"./event-handlers/LUX.js\": [\n\t\t8614,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7238\n\t],\n\t\"./event-handlers/MY\": [\n\t\t39485,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t75\n\t],\n\t\"./event-handlers/MY.js\": [\n\t\t39485,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t75\n\t],\n\t\"./event-handlers/TH\": [\n\t\t32197,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t9169\n\t],\n\t\"./event-handlers/TH.js\": [\n\t\t32197,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t9169\n\t],\n\t\"./event-handlers/US\": [\n\t\t29877,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3716\n\t],\n\t\"./event-handlers/US.js\": [\n\t\t29877,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t3716\n\t],\n\t\"./event-handlers/_ROW/MX\": [\n\t\t5887,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t6894\n\t],\n\t\"./event-handlers/_ROW/MX.js\": [\n\t\t5887,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t6894\n\t],\n\t\"./event-handlers/_ROW/RU\": [\n\t\t26078,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t644\n\t],\n\t\"./event-handlers/_ROW/RU.js\": [\n\t\t26078,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t644\n\t],\n\t\"./event-handlers/_ROW/TH\": [\n\t\t7714,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t2458\n\t],\n\t\"./event-handlers/_ROW/TH.js\": [\n\t\t7714,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t2458\n\t],\n\t\"./event-handlers/_ROW/default\": [\n\t\t7671,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t4428\n\t],\n\t\"./event-handlers/_ROW/default.js\": [\n\t\t7671,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t4428\n\t],\n\t\"./event-handlers/advanced_vaulting\": [\n\t\t23097,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7950\n\t],\n\t\"./event-handlers/advanced_vaulting.js\": [\n\t\t23097,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7950\n\t],\n\t\"./event-handlers/base\": [\n\t\t34349,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515\n\t],\n\t\"./event-handlers/base.js\": [\n\t\t34349,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515\n\t],\n\t\"./event-handlers/boomerang\": [\n\t\t48624,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t1445\n\t],\n\t\"./event-handlers/boomerang.js\": [\n\t\t48624,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t1445\n\t],\n\t\"./event-handlers/fraudandintent\": [\n\t\t89515,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t635\n\t],\n\t\"./event-handlers/fraudandintent.js\": [\n\t\t89515,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t635\n\t],\n\t\"./event-handlers/friendlycontent\": [\n\t\t11596,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7612\n\t],\n\t\"./event-handlers/friendlycontent.js\": [\n\t\t11596,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7612\n\t],\n\t\"./event-handlers/global_self_certify_name_collection\": [\n\t\t20333,\n\t\t3368\n\t],\n\t\"./event-handlers/global_self_certify_name_collection.js\": [\n\t\t20333,\n\t\t3368\n\t],\n\t\"./event-handlers/multiproduct\": [\n\t\t39111,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t253\n\t],\n\t\"./event-handlers/multiproduct.js\": [\n\t\t39111,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t253\n\t],\n\t\"./event-handlers/ob_reboot_delta_data_collection\": [\n\t\t51546,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7326\n\t],\n\t\"./event-handlers/ob_reboot_delta_data_collection.js\": [\n\t\t51546,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t7326\n\t],\n\t\"./event-handlers/onepager\": [\n\t\t69037,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t1378\n\t],\n\t\"./event-handlers/onepager.js\": [\n\t\t69037,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t1378\n\t],\n\t\"./event-handlers/payment_methods\": [\n\t\t57020,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8232\n\t],\n\t\"./event-handlers/payment_methods.js\": [\n\t\t57020,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8232\n\t],\n\t\"./event-handlers/ppcpPlatforms\": [\n\t\t77995,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t351\n\t],\n\t\"./event-handlers/ppcpPlatforms.js\": [\n\t\t77995,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t351\n\t],\n\t\"./event-handlers/pphNative\": [\n\t\t36330,\n\t\t9755,\n\t\t4463\n\t],\n\t\"./event-handlers/pphNative.js\": [\n\t\t36330,\n\t\t9755,\n\t\t4463\n\t],\n\t\"./event-handlers/pphTracker\": [\n\t\t33731,\n\t\t9755,\n\t\t2671\n\t],\n\t\"./event-handlers/pphTracker.js\": [\n\t\t33731,\n\t\t9755,\n\t\t2671\n\t],\n\t\"./event-handlers/ppnp\": [\n\t\t83703,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8740\n\t],\n\t\"./event-handlers/ppnp.js\": [\n\t\t83703,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515,\n\t\t8740\n\t],\n\t\"./event-handlers/unactivated_account\": [\n\t\t90750,\n\t\t798\n\t],\n\t\"./event-handlers/unactivated_account.js\": [\n\t\t90750,\n\t\t798\n\t],\n\t\"./validations/AU\": [\n\t\t10483,\n\t\t928\n\t],\n\t\"./validations/AU.js\": [\n\t\t10483,\n\t\t928\n\t],\n\t\"./validations/BR\": [\n\t\t19263,\n\t\t6382\n\t],\n\t\"./validations/BR.js\": [\n\t\t19263,\n\t\t6382\n\t],\n\t\"./validations/CA\": [\n\t\t46615,\n\t\t8586\n\t],\n\t\"./validations/CA.js\": [\n\t\t46615,\n\t\t8586\n\t],\n\t\"./validations/CH\": [\n\t\t29308,\n\t\t6754\n\t],\n\t\"./validations/CH.js\": [\n\t\t29308,\n\t\t6754\n\t],\n\t\"./validations/GB\": [\n\t\t21224,\n\t\t4089\n\t],\n\t\"./validations/GB.js\": [\n\t\t21224,\n\t\t4089\n\t],\n\t\"./validations/HK\": [\n\t\t93883,\n\t\t8793,\n\t\t6030\n\t],\n\t\"./validations/HK.js\": [\n\t\t93883,\n\t\t8793,\n\t\t6030\n\t],\n\t\"./validations/IN\": [\n\t\t27298,\n\t\t2855\n\t],\n\t\"./validations/IN.js\": [\n\t\t27298,\n\t\t2855\n\t],\n\t\"./validations/IT\": [\n\t\t50158,\n\t\t8300\n\t],\n\t\"./validations/IT.js\": [\n\t\t50158,\n\t\t8300\n\t],\n\t\"./validations/JP\": [\n\t\t72538,\n\t\t8283\n\t],\n\t\"./validations/JP.js\": [\n\t\t72538,\n\t\t8283\n\t],\n\t\"./validations/US\": [\n\t\t67153,\n\t\t6628\n\t],\n\t\"./validations/US.js\": [\n\t\t67153,\n\t\t6628\n\t],\n\t\"./validations/_ROW/MX\": [\n\t\t38977,\n\t\t8722,\n\t\t2510,\n\t\t8048\n\t],\n\t\"./validations/_ROW/MX.js\": [\n\t\t38977,\n\t\t8722,\n\t\t2510,\n\t\t8048\n\t],\n\t\"./validations/_ROW/TH\": [\n\t\t89557,\n\t\t8722,\n\t\t2510,\n\t\t7633\n\t],\n\t\"./validations/_ROW/TH.js\": [\n\t\t89557,\n\t\t8722,\n\t\t2510,\n\t\t7633\n\t],\n\t\"./validations/base\": [\n\t\t66053,\n\t\t8722,\n\t\t2510\n\t],\n\t\"./validations/base.js\": [\n\t\t66053,\n\t\t8722,\n\t\t2510\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 29814;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./event-handlers/base\": [\n\t\t34349,\n\t\t9755,\n\t\t8722,\n\t\t7507,\n\t\t2510,\n\t\t2671,\n\t\t4515\n\t],\n\t\"./validations/base\": [\n\t\t66053,\n\t\t8722,\n\t\t2510\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__.t(id, 7 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 53290;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./\": 76922,\n\t\"./common\": 12541,\n\t\"./common.js\": 12541,\n\t\"./index\": 76922,\n\t\"./index.js\": 76922,\n\t\"./msgeo\": 73714,\n\t\"./msgeo.js\": 73714,\n\t\"./pp_cn\": 30580,\n\t\"./pp_cn.js\": 30580\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 7960;","const groups = require('../config/metadata/groups.json'),\n deployEnv = require('environment-paypal');\n\nconst _countriesFromGroups = Object.keys(groups).reduce((acc, group) => {\n let groupCountryList = Object.keys(groups[group]);\n return [...acc, ...groupCountryList];\n}, []);\n\n/* istanbul ignore next */\nconst CONSTANTS = {\n 'STYLE_INTERNATIONAL': 'international',\n 'STYLE_FULL': 'full',\n 'POLICY_PROCESS_TO_URL': {\n CIP_VERIFICATION: '/policydashboard/process/compliance/cip',\n BENEFICIAL_OWNER_VERIFICATION: '/policy/flow/fincenbo'\n },\n 'DOC_UPLOAD_MAX_FILE_SIZE_DEFAULT': '10',\n 'DOC_UPLOAD_MIN_FILE_SIZE_DEFAULT': '30',\n 'BASE_POINT': '/bizsignup',\n 'ENTRY_POINT': '/bizsignup/entry',\n 'RESUME_ENTRY_POINT': '/bizsignup/resume',\n 'PARTNER_RESUME_ENTRY_POINT': '/bizsignup/partner/resume',\n 'PARTNER_TO_UL_ENTRY_POINT': '/bizsignup/login',\n 'REDIRECT_CHARITY': '/bizsignup/charities',\n 'CHECK_ACCOUNT': 'CHECK_ACCOUNT',\n 'RESTRICTED': 'RESTRICTED',\n 'PDNW_TH_KYC_URL': '/policydashboard/process/compliance/kyc',\n 'PDNW_KYC_PREFIX': '/policydashboard/process/compliance',\n 'PDNW_EU_PAYMENT_METHODS_KYC_PROCESS': 'kyc_lite',\n 'PDNW_EU_PAYMENT_METHODS_KYC_RETURN_URL': '/bizsignup/flows/eu/payment_methods/handle-policy',\n 'PUI_KYC_RCS_CONFIG_KEY': 'pui.kyc.process',\n 'DISABLE_MSN_REDIRECTION_KEY': 'disableMSNRedirection',\n 'BSNW_REMOTE_CONFIG': 'bsnwRemoteConfig',\n 'PARTNER_BLOCK_LIST': 'partnerBlockList',\n 'PRODUCT_CONFIG': 'productConfig',\n 'MAC_COUNTRIES_CONFIG': 'macCountriesConfig',\n 'DDC_COUNTRIES_CONFIG': 'ddcCountriesConfig',\n 'ACCOUNT_TYPE_PERSONAL': 'PERSONAL',\n 'ACCOUNT_TYPE_PREMIER': 'PREMIER',\n 'ACCOUNT_TYPE_BUSINESS': 'BUSINESS',\n 'ACCOUNT_STATE_UNACTIVATED': 'UNACTIVATED',\n 'WEBSCR_UPGRADE_URL': '/cgi-bin/webscr?cmd=_business-upgrade-explicit',\n 'WEBSCR_UPGRADE_PERSONAL': '/cgi-bin/webscr?cmd=_business-upgrade-info',\n 'WEBSCR_UPGRADE_PREMIER': '/cgi-bin/webscr?cmd=_profile-business-info',\n 'CREATE_MIN_ACCOUNT': 'CREATE_MIN_ACCOUNT',\n 'CREATE_RELATED_USER': 'CREATE_RELATED_USER',\n 'CREATE_USER': 'CREATE_USER',\n 'CUSTOMER_TYPE': 'MERCHANT',\n 'CRS_REDIRECT_URL': '/policydashboard/process/compliance/crsfatca/?useLiteUI=true',\n 'CIP_REDIRECT_URL': '/policydashboard/process/compliance/cip',\n 'GUEST': 'guest',\n 'THIRD_PARTY_INDIVIDUAL': 'INDIVIDUAL',\n 'THIRD_PARTY_ORGANIZATION': 'ORGANIZATION',\n 'BUSINESS_CHANNEL': 'ANY',\n 'ORGANIC_BUSINESS_CHANNEL': 'ORGANIC',\n 'LARGE_MERCHANT_BUSINESS_CHANNEL': 'LARGE_MERCHANT',\n 'ADROIT_CIP_REDIRECT_URL': '/policydashboard/process/compliance/cip',\n 'ADROIT_KYC_REDIRECT_URL': '/policydashboard/process/compliance/kyc',\n 'DEXTER_CIP_REDIRECT_URL': '/policy/hub/cip',\n 'FINCENBO_REDIRECT_URL': '/policy/flow/fincenbo',\n 'GET_PERSON_INFO': 'GET_PERSON_INFO',\n 'GET_BUSINESS_INFO': 'GET_BUSINESS_INFO',\n 'GET_ACCOUNT_INFO': 'GET_ACCOUNT_INFO',\n 'GET_CONTEXTS': 'GET_CONTEXTS',\n 'COMPLIANCE_PAGE': 'compliance',\n 'BUSINESSINFO_PAGE': 'businessInfo',\n 'PERSONALINFO_PAGE': 'personalInfo',\n 'CONTEXUALMSGPREF_PAGE': 'contextualMsgPref',\n 'PARTNER_ADD_BANK_PAGE': 'addBank',\n 'GRANT_PERMISSIONS_PAGE': 'grantPermissions',\n 'REVIEW_PAGE': 'review',\n 'BANK_PAGE': 'addBank',\n 'NEW_USER_INFO_PAGE': 'newUserInfo',\n 'US_TERRITORIES_PAGE': 'territories',\n 'PPH_CHECK_ACCOUNT_SDK_PAGE': 'checkAccountSDK',\n 'PPH_DEBITCARD_PAGE': 'debitCard',\n 'PPH_CARD_READER_PAGE': 'cardReader',\n 'PPH_DENIED_PAGE': 'denied',\n 'PPH_MANUAL_REVIEW_PAGE': 'review',\n 'PPH_APPROVED_PAGE': 'approval',\n 'PPH_APPROVED_SDK_PAGE': 'approvalSDK',\n 'PPH_APPROVED_EMAIL_CONFIRM': 'approvalEmailConfirm',\n 'PPH_ADDITIONAL_INFORMATION_PAGE': 'additionalInformation',\n 'PPH_UNSUPPORT_COUNTRY_PAGE': 'unsupportedCountries',\n 'PPH_REDIRECT_SDK_PAGE': 'redirectSDKPage',\n 'PPH_REDIRECT_GIFT_PAGE': 'redirectGiftPage',\n 'POST_LOGIN_URL': '/bizsignup/postlogin',\n 'PPH_LANDING_PAGE_EXP': 'landingPageWithReader',\n 'CREATE_PAGE_URL': '/bizsignup/#/create',\n 'UPGRADE_BUSINESS_ACCOUNT_PAGE': 'upgradeBusinessAccount',\n 'BIZTYPE_SELECTION_PAGE': 'businessTypeSelection',\n 'UPGRADE_BIZTYPE_SELECTION_PAGE': 'upgradeBusinessTypeSelection',\n 'SINGLE_PAGE_SIGNUP': 'singlePageSignup',\n 'CHECK_ACCOUNT_PAGE': 'checkAccount',\n 'CBP_INFO': 'cbpInfo',\n 'CREATE_PASSWORD_PAGE': 'createPassword',\n 'UPGRADE_BUSINESS_INFO_PAGE': 'upgradeBusinessInfo',\n 'UPGRADE_CREATE_PAGE': 'upgradeCreate',\n 'BO_COLLECTION': 'boCollection',\n 'CIP_VERIFICATION': 'cipVerification',\n 'UPGRADE_DECISION_PAGE': 'upgradeDecision',\n 'CREATE_PAGE': 'create',\n 'PROFILE_PAGE': 'profile',\n 'BIZ_INFO_PAGE': 'bizInfo',\n 'BUSINESS_UPGRADE_DECISION_PAGE': 'businessUpgrade',\n 'BUSINESS_UPGRADE_DETAILS_PAGE': 'upgradeBusinessAccount',\n 'NONPROFIT_INFO_PAGE': 'nonprofitInfo',\n 'UPGRADE_PAGE': 'upgrade',\n 'ACCOUNT_STATUS_PAGE': 'accountStatus',\n 'COMPLIANCE_SELF_CERTIFY_PAGE': 'selfCertify',\n 'THIRD_PARTY_AGENT': 'thirdPartyAgent',\n 'STAKEHOLDER_PAGE': 'stakeholder',\n 'STAKEHOLDER_PAGE_ADROIT': 'stakeholdercollection',\n 'STAKEHOLDER_PAGE_RAMPED': 'stakeholdercollectionRamped',\n 'FATCA_TIN_COLLECTION': 'fatcaCollection',\n 'KYC_PAGE_ADROIT': 'kycCollection',\n 'FATCA_ROUTE_URL': 'fatca',\n 'COMPLIANCE_ROUTE_URL': 'compliance',\n 'SELF_CERTIFY_ROUTE_URL': 'self-certify',\n 'USER_INFO_PAGE': 'userInfo',\n 'GATEWAY_PAGE': 'gateway',\n 'DONE_PAGE': 'done',\n 'UPGRADE_ERROR_PAGE': 'upgradeRestriction',\n 'ELIGIBILITY_PAGE': 'eligibility',\n 'INTENT_PAGE': 'intent',\n 'UPGRADE_INTENT_PAGE': 'upgradeIntent',\n 'NO_INTENT': 'no_intent',\n 'WPS': 'wps',\n 'PPE': 'ppe',\n 'NO_SECONDARY_PRODUCT': 'no_secondary_product',\n 'NO_CAPABILITY': 'no_capability',\n 'NO_PARTNER_ID': 'no_partner_id',\n 'NO_INTEGRATION_TYPE': 'no_integration_type',\n 'NO_ACCOUNT_TYPE': 'no_account_type',\n 'UPGRADE_DECISION_CS_PAGE': 'upgradeDecision',\n 'PERMISSION_PAGE': 'permission',\n 'RESUBMIT_PAGE': 'resubmit',\n 'ADDITIONAL_BUSINESS_INFO_PAGE': 'additionalBusinessInfo',\n 'PAYMENTINFO_PAGE': 'paymentInfo',\n 'PARTNER_DONE': 'partnerDone',\n 'PARTNER_DONE_POST_CHECK': 'partnerDonePostCheck',\n 'INTEGRATE_PASSWORD_PAGE': 'integratePassword',\n 'ERROR': 'ERROR',\n 'COMPLETE': 'COMPLETE',\n 'MANUAL_REVIEW': 'MANUAL_REVIEW',\n 'DECLINED': 'DECLINED',\n 'INACTIVE': 'INACTIVE',\n 'NEED_DATA': 'NEED_DATA',\n 'ACTIVE': 'ACTIVE',\n 'IN_PROGRESS': 'IN_PROGRESS',\n 'IN_REVIEW': 'IN_REVIEW',\n 'DENIED': 'DENIED',\n 'DENY': 'DENY',\n 'APPROVED': 'APPROVED',\n 'REVOKED': 'REVOKED',\n 'SUSPENDED': 'SUSPENDED',\n 'SUBSCRIBED': 'SUBSCRIBED',\n 'SUBMITTED': 'SUBMITTED',\n 'SUBSCRIBED_WITH_LIMIT': 'SUBSCRIBED_WITH_LIMIT',\n 'NEED_MORE_DATA': 'NEED_MORE_DATA',\n 'PRODUCT_PROVISION_HOOK': 'product-provision',\n 'COMPLIANCE_VERIFICATIONS_HOOK': 'compliance-verifications',\n 'PRODUCT_STATUS_HOOK': 'product-status',\n 'DISCOVER_POLICY_REQUIREMENTS_HOOK': 'discover-policy-requirements',\n 'DISCOVERY_HOOK': 'discovery-info',\n 'POLICY_STATUS_HOOK': 'policy-status',\n 'POLICY_REQUIREMENTS_HOOK': 'policy-requirements',\n 'THIRD_PARTY_AGENT_HOOK': 'third-party-agent',\n 'VERIFY_TOKEN_HOOK': 'verify-token',\n 'PPCP_CUSTOM_PRODUCT': 'PPCP_CUSTOM',\n 'KYC_POLICY': 'KYC',\n 'CIP_POLICY': 'CIP',\n 'CUSTOM_CARD_PROCESSING_CAPABILITY': 'CUSTOM_CARD_PROCESSING',\n 'GET_USER_IDS': 'GET_USER_IDS',\n 'TECHNICAL_CHANNEL': 'WEB',\n 'EXPERIENCE_CHANNEL': 'FALCON_BASIC',\n 'PRO_EXPERIENCE_CHANNEL': 'PYFL_PRO',\n 'AUTO_TRANSFER_SEGMENT': 'ALL_20210204_AUTO_SETTLEMENT_SEGMENT',\n 'EMAIL_STATUS_VERIFIED': 'verified',\n 'EMAIL_STATUS_NOT_VERIFIED': 'not-verified',\n 'EMAIL_ALREADY_EXISTS': 'email_already_exists',\n 'GRANT_EMAIL_AUTHORIZATION': 'email-verified',\n 'EMAIL_SERVICENAME': 'EMAIL',\n 'UPDATE_PERSON_INFO': 'UPDATE_PERSON_INFO',\n 'UPDATE_BUSINESS_INFO': 'UPDATE_BUSINESS_INFO',\n 'UPDATE_ACCOUNT_INFO': 'UPDATE_ACCOUNT_INFO',\n 'UPGRADE_ACCOUNT': 'UPGRADE_ACCOUNT',\n 'DEFAULT_RESUME_PAGE': 'businessInfo',\n 'DEFAULT_UPGRADE_RESUME_PAGE': 'upgradeBusinessInfo',\n 'SIGNUP_STACK': 'bizsignup',\n 'UPDATE_ONBOARDING_STATUS': 'ONBOARDING_STATUS',\n 'UPDATE_HAWK_STATUS': 'ENABLE_HAWK',\n 'LOCALE_LANG': 'en_US',\n 'PREFERRED_DATABASE_LANG': 'DATABASE',\n 'PREFERRED_ASCII_LANG': 'ASCII_SIMPLIFIED',\n 'ONBOARDING_STATUS_IN_PROGRESS': 'IN_PROGRESS',\n 'ONBOARDING_STATUS_COMPLETED': 'COMPLETED',\n 'ONBOARDING_STATUS_DECLINED': 'DECLINED',\n 'ONBOARDING_STATUS_MANUAL_REVIEW': 'MANUAL_REVIEW',\n 'CREATE_CONTEXT': 'CREATE_CONTEXT',\n 'COMPLETE_CONTEXT': 'COMPLETE_CONTEXT',\n 'ADDRESS_LOOKUP': 'ADDRESS_LOOKUP',\n 'ADDRESS_NORMALIZATION': 'NORMALIZE_ADDRESS',\n 'EXISTING_ACCOUNT': 'existingAccount',\n 'CONTENT_PATH': 'path:./locales',\n 'RESOURCE_ID_ENTRY': 'webnode:bizsignup__entry',\n 'RESOURCE_ID_UPGRADE': 'webnode:bizsignup__upgrade',\n 'ENTRY_FORM_NAME': 'login',\n 'PHONE_COUNTRY_CODE': 'businessPhoneNumber-dialCode',\n 'OAS_DATE_PATTERN': 'y-MM-dd',\n 'WORLDREADY_DATE_PATTERN': 'yMMdd',\n 'GRIFFIN_DATE_PATTERN': 'yMMdd',\n 'IS_RESUME_FLOW_FPTI': 'Y',\n 'SIGNUP_TYPE_CREATE_FPTI': 'create',\n 'SIGNUP_TYPE_RESUME_FPTI': 'resume',\n 'SIGNUP_TYPE_UPGRADE_FPTI': 'upgrade',\n 'IS_UPGRADE_FLOW_FPTI': 'Y',\n 'IS_ADD_PRODUCT_FLOW_FPTI': 'Y',\n 'CONTINUE': 'continue',\n 'SIGN_IN': 'sign_in',\n 'AGREE_AND_CREATE_ACCOUNT': 'agree_and_create_account',\n 'FULL_ACCOUNT_CREATED': 'full_account_created',\n 'MIN_ACCOUNT_CREATED': 'min_account_created',\n 'UNACTIVATED_ACCOUNT_CREATED': 'unactivated_account_created',\n 'YES': 'YES',\n 'NO': 'NO',\n 'BO_PERCENTAGE': '26',\n 'PROSPECT_TYPE_SIGNUP_START': 5,\n 'PROSPECT_TYPE_SIGNUP_DONE': 7,\n 'SUBSCRIBE': 'subscribe',\n 'UNSUBSCRIBE': 'unsubscribe',\n 'INACTIVE_PROHIBITED_MCC': 'INACTIVE_PROHIBITED_MCC',\n 'ACTIVE_ON_OPT_BLUE': 'ACTIVE_ON_OPT_BLUE',\n 'BUSINESS_TYPE_INDIVIDUAL': 'INDIVIDUAL',\n 'BUSINESS_TYPE_SINGLE_OWNER_LLC': 'SINGLE_OWNER_LLC',\n 'BUSINESS_TYPE_PROPRIETORSHIP': 'PROPRIETORSHIP',\n 'BUSINESS_TYPE_PUBLIC_CORPORATION': 'PUBLIC_CORPORATION',\n 'BUSINESS_TYPE_PUBLIC_COMPANY': 'PUBLIC_COMPANY',\n 'BUSINESS_TYPE_PARTNERSHIP': 'PARTNERSHIP',\n 'BUSINESS_TYPE_PRIVATE_CORPORATION': 'PRIVATE_CORPORATION',\n 'BUSINESS_TYPE_ASSOCIATION': 'ASSOCIATION',\n 'BUSINESS_SUBTYPE_TO_TYPE_MAP': {\n 'ASSO_TYPE_INCORPORATED': 'ASSOCIATION',\n 'ASSO_TYPE_NON_INCORPORATED': 'ASSOCIATION'\n },\n 'UNIFIEDONBOARDING_URL_CREATE_ACCOUNT': '/unifiedonboarding/entry',\n 'UNIFIEDONBOARDING_URL_AFTER_LOGIN': '/unifiedonboarding/after-login',\n 'UNIFIEDONBOARDING_URL_REDIRECT_ENTRY': '/unifiedonboarding/redirect-entry',\n 'UNIFIEDONBOARDING_URL': '/unifiedonboarding/after-login?skipGetStartedPage=true',\n 'VALID_DOMAINS': ['paypal.com', 'paypal.cn', 'paypal.me', 'openpaypalbusiness'],\n 'SSN_REQUIRED_BUSINESS_TYPES': ['INDIVIDUAL', 'PROPRIETORSHIP', 'GENERAL_PARTNERSHIP'],\n 'US_TERRITORIES': ['AS', 'GU', 'MP', 'PR', 'VI', 'FM', 'MH', 'PW'],\n 'APP_ID': 'bizsignupnodeweb',\n '3PL_LEGAL_ENTITY': 'legalEntity/3PL',\n 'LUX_LEGAL_ENTITY': 'legalEntity/LUX',\n 'SINGLE_FORM_COUNTRIES': ['US', 'HK', 'GB', 'AU'],\n 'LARGE_MERCHANT_COUNTRIES': ['US'],\n 'PPH_SUPPORT_COUNTRIES': ['US', 'GB', 'AU'],\n 'POSTAL_CODE_FIRST_COUNTRIES': ['BR', 'IN'], // countries where postal code input should be rearranged to beginning\n 'LARGE_MERCHANT': 'largemerchant',\n 'SSN4_AMVS': ['AverageMonthlyVolume-Range1', 'AverageMonthlyVolume-Range2'],\n 'EIN_REQUIRED_BUSINESS_TYPES': ['CORPORATION', 'GOVERNMENT'],\n 'EIN_REQUIRED_PRO_BUSINESS_TYPES': ['LIMITED_PARTNERSHIP', 'GENERAL_PARTNERSHIP', 'LIMITED_LIABILITY_PARTNERSHIP', 'LIMITED_LIABILITY_PROPRIETORS', 'PRIVATE_CORPORATION', 'PUBLIC_CORPORATION', 'NONPROFIT', 'GOVERNMENT'],\n 'DBE_REQUIRED_BUSINESS_TYPES': ['PROPRIETORSHIP', 'PARTNERSHIP', 'PRIVATE_CORPORATION', 'PUBLIC_COMPANY', 'NONPROFIT', 'GOVERNMENT'],\n 'BRN_REQUIRED_BUSINESS_TYPES': ['PROPRIETORSHIP', 'PARTNERSHIP', 'PRIVATE_CORPORATION', 'PUBLIC_COMPANY', 'NONPROFIT'],\n 'BRN_OPTIONAL_BUSINESS_TYPES': ['GOVERNMENT'],\n 'COI_REQUIRED_BUSINESS_TYPES': ['PROPRIETORSHIP', 'PARTNERSHIP', 'PRIVATE_CORPORATION', 'PUBLIC_COMPANY', 'NONPROFIT', 'GOVERNMENT'],\n 'NONPROFIT': 'NONPROFIT',\n 'TRUST': 'TRUST',\n 'CRA': 'CHARITY_REG_REVENUE_AGENCY',\n 'ISED': 'NONPROFIT_REG_ORG',\n 'PAYPAL_PLUS': 'ppp',\n 'PPP_BRN_REQUIRED_BUSINESS_TYPES': ['PARTNERSHIP', 'PRIVATE_CORPORATION', 'PUBLIC_COMPANY', 'NONPROFIT'],\n 'PPP_WIDE_LAYOUT_PAGES': ['review'],\n 'FI_UNAVAILABLE': 'FINANCIAL_INSTRUMENT_UNAVAILABLE',\n 'ENTITY_BUSINESS_TYPES': ['PARTNERSHIP', 'CORPORATION', 'NONPROFIT', 'GOVERNMENT'],\n 'ENTITY_BUSINESS_TYPES_US_PRO': ['LIMITED_PARTNERSHIP', 'GENERAL_PARTNERSHIP', 'LIMITED_LIABILITY_PARTNERSHIP', 'LIMITED_LIABILITY_PROPRIETORS', 'PRIVATE_CORPORATION', 'PUBLIC_CORPORATION', 'NONPROFIT', 'GOVERNMENT'],\n 'NON_ENTITY_BUSINESS_TYPES': ['INDIVIDUAL', 'PROPRIETORSHIP', 'SINGLE_OWNER_LLC'],\n 'MISSING_VALUE': 'MISSING_VALUE',\n 'COMPLIANCE_UNPROCESSABLE_ENTITY': 'COMPLIANCE_UNPROCESSABLE_ENTITY',\n 'USER_NOT_AUTHENTICATED': 'USER_NOT_AUTHENTICATED',\n 'NATIONAL_ID': 'NATIONAL_ID',\n 'PASSPORT_NUMBER': 'PASSPORT_NUMBER',\n 'TEMPORARY_NATIONAL_ID': 'TEMPORARY_NATIONAL_ID',\n 'HK': 'HK',\n 'BR': 'BR',\n 'TH': 'TH',\n 'EXTERNAL_DEXTER_REDIRECT_COUNTRIES': ['HK'],\n 'ISU_EXTERNAL_DEXTER_REDIRECT_COUNTRIES': ['JP'],\n 'CONFIGURE_SETTINGS_LINK': '/businessmanage/account/payments',\n 'APPLE_PAY_DOMAIN_REGISTRATION_LINK': '/uccservicing/apm/applepay/adddomain',\n\n /* STAKEHOLDERS */\n 'BENEFICIAL_OWNER': 'beneficialOwners',\n 'OFFICIAL_BEARER': 'officeBearers',\n 'INDIVIDUAL_PARTNER': 'individualPartners',\n 'BENEFICIAL_OWNERS': 'beneficialOwners',\n 'BENEFICIAL_OWNER_GREATER_THAN_10PERCENT_COUNT_PROPERTY': 'FATCA_COUNT',\n 'BENEFICIAL_OWNER_UNIVERSAL_COUNT_PROPERTY': 'AML_COUNT',\n 'BENEFICIAL_OWNER_25PERCENT_COUNT': 'BENEFICIAL_OWNER_25PERCENT_COUNT',\n 'DIRECTORS_COUNT_PROPERTY': 'DIRECTORS_COUNT',\n 'INDIVIDUAL_PARTNER_COUNT_PROPERTY': 'PARTNER_COUNT',\n 'OFFICIAL_BEARER_COUNT_PROPERTY': 'OFFICIAL_BEARER_COUNT',\n 'STAKEHOLDER_COUNT_GROUP_NAME': 'BIZ_PROFILE_STAKEHOLDER_COUNT',\n 'STAKEHOLDER_REQUIRED_COUNTRIES': ['BR', 'HK'],\n 'NON_UPGRADE_COUNTRIES': ['BR', 'RU'],\n 'BO_COLLECTION_REQUIRED_BUSINESS_TYPES': ['PARTNERSHIP', 'PRIVATE_CORPORATION', 'NONPROFIT', 'LIMITED_PARTNERSHIP', 'GENERAL_PARTNERSHIP', 'LIMITED_LIABILITY_PARTNERSHIP', 'LIMITED_LIABILITY_PROPRIETORS', 'PUBLIC_COMPANY', 'MULTI_MEMBER_LLC'],\n\n 'LUX': 'LUX',\n '3PL': '3PL',\n 'DIRECTOR': 'directors',\n 'DIRECTORS': 'directors',\n 'EDIT_ACTION': 'edit',\n 'ADD_ACTION': 'add',\n 'PAU_ACTION': 'pau',\n 'AML_FATCA_TAG': 'AML_FATCA',\n 'AML_TAG': 'AML',\n 'INACTIVE_STAKEHOLDER': 'INACTIVE',\n 'ACTIVE_STAKEHOLDER': 'ACTIVE',\n 'INVALID_STAKEHOLDER': 'INVALID',\n 'STAKEHOLDERS_FIELD': 'stakeholders',\n 'BENEFICIAL_OWNER_ROLE_CODE': 'BENEFICIAL_OWNER',\n 'DIRECTORS_ROLE_CODE': 'DIRECTORS',\n 'INDIVIDUAL_PARTNER_ROLE_CODE': 'INDIVIDUAL_PARTNER',\n 'OFFICIAL_BEARER_ROLE_CODE': 'OFFICIAL_BEARER',\n 'portable': 'portable',\n 'coarse': 'coarse',\n 'addressPortableWithDetails': 'address-portable-with-details',\n 'TIME_ZONE': 'Etc/UTC',\n\n TYPE: {\n 'person': 'person',\n 'business': 'business'\n },\n\n NAME_CONVERTER: {\n 'twoSurnames': 'twoSurnames',\n 'oneSurname': 'oneSurname'\n },\n 'FPTI_VAT_ID_CLEARED_STATE_NAME': 'vat_id_cleared',\n 'PARTNER_PPCP_EXPANSION_TO_ALL_COUNTRIES': 'PARTNER_PPCP_EXPANSION_TO_ALL_COUNTRIES',\n ROLE_TO_SECTION: {\n BENEFICIAL_OWNER: 'BeneficialOwners',\n OFFICIAL_BEARER: 'OfficialBearers',\n INDIVIDUAL_PARTNER: 'IndividualPartners',\n DIRECTORS: 'Directors'\n },\n ACCOUNT_STATUS: ['NOT_AVAILABLE', 'NOT_STARTED', 'IN_PROGRESS'],\n\n /* END STAKEHOLDERS */\n\n 'PARTNER': 'partners',\n 'US': 'US',\n 'AU': 'AU',\n 'RU': 'RU',\n 'MX': 'MX',\n 'FR': 'FR',\n 'EXP_AU_CRS_FALCON': 'EXP_AU_CRS_FALCON',\n 'UPGRADE_NOT_RESTRICTED_BIZTYPES': ['PROPRIETORSHIP', 'INDIVIDUAL'],\n 'PRO_PRODUCTS': ['PRO20', 'PRO20_ADVANCED', 'PRO30', 'PRO15'],\n 'NOT_ELIGIBLE_ERROR': 'NOT_ELIGIBLE',\n 'PPH_PARTNER_TYPES': ['sdk', 'SDK'],\n 'PPH_PRODUCT': 'pph',\n 'PPH_MOBILE_PRODUCT': 'pphmobile',\n 'PPH_GIFT_CARD_FLOW': 'gift',\n 'PPH_PROMO_CODES': ['pphtiles', '37mail', '312mail', 'pphbanner'],\n 'PPH_PRODUCT_STATUS_APPROVED': 'COMPLETE',\n 'PPH_PRODUCT_STATUS_DENIED': 'DECLINED',\n 'PPH_PRODUCT_STATUS_MANUAL_REVIEW': 'MANUAL_REVIEW',\n 'PPH_PRODUCT_STATUS_IN_PROGRESS': 'IN_PROGRESS',\n 'PPH_SDK_RETURN_QUERY_APPROVED': 'status=success&subcode=approved',\n 'PPH_SDK_RETURN_QUERY_DECLINED': 'status=failure&subcode=declined',\n 'PPH_SDK_RETURN_QUERY_PENDING': 'status=pending&subcode=manualreview',\n 'CN': 'CN',\n 'C2': 'C2',\n 'GB': 'GB',\n 'CA': 'CA',\n 'JP': 'JP',\n 'KE': 'KE',\n 'IN': 'IN',\n 'UPGRADE_BUSINESS_ACCOUNT': 'upgradeBusinessAccount',\n 'UPGRADE_EXISTING_BUSINESS_ACCOUNT': 'upgradeExistingBusinessAccount',\n 'PPH_BUSINESS_UPGRADE_MISSING_INFO': 'businessUpgradeMissingInfo',\n 'UPGRADE_CONSUMER_ACCOUNT_LANDING': 'upgradeConsumerAccountLandingPage',\n 'CREATE_NEW_ACCOUNT': 'createNewAccount',\n 'UPGRADE_CONSUMER_ACCOUNT_BIZINFO': 'consumerUpgradeBizInfo',\n 'DISABLED': 'DISABLED',\n 'ENABLED': 'ENABLED',\n 'PENDING': 'PENDING',\n 'REQUIRED_DOCUMENT_UPLOAD': 'REQUIRED_DOCUMENT_UPLOAD',\n 'UPGRADE_CIP_SUPPORTED_COUNTRIES': ['JP'],\n 'IDENTITY_STATUS_PAGE': 'identityStatus',\n 'BUSINESS_ADDRESS': 'BUSINESS_ADDRESS',\n 'HOME_ADDRESS': 'HOME_ADDRESS',\n 'WORK_ADDRESS_TYPE': 'WORK',\n 'COUNTRY_X': 'country.x',\n 'EXISTS_IN_DB_DUMMY_VALUE': 'ALREADY_EXISTS_IN_DB',\n 'SSN_DUMMY_VALUE': 'xxxxxxxxx',\n 'SUPPRESS_EMAIL_CONFIG': {\n 'IN': ['WELCOME_EMAIL'],\n 'JP': ['WELCOME_EMAIL']\n },\n 'ISO_COUNTRY_AU': 'AU',\n 'CURRENCY': {\n 'AU': 'AUD'\n },\n 'VOWELS': ['a', 'e', 'i', 'o', 'u'],\n 'ISO_COUNTRY_CA': 'CA',\n 'COMPLETED': 'COMPLETED',\n 'FAILED': 'FAILED',\n 'FATCA_SUBSTANTIAL_US_OWNER': 'SUBSTANTIAL_US_OWNER',\n 'ADD_PRODUCT': 'addProduct',\n 'EMPTY_MCC_RESPONSE': 'EMPTY_MCC_RESPONSE',\n 'EMPTY_OCC_RESPONSE': 'EMPTY_OCC_RESPONSE',\n 'NEW_CONFIG_COUNTRIES': _countriesFromGroups,\n 'PRO_2_0': 'pro_2_0',\n 'WP_PRO': 'wp_pro',\n 'PRO_3_0': 'pro_3_0',\n 'MASS_PAY': 'mass_pay',\n 'MASS_PAY_LANDING_URL': '/payoutsweb/landing',\n 'STANDARD_INTENT': 'STANDARD_INTENT',\n 'PPCP': 'ppcp',\n 'INVOICING': 'invoicing',\n 'QR_CODE': 'qr_code',\n 'SUBSCRIPTIONS': 'subscriptions',\n 'PAY_LATER': 'pay_later',\n 'PAYMENT_BUTTON': 'payment_button',\n 'PAYMENT_LINK_BUTTON': 'payment_link_button',\n 'REQUEST_MONEY': 'request_money',\n 'DONATIONS': 'donations',\n 'PAYMENT_LINK': 'payment_link',\n 'VIRTUAL_TERMINAL': 'virtual_terminal',\n 'CHECKOUT': 'checkout',\n 'EXPRESS_CHECKOUT': 'EXPRESS_CHECKOUT',\n 'EXPRESS_CHECKOUT_RESOLVED_PRODUCTS': ['wps', 'no_intent'],\n 'PPCP_PLATFORMS': 'ppcp_platforms',\n 'PPNP': 'ppnp',\n 'PPNP_REDIRECT_URL': '/charities/dashboard?intent=onboard',\n 'PPNP_REDIRECT_PRODUCTS': ['wps', 'no_intent', 'ppe'],\n 'PPCP_STANDARD': 'PPCP_STANDARD',\n 'PPCP_CUSTOM': 'PPCP_CUSTOM',\n 'BUSINESS_STANDARD': 'PAYPAL_BUSINESS_STANDARD',\n 'BUSINESS_PAYPAL_WALLET': 'PAYPAL_WALLET',\n 'BUSINESS_PRODUCTS': 'PAYPAL_BUSINESS_STANDARD,PAYPAL_WALLET',\n 'PAYPAL_COMMERCE_PLATFORM_BUSINESS': 'PAYPAL_COMMERCE_PLATFORM_BUSINESS',\n 'EMAIL_PAYMENTS': 'ep',\n 'SOCIAL_SECURITY_NUMBER': 'SOCIAL_SECURITY_NUMBER',\n 'EMPLOYMENT_IDENTIFICATION_NUMBER': 'EMPLOYMENT_IDENTIFICATION_NUMBER',\n 'ACTIVATION_URL': '/activation/entryPoint',\n 'PAYMENT_METHODS': 'payment_methods',\n 'ADVANCED_VAULTING': 'advanced_vaulting',\n 'IZETTLE': 'zettle',\n 'CNPJ': 'CNPJ',\n 'CPF': 'CPF',\n 'CORPORATION': 'CORPORATION',\n 'SINGLE_OWNER_LLC': 'SINGLE_OWNER_LLC',\n 'MULTI_MEMBER_LLC': 'MULTI_MEMBER_LLC',\n 'ITIN': 'itin',\n 'SSN': 'ssn',\n 'SSN9': 'ssnFull',\n 'US_PERSONAL_TAX_ID_SELECTION': 'US_PERSONAL_TAX_ID_SELECTION',\n 'GOOGLE_ONE_TAP_TYPE': 'smartlock',\n 'WORLD_READY_SERV_PATH': '/v1/worldreadyserv',\n 'WORLD_READY_SERV_VERSION': '^1.0.0',\n 'WORLD_READY_SERV_TYPE': 'marketData',\n 'BUSINESS_ADDRESS_FIELD': 'businessAddress',\n 'HOME_ADDRESS_FIELD': 'homeAddress',\n 'PO_BOX_VALIDATION_ERROR': 'isNotPoBox',\n 'INVALID_ADDRESS_ERROR': 'isInvalidAddress',\n 'PO_BOX_VERIFY_ADDRESS_TYPES': ['businessAddress', 'homeAddress'],\n 'GRIFFIN_REGISTERED_BUSINESS': 'REGISTERED-BUSINESS',\n 'GRIFFIN_NON_REGISTERED_BUSINESS': 'NON-REGISTERED-BUSINESS',\n 'GRIFFIN_REGISTERED_BUSINESS_NAME_ERROR': 'NAME_ALL_REGISTERED_ACCOUNT_ERROR',\n 'WORLDREADY_REGISTERED_BUSINESS_NAME_ERROR': 'INVALID_ALL_REGISTERED_ACCOUNT',\n\n 'LOCALITY_LEVEL': 'LOCALITY_LEVEL',\n\n IDENTITY_DOCUMENT_TYPE: {\n NATIONAL_ID: 'NATIONAL_ID',\n PASSPORT_NUMBER: 'PASSPORT',\n TEMPORARY_NATIONAL_ID: 'TEMPORARY_NATIONAL_ID'\n },\n\n // values in array must match types of documents that we show merchants during onboarding\n SUPPORTED_DOCUMENT_TYPES: {\n KR: ['DRIVERS_LICENSE', 'PASSPORT_NUMBER']\n },\n\n PPCP_PRODUCTS: [\n {\n product_code: 'PPCP_STANDARD'\n },\n {\n product_code: 'PPCP_CUSTOM'\n }\n ],\n STANDARD_PRODUCTS: [\n {\n product_code: 'PAYPAL_BUSINESS_STANDARD'\n }\n ],\n PAYPAL_STANDARD_PRODUCTS: [\n {\n product_code: 'PAYPAL_BUSINESS_STANDARD'\n },\n {\n product_code: 'PAYPAL_WALLET'\n }\n ],\n WP_PRO_PRODUCTS: [\n {\n product_code: 'PRO_3_0'\n }\n ],\n STANDARD_PRODUCTS_WALLET: [\n {\n product_code: 'PAYPAL_WALLET'\n }\n ],\n PPCP_STANDARD_PRODUCTS: [\n {\n product_code: 'PPCP_STANDARD'\n }\n ],\n PCPB_PRODUCTS: [\n {\n product_code: 'PAYPAL_COMMERCE_PLATFORM_BUSINESS'\n }\n ],\n PAYPAL_WALLET_CPB_PRODUCTS: [\n {\n product_code: 'PAYPAL_COMMERCE_PLATFORM_BUSINESS'\n },\n {\n product_code: 'PAYPAL_WALLET'\n }\n ],\n ADVANCED_VAULTING_PRODUCT_CODE: [\n {\n product_code: 'ADVANCED_VAULTING'\n }\n ],\n PPCP_STANDARD_UNSUPPORTED_COUNTRIES: ['US'],\n PAYPAL_WALLET_COMMERCE_PLATFORM_BUSINESS_COUNTRIES: ['TH', 'BR'],\n PPCP_STANDARD_COUNTRIES: ['AU'],\n PAYPAL_WALLET_COUNTRIES: ['RU'],\n CIP_REDIRECT_COUNTRIES: ['BR'],\n KYC_REDIRECT_COUNTRIES: ['TH'],\n INTENT_CHOICES: {\n PROPERTY_KEY_MAPPING: {\n 'no_intent': 'wps'\n },\n INFO_PREFIX: 'resumeIntentChoice.info.',\n QUESTION_PREFIX: 'resumeIntentChoice.question.',\n YES_PREFIX: 'resumeIntentChoice.yes.',\n NO_PREFIX: 'resumeIntentChoice.no.'\n },\n RPS_TO_PRODUCT_NAME: {\n 'email_payments': 'ep',\n 'wp_standard': 'wps',\n 'ec': 'ap',\n 'create_account': 'no_intent',\n 'pp_express': 'ppe',\n 'pph_mobile': 'pphmobile',\n 'mass_pay': 'mass_pay',\n 'ppcp_platforms': 'ppcp_platforms'\n },\n SSO_PATHS: ['/finish'],\n STANDARD_INTENTS: {\n 'wps': true,\n 'ap': true,\n 'ep': true,\n 'no_intent': true,\n 'mass_pay': true,\n 'ppe': true\n },\n NON_STANDARD_INTENTS: {\n 'advanced_vaulting': true,\n 'payment_methods': true,\n 'ppcp': true\n },\n PRODUCT_INTENTS: {\n 'pro_2_0': true,\n 'ppcp': true,\n 'pph': true,\n 'pphmobile': true,\n 'mass_pay': true,\n 'ppnp': true,\n 'ppcp_platforms': true,\n 'payment_methods': true\n },\n // maximum number of digits allowed in a credit card statement name (businessCCStatementName) field\n MAX_NUMS_ALLOWED_IN_CC_STATEMENT_NAME: 7,\n 'UNIFIED_LOGIN_INTENT': 'signin',\n 'PARTNER_UL_EXTRA_PARAM': '&forceLogin=true',\n 'ADD_PRODUCT_URL': '/bizsignup/add-product',\n 'ADD_PRODUCT_URI': 'add-product',\n 'PARTNER_ONBOARDING_FEATURENAME': 'PARTNER_ONBOARDING',\n 'ADD_PRODUCT_FEATURENAME': 'ADDPRODUCT_ONBOARDING',\n 'RESUME_ONBOARDING_FEATURENAME': 'RESUME_ONBOARDING',\n 'FINISH_ONBOARDING_FEATURENAME': 'FINISH_ONBOARDING',\n 'BIB_CAMPAIGN_ID': 'business_in_a_box_phase_2',\n 'BIB_URL': '/businessprovision/payments/boxselection',\n 'POLICY_LINK_REL': 'policy-decision',\n 'DEXTER_POLICY_URL': '/policy/compliance/{hateos}?enableSkip=true&pp_flow=bizsignup&attempt_intention=fincenbo&handleErrors=true&handleDismiss=true&returnUrl=%2Fbizsignup%2Fadd-product%3Fproduct%3Dpro_2_0%26verified%3Dtrue', // returnUrl=/bizsignup/add-product?product=pro_2_0&verified=true\n 'EU_DEXTER_URL': '/policy/hub/kyc',\n 'CA_DEXTER_URL': '/policy/hub/cip',\n 'PPH_DEXTER_URL': '/policy/flow/verifyCip?attempt_intention=PPH&pp_flow=bizsignupnodeweb&returnUrl=%2Fbizsignup%2Fflows%2Famericas%2Fpph%2Fhandle-dexter-redirect',\n 'REDIRECTION_ENTRY': '/bizsignup/redirectEntry',\n 'ADD_BANK_REDIRECTION': '/bizsignup/addBankRedirection',\n 'ADD_BANK_REDIRECTION_RETURN_URL': '/bizsignup/redirectEntry?addBankSuccess=true',\n 'ADD_BANK_REDIRECTION_CANCEL_URL': '/bizsignup/redirectEntry?addBankSuccess=false',\n 'ADD_BANK_REDIRECTION_CUSTOMIZATION_CONTEXT_ID': 'partnerPreference',\n 'ADD_BANK_REDIRECT_URL': '/myaccount/money/flow/banks/new',\n 'PPH_SIGNUP_START_PAGE': 'signupStart',\n 'FATCA': {\n 'FATCA_STATUS_IN_PROGRESS': 'IN_PROGRESS',\n 'FATCA_STATUS_COMPLETED': 'COMPLETED',\n 'FATCA_STATUS_SELF_CERTIFY_NEEDED': 'SELF_CERTIFY_NEEDED',\n 'FATCA_EVENT_TYPE': 'INCORPORATION',\n 'FATCA_BENEFICIAL_OWNERS_QUESTION': 'BENEFICIAL_OWNERS',\n 'NO_FATCA': 'NO_FATCA',\n 'SELF_CERT_SIGNATURE_FIRST_NAME': 'SELF_CERT_SIGNATURE_FIRST_NAME',\n 'SELF_CERT_SIGNATURE_LAST_NAME': 'SELF_CERT_SIGNATURE_LAST_NAME',\n 'SELF_CERTIFICATION_QUESTIONS': ['SELF_CERT_SIGNATURE_FIRST_NAME', 'SELF_CERT_SIGNATURE_LAST_NAME'],\n 'FATCA_GET': 'FATCA_GET',\n 'FATCA_POST': 'FATCA_POST',\n 'INELIGIBLE_BUSINESS_TYPES': {\n 'INDIVIDUAL': true,\n 'PROPRIETORSHIP': true\n },\n 'FI_CATEGORIES_MCC': {\n '4816': true, // Computer Network/Information Services\n '4829': true, // Wire Transfer Money Orders (WTMOs)\n '5960': true, // Direct Marketing – Insurance Services\n '6010': true, // Financial Institutions – Manual Cash Disbursements\n '6011': true, // Financial Institutions – Automated Cash Disbursements\n '6012': true, // Financial Institutions – Merchandise and Services\n '6051': true, // Non-Financial Institutions – Foreign Currency, Money Orders (Not Wire Transfer), and Travelers Cheques\n '6211': true, // Security Brokers/Dealers\n '6300': true, // Insurance Sales, Underwriting, and Premiums\n '7321': true, // Consumer Credit Reporting Agencies\n '7277': true // Counseling Services – Debt, Marriage, and Personal\n }\n },\n 'ELEMENT_RESOLUTION_NAMES': {\n 'businessCountryOfIncorporationDropdown': 'businessCountryOfIncorporation',\n 'nationalityDropdown': 'nationality',\n 'creditCardStatementComponent': 'creditCardStatement',\n 'businessAddressCountryDropdown': 'businessAddressCountryCode',\n 'phoneFlagsDropdown': '_phoneFlagsDropdownBase',\n 'mobilePhoneFlagsDropdown': 'mobilePhoneNumber',\n 'dateOfBirthComponent': 'dateOfBirth',\n 'businessEstablishedDateComponent': 'businessEstablishedDate',\n 'countryOfBirthDropdown': 'countryOfBirth',\n 'pphHomeAddress': 'homeAddress',\n 'businessNameAgreementCheckbox': 'businessNameAgreement'\n },\n 'PPH_PERSONAL_INFO_REVIEW': 'personalInfoReview',\n 'PPH_PERSONAL_INFO_EDIT': 'personalInfoEdit',\n 'PPH_PRICE_NOT_ELIGIBLE_PAGE': 'specialPriceNotEligible',\n 'PPH_AU_DEPRECATION': 'deprecated',\n 'PPH_SPECIAL_PRICE_PAGE': 'specialPrice',\n 'PPH_SPECIAL_PRICE_MISSING_INFO_PAGE': 'specialPriceMissingInfo',\n 'PPH_CARD_READER_ORDER_PAGE': 'cardReaderOrder',\n 'GLOBAL_NAME_INPUT_ELEMENT': 'globalNameInput',\n PPH_APP_LINK: {\n APPLE_APP_STORE_LINK: 'https://itunes.apple.com/gb/app/paypal-here/id505911015',\n GOOGLE_PLAY_STORE_LINK: 'https://play.google.com/store/apps/details?id=com.paypal.here'\n },\n INTEGRATION_TYPES: {\n REST_THIRD_PARTY: 'TO',\n CLASSIC_THIRD_PARTY: 'T', // INTEGRATION_TYPES is defined in nucleus module too.,\n REST_FIRST_PARTY: 'FO',\n CLASSIC_FIRST_PARTY: 'F'\n },\n ATTRIBUTES: {\n CREATE_ACCOUNT: 'CREATE_ACCOUNT',\n EXPRESS_CHECKOUT: 'EXPRESS_CHECKOUT',\n WEBSITE_PAYMENTS_PRO_3_0: 'WEBSITE_PAYMENTS_PRO_3_0'\n },\n EXTERNAL_CHANNELS: ['marketplace'],\n DEFAULT_CHANNEL: 'standard',\n DEFAULT_EXTERNAL_CHANNEL: 'marketplace',\n CASUAL_SELLER_PRODUCT_PROVISION_COUNTRIES: {\n 'US': true\n },\n ISU_FATCA_REDIRECT_COUNTRIES: {\n 'AU': false\n },\n THIRD_PARTY_REQUIRED_ELEMENTS: {\n INDIVIDUAL: [\n 'thirdPartyFirstName',\n 'thirdPartyLastName',\n 'thirdPartyOccupation',\n 'thirdPartyDateOfBirth'\n ],\n BUSINESS: [\n 'thirdPartyBusinessName'\n ]\n },\n PARTNER_PPCP_ENABLED_COUNTRIES: {\n 'AU': true,\n 'AT': true,\n 'BE': true,\n 'BG': true,\n 'C2': true,\n 'CY': true,\n 'CZ': true,\n 'DK': true,\n 'EE': true,\n 'ES': true,\n 'FI': true,\n 'FR': true,\n 'GB': true,\n 'GR': true,\n 'HU': true,\n 'IE': true,\n 'IT': true,\n 'LI': true,\n 'LT': true,\n 'LU': true,\n 'LV': true,\n 'MT': true,\n 'NL': true,\n 'NO': true,\n 'PL': true,\n 'PT': true,\n 'RO': true,\n 'SE': true,\n 'SG': true,\n 'SI': true,\n 'SK': true,\n 'US': true,\n 'CA': true,\n 'DE': true,\n 'MX': true,\n 'HK': true\n },\n EXTERNAL_CHANNEL_ROW_3PL: {\n 'AD': true,\n 'AE': true,\n 'AR': true,\n 'BH': true,\n 'BM': true,\n 'BS': true,\n 'BW': true,\n 'C2': true,\n 'CL': true,\n 'CO': true,\n 'CR': true,\n 'DO': true,\n 'EC': true,\n 'FO': true,\n 'GE': true,\n 'GL': true,\n 'GT': true,\n 'HN': true,\n 'ID': true,\n 'IL': true,\n 'JM': true,\n 'JO': true,\n 'KE': true,\n 'KR': true,\n 'KW': true,\n 'KY': true,\n 'KZ': true,\n 'LS': true,\n 'MA': true,\n 'MC': true,\n 'MD': true,\n 'MU': true,\n 'MY': true,\n 'MZ': true,\n 'NI': true,\n 'NZ': true,\n 'OM': true,\n 'PA': true,\n 'PE': true,\n 'PH': true,\n 'QA': true,\n 'RS': true,\n 'SA': true,\n 'SG': true,\n 'SN': true,\n 'SV': true,\n 'TH': true,\n 'TW': true,\n 'UY': true,\n 'VE': true,\n 'VN': true,\n 'ZA': true\n },\n\n EXTERNAL_CHANNEL_ROW: {\n 'AG': true,\n 'AI': true,\n 'AL': true,\n 'AM': true,\n 'AN': true,\n 'AO': true,\n 'AW': true,\n 'AZ': true,\n 'BA': true,\n 'BB': true,\n 'BF': true,\n 'BI': true,\n 'BJ': true,\n 'BN': true,\n 'BO': true,\n 'BT': true,\n 'BY': true,\n 'BZ': true,\n 'CD': true,\n 'CG': true,\n 'CI': true,\n 'CK': true,\n 'CM': true,\n 'CV': true,\n 'DJ': true,\n 'DM': true,\n 'DZ': true,\n 'EG': true,\n 'ER': true,\n 'ET': true,\n 'FJ': true,\n 'FK': true,\n 'FM': true,\n 'GA': true,\n 'GD': true,\n 'GM': true,\n 'GN': true,\n 'GW': true,\n 'GY': true,\n 'KG': true,\n 'KH': true,\n 'KI': true,\n 'KM': true,\n 'KN': true,\n 'LA': true,\n 'LC': true,\n 'LK': true,\n 'ME': true,\n 'MG': true,\n 'MH': true,\n 'MK': true,\n 'ML': true,\n 'MN': true,\n 'MR': true,\n 'MS': true,\n 'MV': true,\n 'MW': true,\n 'MX': true,\n 'NA': true,\n 'NC': true,\n 'NE': true,\n 'NF': true,\n 'NG': true,\n 'NP': true,\n 'NR': true,\n 'NU': true,\n 'PF': true,\n 'PG': true,\n 'PM': true,\n 'PN': true,\n 'PW': true,\n 'PY': true,\n 'RW': true,\n 'SB': true,\n 'SC': true,\n 'SH': true,\n 'SJ': true,\n 'SL': true,\n 'SO': true,\n 'SR': true,\n 'ST': true,\n 'SZ': true,\n 'TC': true,\n 'TD': true,\n 'TG': true,\n 'TJ': true,\n 'TM': true,\n 'TN': true,\n 'TO': true,\n 'TT': true,\n 'TV': true,\n 'TZ': true,\n 'UA': true,\n 'UG': true,\n 'VA': true,\n 'VC': true,\n 'VG': true,\n 'WF': true,\n 'WS': true,\n 'YE': true,\n 'YT': true,\n 'ZM': true,\n 'ZW': true\n },\n\n SEND_ONLY_COUNTRY_LIST: ['AI', 'AM', 'AN', 'AO', 'AW', 'AZ', 'BF', 'BI', 'BJ', 'BN', 'BO', 'BT', 'BY',\n 'CD', 'CG', 'CI', 'CK', 'CM', 'CV', 'DJ', 'ER', 'ET', 'FK', 'FM', 'GA', 'GM', 'GN', 'GW', 'GY', 'KG',\n 'KH', 'KI', 'KM', 'LA', 'LK', 'ME', 'MG', 'MH', 'MK', 'ML', 'MN', 'MR', 'MS', 'MV', 'NA', 'NE', 'NF',\n 'NG', 'NP', 'NR', 'NU', 'PG', 'PM', 'PN', 'PY', 'RW', 'SB', 'SH', 'SJ', 'SL', 'SO', 'SR', 'ST', 'SZ',\n 'TD', 'TG', 'TJ', 'TM', 'TN', 'TO', 'TV', 'TZ', 'UA', 'UG', 'VA', 'VC', 'VG', 'VU', 'WF', 'WS',\n 'YE', 'YT', 'ZM', 'ZW'],\n\n EXTERNAL_CHANNEL_INTEGRATION_TYPES: ['TO', 'T', 'FO', 'F'],\n EXTERNAL_CHANNEL_PRODUCTS: ['wps', 'ppcp', 'EXPRESS_CHECKOUT', 'addipmt', 'mass_pay', 'wp_pro', 'payment_methods'],\n EXTENDED_EXTERNAL_CHANNEL_PRODUCTS: ['wps', 'ppcp', 'EXPRESS_CHECKOUT', 'addipmt', 'mass_pay', 'wp_pro', 'no_intent', 'ppe', 'payment_methods'],\n EXTERNAL_CHANNEL_PRODUCTS_LIMITED_BY_INTEGRATION_TYPE: {\n ppcp: ['TO', 'FO']\n },\n FINCEN_COUNTRIES: ['US'],\n MARKETPLACE_EVENTS: {\n PRECREATE_FAILED: 'PRECREATE_FAILED',\n PRECREATE_SUCCESS: 'PRECREATE_SUCCESS',\n PRECREATE_RENDER_FAILED: 'PRECREATE_RENDER_FAILED',\n PRECREATE_BAD_REQUEST: 'PRECREATE_BAD_REQUEST',\n POST_ONBOARDING_FAILED: 'POST_ONBOARDING_FAILED',\n CREATE_ATTRIBUTIONS_FAILED: 'CREATE_ATTRIBUTIONS_FAILED',\n MERCHANT_ID_RETURNED_AS_NULL: 'UNDEFINED_MERCHANT_ID'\n },\n MARKETPLACE_CHANNEL: 'marketplace',\n ONBOARDING_WEBHOOK_ID: 'partnerMerchantAccountCreated',\n BAD_REQUEST_WEBHOOK_ID: 'partnerMerchantBadRequest',\n INTERNAL_SERVER_ERROR_WEBHOOK_ID: 'partnerMerchantInternalServerError',\n ONBOARDING_WEBHOOK_STARTED: 'partnerMerchantOnboardingStarted',\n CONSENT_WEBHOOK_ID: 'partnerMerchantConsentGranted',\n COMPLIANCE_CONSTANTS: {\n US: {\n BO_AML: 'AML',\n OFFICE_BEARER_AML: 'AML_CP',\n BENEFICIAL_OWNER_ROLE_CODE: 'BENEFICIAL_OWNER',\n OFFICE_BEARER_ROLE_CODE: 'CONTROL_PRONG',\n MAX_BO: 4,\n MAX_OWNERSHIP: 100,\n MIN_OWNERSHIP: 25,\n DEFAULT_BO_OWNERSHIP: '25',\n BO_FIELD_NAME: 'beneficialOwners',\n OFFICE_BEARER_FIELD_NAME: 'controlProng'\n },\n EU: {\n // for now we're not collecting directors for EU.\n BO_AML: 'AML',\n OFFICE_BEARER_AML: 'AML_CP',\n BENEFICIAL_OWNER_ROLE_CODE: 'BENEFICIAL_OWNER',\n OFFICE_BEARER_ROLE_CODE: 'DIRECTORS',\n MAX_BO: 10,\n MAX_OWNERSHIP: 100,\n MIN_OWNERSHIP: 10,\n DEFAULT_BO_OWNERSHIP: '10',\n BO_FIELD_NAME: 'beneficialOwners',\n OFFICE_BEARER_FIELD_NAME: 'directors'\n },\n ACTIVE: 'ACTIVE',\n INDIVIDUAL: 'INDIVIDUAL',\n OFFIICE_BEARER_PREFILL_KEY: 'office_bearer_prefill_key',\n BO_PREFILL_KEY: 'bo_prefill_key_'\n },\n\n UL_REDIRECT: 'ULRedirect',\n MSN_REDIRECT: 'MSNRedirect',\n EDISON_REDIRECT: 'edisonRedirect',\n DEXTER_REDIRECT: 'dexterRedirect',\n ADROIT_IN_KYC_REDIRECT: 'adroitINKYCRedirect',\n ROW: 'ROW',\n\n // PPCP is a product bundle of PPCP_STANDARD and PPCP_CUSTOM\n UNIFIED_ENTRY_COUNTRY_PRODUCTS_LIST: [{ country: 'US', products: ['ppcp'] }],\n BASE_CONTENT_PATH: 'flows/base/default',\n POLICY_CHECK_REQUIRED_COUNTRIES: ['AU', 'AT', 'BE', 'BG', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE',\n 'IT', 'LV', 'LI', 'LT', 'LU', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB'],\n CGP_STANDARD_COUNTRIES: {\n AU: true,\n BR: true,\n TH: true\n },\n EXTERNAL_REDIRECT_URL_TO_COUNTRY_MAP: {\n '/policydashboard/process/compliance/cip': ['BR'],\n '/policydashboard/process/compliance/kyc': ['TH', 'MX'],\n '/policy/hub/cip': ['AU']\n },\n EU_PPCP_SUPPORTED_COUNTRIES: ['BE', 'BG', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'GR', 'HU', 'IE',\n 'IT', 'LV', 'LI', 'LT', 'LU', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'GB', 'DE'],\n // Countries that check for business type to allows upgrade or create new account\n NON_ENTITY_UPGRADE_SUPPORTED_COUNTRIES: {\n 'AU': true,\n 'CA': true\n },\n UPGRADE_RESTRICTED_COUNTRIES: {\n RU: true\n },\n // from: https://github.paypal.com/ApiSpecifications-R/onboarding.OnboardingSessionsSpecification/blob/4ad9a44482be65bb979f6500dd277818057bfe2f/v1/schema/common/user/address.json#L83\n ADDRESS_RESOLUTION_TYPE: {\n HIGH: 'HIGH_RESOLUTION',\n LOW: 'LOW_RESOLUTION'\n },\n\n HIGH_RESOLUTION_ADDRESS_COUNTRIES: ['AU', 'TH'],\n\n SALES_VENUES: {\n OWN_WEB_SITE: 'OWN_WEB_SITE',\n EBAY: 'EBAY',\n OTHER: 'OTHER'\n },\n NON_VETTED_ADD_PRODUCTS: ['checkout', 'subscriptions'],\n FAST_TRACK_ACTIVATION_DELTA_PRODUCTS: ['checkout', 'subscriptions'],\n FLTP_SIMPLE_SIGNUP: 'simple_sign_up',\n WHITELISTED_URLS: [\n '/commercesetup/APICredentials',\n '/businessmanage/account',\n '/businessmanage/credentials/apiaccess',\n '/businessprofile/api/accesstoken',\n '/businessprofile/mytools/apiaccess/firstparty',\n '/businessmanage/credentials/apiAccess/applications',\n '/billing',\n '/mep/dashboard',\n '/fundstransfer',\n 'https://developer.paypal.com/developer/applications/edit/',\n 'https://developer.paypal.com/developer/applications/',\n 'https://developer.paypal.com/developer/applications/create?env=live'\n ],\n WP_PRO_FPTI_PRODUCT_NAME: 'WEBSITE_PAYMENTS_PRO_3_0',\n PPH_GB_FLOW_IDS: ['GB-pph-default', 'GB-pphmobile-default'],\n IZETTLE_REDIRECT_GB: '/merchantapps/appcenter/acceptpayments/izettle',\n CRYPTO_COUNTRIES: ['US'],\n CONSUMER_UPGRADE_URL: '/myaccount/bundle/business/upgrade',\n NON_LOGGED_IN_PAGES: {\n 'default': ['checkAccount', 'create', 'intent', 'businessTypeSelection', 'integratePassword'],\n 'IN': ['checkAccount', 'create', 'intent', 'businessTypeSelection', 'businessInfo']\n },\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n SESSION_EXPIRED_MESSAGE: 'User session expired or timed out',\n AUTHCHALLENGE_PARAM: 'Z3JncnB0',\n INTERNAL_SERVER_ERROR_WEBHOOKS: ['create', 'upgrade', 'risk-decision', 'product-provision'],\n 'MAX_FILE_SIZE_10MB': 10,\n 'MIN_FILE_SIZE_30KB': 30,\n PSP_MERCHANT_SUPPORTED_COUNTRIES: {\n US: true\n },\n CHECK_ACCOUNT_EXISTS_PAGES: ['singlePageSignup', 'checkAccount'],\n ADD_INFO_FPTI_LINK_NAMES: {\n DEFAULT: 'add_info',\n CIP: 'add_info_cip',\n BO: 'add_info_bo'\n },\n REDIRECT_REASON: {\n ELMO_REDIRECT_TO_EOP: 'elmo_redirect_to_eop',\n CL_REDIRECT_TO_EOP: 'cl_redirect_to_eop',\n PRE_ENABLEMENT_REDIRECT_TO_EOP: 'pre_enablement_redirect_to_eop',\n FLOW_MIGRATED_TO_EOP: 'migrated_redirect_to_eop'\n },\n AMPLITUDE: {\n DEFAULT_EVENT_PROP_KEYS: 'link,optsel,utm_source,utm_medium,utm_campaign,utm_unptid,utm_term,utm_content',\n STATE_NAMES: {\n SIGNUP_SUBMIT_ACCOUNT_EXISTS: 'signup_submit_account_exists',\n MERCH_MIN_ACCT: 'merch_min_acct',\n MERCH_ADD_PRODUCT_START: 'merch_add_product_start',\n CHECK_ACCOUNT_COMPLETE: 'check_account_complete',\n MINIMAL_ACCOUNT_CREATED: 'minimal_account_created',\n MINIMAL_ACCOUNT_SINGLEPAGE_SIGNUP_CREATED: 'minimal_singlePageSignup_account_created',\n BUSINESS_INFO_SUBMIT: 'business_info_submit',\n DONE_SUBMIT: 'done_submit',\n UOB_CAPABILITIES_EXP: 'uob_capabilities_exp'\n },\n PRODUCT: 'bizsignup',\n EVENTS: {\n ACCOUNT_CREATION_LOGIN_CLICKED: {\n NAME: 'account_creation_login_clicked'\n },\n ACCOUNT_CREATION_CHECK_ACCOUNT_COMPLETE: {\n NAME: 'account_creation_check_account_complete',\n PROPS: {\n ACCOUNT_COUNTRY: 'account_country',\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n }\n },\n ACCOUNT_CREATION_MINIMAL_ACCOUNT_COMPLETE: {\n NAME: 'minimal_account_created',\n PROPS: {\n ACCOUNT_COUNTRY: 'account_country',\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n }\n },\n ACCOUNT_CREATION_MINIMAL_ACCOUNT_SINGLE_SIGNUP_COMPLETE: {\n NAME: 'minimal_account_singlesignup_created',\n PROPS: {\n ACCOUNT_COUNTRY: 'account_country',\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n }\n },\n SIGNUP_ACCOUNT_EXISTS: {\n NAME: 'signup_account_exists',\n PROPS: {\n ACCOUNT_COUNTRY: 'account_country',\n PAGE_NAME: 'page',\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n }\n },\n EXISTING_ACCOUNT_LOGIN_CLICKED: {\n NAME: 'existing_account_login_clicked'\n },\n KYC_BUSINESS_INFO_SUBMIT: {\n NAME: 'kyc_business_info_submit',\n PROPS: {\n ACCOUNT_COUNTRY: 'account_country',\n BUSINESS_TYPE: 'business_type',\n PRODUCT_OR_SERVICE: 'product_or_service',\n ESTIMATED_MONTHLY_SALES: 'estimated_monthly_sales'\n }\n },\n KYC_PERSONAL_INFO_SUBMIT: {\n NAME: 'kyc_personal_info_submit'\n },\n ACCOUNT_CREATION_SETUP_COMPLETE: {\n NAME: 'account_creation_setup_complete',\n PROPS: {\n ISVERIFIED: 'isVerified',\n APPLICATION_STATUS: 'applicationStatus'\n }\n },\n AUTO_TRANSFER_PRESSED: {\n NAME: 'automatic_transfer_start'\n },\n RETURN_TO_PARTNER_PRESSED: {\n NAME: 'ob_signup_done_return_to_partner',\n MINI_BROWSER_NAME: 'mini_browser_return_to_partner'\n },\n ADD_INFO_PRESSED: {\n NAME: 'add_info_start',\n PROPS: {\n LINK: 'link'\n }\n },\n PARTNER_DONE_SCREEN_SHOWN: {\n NAME: 'ob_signup_done_screen_shown'\n },\n\n\n /* ---------- FUNNEL TRACKING FOR CAPABILITIES ---------- */\n\n PAGE_PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n },\n\n ACCOUNT_LANDING: {\n NAME: 'account_landing_shown',\n PROPS: {\n PAGE_NAME: 'page_name',\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name'\n },\n USER_PROPS: {\n IS_ISU: 'is_isu'\n }\n },\n ACCOUNT_LANDING_SUBMIT: {\n NAME: 'account_landing_submit_clicked'\n },\n MINIMAL_ACCOUNT_LANDING: {\n NAME: 'minimal_account_singlesignup_shown'\n },\n MINIMAL_ACCOUNT_LANDING_SUBMIT: {\n NAME: 'minimal_account_singlesignup_submit_clicked'\n },\n MINIMAL_ACCOUNT_WELCOME: {\n NAME: 'minimal_account_welcome_shown'\n },\n CREATE_PASSWORD: {\n NAME: 'account_creation_check_account_password_shown'\n },\n CREATE_PASSWORD_SUBMITTED: {\n NAME: 'account_creation_check_account_password_submit_clicked'\n },\n ADD_PRODUCT: {\n NAME: 'add_product_shown'\n },\n ADD_PRODUCT_SUBMITTED: {\n NAME: 'add_product_submit_clicked'\n },\n BUSINESS_TYPE: {\n NAME: 'account_creation_businesstype_shown'\n },\n BUSINESS_TYPE_SUBMITTED: {\n NAME: 'account_creation_businesstype_submit_clicked'\n },\n CREATE_INFO: {\n NAME: 'create_account_business_info_shown'\n },\n CREATE_INFO_SUBMITED: {\n NAME: 'create_account_business_info_submit_clicked'\n },\n GRANT_PERMISSIONS: {\n NAME: 'partner_permissions_shown'\n },\n GRANT_PERMISSIONS_SUBMITTED: {\n NAME: 'partner_permissions_submit_clicked'\n },\n UPGRADE_RESTRICTION: {\n NAME: 'account_upgrade_restriction_shown'\n },\n UPGRADE_RESTRICTION_SUBMITTED: {\n NAME: 'account_upgrade_restriction_submit_clicked'\n },\n UPGRADE_DECISION: {\n NAME: 'account_upgrade_decision_shown'\n },\n UPGRADE_DECISION_SUBMITTED: {\n NAME: 'account_upgrade_decision_submit_clicked'\n },\n UPGRADE_BUSINESS_TYPE_SELECTION: {\n NAME: 'account_upgrade_business_type_shown'\n },\n UPGRADE_BUSINESS_TYPE_SELECTION_SUBMITTED: {\n NAME: 'account_upgrade_business_type_submit_clicked'\n },\n UPGRADE_BUSINESS_ACCOUNT: {\n NAME: 'business_account_upgrade_shown'\n },\n UPGRADE_BUSINESS_ACCOUNT_SUBMITTED: {\n NAME: 'business_account_upgrade_submit_clicked'\n },\n BUSINESS_INFO: {\n NAME: 'kyc_business_info_shown'\n },\n BUSINESS_INFO_SUBMITED: {\n NAME: 'kyc_business_info_submit_clicked'\n },\n PERSONAL_INFO: {\n NAME: 'kyc_personal_info_shown'\n },\n PERSONAL_INFO_SUBMITED: {\n NAME: 'kyc_personal_info_submit_clicked'\n },\n BENEFICIAL_OWNERS_INFO: {\n NAME: 'kyc_beneficial_owners_shown'\n },\n BENEFICIAL_OWNERS_INFO_SUBMITTED: {\n NAME: 'kyc_beneficial_owners_submit_clicked'\n },\n FATCA_INFO: {\n NAME: 'kyc_fatca_shown'\n },\n FATCA_INFO_SUBMITTED: {\n NAME: 'kyc_fatca_submit_clicked'\n },\n CBP_INFO: {\n NAME: 'kyc_fraud_protection_action_shown'\n },\n CBP_INFO_SUBMITTED: {\n NAME: 'kyc_fraud_protection_action_submit_clicked'\n },\n DONE: {\n NAME: 'account_creation_setup_complete_shown'\n },\n DONE_SUBMITTED: {\n NAME: 'account_creation_setup_complete_submit_clicked'\n },\n ADD_PRODUCT_FLOW_STARTED: {\n NAME: 'add_product_flow_started',\n PROPS: {\n CALCULATED_PRODUCTS: 'calculated_products',\n FUNNEL_FLOW: 'funnel_flow',\n PARTNER_NAME: 'partner_name',\n EXPERIMENT_KEY: 'experiment_key',\n EXPERIMENTATION_EXPERIENCE: 'experimentation_experience',\n EXPERIMENTATION_TREATMENT: 'experimentation_treatment',\n REDIRECT_REASON: 'redirect_reason'\n\n }\n },\n ACCOUNT_IN_FUNNEL: {\n NAME: 'account_created_or_loggedin',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PARTNER_NAME: 'partner_name',\n ENTRY_TYPE: 'entry_type'\n }\n },\n ACCOUNT_ONBOARDED: {\n NAME: 'account_onboarded',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PRODUCT_STATUS: 'product_status',\n PRODUCT_PROVISIONED: 'product_provisioned',\n PARTNER_NAME: 'partner_name'\n }\n },\n ACCOUNT_SUBSCRIBED: {\n NAME: 'account_subscribed',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PRODUCT_STATUS: 'product_status',\n PRODUCT_PROVISIONED: 'product_provisioned',\n PARTNER_NAME: 'partner_name'\n }\n },\n START_DOMAIN_REGISTRATION: {\n NAME: 'start_domain_registration',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PRODUCT_STATUS: 'product_status',\n PRODUCT_PROVISIONED: 'product_provisioned',\n PARTNER_NAME: 'partner_name'\n }\n },\n ERROR_RESPONSE: {\n NAME: 'error_response',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PRODUCT_STATUS: 'product_status',\n PRODUCT_PROVISIONED: 'product_provisioned',\n PARTNER_NAME: 'partner_name',\n PAGE_NAME: 'page_name',\n ERROR_DESCRIPTION: 'int_error_desc',\n ERROR_CODE: 'int_error_code'\n }\n },\n UOB_CAPABILITIES_EXP: {\n NAME: 'uob_capabilities_exp',\n PROPS: {\n FUNNEL_FLOW: 'funnel_flow',\n CALCULATED_PRODUCTS: 'calculated_products',\n PRODUCT_STATUS: 'product_status',\n PRODUCT_PROVISIONED: 'product_provisioned',\n PARTNER_NAME: 'partner_name',\n STATUS: 'status',\n ACCOUNT_COUNTRY: 'account_country'\n }\n }\n }\n },\n CHARITY_MCC: '8398',\n SPACE_KEY: 'SK3YPU',\n FPTI: {\n NAME: 'PAYPAL.COM',\n COMPLETE_STATE_NAME: 'merch_onboard_complete',\n MERCHANT_ACCOUNT_SIGNUP_COMPLETE: 'merchant_account_signup_complete',\n MERCHANT_ACCOUNT_SIGNUP_START: 'merchant_account_signup_start',\n MERCHANT_ACCOUNT_SIGNUP_CHECK_ACCOUNT: 'merchant_account_signup_check_account',\n MERCHANT_MIN_ACCOUNT_FLAG_N: 'merch_min_acct_no'\n }\n};\n\nCONSTANTS.HOME_PHONE_MAP_COUNTRIES = {\n ...CONSTANTS.EXTERNAL_CHANNEL_ROW_3PL,\n ...CONSTANTS.EXTERNAL_CHANNEL_ROW,\n 'HK': true,\n 'JP': true\n};\n\nCONSTANTS.PREMIER_ACCOUNT = {\n COUNTRIES: ['BR']\n};\n\nCONSTANTS.EU_REGION = [\n 'AT',\n 'BE',\n 'BG',\n 'CY',\n 'CZ',\n 'DK',\n 'EE',\n 'SK',\n 'FI',\n 'FR',\n 'GF',\n 'DE',\n 'GI',\n 'GR',\n 'GP',\n 'HU',\n 'IE',\n 'IT',\n 'LV',\n 'LI',\n 'LT',\n 'LU',\n 'MT',\n 'MQ',\n 'NL',\n 'NO',\n 'PL',\n 'PT',\n 'RO',\n 'SM',\n 'SI',\n 'ES',\n 'SE',\n 'GB'\n];\n\nCONSTANTS.EXTERNAL_CHANNEL_COUNTRIES = (() => {\n const supportedCountries = {\n 'AT': true,\n 'AU': true,\n 'BE': true,\n 'BG': true,\n 'CY': true,\n 'CZ': true,\n 'DE': true,\n 'DK': true,\n 'EE': true,\n 'ES': true,\n 'FI': true,\n 'FR': true,\n 'GB': true,\n 'GF': true,\n 'GI': true,\n 'GP': true,\n 'GR': true,\n 'HU': true,\n 'IE': true,\n 'IN': true,\n 'IT': true,\n 'JP': true,\n 'LI': true,\n 'LT': true,\n 'LU': true,\n 'LV': true,\n 'MQ': true,\n 'MT': true,\n 'NL': true,\n 'NO': true,\n 'PL': true,\n 'PT': true,\n 'RE': true,\n 'RO': true,\n 'SE': true,\n 'SI': true,\n 'SK': true,\n 'SM': true,\n 'US': true,\n 'CA': true,\n 'BR': true,\n 'CH': true,\n 'HK': true,\n 'HR': true,\n 'IS': true\n };\n\n const countries = {\n ...supportedCountries,\n ...CONSTANTS.EXTERNAL_CHANNEL_ROW_3PL,\n ...CONSTANTS.EXTERNAL_CHANNEL_ROW\n };\n return countries;\n})();\n\nCONSTANTS.CAPABILITY_MAPPER = {\n ADD_BANK: CONSTANTS.PARTNER_ADD_BANK_PAGE,\n CONTEXTUAL_MARKETING: CONSTANTS.CONTEXUALMSGPREF_PAGE\n};\n\nCONSTANTS.CONSUMER_ACCOUNT_TYPES = [\n CONSTANTS.ACCOUNT_TYPE_PERSONAL,\n CONSTANTS.ACCOUNT_TYPE_PREMIER\n];\n\n// initial pages on which to call PXP to check if MCC is necessary for the flow\nCONSTANTS.DEFAULT_LOGGEDIN_MCC_PAGES = [\n CONSTANTS.BUSINESSINFO_PAGE, CONSTANTS.ADD_PRODUCT,\n CONSTANTS.UPGRADE_BUSINESS_INFO_PAGE,\n CONSTANTS.BIZTYPE_SELECTION_PAGE, CONSTANTS.UPGRADE_DECISION_PAGE, CONSTANTS.UPGRADE_CONSUMER_ACCOUNT_LANDING];\n\nCONSTANTS.MAP_OF_STATUS_CODES = {\n VERIFIED: CONSTANTS.MANUAL_REVIEW,\n MANUAL_REVIEW: CONSTANTS.MANUAL_REVIEW,\n DECLINED: CONSTANTS.DECLINED,\n DEFAULT: CONSTANTS.MANUAL_REVIEW,\n REJECTED: CONSTANTS.DECLINED,\n NOT_APPLICABLE: CONSTANTS.DECLINED\n};\n\n// from CGP APIs (product provisioning and product status), the following status has to be derived.\n// IN_REVIEW of CGP status is derived into MANUAL_REVIEW\nCONSTANTS.PRODUCT_STATUS = {\n SUBSCRIBED: CONSTANTS.SUBSCRIBED,\n SUBSCRIBED_WITH_LIMIT: CONSTANTS.SUBSCRIBED_WITH_LIMIT,\n DECLINED: CONSTANTS.DECLINED,\n MANUAL_REVIEW: CONSTANTS.MANUAL_REVIEW,\n NEED_MORE_DATA: CONSTANTS.NEED_MORE_DATA,\n APPROVED: CONSTANTS.APPROVED\n};\n\n// the following constants are defined for experiments\nCONSTANTS.EXPERIMENTS = {\n NAMES: {\n FAST_TRACK_ACTIVATION: 'ppcpb_simple_signup',\n NO_INTENT_MERCHANT_REDIRECTION: 'no_product_intent_merchant_redirection',\n MARKETING_SIGNUP_OPT_IN_EMAIL: 'Marketing_Signup_Opt_In_Email',\n NEW_MERCHANT_WELCOME_EMAIL: 'new_merchant_welcome_email',\n OB_REBOOT_EXPERIMENT: 'ob_reboot_experiment',\n REBOOT_POST_CREATION_SIGNUP: 'Reboot_Post_Creation_Signup'\n },\n PATHS: {\n SEND_MONEY: '/businessprovision/payments/sendmoney',\n INVOICE_HOME: '/commercesetup/product/ep/newaccount',\n FAST_TRACK_ACTIVATION_UNCONFIRMED_EMAIL: '/commercesetup/confirmEmail',\n MEP_DASHBOARD: '/mep/dashboard',\n NO_INTENT_MERCHANT_REDIRECTION: '/merchantapps/setup-recommendations?source=onboarding'\n },\n TREATMENTS: {\n SEND_MONEY: 'Trmt_Business_Provision_TrialTransaction_1',\n INVOICING: 'Trmt_Business_Provision_Invoicing_1',\n INVOICE_HOME: 'Trmt_Merchant_Activation_Invoice_Home_Redirect',\n FAST_TRACK_ACTIVATION: 'Trmt_ppcpb_simple_signup_1',\n CRS_REDIRECT_TRTMNT: 'Trmt_EXP_AU_CRS_FALCON_1',\n NO_INTENT_MERCHANT_REDIRECTION: 'Trmt_no_product_intent_merchant_redirection_1',\n NEW_MERCHANT_WELCOME_EMAIL_CONTROL: 'Ctrl_new_merchant_welcome_email',\n NEW_MERCHANT_WELCOME_EMAIL_TRMT1: 'Trmt_new_merchant_welcome_email_1',\n NEW_MERCHANT_WELCOME_EMAIL_TRMT2: 'Trmt_new_merchant_welcome_email_2',\n MARKETING_SIGNUP_OPT_IN_EMAIL_TRMT: 'Trmt_Marketing_Signup_Opt_In_Email_1',\n MARKETING_SIGNUP_OPT_IN_EMAIL_CTRL: 'Ctrl_Marketing_Signup_Opt_In_Email',\n REBOOT_POST_CREATION_SIGNUP_TRMT_1: 'Trmt_Reboot_Post_Creation_Signup'\n },\n RESOURCE_NAME: 'magic-experiments',\n RESOURCE_NAMES: {\n FAST_TRACK_ACTIVATION: 'bizsignupnodeweb_simple_signup',\n NO_INTENT_MERCHANT_REDIRECTION: 'no_intent_redirection',\n NEW_MERCHANT_WELCOME_EMAIL: 'new_merchant_welcome_email'\n },\n COMPONENT: 'bizprovisionnodeweb',\n ELIGIBLE_SEND_MONEY_PRODUCTS: ['wps', 'no_intent'],\n ELIGIBLE_INVOICE_HOME_COUNTRIES: ['US', 'GB'],\n FPTI_PAGE_NAME: {\n NO_INTENT_REDIRECTION_EXP: 'no_intent_redirection_exp',\n MARKETING_HOLDOUT_EXP: 'marketing_holdout_exp',\n NEW_MERCHANT_WELCOME_EMAIL: 'new_merchant_welcome_email',\n SIMPLE_SIGNUP_EXP: 'simple_signup_exp',\n SINGLE_PAGE_SIGNUP_US: 'main:onbrd:falconnode::singlePageSignup:US::',\n SINGLE_PAGE_SIGNUP: 'main:onbrd:falconnode::singlePageSignup',\n SINGLE_PAGE_SIGNUP_GSL: 'main:onbrd:falconnode::singlePageSignup:gsl-popup::'\n },\n ELIGIBILITY_REASON: {\n MARKETING_EMAIL: 'marketing_email',\n NO_MARKETING_EMAIL: 'no_marketing_email'\n },\n\n // this constant is used to control the population we want to target\n // in ELMO. for many of our ELMO experiments, we do not want to consider\n // any vetted products or special add product intents.\n STANDARD_ELIGIBLE_INTENTS: {\n wps: true,\n ap: true,\n ep: true,\n no_intent: true\n },\n PPNP_SUPPORTED_COUNTRIES: ['GB', 'FR', 'IT', 'ES', 'DE', 'BE', 'NL', 'PT', 'PL', 'SE', 'IE', 'AT']\n};\nCONSTANTS.PPH_BIZ_EVENTS = {\n PPH_SIGNUP_COMPLETE: 'PPH_SIGNUP_COMPLETE',\n PPH_GENERIC_ERROR: 'PPH_GENERIC_ERROR',\n PPH_FIELD_ERROR: 'PPH_FIELD_ERROR',\n PPH_SERVICE_ERROR: 'PPH_SERVICE_ERROR',\n PPH_SPL_LANDING: 'PPH_SPL_LANDING',\n PPH_BIZ_UPGRD_FIELD: 'PPH_BIZ_UPGRD_FIELD',\n PPH_DOB_SSN_CHECK: 'PPH_DOB_SSN_CHECK',\n PPH_BDMC_INFO: 'PPH_BDMC_INFO',\n REDIRECT_TO_ZETTLE: 'PPH_REDIRECT_TO_ZETTLE'\n};\n\n\n// ELMO experiments that *could* be called on GET for any page in onboarding,\n// see pxpRouterUtil.js -> `callFlowElmo`. If you add an experiment here, it's\n// required to specify the condition(s) under which it should be called in\n// pxpRouterUtil.js -> `_shouldCallElmo` to avoid repeated/unnecessary calls\n// to ELMO because that increases page load time.\nCONSTANTS.FLOW_EXPERIMENTS = [\n 'Browser_Autofill',\n 'ppcpb_merchant_onboarding_address_input_typeahead',\n 'pphGBAddressSuggest',\n 'PARTNER_PPCP_EXPANSION_TO_ALL_COUNTRIES',\n 'PARTNER_PPCP_EXPANSION_TO_PERSONAL_ACCOUNT',\n 'flow_restricton_control',\n 'PASSWORD_COMPONENT_REDESIGN',\n 'Merchant_Onboarding_Google_One_Tap_Signup',\n 'Merchant_PO_Box_Address_Validation'\n];\n\n\nCONSTANTS.PARTNER_ERRORS = {\n INTERNAL_SERVER_ERROR: 'INTERNAL_SERVER_ERROR',\n UNDEFINED_ERROR_DETAILS: 'UNDEFINED_ERROR_DETAILS'\n};\n\n// KYC Status Codes\nCONSTANTS.KYC_STATUS = {\n COMPLETED: 'COMPLETED'\n};\nCONSTANTS.COOKIES = {\n ALGORITHM: 'aes-256-cfb',\n KEYMAKER_KEY: 'biz_signup_cookies_crypto_key',\n SEGM: {\n name: 'SEGM',\n value: 'bRdV1vB0ebq9RKdAb3xSHowCi6QnnlCiDOLNk8i1mAuLl1vTbzHQwWajSsMe8mvoWiJtY1GnpzN4Y-sixGy7BQ'\n }\n};\n\n// @TODO: Store in remote config\nCONSTANTS.SEA_COUNTRIES = { 'ID': 'ID', 'MY': 'MY', 'PH': 'PH', 'SG': 'SG', 'TH': 'TH', 'VN': 'VN' };\nCONSTANTS.CLAC_COUNTRIES = { 'AG': 'AG', 'AI': 'AI', 'AN': 'AN', 'AR': 'AR', 'AW': 'AW', 'BB': 'BB', 'BM': 'BM', 'BO': 'BO', 'BS': 'BS', 'BZ': 'BZ', 'CL': 'CL', 'CO': 'CO', 'CR': 'CR', 'DM': 'DM', 'DO': 'DO', 'EC': 'EC', 'FK': 'FK', 'GD': 'GD', 'GT': 'GT', 'GY': 'GY', 'HN': 'HN', 'JM': 'JM', 'KN': 'KN', 'KY': 'KY', 'LC': 'LC', 'MS': 'MS', 'MX': 'MX', 'NI': 'NI', 'PA': 'PA', 'PE': 'PE', 'PY': 'PY', 'SR': 'SR', 'SV': 'SV', 'TC': 'TC', 'TT': 'TT', 'UY': 'UY', 'VC': 'VC', 'VE': 'VE', 'VG': 'VG' };\nCONSTANTS.CROWDFUNDING_NON_SUPPORTED_COUNTRIES = { ...CONSTANTS.SEA_COUNTRIES, ...CONSTANTS.CLAC_COUNTRIES, 'AU': 'AU', 'BR': 'BR', 'HK': 'HK', 'IN': 'IN', 'JP': 'JP', 'KR': 'KR', 'NZ': 'NZ', 'TW': 'TW' };\nCONSTANTS.GROUP2 = { 'AU': 'AU', 'MX': 'MX', 'CA': 'CA' };\nCONSTANTS.APAC_COUNTRIES = { 'BT': 'BT', 'FM': 'FM', 'HK': 'HK', 'ID': 'ID', 'JP': 'JP', 'KH': 'KH', 'KR': 'KR', 'LA': 'LA', 'LK': 'LK', 'MN': 'MN', 'MV': 'MV', 'NP': 'NP', 'NZ': 'NZ', 'PH': 'PH', 'SB': 'SB', 'SG': 'SG', 'TO': 'TO', 'TW': 'TW', 'VN': 'VN', 'WS': 'WS' };\nCONSTANTS.MEA_3PL_COUNTRIES = { 'AD': 'AD', 'AE': 'AE', 'AL': 'AL', 'AM': 'AM', 'AO': 'AO', 'AZ': 'AZ', 'BA': 'BA', 'BF': 'BF', 'BH': 'BH', 'BI': 'BI', 'BJ': 'BJ', 'BN': 'BN', 'BW': 'BW', 'BY': 'BY', 'CD': 'CD', 'CG': 'CG', 'CH': 'CH', 'CI': 'CI', 'CK': 'CK', 'CM': 'CM', 'CV': 'CV', 'DJ': 'DJ', 'EG': 'EG', 'ER': 'ER', 'ET': 'ET', 'FJ': 'FJ', 'FO': 'FO', 'GA': 'GA', 'GE': 'GE', 'GL': 'GL', 'GM': 'GM', 'GN': 'GN', 'GW': 'GW', 'HR': 'HR', 'IS': 'IS', 'JO': 'JO', 'KE': 'KE', 'KG': 'KG', 'KI': 'KI', 'KM': 'KM', 'KW': 'KW', 'KZ': 'KZ', 'LS': 'LS', 'MA': 'MA', 'MC': 'MC', 'MD': 'MD', 'ME': 'ME', 'MG': 'MG', 'MH': 'MH', 'MK': 'MK', 'ML': 'ML', 'MR': 'MR', 'MU': 'MU', 'MW': 'MW', 'MZ': 'MZ', 'NA': 'NA', 'NC': 'NC', 'NE': 'NE', 'NG': 'NG', 'NR': 'NR', 'OM': 'OM', 'PF': 'PF', 'PG': 'PG', 'PM': 'PM', 'PW': 'PW', 'QA': 'QA', 'RS': 'RS', 'RW': 'RW', 'SA': 'SA', 'SB': 'SB', 'SC': 'SC', 'SL': 'SL', 'SN': 'SN', 'SO': 'SO', 'ST': 'ST', 'SZ': 'SZ', 'TD': 'TD', 'TG': 'TG', 'TJ': 'TJ', 'TM': 'TM', 'TN': 'TN', 'TZ': 'TZ', 'UA': 'UA', 'UG': 'UG', 'VA': 'VA', 'WF': 'WF', 'YE': 'YE', 'YT': 'YT', 'ZA': 'ZA', 'ZM': 'ZM', 'ZW': 'ZW' };\n\nCONSTANTS.NON_UPFRONT_VERIFICATION_COUNTRIES = { ...CONSTANTS.CLAC_COUNTRIES, ...CONSTANTS.APAC_COUNTRIES, ...CONSTANTS.MEA_3PL_COUNTRIES };\n\nCONSTANTS.COUNTRIES_3PL = { 'AE': 'AE', 'AG': 'AG', 'AI': 'AI', 'AL': 'AL', 'AM': 'AM', 'AN': 'AN', 'AO': 'AO', 'AR': 'AR', 'AW': 'AW', 'AZ': 'AZ', 'BA': 'BA', 'BB': 'BB', 'BF': 'BF', 'BH': 'BH', 'BI': 'BI', 'BJ': 'BJ', 'BM': 'BM', 'BN': 'BN', 'BO': 'BO', 'BS': 'BS', 'BT': 'BT', 'BW': 'BW', 'BY': 'BY', 'BZ': 'BZ', 'C2': 'C2', 'CD': 'CD', 'CG': 'CG', 'CH': 'CH', 'CI': 'CI', 'CK': 'CK', 'CL': 'CL', 'CM': 'CM', 'CO': 'CO', 'CR': 'CR', 'CV': 'CV', 'DJ': 'DJ', 'DM': 'DM', 'DO': 'DO', 'DZ': 'DZ', 'EC': 'EC', 'EG': 'EG', 'ER': 'ER', 'ET': 'ET', 'FJ': 'FJ', 'FK': 'FK', 'FM': 'FM', 'FO': 'FO', 'GA': 'GA', 'GD': 'GD', 'GE': 'GE', 'GL': 'GL', 'GM': 'GM', 'GN': 'GN', 'GT': 'GT', 'GW': 'GW', 'GY': 'GY', 'HK': 'HK', 'HN': 'HN', 'HR': 'HR', 'ID': 'ID', 'IL': 'IL', 'IS': 'IS', 'JM': 'JM', 'JO': 'JO', 'KE': 'KE', 'KG': 'KG', 'KH': 'KH', 'KI': 'KI', 'KM': 'KM', 'KN': 'KN', 'KR': 'KR', 'KW': 'KW', 'KY': 'KY', 'KZ': 'KZ', 'LA': 'LA', 'LC': 'LC', 'LK': 'LK', 'LS': 'LS', 'MA': 'MA', 'MC': 'MC', 'MD': 'MD', 'ME': 'ME', 'MG': 'MG', 'MH': 'MH', 'MK': 'MK', 'ML': 'ML', 'MN': 'MN', 'MR': 'MR', 'MS': 'MS', 'MU': 'MU', 'MV': 'MV', 'MW': 'MW', 'MY': 'MY', 'MZ': 'MZ', 'NA': 'NA', 'NC': 'NC', 'NE': 'NE', 'NF': 'NF', 'NG': 'NG', 'NI': 'NI', 'NP': 'NP', 'NR': 'NR', 'NU': 'NU', 'NZ': 'NZ', 'OM': 'OM', 'PA': 'PA', 'PE': 'PE', 'PF': 'PF', 'PG': 'PG', 'PH': 'PH', 'PM': 'PM', 'PN': 'PN', 'PW': 'PW', 'PY': 'PY', 'QA': 'QA', 'RS': 'RS', 'RW': 'RW', 'SA': 'SA', 'SB': 'SB', 'SC': 'SC', 'SG': 'SG', 'SH': 'SH', 'SJ': 'SJ', 'SL': 'SL', 'SN': 'SN', 'SO': 'SO', 'SR': 'SR', 'ST': 'ST', 'SV': 'SV', 'SZ': 'SZ', 'TC': 'TC', 'TD': 'TD', 'TG': 'TG', 'TH': 'TH', 'TJ': 'TJ', 'TM': 'TM', 'TN': 'TN', 'TO': 'TO', 'TR': 'TR', 'TT': 'TT', 'TV': 'TV', 'TW': 'TW', 'TZ': 'TZ', 'UA': 'UA', 'UG': 'UG', 'UY': 'UY', 'VC': 'VC', 'VE': 'VE', 'VG': 'VG', 'VN': 'VN', 'VU': 'VU', 'WF': 'WF', 'WS': 'WS', 'YE': 'YE', 'YT': 'YT', 'ZA': 'ZA', 'ZM': 'ZM', 'ZW': 'ZW' };\nCONSTANTS.LUX_COUNTRIES = { 'AT': 'AT', 'BE': 'BE', 'BG': 'BG', 'CY': 'CY', 'CZ': 'CZ', 'DE': 'DE', 'DK': 'DK', 'EE': 'EE', 'ES': 'ES', 'FI': 'FI', 'FR': 'FR', 'GB': 'GB', 'GF': 'GF', 'GI': 'GI', 'GP': 'GP', 'GR': 'GR', 'HU': 'HU', 'IE': 'IE', 'IT': 'IT', 'LI': 'LI', 'LT': 'LT', 'LU': 'LU', 'LV': 'LV', 'MQ': 'MQ', 'MT': 'MT', 'NL': 'NL', 'NO': 'NO', 'PL': 'PL', 'PT': 'PT', 'RE': 'RE', 'RO': 'RO', 'SE': 'SE', 'SI': 'SI', 'SK': 'SK', 'SM': 'SM', 'VA': 'VA' };\nCONSTANTS.CROWDFUNDING_SUPPORTED_GROUPS = {\n US: 'US',\n ...CONSTANTS.GROUP2,\n ...CONSTANTS.COUNTRIES_3PL,\n ...CONSTANTS.LUX_COUNTRIES\n};\n\nCONSTANTS.IS_SUPPORTED_BY_ONE_PAGER = {\n US: 'US',\n ...CONSTANTS.LUX_COUNTRIES\n};\n\nCONSTANTS.LAYOUT_MESSAGES_MAPPING = {\n 'minibrowser': 'desktop',\n 'desktop': 'desktop',\n 'mobile': 'mobile'\n};\n\n// Mapping the deprecated Kepler Address Layout Keys to Worldready supported Keys\n// More info: doc: https://github.paypal.com/pages/Globalization-R/worldready-js/docs/address-guide.html\nCONSTANTS.ADDRESS_KEYS_MAPPING = {\n address_line_1: 'addressLine1',\n address_line_2: 'addressLine2',\n address_line_3: 'addressLine3',\n admin_area_1: 'adminArea1',\n admin_area_2: 'adminArea2',\n admin_area_3: 'adminArea3',\n postal_code: 'postalCode',\n country_code: 'countryCode',\n address_details: 'addressDetails',\n 'address_details.street_number': 'addressDetails.streetNumber',\n 'address_details.street_name': 'addressDetails.streetName',\n street_number: 'streetNumber',\n street_name: 'streetName'\n};\n\nCONSTANTS.COARSE_ADDRESS_MAPPING = {\n line1: 'line1',\n line2: 'line2',\n postalCode: 'postal_code',\n countryCode: 'country_code',\n state: 'state',\n city: 'city'\n};\n\nCONSTANTS.deprecatedKeys = [\n 'address_line_1',\n 'address_details.street_number',\n 'address_details.street_name',\n 'address_line_2',\n 'admin_area_1',\n 'admin_area_2',\n 'admin_area_3',\n 'postal_code',\n 'country_code'\n];\n\nCONSTANTS.newlyMappedKeys = [\n 'addressLine1',\n 'addressDetails.streetNumber',\n 'addressDetails.streetName',\n 'addressLine2',\n 'adminArea2',\n 'adminArea1',\n 'adminArea3',\n 'postalCode',\n 'countrycode'\n];\n\n// Email topics for UNP\nCONSTANTS.EMAIL_TOPICS = {\n CONFIRM_EMAIL: 'activation-confirmation-email-251', // asks user to confirm their email address\n PSP_CONFIRM_EMAIL: 'psp-confirmation-email',\n WELCOME_EMAIL: 'activation-welcome-email-252',\n REVISED_WELCOME_EMAIL: 'activation-welcome-email-2596',\n AUTO_TRANSFER_EMAIL: 'activation-auto-transfer-email-2736'\n};\n\n// Dimensions for CAL\nCONSTANTS.CAL_DIMENSIONS = {\n PARTNER_ID: 'm_partner',\n PARTNER_DISPLAY_NAME: 'm_partnerDisplayName',\n FLOW_TYPE: 'm_flowType',\n PRODUCT: 'm_product',\n COUNTRY: 'm_cntry',\n TERRITORY: 'm_territory',\n PRODUCT_STATUS: 'm_product_status',\n FLOW_ID: 'm_flowId',\n INTEGRATION_TYPE: 'm_integrationType',\n ACCOUNT_TYPE: 'm_accountType',\n PAGE_NAME: 'm_pageName',\n EXPERIMENT: 'm_experiment',\n MERCHANT_ID: 'm_merchant',\n DISABLE_MSN_REDIRECTION: 'm_disableMsnRedirect',\n AUTO_WITHDRAWAL_ENABLED: 'm_autoWithdrawalEnabled',\n AMS_VALIDATION_ERROR: 'm_ams_error'\n};\n\nCONSTANTS.BUSINESS_TYPE_ELEMENTS = [\n 'merchantCategoryCode',\n 'businessURL',\n 'businessCountryOfIncorporation',\n 'creditCardStatement',\n 'businessCCStatementName'\n];\n\nCONSTANTS.CUSTOM_EXPERIMENTS = {\n 'onepager': true,\n 'fraudandintent': true,\n 'friendlycontent': true,\n 'boomerang': true,\n unactivated_account: true,\n ob_reboot_delta_data_collection: true,\n delta_data_collection_no_skip: true,\n reboot_page_optimization: true,\n global_self_certify_name_collection: true,\n business_legal_name: true,\n redirect_to_eop: true,\n smb_onboarding_eop: true\n};\n\nCONSTANTS.ONE_PAGER = {\n ELMO_TREATMENT_NAME: 'onePagerFlow',\n ELMO_CONTROL_NAME: 'Ctrl_bizsignup_onePager',\n EXPERIMENT_NAME: 'onepager',\n FPTI: {\n PAGE: {\n desktop: {\n 'create': 'business_personal_info',\n 'businessUpgrade': 'upgrade_account',\n 'grantPermissions': 'grant_access_partner',\n 'upgradeBusinessAccount': 'upgrade_business_details'\n }\n },\n STATUS: {\n COMPLETE: 'onboard_complete',\n PENDING_EMAIL: 'pending_email_confirmation'\n }\n }\n};\nCONSTANTS.PARTNER_CASUAL_SELLER_EXPANDED_COUNTRIES = ['C2', 'SG', 'JP', 'MY', 'VN', 'PH', 'TW', 'ID', 'TH', 'AR', 'CL'];\nCONSTANTS.WP_PRO_VETTING_STATUS = {\n SUBSCRIBED: 'approved',\n SUBSCRIBED_WITH_LIMIT: 'approved',\n DECLINED: 'declined',\n MANUAL_REVIEW: 'pending',\n NEED_MORE_DATA: 'pending'\n};\nCONSTANTS.WP_PRO_RISK_PROVISION_MAPPING = {\n ALLOW: 'SUBSCRIBED',\n MANUAL_REVIEW: 'MANUAL_REVIEW'\n};\n\nCONSTANTS.EEA_NOT_EU_COUNTRIES = ['GB', 'DK', 'CH'];\n\nCONSTANTS.NON_STAKEHOLDER_BIZTYPE = {\n 'MX': ['PUBLIC_COMPANY', 'GOVERNMENT']\n};\n\nCONSTANTS.kycCheckCountryProductMap = {\n 'MX': ['ppcp']\n};\n\nCONSTANTS.ADROIT_STAKEHOLDER_FLOW = ['MX'];\n\nCONSTANTS.MARKETPLACES = {\n EBAY: 'EBAY',\n WALMART: 'WALMART',\n ETSY: 'ETSY',\n OTHER: 'OTHER'\n};\n\nCONSTANTS.FRAUD_AND_INTENT = {\n TREATMENT_FLAG: 'fraudandintent',\n ELMO_RESOURCE_NAME: 'EXP_FRAUD_AND_INTENT',\n ELMO_TREATMENT_NAME: 'Trmt_EXP_FRAUD_AND_INTENT_1',\n ELMO_CONTROL_NAME: 'Ctrl_EXP_FRAUD_AND_INTENT',\n PAGE: 'businessQuiz',\n RPS_EXPLICIT_INTENT_MAPPING: {\n SEND_MONEY: 'SEND_PAYMENTS',\n EMAIL_PAYMENTS: 'INVOICING',\n PPH: 'IN_PERSON',\n MARKETPLACES: 'MARKETPLACES',\n WPS: 'ON_MY_WEBSITE',\n OTHER: 'OTHER'\n },\n PRODUCT_TO_EXPLICIT_INTENT_MAPPING: {\n ppcp: ['ON_MY_WEBSITE'],\n pro_2_0: ['ON_MY_WEBSITE'],\n mass_pay: ['SEND_PAYMENTS'],\n ppcp_platforms: ['ON_MY_WEBSITE'],\n checkout: ['ON_MY_WEBSITE'],\n subscriptions: ['ON_MY_WEBSITE'],\n wp_pro: ['ON_MY_WEBSITE'],\n pro_3_0: ['ON_MY_WEBSITE']\n },\n HAS_ESTABLISHED_BUSINESS_SESSION_STORAGE_KEY: 'hasEstablishedBusiness',\n NO_BUSINESS_WEBSITE_SESSION_STORAGE_KEY: 'noBusinessWebsite'\n};\n\nCONSTANTS.FRIENDLY_CONTENT = {\n TREATMENT_FLAG: 'friendlycontent',\n ELMO_RESOURCE_NAME: 'EXP_FRIENDLY_CONTENT',\n ELMO_TREATMENT_NAME: 'Trmt_EXP_FRIENDLY_CONTENT_1',\n ELMO_CONTROL_NAME: 'Ctrl_EXP_FRIENDLY_CONTENT',\n ELMO_SHARED_CONTROL_NAME: 'aa_preaccount_shared_ctrl',\n ENTITY_FLOW: 'registered_business',\n NON_ENTITY_FLOW: 'unregistered_business'\n};\n\nCONSTANTS.EMAIL_TYPES = {\n WELCOME_EMAIL: 'WELCOME_EMAIL'\n};\n\nCONSTANTS.RCS_KEY_PILOT_VALUE_SUPPORTED_COUNTRIES = {\n BR: 'pilot.bramlbusinesspilot.percent'\n};\n\nCONSTANTS.SERVICE_OPTIONS = {\n GOOGLE: 'GOOGLE',\n GOOGLE_EXCLUSIVE: 'GOOGLE_EXCLUSIVE'\n};\n\nCONSTANTS.SMB_ONBOARDING_EOP = {\n TREATMENT_FLAG: 'smb_onboarding_eop'\n};\n\nCONSTANTS.CAPABILITIES_ONBOARDING_EOP = {\n TREATMENT_FLAG: 'capabilities_onboarding_eop',\n ELMO_TREATMENT_NAME: 'Trmt_capabilities_onboarding_eop',\n ELMO_CONTROL_NAME: 'Ctrl_capabilities_onboarding_eop',\n ELMO_SHARED_CONTROL_NAME: 'aa_preaccount_2024_shared_cntrl'\n};\n\nCONSTANTS.CONNECTED_PATH_VARIATIONS_TO_EOP = {\n TREATMENT_FLAG: 'connected_path_variations_to_eop',\n ELMO_TREATMENT_NAME: 'Trmt_Connected_Path_Variations_to_EOP',\n ELMO_CONTROL_NAME: 'Ctrl_Connected_Path_Variations_to_EOP'\n};\n\nCONSTANTS.REFERRAL_TOKEN_EOP = {\n TREATMENT_FLAG: 'referral_token_eop'\n};\n\nCONSTANTS.UNACTIVATED_ACCOUNT = {\n TREATMENT_FLAG: 'unactivated_account',\n ELMO_TREATMENT_NAME: 'Trmt_Onboarding_Reboot'\n};\n\nCONSTANTS.DELTA_DATA_COLLECTION = {\n TREATMENT_FLAG: 'ob_reboot_delta_data_collection'\n};\n\nCONSTANTS.REBOOT_PAGE_OPTIMIZATION = {\n TREATMENT_FLAG: 'reboot_page_optimization'\n};\n\nCONSTANTS.GLOBAL_SELF_CERTIFY_NAME_COLLECTION = {\n TREATMENT_FLAG: 'global_self_certify_name_collection'\n};\n\nCONSTANTS.REDIRECT_TO_EOP = {\n TREATMENT_FLAG: 'redirect_to_eop',\n ELMO_TREATMENT_NAME: 'Trmt_redirect_to_eop'\n};\n\nCONSTANTS.MAC_REDIRECT_TO_EOP = {\n TREATMENT_FLAG: 'mac_redirect_to_eop',\n ELMO_TREATMENT_NAME: 'Trmt_mac_redirect_to_eop',\n ELMO_CONTROL_NAME: 'Ctrl_mac_redirect_to_eop'\n};\n\nCONSTANTS.UPGRADE_EOP = {\n TREATMENT_FLAG: 'upgrade_eop',\n ELMO_TREATMENT_NAME: 'Trmt_upgrade_eop',\n ELMO_CONTROL_NAME: 'Ctrl_upgrade_eop'\n};\n\nCONSTANTS.MESSAGING_ENTRY_MERCHANT_HOME = {\n TREATMENT_FLAG: 'messaging_sdk',\n ELMO_TREATMENT_NAME: 'Trmt_Messaging_Entry_Merchant_Home'\n};\n\nCONSTANTS.MESSAGING_SDK_LOGGEDOUT = {\n TREATMENT_FLAG: 'messaging_sdk',\n ELMO_TREATMENT_NAME: 'Trmt_Messaging_SDK_LoggedOut'\n};\n\nCONSTANTS.ACCOUNT_TAGS = {\n SETUP_IN_PROGRESS: 'SETUP_IN_PROGRESS'\n};\n\nCONSTANTS.DIRECT_CHANNEL_PRE_ENABLEMENT = {\n PRODUCTS_SUPPORTED: ['PPCP'],\n PRODUCTS_STATUS_CHECK_MAPPING: {\n 'PPCP': CONSTANTS.PPCP_CUSTOM\n }\n};\n\nCONSTANTS.PARTNER_CHANNEL_PRE_ENABLEMENT = {\n PRODUCTS_SUPPORTED: ['PPCP'],\n PRODUCTS_STATUS_CHECK_MAPPING: {\n 'PPCP': CONSTANTS.PPCP_CUSTOM\n }\n};\n\n/* istanbul ignore next */\nCONSTANTS.ONBOARDING_REBOOT_DELTA_DATA_COLLECTION = {\n DEFAULT_START_PAGE: 'getStarted',\n DEFAULT_RETURN_URL: '/mep/dashboard',\n CIP_REDIRECT_URL: '/policydashboard/process/compliance/cip',\n POST_DEXTER_REDIRECT_URL: `/bizsignup/?experiment=${CONSTANTS.DELTA_DATA_COLLECTION.TREATMENT_FLAG}`,\n CIP_VERIFICATION: 'CIP_VERIFICATION',\n US_ONBOARDING: 'US_ONBOARDING',\n UNIFIED_LOGIN_URL: '/signin',\n IDENTITY_VERIFICATION_STATUS: 'identityVerificationStatus',\n WAITTIME: 2000,\n COMPLIANCEREADSERV_MAX_RETRIES: 5,\n COMPLIANCEREADSERV_WAIT_BETWEEN_RETRIES: 500,\n TIMEOUT: deployEnv.isLive() ? 10000 : 15000,\n FATCA_PRODUCT_CONTEXT_FOR_OB_REBOOT: 'WPS'\n};\n\nCONSTANTS.HUA_CAPABILITY = {\n HUA_FLOW: 'hua_flow',\n PROVISIONAL_FLOW: 'provisional_flow',\n FPTI: {\n SET_PROVISIONAL_FLOW_INITIAL_PAGE: 'set_initial_page_as_integrate_password_page',\n SET_HUA_FLOW_INITIAL_PAGE: 'set_initial_page_as_create_page',\n INTEGRATE_PASSWORD_PAGE_HANDLER: 'integrate_password_page_submit',\n CREATE_PAGE_HANDLER: 'create_page_submit',\n PROVISIONAL_HOOK_SUCCESS: 'provisional_hook_success',\n PROVISIONAL_HOOK_ERROR: 'provisional_hook_error',\n CHANNEL: 'provisional_acct',\n SUB_FLOW: 'provisional_review'\n }\n};\n\nCONSTANTS.DEXTER_STATUS = {\n SUCCESS: 'SUCCESS',\n FAILURE: 'FAILURE',\n ABORTED: 'ABORTED'\n};\n\nCONSTANTS.DEXTER_STATUS_CODES = {\n VERIFIED: 'VERIFIED',\n MANUAL_REVIEW: 'MANUAL_REVIEW',\n REJECTED: 'REJECTED'\n};\n\nCONSTANTS.ONBOARDING_REBOOT_SERVER_SIDE_FPTI = {\n ELIGIBILITY_REASON: {\n OB_REBOOT_TREATMENT: 'ob_reboot_treatment'\n },\n STATE_NAME: {\n INITIAL_SIGN_UP: 'initial_signup',\n DATA_COLLECTION: 'data_collection',\n CIP_STATUS: 'cip_status',\n KYC_STATUS: 'kyc_status',\n PRODUCT_STATUS: 'product_status'\n },\n TRANSITION_NAME: {\n UNACTIVATED_ACCOUNT_CREATED: 'unactivated_account_created',\n POST_PROCESSING_UNACTIVATED_ACCOUNT_ERROR: 'post_processing_unactivated_account_error',\n UNAUTHORIZED_REDIRECT_BASED_URL: 'unauthorized_redirect_based_url',\n DELTA_DATA_COLLECTION_START: 'delta_data_collection_start',\n DELTA_DATA_COLLECTION_COMPLETE: 'delta_data_collection_complete',\n REDIRECT_TO_DEXTER: 'redirect_to_dexter',\n REDIRECT_TO_ADROIT: 'redirect_to_adroit',\n REDIRECT_TO_CALLING_PAGE: 'redirect_to_calling_page',\n POST_ONBOARDING_CIP_CHECK: 'post_onboarding_cip_check',\n POST_DEXTER_CIP_CHECK: 'post_dexter_cip_check',\n FEATURE_RESTRICTION_CHECK: 'feature_restriction_check',\n POST_ONBOARDING_PRODUCT_CHECK: 'post_onboarding_product_check'\n },\n EVENT_NAME: {\n OB_REBOOT_ACCOUNT_CREATED: 'ob_reboot_account_created',\n ERROR_ENCOUNTERED_POST_OB_REBOOT_ACCOUNT_CREATION: 'error_encountered_post_ob_reboot_account_creation',\n INCORRECT_VISIT_TO_DATA_COLLECTION: 'incorrect_visit_to_data_collection',\n DELTA_DATA_COLLECTION_STARTED: 'delta_data_collection_started',\n SETUP_IN_PROGRESS_TAG_REMOVED: 'setup_in_progress_tag_removed',\n ONBOARDING_COMPLETE_USER_REDIRECTED_TO_DEXTER: 'onboarding_complete_user_redirected_to_dexter',\n ONBOARDING_COMPLETE_USER_REDIRECTED_TO_ADROIT: 'onboarding_complete_user_redirected_to_adroit',\n ONBOARDING_COMPLETE_USER_REDIRECTED_TO_CALLER: 'onboarding_complete_user_redirected_to_calling_page',\n STATUS_NOT_HANDLED_CIP_CHECK: 'status_not_handled_cip_check',\n USER_SESSION_IS_INACTIVE: 'user_session_is_inactive',\n INITIAL_CIP_AUTO_VERIFICATION_SUCCESSFUL: 'initial_cip_auto_verification_successful',\n ERROR_ENCOUNTERED_VERIFIYING_CIP_FOR_COMPLETED_ONBOARDING_SESSION: 'error_encountered_verifying_cip_for_completed_onboarding_session',\n INITIAL_CIP_AUTO_VERIFICATION_PENDING_OR_UNSUCCESSFUL: 'initial_cip_auto_verification_pending_or_unsuccessful',\n POST_DEXTER_CIP_VERIFICATION_SUCCESSFUL: 'post_dexter_cip_verification_successful',\n POST_DEXTER_CIP_VERIFICATION_PENDING_OR_UNSUCCESSFUL: 'post_dexter_cip_verification_pending_or_unsuccessful',\n POLLING_RESTRICTIONS_STATUS_SUCCESSFUL: 'polling_restrictions_status_successful',\n POLLING_RESTRICTIONS_STATUS_UNSUCCESSFUL: 'polling_restrictions_status_unsuccessful',\n ERROR_ENCOUNTERED_CHECKING_LIMITATION_IN_PARTNER_RESUME_FLOW: 'error_encountered_checking_limitation_in_partner_resume_flow',\n ERROR_ENCOUNTERED_CHECKING_LIMITATION_IN_ADD_PRODUCT_RESUME_FLOW: 'error_encountered_checking_limitation_in_add_product_resume_flow',\n PRODUCT_PROVISIONING_PENDING_OR_UNSUCCESSFUL: 'product_provisioning_pending_or_unsuccessful',\n OB_REBOOT_MINIMAL_SIGNUP_PAGE_SHOWN: 'ob_reboot_minimal_signup_page_shown',\n OB_REBOOT_GOOGLE_POPUP_SCREEN_SHOWN: 'ob_reboot_google_popup_screen_shown',\n OB_REBOOT_GOOGLE_POPUP_OPT_IN_PRESSED: 'ob_reboot_google_popup_opt_in_pressed',\n OB_REBOOT_GOOGLE_ACCOUNTS_RENDER: 'ob_reboot_google_accounts_render',\n OB_REBOOT_GOOGLE_POPUP_DISMISSED_PRESSED: 'ob_reboot_google_popup_dismiss_pressed',\n OB_REBOOT_MINIMAL_SIGNUP_CHANGE_PRESSED: 'ob_reboot_minimal_signup_change_pressed',\n OB_REBOOT_MINIMAL_SIGNUP_EMAIL_ALREADY_EXISTS: 'ob_reboot_minimal_signup_email_already_exists',\n OB_REBOOT_MINIMAL_SIGNUP_EMAIL_VERIFIED: 'ob_reboot_minimal_signup_email_verified',\n MINIMAL_ACCOUNT_CREATION_DENIED: 'minimal_account_creation_denied'\n },\n ERROR: {\n USER_UNAUTHENTICATED: 'user_unauthenticated',\n NOT_A_BUSINESS_ACCOUNT: 'not_a_business_account',\n POLLING_RESTRICTIONS_STATUS_TIMED_OUT: 'polling_restrictions_status_timed_out',\n ERROR_THROWN_BY_RESTRICTIONS_SDK: 'error_thrown_by_restrictions_sdk'\n },\n CIP_VERIFICATION_ATTMPT_FROM: {\n BIZSIGNUP: 'bizsignup',\n DEXTER: 'dexter'\n },\n CIP_VERIFICATION_METHOD: {\n DOC_UPLOAD: 'doc_upload',\n INSTANT: 'instant'\n }\n};\n\nCONSTANTS.RPS_ATTRIBUTES_LONG_NAMES = {\n CUSTOMER_ACCOUNT_TYPE: 'cust_acct_type_code',\n ACCOUNT_CREATED_DATE: 'acct_cre_dt',\n PRIMARY_COUNTRY_RESIDENCE: 'prmry_reside_cntry_code',\n MERCHANT_COUNTRY_CODE: 'merch_cntry_code',\n PPCP_MERCHANT_PRODUCT_INTENT: 'ppcp_merchant_product_intent'\n};\nCONSTANTS.RPS_VALUES = {\n RPS_PAYPAL_COMMERCE_PLATFORM_BUSINESS: 'ppcp_pcpb'\n};\n\n\nCONSTANTS.PARTNER_FRIENDLY_CONTENT_COUNTRIES = ['IT', 'FR', 'ES'];\n\nCONSTANTS.FPTI_CONSTANTS_FOR_INTENT_CHANGE = {\n fromIntent: 'ppcp',\n stateName: 'ppcp_onboarding_intent_decision',\n transitionName: 'intent_change',\n eventName: 'ppcp_onboarding_intent_decision'\n};\n\nCONSTANTS.PARTNER_INTENT = {\n personal: 'personal',\n business: 'business',\n mixed: 'mixed'\n};\n\nCONSTANTS.SELLER_INTENT = {\n personal: 'personal',\n business: 'business'\n};\n\nCONSTANTS.FLOW_TYPE = {\n PROGRESSIVE: 'PROGRESSIVE',\n HAWK_ALERT: 'ALERT'\n};\n\n\nCONSTANTS.WORLDREADY = {\n VALUES_MAPPING: {\n givenName: 'firstName',\n surname: 'lastName',\n secondSurname: 'secondSurname'\n }\n};\n\nCONSTANTS.PRODUCT_PROVISION_RESPONSE = {\n PRODUCTS: 'products',\n FEATURES: 'features',\n STATUS: 'status'\n};\n\nCONSTANTS.CGP_FEATURE_STATUS_TO_PRODUCT_STATUS_MAPPING = {\n IN_REVIEW: CONSTANTS.MANUAL_REVIEW,\n APPROVED: CONSTANTS.NEED_MORE_DATA,\n PENDING: CONSTANTS.NEED_MORE_DATA,\n NEED_DATA: CONSTANTS.NEED_MORE_DATA,\n REVOKED: CONSTANTS.DECLINED,\n SUSPENDED: CONSTANTS.DECLINED,\n DENY: CONSTANTS.DECLINED,\n DENIED: CONSTANTS.DECLINED,\n ACTIVE: CONSTANTS.SUBSCRIBED,\n SUBSCRIBED: CONSTANTS.SUBSCRIBED\n};\n\nCONSTANTS.SECONDARY_PRODUCTS = {\n // List of products which support onboarding a specific feature in onboarding. Example: payment_methods supports \"PAY_UPON_INVOICE\"\n PRODUCTS_SUPPORTING_CGP_FEATURES: [CONSTANTS.PAYMENT_METHODS, CONSTANTS.ADVANCED_VAULTING]\n};\n\nCONSTANTS.ZETTLE_ONBOARDING_ENTRY = '/cponboarding/entry';\n\nCONSTANTS.CHARGEBACK_PROTECTION = {\n CHARGEBACK_PROTECTION: 'CHARGEBACK_PROTECTION',\n DIRECT_CREDIT_CARD: 'DIRECT_CREDIT_CARD',\n FRAUD_EVALUATION: 'FRAUD_EVALUATION',\n FRAUD_PROTECTION: 'FRAUD_PROTECTION',\n PAYPAL: 'PAYPAL',\n DEFAULT: 'DEFAULT',\n MARKETPLACE: 'MARKETPLACE',\n CBP_ACCOUNT_TYPE: 'BUSINESS_TYPE',\n WIRED_OFF: 'WIRED_OFF',\n TRMT_APP_CENTER: 'Trmt_App_Center_Chargeback_Protection',\n COUNTRIES: Object.keys(CONSTANTS.PARTNER_PPCP_ENABLED_COUNTRIES)\n};\n\nCONSTANTS.DATE_FORMAT = {\n DATE_SHORT: 'date-short'\n};\n\nCONSTANTS.VAT_ID_REGEXP = {\n DE: '^DE\\\\d{9}$'\n};\n\nCONSTANTS.NAME_FIELDS = ['firstName', 'lastName', 'middleName', 'secondSurname'];\n\nCONSTANTS.GOOGLE_ONE_TAP = {\n ONETAP: 'oneTap',\n URL: 'public/js/components/GoogleOneTapIframe/onetap.html',\n SOURCE: 'web',\n METHODS: {\n oneTapAvailable: 'oneTapAvailable',\n oneTapAccept: 'oneTapAccept',\n oneTapCanceled: 'oneTapCanceled',\n oneTapNoSession: 'oneTapNoSession'\n },\n DISPLAY_ERROR_REASONS: {\n browserNotSupported: 'browser_not_supported',\n invalidClient: 'invalid_client',\n missingClientId: 'missing_client_id',\n optOutOrNoSession: 'opt_out_or_no_session',\n noGoogleSession: 'no_google_session',\n optOut: 'opted_out',\n secureHttpRequired: 'secure_http_required',\n suppressedByUser: 'suppressed_by_user',\n unregisteredOrigin: 'unregistered_origin',\n unknownReason: 'unknown_reason'\n },\n ERROR_TYPE: {\n dismissed: 'dismissed',\n skipped: 'skipped',\n failure: 'One Tap Failed'\n },\n SKIP_ERROR_REASONS: {\n autoCancel: 'auto_cancel',\n userCancel: 'user_cancel',\n tapOutside: 'tap_outside',\n issuingFailed: 'issuing_failed'\n },\n DISMISS_ERROR_REASONS: {\n credentialReturned: 'credential_returned',\n cancelCalled: 'cancel_called',\n flowRestarted: 'flow_restarted'\n },\n MOBILE_BREAKPOINT: 860,\n API_RESPONSE: {\n SUCCESS: 'success',\n FAILURE: 'failure'\n },\n TREATMENT_FLAG: 'Merchant_Onboarding_Google_One_Tap_Signup',\n ONETAP_FPTI: {\n ELMO_TREATMENT_ID: {\n CONTROL: '126871',\n TREATMENT: '126872'\n },\n ELMO_EXPERIMENT_ID: '105948',\n IMPRESSION: {\n page: 'gsl-popup::'\n },\n CLICK: {\n link: {\n gslContinueClick: 'opted_in',\n gslCanceled: 'close',\n dismissed: 'dismissed',\n edit: 'change'\n }\n },\n STATUS: {\n gslNotFound: 'none',\n gslExists: 'exists',\n gslFailure: 'failure',\n gslValidated: 'validated',\n gslValidatedEmailNotVerified: 'gslValidatedEmailNotVerified'\n },\n CONTEXT: {\n is_gsl_changed: 'email'\n }\n }\n};\n\nCONSTANTS.EXCLUDED_PAGES_FOR_IMPRESSION_TRACKING = ['partnerDone'];\n\nCONSTANTS.AMS = {\n ADDRESS_TYPES: {\n PO_BOX: 'P'\n },\n STATUS: {\n INVALID: 'INVALID',\n CORRECTED: 'CORRECTED'\n },\n FPTI: {\n AMS_ADDRESS_VERIFICATION: 'ams_address_verification',\n DETECT_PO_BOX: 'address_type_po_box',\n DETECT_INVALID_ADDRESS: 'invalid_address',\n SUCCESS: 'ams_address_verification_success',\n ERROR: 'ams_address_verification_error'\n }\n};\n\nCONSTANTS.FRENCH_DOM_COUNTRIES = ['YT', 'RE', 'GP', 'GF', 'MQ'];\n\nCONSTANTS.FRENCH_DOM_COUNTRYNAMES = {\n MAYOTTE: 'Mayotte',\n REUNION: 'Réunion',\n GUADELOUPE: 'Guadeloupe',\n FRENCH_GUIANA: 'French Guiana',\n MARTINIQUE: 'Martinique',\n REUNION_locale_fr: 'La Réunion',\n FRENCH_GUIANA_locale_fr: 'Guyane française'\n};\n\nCONSTANTS.FRENCH_DOM_COUNTRYCODES = {\n YT: 'YT',\n RE: 'RE',\n GP: 'GP',\n GF: 'GF',\n MQ: 'MQ'\n};\n\nCONSTANTS.PPCP_ENABLED_FRENCH_DOM_COUNTRIES = {\n [CONSTANTS.FRENCH_DOM_COUNTRYCODES.YT]: true,\n [CONSTANTS.FRENCH_DOM_COUNTRYCODES.RE]: true,\n [CONSTANTS.FRENCH_DOM_COUNTRYCODES.GP]: true,\n [CONSTANTS.FRENCH_DOM_COUNTRYCODES.GF]: true,\n [CONSTANTS.FRENCH_DOM_COUNTRYCODES.MQ]: true\n};\n\nCONSTANTS.territoryNameToCountryCode = {\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.MAYOTTE]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.YT,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.REUNION]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.RE,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.GUADELOUPE]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.GP,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.FRENCH_GUIANA]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.GF,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.MARTINIQUE]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.MQ,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.REUNION_locale_fr]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.RE,\n [CONSTANTS.FRENCH_DOM_COUNTRYNAMES.FRENCH_GUIANA_locale_fr]: CONSTANTS.FRENCH_DOM_COUNTRYCODES.GF\n};\n\nCONSTANTS.PO_BOX_COUNTRIES = ['KE', 'CA'];\n\nCONSTANTS.RISK_SIGNUP = {\n DENIED_ACCOUNT_CREATION: 'deniedAccountCreation'\n};\n\nCONSTANTS.UTM_PARAMS = [\n 'utm_source',\n 'utm_medium',\n 'utm_campaign',\n 'utm_unptid',\n 'utm_term',\n 'utm_content',\n '__utmz',\n '__utmb',\n '__utmt',\n '__utma',\n '__utmc',\n '_gcl_au',\n '_ga',\n '_gid',\n '__utmzzses',\n 'campaigncode',\n 'invite_code',\n 'origin',\n 'source',\n 'ipsso'\n];\n\nCONSTANTS.UOB_REDIRECT = {\n USE_CASE: {\n FRONT_BOOK: 'FRONT_BOOK',\n BACK_BOOK: 'BACK_BOOK',\n AFTER_UPGRADE: 'AFTER_UPGRADE',\n BEFORE_UPGRADE: 'BEFORE_UPGRADE'\n }\n};\n\nCONSTANTS.DIRECT_ONB_PPCP_VS_EC = {\n TREATMENT_FLAG: 'DIRECT_ONB_PPCP_VS_EC',\n ELMO_TREATMENT_NAME: 'Trmt_DIRECT_ONB_PPCP_VS_EC',\n ELMO_CONTROL_NAME: 'Ctrl_DIRECT_ONB_PPCP_VS_EC'\n};\n\nCONSTANTS.SPRIG_SURVEY_EVENT_NAME = 'bizsignupnodeweb-active-donepage-oct2023-web';\n\nCONSTANTS.ONBOARDING_START_SOURCE = {\n ACCOUNT_SELECTION: 'account-selection'\n};\n\nCONSTANTS.ISU_OFFLINE_ONBOARDING = {\n TREATMENT_FLAG: 'ISU_Offline_Onboarding',\n ELMO_TREATMENT_NAME: 'Trmt_ISU_Offline_Onboarding',\n ELMO_CONTROL_NAME: 'Ctrl_ISU_Offline_Onboarding'\n};\n\nCONSTANTS.PAGENAME_PRODUCT_MAPPING = {\n 'payments-standard': 'wp_standard',\n 'digital-products': 'wp_standard',\n 'paypal-marketing-solutions': 'wp_standard',\n 'government-payments': 'wp_standard',\n 'global-sellers': 'wp_standard',\n 'pp_buttons': 'wp_standard',\n 'izettle': 'wp_standard',\n 'store_cash': 'wp_standard',\n 'biz-debit-card': 'bdmc',\n 'business-debit-card': 'bdmc',\n 'business_debit_card': 'bdmc',\n 'business_debit_mastercard': 'bdmc',\n 'bdmc': 'bdmc',\n 'credit-card-reader': 'paypal_here',\n 'accept-mobile-payments': 'paypal_here',\n 'credit-card-reader-how-to': 'paypal_here',\n 'emv': 'paypal_here',\n 'in-person-sdk': 'paypal_here',\n 'pph': 'paypal_here',\n 'pp_here': 'paypal_here',\n 'email-invoice': 'invoicing',\n 'invoicing': 'invoicing',\n 'invoicing-templates': 'invoicing',\n 'selling-with-paypal': 'express_checkout',\n 'paypal-checkout': 'express_checkout',\n 'checkout': 'express_checkout',\n 'express_checkout': 'express_checkout',\n 'payment-gateway': 'payflow_link',\n 'payments-pro': 'payflow_pro',\n 'website_payments_pro': 'payflow_pro',\n 'business-loans': 'paypal_working_capital',\n 'business_loan': 'paypal_working_capital',\n 'working_capital': 'paypal_working_capital',\n 'promotional-financing': 'paypal_credit',\n 'promotional_financing_offers': 'paypal_credit',\n 'promote_financing': 'paypal_credit',\n 'paypal-me-for-business': 'paypal_me',\n 'paypal_me': 'paypal_me',\n 'pp_me': 'paypal_me',\n 'mass-payout-payments': 'mass_pay',\n 'payouts': 'mass_pay',\n 'masspay': 'mass_pay',\n 'virtual-terminal': 'virtual_terminal',\n 'virtual_terminal': 'virtual_terminal',\n 'send-money': 'send_money',\n 'send_money': 'send_money',\n 'partner-marketplaces': 'marketplaces',\n 'bonanza': 'marketplaces',\n 'grailed': 'marketplaces',\n 'swappa': 'marketplaces',\n 'wish': 'marketplaces',\n 'walmart': 'marketplaces',\n 'mobile-apps-business-app': 'pp_business_app',\n 'shipping-center': 'pp_shipping',\n 'shipping_labels': 'pp_shipping',\n 'multi_order_shipping': 'pp_shipping',\n 'shipping_calculator': 'pp_shipping',\n 'shopping-cart': 'online_shopping_cart',\n 'donations': 'donate',\n 'education': 'donate',\n 'political-contributions-donations': 'donate',\n 'giving_fund': 'donate',\n 'ppgf': 'donate',\n 'subscriptions': 'subscriptions',\n 'request_money': 'request_money',\n 'sell_on_social': 'sell_on_social',\n 'instantcommerce': 'sell_on_social',\n 'dispute_management': 'dispute',\n 'resolution_center': 'dispute',\n 'manage_fraud_filters': 'dispute',\n 'api_credentials': 'api_credentials',\n 'api_access': 'api_credentials',\n 'woocommerce': 'partners',\n 'magento': 'partners',\n 'wix': 'partners',\n 'bigcommerce': 'partners',\n 'big_commerce': 'partners',\n 'google': 'partners',\n 'ecomdash': 'partners',\n 'onbuy': 'partners',\n 'shopper_insights': 'shopper_insights',\n 'recurring_payments': 'recurring_payments',\n 'raas': 'ucc',\n 'tax_calculator': 'tax_calculator'\n};\n\nmodule.exports = CONSTANTS;\n","/* eslint-disable dot-notation */\nconst PPCP_APP_CONST = require('../../lib/ppcp_platforms/constants');\nconst appConstant = require('../../lib/constants');\nvar _ = require('lodash');\nconst { pspAgreementUrlGenerator } = require('../../lib/utils');\nconst CONSTANTS = require('../../lib/constants');\n\n// Falcon tracking constants\nconst constants = {\n website: 'main',\n feature: 'onbrd',\n subfeature1: 'falconnode',\n organic: 'organic',\n technologyFlag: 'nodejs'\n};\n\n// Update page name based on fpti requirements\nfunction _updatePageType(pageType, factors) {\n // hardcode pageType to new names for onepager experiment per analytics request\n if (_.isString(factors.experiment) && factors.experiment.includes(appConstant.ONE_PAGER.EXPERIMENT_NAME)) {\n return _.get(appConstant, `ONE_PAGER.FPTI.PAGE.${factors.template}.${pageType}`) || pageType;\n }\n\n return pageType;\n}\n\nfunction _resolvePartnerData(data) {\n const { ppcpPlatformData, partnerDisplayName } = data;\n // if ppcpPlatformData is present, return partner data w.r.t ppcpPlatformData\n // if partner data is available, set isIsu to true\n // ppcpPlatformData && ppcpPlatformData.data && ppcpPlatformData.data.partner\n if (ppcpPlatformData && ppcpPlatformData.partner) {\n return {\n isPPCPFlow: true,\n partnerName: ppcpPlatformData.partner.name,\n isIsu: true\n };\n }\n // if partnerDisplayName is present, return partner name as partnerDisplayName\n if (partnerDisplayName) {\n return {\n partnerName: partnerDisplayName,\n isIsu: true\n };\n }\n // if partner data is unavailable, set isIsu to false\n return {\n isIsu: false\n };\n\n}\n\n// Returns an array of strings where each of them identify\n// specific business logic-driven flows as part of ramped up initiatives\nfunction _resolveFlowVariations(req) {\n let flowVariations = _.get(req, 'session.flowVariations', {});\n if (_.isEmpty(flowVariations)) {\n return ['noVariation'];\n }\n return Object.keys(flowVariations);\n}\n\n// Data necessary to generate the tracking variables,\n// but not necessairly THE tracked variables.\nfunction getTrackingData(req, res) {\n\n const countryCode = _.get(req, 'user.legalCountry') || _.get(req, 'session.flow.country'),\n localeLanguage = _.get(res, 'locals.locale.language', 'en'),\n partnerTierGroups = _.get(req, 'session.context.partnerTierGroups'),\n feeTableBaseUrl = _.get(req, 'session.context.partner.preference.feeTableBaseUrl'),\n pspAgreementUri = _.get(req, 'session.context.partner.preference.pspAgreementUrl');\n\n var trackingData = {\n template: _.get(req, 'session.layout'),\n isLoggedIn: _.get(req.session, 'contextInfo.userId') ? 'in' : 'out',\n locale: _.get(res, 'locals.locale.locale'),\n flowId: _.get(req, 'session.flow.id'),\n fltp: _.get(req, 'session.fltp'),\n country: _.get(req, 'session.flow.country'),\n territory: _.get(req, 'session.flow.territory'),\n product: _.get(req, 'session.flow.product'),\n experiment: _.get(req, 'session.flow.experiment'),\n channel: _.get(req, 'session.flow.channel'),\n pageType: '',\n subfeature2: '',\n flavor: '',\n testVariant: '',\n user: {\n encryptedAccountNumber: _.get(req, 'user.encryptedAccountNumber', null),\n accountType: _.get(req, 'user.accountType', null),\n legalCountry: _.get(req, 'user.legalCountry', null)\n },\n calCorrelationId: req.correlationId || null,\n pxpTracking: req.pxpTracking || null,\n signupType: _.get(req, 'session.signupType', null),\n isUpgrade: _.get(req, 'session.isUpgrade', false),\n isResume: _.get(req, 'session.isResume', false),\n isAddProduct: _.get(req, 'session.isAddProduct', false),\n flowVariations: _resolveFlowVariations(req),\n flowType: _.get(req, 'session.context.flowType'),\n isProvisional: _.get(req, 'session.context.isProvisionalFlow'),\n isHua: _.get(req, 'session.context.isHuaFlow'),\n prospectType: 0,\n clientFpti: {\n clientSide: _.get(req, 'session.clientFpti')\n },\n pspAgreementBaseUrl: _.get(req, 'session.context.partner.preference.feeTableBaseUrl', pspAgreementUri),\n pspAgreementUrl: pspAgreementUrlGenerator(req, feeTableBaseUrl, pspAgreementUri, partnerTierGroups, localeLanguage, countryCode),\n capabilities: _.get(req, 'session.flow.capabilities'),\n productProvisioned: JSON.stringify(_.get(req, 'session.payload.data.productStatuses.value')),\n productStatus: _.get(req, 'session.payload.data.productStatus.value') || _.get(req, 'session.applicationStatus'),\n utmParams: _.get(req, 'session.utmParams')\n };\n let clientFptiClientSide = _.get(req, 'session.clientFpti.clientSide'),\n clientFptiServerSide = _.get(req, 'session.clientFpti.serverSide');\n // if clients like partner passes custom FPTI data then update it with trackingData\n if (!_.isEmpty(clientFptiClientSide)) {\n trackingData.clientFptiClientSide = clientFptiClientSide;\n }\n\n // if clients like partner passes custom FPTI data then update it with trackingData\n if (!_.isEmpty(clientFptiServerSide)) {\n trackingData.clientFptiServerSide = clientFptiServerSide;\n }\n\n // if this is a ppcp platform flow\n if (trackingData.product === PPCP_APP_CONST.PPCP_PLATFORMS_PRODUCT) {\n trackingData.ppcpPlatformData = _.get(req, 'session.ppcpPlatformData.data') || _.get(req, 'partnerData');\n trackingData.subfeature2 = 'partner_onboarding';\n } else if (trackingData.product === appConstant.WP_PRO) {\n trackingData.product = appConstant.WP_PRO_FPTI_PRODUCT_NAME;\n }\n\n return trackingData;\n}\n\n// These are the actual tracked variables\n// They are resolved from `getTrackingData` result\nfunction resolveTrackingVars(data) {\n var {\n source,\n button,\n template,\n flowId,\n fltp,\n country,\n territory,\n product,\n experiment,\n channel,\n marketPlace,\n subfeature2,\n flavor,\n testVariant,\n locale,\n isLoggedIn,\n pageType,\n user,\n calCorrelationId,\n pxpTracking,\n signupType,\n isUpgrade,\n isResume,\n prospectType,\n clientFptiClientSide,\n erpg,\n eccd,\n erfd,\n ptnrSegmt,\n ppFlow,\n attemptIntention,\n link,\n status,\n is_isu,\n sinfo,\n cust,\n lgin,\n flowVariations,\n flowType,\n isHua,\n isProvisional,\n eligibility_reason,\n error_field_group,\n capabilities,\n productProvisioned,\n productStatus,\n eventName,\n eventProps,\n userProps,\n organization,\n pspAgreementBaseUrl,\n pspAgreementUrl,\n utmParams\n } = data;\n let eventPropsKeys = CONSTANTS.AMPLITUDE.DEFAULT_EVENT_PROP_KEYS;\n if (eventProps) {\n eventPropsKeys += ',' + Object.keys(eventProps).join(',');\n }\n\n let userPropsKey;\n if (userProps) {\n userPropsKey = Object.keys(userProps).join(',');\n }\n\n // just for clarity. these are the names used by fpti.\n var userType = country;\n\n pageType = _updatePageType(pageType, { experiment, template });\n\n const { partnerName, isIsu, isPPCPFlow } = _resolvePartnerData(data);\n\n marketPlace = data.channel ? appConstant.MARKETPLACE_CHANNEL : constants.organic;\n\n // for more information, see `analytics-paypal` module\n // specifically `./node_modules/analytics-paypal/lib/models/fpti.js`\n var fptiTrackingData = {\n\n button,\n source,\n\n // This is mandatory in order for FPTI events to be picked up by the Amplitude\n product: 'mep',\n\n // This tag is added to forward FTPI events to insightly\n space_key: CONSTANTS.SPACE_KEY,\n\n // descriptor: Error tag - error description user sees\n // long name: erpg\n erpg,\n\n // descriptor: Error tag - error description from server\n // long name: eccd\n eccd,\n\n // descriptor: Error field - name of the field that has an error\n // long name: erfd\n erfd,\n\n // descriptor: Error Field Group - error id based on field i.e. business_id or personal_id\n // long name: error_field_group\n error_field_group,\n\n // descriptor: Template\n // long name: template_name\n tmpl: template,\n\n // descriptor: Page Group (SC Pagename)\n // descriptor: page_group\n pgrp: [\n constants.website,\n constants.feature,\n constants.subfeature1,\n subfeature2,\n pageType\n ].join(':'),\n\n // descriptor: Page Group (SC Pagename2)\n // long name: page_name\n page: [\n constants.website,\n constants.feature,\n constants.subfeature1,\n subfeature2,\n pageType,\n userType,\n flavor,\n testVariant\n ].join(':'),\n\n // descriptor: Page version\n // long name: page_version\n vers: [\n country,\n product,\n experiment\n ].join(':'),\n\n // descriptor: Flow name\n // long name: flow_name\n flnm: [\n constants.feature,\n constants.subfeature1,\n marketPlace,\n experiment\n ].join('_'),\n\n // descriptor: Country of Page Interaction\n // long name: country_of_page\n ccpg: country,\n\n territory: territory,\n\n // descriptor: Page Technology Flag\n // long name: page_technology_flag\n pgtf: constants.technologyFlag,\n\n // descriptor: Is logged in\n // long name: user_logged_in\n lgin: lgin || isLoggedIn,\n\n // descriptor: Hashed account ID\n // long name: encr_customer_id\n cust: cust || user && user.encryptedAccountNumber || null,\n\n // descriptor: Account Type\n // long name: account_type\n acnt: user && user.accountType || null,\n\n // descriptor: Country where account created\n // long name: account_country\n cnac: user && user.legalCountry || null,\n\n // descriptor: CAL Correlation ID\n // long name: cal_correlation_id\n calc: calCorrelationId,\n\n // descriptor: Page display language aka Rosetta Language\n // long name: rosetta_language\n rsta: locale,\n\n // descriptor: Framework call source (ci for client-side)\n // long name: framework_call_type\n s: 'ci',\n\n // descriptor: PXP Treatment ID\n // long name: pxp_treatment_id\n pxtid: pxpTracking && pxpTracking.pxtid || null,\n\n // descriptor: Experimentation Experience\n // long name: experimentation_experience\n xe: pxpTracking && pxpTracking.xe || null,\n\n // descriptor: Experimentation Treatment\n // long name: experimentation_treatment\n xt: pxpTracking && pxpTracking.xt || null,\n\n // descriptor: Qualified Treatments\n // long name: qualified_treatments\n qt: pxpTracking && pxpTracking.qt || null,\n\n // descriptor: Qualified Contexts\n // long name: qualified_contexts\n qc: pxpTracking && pxpTracking.qc || null,\n\n // -----------------------------------\n // --------- Falcon specific variables\n // -----------------------------------\n\n // descriptor: Falcon Flow Identifier\n // long name: flow_type\n fltp: fltp || flowId,\n\n // descriptor: Falcon Product\n // long name: product\n prod: product,\n\n // descriptor: Onboarding Intent\n // long name: obi\n obi: product,\n\n // descriptor: Falcon Experience\n // long name: experience\n expn: experiment,\n\n // descriptor: Falcon Channel\n // long name: channel\n chnl: channel,\n\n // descriptor: Falcon Signup type\n // long name: signup_type\n sgtp: signupType,\n\n // descriptor: Falcon isResume\n // long name: is_resume\n resm: isResume,\n\n // descriptor: Falcon isUpgrade\n // long name: is_upgrade\n upgd: isUpgrade,\n\n // descriptor: Prospect type\n // long name: prospect_type\n pros: prospectType,\n\n // -----------------------------------\n // --------- PPCP_PLATFORMS product specific variables\n // -----------------------------------\n\n // descriptor: partner encrypted id\n // long name: partner\n ptnr: isPPCPFlow ? user.encryptedAccountNumber : '',\n\n // descriptor: partner name\n // long name: partner_name\n partner_name: partnerName || '',\n\n // descriptor: Is partner signup flow\n // long name: is_isu\n is_isu: is_isu || (isIsu ? appConstant.YES : appConstant.NO),\n\n link: link,\n\n // descriptor: Partner Segment\n // long name: partner_segment\n ptnr_segmt: partnerName ? ptnrSegmt || appConstant.MARKETPLACE_CHANNEL : '',\n\n // descriptor: Attempt Intention\n // long name: attempt_intention\n attempt_intention: attemptIntention,\n\n // descriptor: Flow\n // long name: paypal_flow\n pp_flow: ppFlow,\n\n // descriptor: Business logic-driven Flow identifiers\n // long name: flow_variation\n flow_variation: flowVariations && flowVariations.join('_'),\n\n // descriptor: Identifier for Minimum Account Creation\n // long name: status\n status: status || (user && user.encryptedAccountNumber ? appConstant.MIN_ACCOUNT_CREATED : ''),\n\n // descriptor: additional info\n // long name: sinfo\n sinfo,\n\n // descriptor: reason why traffic is eligible for a flow\n // long name: eligibility_reason\n eligibility_reason,\n\n // eslint-disable-next-line no-nested-ternary\n obibc: (flowType === appConstant.FLOW_TYPE.HAWK_ALERT || flowType === appConstant.FLOW_TYPE.PROGRESSIVE) ? 'progressive_onb' : ((isProvisional || isHua) ? 'provisional_acct' : ''),\n\n ucnt: (isProvisional || isHua) ? 'provisional account' : 'Non provisional account',\n\n sbfl: isHua ? 'provisional_review' : '',\n\n capabilities,\n\n product_provisioned: productProvisioned,\n\n product_status: productStatus,\n\n organization,\n\n event_name: eventName,\n\n event_props: eventPropsKeys,\n \n user_props: userPropsKey,\n\n pspAgreementBaseUrl: pspAgreementBaseUrl,\n pspAgreementUrl: pspAgreementUrl,\n ...eventProps,\n ...utmParams\n };\n\n if (clientFptiClientSide) {\n _.each(clientFptiClientSide, function (value, key) {\n // don't allow to overwrite the existing value for the given key\n if (value && key && !fptiTrackingData[key]) {\n fptiTrackingData[key] = value;\n }\n });\n }\n return fptiTrackingData;\n}\n\n/**\n * Add the provided ELMO `experimentId` and `treatmentId` to the passed FPTI\n * tracking data if they don't already exist, preserving the existing values\n *\n * @param {Object} fptiData - current FPTI tracking data containing any existing tags\n * @param {string} experimentId - ELMO experiment ID to add to tracking data\n * @param {string} treatmentId - ELMO control/treatment ID to add to tracking data\n * @return {Object} the new FPTI data with experimentId and treatmentId set\n * @throws will throw an error if experimentId or treatmentId is missing\n *\n * @example\n * // returns { xe: '1000', xt: '1001' }\n * addExperiment({}, '1000', '1001')\n *\n * @example\n * // returns { xe: '1000,1002', xt: '1001,1003' }\n * addExperiment({ xe: '1000', xt: '1001' }, '1002', '1003')\n *\n * @example\n * // returns { xe: '1000,1002', xt: '1001,1003' }\n * addExperiment({ xe: '1000,1002', xt: '1001,1003' }, '1002', '1003')\n */\nconst addExperiment = (fptiData = {}, experimentId, treatmentId) => {\n if (!experimentId || !treatmentId) {\n throw new Error('Required arguments `experimentId` and/or `treatmentId` missing');\n }\n\n // Don't add the experiment (xe) to the list if it already exists in the list.\n // Just return the current fpti data.\n // Note that we'll still allow duplicate `xt` (treatment tags). One use case\n // where this is necessary is if an experiment falls under a shared control.\n // This means that the treatment ID could be the same across multiple experiments.\n if (typeof _.get(fptiData, 'xe') === 'string') {\n if (fptiData.xe.split(',').includes(experimentId)) {\n return fptiData;\n }\n }\n\n if (fptiData.xe && fptiData.xt) {\n return {\n ...fptiData,\n xe: `${fptiData.xe},${experimentId}`,\n xt: `${fptiData.xt},${treatmentId}`\n };\n }\n\n return {\n ...fptiData,\n xe: experimentId,\n xt: treatmentId\n };\n};\n\nmodule.exports = {\n constants,\n getTrackingData,\n resolveTrackingVars,\n addExperiment\n};\n","'use strict';\n\nvar deployEnv = require('environment-paypal'),\n location = require('@paypalcorp/instance-location');\n\n\nfunction getHost(req) {\n // default to live site\n var host = `https://www.${location.getPayPalDomain()}`;\n\n // use different url for sandbox environment\n if (deployEnv.isSandbox()) {\n host = 'https://www.sandbox.paypal.com';\n // all other cases, just use host from headers\n } else if (deployEnv.isNotLive() && req && req.headers && req.headers.host) {\n host = req.headers.host;\n if (host && !host.match(/http/)) {\n host = 'https://' + host; // If protocol is missing in host name then add it.\n }\n }\n return host;\n}\n\nfunction redirectToHost(req, res) {\n let host = getHost(req);\n return res.redirect(host);\n}\n\nmodule.exports = {\n getHost: getHost,\n redirectToHost: redirectToHost\n};\n\n","/* APM */\nconst CONSTANTS = {\n POLICY_REQUIREMENTS_HOOK: 'policy-requirements',\n APM_PRODUCT: 'payment_methods',\n PAYMENT_METHODS: 'PAYMENT_METHODS',\n SUPPORTED_FEATURES: ['PAY_UPON_INVOICE', 'APPLE_PAY', 'GOOGLE_PAY'],\n APM_PRODUCT_CODE: [\n {\n product_code: 'PAYMENT_METHODS'\n }\n ],\n APM_POLICIES: {\n KYC: 'KYC',\n FATCA: 'FATCA'\n },\n PAY_UPON_INVOICE: 'PAY_UPON_INVOICE',\n APPLE_PAY: 'APPLE_PAY',\n GOOGLE_PAY: 'GOOGLE_PAY'\n};\n\nexport {\n CONSTANTS\n};\n","/* PPCP_PLATFORMS */\n\nconst CONSTANTS = {\n POLICY_REQUIREMENTS_HOOK: 'policy-requirements',\n PPCP_PLATFORMS: 'ppcp_platforms',\n PPCP_PLATFORMS_PRODUCT: 'ppcp_platforms',\n PAYPAL_COMMERCE_PLATFORM_PARTNERS: 'PAYPAL_COMMERCE_PLATFORM_PARTNERS',\n MANUAL_VETTING_PAGE: 'manualVetting',\n PLATFORM_VERTICAL_PAGE: 'platformVertical',\n ACCEPTABLE_USE_POLICY: 'acceptableUsePolicy',\n PPCP_PLATFORMS_ERROR_PAGE: 'invalidToken',\n PPCP_PLATFORMS_INVALID_TOKEN_REDIRECT: '/bizsignup/#/invalidToken',\n PPCP_PLATFORMS_USED_TOKEN_REDIRECT: '/bizsignup/#/usedToken',\n PARTNER_VETTING_DONE_PAGE: 'partnerVettingDone',\n ACCOUNT_FULLY_CONFIGURED: '#/accountFullyConfigured',\n ACCOUNT_NOT_CONFIGURED: '#/accountNotConfigured',\n MANUAL_REVIEW_PAGE: 'manualReview',\n DENIED_PAGE: 'denied',\n CREATE_PAGE: 'create',\n BUSINESSINFO_PAGE: 'businessInfo',\n\n PPCP_PLATFORMS_CRYPTO: {\n ALGORITHM: 'aes-256-cfb'\n },\n PPCP_PLATFORMS_PRODUCTS_CODE: [\n 'PAYPAL_COMMERCE_PLATFORM_PARTNERS'\n ],\n POLICY_REQUIREMENTS_PAGE: 'policyRequirements',\n SUPPORTED_POLICY_NAMES: {\n BENEFICIAL_OWNER_VERIFICATION: 'BENEFICIAL_OWNER_VERIFICATION',\n CIP_VERIFICATION: 'CIP_VERIFICATION'\n },\n POLICY_NAMES_PAGE_MAP: {\n BENEFICIAL_OWNER_VERIFICATION: 'boCollection',\n CIP_VERIFICATION: 'cipVerification'\n },\n ONBOARDING_STATUS_COMPLETED: 'COMPLETED'\n};\n\nmodule.exports = CONSTANTS;\n","\nconst { isArray } = require('lodash'),\n _ = require('lodash'),\n constants = require('./constants'),\n apmConstants = require('./payment_methods/constants'),\n url = require('url'),\n groups = require('../config/metadata/groups.json'),\n formManipulator = require('f0-form-manipulator'),\n hostUtil = require('../lib/host'),\n worldReadyUtil = require('../lib/worldready-util'),\n { PhoneNumberFormat, AddressConverter } = require('@paypalcorp/worldready'),\n { initWorldReady, initializeAddresFormat, getWorldReadyDisplayNames } = require('./worldready-util');\n\n\n// This method removes leading and trailing whitespace from string.\nfunction trimUserFields(data) {\n let fieldsObj = {};\n if (!data) {\n return;\n }\n _.forIn(data, (value, key) => {\n if (typeof value === 'string') {\n fieldsObj[key] = value.trim();\n } else {\n fieldsObj[key] = value;\n }\n });\n return fieldsObj;\n}\n\n// Function to validate Postal Code\n// returns Empty object for valid case\n// returns object with invalid pattern for invalid postal code\nconst isPostalCodeValid = (locale, countryCode, postalCode) => {\n\n const worldReadyObj = initWorldReady(locale),\n addressFormatter = initializeAddresFormat(worldReadyObj, countryCode);\n\n let missingOrInvalidObject = addressFormatter.validate({\n postalCode: postalCode,\n countryCode: countryCode\n });\n\n let isValidPostalCodeCheck = missingOrInvalidObject.find(v => (v.code === 'INVALID_PATTERN' || v.element === 'postalCode'));\n let isValid = !!isValidPostalCodeCheck;\n let isValidPostalCode = !isValid;\n return isValidPostalCode;\n};\n\n// removes unprintable control codes from string\nfunction removeASCIIControlCodes(data) {\n let fieldsObj = {};\n\n if (!data) {\n return;\n }\n\n _.forIn(data, (value, key) => {\n if (typeof value === 'string') {\n // disable the eslint checker for control codes in regex for this use case\n /* eslint-disable no-control-regex */\n\n fieldsObj[key] = value.replace(/[\\x00-\\x1F]/g, '');\n\n /* eslint-enable no-control-regex */\n } else {\n fieldsObj[key] = value;\n }\n });\n return fieldsObj;\n}\n\nfunction isValidPPHPartnerURL(pphReturnUrl) {\n try {\n const pphReturnURL = url.parse(pphReturnUrl);\n return pphReturnURL && pphReturnURL.protocol === 'https:';\n } catch (e) {\n return false;\n }\n}\n\nfunction setUrlForQueryParam(req, pphReturnUrl, statusQueryParams) {\n try {\n const pphReturnURL = url.parse(pphReturnUrl);\n const separator = _.get(pphReturnURL, 'query') ? '&' : '?';\n const pphReturnURLWithQueryParam = pphReturnUrl + separator + statusQueryParams;\n _.set(req, 'session.prefillData.context.returnUrl', pphReturnURLWithQueryParam);\n _.set(req, 'session.pphSDKReturnUrlWithStatus', pphReturnURLWithQueryParam);\n\n req.log('INFO', 'PPH_SDK_RETURN_URL_WITH_STATUS ', pphReturnURLWithQueryParam);\n } catch (e) {\n return false;\n }\n}\n\nconst _getDecodedUrl = (originalUrl) => {\n let redirectUrl = originalUrl;\n let i = 0;\n if (redirectUrl && typeof redirectUrl === 'string') {\n // do..while loop based off this answer: http://stackoverflow.com/a/17565210\n do {\n try {\n\n // decode url\n redirectUrl = decodeURIComponent(redirectUrl);\n } catch (err) {\n // return false if decodeURIComponent throws error (URI malformed error)\n return;\n }\n\n i++;\n }\n while (redirectUrl.indexOf('%') > -1 && i < 5); // continue to decode the url until it is completely decoded\n\n\n // if the url is still not fully decoded\n if (redirectUrl.indexOf('%') > -1) {\n // url decoding is too long - force failure\n return;\n }\n\n return redirectUrl;\n }\n return;\n};\n\nconst _isValidRedirectDomain = (redirectDomain) => {\n // grab domain and TLD (ex: https://www.PayPal.me --> paypal.me)\n redirectDomain = redirectDomain.split('.').slice(-2).join('.');\n\n // verify the domain that was passed is a safe domain\n if (constants.VALID_DOMAINS.indexOf(redirectDomain) > -1) {\n // mark the url as valid\n return true;\n }\n\n return false;\n};\n\nconst _isMaliciousURLPath = (urlPath) => {\n try {\n // check if there's a '/' followed by a symbol (eg. @) and then a full stop\n // somewhere in the path, if it falls in this case, then it's likely that\n // someone is trying to have an open redirect (eg. '/@evil。com' which comes\n // in as https://www.paypal.com%255C@evil%E3%80%82com)\n return urlPath.match(/^\\/?[\\W|_]+.*[.。。]/);\n } catch (err) {\n /* istanbul ignore next */\n // Failed to validate the suspicious path\n return true;\n }\n};\n\nfunction isValidURL(outsideRedirectUrl) {\n let outsideRedirectDomain,\n isValid = false;\n\n if (constants.WHITELISTED_URLS.includes(outsideRedirectUrl)) {\n return true;\n }\n\n outsideRedirectUrl = _getDecodedUrl(outsideRedirectUrl);\n\n // if there is no decoded URL, then it's not a valid URL\n if (!outsideRedirectUrl) {\n return isValid;\n }\n\n let parsedUrl = url.parse(outsideRedirectUrl),\n urlPath = _.get(parsedUrl, 'path');\n\n // remove path from url for validation\n outsideRedirectDomain = _.get(parsedUrl, 'hostname');\n\n // verify outsideRedirectDomain is not null\n if (!outsideRedirectDomain) {\n return isValid;\n }\n\n // check if valid domain\n isValid = _isValidRedirectDomain(outsideRedirectDomain);\n\n // check if the path is suspicious or not\n if (isValid && urlPath) {\n isValid = !_isMaliciousURLPath(urlPath);\n }\n\n return isValid;\n}\n\nfunction isNewConfigFlow(req) {\n const product = _.get(req, 'session.flow.product'),\n country = _.get(req, 'session.flow.country'), // NOSONAR\n isPPH = (product === 'pph') || (product === 'pphmobile'),\n // eslint-disable-next-line i18n-scan/no-country-dependency\n isUSProAddProduct = _.get(req, 'session.isAddProduct') && (product === 'pro_2_0') && (country === 'US');\n\n return _.includes(constants.NEW_CONFIG_COUNTRIES, _.get(req, 'locality.country')) && !isPPH && !isUSProAddProduct;\n}\n\n/**\n * Helpers for form and form element manipulations\n */\n\n/*\n * getElementsContainerToUpdate - retrieve the correct container for any subsequent manipulations;\n * in this case, a \"container\" represents the top level before the desired elements that we want to modify\n *\n * @options:\n * - override: choose a specific container without relying on the default logic (eg. 'old', 'new')\n */\nfunction getElementsContainerToUpdate(req, payload, pageName, options) {\n const isNewConfig = isNewConfigFlow(req),\n newConfigForm = !_.isEmpty(_.get(payload, 'form.elements')) && _.get(payload, 'form'),\n oldForm = pageName && _.get(payload, ['form', 'pages', pageName]),\n override = _.get(options, 'override');\n\n if (override === 'old') {\n return oldForm;\n } else if (override === 'new') {\n return newConfigForm;\n }\n\n return (isNewConfig && newConfigForm) || oldForm;\n}\n\nconst getFormElement = (req, data, elementName) =>\n isNewConfigFlow(req) ?\n _.get(data, ['form', 'elements', elementName]) :\n formManipulator.get(data.form, elementName);\n\n\n/* Below functions are used for `updateFormElementProperties` */\n// only update the property if it has element associated with it and an array of properties to update\nconst _isValidPropertyUpdate = (option) => option && option.hasOwnProperty('elementName') && option.hasOwnProperty('properties') && _.get(option.properties, 'length') > 0;\n\n// only update the element's property if the property has a path and value\nconst _setElementProperties = (element, properties) => {\n properties.forEach(property => {\n if (element && property && property.hasOwnProperty('path') && property.hasOwnProperty('value')) {\n _.set(element, property.path, property.value);\n }\n });\n};\n\n// update any property on any element depending on if it's the new config or the old config\nfunction updateFormElementProperties(req, payload, options) {\n // if these options are not passed, there is nothing to set\n if (!options || !Array.isArray(options)) {\n return;\n }\n\n const isNewConfig = isNewConfigFlow(req);\n\n options.forEach(option => {\n if (_isValidPropertyUpdate(option)) {\n // then do the code below\n let { pageName, elementName, properties } = option;\n const formToUpdate = getElementsContainerToUpdate(req, payload, pageName),\n elements = formToUpdate && formToUpdate.elements;\n\n // for the new config, we can directly find the element and change the value\n if (isNewConfig && elements && elements[elementName]) {\n _setElementProperties(elements[elementName], properties);\n } else {\n for (let key in elements) {\n if (_.get(elements[key], 'attributes.name') === elementName) {\n _setElementProperties(elements[key], properties);\n }\n }\n }\n }\n });\n}\n\n// helper for disabling validation on an element\nfunction setElementToInvalidate(req, payload, pageName, elementName) {\n updateFormElementProperties(req, payload, [{\n pageName,\n elementName,\n properties: [{ path: 'isValidationDisabled', value: true }]\n }]);\n}\n\n// helper to remove a form element from the page specified depending on the new or old\n// config system\nfunction removeFormElement(req, payload, pageName, elementName) {\n const isNewConfig = isNewConfigFlow(req),\n formToUpdate = getElementsContainerToUpdate(req, payload, pageName, { override: 'old' });\n let formElements = _.get(formToUpdate, 'elements');\n\n if (isNewConfig && _.isArray(formElements) && formElements.indexOf(elementName) > -1) {\n formElements.splice(formElements.indexOf(elementName), 1);\n } else {\n formManipulator.remove(formToUpdate, elementName);\n }\n}\n// rename deprecated keys to New world ready supported keys\nconst rename_keys = (keysMap, obj) =>\n Object.keys(obj).reduce(\n (acc, key) => ({\n ...acc,\n ...{ [keysMap[key] || key]: obj[key] }\n }),\n {}\n );\n\n// Format the portal/coarse address to Single Line or MultipleLine\nconst getFormattedAddress = (locale, countryCode, value, type, ctx, addressType) => {\n const worldReadyObject = initWorldReady(locale);\n let addressFormatter =\n type === 'coarse' ?\n initializeAddresFormat(\n worldReadyObject,\n countryCode,\n 'singleline',\n 'coarse'\n ) :\n initializeAddresFormat(\n worldReadyObject,\n countryCode,\n 'singleline'\n );\n\n if (addressType && ctx) {\n const address = _.get(ctx, `data.fields.${addressType}.value`);\n const stateAndCountry = {\n 'admin_area_1': address.contentValue || address.admin_area_1,\n 'country_code': ctx.content.countryCode\n };\n value = { ...address, ...stateAndCountry }; \n }\n \n let result = rename_keys(constants.ADDRESS_KEYS_MAPPING, value);\n let formattedAddress = addressFormatter.format(result);\n\n return formattedAddress;\n};\n\nfunction mapAddress(req, payload, fromAddress, toAddress) {\n if (_.isEmpty(fromAddress) || !toAddress) {\n return;\n }\n\n // initialize [toAddress].value to an empty object\n _.set(payload.fields, [toAddress, 'value'], {});\n // nested address_details are converted to a flat object structure in abstraction-resolvers.js\n // convert them back to the nested structure Griffin expects before calling transformAddress\n Object.keys(fromAddress).forEach(key => {\n if (key.startsWith('address_details.')) {\n const detailsKeyName = key.split('.')[1];\n _.set(fromAddress, ['address_details', detailsKeyName], fromAddress[key]);\n // if we have an address_details key, this is a high resolution address;\n // set resolution_type so OAS persists the high-res fields\n payload.fields[toAddress].value.resolution_type = constants.ADDRESS_RESOLUTION_TYPE.HIGH;\n }\n });\n\n if (!fromAddress.formatAddress) {\n let fromType = constants.portable; \n let address = Object.assign({}, fromAddress);\n if (!fromAddress.country_code) {\n address.country_code = req.locality.country;\n }\n let addressValues = rename_keys(constants.ADDRESS_KEYS_MAPPING, address);\n\n if (fromAddress.address_details) {\n fromType = constants.addressPortableWithDetails; \n addressValues = rename_keys(constants.ADDRESS_KEYS_MAPPING, address);\n let addressDetailsValues = rename_keys(constants.ADDRESS_KEYS_MAPPING, address.address_details);\n addressValues.addressDetails = addressDetailsValues;\n }\n let addressConverters = new AddressConverter({\n from: fromType,\n to: constants.coarse\n });\n\n let transformedAddress = addressConverters.transform(addressValues);\n let constructedAddress = rename_keys(constants.COARSE_ADDRESS_MAPPING, transformedAddress);\n Object.assign(payload.fields[toAddress].value, constructedAddress);\n }\n\n /* If address type is principalOfficeAddress then we need to send the address in high resolution PORTABLE FORMAT like-\n {\n address_line_1: 'abc',\n address_line_2: 'efg',\n state: 'ACT',\n city: 'fgh',\n postal_code: 2911,\n country_code: 'AU',\n address_details: {\n 'street_number': 123,\n 'street_name': 'ere'\n }\n }\n Hence, we need to contruct this payload and add a field called formatAddress to the payload\n */\n\n if (toAddress === 'principalOfficeAddress') {\n let toAddressValue = payload.fields[toAddress].value;\n toAddressValue.formatAddress = fromAddress;\n // In the payload mentioned above address_line_1 is a required field, but for few countries we don't get address_line_1 hence we construct address_line_1 from line1\n toAddressValue.formatAddress.address_line_1 = toAddressValue.formatAddress.address_line_1 || toAddressValue.line1;\n Object.keys(toAddressValue.formatAddress).forEach(key => {\n if (key.startsWith('address_details.')) {\n delete toAddressValue.formatAddress[key];\n }\n });\n }\n // copy any high-resolution address details onto toAddress\n Object.assign(payload.fields[toAddress].value, fromAddress.address_details);\n\n if (!fromAddress.country_code) {\n payload.fields[toAddress].value.country_code = req.locality.country;\n if (toAddress === 'principalOfficeAddress') {\n payload.fields[toAddress].value.formatAddress.country_code = req.locality.country;\n }\n }\n if (isFrDomCountry(req)) {\n let worldReadyObj = worldReadyUtil.initWorldReady(req.worldReady.locale);\n const state = worldReadyUtil.getWorldReadyDisplayNames(worldReadyObj, 'region').select(_.get(req, 'session.flow.territory'));\n payload.fields[toAddress].value.state = state;\n if (toAddress === 'principalOfficeAddress') {\n payload.fields[toAddress].value.formatAddress.state = state;\n }\n }\n}\n\n// TODO: This still is a problem for Partner IE flow and other similar flows where\n// Nulceus will not call create hook unless personal address has zip.\n// But here griffin says a missing zip for IE is ok/valid....long term is to\n// clean up nulcleus hook logic for zip code (perhaps remove zip code check)\nfunction validateAddress(address) {\n const countryCode = address && address.country_code;\n // if cannot verify country then assume address is invalid\n if (!countryCode) {\n return false;\n }\n // Since we are using this to do address validation, locale is irrelevant. \n const worldReadyObj = initWorldReady('en-US'),\n addressFormatter = initializeAddresFormat(worldReadyObj, countryCode);\n \n let res = rename_keys(constants.ADDRESS_KEYS_MAPPING, address);\n let validation = addressFormatter.validate(res);\n // empty object means no errors reported by griffin\n return _.isEmpty(validation);\n}\n\n// checks if flow is not restricted and in blocked country list.\n// if true will be redirected to host\nfunction isFlowRestricted(req) {\n const flowVariation = _.get(req, 'session.flowVariation');\n const channel = _.get(req, 'session.flow.channel', '');\n const isNoChannel = _.isEmpty(channel) || channel === 'undefined';\n // eslint-disable-next-line no-use-before-define\n if ((flowVariation !== constants.RESTRICTED && _isBlockedCountry(req)) ||\n ((flowVariation === constants.RESTRICTED) && (!isNoChannel))) {\n return true;\n }\n return false;\n}\n\n// Check if the ramp restriction is implemented with elmo for the country\nfunction isFlowRestrictedByElmo(req) {\n const flowEnabled = _.get(req, 'session.FLOW_ENABLED', 'true');\n if (flowEnabled && flowEnabled === 'true') {\n return false;\n }\n return true;\n}\n\nfunction _isValidAddress(req, address) {\n // for flows where country is not present assume country of flow or default to US\n address.country_code = _.get(address, 'country_code', _.get(req, 'locale.country', 'US'));\n return validateAddress(address);\n\n}\n\nfunction mapAddresses(req, payload) {\n const addressTypes = [\n 'homeAddress',\n 'businessAddress',\n 'registeredOfficeAddress',\n 'billingAddress',\n 'principalOfficeAddress',\n 'thirdPartyAddress'\n ];\n // construct an object containing all possible address types we collect.\n // N.B. this object should not be modified.\n const addresses = addressTypes.reduce((acc, cur) => ({\n ...acc, [cur]: _.get(payload, ['fields', cur, 'value'])\n }), {});\n // map all existing addresses to the format OAS expects\n Object.keys(addresses)\n .filter(addressType => !_.isEmpty(addresses[addressType]))\n .forEach(addressType =>\n mapAddress(req, payload, addresses[addressType], addressType));\n // if no home address exists but business address does, use business\n // address for home. OAS requires home address for creating a minimal\n // account.\n if ((!addresses.homeAddress || !_isValidAddress(req, addresses.homeAddress)) && addresses.businessAddress) {\n mapAddress(req, payload, addresses.businessAddress, 'homeAddress');\n }\n // check if an address type needs to be copied to another address type\n // based on the user selecting a box saying that two addresses are the same\n let homeAndBusinessAddressesAreSame,\n registeredOfficeAddressSameAsPrincipalPlaceOfBusiness,\n principalPlaceOfBusinessSameAsRegisteredOfficeAddress;\n // revamp countries use \"homeAddressSameAsBusinessAddressCheckbox\" which\n // comes as a \"boolean\" string or empty string (treated as \"false\"), while non-revamp countries use\n // \"businessAddressAgreement\" which comes as a boolean. As a generic\n // solution, we use JSON.parse to convert any \"true\" or \"false\" strings to\n // their appropriate Boolean values while leaving existing Boolean values\n // unmodified. JSON.parse throws a SyntaxError if it receives malformed\n // input. Because this is user input, it can't be trusted so we catch the\n // exception and default to false.\n try {\n homeAndBusinessAddressesAreSame = (\n JSON.parse(_.get(payload, 'fields.businessAddressAgreement.value') || false) ||\n JSON.parse(_.get(payload, 'fields.homeAddressSameAsBusinessAddressCheckbox.value') || false)\n ) && !_.get(req, 'session.businessAddressIsPoBox', false);\n } catch (ex) {\n /* istanbul ignore next */\n homeAndBusinessAddressesAreSame = false;\n }\n try {\n registeredOfficeAddressSameAsPrincipalPlaceOfBusiness = JSON.parse(\n _.get(payload, 'fields.registeredOfficeAddressSameAsPrincipalPlaceOfBusiness.value')\n );\n } catch (ex) {\n registeredOfficeAddressSameAsPrincipalPlaceOfBusiness = false;\n }\n try {\n principalPlaceOfBusinessSameAsRegisteredOfficeAddress = JSON.parse(\n _.get(payload, 'fields.principalPlaceOfBusinessSameAsRegisteredOfficeAddress.value')\n );\n } catch (ex) {\n principalPlaceOfBusinessSameAsRegisteredOfficeAddress = false;\n }\n // if home and business address are the same, copy the address that has\n // been input to the one that hasn't. In some flows, home address is\n // collected first, while in others, business address is collected first,\n // so we can't determine which way to copy based on the checkbox value\n\n if (homeAndBusinessAddressesAreSame) {\n if (addresses.businessAddress) {\n mapAddress(req, payload, addresses.businessAddress, 'homeAddress');\n } else {\n mapAddress(req, payload, addresses.homeAddress, 'businessAddress');\n }\n }\n if (principalPlaceOfBusinessSameAsRegisteredOfficeAddress) {\n mapAddress(req, payload, addresses.businessAddress, 'principalOfficeAddress');\n }\n if (registeredOfficeAddressSameAsPrincipalPlaceOfBusiness) {\n mapAddress(req, payload, addresses.businessAddress, 'registeredOfficeAddress');\n }\n}\n\n// takes dateString like 1988-01-01T00:00:00.000Z\n// returns object with day, month, and year fields\nfunction convertDateStringToObj(dateString) {\n const dateObject = new Date(dateString);\n // https://stackoverflow.com/questions/439630/how-do-you-create-a-javascript-date-object-with-a-set-timezone-without-using-a-s\n dateObject.setTime(dateObject.getTime() + dateObject.getTimezoneOffset() * 60 * 1000);\n const obj = { // for use with DateInput kepler component\n day: parseInt(dateObject.getDate()),\n month: parseInt(dateObject.getMonth()),\n year: parseInt(dateObject.getFullYear())\n };\n return obj;\n}\n\n// takes a date object of the form:\n// { day: Number/String, month: Number/String, year: Number/String }\n// where month is indexed from zero\n// and year is greater than or equal to 1000 AD\n// and returns an ISO 8601-compliant date string of the form YYYY-MM-DD\n// where month is indexed from one\n// NB: ¬∀(x) g ∘ f ∘ g ≡ x\n// where g = convertDateStringToObj\n// f = convertDateObjToString\n// and x = a valid input supplied to g\nconst convertDateObjToString = d =>\n [d.year, Number(d.month) + 1, d.day]\n .map(String)\n .map(x => x.padStart(2, '0'))\n .join('-');\n\nconst resolveCountryGroupToProduct = (req) => {\n const productConfig = req.app.kraken.get(constants.PRODUCT_CONFIG);\n const countryProducts = productConfig && productConfig.products || {};\n const groupProductMap = productConfig && productConfig.groupProductMap || {};\n const country = _.get(req, 'locality.country');\n if (!(country in countryProducts)) {\n // if country isn't present in countryProducts, set array of products for flowResolver to utilize when resolving product\n // Note** first product in the array is used as default product if country exists in countryProducts, but product isn't present\n if (country in groups.LUX || country in groups['3PL']) {\n countryProducts[country] = groupProductMap.EU;\n } else if (country in groups.ROW || country in groups.ROW_3PL) {\n countryProducts[country] = groupProductMap.ROW;\n }\n }\n return countryProducts;\n};\n\n/**\n * Returns Supported Secondary Product and Capabilities configuration\n * @param {Object} req\n * @returns {Object} secondaryProductConfig and capabilitiesConfig\n */\nconst resolveMultiProductConfig = (req) => {\n const productConfig = req.app.kraken.get(constants.PRODUCT_CONFIG);\n const countrySecondaryProducts = productConfig && productConfig.secondaryProducts || {};\n const capabilitiesConfig = productConfig && productConfig.productToCapabilitiesMap || {};\n return {\n countrySecondaryProducts,\n capabilitiesConfig\n };\n};\n\n/**\n * Reads enabled SecondaryProducts, Capabilities as strings from the flow and returns them as arrays\n * @param {Object} req\n * @returns {Object} secondaryProducts and Capabilities\n */\nconst getSecondaryProductsAndCapabilities = (req) => {\n const secondaryProducts = _.get(req, 'session.flow.secondaryProducts');\n const capabilities = _.get(req, 'session.flow.capabilities');\n return {\n secondaryProducts: _.isString(secondaryProducts) ? secondaryProducts.split(',').filter(o => o) : [],\n capabilities: _.isString(capabilities) ? capabilities.split(',').filter(o => o) : []\n };\n};\n\n/**\n * Method to resolve the Add Products allowed for a Given Country using the `countryToProductsMap` configuration.\n * @param {Object} req - Express Request Object\n * @returns {Object} - The Country and Eligible Add product Matrix for adding product scenario.\n */\nconst resolveCountryGroupToAddProduct = (req) => {\n // Getting the Country and Add Product Matrix from Config.\n const productConfig = req.app.kraken.get(constants.PRODUCT_CONFIG);\n const eligibleAddProductsForCountry = productConfig && productConfig.countryToProductsMap || {};\n\n // Clone the Object for Safety\n const eligibleAddProductsForCountryMap = { ...eligibleAddProductsForCountry };\n\n const {\n locality: {\n country\n } = {}\n } = req;\n\n // if the country is not present in the list of countries and their eligible products that can be added.\n // AND\n // Country is Part of the LUX or 3PL Groups.\n if (!eligibleAddProductsForCountryMap[country] && (groups.LUX[country] || groups['3PL'][country])) {\n // Copy the Group Config as the Country Config since all the countries that are part of the group shares the config.\n eligibleAddProductsForCountryMap[country] = eligibleAddProductsForCountryMap.EU;\n }\n\n return eligibleAddProductsForCountryMap;\n};\n\nconst getProductCodes = (\n country,\n product,\n optFlags = {},\n) => {\n const {\n isCasualSeller = false,\n isGlobalRebootMerchant = false,\n isSMBOnboardingEOP = false\n } = optFlags;\n if (isSMBOnboardingEOP) {\n return constants.PPCP_STANDARD_PRODUCTS;\n }\n\n if (product === constants.PPCP) {\n return constants.PPCP_PRODUCTS;\n }\n\n if (product === constants.WP_PRO) {\n return constants.WP_PRO_PRODUCTS;\n }\n\n if (product === apmConstants.CONSTANTS.APM_PRODUCT) {\n return apmConstants.CONSTANTS.APM_PRODUCT_CODE;\n }\n\n if (product === constants.ADVANCED_VAULTING) {\n return constants.ADVANCED_VAULTING_PRODUCT_CODE;\n }\n\n if (isCasualSeller || isGlobalRebootMerchant) {\n return constants.PPCP_STANDARD_PRODUCTS;\n }\n\n if (constants.PAYPAL_WALLET_COUNTRIES.includes(country)) {\n return constants.STANDARD_PRODUCTS_WALLET;\n }\n\n // added this condition to get product codes for provisioning for BR & TH\n if (constants.PAYPAL_WALLET_COMMERCE_PLATFORM_BUSINESS_COUNTRIES.includes(country)) {\n return constants.PAYPAL_WALLET_CPB_PRODUCTS;\n }\n\n if (constants.PPCP_STANDARD_COUNTRIES.includes(country)) {\n return constants.PAYPAL_STANDARD_PRODUCTS; // this might be changed once OAS moves to PPCP_STANDARD\n }\n};\n\nfunction getKeyByValue(object, value) {\n return Object.keys(object).find(key => object[key] === value);\n}\n\n// Build the Layout and properties based on world ready response\n// More Info: https://github.paypal.com/pages/Globalization-R/worldready-js/docs/address-guide.html\n// eslint-disable-next-line max-statements\nconst buildsAddressLayoutFormat = (country, locale, flow) => {\n\n const deprecatedValidFields = new Set(constants.deprecatedKeys);\n // Mapped - valid Layout Fields Names\n const newlyMappedValidFields = new Set(constants.newlyMappedKeys);\n\n // eslint-disable-next-line i18n-scan/no-country-dependency\n // address line 3 is only used on BR\n if (country === 'BR') {\n deprecatedValidFields.add('address_line_3');\n newlyMappedValidFields.add('addressLine3');\n }\n \n const worldReadyObj = initWorldReady(locale),\n addressFormatter = initializeAddresFormat(worldReadyObj, country),\n // DisplayNames to get localized label strings\n addressTranslations = getWorldReadyDisplayNames(worldReadyObj, 'portableAddress', '', '', country),\n validLayoutFields = Array.from(deprecatedValidFields),\n mappedvalidFields = Array.from(newlyMappedValidFields);\n \n // To the localized layout by using format to parts.\n const localizedLayout = addressFormatter.formatToParts({});\n let addressFormat = {};\n addressFormat.layout = localizedLayout;\n addressFormat.properties = {};\n\n let addressLayoutFields = [],\n dropdownValues = [],\n LayoutTypeFromWorldReady = [],\n additionAttributes = [],\n { properties, layout } = addressFormat;\n\n // Builds a High Resolution Layout based on the response from Worldready formatToParts Function\n if (constants.HIGH_RESOLUTION_ADDRESS_COUNTRIES.includes(country)) {\n let highResolutionLayout = layout.map(part => {\n function traverse({ parts, value, required, hidden, type, allowedValues }) {\n if (parts) {\n return parts.map(v => traverse(v));\n }\n // Pushes the Layout type to an array, so that can be used to get localized label strings\n LayoutTypeFromWorldReady.push(type);\n // Map the Address type to previous type\n // Which Kepler address component currently using to build the layout\n // Ex: adminArea1 converts to admin_area_1\n let addressLayoutType = getKeyByValue(constants.ADDRESS_KEYS_MAPPING, type);\n additionAttributes.push({ type: addressLayoutType, value: value, required: !!required, hidden: !!hidden });\n addressLayoutFields.push(addressLayoutType);\n // Push the Dropdown values to an array, if present for adminArea1 and adminArea2 Field\n if (allowedValues) {\n dropdownValues.push({ 'allowedValues': allowedValues, 'type': addressLayoutType });\n }\n return addressLayoutType;\n }\n return traverse(part);\n });\n // ex: i/p: [['addressLine1'], [['addressDetails.streetNumber','addressDetails.streetName']]]\n // o/p: [['addressLine1'], ['addressDetails.streetNumber','addressDetails.streetName']]\n layout = highResolutionLayout.map(line => {\n let formatedLayout = line.filter(part => (deprecatedValidFields.has(part) || Array. isArray(part)));\n return _.flatten(formatedLayout);\n });\n } else {\n // Builds a Low Resolution Layout based on the response from Worldready formatToParts Function\n layout = layout.map(({ parts }) => {\n let lowResolutionLayout = parts.map(({ type, value, required, hidden, allowedValues }) => {\n LayoutTypeFromWorldReady.push(type);\n // older key address_line_1 is deprecated in World ready JS\n // replacement for address_line_1 -> addressLine1\n // Hence mapping happens here to replace old key with Newer one\n let addressLayoutType = getKeyByValue(constants.ADDRESS_KEYS_MAPPING, type);\n additionAttributes.push({ type: addressLayoutType, value: value, required: !!required, hidden: !!hidden });\n addressLayoutFields.push(addressLayoutType);\n if (allowedValues) {\n dropdownValues.push({ 'allowedValues': allowedValues, 'type': addressLayoutType });\n }\n \n return addressLayoutType;\n });\n return lowResolutionLayout;\n \n }); \n }\n\n // for some countries, world-ready sends back additional fields that we don't\n // want to collect. Only send the whitelisted validFields to the client\n layout = layout.map(line => line.filter(part => deprecatedValidFields.has(part)))\n // remove any now-empty lines\n .filter(line => line.length);\n\n // Filtering the Valid Fields to build the properties for Each one\n let validFieldsForBuildingProperties = addressLayoutFields.filter(val => validLayoutFields.includes(val)),\n // Filter Layout Type From WorldReady response, to get the Localized labels for placeholders\n layoutForLocalizedLabel = LayoutTypeFromWorldReady.filter(val => mappedvalidFields.includes(val)),\n // Append only the additionAttributes to the valid layout field \n layoutAttributes = additionAttributes.filter(val => validLayoutFields.includes(val.type)),\n // using select method to convert keys to Localized labels based on locales passed from world ready object\n LocalizedLabel = addressTranslations.select(layoutForLocalizedLabel);\n\n\n // Building the Properties for the Each Filtered Layout \n /* istanbul ignore else */\n if (isArray(validFieldsForBuildingProperties) && isArray(LocalizedLabel) && isArray(dropdownValues)) {\n for (let i = 0; i < validFieldsForBuildingProperties.length; i++) {\n properties[validFieldsForBuildingProperties[i]] = { label: LocalizedLabel[i], value: layoutAttributes[i].value, required: layoutAttributes[i].required, hidden: layoutAttributes[i].hidden };\n // Builds the Localized dropdown values , if present for admin_area_1 or admin_area_2\n for (let x = 0; x < dropdownValues.length; x++) {\n let dropdownFieldType = dropdownValues[x].type;\n dropdownFieldType = constants.ADDRESS_KEYS_MAPPING[dropdownValues[x].type];\n // Convert dropdown values to Localized labels\n const translations = getWorldReadyDisplayNames(worldReadyObj, 'portableAddressValues', '', dropdownFieldType, country);\n let localizedDropdownValues = translations.select(dropdownValues[x].allowedValues);\n dropdownValues[x] = { ...dropdownValues[x], localizedDropdownValues };\n\n let dropdownList = dropdownValues[x].localizedDropdownValues.map((item, id) => ({\n id: dropdownValues[x].allowedValues[id],\n label: item\n }));\n // Append the list of dropdown Values to the properties of adminArea1 / adminArea2 Field\n if (dropdownValues[x].type === validFieldsForBuildingProperties[i]) {\n properties[validFieldsForBuildingProperties[i]] = { ...properties[validFieldsForBuildingProperties[i]], list: dropdownList };\n }\n } \n } \n \n }\n\n /* istanbul ignore else */\n if (_.get(properties, 'admin_area_1.list')) {\n properties.admin_area_1.list = properties.admin_area_1.list.filter(state =>\n !(!_.isEmpty(flow) && flow.includes('US-pph') && constants.US_TERRITORIES.includes(state.id))\n );\n }\n return {\n layout,\n properties\n };\n};\nconst isUnderPilot = (accountNo, throttlePercent = 0, seed = 0) => {\n\n if (!accountNo) {\n return false;\n }\n const ACCOUNT_NUMBER = accountNo.toString();\n\n const throttlePercentInt = Number(throttlePercent) || 0;\n\n let lastTwoDigit = Number(ACCOUNT_NUMBER.slice(-2)) || 0;\n\n const seedInt = Number(seed) || 0;\n\n /*\n seed : is the starting point of the throttle foreg. if throttle is 30 and seed is 20 the account no ending with 20 to 49 will lie under the throttle.\n logic is similar to that with compliance https://github.paypal.com/Compliance-R/compliance-infra/blob/13513dde76a526c7fc3974dee20196b2b8fe9178/util/compliance-pilot-infra/src/main/java/com/paypal/compliance/pilot/impl/PercentPilotService.java#L27\n to have a common throttling logic across both apps.\n */\n\n let hashValue = ((lastTwoDigit - seedInt) < 0) ? (lastTwoDigit - seedInt + 100) % 100 : (lastTwoDigit - seedInt) % 100;\n return (hashValue < throttlePercentInt);\n};\n\nconst _isBlockedCountry = (req) => {\n const boardingCountry = _.get(req, 'locale.country', '');\n const disabledCountries = req.app.kraken.get('disabledCountries');\n return (disabledCountries && disabledCountries[boardingCountry]);\n};\n\nconst _isUpgradeBlockedCountry = (req) => {\n const boardingCountry = _.get(req, 'locale.country', '');\n const disabledCountriesForUpgrade = req.app.kraken.get('disabledCountriesForUpgrade');\n return (disabledCountriesForUpgrade && disabledCountriesForUpgrade[boardingCountry]);\n};\n\nconst isAlphabetic = (str) => {\n if (_.isEmpty(str)) {\n return false;\n }\n var AlphaRegex = '^[A-Za-z]+$';\n var regex = new RegExp(AlphaRegex);\n return regex.test(str);\n};\n\nconst isAlphaNumeric = (str) => {\n if (_.isEmpty(str)) {\n return false;\n }\n var alphaNumRegex = '^[A-Za-z0-9]+$';\n var regex = new RegExp(alphaNumRegex);\n return regex.test(str);\n};\n\nconst isValidNumber = (number) => {\n if (_.isEmpty(number)) {\n return false;\n }\n var numRegex = '^-{0,1}\\\\d+$';\n var regex = new RegExp(numRegex);\n return regex.test(number);\n};\n\nconst isDateValid = (dateStr) => {\n const daysInMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\n // we want a YYMMDD format -- 6 digits.\n if (!isValidNumber(dateStr) || dateStr.length !== 6) {\n return false;\n }\n\n let year = parseInt(dateStr.substring(0, 2));\n let month = parseInt(dateStr.substring(2, 4));\n let date = parseInt(dateStr.substring(4, 6));\n\n // month should be between 1 and 12 inclusive\n if (month < 1 || month > 12) {\n return false;\n }\n\n // date should be valid for that month (Feb 29 is valid for now)\n if ((date < 1) || (date > daysInMonth[month - 1])) {\n return false;\n }\n\n // special case for february 29th, make sure it's a leap year\n if (month === 2 && date === 29) {\n // it's not a leap year unless divisible by 4\n return (year % 4 === 0);\n }\n return true;\n};\n\n// Check the KYC status Using Discovery Hook\nconst kycStatus = (response) => {\n let isKycCompleted = false;\n let processResponse = _.get(response, 'discoveryHookResponse.hooksInfo[0].productInfo.products.processes', []);\n let kycField = processResponse.filter(value => value.name === constants.KYC_POLICY);\n if (processResponse.length && kycField.length) {\n isKycCompleted = (kycField[0].status === constants.COMPLETED) || (kycField[0].status === constants.MANUAL_REVIEW);\n }\n return isKycCompleted;\n};\n\n// Check if it is Eligible for Kyc Check\nconst isEligibleForKYCCheck = (country, product) => {\n let products = constants.kycCheckCountryProductMap[country] || [];\n let eligibleForKYCCheck = products.includes(product);\n return eligibleForKYCCheck;\n};\n\n/**\n * Returns resolved query keys. If key is an array, selects first instance, and returns as value.\n * Note: this is to be used for obtaining query key values before flow-resolution is called,\n * once flow resolution is called, use req.session.flow to get correct value.\n * @param {*} req\n * @returns an object with key -> value(string) pairs\n * ex: input = req, req.query = { output: {\n * product: ['ppcp', 'test'], product: 'ppcp',\n * flow: 'gift' flow: 'gift'\n * } }\n */\nconst getResolvedQueryKeys = (req) => {\n const resolvedQuery = {\n ..._.get(req, 'query')\n };\n _.forEach(_.get(req, 'query'), (queryValue, queryKey) => {\n if (Array.isArray(queryValue)) {\n _.set(resolvedQuery, queryKey, queryValue[0]);\n }\n });\n return resolvedQuery;\n};\n\n\nconst setLabelName = (req, data, pageName, elementName, label) =>\n updateFormElementProperties(req, data, [\n {\n pageName,\n elementName,\n properties: [\n {\n path: 'text',\n value: label\n }\n ]\n }\n ]);\n\n/**\n * Returns Boolean. It checks for adroitstakeholder pilot percentage based on a configuration country\n * @param {*} req\n * @returns a Boolean\n */\nconst getPilotStatus = (req) => {\n const accountNumber = _.get(req, 'user.accountNumber'),\n pilotSupportedUsers = req.app.kraken.get('adroitStakeholderSupportedUsers'),\n pilotSupportedUsersRules = _.get(pilotSupportedUsers, 'rule', {}),\n pilotKey = _.get(constants.RCS_KEY_PILOT_VALUE_SUPPORTED_COUNTRIES, _.get(req, 'session.flow.country'), 'pilot.eustakeholderpilot.percent'),\n pilotPercentage = _.get(pilotSupportedUsersRules, pilotKey, 0),\n pilotRampUpStatus = (isUnderPilot(accountNumber, pilotPercentage) || false);\n req.log('INFO', 'UCP CONFIG-adroitStakeholderSupportedUsers', pilotSupportedUsers);\n return pilotRampUpStatus;\n};\n\n// builds/construct the ExternalRedirectURL based on base url passed as a params\nconst _constructExternalRedirectURL = (baseUrl, req) => {\n const host = hostUtil.getHost(req),\n returnUrl = `${host}/bizsignup/redirectEntry`,\n isPartner = _.get(req, 'session.flow.channel') === constants.MARKETPLACE_CHANNEL,\n externalUrl = new URL(`${host}${baseUrl}`);\n\n if (!isPartner) {\n return externalUrl.href;\n }\n return `${baseUrl}?returnUrl=${encodeURIComponent(returnUrl)}&hideHeaderNavigation=true&hideHeaderSetting=true&hideHeaderNotification=true`;\n\n};\n\n// Genarate the base Url based on Country passed as a Params\nconst genearteBaseUrl = (externalRedirectURL, boardingCountry) => {\n return Object.keys(externalRedirectURL).find(key => externalRedirectURL[key].includes(boardingCountry));\n};\n\n// Returns the externalRedirectURL based on the country passed as a params\nconst externalRedirectURL = (req, boardingCountry) => {\n const baseUrl = genearteBaseUrl(constants.EXTERNAL_REDIRECT_URL_TO_COUNTRY_MAP, boardingCountry) || '',\n externalRedirectUrl = _constructExternalRedirectURL(baseUrl, req);\n return externalRedirectUrl;\n};\n\n// Checks if country requires upfront verification (like dexter).\nconst isUpfrontVerificationCountry = (country = '') => {\n return !constants.NON_UPFRONT_VERIFICATION_COUNTRIES[country.toUpperCase()];\n};\n\n// Mapping the productCodes to get the Product Status during Resume Scenario\nconst productCodes = (country) => {\n let productCode;\n if (constants.PAYPAL_WALLET_COMMERCE_PLATFORM_BUSINESS_COUNTRIES.includes(country)) {\n productCode = constants.PAYPAL_COMMERCE_PLATFORM_BUSINESS;\n } else if (constants.PPCP_STANDARD_COUNTRIES.includes(country)) {\n productCode = constants.BUSINESS_STANDARD;\n }\n return productCode;\n};\n\n// Function to check, whether the country passed is Eligible for External Redirect\n// return True, if country is under EXTERNAL_REDIRECT_URL_TO_COUNTRY_MAP else False\nconst isEligibleForExternalRedirect = (req) => {\n const countryCode = _.get(req, 'session.flow.country') || _.get(req, 'user.legalCountry') || _.get(req, 'session.context.seller.boardingCountry', ''),\n isPilot = getPilotStatus(req),\n isEligibleForExternalnalUrl = genearteBaseUrl(constants.EXTERNAL_REDIRECT_URL_TO_COUNTRY_MAP, countryCode) || false,\n isPilotSupportedCountry = constants.RCS_KEY_PILOT_VALUE_SUPPORTED_COUNTRIES.hasOwnProperty(countryCode),\n isHavingExternalRedirectUrl = (isEligibleForExternalnalUrl && (isPilot || !isPilotSupportedCountry));\n\n return isHavingExternalRedirectUrl;\n};\n\nconst getWorldReadyFormattedPhoneNumber = (ctx, phoneType) => {\n let phoneNumberFormatter = new PhoneNumberFormat({\n phoneRegion: ctx.content.locale.split('-')[1],\n style: constants.STYLE_INTERNATIONAL\n });\n const phoneValue = _.get(ctx, `data.fields.${phoneType}.value`);\n const phoneObject = {\n // using replace to remove empty space (or any non-digit character) in number string before passing to griffin handler\n 'nationalNumber': phoneValue.replace(/\\D/g, ''),\n 'countryCode': _.get(ctx, `data.fields.${phoneType}-dialCode.value`)\n };\n\n return phoneNumberFormatter.format(phoneObject);\n};\n\nconst getFactaTinPilotStatus = (req) => {\n const accountNumber = _.get(req, 'user.accountNumber'),\n pilotSupportedUsers = req.app.kraken.get('adroitStakeholderSupportedUsers'),\n pilotSupportedUsersRules = _.get(pilotSupportedUsers, 'rule', {}),\n pilotKey = 'pilot.eufatcatinpilot.percent',\n pilotPercentage = _.get(pilotSupportedUsersRules, pilotKey, 0),\n pilotRampUpStatus = (isUnderPilot(accountNumber, pilotPercentage) || false);\n _.set(req, 'session.form.pilotStatus', pilotRampUpStatus);\n req.log('INFO', 'UCP CONFIG-adroitStakeholderSupportedUsers', pilotSupportedUsers);\n return pilotRampUpStatus;\n};\n\nconst isMultiProductOrFeatureStack = (req) => {\n /* istanbul ignore next */\n const {\n secondaryProducts = []\n } = getSecondaryProductsAndCapabilities(req);\n\n // Returns true if either multiproduct or request is for products on feature stack\n return !_.isEmpty(secondaryProducts) || constants.SECONDARY_PRODUCTS.PRODUCTS_SUPPORTING_CGP_FEATURES.includes(_.get(req, 'session.flow.product'));\n};\n\nconst isPUIFlow = (req) => {\n return _.get(req, 'session.flow.capabilities', '').includes(apmConstants.CONSTANTS.PAY_UPON_INVOICE);\n};\n\nconst isApplePayFlow = (req) => {\n return _.get(req, 'session.flow.capabilities', '').includes(apmConstants.CONSTANTS.APPLE_PAY);\n};\n\nconst isGooglePayFlow = (req) => {\n return _.get(req, 'session.flow.capabilities', '').includes(apmConstants.CONSTANTS.GOOGLE_PAY);\n};\n\nconst isEmailConfirmed = (req) => {\n const primaryEmails = (_.get(req, 'user.loadUserDataResponse.email') || [])\n .filter(email => email.isPrimary);\n return !!(primaryEmails.length && primaryEmails[0].confirmationStatus === 'VALID');\n};\n\nconst isVaultingProductFlow = (req) => {\n const secondaryProducts = _.get(req, 'session.flow.secondaryProducts');\n if (!secondaryProducts) {\n return false;\n }\n return secondaryProducts.includes(constants.ADVANCED_VAULTING);\n};\n\nconst isVaultingProductPPCPFlow = (req) => {\n const product = _.get(req, 'session.flow.product');\n return product === constants.PPCP && isVaultingProductFlow(req);\n};\n\nconst isEligibleForMultiProductProvisioning = (req) => {\n const product = _.get(req, 'session.flow.product');\n // TODO: Enhance to use PPCP_STANDARD for Advanced_Vaulting branded flow. We can then remove the check for different branded_intents.\n const brandedProducts = ['no_intent', 'wps'];\n return (isVaultingProductFlow(req) && brandedProducts.includes(product));\n\n};\n\nconst updateElementProperties = (ctx, properties) => {\n properties.map(property => {\n ctx.formActions.updateElementProperty(ctx.form.activePage, property.elementName, property.path, property.value);\n });\n};\n\nconst generatePUIKycRedirectURL = (req) => {\n // Used as fallback when called from client-side\n let puiKycProcess = constants.PDNW_EU_PAYMENT_METHODS_KYC_PROCESS;\n\n // Used when called from server-side\n if (req) {\n const bsnwRemoteConfig = req.app.kraken.get(constants.BSNW_REMOTE_CONFIG);\n req.log('INFO', 'UCP CONFIG-bsnwRemoteConfig', bsnwRemoteConfig);\n puiKycProcess = _.get(bsnwRemoteConfig, constants.PUI_KYC_RCS_CONFIG_KEY, constants.PDNW_EU_PAYMENT_METHODS_KYC_PROCESS);\n }\n\n const queryParams = new URLSearchParams({\n returnUrl: constants.PDNW_EU_PAYMENT_METHODS_KYC_RETURN_URL\n });\n\n const redirectUrl = `${constants.PDNW_KYC_PREFIX}/${puiKycProcess}?${queryParams.toString()}`;\n return redirectUrl;\n};\n\nconst isRegisteredBusiness = (ctx) => {\n return _.get(ctx, 'data.fields.registeredBusinessOptions.value') === 'YES';\n};\n\nconst isValidVatId = (country, vatId) => {\n if (!country || !vatId) {\n return false;\n }\n const vatRegexp = new RegExp(constants.VAT_ID_REGEXP[country]);\n\n const { issuer_country_code = '', value = '' } = vatId;\n\n return issuer_country_code === country && vatRegexp.test(value);\n};\n\nfunction isKeyInArray(array, key) {\n return array.some(obj => obj.hasOwnProperty(key));\n}\n\nconst getRateType = (req, partnerTierGroups, sellerCountry) => {\n let pricingTier = 'STANDARD';\n req.log('INFO', 'getRateType: sellerCountry', sellerCountry);\n req.log('INFO', 'getRateType: partnerTierGroups', partnerTierGroups);\n\n for (let i = 0; i < partnerTierGroups.length; i++) {\n let currCountry = partnerTierGroups[i];\n if (currCountry.country_code === sellerCountry && currCountry.rate_type === 'NEGOTIATED') {\n pricingTier = 'NEGOTIATED';\n break;\n }\n }\n req.log('INFO', 'getRateType: pricingTier', pricingTier);\n return pricingTier;\n\n};\n\nconst pspAgreementUrlGenerator = (req, feeTableBaseUrl, pspAgreementUri, partnerTierGroups = [], language = 'en', sellerCountry = 'US') => {\n let pspAgreementUrl;\n let pricingTier = 'STANDARD';\n\n pricingTier = getRateType(req, partnerTierGroups, sellerCountry);\n req.log('INFO', 'pspAgreementUrlGenerator: feeTableBaseUrl', feeTableBaseUrl);\n req.log('INFO', 'pspAgreementUrlGenerator: sellerCountry', sellerCountry);\n req.log('INFO', 'pspAgreementUrlGenerator: pricingTier', pricingTier);\n\n if (pricingTier === 'NEGOTIATED') {\n if (feeTableBaseUrl) {\n pspAgreementUrl = `${feeTableBaseUrl}?locale.x=${language}_${sellerCountry}`;\n req.log('INFO', 'pspAgreementUrlGenerator: pspAgreementUrl', pspAgreementUrl);\n return pspAgreementUrl;\n }\n pspAgreementUrl = pspAgreementUri;\n } else {\n // todo: to be removed when pricing api changes are live\n // since as of now pricing api is not live\n // we need to fallback to older option of going with preference as SOR for now.\n pspAgreementUrl = pspAgreementUri;\n }\n req.log('INFO', 'pspAgreementUrlGenerator: pspAgreementUrl', pspAgreementUrl);\n return pspAgreementUrl;\n};\n\nconst isFrDomCountry = req => {\n if (!isFrDomOnboardingEnabled(req)) {\n return false;\n }\n const country = _.get(req, 'locality.country') || _.get(req, 'locale.country') || _.get(req, 'session.flow.country');\n const territory = _.get(req, 'session.flow.territory');\n return country === constants.FR && constants.FRENCH_DOM_COUNTRIES.includes(territory);\n};\n\nconst isFrDomOnboardingEnabled = (req) => {\n return req.app && req.app.kraken && req.app.kraken.get('appconfig') && req.app.kraken.get('appconfig').FR_DOM_ONBOARDING_ENABLED;\n};\nconst isINKYCFlowEnabled = (req) => {\n return req.app && req.app.kraken && req.app.kraken.get('appconfig') && req.app.kraken.get('appconfig').IN_KYC_ENABLED;\n};\n\n/**\n * This function is used to populate utm object.\n * @param {*} req\n * @returns\n */\nconst populateUTMAttributes = (req) => {\n const queryParams = getResolvedQueryKeys(req);\n return Object.keys(queryParams).reduce((acc, curr) => {\n\n if (constants.UTM_PARAMS.includes(curr)) {\n acc[curr] = queryParams[curr];\n }\n return acc;\n\n }, {});\n};\n\n\n/**\n * This function is used to populate utm queryparams\n * @param {object} queryParams\n * @param {string!} queryParamsStr\n * @returns\n */\nconst populateUTMQueryParamsFromResolvedQuery = (queryParams, queryParamsStr = '') => {\n\n const transformedQueryParams = new URLSearchParams(queryParamsStr);\n Object.entries(queryParams).forEach(([key, val]) => {\n if (constants.UTM_PARAMS.includes(key)) {\n transformedQueryParams.append(key, val);\n }\n });\n return transformedQueryParams.toString();\n};\n\n/**\n * Checks if user country is reboot eligible\n * @param {*} req\n * @returns {boolean} flag indicating if user country is reboot eligible\n */\nconst isRebootFlow = (req) => {\n const country = _.get(req, 'session.flow.country', '').toUpperCase(),\n product = _.get(req, 'session.flow.product', ''),\n channel = _.get(req, 'session.flow.channel', ''),\n macCountriesConfig = req.app.kraken.get(constants.MAC_COUNTRIES_CONFIG) || {},\n rebootEligibleCountries = macCountriesConfig.rebootCountries || [];\n\n return !!(\n channel !== constants.MARKETPLACE_CHANNEL &&\n constants.STANDARD_INTENTS[product] &&\n rebootEligibleCountries.includes(country)\n );\n};\n\n/**\n * Checks if flow is completely migrated to EOP\n * @param {*} req\n * @returns {boolean} flag indicating if user should be redirected to EOP\n */\nconst isEOPMigratedFlow = (req) => {\n const channel =\n _.get(req, 'session.flow.channel') === constants.MARKETPLACE_CHANNEL ?\n constants.MARKETPLACE_CHANNEL.toUpperCase() :\n constants.DEFAULT_CHANNEL.toUpperCase(),\n country = _.get(req, 'session.flow.country', '').toUpperCase(),\n product = _.get(req, 'session.flow.product', ''),\n productIntent = constants.STANDARD_INTENTS[product] ? constants.STANDARD_INTENT : product.toUpperCase(),\n macCountriesConfig = req.app.kraken.get(constants.MAC_COUNTRIES_CONFIG) || {},\n eopCountriesMap = macCountriesConfig.eopCountriesMap || {},\n channelToProductMap = eopCountriesMap[channel] || {},\n eopEligibleCountries = channelToProductMap[productIntent] || [];\n\n return eopEligibleCountries.includes(country);\n};\n\nmodule.exports = {\n buildsAddressLayoutFormat,\n trimUserFields,\n removeASCIIControlCodes,\n isNewConfigFlow,\n isValidURL,\n getElementsContainerToUpdate,\n getFormElement,\n removeFormElement,\n updateFormElementProperties,\n setElementToInvalidate,\n mapAddress,\n mapAddresses,\n convertDateStringToObj,\n convertDateObjToString,\n resolveCountryGroupToProduct,\n isValidPPHPartnerURL,\n setUrlForQueryParam,\n resolveCountryGroupToAddProduct,\n getProductCodes,\n validateAddress,\n isUnderPilot,\n _isBlockedCountry,\n _isUpgradeBlockedCountry,\n isAlphabetic,\n isDateValid,\n isAlphaNumeric,\n isValidNumber,\n kycStatus,\n isEligibleForKYCCheck,\n getResolvedQueryKeys,\n setLabelName,\n getPilotStatus,\n isFlowRestricted,\n isFlowRestrictedByElmo,\n externalRedirectURL,\n getWorldReadyFormattedPhoneNumber,\n genearteBaseUrl,\n productCodes,\n isEligibleForExternalRedirect,\n getFactaTinPilotStatus,\n isUpfrontVerificationCountry,\n isPUIFlow,\n isApplePayFlow,\n isGooglePayFlow,\n isMultiProductOrFeatureStack,\n resolveMultiProductConfig,\n getSecondaryProductsAndCapabilities,\n isEmailConfirmed,\n isVaultingProductFlow,\n isVaultingProductPPCPFlow,\n isEligibleForMultiProductProvisioning,\n updateElementProperties,\n generatePUIKycRedirectURL,\n isRegisteredBusiness,\n getFormattedAddress,\n rename_keys,\n isPostalCodeValid,\n _isValidAddress,\n isValidVatId,\n isKeyInArray,\n pspAgreementUrlGenerator,\n getRateType,\n isFrDomCountry,\n isFrDomOnboardingEnabled,\n isINKYCFlowEnabled,\n populateUTMQueryParamsFromResolvedQuery,\n populateUTMAttributes,\n isRebootFlow,\n isEOPMigratedFlow\n};\n","let constants = require('./constants');\nconst _ = require('lodash'),\n { DateTimeFormat, WorldReady, DisplayNames, NameFormat, NameConverter, AddressFormat, CurrencyFormat } = require('@paypalcorp/worldready');\n\n\n/* initialize the world ready object based on locale */\nconst initWorldReady = (locale) => {\n let worldReadyObj = new WorldReady(locale);\n return worldReadyObj;\n};\n\n/* Function to initialize the Name formatter */\nconst initializeNameFormat = (worldReady, country) => {\n let nameFormatter = new NameFormat(worldReady, {\n nameRegion: country, // e.g., \"US\"\n type: constants.TYPE.person,\n style: constants.STYLE_FULL\n });\n return nameFormatter;\n};\n\n// Function to initialize the Address Obj\nconst initializeAddresFormat = (worldReadyObj, countryCode, style, type) => {\n let addressFormatter = new AddressFormat(worldReadyObj, {\n addressRegion: countryCode,\n style: style,\n type: type\n });\n return addressFormatter;\n};\n\n// function to format date with the specific options.\nconst formatDate = (req, date, style, timeZone) => {\n if (!(req.worldReady && date && style && timeZone)) {\n return;\n }\n\n try {\n const worldReadyObj = initWorldReady(req.worldReady.locale);\n const dateTimeFormatter = new DateTimeFormat(worldReadyObj, {\n style: style,\n timeZone: timeZone\n });\n return dateTimeFormatter.format(date); \n } catch (err) {\n req.log('Error while formatting the date in format date function :::: ', err);\n }\n};\n\n/*\n * Transform the date into the desired format for the service.\n * If worldready throws an error during this, throw an error so the service call will not persist.\n */\nconst formatDateForService = (req, date, format) => {\n if (!(req.worldReady && date && format)) {\n return;\n }\n\n let formattedDate = '';\n\n /* It just formats and parse the date if inputDate is string otherwise it parses the date directly */\n try {\n let worldReadyObj = initWorldReady(req.worldReady.locale);\n let dateTimeFormatter = new DateTimeFormat(worldReadyObj, {\n style: 'date-short',\n timeZone: 'Etc/UTC'\n });\n if (typeof date !== 'string') {\n let formatInputDate = dateTimeFormatter.format(new Date(Date.UTC(date.getYear(), date.getMonth(), date.getDate())));\n formattedDate = dateTimeFormatter.parse(formatInputDate).toISOString().split('T')[0];\n } else {\n formattedDate = dateTimeFormatter.parse(date).toISOString().split('T')[0];\n }\n return formattedDate;\n } catch (err) {\n req.log('Error while formatting the date :::: ', err);\n }\n\n};\n\n/* To get displaynames of region, language, dateTimeField, currency, month, day,\n * territoryNameSortKey, here type is mandatory whereas style is optional.\n*/\nconst getWorldReadyDisplayNames = (worldReadyObj, type, style, element, addressRegion) => {\n let params = {};\n params = {\n ...(element && { element: element }),\n ...(style && { style: style }),\n ...(addressRegion && { addressRegion: addressRegion })\n\n };\n params.type = type;\n \n let displayNames = new DisplayNames(worldReadyObj, params);\n return displayNames;\n};\n\nconst getSortedSupportCountries = (req, worldReadyObj) => {\n let allSupportedCountries = _.get(req, 'worldReady.allSupportedCountries', []);\n let territoryNameSortKeyDisplayNames = getWorldReadyDisplayNames(worldReadyObj, 'territoryNameSortKey');\n allSupportedCountries.sort(function (a, b) {\n return territoryNameSortKeyDisplayNames.select([a]) - territoryNameSortKeyDisplayNames.select([b]);\n });\n return allSupportedCountries;\n};\n\nconst getCountryList = (req) => {\n if (!req.worldReady) {\n return {};\n }\n const worldReadyObj = initWorldReady(req.worldReady.locale);\n let allSupportedCountries = getSortedSupportCountries(req, worldReadyObj);\n\n const countryList = allSupportedCountries.reduce(function (acc, countryCode) {\n acc[countryCode] = {\n name: getWorldReadyDisplayNames(worldReadyObj, 'region').select(countryCode)\n };\n return acc;\n }, {});\n return countryList;\n};\n\n/* Formats legal full name collected on create page and prefills on personalInfoPage\n * (for resume flow)\n*/\nfunction formatFullName(worldReady, name) { \n if (!(worldReady && name)) {\n return;\n }\n const country = _.get(worldReady, 'region');\n const locale = _.get(worldReady, 'locale');\n const firstName = _.get(name, 'firstName', '');\n const lastName = _.get(name, 'lastName', '');\n\n let worldReadyObj = initWorldReady(locale);\n let nameFormatter = initializeNameFormat(worldReadyObj, country);\n\n const fullName = {\n namePrefix: 'PREFIX',\n givenName: firstName.value,\n middleName: '',\n surname: lastName.value,\n nameSuffix: 'SUFFIX',\n altName: 'ALT-NAME'\n };\n return nameFormatter.format(fullName);\n}\n\n/* Transforms a single surname into two surnames (secondsurname)\n*/\nfunction transformOneSurnameToTwo(worldReady, name) {\n if (!(worldReady && name)) {\n return;\n }\n const firstName = _.get(name, 'firstName', '');\n const lastName = _.get(name, 'lastName', '');\n\n let nameConverter = new NameConverter({\n fromType: constants.NAME_CONVERTER.oneSurname,\n toType: constants.NAME_CONVERTER.twoSurnames\n });\n\n const legalName = {\n givenName: firstName,\n surname: lastName\n };\n return nameConverter.transform(legalName);\n}\n\nconst formatCurrency = (locale, style, limit) => {\n\n if (!locale || !limit) {\n return;\n }\n const worldReadyObj = initWorldReady(locale.locale),\n countrySpecifics = locale.getCountrySpecifics();\n let currencyToBeFormatted;\n\n currencyToBeFormatted = _.get(countrySpecifics, 'map.cow_property_default_primary_balance_currency.0');\n let currencyFormatter = new CurrencyFormat(worldReadyObj, {\n currency: currencyToBeFormatted,\n style: style\n });\n\n const translatedAmount = currencyFormatter.format(limit);\n return translatedAmount;\n};\n\nmodule.exports = {\n initWorldReady,\n initializeNameFormat,\n initializeAddresFormat,\n formatDateForService,\n getCountryList,\n getSortedSupportCountries,\n getWorldReadyDisplayNames,\n formatFullName,\n transformOneSurnameToTwo,\n formatCurrency,\n formatDate\n};\n","'use strict';\n\nfunction handleTagManager(response) {\n\n\twindow.dataLayer = {\n\n\t\t//Two letter country code of the current page's content\n\t\tcontentCountry: response.content.countryCode.toLowerCase(),\n\t\t//Two letter locale !}\n\t\tcontentLanguage: response.content.locale.toLowerCase()\n\t};\n\n const { locationDetails: { cdn } } = response;\n\n\n var tagManagerUrl = `https://${cdn}/tagmgmt/bootstrap.js`;\n\n\t//Based on the environment, Tag Manager end point can be changed. For now the local and stage end points are same.\n if (~window.location.href.indexOf('qa.paypal.com') || ~window.location.href.indexOf('localhost')) {\n\t\ttagManagerUrl = 'https://nexus.ensighten.com/paypal/stage/Bootstrap.js';\n\t}\n\n\tif(~window.location.href.indexOf('qa.paypal.cn')) {\n\t\ttagManagerUrl = 'https://nexus.ensighten.cn/paypal/stage/Bootstrap.js';\n\t}\n\n\t//Enabling/Downloading Tag Manager scripts\n\t(function (i, s, o, g, r, a, m) {\n\t\ti.tagManagerObject = r;\n\t\ti[r] = i[r] || function () {\n\t\t\t(i[r].q = i[r].q || []).push(arguments);\n\t\t};\n\t\ti[r].l = 1 * new Date();\n\t\ta = s.createElement(o);\n\t\tm = s.getElementsByTagName(o)[0];\n\t\ta.async = 1;\n\t\ta.src = g;\n\t\tm.parentNode.insertBefore(a, m);\n\t})(window, document, 'script', tagManagerUrl, 'tagManager');\n}\n\nmodule.exports = {\n\n\thandleTagManager: handleTagManager\n};\n","/* eslint-disable new-cap */\n'use strict';\n\nimport {\n ActionButton,\n TextInput,\n SelectDropdown,\n Checkbox,\n RadioButton,\n HTMLBlock,\n List,\n Group,\n ComponentRow\n} from 'f0-components';\nimport PhoneFlagsDropdownConstructData from './components/PhoneFlagsDropdown/constructData.js';\nimport fataConstructData from './components/Fatca/constructData.js';\nimport fatcaValidate from './components/Fatca/validate.js';\nimport { getLoadableComponent } from './components/loadableComponent';\n\nconst loadableComponent = (component) => ({\n component: getLoadableComponent(component)\n});\n\nexport default {\n ActionButton,\n TextInput,\n SelectDropdown,\n Checkbox,\n RadioButton,\n HTMLBlock,\n List,\n Group,\n ComponentRow,\n // app specific components\n LeftNav: loadableComponent('LeftNav'),\n Fatca: {\n component: getLoadableComponent('Fatca'),\n constructData: fataConstructData,\n validate: fatcaValidate\n },\n StaticList: loadableComponent('StaticList'),\n PhoneFlagsDropdown: {\n component: getLoadableComponent('PhoneFlagsDropdown'),\n constructData: PhoneFlagsDropdownConstructData\n },\n SearchDropdown: loadableComponent('SearchDropdown'),\n AddressNormalization: loadableComponent('AddressNormalization'),\n PPHIcons: loadableComponent('PPHIcons'),\n CreditCardStatement: loadableComponent('CreditCardStatement'),\n CreditCard: loadableComponent('CreditCard'),\n DateInputWrapper: loadableComponent('DateInputWrapper'),\n PPHApproved: loadableComponent('PPHApproved'),\n RadioButtonCardGroup: loadableComponent('RadioButtonCardGroup'),\n PPHLanding: loadableComponent('PPHLanding'),\n PPHMobileInput: loadableComponent('PPHMobileInput'),\n Address: loadableComponent('Address'),\n AddressSuggestion: loadableComponent('AddressSuggestion'),\n AddressTypeahead: loadableComponent('AddressTypeahead'),\n Stakeholder: loadableComponent('Stakeholder'),\n PermissionsCheckbox: loadableComponent('PermissionsCheckbox'),\n Permissions: loadableComponent('Permissions'),\n Pro30SummaryTable: loadableComponent('Pro30SummaryTable'),\n InfoCard: loadableComponent('InfoCard'),\n BDMCOfferCard: loadableComponent('BDMCOfferCard'),\n PartnerDoneSubmit: loadableComponent('PartnerDoneSubmit'),\n ApiCredentials: loadableComponent('ApiCredentials'),\n CertificateDownload: loadableComponent('CertificateDownload'),\n UpgradeIntentChoice: loadableComponent('UpgradeIntentChoice'),\n AsyncComponent: loadableComponent('AsyncComponent'),\n AlertCard: loadableComponent('AlertCard'),\n PhoneNumberContent: loadableComponent('PhoneNumberContent'),\n EUPhoneNumberContent: loadableComponent('EUPhoneNumberContent'),\n Feedback: loadableComponent('Feedback'),\n ProgressBar: loadableComponent('ProgressBar'),\n Spinner: loadableComponent('Spinner'),\n AdroitWrapper: loadableComponent('AdroitWrapper'),\n CheckboxCardGroup: loadableComponent('CheckboxCardGroup'),\n LoadingHead: loadableComponent('LoadingHead'),\n LoadingBoxes: loadableComponent('LoadingBoxes'),\n DoubleLinkComponent: loadableComponent('DoubleLinkComponent'),\n RadioProduct: loadableComponent('RadioProduct'),\n NameLayout: loadableComponent('NameLayout'),\n Password: loadableComponent('Password'),\n Loaders: loadableComponent('Loaders'),\n SkipButton: loadableComponent('SkipButton'),\n BusinessTypeDropdown: loadableComponent('BusinessTypeDropdown'),\n GoogleOneTapIframe: loadableComponent('GoogleOneTapIframe'),\n ErrorDialog: loadableComponent('ErrorDialog'),\n SprigSurvey: loadableComponent('SprigSurvey')\n};\n","import React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { dataActions, formActions } from 'f0';\n\nexport class App extends Component {\n componentDidMount() {\n this.props.route.initialize();\n }\n\n render () {\n let content = this.props.content,\n messages = content && content.messages,\n dynamicMessages = content && content.dynamicMessages || {},\n basePath = this.props.route.basePath,\n onFormSubmitSuccess = this.props.route.onFormSubmitSuccess;\n\n if (!messages) {\n messages = this.props.messages;\n }\n\n const childProps = {\n messages,\n dynamicMessages,\n eventHandlers: this.props.route.eventHandlers,\n validator: this.props.route.validator,\n onFormSubmitSuccess,\n basePath,\n form: this.props.form,\n data: this.props.data,\n content: this.props.content,\n formActions: this.props.formActions,\n dataActions: this.props.dataActions\n };\n\n return (\n