{"version":3,"file":"pad-zeropadding.cjs","names":["ZeroPadding: Padding"],"sources":["../src/pad-zeropadding.ts"],"sourcesContent":["import { WordArray } from './core';\nimport { Padding } from './cipher-core';\n\n/**\n * Zero padding strategy.\n */\nexport const ZeroPadding: Padding = {\n  pad(data: WordArray, blockSize: number): void {\n    const _data = data;\n\n    // Shortcut\n    const blockSizeBytes = blockSize * 4;\n\n    // Pad\n    _data.clamp();\n    _data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\n  },\n\n  unpad(data: WordArray): void {\n    const _data = data;\n\n    // Shortcut\n    const dataWords = _data.words;\n\n    // Unpad\n    for (let i = _data.sigBytes - 1; i >= 0; i -= 1) {\n      if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\n        _data.sigBytes = i + 1;\n        break;\n      }\n    }\n  },\n};"],"mappings":";;;;;AAMA,MAAaA,cAAuB;CAClC,IAAI,MAAiB,WAAyB;EAC5C,MAAM,QAAQ;EAGd,MAAM,iBAAiB,YAAY;AAGnC,QAAM;AACN,QAAM,YAAY,kBAAmB,KAAK,WAAW,kBAAmB;CACzE;CAED,MAAM,MAAuB;EAC3B,MAAM,QAAQ;EAGd,MAAM,YAAY,MAAM;AAGxB,OAAK,IAAI,IAAI,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,EAC5C,KAAM,UAAU,MAAM,OAAQ,KAAM,IAAI,IAAK,IAAM,KAAO;AACxD,SAAM,WAAW,IAAI;AACrB;EACD;CAEJ;CACF"}