{"version":3,"file":"TwoFactorViewModel.js","sourceRoot":"","sources":["../../../../Areas/Common/Scripts/TwoFactorViewModel.ts"],"names":[],"mappings":"AAAA,IAAO,MAAM,CAkbZ;AAlbD,WAAO,MAAM;IAAC,IAAA,KAAK,CAkblB;IAlba,WAAA,KAAK;QAAC,IAAA,MAAM,CAkbzB;QAlbmB,WAAA,MAAM;YAEtB;gBAyBI,4BAAY,qBAAoG,EAAE,QAAa;oBAC3H,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAA,MAAM,CAAC,mBAAmB,EAAE,CAAC;oBACnD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,eAAe,EAA+B,CAAC;oBACpE,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAS,EAAE,CAAC,CAAC;oBAClD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,UAAU,CAAS,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,UAAU,CAAS,EAAE,CAAC,CAAC;oBAChD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAS,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAU,KAAK,CAAC,CAAC;oBAChD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,UAAU,CAAyB,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzB,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,UAAU,CAAS,IAAI,CAAC,CAAC;oBACrD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,EAAU,CAAC;oBACzC,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC,QAAQ,CAAU;wBAE1D,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI;4BAChC,OAAO,KAAK,CAAC;wBACjB,IAAI,eAAe,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAC,SAAsC;4BAChG,OAAO,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvD,CAAC,CAAC,CAAC;wBAEH,IAAI,eAAe,IAAI,IAAI;4BACvB,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;wBAC3C,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC,QAAQ,CAAU;wBAC/C,IAAI,IAAI,CAAC,UAAU,EAAE;4BACjB,OAAO,IAAI,CAAC;6BACX;4BACD,IAAI,0BAA0B,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAC,SAAsC;gCAC5G,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;4BACpC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;4BACd,IAAI,CAAC,0BAA0B;gCAC3B,OAAO,IAAI,CAAC;4BAChB,OAAO,KAAK,CAAC;yBAChB;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,QAAQ,CAAU;wBACpD,IAAI,IAAI,CAAC,UAAU,EAAE;4BACjB,OAAO,IAAI,CAAC;6BACX;4BACD,IAAI,+BAA+B,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAC,SAAsC;gCACjH,OAAO,SAAS,CAAC,YAAY,EAAE,CAAC;4BACpC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;4BACd,IAAI,+BAA+B;gCAC/B,OAAO,IAAI,CAAC;4BAChB,OAAO,KAAK,CAAC;yBAChB;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,QAAQ,CAAU;wBACjD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,QAAQ,CAAU;wBAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;oBAEH,IAAI,qBAAqB,IAAI,IAAI,EAAE;wBAC/B,IAAI,CAAC,qBAAqB,GAAG,UAAC,aAAqB,EAAE,sBAA8B;4BAC/E,IAAI,mBAAmB,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,CAAA;4BAC/E,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,OAAO;gCAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;qCAC7C,IAAI,CAAC,UAAC,MAAwB;oCAC3B,IAAI,MAAM,CAAC,OAAO;wCACd,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yCACjD;wCACD,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;4CACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;4CAE7C,IAAI,CAAC,cAAc,EAAE,CAAC;qCAC7B;oCACD,OAAO,CAAC,GAAG,EAAE,CAAC;gCAClB,CAAC,CAAC,CAAC;4BACX,CAAC,CAAC,CAAC;wBACP,CAAC,CAAC;qBACL;;wBAEG,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;gBAC3D,CAAC;gBAED,kDAAqB,GAArB,UAAsB,QAAgB;oBAClC,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC;yBACvC,IAAI,CAAC;wBACF,IAAI,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAEjD,IAAI,gBAAgB,IAAI,IAAI,EAAE;4BAE1B,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE;gCAC7B,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;6BACjD;iCACI,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE;gCAClC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAC,MAAwB;oCACzC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;oCAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;gCAC3E,CAAC,CAAC,CAAC;6BACN;yBACJ;wBACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACX,CAAC;gBAGD,uCAAU,GAAV,UAAW,OAAgB,EAAE,MAAc;oBACvC,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,OAAO;wBACR,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;yBAChE,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;wBACxC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;;wBAErL,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAClJ,CAAC;gBAED,6CAAgB,GAAhB,UAAiB,KAAa;oBAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC;wBAEnC,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;4BACpB,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACxC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;gCAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;4BAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;yBACX;wBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC7B,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;4BACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;yBAC5B;oBACL,CAAC,EAAE,IAAI,CAAC,CAAC;oBAET,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9B,CAAC;gBAED,8CAAiB,GAAjB;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,aAAa,GAAG,OAAA,KAAK,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC9E,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC/H,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;gBACrG,CAAC;gBAED,2CAAc,GAAd;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBACvE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAClC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC1B,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;wBAC7B,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC/B,CAAC,EAAE,IAAI,CAAC,CAAC;gBACb,CAAC;gBAED,+CAAkB,GAAlB;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,gBAAgB,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAC,SAAsC;wBACjG,OAAO,SAAS,CAAC,SAAS,EAAE,CAAC;oBACjC,CAAC,CAAC,CAAC;oBACH,OAAO,gBAAgB,CAAC;gBAC5B,CAAC;gBAED,0DAA6B,GAA7B,UAA8B,QAAgB;oBAC1C,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;oBACzB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACpB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC7B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACd,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACjB,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC/B,CAAC,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC3B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACxC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,OAAO;wBAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;6BACjC,IAAI,CAAC,UAAC,UAAU;4BACb,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,UAAC,SAA8B;gCAC7D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC,CAAC;4BACrE,CAAC,CAAC,CAAC;4BACH,OAAO,CAAC,GAAG,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,sCAAS,GAAT,UAAU,SAAsC;oBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACrB,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;wBACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,OAAO;4BACtC,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE;iCACtC,IAAI,CAAC,UAAC,KAA6C;gCAChD,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gCAChD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gCACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gCAC1C,OAAO,CAAC,GAAG,EAAE,CAAC;4BAClB,CAAC,CAAC,CAAC;wBACX,CAAC,CAAC,CAAC;qBACN;yBACI,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;wBAC3B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBAC1C;gBACL,CAAC;gBAED,gDAAmB,GAAnB,UAAoB,SAAsC;oBACtD,IAAI,IAAI,GAAG,IAAI,CAAC;oBAEhB,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC;wBAClB,WAAW,EAAE,UAAU;wBACvB,OAAO,EAAE,QAAQ;wBACjB,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC;wBAC9D,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC;wBAC/D,cAAc,YAAC,CAAC,EAAE,MAAM;4BACpB,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE;gCAC9B,IAAI,mBAAmB,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;gCACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,OAAO;oCACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;yCACtC,IAAI,CAAC;wCACF,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wCAClD,OAAO,CAAC,GAAG,EAAE,CAAC;oCAClB,CAAC,CAAC,CAAC;gCACX,CAAC,CAAC,CAAC;6BACN;wBACL,CAAC;qBACJ,CAAC,CAAC;gBACP,CAAC;gBAAA,CAAC;gBAEF,6CAAgB,GAAhB;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC;wBAClC,OAAO;oBACX,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAClF,CAAC;gBAED,2CAAc,GAAd,UAAe,CAAC,EAAE,CAAC;oBACf,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;wBAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,yCAAY,GAAZ;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,uBAAuB,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3F,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,OAAO;wBACtC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,uBAAuB,CAAC;6BACzD,IAAI,CAAC,UAAC,MAAwB;4BAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gCACjB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;oCACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;oCAE7C,IAAI,CAAC,cAAc,EAAE,CAAC;6BAC7B;4BACD,OAAO,CAAC,GAAG,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;oBACX,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,gDAAmB,GAAnB,UAAoB,CAAC,EAAE,CAAC;oBACpB,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE;wBAChB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,oCAAO,GAAP;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;yBAC3B,IAAI,CAAC,UAAC,MAAwB;wBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;4BACjB,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC;gCACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;gCAE7C,IAAI,CAAC,cAAc,EAAE,CAAC;yBAC7B;oBACL,CAAC,CAAC,CAAC;gBAEX,CAAC;gBAED,4CAAe,GAAf;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAED,mCAAM,GAAN,UAAO,SAAsC;oBACzC,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBAED,+CAAkB,GAAlB;oBACI,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;gBAClC,CAAC;gBACL,yBAAC;YAAD,CAAC,AApUD,IAoUC;YApUY,yBAAkB,qBAoU9B,CAAA;YAoBD;gBAWI,qCAAY,SAA8B;oBACtC,IAAI,IAAI,GAAG,IAAI,CAAC;oBAEhB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,UAAU,CAAU,SAAS,CAAC,YAAY,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,UAAU,CAAU,SAAS,CAAC,SAAS,CAAC,CAAC;oBAC7D,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAU,KAAK,CAAC,CAAC;oBAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;wBACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBACjE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;wBACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAChE,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;gBAC/D,CAAC;gBAED,4CAAM,GAAN;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAEhC,IAAI,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;oBAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACjB,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;qBAClB;oBAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;wBAClB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB;gBACL,CAAC;gBACL,kCAAC;YAAD,CAAC,AAxCD,IAwCC;YAxCY,kCAA2B,8BAwCvC,CAAA;YAED;gBAKI,oDAAY,SAAiD;oBACzD,IAAI,IAAI,GAAG,IAAI,CAAC;oBAEhB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;oBAC/C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;gBACnC,CAAC;gBACL,iDAAC;YAAD,CAAC,AAXD,IAWC;YAXY,iDAA0C,6CAWtD,CAAA;YAGD;gBAMI,gCAAY,SAAiB;oBACzB,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAChC,CAAC;gBAED,4CAAW,GAAX;oBACI,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtC,CAAC;gBAED,6CAAY,GAAZ,UAAa,IAAY;oBACrB,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;oBAClB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAClC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EACrC;wBACI,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG;wBACX,SAAS,EAAE,SAAS;wBACpB,UAAU,EAAE,SAAS;wBACrB,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;qBACtC,CAAC,CAAC;oBACP,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACjD,CAAC;gBACL,6BAAC;YAAD,CAAC,AA/BD,IA+BC;YA/BY,6BAAsB,yBA+BlC,CAAA;QACL,CAAC,EAlbmB,MAAM,GAAN,YAAM,KAAN,YAAM,QAkbzB;IAAD,CAAC,EAlba,KAAK,GAAL,YAAK,KAAL,YAAK,QAkblB;AAAD,CAAC,EAlbM,MAAM,KAAN,MAAM,QAkbZ","sourcesContent":["module MinGat.Areas.Common {\r\n\r\n export class TwoFactorViewModel {\r\n DataSource: WebApi.TwoFactorDataSource;\r\n Challenges: KnockoutObservableArray;\r\n ActiveChallengeId: KnockoutObservable;\r\n ActiveChallengeNeedsConfiguration: KnockoutComputed;\r\n VerificationCode: KnockoutObservable;\r\n VerificationCodeDisabled: KnockoutComputed;\r\n PhoneNumber: KnockoutObservable;\r\n PhoneNumberDisabled: KnockoutComputed;\r\n ManualEntryKey: KnockoutObservable;\r\n SmsText: KnockoutObservable;\r\n IsLoggedIn: KnockoutObservable;\r\n CanConfigureChallenges: KnockoutComputed;\r\n CanSelectMultipleChallenges: KnockoutComputed;\r\n Delay: KnockoutObservable;\r\n ErrorText: KnockoutObservable;\r\n // ReSharper disable InconsistentNaming\r\n QRCodeWrapper: KnockoutObservable;\r\n Progress: any;\r\n isValid: KnockoutComputed;\r\n verifyCodeAndContinue: (twoFactorCode: string, twoFactorChallengeType: number) => JQueryPromise;\r\n private username: string;\r\n private updateDelayInterval: any;\r\n private fadeOutTimeout: any;\r\n\r\n constructor(verifyCodeAndContinue: (twoFactorCode: string, twoFactorChallengeType: number) => JQueryPromise, progress: any) {\r\n var self = this;\r\n self.DataSource = new WebApi.TwoFactorDataSource();\r\n self.Challenges = ko.observableArray();\r\n self.VerificationCode = ko.observable(\"\");\r\n self.PhoneNumber = ko.observable(\"\");\r\n self.ManualEntryKey = ko.observable(\"\");\r\n self.SmsText = ko.observable(\"\");\r\n self.IsLoggedIn = ko.observable(false);\r\n self.QRCodeWrapper = ko.observable(new TwoFactorQRCodeWrapper(\"qrCode\"));\r\n self.Progress = progress;\r\n self.ActiveChallengeId = ko.observable(null);\r\n self.Delay = ko.observable(0);\r\n self.ErrorText = ko.observable();\r\n self.ActiveChallengeNeedsConfiguration = ko.computed(() => {\r\n\r\n if (self.ActiveChallengeId() == null)\r\n return false;\r\n var activeChallenge = ko.utils.arrayFirst(self.Challenges(), (challenge: TwoFactorChallengeViewModel) => {\r\n return challenge.Type === self.ActiveChallengeId();\r\n });\r\n\r\n if (activeChallenge != null)\r\n return !activeChallenge.IsConfigured();\r\n return false;\r\n });\r\n self.CanConfigureChallenges = ko.computed(() => {\r\n if (self.IsLoggedIn())\r\n return true;\r\n else {\r\n var hasAnyConfiguredChallenges = ko.utils.arrayFilter(self.Challenges(), (challenge: TwoFactorChallengeViewModel) => {\r\n return challenge.IsConfigured();\r\n }).length > 0;\r\n if (!hasAnyConfiguredChallenges)\r\n return true;\r\n return false;\r\n }\r\n });\r\n\r\n self.CanSelectMultipleChallenges = ko.computed(() => {\r\n if (self.IsLoggedIn())\r\n return true;\r\n else {\r\n var hasMultipleConfiguredChallenges = ko.utils.arrayFilter(self.Challenges(), (challenge: TwoFactorChallengeViewModel) => {\r\n return challenge.IsConfigured();\r\n }).length > 1;\r\n if (hasMultipleConfiguredChallenges)\r\n return true;\r\n return false;\r\n }\r\n });\r\n\r\n self.VerificationCodeDisabled = ko.computed(() => {\r\n return self.VerificationCode().length < 1 || self.Delay() > 0;\r\n });\r\n\r\n self.PhoneNumberDisabled = ko.computed(() => {\r\n return self.PhoneNumber().length < 1 || self.Delay() > 0;\r\n });\r\n\r\n if (verifyCodeAndContinue == null) {\r\n self.verifyCodeAndContinue = (twoFactorCode: string, twoFactorChallengeType: number) => {\r\n var challengeInputModel = { Type: twoFactorChallengeType, Code: twoFactorCode }\r\n return self.Progress.waitScope.waitWhile((session) => {\r\n return self.DataSource.Verify(challengeInputModel)\r\n .done((result: ITwoFactorResult) => {\r\n if (result.Success)\r\n self.initTwoFactorForConfiguration(self.username);\r\n else {\r\n if (result.DelayedSeconds > 0)\r\n self.setDelayedStatus(result.DelayedSeconds);\r\n else\r\n self.setErrorStatus();\r\n }\r\n session.end();\r\n });\r\n });\r\n };\r\n }\r\n else\r\n self.verifyCodeAndContinue = verifyCodeAndContinue;\r\n }\r\n\r\n initTwoFactorForLogin(username: string) {\r\n var self = this;\r\n self.initTwoFactorForConfiguration(username)\r\n .done(() => {\r\n var defaultChallenge = self.getDefautChallenge();\r\n\r\n if (defaultChallenge != null) {\r\n\r\n if (defaultChallenge.Type === 0) {\r\n self.ActiveChallengeId(defaultChallenge.Type);\r\n }\r\n else if (defaultChallenge.Type === 1) {\r\n self.sendSms().done((result: ITwoFactorResult) => {\r\n self.ActiveChallengeId(defaultChallenge.Type);\r\n self.setSmsText(result.Success, defaultChallenge.ScrambledPhoneNumber);\r\n });\r\n }\r\n }\r\n self.IsLoggedIn(false);\r\n });\r\n }\r\n\r\n\r\n setSmsText(success: boolean, number: string) {\r\n var self = this;\r\n if (!success)\r\n self.SmsText(Gatsoft.UI.Resources.get(\"mg.2fa.sms.failed.text\"));\r\n else if (number == null || number.length < 1)\r\n self.SmsText(Gatsoft.UI.Resources.get(\"mg.2fa.sms.sent1.text\") + \" \" + Gatsoft.UI.Resources.get(\"mg.2fa.sms.sent2.text\") + \". \" + Gatsoft.UI.Resources.get(\"mg.2fa.sms.retry.text\"));\r\n else\r\n self.SmsText(Gatsoft.UI.Resources.get(\"mg.2fa.sms.sent1.text\") + \" \" + number + \". \" + Gatsoft.UI.Resources.get(\"mg.2fa.sms.retry.text\"));\r\n }\r\n\r\n setDelayedStatus(delay: number) {\r\n var self = this;\r\n clearInterval(self.updateDelayInterval);\r\n clearTimeout(self.fadeOutTimeout);\r\n self.Delay(delay);\r\n self.setDelayErrorText();\r\n self.updateDelayInterval = setInterval(() => {\r\n\r\n if (self.Delay() === 0) {\r\n clearInterval(self.updateDelayInterval);\r\n self.fadeOutTimeout = setTimeout(() => {\r\n $(\"#errorPanel\").fadeOut();\r\n }, 100);\r\n }\r\n self.Delay(self.Delay() - 1);\r\n if (self.Delay() >= 0) {\r\n self.setDelayErrorText();\r\n }\r\n }, 1000);\r\n\r\n $(\"#errorPanel\").fadeIn();\r\n }\r\n\r\n setDelayErrorText() {\r\n var self = this;\r\n var convertedTime = Utils.DateTime.secondsToFormattedTimeString(self.Delay());\r\n var timeString = convertedTime.success ? convertedTime.value : self.Delay() + \" \" + Gatsoft.UI.Resources.get(\"mg.2fa.seconds\");\r\n self.ErrorText(Gatsoft.UI.Resources.get(\"mg.2fa.verification.delayed\") + \" \" + timeString + \".\");\r\n }\r\n\r\n setErrorStatus() {\r\n var self = this;\r\n self.ErrorText(Gatsoft.UI.Resources.get(\"mg.2fa.verification.failed\"));\r\n clearTimeout(self.fadeOutTimeout);\r\n $(\"#errorPanel\").fadeIn();\r\n self.fadeOutTimeout = setTimeout(() => {\r\n $(\"#errorPanel\").fadeOut();\r\n }, 5000);\r\n }\r\n\r\n getDefautChallenge(): TwoFactorChallengeViewModel {\r\n var self = this;\r\n var defaultChallenge = ko.utils.arrayFirst(self.Challenges(), (challenge: TwoFactorChallengeViewModel) => {\r\n return challenge.IsDefault();\r\n });\r\n return defaultChallenge;\r\n }\r\n\r\n initTwoFactorForConfiguration(username: string): JQueryPromise {\r\n var self = this;\r\n self.username = username;\r\n self.Challenges([]);\r\n self.ActiveChallengeId(null);\r\n self.VerificationCode(\"\");\r\n self.PhoneNumber(\"\");\r\n self.Delay(0);\r\n self.ManualEntryKey(\"\");\r\n self.SmsText(\"\");\r\n $(\"#manualEntryKey\").fadeOut();\r\n $(\"#errorPanel\").fadeOut();\r\n clearInterval(self.updateDelayInterval);\r\n clearTimeout(self.fadeOutTimeout);\r\n self.IsLoggedIn(true);\r\n return self.Progress.waitScope.waitWhile((session) => {\r\n return self.DataSource.GetChallenges()\r\n .done((challenges) => {\r\n ko.utils.arrayForEach(challenges, (challenge: ITwoFactorChallenge) => {\r\n self.Challenges.push(new TwoFactorChallengeViewModel(challenge));\r\n });\r\n session.end();\r\n });\r\n });\r\n }\r\n\r\n configure(challenge: TwoFactorChallengeViewModel) {\r\n var self = this;\r\n self.VerificationCode(\"\");\r\n self.PhoneNumber(\"\");\r\n if (challenge.Type === 0) {\r\n self.Progress.waitScope.waitWhile((session) => {\r\n self.DataSource.GetTotpConfigurationModel()\r\n .done((model: ITimeBasedOneTimePasswordConfiguration) => {\r\n self.QRCodeWrapper().createQRCode(model.KeyUri);\r\n self.ActiveChallengeId(challenge.Type);\r\n self.ManualEntryKey(model.ManualEntryKey);\r\n session.end();\r\n });\r\n });\r\n }\r\n else if (challenge.Type === 1) {\r\n self.ActiveChallengeId(challenge.Type);\r\n }\r\n }\r\n\r\n removeConfiguration(challenge: TwoFactorChallengeViewModel) {\r\n var self = this;\r\n\r\n Gatsoft.UI.MessageBox({\r\n messageType: \"question\",\r\n buttons: \"yes-no\",\r\n title: Gatsoft.UI.Resources.get(\"mg.2fa.confirm.remove.title\"),\r\n heading: null,\r\n message: Gatsoft.UI.Resources.get(\"mg.2fa.confirm.remove.text\"),\r\n resultCallback(e, result) {\r\n if (result.modalResult === \"yes\") {\r\n var challengeInputModel = { Type: challenge.Type };\r\n self.Progress.waitScope.waitWhile((session) => {\r\n self.DataSource.Remove(challengeInputModel)\r\n .done(() => {\r\n self.initTwoFactorForConfiguration(self.username);\r\n session.end();\r\n });\r\n });\r\n }\r\n }\r\n });\r\n };\r\n\r\n confirmTwoFactor() {\r\n var self = this;\r\n if (self.VerificationCode().length < 1)\r\n return;\r\n self.verifyCodeAndContinue(self.VerificationCode(), self.ActiveChallengeId());\r\n }\r\n\r\n onEnterConfirm(d, e) {\r\n var self = this;\r\n if (e.keyCode === 13)\r\n self.confirmTwoFactor();\r\n return true;\r\n }\r\n\r\n configureSms() {\r\n var self = this;\r\n var configurationInputModel = { Username: self.username, PhoneNumber: self.PhoneNumber() };\r\n self.Progress.waitScope.waitWhile((session) => {\r\n self.DataSource.ConfigureSmsChallenge(configurationInputModel)\r\n .done((result: ITwoFactorResult) => {\r\n if (!result.Success) {\r\n if (result.DelayedSeconds > 0)\r\n self.setDelayedStatus(result.DelayedSeconds);\r\n else\r\n self.setErrorStatus();\r\n }\r\n session.end();\r\n });\r\n });\r\n }\r\n\r\n onEnterConfigureSms(d, e) {\r\n var self = this;\r\n if (e.keyCode === 13)\r\n self.configureSms();\r\n return true;\r\n }\r\n\r\n sendSms(): JQueryPromise {\r\n var self = this;\r\n return self.DataSource.SendSms()\r\n .done((result: ITwoFactorResult) => {\r\n if (!result.Success) {\r\n if (result.DelayedSeconds > 0)\r\n self.setDelayedStatus(result.DelayedSeconds);\r\n else\r\n self.setErrorStatus();\r\n }\r\n });\r\n\r\n }\r\n\r\n changeChallenge() {\r\n var self = this;\r\n self.ActiveChallengeId(null);\r\n }\r\n\r\n select(challenge: TwoFactorChallengeViewModel) {\r\n var self = this;\r\n self.ActiveChallengeId(challenge.Type);\r\n }\r\n\r\n showManualEntryKey() {\r\n $(\"#manualEntryKey\").fadeIn();\r\n }\r\n }\r\n\r\n interface ITwoFactorChallenge {\r\n Type: number;\r\n IsConfigured: boolean;\r\n TypeName: string;\r\n IsDefault: boolean;\r\n ScrambledPhoneNumber: string;\r\n }\r\n\r\n interface ITwoFactorResult {\r\n Success: boolean;\r\n DelayedSeconds: number;\r\n }\r\n\r\n interface ITimeBasedOneTimePasswordConfiguration {\r\n ManualEntryKey: string;\r\n KeyUri: string;\r\n }\r\n\r\n export class TwoFactorChallengeViewModel {\r\n\r\n Type: number;\r\n IsConfigured: KnockoutObservable;\r\n TypeName: string;\r\n IsDefault: KnockoutObservable;\r\n Expanded: KnockoutObservable;\r\n HelpText: string;\r\n ScrambledPhoneNumber: string;\r\n\r\n\r\n constructor(challenge: ITwoFactorChallenge) {\r\n var self = this;\r\n\r\n self.Type = challenge.Type;\r\n self.IsConfigured = ko.observable(challenge.IsConfigured);\r\n self.TypeName = challenge.TypeName;\r\n self.IsDefault = ko.observable(challenge.IsDefault);\r\n self.Expanded = ko.observable(false);\r\n if (self.Type === 0)\r\n self.HelpText = Gatsoft.UI.Resources.get(\"mg.2fa.totp.help\");\r\n if (self.Type === 1)\r\n self.HelpText = Gatsoft.UI.Resources.get(\"mg.2fa.sms.help\");\r\n self.ScrambledPhoneNumber = challenge.ScrambledPhoneNumber;\r\n }\r\n\r\n toggle() {\r\n var self = this;\r\n self.Expanded(!self.Expanded());\r\n\r\n var id = \"#info_\" + self.Type;\r\n\r\n if (self.Expanded()) {\r\n $(id).fadeIn();\r\n }\r\n\r\n if (!self.Expanded()) {\r\n $(id).fadeOut();\r\n }\r\n }\r\n }\r\n\r\n export class TimeBasedOneTimePasswordConfigurationModel {\r\n\r\n ManualEntryKey: string;\r\n KeyUri: string;\r\n\r\n constructor(challenge: ITimeBasedOneTimePasswordConfiguration) {\r\n var self = this;\r\n\r\n self.ManualEntryKey = challenge.ManualEntryKey;\r\n self.KeyUri = challenge.KeyUri;\r\n }\r\n }\r\n\r\n declare var QRCode: any;\r\n export class TwoFactorQRCodeWrapper {\r\n\r\n private _QRCode: any;\r\n private _ElementId: string;\r\n private _Data: any;\r\n\r\n constructor(elementId: string) {\r\n var self = this;\r\n self._ElementId = elementId;\r\n }\r\n\r\n clearQrCode() {\r\n var self = this;\r\n $(\"#\" + self._ElementId).html(\"\");\r\n }\r\n\r\n createQRCode(data: string) {\r\n var self = this;\r\n self._Data = data;\r\n $(\"#\" + self._ElementId).html(\"\");\r\n self._QRCode = new QRCode(self._ElementId,\r\n {\r\n text: data,\r\n width: 100,\r\n height: 100,\r\n colorDark: \"#000000\",\r\n colorLight: \"#ffffff\",\r\n correctLevel: QRCode.CorrectLevel.H\r\n });\r\n $(\"#\" + self._ElementId).removeAttr(\"title\");\r\n }\r\n }\r\n}"]}