components:
    - core
    - x64-core
    - lib-typedarrays
    - enc-utf16
    - enc-base64
    - md5
    - sha1
    - sha256
    - sha224
    - sha512
    - sha384
    - sha3
    - ripemd160
    - hmac
    - pbkdf2
    - evpkdf
    - cipher-core
    - mode-cfb
    - mode-ctr
    - mode-ctr-gladman
    - mode-ofb
    - mode-ecb
    - pad-ansix923
    - pad-iso10126
    - pad-iso97971
    - pad-zeropadding
    - pad-nopadding
    - format-hex
    - aes
    - tripledes
    - rc4
    - rabbit
    - rabbit-legacy

rollups:
    md5:       [core, md5]
    sha1:      [core, sha1]
    sha256:    [core, sha256]
    sha224:    [core, sha256, sha224]
    sha512:    [core, x64-core, sha512]
    sha384:    [core, x64-core, sha512, sha384]
    sha3:      [core, x64-core, sha3]
    ripemd160: [core, ripemd160]

    hmac-md5:       [core, md5, hmac]
    hmac-sha1:      [core, sha1, hmac]
    hmac-sha256:    [core, sha256, hmac]
    hmac-sha224:    [core, sha256, sha224, hmac]
    hmac-sha512:    [core, x64-core, sha512, hmac]
    hmac-sha384:    [core, x64-core, sha512, sha384, hmac]
    hmac-sha3:      [core, x64-core, sha3, hmac]
    hmac-ripemd160: [core, ripemd160, hmac]

    pbkdf2: [core, sha1, hmac, pbkdf2]

    aes:           [core, enc-base64, md5, evpkdf, cipher-core, aes]
    tripledes:     [core, enc-base64, md5, evpkdf, cipher-core, tripledes]
    rc4:           [core, enc-base64, md5, evpkdf, cipher-core, rc4]
    rabbit:        [core, enc-base64, md5, evpkdf, cipher-core, rabbit]
    rabbit-legacy: [core, enc-base64, md5, evpkdf, cipher-core, rabbit-legacy]

    core: [core]

    evpkdf: [core, sha1, hmac, evpkdf]

    lib-typedarrays: [core, lib-typedarrays]

    format-openssl: [core, cipher-core]
    format-hex:     [core, cipher-core, format-hex]

    enc-latin1: [core]
    enc-utf8:   [core]
    enc-hex:    [core]
    enc-utf16:  [core, enc-utf16]
    enc-base64: [core, enc-base64]

    mode-cfb:         [core, cipher-core, mode-cfb]
    mode-ctr:         [core, cipher-core, mode-ctr]
    mode-ctr-gladman: [core, cipher-core, mode-ctr-gladman]
    mode-ofb:         [core, cipher-core, mode-ofb]
    mode-ecb:         [core, cipher-core, mode-ecb]

    pad-pkcs7:       [core, cipher-core, pad-pkcs7]
    pad-ansix923:    [core, cipher-core, pad-ansix923]
    pad-iso10126:    [core, cipher-core, pad-iso10126]
    pad-iso97971:    [core, cipher-core, pad-iso97971]
    pad-zeropadding: [core, cipher-core, pad-zeropadding]
    pad-nopadding:   [core, cipher-core, pad-nopadding]

exports:
    md5:       CryptoJS.MD5
    sha1:      CryptoJS.SHA1
    sha256:    CryptoJS.SHA256
    sha224:    CryptoJS.SHA224
    sha512:    CryptoJS.SHA512
    sha384:    CryptoJS.SHA384
    sha3:      CryptoJS.SHA3
    ripemd160: CryptoJS.RIPEMD160

    hmac-md5:       CryptoJS.HmacMD5
    hmac-sha1:      CryptoJS.HmacSHA1
    hmac-sha256:    CryptoJS.HmacSHA256
    hmac-sha224:    CryptoJS.HmacSHA224
    hmac-sha512:    CryptoJS.HmacSHA512
    hmac-sha384:    CryptoJS.HmacSHA384
    hmac-sha3:      CryptoJS.HmacSHA3
    hmac-ripemd160: CryptoJS.HmacRIPEMD160

    pbkdf2: CryptoJS.PBKDF2

    aes:           CryptoJS.AES
    tripledes:     CryptoJS.TripleDES
    rc4:           CryptoJS.RC4
    rabbit:        CryptoJS.Rabbit
    rabbit-legacy: CryptoJS.RabbitLegacy

    core: CryptoJS

    evpkdf: CryptoJS.EvpKDF

    lib-typedarrays: CryptoJS.lib.WordArray

    format-openssl: CryptoJS.format.OpenSSL
    format-hex:     CryptoJS.format.Hex

    enc-latin1: CryptoJS.enc.Latin1
    enc-utf8:   CryptoJS.enc.Utf8
    enc-hex:    CryptoJS.enc.Hex
    enc-utf16:  CryptoJS.enc.Utf16
    enc-base64: CryptoJS.enc.Base64

    mode-cfb:         CryptoJS.mode.CFB
    mode-ctr:         CryptoJS.mode.CTR
    mode-ctr-gladman: CryptoJS.mode.CTRGladman
    mode-ofb:         CryptoJS.mode.OFB
    mode-ecb:         CryptoJS.mode.ECB

    pad-pkcs7:       CryptoJS.pad.Pkcs7
    pad-ansix923:    CryptoJS.pad.Ansix923
    pad-iso10126:    CryptoJS.pad.Iso10126
    pad-iso97971:    CryptoJS.pad.Iso97971
    pad-zeropadding: CryptoJS.pad.ZeroPadding
    pad-nopadding:   CryptoJS.pad.NoPadding